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.
Files changed (431) hide show
  1. package/LICENSE +7 -0
  2. package/bin/cli.js +24 -71
  3. package/dist/cli/asset-rewrite.d.ts +40 -0
  4. package/dist/cli/asset-rewrite.d.ts.map +1 -0
  5. package/dist/cli/asset-rewrite.js +67 -0
  6. package/dist/cli/asset-rewrite.js.map +1 -0
  7. package/dist/cli/build.d.ts +45 -15
  8. package/dist/cli/build.d.ts.map +1 -1
  9. package/dist/cli/build.js +186 -101
  10. package/dist/cli/build.js.map +1 -1
  11. package/dist/cli/dev.d.ts +26 -14
  12. package/dist/cli/dev.d.ts.map +1 -1
  13. package/dist/cli/dev.js +116 -159
  14. package/dist/cli/dev.js.map +1 -1
  15. package/dist/cli/pagefind-indexer.d.ts +15 -0
  16. package/dist/cli/pagefind-indexer.d.ts.map +1 -0
  17. package/dist/cli/pagefind-indexer.js +68 -0
  18. package/dist/cli/pagefind-indexer.js.map +1 -0
  19. package/dist/cli/paths.d.ts +26 -0
  20. package/dist/cli/paths.d.ts.map +1 -0
  21. package/dist/cli/paths.js +32 -0
  22. package/dist/cli/paths.js.map +1 -0
  23. package/dist/cli/ssg-runner.d.ts +58 -0
  24. package/dist/cli/ssg-runner.d.ts.map +1 -0
  25. package/dist/cli/ssg-runner.js +126 -0
  26. package/dist/cli/ssg-runner.js.map +1 -0
  27. package/dist/config/assets-loader.d.ts +11 -0
  28. package/dist/config/assets-loader.d.ts.map +1 -0
  29. package/dist/config/assets-loader.js +46 -0
  30. package/dist/config/assets-loader.js.map +1 -0
  31. package/dist/config/language-loader.d.ts +11 -0
  32. package/dist/config/language-loader.d.ts.map +1 -0
  33. package/dist/config/language-loader.js +61 -0
  34. package/dist/config/language-loader.js.map +1 -0
  35. package/dist/config/language.d.ts +11 -0
  36. package/dist/config/language.d.ts.map +1 -0
  37. package/dist/config/language.js +61 -0
  38. package/dist/config/language.js.map +1 -0
  39. package/dist/config/sidenav-loader.d.ts +14 -0
  40. package/dist/config/sidenav-loader.d.ts.map +1 -0
  41. package/dist/config/sidenav-loader.js +78 -0
  42. package/dist/config/sidenav-loader.js.map +1 -0
  43. package/dist/config/site-loader.d.ts +11 -0
  44. package/dist/config/site-loader.d.ts.map +1 -0
  45. package/dist/config/site-loader.js +72 -0
  46. package/dist/config/site-loader.js.map +1 -0
  47. package/dist/config/site.d.ts +11 -0
  48. package/dist/config/site.d.ts.map +1 -0
  49. package/dist/config/site.js +72 -0
  50. package/dist/config/site.js.map +1 -0
  51. package/dist/config/topnav-loader.d.ts +10 -0
  52. package/dist/config/topnav-loader.d.ts.map +1 -0
  53. package/dist/config/topnav-loader.js +78 -0
  54. package/dist/config/topnav-loader.js.map +1 -0
  55. package/dist/config/translations-loader.d.ts +7 -0
  56. package/dist/config/translations-loader.d.ts.map +1 -0
  57. package/dist/config/translations-loader.js +51 -0
  58. package/dist/config/translations-loader.js.map +1 -0
  59. package/dist/content/content-loader.d.ts +16 -0
  60. package/dist/content/content-loader.d.ts.map +1 -0
  61. package/dist/content/content-loader.js +126 -0
  62. package/dist/content/content-loader.js.map +1 -0
  63. package/dist/content/content-parser.d.ts +12 -0
  64. package/dist/content/content-parser.d.ts.map +1 -0
  65. package/dist/content/content-parser.js +54 -0
  66. package/dist/content/content-parser.js.map +1 -0
  67. package/dist/content/content-transformer.d.ts +17 -0
  68. package/dist/content/content-transformer.d.ts.map +1 -0
  69. package/dist/content/content-transformer.js +94 -0
  70. package/dist/content/content-transformer.js.map +1 -0
  71. package/dist/content/markdoc-config.d.ts +13 -0
  72. package/dist/content/markdoc-config.d.ts.map +1 -0
  73. package/dist/content/markdoc-config.js +210 -0
  74. package/dist/content/markdoc-config.js.map +1 -0
  75. package/dist/content/slug.d.ts +26 -0
  76. package/dist/content/slug.d.ts.map +1 -0
  77. package/dist/content/slug.js +31 -0
  78. package/dist/content/slug.js.map +1 -0
  79. package/dist/pipeline.d.ts +61 -0
  80. package/dist/pipeline.d.ts.map +1 -0
  81. package/dist/pipeline.js +123 -0
  82. package/dist/pipeline.js.map +1 -0
  83. package/dist/types/assets.d.ts +15 -0
  84. package/dist/types/assets.d.ts.map +1 -0
  85. package/dist/types/assets.js +2 -0
  86. package/dist/types/assets.js.map +1 -0
  87. package/dist/types/content.d.ts +114 -32
  88. package/dist/types/content.d.ts.map +1 -1
  89. package/dist/types/content.js +1 -6
  90. package/dist/types/content.js.map +1 -1
  91. package/dist/types/language.d.ts +9 -0
  92. package/dist/types/language.d.ts.map +1 -0
  93. package/dist/types/language.js +2 -0
  94. package/dist/types/language.js.map +1 -0
  95. package/dist/types/navigation.d.ts +24 -36
  96. package/dist/types/navigation.d.ts.map +1 -1
  97. package/dist/types/navigation.js +1 -6
  98. package/dist/types/navigation.js.map +1 -1
  99. package/dist/types/pipeline.d.ts +70 -0
  100. package/dist/types/pipeline.d.ts.map +1 -0
  101. package/dist/types/pipeline.js +2 -0
  102. package/dist/types/pipeline.js.map +1 -0
  103. package/dist/types/site.d.ts +20 -0
  104. package/dist/types/site.d.ts.map +1 -0
  105. package/dist/types/site.js +2 -0
  106. package/dist/types/site.js.map +1 -0
  107. package/dist/utils/lang-utils.d.ts +23 -0
  108. package/dist/utils/lang-utils.d.ts.map +1 -0
  109. package/dist/utils/lang-utils.js +40 -0
  110. package/dist/utils/lang-utils.js.map +1 -0
  111. package/dist/utils/paths.d.ts +25 -0
  112. package/dist/utils/paths.d.ts.map +1 -0
  113. package/dist/utils/paths.js +31 -0
  114. package/dist/utils/paths.js.map +1 -0
  115. package/dist/vite/plugin.d.ts +93 -0
  116. package/dist/vite/plugin.d.ts.map +1 -0
  117. package/dist/vite/plugin.js +435 -0
  118. package/dist/vite/plugin.js.map +1 -0
  119. package/package.json +46 -61
  120. package/src/app/App.module.css +82 -0
  121. package/src/app/App.tsx +95 -0
  122. package/src/app/content/Content.module.css +357 -0
  123. package/src/app/content/Content.tsx +212 -0
  124. package/src/app/content/callout/Callout.module.css +110 -0
  125. package/src/app/content/callout/Callout.tsx +82 -0
  126. package/src/app/content/card/Card.module.css +146 -0
  127. package/src/app/content/card/Card.tsx +110 -0
  128. package/src/app/content/card/CardGrid.module.css +22 -0
  129. package/src/app/content/card/CardGrid.tsx +34 -0
  130. package/src/app/content/code-block/CodeBlock.module.css +237 -0
  131. package/src/app/content/code-block/CodeBlock.tsx +123 -0
  132. package/src/app/content/heading/Heading.module.css +52 -0
  133. package/src/app/content/heading/Heading.tsx +75 -0
  134. package/src/app/content/image/Image.module.css +113 -0
  135. package/src/app/content/image/Image.tsx +98 -0
  136. package/src/app/content/link/ContentLink.tsx +46 -0
  137. package/src/app/data-context.tsx +39 -0
  138. package/src/app/entry-server.tsx +58 -0
  139. package/src/app/footer/Footer.module.css +36 -0
  140. package/src/app/footer/Footer.tsx +28 -0
  141. package/src/app/globals.d.ts +40 -0
  142. package/src/app/header/Header.module.css +205 -0
  143. package/src/app/header/Header.tsx +188 -0
  144. package/src/app/header/LanguagePicker.module.css +97 -0
  145. package/src/app/header/LanguagePicker.tsx +174 -0
  146. package/src/app/header/SearchBar.module.css +92 -0
  147. package/src/app/header/SearchBar.tsx +37 -0
  148. package/src/app/header/SearchModal.module.css +185 -0
  149. package/src/app/header/SearchModal.tsx +245 -0
  150. package/src/app/header/Topnav.module.css +37 -0
  151. package/src/app/header/Topnav.tsx +30 -0
  152. package/src/app/index.css +119 -0
  153. package/src/app/index.html +13 -0
  154. package/src/app/landing/LandingPage.module.css +14 -0
  155. package/src/app/landing/LandingPage.tsx +62 -0
  156. package/src/app/landing/button/Button.module.css +37 -0
  157. package/src/app/landing/button/Button.tsx +50 -0
  158. package/src/app/landing/hero/Hero.module.css +108 -0
  159. package/src/app/landing/hero/Hero.tsx +81 -0
  160. package/src/app/landing/section/Section.module.css +100 -0
  161. package/src/app/landing/section/Section.tsx +61 -0
  162. package/src/app/lang-utils.ts +11 -0
  163. package/src/app/main.tsx +67 -0
  164. package/src/app/not-found/NotFound.module.css +92 -0
  165. package/src/app/not-found/NotFound.tsx +34 -0
  166. package/src/app/routes.tsx +86 -0
  167. package/src/app/sidenav/Sidenav.module.css +239 -0
  168. package/src/app/sidenav/Sidenav.tsx +182 -0
  169. package/src/app/skeleton/Skeleton.module.css +100 -0
  170. package/src/app/skeleton/Skeleton.tsx +75 -0
  171. package/src/app/toc/Toc.module.css +59 -0
  172. package/src/app/toc/Toc.tsx +77 -0
  173. package/src/app/tsconfig.json +18 -0
  174. package/src/app/virtual-modules.d.ts +74 -0
  175. package/dist/assets/fonts/inter/Inter-Italic-VariableFont_opsz,wght.ttf +0 -0
  176. package/dist/assets/fonts/inter/Inter-VariableFont_opsz,wght.ttf +0 -0
  177. package/dist/assets/fonts/inter/OFL.txt +0 -93
  178. package/dist/build/Builder.d.ts +0 -92
  179. package/dist/build/Builder.d.ts.map +0 -1
  180. package/dist/build/Builder.js +0 -394
  181. package/dist/build/Builder.js.map +0 -1
  182. package/dist/build/ClientBundler.d.ts +0 -48
  183. package/dist/build/ClientBundler.d.ts.map +0 -1
  184. package/dist/build/ClientBundler.js +0 -169
  185. package/dist/build/ClientBundler.js.map +0 -1
  186. package/dist/build/HtmlGenerator.d.ts +0 -46
  187. package/dist/build/HtmlGenerator.d.ts.map +0 -1
  188. package/dist/build/HtmlGenerator.js +0 -190
  189. package/dist/build/HtmlGenerator.js.map +0 -1
  190. package/dist/build/SearchIndexer.d.ts +0 -31
  191. package/dist/build/SearchIndexer.d.ts.map +0 -1
  192. package/dist/build/SearchIndexer.js +0 -116
  193. package/dist/build/SearchIndexer.js.map +0 -1
  194. package/dist/bundles/client.js +0 -126
  195. package/dist/cli/create-app.d.ts +0 -14
  196. package/dist/cli/create-app.d.ts.map +0 -1
  197. package/dist/cli/create-app.js +0 -241
  198. package/dist/cli/create-app.js.map +0 -1
  199. package/dist/client/App.d.ts +0 -17
  200. package/dist/client/App.d.ts.map +0 -1
  201. package/dist/client/App.js +0 -91
  202. package/dist/client/App.js.map +0 -1
  203. package/dist/client/contexts/ConfigContext.d.ts +0 -22
  204. package/dist/client/contexts/ConfigContext.d.ts.map +0 -1
  205. package/dist/client/contexts/ConfigContext.js +0 -27
  206. package/dist/client/contexts/ConfigContext.js.map +0 -1
  207. package/dist/client/contexts/ContentContext.d.ts +0 -31
  208. package/dist/client/contexts/ContentContext.d.ts.map +0 -1
  209. package/dist/client/contexts/ContentContext.js +0 -46
  210. package/dist/client/contexts/ContentContext.js.map +0 -1
  211. package/dist/client/contexts/SearchContext.d.ts +0 -38
  212. package/dist/client/contexts/SearchContext.d.ts.map +0 -1
  213. package/dist/client/contexts/SearchContext.js +0 -185
  214. package/dist/client/contexts/SearchContext.js.map +0 -1
  215. package/dist/client/contexts/ThemeContext.d.ts +0 -23
  216. package/dist/client/contexts/ThemeContext.d.ts.map +0 -1
  217. package/dist/client/contexts/ThemeContext.js +0 -53
  218. package/dist/client/contexts/ThemeContext.js.map +0 -1
  219. package/dist/client/hooks/useContent.d.ts +0 -12
  220. package/dist/client/hooks/useContent.d.ts.map +0 -1
  221. package/dist/client/hooks/useContent.js +0 -74
  222. package/dist/client/hooks/useContent.js.map +0 -1
  223. package/dist/client/hooks/useNavigation.d.ts +0 -15
  224. package/dist/client/hooks/useNavigation.d.ts.map +0 -1
  225. package/dist/client/hooks/useNavigation.js +0 -101
  226. package/dist/client/hooks/useNavigation.js.map +0 -1
  227. package/dist/client/hooks/useSearch.d.ts +0 -22
  228. package/dist/client/hooks/useSearch.d.ts.map +0 -1
  229. package/dist/client/hooks/useSearch.js +0 -64
  230. package/dist/client/hooks/useSearch.js.map +0 -1
  231. package/dist/client/main.d.ts +0 -5
  232. package/dist/client/main.d.ts.map +0 -1
  233. package/dist/client/main.js +0 -66
  234. package/dist/client/main.js.map +0 -1
  235. package/dist/components/Callout.d.ts +0 -9
  236. package/dist/components/Callout.d.ts.map +0 -1
  237. package/dist/components/Callout.js +0 -24
  238. package/dist/components/Callout.js.map +0 -1
  239. package/dist/components/Card.d.ts +0 -10
  240. package/dist/components/Card.d.ts.map +0 -1
  241. package/dist/components/Card.js +0 -15
  242. package/dist/components/Card.js.map +0 -1
  243. package/dist/components/CardGrid.d.ts +0 -8
  244. package/dist/components/CardGrid.d.ts.map +0 -1
  245. package/dist/components/CardGrid.js +0 -9
  246. package/dist/components/CardGrid.js.map +0 -1
  247. package/dist/components/CodeBlock.d.ts +0 -28
  248. package/dist/components/CodeBlock.d.ts.map +0 -1
  249. package/dist/components/CodeBlock.js +0 -80
  250. package/dist/components/CodeBlock.js.map +0 -1
  251. package/dist/components/ContentPage.d.ts +0 -9
  252. package/dist/components/ContentPage.d.ts.map +0 -1
  253. package/dist/components/ContentPage.js +0 -102
  254. package/dist/components/ContentPage.js.map +0 -1
  255. package/dist/components/Header.d.ts +0 -14
  256. package/dist/components/Header.d.ts.map +0 -1
  257. package/dist/components/Header.js +0 -30
  258. package/dist/components/Header.js.map +0 -1
  259. package/dist/components/Heading.d.ts +0 -16
  260. package/dist/components/Heading.d.ts.map +0 -1
  261. package/dist/components/Heading.js +0 -31
  262. package/dist/components/Heading.js.map +0 -1
  263. package/dist/components/Image.d.ts +0 -8
  264. package/dist/components/Image.d.ts.map +0 -1
  265. package/dist/components/Image.js +0 -24
  266. package/dist/components/Image.js.map +0 -1
  267. package/dist/components/Layout.d.ts +0 -14
  268. package/dist/components/Layout.d.ts.map +0 -1
  269. package/dist/components/Layout.js +0 -32
  270. package/dist/components/Layout.js.map +0 -1
  271. package/dist/components/MarkdocRenderer.d.ts +0 -15
  272. package/dist/components/MarkdocRenderer.d.ts.map +0 -1
  273. package/dist/components/MarkdocRenderer.js +0 -73
  274. package/dist/components/MarkdocRenderer.js.map +0 -1
  275. package/dist/components/MobileMenu.d.ts +0 -14
  276. package/dist/components/MobileMenu.d.ts.map +0 -1
  277. package/dist/components/MobileMenu.js +0 -45
  278. package/dist/components/MobileMenu.js.map +0 -1
  279. package/dist/components/PageNavigation.d.ts +0 -9
  280. package/dist/components/PageNavigation.d.ts.map +0 -1
  281. package/dist/components/PageNavigation.js +0 -23
  282. package/dist/components/PageNavigation.js.map +0 -1
  283. package/dist/components/SearchModal.d.ts +0 -9
  284. package/dist/components/SearchModal.d.ts.map +0 -1
  285. package/dist/components/SearchModal.js +0 -74
  286. package/dist/components/SearchModal.js.map +0 -1
  287. package/dist/components/SideNav.d.ts +0 -9
  288. package/dist/components/SideNav.d.ts.map +0 -1
  289. package/dist/components/SideNav.js +0 -66
  290. package/dist/components/SideNav.js.map +0 -1
  291. package/dist/components/TableOfContents.d.ts +0 -10
  292. package/dist/components/TableOfContents.d.ts.map +0 -1
  293. package/dist/components/TableOfContents.js +0 -151
  294. package/dist/components/TableOfContents.js.map +0 -1
  295. package/dist/config/ConfigLoader.d.ts +0 -50
  296. package/dist/config/ConfigLoader.d.ts.map +0 -1
  297. package/dist/config/ConfigLoader.js +0 -214
  298. package/dist/config/ConfigLoader.js.map +0 -1
  299. package/dist/config/StyleCompiler.d.ts +0 -17
  300. package/dist/config/StyleCompiler.d.ts.map +0 -1
  301. package/dist/config/StyleCompiler.js +0 -116
  302. package/dist/config/StyleCompiler.js.map +0 -1
  303. package/dist/config/ThemeGenerator.d.ts +0 -14
  304. package/dist/config/ThemeGenerator.d.ts.map +0 -1
  305. package/dist/config/ThemeGenerator.js +0 -129
  306. package/dist/config/ThemeGenerator.js.map +0 -1
  307. package/dist/content/ContentLoader.d.ts +0 -70
  308. package/dist/content/ContentLoader.d.ts.map +0 -1
  309. package/dist/content/ContentLoader.js +0 -146
  310. package/dist/content/ContentLoader.js.map +0 -1
  311. package/dist/content/ContentProcessor.d.ts +0 -84
  312. package/dist/content/ContentProcessor.d.ts.map +0 -1
  313. package/dist/content/ContentProcessor.js +0 -380
  314. package/dist/content/ContentProcessor.js.map +0 -1
  315. package/dist/content/RouteManager.d.ts +0 -69
  316. package/dist/content/RouteManager.d.ts.map +0 -1
  317. package/dist/content/RouteManager.js +0 -143
  318. package/dist/content/RouteManager.js.map +0 -1
  319. package/dist/styles/components/callout.d.ts +0 -11
  320. package/dist/styles/components/callout.d.ts.map +0 -1
  321. package/dist/styles/components/callout.js +0 -87
  322. package/dist/styles/components/callout.js.map +0 -1
  323. package/dist/styles/components/card.d.ts +0 -11
  324. package/dist/styles/components/card.d.ts.map +0 -1
  325. package/dist/styles/components/card.js +0 -179
  326. package/dist/styles/components/card.js.map +0 -1
  327. package/dist/styles/components/codeblock.d.ts +0 -11
  328. package/dist/styles/components/codeblock.d.ts.map +0 -1
  329. package/dist/styles/components/codeblock.js +0 -251
  330. package/dist/styles/components/codeblock.js.map +0 -1
  331. package/dist/styles/components/content.d.ts +0 -11
  332. package/dist/styles/components/content.d.ts.map +0 -1
  333. package/dist/styles/components/content.js +0 -197
  334. package/dist/styles/components/content.js.map +0 -1
  335. package/dist/styles/components/fonts.d.ts +0 -11
  336. package/dist/styles/components/fonts.d.ts.map +0 -1
  337. package/dist/styles/components/fonts.js +0 -34
  338. package/dist/styles/components/fonts.js.map +0 -1
  339. package/dist/styles/components/header.d.ts +0 -11
  340. package/dist/styles/components/header.d.ts.map +0 -1
  341. package/dist/styles/components/header.js +0 -293
  342. package/dist/styles/components/header.js.map +0 -1
  343. package/dist/styles/components/heading.d.ts +0 -11
  344. package/dist/styles/components/heading.d.ts.map +0 -1
  345. package/dist/styles/components/heading.js +0 -115
  346. package/dist/styles/components/heading.js.map +0 -1
  347. package/dist/styles/components/layout.d.ts +0 -11
  348. package/dist/styles/components/layout.d.ts.map +0 -1
  349. package/dist/styles/components/layout.js +0 -79
  350. package/dist/styles/components/layout.js.map +0 -1
  351. package/dist/styles/components/mobilemenu.d.ts +0 -11
  352. package/dist/styles/components/mobilemenu.d.ts.map +0 -1
  353. package/dist/styles/components/mobilemenu.js +0 -112
  354. package/dist/styles/components/mobilemenu.js.map +0 -1
  355. package/dist/styles/components/reset.d.ts +0 -11
  356. package/dist/styles/components/reset.d.ts.map +0 -1
  357. package/dist/styles/components/reset.js +0 -131
  358. package/dist/styles/components/reset.js.map +0 -1
  359. package/dist/styles/components/searchmodal.d.ts +0 -11
  360. package/dist/styles/components/searchmodal.d.ts.map +0 -1
  361. package/dist/styles/components/searchmodal.js +0 -333
  362. package/dist/styles/components/searchmodal.js.map +0 -1
  363. package/dist/styles/components/sidenav.d.ts +0 -11
  364. package/dist/styles/components/sidenav.d.ts.map +0 -1
  365. package/dist/styles/components/sidenav.js +0 -212
  366. package/dist/styles/components/sidenav.js.map +0 -1
  367. package/dist/styles/components/toc.d.ts +0 -11
  368. package/dist/styles/components/toc.d.ts.map +0 -1
  369. package/dist/styles/components/toc.js +0 -120
  370. package/dist/styles/components/toc.js.map +0 -1
  371. package/dist/styles/components/typography.d.ts +0 -11
  372. package/dist/styles/components/typography.d.ts.map +0 -1
  373. package/dist/styles/components/typography.js +0 -248
  374. package/dist/styles/components/typography.js.map +0 -1
  375. package/dist/styles/components/utility.d.ts +0 -11
  376. package/dist/styles/components/utility.d.ts.map +0 -1
  377. package/dist/styles/components/utility.js +0 -231
  378. package/dist/styles/components/utility.js.map +0 -1
  379. package/dist/styles/types.d.ts +0 -79
  380. package/dist/styles/types.d.ts.map +0 -1
  381. package/dist/styles/types.js +0 -7
  382. package/dist/styles/types.js.map +0 -1
  383. package/dist/styles/utils.d.ts +0 -21
  384. package/dist/styles/utils.d.ts.map +0 -1
  385. package/dist/styles/utils.js +0 -50
  386. package/dist/styles/utils.js.map +0 -1
  387. package/dist/styles/variables/main.d.ts +0 -15
  388. package/dist/styles/variables/main.d.ts.map +0 -1
  389. package/dist/styles/variables/main.js +0 -116
  390. package/dist/styles/variables/main.js.map +0 -1
  391. package/dist/types/config.d.ts +0 -43
  392. package/dist/types/config.d.ts.map +0 -1
  393. package/dist/types/config.js +0 -7
  394. package/dist/types/config.js.map +0 -1
  395. package/dist/utils/language-utils.d.ts +0 -41
  396. package/dist/utils/language-utils.d.ts.map +0 -1
  397. package/dist/utils/language-utils.js +0 -79
  398. package/dist/utils/language-utils.js.map +0 -1
  399. package/dist/utils/slugify.d.ts +0 -20
  400. package/dist/utils/slugify.d.ts.map +0 -1
  401. package/dist/utils/slugify.js +0 -44
  402. package/dist/utils/slugify.js.map +0 -1
  403. package/templates/default/config/favicon.ico +0 -0
  404. package/templates/default/config/logo-dark.png +0 -0
  405. package/templates/default/config/logo.png +0 -0
  406. package/templates/default/config/sidenav.yaml +0 -36
  407. package/templates/default/config/site.json +0 -16
  408. package/templates/default/config/styles/main.json +0 -6
  409. package/templates/default/config/styles/typography.json +0 -6
  410. package/templates/default/content/en/changelog.md +0 -35
  411. package/templates/default/content/en/faq.md +0 -50
  412. package/templates/default/content/en/field-manual/engines.md +0 -59
  413. package/templates/default/content/en/field-manual/relativity.md +0 -46
  414. package/templates/default/content/en/field-manual/safety.md +0 -44
  415. package/templates/default/content/en/field-manual.md +0 -22
  416. package/templates/default/content/en/flight-school/navigation.md +0 -61
  417. package/templates/default/content/en/flight-school/primer.md +0 -64
  418. package/templates/default/content/en/flight-school.md +0 -48
  419. package/templates/default/content/en/index.md +0 -83
  420. package/templates/default/content/en/ship-systems/flux-sails.md +0 -33
  421. package/templates/default/content/en/ship-systems/photonic-core.md +0 -39
  422. package/templates/default/content/en/ship-systems.md +0 -25
  423. package/templates/default/package.json +0 -21
  424. package/templates/default/public/icons/academy.svg +0 -15
  425. package/templates/default/public/icons/manual.svg +0 -16
  426. package/templates/default/public/icons/relativity.svg +0 -16
  427. package/templates/default/public/icons/systems.svg +0 -14
  428. package/templates/default/public/icons/warning.svg +0 -14
  429. package/templates/default/public/images/flux-sails.svg +0 -33
  430. package/templates/default/public/images/photonic-core.svg +0 -44
  431. package/templates/default/public/images/starwake.svg +0 -49
