mordoc 0.1.13 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +7 -0
- package/bin/cli.js +24 -71
- package/dist/cli/asset-rewrite.d.ts +40 -0
- package/dist/cli/asset-rewrite.d.ts.map +1 -0
- package/dist/cli/asset-rewrite.js +67 -0
- package/dist/cli/asset-rewrite.js.map +1 -0
- package/dist/cli/build.d.ts +45 -15
- package/dist/cli/build.d.ts.map +1 -1
- package/dist/cli/build.js +186 -101
- package/dist/cli/build.js.map +1 -1
- package/dist/cli/dev.d.ts +26 -14
- package/dist/cli/dev.d.ts.map +1 -1
- package/dist/cli/dev.js +116 -159
- package/dist/cli/dev.js.map +1 -1
- package/dist/cli/pagefind-indexer.d.ts +15 -0
- package/dist/cli/pagefind-indexer.d.ts.map +1 -0
- package/dist/cli/pagefind-indexer.js +68 -0
- package/dist/cli/pagefind-indexer.js.map +1 -0
- package/dist/cli/paths.d.ts +26 -0
- package/dist/cli/paths.d.ts.map +1 -0
- package/dist/cli/paths.js +32 -0
- package/dist/cli/paths.js.map +1 -0
- package/dist/cli/ssg-runner.d.ts +58 -0
- package/dist/cli/ssg-runner.d.ts.map +1 -0
- package/dist/cli/ssg-runner.js +126 -0
- package/dist/cli/ssg-runner.js.map +1 -0
- package/dist/config/assets-loader.d.ts +11 -0
- package/dist/config/assets-loader.d.ts.map +1 -0
- package/dist/config/assets-loader.js +46 -0
- package/dist/config/assets-loader.js.map +1 -0
- package/dist/config/language-loader.d.ts +11 -0
- package/dist/config/language-loader.d.ts.map +1 -0
- package/dist/config/language-loader.js +61 -0
- package/dist/config/language-loader.js.map +1 -0
- package/dist/config/language.d.ts +11 -0
- package/dist/config/language.d.ts.map +1 -0
- package/dist/config/language.js +61 -0
- package/dist/config/language.js.map +1 -0
- package/dist/config/sidenav-loader.d.ts +14 -0
- package/dist/config/sidenav-loader.d.ts.map +1 -0
- package/dist/config/sidenav-loader.js +78 -0
- package/dist/config/sidenav-loader.js.map +1 -0
- package/dist/config/site-loader.d.ts +11 -0
- package/dist/config/site-loader.d.ts.map +1 -0
- package/dist/config/site-loader.js +72 -0
- package/dist/config/site-loader.js.map +1 -0
- package/dist/config/site.d.ts +11 -0
- package/dist/config/site.d.ts.map +1 -0
- package/dist/config/site.js +72 -0
- package/dist/config/site.js.map +1 -0
- package/dist/config/topnav-loader.d.ts +10 -0
- package/dist/config/topnav-loader.d.ts.map +1 -0
- package/dist/config/topnav-loader.js +78 -0
- package/dist/config/topnav-loader.js.map +1 -0
- package/dist/config/translations-loader.d.ts +7 -0
- package/dist/config/translations-loader.d.ts.map +1 -0
- package/dist/config/translations-loader.js +51 -0
- package/dist/config/translations-loader.js.map +1 -0
- package/dist/content/content-loader.d.ts +16 -0
- package/dist/content/content-loader.d.ts.map +1 -0
- package/dist/content/content-loader.js +126 -0
- package/dist/content/content-loader.js.map +1 -0
- package/dist/content/content-parser.d.ts +12 -0
- package/dist/content/content-parser.d.ts.map +1 -0
- package/dist/content/content-parser.js +54 -0
- package/dist/content/content-parser.js.map +1 -0
- package/dist/content/content-transformer.d.ts +17 -0
- package/dist/content/content-transformer.d.ts.map +1 -0
- package/dist/content/content-transformer.js +94 -0
- package/dist/content/content-transformer.js.map +1 -0
- package/dist/content/markdoc-config.d.ts +13 -0
- package/dist/content/markdoc-config.d.ts.map +1 -0
- package/dist/content/markdoc-config.js +210 -0
- package/dist/content/markdoc-config.js.map +1 -0
- package/dist/content/slug.d.ts +26 -0
- package/dist/content/slug.d.ts.map +1 -0
- package/dist/content/slug.js +31 -0
- package/dist/content/slug.js.map +1 -0
- package/dist/pipeline.d.ts +61 -0
- package/dist/pipeline.d.ts.map +1 -0
- package/dist/pipeline.js +123 -0
- package/dist/pipeline.js.map +1 -0
- package/dist/types/assets.d.ts +15 -0
- package/dist/types/assets.d.ts.map +1 -0
- package/dist/types/assets.js +2 -0
- package/dist/types/assets.js.map +1 -0
- package/dist/types/content.d.ts +114 -32
- package/dist/types/content.d.ts.map +1 -1
- package/dist/types/content.js +1 -6
- package/dist/types/content.js.map +1 -1
- package/dist/types/language.d.ts +9 -0
- package/dist/types/language.d.ts.map +1 -0
- package/dist/types/language.js +2 -0
- package/dist/types/language.js.map +1 -0
- package/dist/types/navigation.d.ts +24 -36
- package/dist/types/navigation.d.ts.map +1 -1
- package/dist/types/navigation.js +1 -6
- package/dist/types/navigation.js.map +1 -1
- package/dist/types/pipeline.d.ts +70 -0
- package/dist/types/pipeline.d.ts.map +1 -0
- package/dist/types/pipeline.js +2 -0
- package/dist/types/pipeline.js.map +1 -0
- package/dist/types/site.d.ts +20 -0
- package/dist/types/site.d.ts.map +1 -0
- package/dist/types/site.js +2 -0
- package/dist/types/site.js.map +1 -0
- package/dist/utils/lang-utils.d.ts +23 -0
- package/dist/utils/lang-utils.d.ts.map +1 -0
- package/dist/utils/lang-utils.js +40 -0
- package/dist/utils/lang-utils.js.map +1 -0
- package/dist/utils/paths.d.ts +25 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +31 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/vite/plugin.d.ts +93 -0
- package/dist/vite/plugin.d.ts.map +1 -0
- package/dist/vite/plugin.js +435 -0
- package/dist/vite/plugin.js.map +1 -0
- package/package.json +46 -61
- package/src/app/App.module.css +82 -0
- package/src/app/App.tsx +95 -0
- package/src/app/content/Content.module.css +357 -0
- package/src/app/content/Content.tsx +212 -0
- package/src/app/content/callout/Callout.module.css +110 -0
- package/src/app/content/callout/Callout.tsx +82 -0
- package/src/app/content/card/Card.module.css +146 -0
- package/src/app/content/card/Card.tsx +110 -0
- package/src/app/content/card/CardGrid.module.css +22 -0
- package/src/app/content/card/CardGrid.tsx +34 -0
- package/src/app/content/code-block/CodeBlock.module.css +237 -0
- package/src/app/content/code-block/CodeBlock.tsx +123 -0
- package/src/app/content/heading/Heading.module.css +52 -0
- package/src/app/content/heading/Heading.tsx +75 -0
- package/src/app/content/image/Image.module.css +113 -0
- package/src/app/content/image/Image.tsx +98 -0
- package/src/app/content/link/ContentLink.tsx +46 -0
- package/src/app/data-context.tsx +39 -0
- package/src/app/entry-server.tsx +58 -0
- package/src/app/footer/Footer.module.css +36 -0
- package/src/app/footer/Footer.tsx +28 -0
- package/src/app/globals.d.ts +40 -0
- package/src/app/header/Header.module.css +205 -0
- package/src/app/header/Header.tsx +188 -0
- package/src/app/header/LanguagePicker.module.css +97 -0
- package/src/app/header/LanguagePicker.tsx +174 -0
- package/src/app/header/SearchBar.module.css +92 -0
- package/src/app/header/SearchBar.tsx +37 -0
- package/src/app/header/SearchModal.module.css +185 -0
- package/src/app/header/SearchModal.tsx +245 -0
- package/src/app/header/Topnav.module.css +37 -0
- package/src/app/header/Topnav.tsx +30 -0
- package/src/app/index.css +119 -0
- package/src/app/index.html +13 -0
- package/src/app/landing/LandingPage.module.css +14 -0
- package/src/app/landing/LandingPage.tsx +62 -0
- package/src/app/landing/button/Button.module.css +37 -0
- package/src/app/landing/button/Button.tsx +50 -0
- package/src/app/landing/hero/Hero.module.css +108 -0
- package/src/app/landing/hero/Hero.tsx +81 -0
- package/src/app/landing/section/Section.module.css +100 -0
- package/src/app/landing/section/Section.tsx +61 -0
- package/src/app/lang-utils.ts +11 -0
- package/src/app/main.tsx +67 -0
- package/src/app/not-found/NotFound.module.css +92 -0
- package/src/app/not-found/NotFound.tsx +34 -0
- package/src/app/routes.tsx +86 -0
- package/src/app/sidenav/Sidenav.module.css +239 -0
- package/src/app/sidenav/Sidenav.tsx +182 -0
- package/src/app/skeleton/Skeleton.module.css +100 -0
- package/src/app/skeleton/Skeleton.tsx +75 -0
- package/src/app/toc/Toc.module.css +59 -0
- package/src/app/toc/Toc.tsx +77 -0
- package/src/app/tsconfig.json +18 -0
- package/src/app/virtual-modules.d.ts +74 -0
- package/dist/assets/fonts/inter/Inter-Italic-VariableFont_opsz,wght.ttf +0 -0
- package/dist/assets/fonts/inter/Inter-VariableFont_opsz,wght.ttf +0 -0
- package/dist/assets/fonts/inter/OFL.txt +0 -93
- package/dist/build/Builder.d.ts +0 -92
- package/dist/build/Builder.d.ts.map +0 -1
- package/dist/build/Builder.js +0 -394
- package/dist/build/Builder.js.map +0 -1
- package/dist/build/ClientBundler.d.ts +0 -48
- package/dist/build/ClientBundler.d.ts.map +0 -1
- package/dist/build/ClientBundler.js +0 -169
- package/dist/build/ClientBundler.js.map +0 -1
- package/dist/build/HtmlGenerator.d.ts +0 -46
- package/dist/build/HtmlGenerator.d.ts.map +0 -1
- package/dist/build/HtmlGenerator.js +0 -190
- package/dist/build/HtmlGenerator.js.map +0 -1
- package/dist/build/SearchIndexer.d.ts +0 -31
- package/dist/build/SearchIndexer.d.ts.map +0 -1
- package/dist/build/SearchIndexer.js +0 -116
- package/dist/build/SearchIndexer.js.map +0 -1
- package/dist/bundles/client.js +0 -126
- package/dist/cli/create-app.d.ts +0 -14
- package/dist/cli/create-app.d.ts.map +0 -1
- package/dist/cli/create-app.js +0 -241
- package/dist/cli/create-app.js.map +0 -1
- package/dist/client/App.d.ts +0 -17
- package/dist/client/App.d.ts.map +0 -1
- package/dist/client/App.js +0 -91
- package/dist/client/App.js.map +0 -1
- package/dist/client/contexts/ConfigContext.d.ts +0 -22
- package/dist/client/contexts/ConfigContext.d.ts.map +0 -1
- package/dist/client/contexts/ConfigContext.js +0 -27
- package/dist/client/contexts/ConfigContext.js.map +0 -1
- package/dist/client/contexts/ContentContext.d.ts +0 -31
- package/dist/client/contexts/ContentContext.d.ts.map +0 -1
- package/dist/client/contexts/ContentContext.js +0 -46
- package/dist/client/contexts/ContentContext.js.map +0 -1
- package/dist/client/contexts/SearchContext.d.ts +0 -38
- package/dist/client/contexts/SearchContext.d.ts.map +0 -1
- package/dist/client/contexts/SearchContext.js +0 -185
- package/dist/client/contexts/SearchContext.js.map +0 -1
- package/dist/client/contexts/ThemeContext.d.ts +0 -23
- package/dist/client/contexts/ThemeContext.d.ts.map +0 -1
- package/dist/client/contexts/ThemeContext.js +0 -53
- package/dist/client/contexts/ThemeContext.js.map +0 -1
- package/dist/client/hooks/useContent.d.ts +0 -12
- package/dist/client/hooks/useContent.d.ts.map +0 -1
- package/dist/client/hooks/useContent.js +0 -74
- package/dist/client/hooks/useContent.js.map +0 -1
- package/dist/client/hooks/useNavigation.d.ts +0 -15
- package/dist/client/hooks/useNavigation.d.ts.map +0 -1
- package/dist/client/hooks/useNavigation.js +0 -101
- package/dist/client/hooks/useNavigation.js.map +0 -1
- package/dist/client/hooks/useSearch.d.ts +0 -22
- package/dist/client/hooks/useSearch.d.ts.map +0 -1
- package/dist/client/hooks/useSearch.js +0 -64
- package/dist/client/hooks/useSearch.js.map +0 -1
- package/dist/client/main.d.ts +0 -5
- package/dist/client/main.d.ts.map +0 -1
- package/dist/client/main.js +0 -66
- package/dist/client/main.js.map +0 -1
- package/dist/components/Callout.d.ts +0 -9
- package/dist/components/Callout.d.ts.map +0 -1
- package/dist/components/Callout.js +0 -24
- package/dist/components/Callout.js.map +0 -1
- package/dist/components/Card.d.ts +0 -10
- package/dist/components/Card.d.ts.map +0 -1
- package/dist/components/Card.js +0 -15
- package/dist/components/Card.js.map +0 -1
- package/dist/components/CardGrid.d.ts +0 -8
- package/dist/components/CardGrid.d.ts.map +0 -1
- package/dist/components/CardGrid.js +0 -9
- package/dist/components/CardGrid.js.map +0 -1
- package/dist/components/CodeBlock.d.ts +0 -28
- package/dist/components/CodeBlock.d.ts.map +0 -1
- package/dist/components/CodeBlock.js +0 -80
- package/dist/components/CodeBlock.js.map +0 -1
- package/dist/components/ContentPage.d.ts +0 -9
- package/dist/components/ContentPage.d.ts.map +0 -1
- package/dist/components/ContentPage.js +0 -102
- package/dist/components/ContentPage.js.map +0 -1
- package/dist/components/Header.d.ts +0 -14
- package/dist/components/Header.d.ts.map +0 -1
- package/dist/components/Header.js +0 -30
- package/dist/components/Header.js.map +0 -1
- package/dist/components/Heading.d.ts +0 -16
- package/dist/components/Heading.d.ts.map +0 -1
- package/dist/components/Heading.js +0 -31
- package/dist/components/Heading.js.map +0 -1
- package/dist/components/Image.d.ts +0 -8
- package/dist/components/Image.d.ts.map +0 -1
- package/dist/components/Image.js +0 -24
- package/dist/components/Image.js.map +0 -1
- package/dist/components/Layout.d.ts +0 -14
- package/dist/components/Layout.d.ts.map +0 -1
- package/dist/components/Layout.js +0 -32
- package/dist/components/Layout.js.map +0 -1
- package/dist/components/MarkdocRenderer.d.ts +0 -15
- package/dist/components/MarkdocRenderer.d.ts.map +0 -1
- package/dist/components/MarkdocRenderer.js +0 -73
- package/dist/components/MarkdocRenderer.js.map +0 -1
- package/dist/components/MobileMenu.d.ts +0 -14
- package/dist/components/MobileMenu.d.ts.map +0 -1
- package/dist/components/MobileMenu.js +0 -45
- package/dist/components/MobileMenu.js.map +0 -1
- package/dist/components/PageNavigation.d.ts +0 -9
- package/dist/components/PageNavigation.d.ts.map +0 -1
- package/dist/components/PageNavigation.js +0 -23
- package/dist/components/PageNavigation.js.map +0 -1
- package/dist/components/SearchModal.d.ts +0 -9
- package/dist/components/SearchModal.d.ts.map +0 -1
- package/dist/components/SearchModal.js +0 -74
- package/dist/components/SearchModal.js.map +0 -1
- package/dist/components/SideNav.d.ts +0 -9
- package/dist/components/SideNav.d.ts.map +0 -1
- package/dist/components/SideNav.js +0 -66
- package/dist/components/SideNav.js.map +0 -1
- package/dist/components/TableOfContents.d.ts +0 -10
- package/dist/components/TableOfContents.d.ts.map +0 -1
- package/dist/components/TableOfContents.js +0 -151
- package/dist/components/TableOfContents.js.map +0 -1
- package/dist/config/ConfigLoader.d.ts +0 -50
- package/dist/config/ConfigLoader.d.ts.map +0 -1
- package/dist/config/ConfigLoader.js +0 -214
- package/dist/config/ConfigLoader.js.map +0 -1
- package/dist/config/StyleCompiler.d.ts +0 -17
- package/dist/config/StyleCompiler.d.ts.map +0 -1
- package/dist/config/StyleCompiler.js +0 -116
- package/dist/config/StyleCompiler.js.map +0 -1
- package/dist/config/ThemeGenerator.d.ts +0 -14
- package/dist/config/ThemeGenerator.d.ts.map +0 -1
- package/dist/config/ThemeGenerator.js +0 -129
- package/dist/config/ThemeGenerator.js.map +0 -1
- package/dist/content/ContentLoader.d.ts +0 -70
- package/dist/content/ContentLoader.d.ts.map +0 -1
- package/dist/content/ContentLoader.js +0 -146
- package/dist/content/ContentLoader.js.map +0 -1
- package/dist/content/ContentProcessor.d.ts +0 -84
- package/dist/content/ContentProcessor.d.ts.map +0 -1
- package/dist/content/ContentProcessor.js +0 -380
- package/dist/content/ContentProcessor.js.map +0 -1
- package/dist/content/RouteManager.d.ts +0 -69
- package/dist/content/RouteManager.d.ts.map +0 -1
- package/dist/content/RouteManager.js +0 -143
- package/dist/content/RouteManager.js.map +0 -1
- package/dist/styles/components/callout.d.ts +0 -11
- package/dist/styles/components/callout.d.ts.map +0 -1
- package/dist/styles/components/callout.js +0 -87
- package/dist/styles/components/callout.js.map +0 -1
- package/dist/styles/components/card.d.ts +0 -11
- package/dist/styles/components/card.d.ts.map +0 -1
- package/dist/styles/components/card.js +0 -179
- package/dist/styles/components/card.js.map +0 -1
- package/dist/styles/components/codeblock.d.ts +0 -11
- package/dist/styles/components/codeblock.d.ts.map +0 -1
- package/dist/styles/components/codeblock.js +0 -251
- package/dist/styles/components/codeblock.js.map +0 -1
- package/dist/styles/components/content.d.ts +0 -11
- package/dist/styles/components/content.d.ts.map +0 -1
- package/dist/styles/components/content.js +0 -197
- package/dist/styles/components/content.js.map +0 -1
- package/dist/styles/components/fonts.d.ts +0 -11
- package/dist/styles/components/fonts.d.ts.map +0 -1
- package/dist/styles/components/fonts.js +0 -34
- package/dist/styles/components/fonts.js.map +0 -1
- package/dist/styles/components/header.d.ts +0 -11
- package/dist/styles/components/header.d.ts.map +0 -1
- package/dist/styles/components/header.js +0 -293
- package/dist/styles/components/header.js.map +0 -1
- package/dist/styles/components/heading.d.ts +0 -11
- package/dist/styles/components/heading.d.ts.map +0 -1
- package/dist/styles/components/heading.js +0 -115
- package/dist/styles/components/heading.js.map +0 -1
- package/dist/styles/components/layout.d.ts +0 -11
- package/dist/styles/components/layout.d.ts.map +0 -1
- package/dist/styles/components/layout.js +0 -79
- package/dist/styles/components/layout.js.map +0 -1
- package/dist/styles/components/mobilemenu.d.ts +0 -11
- package/dist/styles/components/mobilemenu.d.ts.map +0 -1
- package/dist/styles/components/mobilemenu.js +0 -112
- package/dist/styles/components/mobilemenu.js.map +0 -1
- package/dist/styles/components/reset.d.ts +0 -11
- package/dist/styles/components/reset.d.ts.map +0 -1
- package/dist/styles/components/reset.js +0 -131
- package/dist/styles/components/reset.js.map +0 -1
- package/dist/styles/components/searchmodal.d.ts +0 -11
- package/dist/styles/components/searchmodal.d.ts.map +0 -1
- package/dist/styles/components/searchmodal.js +0 -333
- package/dist/styles/components/searchmodal.js.map +0 -1
- package/dist/styles/components/sidenav.d.ts +0 -11
- package/dist/styles/components/sidenav.d.ts.map +0 -1
- package/dist/styles/components/sidenav.js +0 -212
- package/dist/styles/components/sidenav.js.map +0 -1
- package/dist/styles/components/toc.d.ts +0 -11
- package/dist/styles/components/toc.d.ts.map +0 -1
- package/dist/styles/components/toc.js +0 -120
- package/dist/styles/components/toc.js.map +0 -1
- package/dist/styles/components/typography.d.ts +0 -11
- package/dist/styles/components/typography.d.ts.map +0 -1
- package/dist/styles/components/typography.js +0 -248
- package/dist/styles/components/typography.js.map +0 -1
- package/dist/styles/components/utility.d.ts +0 -11
- package/dist/styles/components/utility.d.ts.map +0 -1
- package/dist/styles/components/utility.js +0 -231
- package/dist/styles/components/utility.js.map +0 -1
- package/dist/styles/types.d.ts +0 -79
- package/dist/styles/types.d.ts.map +0 -1
- package/dist/styles/types.js +0 -7
- package/dist/styles/types.js.map +0 -1
- package/dist/styles/utils.d.ts +0 -21
- package/dist/styles/utils.d.ts.map +0 -1
- package/dist/styles/utils.js +0 -50
- package/dist/styles/utils.js.map +0 -1
- package/dist/styles/variables/main.d.ts +0 -15
- package/dist/styles/variables/main.d.ts.map +0 -1
- package/dist/styles/variables/main.js +0 -116
- package/dist/styles/variables/main.js.map +0 -1
- package/dist/types/config.d.ts +0 -43
- package/dist/types/config.d.ts.map +0 -1
- package/dist/types/config.js +0 -7
- package/dist/types/config.js.map +0 -1
- package/dist/utils/language-utils.d.ts +0 -41
- package/dist/utils/language-utils.d.ts.map +0 -1
- package/dist/utils/language-utils.js +0 -79
- package/dist/utils/language-utils.js.map +0 -1
- package/dist/utils/slugify.d.ts +0 -20
- package/dist/utils/slugify.d.ts.map +0 -1
- package/dist/utils/slugify.js +0 -44
- package/dist/utils/slugify.js.map +0 -1
- package/templates/default/config/favicon.ico +0 -0
- package/templates/default/config/logo-dark.png +0 -0
- package/templates/default/config/logo.png +0 -0
- package/templates/default/config/sidenav.yaml +0 -36
- package/templates/default/config/site.json +0 -16
- package/templates/default/config/styles/main.json +0 -6
- package/templates/default/config/styles/typography.json +0 -6
- package/templates/default/content/en/changelog.md +0 -35
- package/templates/default/content/en/faq.md +0 -50
- package/templates/default/content/en/field-manual/engines.md +0 -59
- package/templates/default/content/en/field-manual/relativity.md +0 -46
- package/templates/default/content/en/field-manual/safety.md +0 -44
- package/templates/default/content/en/field-manual.md +0 -22
- package/templates/default/content/en/flight-school/navigation.md +0 -61
- package/templates/default/content/en/flight-school/primer.md +0 -64
- package/templates/default/content/en/flight-school.md +0 -48
- package/templates/default/content/en/index.md +0 -83
- package/templates/default/content/en/ship-systems/flux-sails.md +0 -33
- package/templates/default/content/en/ship-systems/photonic-core.md +0 -39
- package/templates/default/content/en/ship-systems.md +0 -25
- package/templates/default/package.json +0 -21
- package/templates/default/public/icons/academy.svg +0 -15
- package/templates/default/public/icons/manual.svg +0 -16
- package/templates/default/public/icons/relativity.svg +0 -16
- package/templates/default/public/icons/systems.svg +0 -14
- package/templates/default/public/icons/warning.svg +0 -14
- package/templates/default/public/images/flux-sails.svg +0 -33
- package/templates/default/public/images/photonic-core.svg +0 -44
- package/templates/default/public/images/starwake.svg +0 -49
package/dist/components/Image.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Image = Image;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
function Image({ src, alt, ...rest }) {
|
|
6
|
-
const handleClick = (e) => {
|
|
7
|
-
const modal = document.createElement('div');
|
|
8
|
-
modal.className = 'image-modal';
|
|
9
|
-
modal.onclick = () => modal.remove();
|
|
10
|
-
const closeBtn = document.createElement('button');
|
|
11
|
-
closeBtn.className = 'image-modal-close';
|
|
12
|
-
closeBtn.innerHTML = '×';
|
|
13
|
-
closeBtn.onclick = () => modal.remove();
|
|
14
|
-
const img = document.createElement('img');
|
|
15
|
-
img.src = src;
|
|
16
|
-
img.alt = alt || '';
|
|
17
|
-
img.onclick = (e) => e.stopPropagation();
|
|
18
|
-
modal.appendChild(closeBtn);
|
|
19
|
-
modal.appendChild(img);
|
|
20
|
-
document.body.appendChild(modal);
|
|
21
|
-
};
|
|
22
|
-
return ((0, jsx_runtime_1.jsx)("img", { ...rest, src: src, alt: alt || '', loading: "lazy", onClick: handleClick }));
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=Image.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Image.js","sourceRoot":"","sources":["../../src/components/Image.tsx"],"names":[],"mappings":";;AAQA,sBA8BC;;AA9BD,SAAgB,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAc;IACrD,MAAM,WAAW,GAAG,CAAC,CAAqC,EAAE,EAAE;QAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,SAAS,GAAG,aAAa,CAAC;QAChC,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAErC,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,QAAQ,CAAC,SAAS,GAAG,mBAAmB,CAAC;QACzC,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC;QACzB,QAAQ,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAExC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;QACd,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;QACpB,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QAEzC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5B,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,OAAO,CACL,mCACM,IAAI,EACR,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,IAAI,EAAE,EACd,OAAO,EAAC,MAAM,EACd,OAAO,EAAE,WAAW,GACpB,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Layout - Main layout wrapper for all pages
|
|
3
|
-
*/
|
|
4
|
-
import { ReactNode } from 'react';
|
|
5
|
-
interface LayoutProps {
|
|
6
|
-
children: ReactNode;
|
|
7
|
-
showSidebar?: boolean;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Main layout component
|
|
11
|
-
*/
|
|
12
|
-
export declare function Layout({ children, showSidebar }: LayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
-
export default Layout;
|
|
14
|
-
//# sourceMappingURL=Layout.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.d.ts","sourceRoot":"","sources":["../../src/components/Layout.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAc,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAMnD,UAAU,WAAW;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,WAAkB,EAAE,EAAE,WAAW,2CA6CnE;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Layout = Layout;
|
|
7
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
-
/**
|
|
9
|
-
* Layout - Main layout wrapper for all pages
|
|
10
|
-
*/
|
|
11
|
-
const react_1 = require("react");
|
|
12
|
-
const Header_1 = __importDefault(require("./Header"));
|
|
13
|
-
const SideNav_1 = __importDefault(require("./SideNav"));
|
|
14
|
-
const MobileMenu_1 = __importDefault(require("./MobileMenu"));
|
|
15
|
-
const ConfigContext_1 = require("../client/contexts/ConfigContext");
|
|
16
|
-
/**
|
|
17
|
-
* Main layout component
|
|
18
|
-
*/
|
|
19
|
-
function Layout({ children, showSidebar = true }) {
|
|
20
|
-
const { config } = (0, ConfigContext_1.useConfig)();
|
|
21
|
-
const [isMobileMenuOpen, setIsMobileMenuOpen] = (0, react_1.useState)(false);
|
|
22
|
-
const handleMobileMenuToggle = () => {
|
|
23
|
-
setIsMobileMenuOpen(!isMobileMenuOpen);
|
|
24
|
-
};
|
|
25
|
-
const handleMobileMenuClose = () => {
|
|
26
|
-
setIsMobileMenuOpen(false);
|
|
27
|
-
};
|
|
28
|
-
const hasSidenav = showSidebar && config.navigation.sidenav;
|
|
29
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "layout", children: [(0, jsx_runtime_1.jsx)(Header_1.default, { onMobileMenuToggle: hasSidenav ? handleMobileMenuToggle : undefined, showMobileMenu: !!hasSidenav }), (0, jsx_runtime_1.jsxs)("div", { className: "layout-container", children: [hasSidenav && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("aside", { className: "layout-sidebar", children: (0, jsx_runtime_1.jsx)(SideNav_1.default, {}) }), (0, jsx_runtime_1.jsx)(MobileMenu_1.default, { isOpen: isMobileMenuOpen, onClose: handleMobileMenuClose })] })), (0, jsx_runtime_1.jsx)("main", { className: "layout-main", children: (0, jsx_runtime_1.jsx)("div", { className: "layout-main-inner", children: children }) })] })] }));
|
|
30
|
-
}
|
|
31
|
-
exports.default = Layout;
|
|
32
|
-
//# sourceMappingURL=Layout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../src/components/Layout.tsx"],"names":[],"mappings":";;;;;AAkBA,wBA6CC;;AA/DD;;GAEG;AAEH,iCAAmD;AACnD,sDAA8B;AAC9B,wDAAgC;AAChC,8DAAsC;AACtC,oEAA6D;AAO7D;;GAEG;AACH,SAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAe;IAClE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,yBAAS,GAAE,CAAC;IAC/B,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAEhE,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,mBAAmB,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE;QACjC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;IAE5D,OAAO,CACL,iCAAK,SAAS,EAAC,QAAQ,aACrB,uBAAC,gBAAM,IACL,kBAAkB,EAAE,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,EACnE,cAAc,EAAE,CAAC,CAAC,UAAU,GAC5B,EAEF,iCAAK,SAAS,EAAC,kBAAkB,aAC9B,UAAU,IAAI,CACb,6DAEE,kCAAO,SAAS,EAAC,gBAAgB,YAC/B,uBAAC,iBAAO,KAAG,GACL,EAGR,uBAAC,oBAAU,IACT,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,qBAAqB,GAC9B,IACD,CACJ,EAED,iCAAM,SAAS,EAAC,aAAa,YAC3B,gCAAK,SAAS,EAAC,mBAAmB,YAC/B,QAAQ,GACL,GACD,IACH,IACF,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,MAAM,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MarkdocRenderer - Renders Markdoc content as React components
|
|
3
|
-
*/
|
|
4
|
-
import React from 'react';
|
|
5
|
-
import { MarkdocRenderableNode } from '../types/content';
|
|
6
|
-
interface MarkdocRendererProps {
|
|
7
|
-
content: MarkdocRenderableNode;
|
|
8
|
-
components?: Record<string, React.ComponentType<any>>;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Renders Markdoc renderable tree as React components
|
|
12
|
-
*/
|
|
13
|
-
export declare function MarkdocRenderer({ content, components }: MarkdocRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
-
export default MarkdocRenderer;
|
|
15
|
-
//# sourceMappingURL=MarkdocRenderer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdocRenderer.d.ts","sourceRoot":"","sources":["../../src/components/MarkdocRenderer.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAQzD,UAAU,oBAAoB;IAC5B,OAAO,EAAE,qBAAqB,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;CACvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,UAAe,EAAE,EAAE,oBAAoB,2CAYjF;AAiED,eAAe,eAAe,CAAC"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.MarkdocRenderer = MarkdocRenderer;
|
|
7
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
-
/**
|
|
9
|
-
* MarkdocRenderer - Renders Markdoc content as React components
|
|
10
|
-
*/
|
|
11
|
-
const react_1 = __importDefault(require("react"));
|
|
12
|
-
const markdoc_1 = __importDefault(require("@markdoc/markdoc"));
|
|
13
|
-
const CodeBlock_1 = __importDefault(require("./CodeBlock"));
|
|
14
|
-
const Heading_1 = __importDefault(require("./Heading"));
|
|
15
|
-
const Image_1 = require("./Image");
|
|
16
|
-
const Card_1 = __importDefault(require("./Card"));
|
|
17
|
-
const CardGrid_1 = __importDefault(require("./CardGrid"));
|
|
18
|
-
const Callout_1 = __importDefault(require("./Callout"));
|
|
19
|
-
/**
|
|
20
|
-
* Renders Markdoc renderable tree as React components
|
|
21
|
-
*/
|
|
22
|
-
function MarkdocRenderer({ content, components = {} }) {
|
|
23
|
-
// Markdoc's React renderer
|
|
24
|
-
const rendered = markdoc_1.default.renderers.react(content, react_1.default, {
|
|
25
|
-
components: {
|
|
26
|
-
// Default HTML tag mappings
|
|
27
|
-
...getDefaultComponents(),
|
|
28
|
-
// Custom component overrides
|
|
29
|
-
...components,
|
|
30
|
-
},
|
|
31
|
-
});
|
|
32
|
-
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: rendered });
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Default component mappings for HTML elements
|
|
36
|
-
*/
|
|
37
|
-
function getDefaultComponents() {
|
|
38
|
-
return {
|
|
39
|
-
// Headings with anchor links
|
|
40
|
-
h1: (props) => (0, jsx_runtime_1.jsx)(Heading_1.default, { level: 1, ...props }),
|
|
41
|
-
h2: (props) => (0, jsx_runtime_1.jsx)(Heading_1.default, { level: 2, ...props }),
|
|
42
|
-
h3: (props) => (0, jsx_runtime_1.jsx)(Heading_1.default, { level: 3, ...props }),
|
|
43
|
-
h4: (props) => (0, jsx_runtime_1.jsx)(Heading_1.default, { level: 4, ...props }),
|
|
44
|
-
h5: (props) => (0, jsx_runtime_1.jsx)(Heading_1.default, { level: 5, ...props }),
|
|
45
|
-
h6: (props) => (0, jsx_runtime_1.jsx)(Heading_1.default, { level: 6, ...props }),
|
|
46
|
-
//links
|
|
47
|
-
a: (props) => {
|
|
48
|
-
const { href, children, ...rest } = props;
|
|
49
|
-
const isExternal = href?.startsWith('http://') || href?.startsWith('https://');
|
|
50
|
-
return ((0, jsx_runtime_1.jsx)("a", { href: href, target: isExternal ? '_blank' : undefined, rel: isExternal ? 'noopener noreferrer' : undefined, ...rest, children: children }));
|
|
51
|
-
},
|
|
52
|
-
// Inline code (not highlighted)
|
|
53
|
-
code: (props) => (0, jsx_runtime_1.jsx)("code", { className: "inline-code", ...props }),
|
|
54
|
-
//tables
|
|
55
|
-
table: (props) => ((0, jsx_runtime_1.jsx)("div", { className: "table-wrapper", children: (0, jsx_runtime_1.jsx)("table", { ...props }) })),
|
|
56
|
-
//blockquote
|
|
57
|
-
blockquote: (props) => (0, jsx_runtime_1.jsx)("blockquote", { className: "callout", ...props }),
|
|
58
|
-
// Custom components
|
|
59
|
-
// Maps 'Heading' string → Heading component
|
|
60
|
-
Heading: Heading_1.default,
|
|
61
|
-
// Code blocks with syntax highlighting
|
|
62
|
-
CodeBlock: CodeBlock_1.default,
|
|
63
|
-
// Images with click-to-expand
|
|
64
|
-
Image: Image_1.Image,
|
|
65
|
-
// Cards and card grid containers
|
|
66
|
-
Card: Card_1.default,
|
|
67
|
-
CardGrid: CardGrid_1.default,
|
|
68
|
-
// Callout boxes
|
|
69
|
-
Callout: Callout_1.default,
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
exports.default = MarkdocRenderer;
|
|
73
|
-
//# sourceMappingURL=MarkdocRenderer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdocRenderer.js","sourceRoot":"","sources":["../../src/components/MarkdocRenderer.tsx"],"names":[],"mappings":";;;;;AAsBA,0CAYC;;AAlCD;;GAEG;AAEH,kDAA0B;AAC1B,+DAAuC;AAEvC,4DAAoC;AACpC,wDAAgC;AAChC,mCAAgC;AAChC,kDAA0B;AAC1B,0DAAkC;AAClC,wDAAgC;AAOhC;;GAEG;AACH,SAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,UAAU,GAAG,EAAE,EAAwB;IAChF,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,iBAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,eAAK,EAAE;QACvD,UAAU,EAAE;YACV,4BAA4B;YAC5B,GAAG,oBAAoB,EAAE;YACzB,6BAA6B;YAC7B,GAAG,UAAU;SACd;KACF,CAAC,CAAC;IAEH,OAAO,2DAAG,QAAQ,GAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB;IAC3B,OAAO;QACL,6BAA6B;QAC7B,EAAE,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,uBAAC,iBAAO,IAAC,KAAK,EAAE,CAAC,KAAM,KAAK,GAAI;QACpD,EAAE,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,uBAAC,iBAAO,IAAC,KAAK,EAAE,CAAC,KAAM,KAAK,GAAI;QACpD,EAAE,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,uBAAC,iBAAO,IAAC,KAAK,EAAE,CAAC,KAAM,KAAK,GAAI;QACpD,EAAE,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,uBAAC,iBAAO,IAAC,KAAK,EAAE,CAAC,KAAM,KAAK,GAAI;QACpD,EAAE,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,uBAAC,iBAAO,IAAC,KAAK,EAAE,CAAC,KAAM,KAAK,GAAI;QACpD,EAAE,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,uBAAC,iBAAO,IAAC,KAAK,EAAE,CAAC,KAAM,KAAK,GAAI;QAEpD,OAAO;QACP,CAAC,EAAE,CAAC,KAAU,EAAE,EAAE;YAChB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;YAC1C,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;YAE/E,OAAO,CACL,8BACE,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACzC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,KAC/C,IAAI,YAEP,QAAQ,GACP,CACL,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,IAAI,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,iCAAM,SAAS,EAAC,aAAa,KAAK,KAAK,GAAI;QAEjE,QAAQ;QACR,KAAK,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,CACrB,gCAAK,SAAS,EAAC,eAAe,YAC5B,qCAAW,KAAK,GAAI,GAChB,CACP;QAED,YAAY;QACZ,UAAU,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,uCAAY,SAAS,EAAC,SAAS,KAAK,KAAK,GAAI;QAEzE,oBAAoB;QACpB,4CAA4C;QAC5C,OAAO,EAAE,iBAAO;QAEhB,uCAAuC;QACvC,SAAS,EAAE,mBAAS;QAEpB,8BAA8B;QAC9B,KAAK,EAAE,aAAK;QAEZ,iCAAiC;QACjC,IAAI,EAAE,cAAI;QACV,QAAQ,EAAE,kBAAQ;QAElB,gBAAgB;QAChB,OAAO,EAAE,iBAAO;KAEjB,CAAC;AACJ,CAAC;AAED,kBAAe,eAAe,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MobileMenu - Mobile drawer menu component
|
|
3
|
-
* Displays sidenav in a slide-out drawer on mobile devices
|
|
4
|
-
*/
|
|
5
|
-
interface MobileMenuProps {
|
|
6
|
-
isOpen: boolean;
|
|
7
|
-
onClose: () => void;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Mobile menu drawer component
|
|
11
|
-
*/
|
|
12
|
-
export declare function MobileMenu({ isOpen, onClose }: MobileMenuProps): import("react/jsx-runtime").JSX.Element | null;
|
|
13
|
-
export default MobileMenu;
|
|
14
|
-
//# sourceMappingURL=MobileMenu.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MobileMenu.d.ts","sourceRoot":"","sources":["../../src/components/MobileMenu.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,UAAU,eAAe;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,kDAoE9D;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.MobileMenu = MobileMenu;
|
|
7
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
-
/**
|
|
9
|
-
* MobileMenu - Mobile drawer menu component
|
|
10
|
-
* Displays sidenav in a slide-out drawer on mobile devices
|
|
11
|
-
*/
|
|
12
|
-
const react_1 = require("react");
|
|
13
|
-
const SideNav_1 = __importDefault(require("./SideNav"));
|
|
14
|
-
/**
|
|
15
|
-
* Mobile menu drawer component
|
|
16
|
-
*/
|
|
17
|
-
function MobileMenu({ isOpen, onClose }) {
|
|
18
|
-
// Prevent body scroll when menu is open
|
|
19
|
-
(0, react_1.useEffect)(() => {
|
|
20
|
-
if (isOpen) {
|
|
21
|
-
document.body.style.overflow = 'hidden';
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
document.body.style.overflow = '';
|
|
25
|
-
}
|
|
26
|
-
return () => {
|
|
27
|
-
document.body.style.overflow = '';
|
|
28
|
-
};
|
|
29
|
-
}, [isOpen]);
|
|
30
|
-
// Close on escape key
|
|
31
|
-
(0, react_1.useEffect)(() => {
|
|
32
|
-
const handleEscape = (e) => {
|
|
33
|
-
if (e.key === 'Escape' && isOpen) {
|
|
34
|
-
onClose();
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
document.addEventListener('keydown', handleEscape);
|
|
38
|
-
return () => document.removeEventListener('keydown', handleEscape);
|
|
39
|
-
}, [isOpen, onClose]);
|
|
40
|
-
if (!isOpen)
|
|
41
|
-
return null;
|
|
42
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "mobile-menu-backdrop", onClick: onClose, "aria-hidden": "true" }), (0, jsx_runtime_1.jsxs)("aside", { className: "mobile-menu-drawer", role: "dialog", "aria-modal": "true", children: [(0, jsx_runtime_1.jsx)("div", { className: "mobile-menu-header", children: (0, jsx_runtime_1.jsx)("button", { className: "mobile-menu-close", onClick: onClose, "aria-label": "Close menu", children: (0, jsx_runtime_1.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [(0, jsx_runtime_1.jsx)("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), (0, jsx_runtime_1.jsx)("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) }) }), (0, jsx_runtime_1.jsx)("div", { className: "mobile-menu-content", children: (0, jsx_runtime_1.jsx)(SideNav_1.default, {}) })] })] }));
|
|
43
|
-
}
|
|
44
|
-
exports.default = MobileMenu;
|
|
45
|
-
//# sourceMappingURL=MobileMenu.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MobileMenu.js","sourceRoot":"","sources":["../../src/components/MobileMenu.tsx"],"names":[],"mappings":";;;;;AAgBA,gCAoEC;;AApFD;;;GAGG;AAEH,iCAAyC;AACzC,wDAAgC;AAOhC;;GAEG;AACH,SAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAmB;IAC7D,wCAAwC;IACxC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QACpC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,sBAAsB;IACtB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,CAAC,CAAgB,EAAE,EAAE;YACxC,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,EAAE,CAAC;gBACjC,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACnD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEtB,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,OAAO,CACL,6DAEE,gCACE,SAAS,EAAC,sBAAsB,EAChC,OAAO,EAAE,OAAO,iBACJ,MAAM,GAClB,EAGF,mCAAO,SAAS,EAAC,oBAAoB,EAAC,IAAI,EAAC,QAAQ,gBAAY,MAAM,aACnE,gCAAK,SAAS,EAAC,oBAAoB,YACjC,mCACE,SAAS,EAAC,mBAAmB,EAC7B,OAAO,EAAE,OAAO,gBACL,YAAY,YAEvB,iCACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,aAEtB,iCAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,GAAQ,EAC3C,iCAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAQ,IACvC,GACC,GACL,EAEN,gCAAK,SAAS,EAAC,qBAAqB,YAClC,uBAAC,iBAAO,KAAG,GACP,IACA,IACP,CACJ,CAAC;AACJ,CAAC;AAED,kBAAe,UAAU,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PageNavigation - Previous/Next page links
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Page navigation component (prev/next links)
|
|
6
|
-
*/
|
|
7
|
-
export declare function PageNavigation(): import("react/jsx-runtime").JSX.Element | null;
|
|
8
|
-
export default PageNavigation;
|
|
9
|
-
//# sourceMappingURL=PageNavigation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PageNavigation.d.ts","sourceRoot":"","sources":["../../src/components/PageNavigation.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,wBAAgB,cAAc,mDAqC7B;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PageNavigation = PageNavigation;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const react_router_dom_1 = require("react-router-dom");
|
|
6
|
-
const ContentContext_1 = require("../client/contexts/ContentContext");
|
|
7
|
-
/**
|
|
8
|
-
* Page navigation component (prev/next links)
|
|
9
|
-
*/
|
|
10
|
-
function PageNavigation() {
|
|
11
|
-
const { navigationContext } = (0, ContentContext_1.useContent)();
|
|
12
|
-
if (!navigationContext || !navigationContext.pageNavigation) {
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
const { prev, next } = navigationContext.pageNavigation;
|
|
16
|
-
// Don't render if no prev or next
|
|
17
|
-
if (!prev && !next) {
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
return ((0, jsx_runtime_1.jsx)("nav", { className: "page-navigation", "aria-label": "Page navigation", children: (0, jsx_runtime_1.jsxs)("div", { className: "page-nav-container", children: [prev ? ((0, jsx_runtime_1.jsxs)(react_router_dom_1.Link, { to: prev.path, className: "page-nav-link page-nav-prev", children: [(0, jsx_runtime_1.jsx)("span", { className: "page-nav-direction", children: "\u2190 Previous" }), (0, jsx_runtime_1.jsx)("span", { className: "page-nav-label", children: prev.label })] })) : ((0, jsx_runtime_1.jsx)("div", { className: "page-nav-spacer" })), next ? ((0, jsx_runtime_1.jsxs)(react_router_dom_1.Link, { to: next.path, className: "page-nav-link page-nav-next", children: [(0, jsx_runtime_1.jsx)("span", { className: "page-nav-direction", children: "Next \u2192" }), (0, jsx_runtime_1.jsx)("span", { className: "page-nav-label", children: next.label })] })) : ((0, jsx_runtime_1.jsx)("div", { className: "page-nav-spacer" }))] }) }));
|
|
21
|
-
}
|
|
22
|
-
exports.default = PageNavigation;
|
|
23
|
-
//# sourceMappingURL=PageNavigation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PageNavigation.js","sourceRoot":"","sources":["../../src/components/PageNavigation.tsx"],"names":[],"mappings":";;AAWA,wCAqCC;;AA3CD,uDAAwC;AACxC,sEAA+D;AAE/D;;GAEG;AACH,SAAgB,cAAc;IAC5B,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAA,2BAAU,GAAE,CAAC;IAE3C,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,cAAc,CAAC;IAExD,kCAAkC;IAClC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,gCAAK,SAAS,EAAC,iBAAiB,gBAAY,iBAAiB,YAC3D,iCAAK,SAAS,EAAC,oBAAoB,aAChC,IAAI,CAAC,CAAC,CAAC,CACN,wBAAC,uBAAI,IAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAC,6BAA6B,aAC1D,iCAAM,SAAS,EAAC,oBAAoB,gCAAkB,EACtD,iCAAM,SAAS,EAAC,gBAAgB,YAAE,IAAI,CAAC,KAAK,GAAQ,IAC/C,CACR,CAAC,CAAC,CAAC,CACF,gCAAK,SAAS,EAAC,iBAAiB,GAAG,CACpC,EAEA,IAAI,CAAC,CAAC,CAAC,CACN,wBAAC,uBAAI,IAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAC,6BAA6B,aAC1D,iCAAM,SAAS,EAAC,oBAAoB,4BAAc,EAClD,iCAAM,SAAS,EAAC,gBAAgB,YAAE,IAAI,CAAC,KAAK,GAAQ,IAC/C,CACR,CAAC,CAAC,CAAC,CACF,gCAAK,SAAS,EAAC,iBAAiB,GAAG,CACpC,IACG,GACF,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,cAAc,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SearchModal - Search modal with keyboard shortcuts
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Search modal component
|
|
6
|
-
*/
|
|
7
|
-
export declare function SearchModal(): import("react/jsx-runtime").JSX.Element | null;
|
|
8
|
-
export default SearchModal;
|
|
9
|
-
//# sourceMappingURL=SearchModal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SearchModal.d.ts","sourceRoot":"","sources":["../../src/components/SearchModal.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,wBAAgB,WAAW,mDAiJ1B;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SearchModal = SearchModal;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
/**
|
|
6
|
-
* SearchModal - Search modal with keyboard shortcuts
|
|
7
|
-
*/
|
|
8
|
-
const react_1 = require("react");
|
|
9
|
-
const useSearch_1 = require("../client/hooks/useSearch");
|
|
10
|
-
const useNavigation_1 = require("../client/hooks/useNavigation");
|
|
11
|
-
/**
|
|
12
|
-
* Search modal component
|
|
13
|
-
*/
|
|
14
|
-
function SearchModal() {
|
|
15
|
-
const { isOpen, closeSearch, query, setQuery, results, isSearching, debouncedSearch, } = (0, useSearch_1.useSearch)();
|
|
16
|
-
const { navigateToPath } = (0, useNavigation_1.useNavigation)();
|
|
17
|
-
const inputRef = (0, react_1.useRef)(null);
|
|
18
|
-
const [selectedIndex, setSelectedIndex] = (0, react_1.useState)(0);
|
|
19
|
-
// Focus input when modal opens
|
|
20
|
-
(0, react_1.useEffect)(() => {
|
|
21
|
-
if (isOpen && inputRef.current) {
|
|
22
|
-
inputRef.current.focus();
|
|
23
|
-
setSelectedIndex(0);
|
|
24
|
-
}
|
|
25
|
-
}, [isOpen]);
|
|
26
|
-
// Reset selected index when results change
|
|
27
|
-
(0, react_1.useEffect)(() => {
|
|
28
|
-
setSelectedIndex(0);
|
|
29
|
-
}, [results]);
|
|
30
|
-
// Handle input change with debounced search
|
|
31
|
-
const handleInputChange = (e) => {
|
|
32
|
-
const value = e.target.value;
|
|
33
|
-
setQuery(value);
|
|
34
|
-
debouncedSearch(value);
|
|
35
|
-
};
|
|
36
|
-
// Handle result click
|
|
37
|
-
const handleResultClick = (url) => {
|
|
38
|
-
closeSearch();
|
|
39
|
-
navigateToPath(url);
|
|
40
|
-
};
|
|
41
|
-
// Handle backdrop click
|
|
42
|
-
const handleBackdropClick = (e) => {
|
|
43
|
-
if (e.target === e.currentTarget) {
|
|
44
|
-
closeSearch();
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
// Handle keyboard navigation
|
|
48
|
-
const handleKeyDown = (e) => {
|
|
49
|
-
if (results.length === 0)
|
|
50
|
-
return;
|
|
51
|
-
switch (e.key) {
|
|
52
|
-
case 'ArrowDown':
|
|
53
|
-
e.preventDefault();
|
|
54
|
-
setSelectedIndex((prev) => (prev + 1) % results.length);
|
|
55
|
-
break;
|
|
56
|
-
case 'ArrowUp':
|
|
57
|
-
e.preventDefault();
|
|
58
|
-
setSelectedIndex((prev) => (prev - 1 + results.length) % results.length);
|
|
59
|
-
break;
|
|
60
|
-
case 'Enter':
|
|
61
|
-
e.preventDefault();
|
|
62
|
-
if (results[selectedIndex]) {
|
|
63
|
-
handleResultClick(results[selectedIndex].url);
|
|
64
|
-
}
|
|
65
|
-
break;
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
if (!isOpen) {
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
71
|
-
return ((0, jsx_runtime_1.jsx)("div", { className: "search-modal-backdrop", onClick: handleBackdropClick, children: (0, jsx_runtime_1.jsxs)("div", { className: "search-modal", onKeyDown: handleKeyDown, children: [(0, jsx_runtime_1.jsxs)("div", { className: "search-input-container", children: [(0, jsx_runtime_1.jsxs)("svg", { className: "search-input-icon", xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [(0, jsx_runtime_1.jsx)("circle", { cx: "11", cy: "11", r: "8" }), (0, jsx_runtime_1.jsx)("path", { d: "m21 21-4.3-4.3" })] }), (0, jsx_runtime_1.jsx)("input", { ref: inputRef, type: "text", className: "search-input", placeholder: "Search documentation...", value: query, onChange: handleInputChange, "aria-label": "Search" })] }), (0, jsx_runtime_1.jsx)("div", { className: "search-results", children: isSearching ? ((0, jsx_runtime_1.jsx)("div", { className: "search-loading", children: (0, jsx_runtime_1.jsx)("p", { children: "Searching..." }) })) : query.trim() === '' ? ((0, jsx_runtime_1.jsx)("div", { className: "search-empty", children: (0, jsx_runtime_1.jsx)("p", { className: "search-empty-text", children: "Start typing to search" }) })) : results.length === 0 ? ((0, jsx_runtime_1.jsxs)("div", { className: "search-no-results", children: [(0, jsx_runtime_1.jsxs)("p", { children: ["No results found for \"", query, "\""] }), (0, jsx_runtime_1.jsx)("p", { className: "search-help-text", children: "Try different keywords or check your spelling" })] })) : ((0, jsx_runtime_1.jsx)("ul", { className: "search-results-list", children: results.map((result, index) => ((0, jsx_runtime_1.jsx)("li", { className: "search-result-item", children: (0, jsx_runtime_1.jsxs)("button", { className: `search-result-link ${index === selectedIndex ? 'selected' : ''}`, onClick: () => handleResultClick(result.url), onMouseEnter: () => setSelectedIndex(index), children: [(0, jsx_runtime_1.jsx)("div", { className: "search-result-title", children: result.title }), (0, jsx_runtime_1.jsx)("div", { className: "search-result-excerpt", dangerouslySetInnerHTML: { __html: result.excerpt } }), (0, jsx_runtime_1.jsx)("div", { className: "search-result-url", children: result.url })] }) }, result.id))) })) })] }) }));
|
|
72
|
-
}
|
|
73
|
-
exports.default = SearchModal;
|
|
74
|
-
//# sourceMappingURL=SearchModal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SearchModal.js","sourceRoot":"","sources":["../../src/components/SearchModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SideNav.d.ts","sourceRoot":"","sources":["../../src/components/SideNav.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;GAEG;AACH,wBAAgB,OAAO,4CAqBtB;AAmID,eAAe,OAAO,CAAC"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SideNav = SideNav;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
/**
|
|
6
|
-
* SideNav - Sidebar navigation component
|
|
7
|
-
*/
|
|
8
|
-
const react_1 = require("react");
|
|
9
|
-
const react_router_dom_1 = require("react-router-dom");
|
|
10
|
-
const ConfigContext_1 = require("../client/contexts/ConfigContext");
|
|
11
|
-
/**
|
|
12
|
-
* Sidebar navigation component
|
|
13
|
-
*/
|
|
14
|
-
function SideNav() {
|
|
15
|
-
const { config } = (0, ConfigContext_1.useConfig)();
|
|
16
|
-
const location = (0, react_router_dom_1.useLocation)();
|
|
17
|
-
// TODO: Determine which sidenav to show based on current page or topnav selection
|
|
18
|
-
const sidenavItems = config.navigation.sidenav || [];
|
|
19
|
-
return ((0, jsx_runtime_1.jsx)("nav", { className: "sidenav", children: (0, jsx_runtime_1.jsx)("ul", { className: "sidenav-list", children: sidenavItems.map((item, index) => ((0, jsx_runtime_1.jsx)(SideNavItem, { item: item, currentPath: location.pathname, depth: 0 }, index))) }) }));
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Individual sidebar navigation item (recursive for nested items)
|
|
23
|
-
*/
|
|
24
|
-
function SideNavItem({ item, currentPath, depth }) {
|
|
25
|
-
const [isExpanded, setIsExpanded] = (0, react_1.useState)(true);
|
|
26
|
-
const hasChildren = item.children && item.children.length > 0;
|
|
27
|
-
// Check if current path matches this item
|
|
28
|
-
const isActive = item.path === currentPath;
|
|
29
|
-
// Check if any child is active
|
|
30
|
-
const hasActiveChild = hasChildren && item.children.some(child => isPathActive(child, currentPath));
|
|
31
|
-
const handleToggle = () => {
|
|
32
|
-
if (hasChildren) {
|
|
33
|
-
setIsExpanded(!isExpanded);
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
// Handle click for parent items with links
|
|
37
|
-
const handleLinkClick = (e) => {
|
|
38
|
-
if (hasChildren) {
|
|
39
|
-
// If this item is already active, toggle collapse/expand
|
|
40
|
-
if (isActive) {
|
|
41
|
-
setIsExpanded(!isExpanded);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
// If navigating to a new page, ensure children stay expanded
|
|
45
|
-
setIsExpanded(true);
|
|
46
|
-
}
|
|
47
|
-
// Don't prevent default - let the Link navigate
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
const ChevronIcon = () => ((0, jsx_runtime_1.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 8 8", xmlns: "http://www.w3.org/2000/svg", className: `sidenav-chevron ${isExpanded ? 'expanded' : 'collapsed'}`, "aria-hidden": "true", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M.606 2.334a.75.75 0 0 0-.022 1.06l2.875 3a.75.75 0 0 0 1.082 0L7.416 3.4a.75.75 0 0 0-1.082-1.038L4 4.79 1.667 2.357a.75.75 0 0 0-1.06-.022Z", fill: "currentColor" }) }));
|
|
51
|
-
return ((0, jsx_runtime_1.jsxs)("li", { className: `sidenav-item sidenav-item-depth-${depth}`, children: [item.path ? (item.external ? ((0, jsx_runtime_1.jsxs)("a", { href: item.path, className: `sidenav-link ${isActive ? 'active' : ''}`, target: "_blank", rel: "noopener noreferrer", onClick: handleLinkClick, children: [item.icon && (0, jsx_runtime_1.jsx)("span", { className: "sidenav-icon", children: item.icon }), (0, jsx_runtime_1.jsx)("span", { className: "sidenav-label", children: item.label }), hasChildren && (0, jsx_runtime_1.jsx)(ChevronIcon, {})] })) : ((0, jsx_runtime_1.jsxs)(react_router_dom_1.Link, { to: item.path, className: `sidenav-link ${isActive ? 'active' : ''}`, onClick: handleLinkClick, children: [item.icon && (0, jsx_runtime_1.jsx)("span", { className: "sidenav-icon", children: item.icon }), (0, jsx_runtime_1.jsx)("span", { className: "sidenav-label", children: item.label }), hasChildren && (0, jsx_runtime_1.jsx)(ChevronIcon, {})] }))) : ((0, jsx_runtime_1.jsxs)("button", { className: `sidenav-link sidenav-group-label ${hasActiveChild ? 'has-active-child' : ''}`, onClick: handleToggle, children: [item.icon && (0, jsx_runtime_1.jsx)("span", { className: "sidenav-icon", children: item.icon }), (0, jsx_runtime_1.jsx)("span", { className: "sidenav-label", children: item.label }), hasChildren && (0, jsx_runtime_1.jsx)(ChevronIcon, {})] })), hasChildren && ((0, jsx_runtime_1.jsx)("div", { className: `sidenav-sublist-wrapper ${isExpanded ? 'expanded' : 'collapsed'}`, children: (0, jsx_runtime_1.jsx)("ul", { className: "sidenav-sublist", children: item.children.map((child, index) => ((0, jsx_runtime_1.jsx)(SideNavItem, { item: child, currentPath: currentPath, depth: depth + 1 }, index))) }) }))] }));
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Check if a navigation item or any of its children match the current path
|
|
55
|
-
*/
|
|
56
|
-
function isPathActive(item, currentPath) {
|
|
57
|
-
if (item.path === currentPath) {
|
|
58
|
-
return true;
|
|
59
|
-
}
|
|
60
|
-
if (item.children && item.children.length > 0) {
|
|
61
|
-
return item.children.some(child => isPathActive(child, currentPath));
|
|
62
|
-
}
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
exports.default = SideNav;
|
|
66
|
-
//# sourceMappingURL=SideNav.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SideNav.js","sourceRoot":"","sources":["../../src/components/SideNav.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TableOfContents - Displays page headings for quick navigation
|
|
3
|
-
*/
|
|
4
|
-
import { TableOfContents as TocType } from '../types/content';
|
|
5
|
-
interface TableOfContentsProps {
|
|
6
|
-
toc: TocType;
|
|
7
|
-
}
|
|
8
|
-
export declare function TableOfContents({ toc }: TableOfContentsProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export default TableOfContents;
|
|
10
|
-
//# sourceMappingURL=TableOfContents.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableOfContents.d.ts","sourceRoot":"","sources":["../../src/components/TableOfContents.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,IAAI,OAAO,EAAY,MAAM,kBAAkB,CAAC;AAExE,UAAU,oBAAoB;IAC5B,GAAG,EAAE,OAAO,CAAC;CACd;AAED,wBAAgB,eAAe,CAAC,EAAE,GAAG,EAAE,EAAE,oBAAoB,2CAmL5D;AAED,eAAe,eAAe,CAAC"}
|