(null)
+ const { getStyle, display, isActiveElement } = useLightBox()
+
+ return (
+
+ {children}
+ ref.current && display(ref.current)}
+ >
+
+
+
+ )
+}
diff --git a/packages/logos-docusaurus-theme/src/client/containers/LightBox/index.ts b/packages/logos-docusaurus-theme/src/client/containers/LightBox/index.ts
new file mode 100644
index 0000000..db087a9
--- /dev/null
+++ b/packages/logos-docusaurus-theme/src/client/containers/LightBox/index.ts
@@ -0,0 +1 @@
+export * from './LightBox'
diff --git a/packages/logos-docusaurus-theme/src/client/containers/LightBox/styles.module.scss b/packages/logos-docusaurus-theme/src/client/containers/LightBox/styles.module.scss
new file mode 100644
index 0000000..5284325
--- /dev/null
+++ b/packages/logos-docusaurus-theme/src/client/containers/LightBox/styles.module.scss
@@ -0,0 +1,69 @@
+@use '../../css/utils';
+
+.nav {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgb(var(--lsd-surface-primary));
+ z-index: 201;
+ opacity: 0;
+ visibility: hidden;
+}
+
+.visible {
+ opacity: 1;
+ visibility: visible;
+}
+
+.nav > nav {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-between;
+ height: var(--ifm-navbar-height);
+ max-width: var(--container-max-width);
+ margin: 0 auto;
+ padding: var(--ifm-navbar-padding-vertical)
+ var(--ifm-navbar-padding-horizontal);
+}
+
+.wrapper {
+ position: relative;
+
+ .fullscreenButton {
+ display: none;
+ }
+
+ &:not(.active) {
+ .fullscreenButton {
+ display: block;
+ transition: 0.3s;
+ position: absolute;
+ bottom: 8px;
+ right: 8px;
+ background: rgb(var(--lsd-surface-primary));
+ }
+
+ @include utils.responsive('lg', 'up') {
+ .fullscreenButton {
+ display: block;
+ opacity: 0;
+ visibility: hidden;
+ transition: 0.3s;
+ position: absolute;
+ bottom: 8px;
+ right: 8px;
+ background: rgb(var(--lsd-surface-primary));
+ }
+
+ &:hover {
+ .fullscreenButton {
+ visibility: visible;
+ opacity: 1;
+ }
+ }
+ }
+ }
+}
diff --git a/packages/logos-docusaurus-theme/src/client/static/icons/fullscreen-exit.svg b/packages/logos-docusaurus-theme/src/client/static/icons/fullscreen-exit.svg
new file mode 100644
index 0000000..3c283ba
--- /dev/null
+++ b/packages/logos-docusaurus-theme/src/client/static/icons/fullscreen-exit.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/logos-docusaurus-theme/src/client/static/icons/fullscreen.svg b/packages/logos-docusaurus-theme/src/client/static/icons/fullscreen.svg
new file mode 100644
index 0000000..3dc6da7
--- /dev/null
+++ b/packages/logos-docusaurus-theme/src/client/static/icons/fullscreen.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/logos-docusaurus-theme/src/client/theme/MDXComponents/Img/index.tsx b/packages/logos-docusaurus-theme/src/client/theme/MDXComponents/Img/index.tsx
new file mode 100644
index 0000000..f98178e
--- /dev/null
+++ b/packages/logos-docusaurus-theme/src/client/theme/MDXComponents/Img/index.tsx
@@ -0,0 +1,15 @@
+import Img from '@docusaurus/theme-classic/lib/theme/MDXComponents/Img'
+import type { WrapperProps } from '@docusaurus/types'
+import type ImgType from '@theme/MDXComponents/Img'
+import React from 'react'
+import { LightBoxWrapper } from '../../../containers/LightBox/LightBox'
+
+type Props = WrapperProps
+
+export default function ImgWrapper(props: Props): JSX.Element {
+ return (
+
+
+
+ )
+}
diff --git a/packages/logos-docusaurus-theme/src/client/theme/Mermaid/index.tsx b/packages/logos-docusaurus-theme/src/client/theme/Mermaid/index.tsx
new file mode 100644
index 0000000..71a58e1
--- /dev/null
+++ b/packages/logos-docusaurus-theme/src/client/theme/Mermaid/index.tsx
@@ -0,0 +1,16 @@
+// @ts-ignore
+import Mermaid from '@docusaurus/theme-mermaid/lib/theme/Mermaid'
+import type { WrapperProps } from '@docusaurus/types'
+import type MermaidType from '@theme/Mermaid'
+import React from 'react'
+import { LightBoxWrapper } from '../../containers/LightBox/LightBox'
+
+type Props = WrapperProps
+
+export default function MermaidWrapper(props: Props): JSX.Element {
+ return (
+
+
+
+ )
+}
diff --git a/packages/logos-docusaurus-theme/src/client/theme/Root.tsx b/packages/logos-docusaurus-theme/src/client/theme/Root.tsx
index 4231b8f..7713eb1 100644
--- a/packages/logos-docusaurus-theme/src/client/theme/Root.tsx
+++ b/packages/logos-docusaurus-theme/src/client/theme/Root.tsx
@@ -1,5 +1,6 @@
import { ColorModeProvider } from '@docusaurus/theme-common/internal'
import React from 'react'
+import { LightBoxProvider } from '../containers/LightBox/LightBox'
import { ThemeProvider } from '../containers/ThemeProvider'
import { useDocThemeOptions } from '../lib/useThemeOptions'
import styles from './style.module.css'
@@ -11,9 +12,11 @@ export default function Root({ children }) {
return (
-
- {children}
-
+
+
+ {children}
+
+
)