@@ -1,66 +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
- const jsx_runtime_1 = require("react/jsx-runtime");
7
- /**
8
- * Client entry point - Hydrates the React app
9
- */
10
- const react_1 = __importDefault(require("react"));
11
- const client_1 = require("react-dom/client");
12
- const react_router_dom_1 = require("react-router-dom");
13
- const App_1 = __importDefault(require("./App"));
14
- /**
15
- * Read initial data from server-injected script tags
16
- */
17
- function getInitialData() {
18
- let siteConfig = null;
19
- let initialContent = null;
20
- // Get site config
21
- const configScript = document.getElementById('__SITE_CONFIG__');
22
- if (configScript && configScript.textContent) {
23
- try {
24
- siteConfig = JSON.parse(configScript.textContent);
25
- }
26
- catch (error) {
27
- console.error('Failed to parse site config:', error);
28
- }
29
- }
30
- // Get initial content data
31
- const contentScript = document.getElementById('__CONTENT_DATA__');
32
- if (contentScript && contentScript.textContent) {
33
- try {
34
- initialContent = JSON.parse(contentScript.textContent);
35
- }
36
- catch (error) {
37
- console.error('Failed to parse content data:', error);
38
- }
39
- }
40
- return { siteConfig, initialContent };
41
- }
42
- /**
43
- * Initialize and hydrate the app
44
- */
45
- function initializeApp() {
46
- const { siteConfig, initialContent } = getInitialData();
47
- if (!siteConfig) {
48
- console.error('Site config not found - cannot initialize app');
49
- return;
50
- }
51
- const rootElement = document.getElementById('root');
52
- if (!rootElement) {
53
- console.error('Root element not found');
54
- return;
55
- }
56
- // Hydrate the React app with BrowserRouter (client-side)
57
- (0, client_1.hydrateRoot)(rootElement, (0, jsx_runtime_1.jsx)(react_1.default.StrictMode, { children: (0, jsx_runtime_1.jsx)(react_router_dom_1.BrowserRouter, { children: (0, jsx_runtime_1.jsx)(App_1.default, { siteConfig: siteConfig, initialContent: initialContent, isServerRender: false }) }) }));
58
- }
59
- // Initialize when DOM is ready
60
- if (document.readyState === 'loading') {
61
- document.addEventListener('DOMContentLoaded', initializeApp);
62
- }
63
- else {
64
- initializeApp();
65
- }
66
- //# sourceMappingURL=main.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/client/main.tsx"],"names":[],"mappings":";;;;;;AAAA;;GAEG;AAEH,kDAA0B;AAC1B,6CAA+C;AAC/C,uDAAiD;AACjD,gDAAwB;AAIxB;;GAEG;AACH,SAAS,cAAc;IAIrB,IAAI,UAAU,GAAsB,IAAI,CAAC;IACzC,IAAI,cAAc,GAA4B,IAAI,CAAC;IAEnD,kBAAkB;IAClB,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAChE,IAAI,YAAY,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAe,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAClE,IAAI,aAAa,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAqB,CAAC;QAC7E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,SAAS,aAAa;IACpB,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAAC;IAExD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAEpD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,yDAAyD;IACzD,IAAA,oBAAW,EACT,WAAW,EACX,uBAAC,eAAK,CAAC,UAAU,cACf,uBAAC,gCAAa,cACZ,uBAAC,aAAG,IACF,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,KAAK,GACrB,GACY,GACC,CACpB,CAAC;AACJ,CAAC;AAED,+BAA+B;AAC/B,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;AAC/D,CAAC;KAAM,CAAC;IACN,aAAa,EAAE,CAAC;AAClB,CAAC"}
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- interface CalloutProps {
3
- type: 'note' | 'warning' | 'danger';
4
- title?: string;
5
- children: React.ReactNode;
6
- }
7
- export declare function Callout({ type, title, children }: CalloutProps): import("react/jsx-runtime").JSX.Element;
8
- export default Callout;
9
- //# sourceMappingURL=Callout.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Callout.d.ts","sourceRoot":"","sources":["../../src/components/Callout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,YAAY,2CAmF9D;AAED,eAAe,OAAO,CAAC"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Callout = Callout;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- function Callout({ type, title, children }) {
6
- const InfoIcon = () => ((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", className: "callout-icon", children: [(0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "10" }), (0, jsx_runtime_1.jsx)("path", { d: "M12 16v-4" }), (0, jsx_runtime_1.jsx)("path", { d: "M12 8h.01" })] }));
7
- const WarningIcon = () => ((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", className: "callout-icon", children: [(0, jsx_runtime_1.jsx)("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }), (0, jsx_runtime_1.jsx)("path", { d: "M12 9v4" }), (0, jsx_runtime_1.jsx)("path", { d: "M12 17h.01" })] }));
8
- const DangerIcon = () => ((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", className: "callout-icon", children: [(0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "10" }), (0, jsx_runtime_1.jsx)("path", { d: "m15 9-6 6" }), (0, jsx_runtime_1.jsx)("path", { d: "m9 9 6 6" })] }));
9
- const getIcon = () => {
10
- switch (type) {
11
- case 'warning':
12
- return (0, jsx_runtime_1.jsx)(WarningIcon, {});
13
- case 'danger':
14
- return (0, jsx_runtime_1.jsx)(DangerIcon, {});
15
- case 'note':
16
- default:
17
- return (0, jsx_runtime_1.jsx)(InfoIcon, {});
18
- }
19
- };
20
- const calloutClass = `callout callout-${type}`;
21
- return ((0, jsx_runtime_1.jsx)("div", { className: calloutClass, children: (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: '12px' }, children: [getIcon(), (0, jsx_runtime_1.jsxs)("div", { style: { flex: 1 }, children: [title && (0, jsx_runtime_1.jsx)("div", { className: "callout-title", children: title }), (0, jsx_runtime_1.jsx)("div", { className: "callout-body", children: children })] })] }) }));
22
- }
23
- exports.default = Callout;
24
- //# sourceMappingURL=Callout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Callout.js","sourceRoot":"","sources":["../../src/components/Callout.tsx"],"names":[],"mappings":";;AAQA,0BAmFC;;AAnFD,SAAgB,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAgB;IAC7D,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,CACrB,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,EACtB,SAAS,EAAC,cAAc,aAExB,mCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAU,EACxC,iCAAM,CAAC,EAAC,WAAW,GAAQ,EAC3B,iCAAM,CAAC,EAAC,WAAW,GAAQ,IACvB,CACP,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CACxB,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,EACtB,SAAS,EAAC,cAAc,aAExB,iCAAM,CAAC,EAAC,0EAA0E,GAAQ,EAC1F,iCAAM,CAAC,EAAC,SAAS,GAAQ,EACzB,iCAAM,CAAC,EAAC,YAAY,GAAQ,IACxB,CACP,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,CACvB,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,EACtB,SAAS,EAAC,cAAc,aAExB,mCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAU,EACxC,iCAAM,CAAC,EAAC,WAAW,GAAQ,EAC3B,iCAAM,CAAC,EAAC,UAAU,GAAQ,IACtB,CACP,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,SAAS;gBACZ,OAAO,uBAAC,WAAW,KAAG,CAAC;YACzB,KAAK,QAAQ;gBACX,OAAO,uBAAC,UAAU,KAAG,CAAC;YACxB,KAAK,MAAM,CAAC;YACZ;gBACE,OAAO,uBAAC,QAAQ,KAAG,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,mBAAmB,IAAI,EAAE,CAAC;IAE/C,OAAO,CACL,gCAAK,SAAS,EAAE,YAAY,YAC1B,iCAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,aACzC,OAAO,EAAE,EACV,iCAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,aACpB,KAAK,IAAI,gCAAK,SAAS,EAAC,eAAe,YAAE,KAAK,GAAO,EACtD,gCAAK,SAAS,EAAC,cAAc,YAAE,QAAQ,GAAO,IAC1C,IACF,GACF,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,OAAO,CAAC"}
@@ -1,10 +0,0 @@
1
- import React from 'react';
2
- interface CardProps {
3
- title: string;
4
- href?: string;
5
- icon?: string;
6
- children: React.ReactNode;
7
- }
8
- export declare function Card({ title, href, icon, children }: CardProps): import("react/jsx-runtime").JSX.Element;
9
- export default Card;
10
- //# sourceMappingURL=Card.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../src/components/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,SAAS,2CAkE9D;AAED,eAAe,IAAI,CAAC"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Card = Card;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- function Card({ title, href, icon, children }) {
6
- const ArrowIcon = () => ((0, jsx_runtime_1.jsxs)("svg", { className: "card-arrow", xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [(0, jsx_runtime_1.jsx)("path", { d: "M5 12h14" }), (0, jsx_runtime_1.jsx)("path", { d: "m12 5 7 7-7 7" })] }));
7
- const content = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [icon && ((0, jsx_runtime_1.jsxs)("div", { className: "card-icon", children: [(0, jsx_runtime_1.jsx)("img", { src: icon, alt: "", className: "card-icon-img", loading: "lazy" }), (0, jsx_runtime_1.jsxs)("div", { className: "card-content", children: [(0, jsx_runtime_1.jsxs)("h3", { className: "card-title", children: [(0, jsx_runtime_1.jsx)("span", { children: title }), href && (0, jsx_runtime_1.jsx)(ArrowIcon, {})] }), (0, jsx_runtime_1.jsx)("div", { className: "card-description", children: children })] })] })), !icon && ((0, jsx_runtime_1.jsxs)("div", { className: "card-content", children: [(0, jsx_runtime_1.jsxs)("h3", { className: "card-title", children: [(0, jsx_runtime_1.jsx)("span", { children: title }), href && (0, jsx_runtime_1.jsx)(ArrowIcon, {})] }), (0, jsx_runtime_1.jsx)("div", { className: "card-description", children: children })] }))] }));
8
- if (href) {
9
- const isExternal = href.startsWith('http://') || href.startsWith('https://');
10
- return ((0, jsx_runtime_1.jsx)("a", { href: href, className: "card card-link", target: isExternal ? '_blank' : undefined, rel: isExternal ? 'noopener noreferrer' : undefined, children: content }));
11
- }
12
- return (0, jsx_runtime_1.jsx)("div", { className: "card", children: content });
13
- }
14
- exports.default = Card;
15
- //# sourceMappingURL=Card.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Card.js","sourceRoot":"","sources":["../../src/components/Card.tsx"],"names":[],"mappings":";;AASA,oBAkEC;;AAlED,SAAgB,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAa;IAC7D,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CACtB,iCACE,SAAS,EAAC,YAAY,EACtB,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,iBACV,MAAM,aAElB,iCAAM,CAAC,EAAC,UAAU,GAAG,EACrB,iCAAM,CAAC,EAAC,eAAe,GAAG,IACtB,CACP,CAAC;IAEF,MAAM,OAAO,GAAG,CACd,6DACG,IAAI,IAAI,CACP,iCAAK,SAAS,EAAC,WAAW,aACxB,gCACE,GAAG,EAAE,IAAI,EACT,GAAG,EAAC,EAAE,EACN,SAAS,EAAC,eAAe,EACzB,OAAO,EAAC,MAAM,GACd,EACF,iCAAK,SAAS,EAAC,cAAc,aAC3B,gCAAI,SAAS,EAAC,YAAY,aACxB,2CAAO,KAAK,GAAQ,EACnB,IAAI,IAAI,uBAAC,SAAS,KAAG,IACnB,EACL,gCAAK,SAAS,EAAC,kBAAkB,YAAE,QAAQ,GAAO,IAC9C,IACF,CACP,EACA,CAAC,IAAI,IAAI,CACR,iCAAK,SAAS,EAAC,cAAc,aAC3B,gCAAI,SAAS,EAAC,YAAY,aACxB,2CAAO,KAAK,GAAQ,EACnB,IAAI,IAAI,uBAAC,SAAS,KAAG,IACnB,EACL,gCAAK,SAAS,EAAC,kBAAkB,YAAE,QAAQ,GAAO,IAC9C,CACP,IACA,CACJ,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC7E,OAAO,CACL,8BACE,IAAI,EAAE,IAAI,EACV,SAAS,EAAC,gBAAgB,EAC1B,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACzC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,YAElD,OAAO,GACN,CACL,CAAC;IACJ,CAAC;IAED,OAAO,gCAAK,SAAS,EAAC,MAAM,YAAE,OAAO,GAAO,CAAC;AAC/C,CAAC;AAED,kBAAe,IAAI,CAAC"}
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- interface CardGridProps {
3
- cols?: number;
4
- children: React.ReactNode;
5
- }
6
- export declare function CardGrid({ cols, children }: CardGridProps): import("react/jsx-runtime").JSX.Element;
7
- export default CardGrid;
8
- //# sourceMappingURL=CardGrid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CardGrid.d.ts","sourceRoot":"","sources":["../../src/components/CardGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAQ,EAAE,QAAQ,EAAE,EAAE,aAAa,2CAM7D;AAED,eAAe,QAAQ,CAAC"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CardGrid = CardGrid;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- function CardGrid({ cols = 2, children }) {
6
- return ((0, jsx_runtime_1.jsx)("div", { className: "card-grid", "data-cols": cols, children: children }));
7
- }
8
- exports.default = CardGrid;
9
- //# sourceMappingURL=CardGrid.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CardGrid.js","sourceRoot":"","sources":["../../src/components/CardGrid.tsx"],"names":[],"mappings":";;AAOA,4BAMC;;AAND,SAAgB,QAAQ,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAiB;IAC5D,OAAO,CACL,gCAAK,SAAS,EAAC,WAAW,eAAY,IAAI,YACvC,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,QAAQ,CAAC"}
@@ -1,28 +0,0 @@
1
- /**
2
- * CodeBlock - Syntax-highlighted code block component with copy button
3
- * Uses Prism.js for synchronous highlighting (works in both SSR and client)
4
- */
5
- import React from 'react';
6
- import 'prismjs/components/prism-javascript';
7
- import 'prismjs/components/prism-typescript';
8
- import 'prismjs/components/prism-markup';
9
- import 'prismjs/components/prism-css';
10
- import 'prismjs/components/prism-json';
11
- import 'prismjs/components/prism-yaml';
12
- import 'prismjs/components/prism-bash';
13
- import 'prismjs/components/prism-markdown';
14
- import 'prismjs/components/prism-jsx';
15
- import 'prismjs/components/prism-tsx';
16
- import 'prismjs/components/prism-diff';
17
- import 'prismjs/components/prism-sql';
18
- interface CodeBlockProps {
19
- language?: string;
20
- content?: string;
21
- children?: React.ReactNode;
22
- }
23
- /**
24
- * Syntax-highlighted code block component with language label and copy button
25
- */
26
- export declare function CodeBlock({ language, content, children }: CodeBlockProps): import("react/jsx-runtime").JSX.Element;
27
- export default CodeBlock;
28
- //# sourceMappingURL=CodeBlock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CodeBlock.d.ts","sourceRoot":"","sources":["../../src/components/CodeBlock.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,qCAAqC,CAAC;AAC7C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,iCAAiC,CAAC;AACzC,OAAO,8BAA8B,CAAC;AACtC,OAAO,+BAA+B,CAAC;AACvC,OAAO,+BAA+B,CAAC;AACvC,OAAO,+BAA+B,CAAC;AACvC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,8BAA8B,CAAC;AACtC,OAAO,8BAA8B,CAAC;AACtC,OAAO,+BAA+B,CAAC;AACvC,OAAO,8BAA8B,CAAC;AAEtC,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,QAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,cAAc,2CAkG7E;AAED,eAAe,SAAS,CAAC"}
@@ -1,80 +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.CodeBlock = CodeBlock;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- /**
9
- * CodeBlock - Syntax-highlighted code block component with copy button
10
- * Uses Prism.js for synchronous highlighting (works in both SSR and client)
11
- */
12
- const react_1 = require("react");
13
- const prismjs_1 = __importDefault(require("prismjs"));
14
- // Import language grammars
15
- require("prismjs/components/prism-javascript");
16
- require("prismjs/components/prism-typescript");
17
- require("prismjs/components/prism-markup");
18
- require("prismjs/components/prism-css");
19
- require("prismjs/components/prism-json");
20
- require("prismjs/components/prism-yaml");
21
- require("prismjs/components/prism-bash");
22
- require("prismjs/components/prism-markdown");
23
- require("prismjs/components/prism-jsx");
24
- require("prismjs/components/prism-tsx");
25
- require("prismjs/components/prism-diff");
26
- require("prismjs/components/prism-sql");
27
- /**
28
- * Syntax-highlighted code block component with language label and copy button
29
- */
30
- function CodeBlock({ language = '', content, children }) {
31
- const [copied, setCopied] = (0, react_1.useState)(false);
32
- // Get code content
33
- const code = (content || String(children || '')).trim();
34
- if (!code) {
35
- return (0, jsx_runtime_1.jsx)("pre", { children: (0, jsx_runtime_1.jsx)("code", { "data-pagefind-ignore": true }) });
36
- }
37
- // Check if language is specified
38
- const hasLanguage = language && language.trim().length > 0;
39
- // If no language, render plain code block without header
40
- if (!hasLanguage) {
41
- return ((0, jsx_runtime_1.jsx)("pre", { children: (0, jsx_runtime_1.jsx)("code", { "data-pagefind-ignore": true, children: code }) }));
42
- }
43
- // Normalize language name
44
- const lang = language.toLowerCase();
45
- const normalizedLang = lang === 'html' ? 'markup' :
46
- lang === 'js' ? 'javascript' :
47
- lang === 'ts' ? 'typescript' :
48
- lang === 'sh' ? 'bash' : lang;
49
- // Get display name for language
50
- const displayLang = normalizedLang === 'markup' ? 'HTML' :
51
- normalizedLang.charAt(0).toUpperCase() + normalizedLang.slice(1);
52
- // Check if language is supported
53
- const grammar = prismjs_1.default.languages[normalizedLang];
54
- // Highlight code
55
- const highlightedHtml = grammar
56
- ? prismjs_1.default.highlight(code, grammar, normalizedLang)
57
- : code;
58
- // Copy to clipboard handler
59
- const handleCopy = async () => {
60
- // Skip on server-side
61
- if (typeof window === 'undefined' || typeof navigator === 'undefined') {
62
- return;
63
- }
64
- try {
65
- await navigator.clipboard.writeText(code);
66
- setCopied(true);
67
- setTimeout(() => setCopied(false), 2000);
68
- }
69
- catch (err) {
70
- console.error('Failed to copy code:', err);
71
- }
72
- };
73
- return ((0, jsx_runtime_1.jsxs)("div", { className: "code-block-wrapper", children: [(0, jsx_runtime_1.jsxs)("div", { className: "code-block-header", children: [(0, jsx_runtime_1.jsx)("span", { className: "code-block-language", children: displayLang }), (0, jsx_runtime_1.jsx)("button", { className: "code-block-copy", onClick: handleCopy, "aria-label": "Copy code", type: "button", children: copied ? (
74
- // Checkmark icon (when copied)
75
- (0, jsx_runtime_1.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: (0, jsx_runtime_1.jsx)("path", { d: "M20 6L9 17L4 12", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) })) : (
76
- // Copy icon (default state)
77
- (0, jsx_runtime_1.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: (0, jsx_runtime_1.jsx)("path", { d: "M12.7587 2H16.2413C17.0463 1.99999 17.7106 1.99998 18.2518 2.04419C18.8139 2.09012 19.3306 2.18868 19.816 2.43597C20.5686 2.81947 21.1805 3.43139 21.564 4.18404C21.8113 4.66937 21.9099 5.18608 21.9558 5.74817C22 6.28936 22 6.95372 22 7.75868V11.2413C22 12.0463 22 12.7106 21.9558 13.2518C21.9099 13.8139 21.8113 14.3306 21.564 14.816C21.1805 15.5686 20.5686 16.1805 19.816 16.564C19.3306 16.8113 18.8139 16.9099 18.2518 16.9558C17.8906 16.9853 17.4745 16.9951 16.9984 16.9984C16.9951 17.4745 16.9853 17.8906 16.9558 18.2518C16.9099 18.8139 16.8113 19.3306 16.564 19.816C16.1805 20.5686 15.5686 21.1805 14.816 21.564C14.3306 21.8113 13.8139 21.9099 13.2518 21.9558C12.7106 22 12.0463 22 11.2413 22H7.75868C6.95372 22 6.28936 22 5.74818 21.9558C5.18608 21.9099 4.66937 21.8113 4.18404 21.564C3.43139 21.1805 2.81947 20.5686 2.43597 19.816C2.18868 19.3306 2.09012 18.8139 2.04419 18.2518C1.99998 17.7106 1.99999 17.0463 2 16.2413V12.7587C1.99999 11.9537 1.99998 11.2894 2.04419 10.7482C2.09012 10.1861 2.18868 9.66937 2.43597 9.18404C2.81947 8.43139 3.43139 7.81947 4.18404 7.43598C4.66937 7.18868 5.18608 7.09012 5.74817 7.04419C6.10939 7.01468 6.52548 7.00487 7.00162 7.00162C7.00487 6.52548 7.01468 6.10939 7.04419 5.74817C7.09012 5.18608 7.18868 4.66937 7.43598 4.18404C7.81947 3.43139 8.43139 2.81947 9.18404 2.43597C9.66937 2.18868 10.1861 2.09012 10.7482 2.04419C11.2894 1.99998 11.9537 1.99999 12.7587 2ZM9.00176 7L11.2413 7C12.0463 6.99999 12.7106 6.99998 13.2518 7.04419C13.8139 7.09012 14.3306 7.18868 14.816 7.43598C15.5686 7.81947 16.1805 8.43139 16.564 9.18404C16.8113 9.66937 16.9099 10.1861 16.9558 10.7482C17 11.2894 17 11.9537 17 12.7587V14.9982C17.4455 14.9951 17.7954 14.9864 18.089 14.9624C18.5274 14.9266 18.7516 14.8617 18.908 14.782C19.2843 14.5903 19.5903 14.2843 19.782 13.908C19.8617 13.7516 19.9266 13.5274 19.9624 13.089C19.9992 12.6389 20 12.0566 20 11.2V7.8C20 6.94342 19.9992 6.36113 19.9624 5.91104C19.9266 5.47262 19.8617 5.24842 19.782 5.09202C19.5903 4.7157 19.2843 4.40973 18.908 4.21799C18.7516 4.1383 18.5274 4.07337 18.089 4.03755C17.6389 4.00078 17.0566 4 16.2 4H12.8C11.9434 4 11.3611 4.00078 10.911 4.03755C10.4726 4.07337 10.2484 4.1383 10.092 4.21799C9.7157 4.40973 9.40973 4.7157 9.21799 5.09202C9.1383 5.24842 9.07337 5.47262 9.03755 5.91104C9.01357 6.20463 9.00489 6.55447 9.00176 7ZM5.91104 9.03755C5.47262 9.07337 5.24842 9.1383 5.09202 9.21799C4.7157 9.40973 4.40973 9.7157 4.21799 10.092C4.1383 10.2484 4.07337 10.4726 4.03755 10.911C4.00078 11.3611 4 11.9434 4 12.8V16.2C4 17.0566 4.00078 17.6389 4.03755 18.089C4.07337 18.5274 4.1383 18.7516 4.21799 18.908C4.40973 19.2843 4.7157 19.5903 5.09202 19.782C5.24842 19.8617 5.47262 19.9266 5.91104 19.9624C6.36113 19.9992 6.94342 20 7.8 20H11.2C12.0566 20 12.6389 19.9992 13.089 19.9624C13.5274 19.9266 13.7516 19.8617 13.908 19.782C14.2843 19.5903 14.5903 19.2843 14.782 18.908C14.8617 18.7516 14.9266 18.5274 14.9624 18.089C14.9992 17.6389 15 17.0566 15 16.2V12.8C15 11.9434 14.9992 11.3611 14.9624 10.911C14.9266 10.4726 14.8617 10.2484 14.782 10.092C14.5903 9.7157 14.2843 9.40973 13.908 9.21799C13.7516 9.1383 13.5274 9.07337 13.089 9.03755C12.6389 9.00078 12.0566 9 11.2 9H7.8C6.94342 9 6.36113 9.00078 5.91104 9.03755Z", fill: "currentColor" }) })) })] }), (0, jsx_runtime_1.jsx)("pre", { className: `language-${normalizedLang}`, children: (0, jsx_runtime_1.jsx)("code", { className: `language-${normalizedLang}`, "data-pagefind-ignore": true, dangerouslySetInnerHTML: { __html: highlightedHtml } }) })] }));
78
- }
79
- exports.default = CodeBlock;
80
- //# sourceMappingURL=CodeBlock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CodeBlock.js","sourceRoot":"","sources":["../../src/components/CodeBlock.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * ContentPage - Main content page component
3
- */
4
- /**
5
- * Content page component - displays documentation page
6
- */
7
- export declare function ContentPage(): import("react/jsx-runtime").JSX.Element;
8
- export default ContentPage;
9
- //# sourceMappingURL=ContentPage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContentPage.d.ts","sourceRoot":"","sources":["../../src/components/ContentPage.tsx"],"names":[],"mappings":"AAAA;;GAEG;AASH;;GAEG;AACH,wBAAgB,WAAW,4CAiM1B;AAED,eAAe,WAAW,CAAC"}
@@ -1,102 +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.ContentPage = ContentPage;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- /**
9
- * ContentPage - Main content page component
10
- */
11
- const react_1 = require("react");
12
- const ContentContext_1 = require("../client/contexts/ContentContext");
13
- const MarkdocRenderer_1 = __importDefault(require("./MarkdocRenderer"));
14
- const TableOfContents_1 = __importDefault(require("./TableOfContents"));
15
- const PageNavigation_1 = __importDefault(require("./PageNavigation"));
16
- const ConfigContext_1 = require("../client/contexts/ConfigContext");
17
- /**
18
- * Content page component - displays documentation page
19
- */
20
- function ContentPage() {
21
- const { currentContent, isLoading, error } = (0, ContentContext_1.useContent)();
22
- const { config } = (0, ConfigContext_1.useConfig)();
23
- // Update document title and meta tags when content changes
24
- (0, react_1.useEffect)(() => {
25
- if (currentContent) {
26
- const { frontmatter } = currentContent.metadata;
27
- const title = `${frontmatter.title} | ${config.metadata.title}`;
28
- const description = frontmatter.description || config.metadata.description || '';
29
- const currentUrl = window.location.href;
30
- // Update document title
31
- document.title = title;
32
- // Helper to update or create a meta tag
33
- const updateMetaTag = (selector, attribute, content) => {
34
- let metaTag = document.querySelector(selector);
35
- if (!metaTag) {
36
- metaTag = document.createElement('meta');
37
- const match = selector.match(/\[(.+?)="(.+?)"\]/);
38
- if (match) {
39
- const [, attrName, attrValue] = match;
40
- metaTag.setAttribute(attrName, attrValue);
41
- }
42
- document.head.appendChild(metaTag);
43
- }
44
- metaTag.setAttribute(attribute, content);
45
- };
46
- // Helper to update or create a link tag
47
- const updateLinkTag = (rel, href) => {
48
- let linkTag = document.querySelector(`link[rel="${rel}"]`);
49
- if (!linkTag) {
50
- linkTag = document.createElement('link');
51
- linkTag.rel = rel;
52
- document.head.appendChild(linkTag);
53
- }
54
- linkTag.href = href;
55
- };
56
- // Update description
57
- if (description) {
58
- updateMetaTag('meta[name="description"]', 'content', description);
59
- }
60
- // Update author
61
- if (frontmatter.author) {
62
- updateMetaTag('meta[name="author"]', 'content', frontmatter.author);
63
- }
64
- // Update keywords
65
- const keywords = frontmatter.tags || config.metadata.keywords;
66
- if (keywords && keywords.length > 0) {
67
- const keywordsString = Array.isArray(keywords) ? keywords.join(', ') : keywords;
68
- updateMetaTag('meta[name="keywords"]', 'content', keywordsString);
69
- }
70
- // Update Open Graph tags
71
- updateMetaTag('meta[property="og:title"]', 'content', frontmatter.title);
72
- if (description) {
73
- updateMetaTag('meta[property="og:description"]', 'content', description);
74
- }
75
- updateMetaTag('meta[property="og:url"]', 'content', currentUrl);
76
- // Update Twitter Card tags
77
- updateMetaTag('meta[name="twitter:title"]', 'content', frontmatter.title);
78
- if (description) {
79
- updateMetaTag('meta[name="twitter:description"]', 'content', description);
80
- }
81
- // Update canonical URL
82
- updateLinkTag('canonical', currentUrl);
83
- }
84
- }, [currentContent, config.metadata.title, config.metadata.description, config.metadata.keywords]);
85
- // Loading state
86
- if (isLoading) {
87
- return ((0, jsx_runtime_1.jsx)("div", { className: "content-page", children: (0, jsx_runtime_1.jsx)("div", { className: "content-loading", children: (0, jsx_runtime_1.jsx)("p", { children: "Loading..." }) }) }));
88
- }
89
- // Error state
90
- if (error) {
91
- return ((0, jsx_runtime_1.jsx)("div", { className: "content-page", children: (0, jsx_runtime_1.jsxs)("div", { className: "content-error", children: [(0, jsx_runtime_1.jsx)("h1", { children: "Error" }), (0, jsx_runtime_1.jsx)("p", { children: error.message })] }) }));
92
- }
93
- // No content state
94
- if (!currentContent) {
95
- return ((0, jsx_runtime_1.jsx)("div", { className: "content-page", children: (0, jsx_runtime_1.jsxs)("div", { className: "content-empty", children: [(0, jsx_runtime_1.jsx)("h1", { children: "Page Not Found" }), (0, jsx_runtime_1.jsx)("p", { children: "The page you're looking for doesn't exist." })] }) }));
96
- }
97
- const { metadata, renderable } = currentContent;
98
- const { frontmatter, toc, wordCount, readingTime } = metadata;
99
- return ((0, jsx_runtime_1.jsx)("div", { className: "content-page", children: (0, jsx_runtime_1.jsxs)("div", { className: "content-wrapper", children: [(0, jsx_runtime_1.jsxs)("article", { className: "content-article", children: [(0, jsx_runtime_1.jsxs)("div", { "data-pagefind-body": true, children: [(0, jsx_runtime_1.jsxs)("header", { className: "content-header", children: [(0, jsx_runtime_1.jsx)("h1", { className: "content-title", "data-pagefind-weight": "10", children: frontmatter.title }), frontmatter.description && ((0, jsx_runtime_1.jsx)("p", { className: "content-description", children: frontmatter.description })), (0, jsx_runtime_1.jsxs)("div", { className: "content-meta", "data-pagefind-ignore": true, children: [readingTime > 0 && ((0, jsx_runtime_1.jsxs)("span", { className: "content-meta-item", children: [readingTime, " min read"] })), frontmatter.author && ((0, jsx_runtime_1.jsxs)("span", { className: "content-meta-item", children: ["By ", frontmatter.author] })), frontmatter.date && ((0, jsx_runtime_1.jsx)("span", { className: "content-meta-item", children: new Date(frontmatter.date).toLocaleDateString() }))] }), frontmatter.tags && frontmatter.tags.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: "content-tags", children: frontmatter.tags.map((tag, index) => ((0, jsx_runtime_1.jsx)("span", { className: "content-tag", children: tag }, index))) }))] }), (0, jsx_runtime_1.jsx)("div", { className: "content-body", children: (0, jsx_runtime_1.jsx)(MarkdocRenderer_1.default, { content: renderable }) })] }), (0, jsx_runtime_1.jsxs)("footer", { className: "content-footer", children: [(0, jsx_runtime_1.jsx)(PageNavigation_1.default, {}), (0, jsx_runtime_1.jsxs)("div", { className: "content-footer-info", children: [(0, jsx_runtime_1.jsxs)("p", { className: "content-footer-text", children: ["\u00A9 ", new Date().getFullYear(), " ", config.metadata.title] }), (0, jsx_runtime_1.jsxs)("p", { className: "content-footer-powered", children: ["Powered by ", (0, jsx_runtime_1.jsx)("a", { href: "https://www.mordoc.dev/", target: "_blank", rel: "noopener noreferrer", children: "Mordoc" })] })] })] })] }), toc && toc.length > 0 && ((0, jsx_runtime_1.jsx)("aside", { className: "content-toc", children: (0, jsx_runtime_1.jsx)(TableOfContents_1.default, { toc: toc }) }))] }) }));
100
- }
101
- exports.default = ContentPage;
102
- //# sourceMappingURL=ContentPage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContentPage.js","sourceRoot":"","sources":["../../src/components/ContentPage.tsx"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Header - Site header with logo and navigation
3
- */
4
- interface HeaderProps {
5
- onMobileMenuToggle?: () => void;
6
- showMobileMenu?: boolean;
7
- }
8
- /**
9
- * Site header component
10
- * Two-row layout: top row with logo/search/actions, optional bottom row with navigation
11
- */
12
- export declare function Header({ onMobileMenuToggle, showMobileMenu }: HeaderProps): import("react/jsx-runtime").JSX.Element;
13
- export default Header;
14
- //# sourceMappingURL=Header.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../src/components/Header.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAQH,UAAU,WAAW;IACnB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,kBAAkB,EAAE,cAAsB,EAAE,EAAE,WAAW,2CAqLjF;AAED,eAAe,MAAM,CAAC"}
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Header = Header;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- /**
6
- * Header - Site header with logo and navigation
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
- const useSearch_1 = require("../client/hooks/useSearch");
12
- const ThemeContext_1 = require("../client/contexts/ThemeContext");
13
- /**
14
- * Site header component
15
- * Two-row layout: top row with logo/search/actions, optional bottom row with navigation
16
- */
17
- function Header({ onMobileMenuToggle, showMobileMenu = false }) {
18
- const { config } = (0, ConfigContext_1.useConfig)();
19
- const { openSearch } = (0, useSearch_1.useSearch)();
20
- const { theme, toggleTheme } = (0, ThemeContext_1.useTheme)();
21
- // Track if component has hydrated to avoid SSR mismatch
22
- const [isHydrated, setIsHydrated] = (0, react_1.useState)(false);
23
- (0, react_1.useEffect)(() => {
24
- setIsHydrated(true);
25
- }, []);
26
- const hasTopNav = config.navigation.topnav && config.navigation.topnav.length > 0;
27
- return ((0, jsx_runtime_1.jsxs)("header", { className: `site-header ${hasTopNav ? 'has-nav' : 'no-nav'}`, children: [(0, jsx_runtime_1.jsx)("div", { className: "header-top", children: (0, jsx_runtime_1.jsxs)("div", { className: "header-container", children: [showMobileMenu && onMobileMenuToggle && ((0, jsx_runtime_1.jsx)("button", { className: "mobile-menu-button", onClick: onMobileMenuToggle, "aria-label": "Open navigation 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: "4", x2: "20", y1: "12", y2: "12" }), (0, jsx_runtime_1.jsx)("line", { x1: "4", x2: "20", y1: "6", y2: "6" }), (0, jsx_runtime_1.jsx)("line", { x1: "4", x2: "20", y1: "18", y2: "18" })] }) })), (0, jsx_runtime_1.jsx)("div", { className: "header-brand", children: (0, jsx_runtime_1.jsx)(react_router_dom_1.Link, { to: "/", className: "header-logo-link", children: config.assets.logo ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("img", { src: `/assets/${config.assets.logo}`, alt: config.metadata.title, className: "header-logo header-logo-light" }), (0, jsx_runtime_1.jsx)("img", { src: `/assets/${config.assets.logoDark || config.assets.logo}`, alt: config.metadata.title, className: "header-logo header-logo-dark" })] })) : ((0, jsx_runtime_1.jsx)("span", { className: "header-title", children: config.metadata.title })) }) }), (0, jsx_runtime_1.jsx)("div", { className: "header-search", children: (0, jsx_runtime_1.jsxs)("button", { className: "header-search-button", onClick: openSearch, "aria-label": "Open search", children: [(0, jsx_runtime_1.jsxs)("svg", { className: "search-icon", xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", 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)("span", { className: "search-text", children: "Search..." }), (0, jsx_runtime_1.jsx)("span", { className: "search-shortcut", children: "Ctrl K" })] }) }), (0, jsx_runtime_1.jsx)("div", { className: "header-actions", children: (0, jsx_runtime_1.jsx)("button", { className: "theme-toggle", onClick: toggleTheme, "aria-label": `Switch to ${theme === 'light' ? 'dark' : 'light'} mode`, title: `Switch to ${theme === 'light' ? 'dark' : 'light'} mode`, children: theme === 'light' ? ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "theme-icon", children: (0, jsx_runtime_1.jsx)("path", { d: "M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z" }) })) : ((0, jsx_runtime_1.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "theme-icon", children: [(0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "4" }), (0, jsx_runtime_1.jsx)("path", { d: "M12 2v2" }), (0, jsx_runtime_1.jsx)("path", { d: "M12 20v2" }), (0, jsx_runtime_1.jsx)("path", { d: "m4.93 4.93 1.41 1.41" }), (0, jsx_runtime_1.jsx)("path", { d: "m17.66 17.66 1.41 1.41" }), (0, jsx_runtime_1.jsx)("path", { d: "M2 12h2" }), (0, jsx_runtime_1.jsx)("path", { d: "M20 12h2" }), (0, jsx_runtime_1.jsx)("path", { d: "m6.34 17.66-1.41 1.41" }), (0, jsx_runtime_1.jsx)("path", { d: "m19.07 4.93-1.41 1.41" })] })) }) })] }) }), hasTopNav && ((0, jsx_runtime_1.jsx)("div", { className: "header-bottom", children: (0, jsx_runtime_1.jsx)("div", { className: "header-container", children: (0, jsx_runtime_1.jsx)("nav", { className: "header-nav", children: (0, jsx_runtime_1.jsx)("ul", { className: "header-nav-list", children: config.navigation.topnav.map((item, index) => ((0, jsx_runtime_1.jsx)("li", { className: "header-nav-item", children: item.path ? (item.external ? ((0, jsx_runtime_1.jsx)("a", { href: item.path, className: "header-nav-link", target: "_blank", rel: "noopener noreferrer", children: item.label })) : ((0, jsx_runtime_1.jsx)(react_router_dom_1.Link, { to: item.path, className: "header-nav-link", children: item.label }))) : ((0, jsx_runtime_1.jsx)("span", { className: "header-nav-label", children: item.label })) }, index))) }) }) }) }))] }));
28
- }
29
- exports.default = Header;
30
- //# sourceMappingURL=Header.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/components/Header.tsx"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- /**
2
- * Heading - Heading component with anchor link copy functionality
3
- */
4
- import React from 'react';
5
- interface HeadingProps {
6
- level: 1 | 2 | 3 | 4 | 5 | 6;
7
- id?: string;
8
- children: React.ReactNode;
9
- [key: string]: any;
10
- }
11
- /**
12
- * Heading component with copy link icon
13
- */
14
- export declare function Heading({ level, id, children, ...props }: HeadingProps): import("react/jsx-runtime").JSX.Element;
15
- export default Heading;
16
- //# sourceMappingURL=Heading.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Heading.d.ts","sourceRoot":"","sources":["../../src/components/Heading.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,UAAU,YAAY;IACpB,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CA+CtE;AAED,eAAe,OAAO,CAAC"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Heading = Heading;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- /**
6
- * Heading - Heading component with anchor link copy functionality
7
- */
8
- const react_1 = require("react");
9
- /**
10
- * Heading component with copy link icon
11
- */
12
- function Heading({ level, id, children, ...props }) {
13
- const [showCopied, setShowCopied] = (0, react_1.useState)(false);
14
- const Tag = `h${level}`;
15
- const handleCopyLink = async (e) => {
16
- if (!id)
17
- return;
18
- const url = `${window.location.origin}${window.location.pathname}#${id}`;
19
- try {
20
- await navigator.clipboard.writeText(url);
21
- setShowCopied(true);
22
- setTimeout(() => setShowCopied(false), 2000);
23
- }
24
- catch (err) {
25
- console.error('Failed to copy link:', err);
26
- }
27
- };
28
- return ((0, jsx_runtime_1.jsxs)(Tag, { id: id, className: "heading-with-anchor", ...props, children: [children, id && ((0, jsx_runtime_1.jsxs)("a", { href: `#${id}`, className: "heading-anchor-link", onClick: handleCopyLink, "aria-label": "Link to this heading", title: "Copy link to heading", children: [(0, jsx_runtime_1.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: (0, jsx_runtime_1.jsx)("path", { d: "M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z", fill: "currentColor" }) }), showCopied && (0, jsx_runtime_1.jsx)("span", { className: "heading-copied-tooltip", children: "Copied!" })] }))] }));
29
- }
30
- exports.default = Heading;
31
- //# sourceMappingURL=Heading.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Heading.js","sourceRoot":"","sources":["../../src/components/Heading.tsx"],"names":[],"mappings":";;AAgBA,0BA+CC;;AA/DD;;GAEG;AAEH,iCAAwC;AASxC;;GAEG;AACH,SAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAgB;IACrE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,IAAI,KAAK,EAA6C,CAAC;IAEnE,MAAM,cAAc,GAAG,KAAK,EAAE,CAAsC,EAAE,EAAE;QACtE,IAAI,CAAC,EAAE;YAAE,OAAO;QAEhB,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QAEzE,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,wBAAC,GAAG,IAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAC,qBAAqB,KAAK,KAAK,aACnD,QAAQ,EACR,EAAE,IAAI,CACL,+BACE,IAAI,EAAE,IAAI,EAAE,EAAE,EACd,SAAS,EAAC,qBAAqB,EAC/B,OAAO,EAAE,cAAc,gBACZ,sBAAsB,EACjC,KAAK,EAAC,sBAAsB,aAE5B,gCACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,iBACtB,MAAM,YAElB,iCACE,CAAC,EAAC,iWAAiW,EACnW,IAAI,EAAC,cAAc,GACnB,GACE,EACL,UAAU,IAAI,iCAAM,SAAS,EAAC,wBAAwB,wBAAe,IACpE,CACL,IACG,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,OAAO,CAAC"}
@@ -1,8 +0,0 @@
1
- interface ImageProps {
2
- src: string;
3
- alt?: string;
4
- [key: string]: any;
5
- }
6
- export declare function Image({ src, alt, ...rest }: ImageProps): import("react/jsx-runtime").JSX.Element;
7
- export {};
8
- //# sourceMappingURL=Image.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../src/components/Image.tsx"],"names":[],"mappings":"AAEA,UAAU,UAAU;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,wBAAgB,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,UAAU,2CA8BtD"}