livemark 0.25.0 → 0.27.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 (427) hide show
  1. package/README.md +3 -2
  2. package/build/actions/config/define.d.ts +12 -0
  3. package/build/actions/config/define.unit.js +8 -1
  4. package/build/actions/escape/copy.d.ts +11 -0
  5. package/build/actions/escape/copy.js +29 -0
  6. package/build/actions/escape/copy.unit.d.ts +1 -0
  7. package/build/actions/escape/copy.unit.js +37 -0
  8. package/build/actions/escape/list.d.ts +12 -0
  9. package/build/actions/escape/list.js +27 -0
  10. package/build/actions/escape/list.unit.d.ts +1 -0
  11. package/build/actions/escape/list.unit.js +36 -0
  12. package/build/actions/target/build.d.ts +9 -26
  13. package/build/actions/target/build.js +50 -71
  14. package/build/actions/target/build.unit.d.ts +1 -0
  15. package/build/actions/target/build.unit.js +76 -0
  16. package/build/actions/target/clear.d.ts +4 -0
  17. package/build/actions/target/clear.js +14 -0
  18. package/build/actions/target/clear.unit.d.ts +1 -0
  19. package/build/actions/target/clear.unit.js +23 -0
  20. package/build/commands/build.js +1 -2
  21. package/build/commands/clear.d.ts +5 -0
  22. package/build/commands/clear.js +15 -0
  23. package/build/commands/escape.d.ts +4 -3
  24. package/build/commands/escape.js +45 -48
  25. package/build/commands/preview.js +1 -2
  26. package/build/commands/start.js +1 -2
  27. package/build/components/Abbr.d.ts +1 -1
  28. package/build/components/Abbr.js +2 -4
  29. package/build/components/AnsiCode.d.ts +1 -1
  30. package/build/components/AnsiCode.js +2 -2
  31. package/build/components/Article.d.ts +2 -1
  32. package/build/components/Article.js +7 -14
  33. package/build/components/BackToTop.d.ts +1 -1
  34. package/build/components/Banner.d.ts +2 -2
  35. package/build/components/Banner.js +7 -3
  36. package/build/components/BlogIndex.d.ts +1 -1
  37. package/build/components/BlogIndex.js +2 -11
  38. package/build/components/Breadcrumbs.d.ts +1 -1
  39. package/build/components/Breadcrumbs.js +2 -3
  40. package/build/components/Callout.d.ts +1 -1
  41. package/build/components/Callout.js +5 -9
  42. package/build/components/Card.d.ts +1 -1
  43. package/build/components/Card.js +2 -3
  44. package/build/components/Cards.d.ts +1 -1
  45. package/build/components/ChangelogIndex.d.ts +1 -1
  46. package/build/components/ChangelogIndex.js +2 -11
  47. package/build/components/ChoiceList.d.ts +15 -0
  48. package/build/components/ChoiceList.js +13 -0
  49. package/build/components/CodeBlock.d.ts +1 -1
  50. package/build/components/CodeBlock.js +3 -16
  51. package/build/components/CodeTabs.d.ts +1 -1
  52. package/build/components/CodeTabs.js +2 -3
  53. package/build/components/Column.d.ts +1 -1
  54. package/build/components/Columns.d.ts +1 -1
  55. package/build/components/Content.d.ts +1 -1
  56. package/build/components/ContentTab.d.ts +1 -1
  57. package/build/components/ContentTabs.d.ts +1 -1
  58. package/build/components/ContentTabs.js +2 -3
  59. package/build/components/DefaultCatchBoundary.d.ts +1 -1
  60. package/build/components/DefaultCatchBoundary.js +5 -7
  61. package/build/components/DefinitionList.d.ts +3 -3
  62. package/build/components/Details.d.ts +1 -1
  63. package/build/components/Details.js +2 -5
  64. package/build/components/FileTree.d.ts +1 -1
  65. package/build/components/FileTree.js +3 -5
  66. package/build/components/Footer.d.ts +1 -1
  67. package/build/components/Footer.js +2 -5
  68. package/build/components/FootnoteRef.d.ts +1 -1
  69. package/build/components/FootnoteRef.js +2 -4
  70. package/build/components/Header.d.ts +6 -0
  71. package/build/components/Header.js +26 -0
  72. package/build/components/HeaderMenu.d.ts +2 -0
  73. package/build/components/HeaderMenu.js +27 -0
  74. package/build/components/HeaderNav.d.ts +6 -0
  75. package/build/components/HeaderNav.js +74 -0
  76. package/build/components/HeaderSearch.d.ts +4 -0
  77. package/build/components/HeaderSearch.js +33 -0
  78. package/build/components/Heading.d.ts +6 -6
  79. package/build/components/InlineBadge.d.ts +2 -2
  80. package/build/components/InlineBadge.js +1 -1
  81. package/build/components/InlineIcon.d.ts +1 -1
  82. package/build/components/InlineToc.d.ts +1 -1
  83. package/build/components/InlineToc.js +2 -4
  84. package/build/components/Layout.d.ts +2 -1
  85. package/build/components/Layout.js +5 -58
  86. package/build/components/LinkButton.d.ts +2 -2
  87. package/build/components/LinkButton.js +1 -1
  88. package/build/components/MenuSheet.d.ts +22 -0
  89. package/build/components/MenuSheet.js +27 -0
  90. package/build/components/Mermaid.d.ts +1 -1
  91. package/build/components/MermaidRenderer.d.ts +1 -1
  92. package/build/components/MermaidRenderer.js +20 -8
  93. package/build/components/NotFound.d.ts +1 -1
  94. package/build/components/NotFound.js +3 -6
  95. package/build/components/PackageTabs.d.ts +1 -1
  96. package/build/components/PackageTabs.js +3 -7
  97. package/build/components/PageToolbar.d.ts +1 -1
  98. package/build/components/PageToolbar.js +2 -10
  99. package/build/components/PrevNext.d.ts +1 -1
  100. package/build/components/PrevNext.js +2 -10
  101. package/build/components/Root.d.ts +4 -0
  102. package/build/components/Root.js +8 -0
  103. package/build/components/Search.d.ts +5 -2
  104. package/build/components/Search.js +11 -9
  105. package/build/components/SearchDialog.d.ts +1 -1
  106. package/build/components/SearchDialog.js +10 -133
  107. package/build/components/Section.d.ts +1 -1
  108. package/build/components/SectionHeader.d.ts +1 -1
  109. package/build/components/SheetPanel.d.ts +12 -0
  110. package/build/components/SheetPanel.js +19 -0
  111. package/build/components/Sidebar.d.ts +1 -1
  112. package/build/components/Sidebar.js +12 -14
  113. package/build/components/SidebarArticles.d.ts +4 -1
  114. package/build/components/SidebarArticles.js +5 -9
  115. package/build/components/SidebarLinks.d.ts +4 -1
  116. package/build/components/SidebarLinks.js +6 -9
  117. package/build/components/SidebarPosts.d.ts +4 -1
  118. package/build/components/SidebarPosts.js +7 -23
  119. package/build/components/SidebarReleases.d.ts +4 -1
  120. package/build/components/SidebarReleases.js +5 -15
  121. package/build/components/SidebarSectionPicker.d.ts +8 -0
  122. package/build/components/SidebarSectionPicker.js +31 -0
  123. package/build/components/SidebarSections.d.ts +1 -1
  124. package/build/components/SidebarSections.js +5 -9
  125. package/build/components/SiteLink.d.ts +1 -1
  126. package/build/components/SiteTitle.d.ts +1 -1
  127. package/build/components/SiteTitle.js +2 -6
  128. package/build/components/SortableTable.d.ts +1 -1
  129. package/build/components/SoundCloud.d.ts +1 -1
  130. package/build/components/SoundCloud.js +2 -2
  131. package/build/components/TagIndex.d.ts +1 -1
  132. package/build/components/TagIndex.js +2 -11
  133. package/build/components/Theme.d.ts +2 -1
  134. package/build/components/Theme.js +35 -15
  135. package/build/components/Toc.d.ts +5 -4
  136. package/build/components/Toc.js +35 -35
  137. package/build/components/YouTube.d.ts +1 -1
  138. package/build/components/YouTube.js +2 -2
  139. package/build/components/ZoomImage.d.ts +1 -1
  140. package/build/content/article.js +4 -11
  141. package/build/content-collections.js +6 -4
  142. package/build/elements/accordion.d.ts +4 -4
  143. package/build/elements/accordion.js +2 -3
  144. package/build/elements/alert-dialog.d.ts +12 -12
  145. package/build/elements/alert-dialog.js +2 -4
  146. package/build/elements/alert.d.ts +4 -4
  147. package/build/elements/alert.js +2 -2
  148. package/build/elements/aspect-ratio.d.ts +1 -1
  149. package/build/elements/avatar.d.ts +6 -6
  150. package/build/elements/badge.d.ts +1 -1
  151. package/build/elements/badge.js +3 -1
  152. package/build/elements/breadcrumb.d.ts +6 -6
  153. package/build/elements/breadcrumb.js +2 -4
  154. package/build/elements/button-group.d.ts +2 -2
  155. package/build/elements/button-group.js +5 -5
  156. package/build/elements/button.d.ts +2 -2
  157. package/build/elements/button.js +9 -7
  158. package/build/elements/calendar.d.ts +2 -2
  159. package/build/elements/calendar.js +2 -2
  160. package/build/elements/card.d.ts +7 -7
  161. package/build/elements/card.js +4 -4
  162. package/build/elements/carousel.d.ts +5 -5
  163. package/build/elements/carousel.js +3 -7
  164. package/build/elements/chart.d.ts +6 -6
  165. package/build/elements/chart.js +5 -11
  166. package/build/elements/checkbox.d.ts +1 -1
  167. package/build/elements/collapsible.d.ts +3 -3
  168. package/build/elements/command.d.ts +9 -9
  169. package/build/elements/command.js +5 -11
  170. package/build/elements/context-menu.d.ts +15 -15
  171. package/build/elements/context-menu.js +6 -9
  172. package/build/elements/dialog.d.ts +10 -10
  173. package/build/elements/dialog.js +2 -6
  174. package/build/elements/drawer.d.ts +14 -12
  175. package/build/elements/drawer.js +14 -15
  176. package/build/elements/dropdown-menu.d.ts +15 -15
  177. package/build/elements/dropdown-menu.js +7 -10
  178. package/build/elements/empty.d.ts +6 -6
  179. package/build/elements/empty.js +2 -2
  180. package/build/elements/field.d.ts +10 -10
  181. package/build/elements/field.js +3 -4
  182. package/build/elements/hover-card.d.ts +3 -3
  183. package/build/elements/hover-card.js +2 -2
  184. package/build/elements/input-group.d.ts +7 -7
  185. package/build/elements/input-group.js +5 -5
  186. package/build/elements/input-otp.d.ts +4 -4
  187. package/build/elements/input.d.ts +1 -1
  188. package/build/elements/input.js +2 -2
  189. package/build/elements/item.d.ts +9 -9
  190. package/build/elements/item.js +2 -2
  191. package/build/elements/kbd.d.ts +2 -2
  192. package/build/elements/label.d.ts +1 -1
  193. package/build/elements/menubar.d.ts +16 -16
  194. package/build/elements/menubar.js +9 -11
  195. package/build/elements/native-select.d.ts +3 -3
  196. package/build/elements/native-select.js +2 -4
  197. package/build/elements/navigation-menu.d.ts +8 -8
  198. package/build/elements/navigation-menu.js +3 -5
  199. package/build/elements/pagination.d.ts +7 -7
  200. package/build/elements/pagination.js +4 -10
  201. package/build/elements/popover.d.ts +6 -6
  202. package/build/elements/popover.js +2 -2
  203. package/build/elements/progress.d.ts +5 -5
  204. package/build/elements/progress.js +2 -3
  205. package/build/elements/radio-group.d.ts +2 -2
  206. package/build/elements/resizable.d.ts +3 -3
  207. package/build/elements/scroll-area.d.ts +2 -2
  208. package/build/elements/scroll-area.js +2 -4
  209. package/build/elements/select.d.ts +9 -9
  210. package/build/elements/select.js +4 -9
  211. package/build/elements/separator.d.ts +1 -1
  212. package/build/elements/sheet.d.ts +8 -8
  213. package/build/elements/sheet.js +2 -6
  214. package/build/elements/sidebar.d.ts +19 -19
  215. package/build/elements/sidebar.js +15 -37
  216. package/build/elements/skeleton.d.ts +1 -1
  217. package/build/elements/slider.d.ts +2 -1
  218. package/build/elements/slider.js +2 -3
  219. package/build/elements/sonner.d.ts +1 -1
  220. package/build/elements/spinner.d.ts +1 -1
  221. package/build/elements/switch.d.ts +1 -1
  222. package/build/elements/table.d.ts +8 -8
  223. package/build/elements/tabs.d.ts +4 -4
  224. package/build/elements/tabs.js +3 -3
  225. package/build/elements/textarea.d.ts +1 -1
  226. package/build/elements/textarea.js +2 -2
  227. package/build/elements/toggle-group.d.ts +3 -2
  228. package/build/elements/toggle-group.js +3 -3
  229. package/build/elements/toggle.d.ts +1 -1
  230. package/build/elements/toggle.js +2 -2
  231. package/build/elements/tooltip.d.ts +4 -4
  232. package/build/elements/tooltip.js +2 -3
  233. package/build/head.d.ts +4 -0
  234. package/build/head.js +6 -0
  235. package/build/helpers/agent-skills.d.ts +22 -0
  236. package/build/helpers/agent-skills.js +46 -0
  237. package/build/helpers/agent-skills.unit.d.ts +1 -0
  238. package/build/helpers/agent-skills.unit.js +49 -0
  239. package/build/helpers/article-search.d.ts +19 -0
  240. package/build/helpers/article-search.js +134 -0
  241. package/build/helpers/article.d.ts +13 -0
  242. package/build/helpers/article.js +17 -1
  243. package/build/helpers/dependency-dir.d.ts +5 -0
  244. package/build/helpers/dependency-dir.js +20 -0
  245. package/build/helpers/dependency-dir.unit.d.ts +1 -0
  246. package/build/helpers/dependency-dir.unit.js +25 -0
  247. package/build/helpers/dynamic-icon-resolver.d.ts +1 -1
  248. package/build/helpers/dynamic-icon.d.ts +1 -1
  249. package/build/helpers/head.d.ts +58 -0
  250. package/build/helpers/head.js +80 -0
  251. package/build/helpers/head.unit.d.ts +1 -0
  252. package/build/helpers/head.unit.js +110 -0
  253. package/build/helpers/llms.d.ts +33 -0
  254. package/build/helpers/llms.js +72 -0
  255. package/build/helpers/llms.unit.d.ts +1 -0
  256. package/build/helpers/llms.unit.js +98 -0
  257. package/build/helpers/nav-items.d.ts +11 -0
  258. package/build/helpers/nav-items.js +65 -0
  259. package/build/helpers/render-inline-markdown.d.ts +1 -0
  260. package/build/helpers/render-inline-markdown.js +34 -0
  261. package/build/helpers/render-inline-markdown.unit.d.ts +1 -0
  262. package/build/helpers/render-inline-markdown.unit.js +20 -0
  263. package/build/helpers/search-highlight.d.ts +8 -0
  264. package/build/helpers/search-highlight.js +59 -0
  265. package/build/helpers/search-highlight.unit.d.ts +1 -0
  266. package/build/helpers/search-highlight.unit.js +36 -0
  267. package/build/helpers/target-export.d.ts +9 -0
  268. package/build/helpers/target-export.js +24 -0
  269. package/build/helpers/target-export.unit.d.ts +1 -0
  270. package/build/helpers/target-export.unit.js +25 -0
  271. package/build/helpers/theme.d.ts +6 -2
  272. package/build/helpers/theme.js +40 -7
  273. package/build/helpers/theme.unit.d.ts +1 -0
  274. package/build/helpers/theme.unit.js +30 -0
  275. package/build/hooks/hydrated.d.ts +2 -0
  276. package/build/hooks/hydrated.js +15 -0
  277. package/build/index.d.ts +1 -0
  278. package/build/index.js +1 -1
  279. package/build/models/config.d.ts +52 -6
  280. package/build/models/config.js +17 -1
  281. package/build/models/section.d.ts +4 -2
  282. package/build/models/section.js +1 -1
  283. package/build/plugins/vite-agents.d.ts +17 -0
  284. package/build/plugins/vite-agents.js +109 -0
  285. package/build/plugins/vite-agents.unit.d.ts +1 -0
  286. package/build/plugins/vite-agents.unit.js +20 -0
  287. package/build/plugins/vite-livemark.d.ts +4 -5
  288. package/build/plugins/vite-livemark.js +56 -90
  289. package/build/plugins/vite-robots.d.ts +4 -2
  290. package/build/plugins/vite-robots.js +15 -2
  291. package/build/plugins/vite-robots.unit.js +5 -1
  292. package/build/program.js +4 -2
  293. package/build/routes/$.d.ts +4 -1
  294. package/build/routes/$.js +20 -9
  295. package/build/routes/__root.js +29 -63
  296. package/build/settings.js +2 -1
  297. package/build/vite.config.js +3 -1
  298. package/package.json +69 -66
  299. package/{.agents/skills → skills}/livemark-authoring/SKILL.md +2 -2
  300. package/{.agents/skills → skills}/livemark-configuration/SKILL.md +16 -5
  301. package/skills/livemark-customization/SKILL.md +146 -0
  302. package/source/actions/config/define.unit.ts +9 -0
  303. package/source/actions/escape/copy.ts +35 -0
  304. package/source/actions/escape/copy.unit.ts +51 -0
  305. package/source/actions/escape/list.ts +30 -0
  306. package/source/actions/escape/list.unit.ts +42 -0
  307. package/source/actions/target/build.ts +49 -69
  308. package/source/actions/target/build.unit.ts +95 -0
  309. package/source/actions/target/clear.ts +14 -0
  310. package/source/actions/target/clear.unit.ts +25 -0
  311. package/source/commands/build.ts +0 -1
  312. package/source/commands/clear.ts +15 -0
  313. package/source/commands/escape.ts +42 -59
  314. package/source/commands/preview.ts +0 -1
  315. package/source/commands/start.ts +0 -1
  316. package/source/components/AnsiCode.tsx +1 -1
  317. package/source/components/Article.tsx +8 -4
  318. package/source/components/Banner.tsx +12 -2
  319. package/source/components/BlogIndex.tsx +1 -1
  320. package/source/components/Callout.tsx +4 -6
  321. package/source/components/ChangelogIndex.tsx +1 -1
  322. package/source/components/ChoiceList.tsx +69 -0
  323. package/source/components/CodeBlock.tsx +6 -6
  324. package/source/components/CodeTabs.tsx +1 -1
  325. package/source/components/ContentTabs.tsx +1 -1
  326. package/source/components/DefaultCatchBoundary.tsx +4 -6
  327. package/source/components/Details.tsx +1 -1
  328. package/source/components/FileTree.tsx +1 -1
  329. package/source/components/Header.tsx +52 -0
  330. package/source/components/HeaderMenu.tsx +41 -0
  331. package/source/components/HeaderNav.tsx +145 -0
  332. package/source/components/HeaderSearch.tsx +77 -0
  333. package/source/components/InlineBadge.tsx +1 -1
  334. package/source/components/InlineToc.tsx +1 -1
  335. package/source/components/Layout.tsx +16 -160
  336. package/source/components/LinkButton.tsx +9 -1
  337. package/source/components/MenuSheet.tsx +92 -0
  338. package/source/components/MermaidRenderer.tsx +19 -8
  339. package/source/components/NotFound.tsx +3 -5
  340. package/source/components/PackageTabs.tsx +2 -2
  341. package/source/components/PageToolbar.tsx +11 -3
  342. package/source/components/PrevNext.tsx +2 -2
  343. package/source/components/Root.tsx +13 -0
  344. package/source/components/Search.tsx +28 -8
  345. package/source/components/SearchDialog.tsx +15 -189
  346. package/source/components/SheetPanel.tsx +69 -0
  347. package/source/components/Sidebar.tsx +27 -14
  348. package/source/components/SidebarArticles.tsx +4 -3
  349. package/source/components/SidebarLinks.tsx +3 -2
  350. package/source/components/SidebarPosts.tsx +3 -2
  351. package/source/components/SidebarReleases.tsx +3 -2
  352. package/source/components/SidebarSectionPicker.tsx +70 -0
  353. package/source/components/SiteTitle.tsx +5 -5
  354. package/source/components/SoundCloud.tsx +1 -1
  355. package/source/components/TagIndex.tsx +1 -1
  356. package/source/components/Theme.tsx +55 -29
  357. package/source/components/Toc.tsx +76 -55
  358. package/source/components/YouTube.tsx +1 -1
  359. package/source/content/article.ts +8 -13
  360. package/source/content-collections.ts +5 -4
  361. package/source/elements/alert-dialog.tsx +1 -1
  362. package/source/elements/alert.tsx +1 -1
  363. package/source/elements/badge.tsx +4 -0
  364. package/source/elements/button-group.tsx +4 -4
  365. package/source/elements/button.tsx +10 -6
  366. package/source/elements/calendar.tsx +1 -1
  367. package/source/elements/card.tsx +3 -3
  368. package/source/elements/command.tsx +7 -4
  369. package/source/elements/context-menu.tsx +5 -5
  370. package/source/elements/dialog.tsx +1 -1
  371. package/source/elements/drawer.tsx +59 -43
  372. package/source/elements/dropdown-menu.tsx +6 -6
  373. package/source/elements/empty.tsx +1 -1
  374. package/source/elements/field.tsx +1 -1
  375. package/source/elements/hover-card.tsx +1 -1
  376. package/source/elements/input-group.tsx +4 -4
  377. package/source/elements/input.tsx +1 -1
  378. package/source/elements/item.tsx +1 -1
  379. package/source/elements/menubar.tsx +8 -8
  380. package/source/elements/native-select.tsx +1 -1
  381. package/source/elements/popover.tsx +1 -1
  382. package/source/elements/select.tsx +3 -3
  383. package/source/elements/sidebar.tsx +8 -21
  384. package/source/elements/tabs.tsx +2 -2
  385. package/source/elements/textarea.tsx +1 -1
  386. package/source/elements/toggle-group.tsx +2 -2
  387. package/source/elements/toggle.tsx +1 -1
  388. package/source/env.d.ts +1 -0
  389. package/source/head.ts +7 -0
  390. package/source/helpers/agent-skills.ts +59 -0
  391. package/source/helpers/agent-skills.unit.ts +56 -0
  392. package/source/helpers/article-search.tsx +192 -0
  393. package/source/helpers/article.ts +17 -0
  394. package/source/helpers/dependency-dir.ts +20 -0
  395. package/source/helpers/dependency-dir.unit.ts +39 -0
  396. package/source/helpers/head.ts +105 -0
  397. package/source/helpers/head.unit.ts +118 -0
  398. package/source/helpers/llms.ts +109 -0
  399. package/source/helpers/llms.unit.ts +115 -0
  400. package/source/helpers/nav-items.tsx +102 -0
  401. package/source/helpers/render-inline-markdown.ts +44 -0
  402. package/source/helpers/render-inline-markdown.unit.ts +30 -0
  403. package/source/helpers/search-highlight.ts +73 -0
  404. package/source/helpers/search-highlight.unit.ts +42 -0
  405. package/source/helpers/target-export.ts +28 -0
  406. package/source/helpers/target-export.unit.ts +37 -0
  407. package/source/helpers/theme.ts +40 -6
  408. package/source/helpers/theme.unit.ts +32 -0
  409. package/source/hooks/hydrated.ts +18 -0
  410. package/source/index.ts +1 -0
  411. package/source/models/config.ts +24 -0
  412. package/source/models/section.ts +3 -0
  413. package/source/plugins/vite-agents.ts +135 -0
  414. package/source/plugins/vite-agents.unit.ts +26 -0
  415. package/source/plugins/vite-livemark.ts +54 -95
  416. package/source/plugins/vite-robots.ts +18 -3
  417. package/source/plugins/vite-robots.unit.ts +7 -0
  418. package/source/program.ts +2 -0
  419. package/source/routes/$.tsx +27 -9
  420. package/source/routes/__root.tsx +51 -71
  421. package/source/settings.ts +1 -0
  422. package/source/styles/general.css +59 -11
  423. package/source/styles/markdown.css +13 -7
  424. package/source/styles/shape.css +14 -0
  425. package/source/vite.config.ts +2 -0
  426. package/.agents/skills/change-review/SKILL.md +0 -47
  427. package/.agents/skills/livemark-customization/SKILL.md +0 -118
@@ -5,9 +5,9 @@ import { Clock, List, Rss, Tag } from "lucide-react";
5
5
  import { currentSection, sectionFlatArticles, sortedArticles, } from "../content/article.js";
6
6
  import { SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, } from "../elements/sidebar.js";
7
7
  /** Blog body slot for the Sidebar shell: All Posts / Recent Posts / RSS / Tags */
8
- export function SidebarPosts() {
8
+ export function SidebarPosts(props) {
9
9
  const pathname = useLocation({ select: l => l.pathname });
10
- const section = currentSection(`/${pathname.replace(/^\/|\/$/g, "")}/`);
10
+ const section = props.section ?? currentSection(`/${pathname.replace(/^\/|\/$/g, "")}/`);
11
11
  const flat = section ? (sectionFlatArticles.get(section.prefix) ?? []) : [];
12
12
  const posts = flat
13
13
  .map(p => sortedArticles.find(a => a.path === p))
@@ -23,31 +23,15 @@ export function SidebarPosts() {
23
23
  const normalized = `/${pathname.replace(/^\/|\/$/g, "")}/`;
24
24
  const isIndex = section ? normalized === section.prefix : false;
25
25
  const sectionPath = (section?.prefix ?? "/blog/").replace(/^\/|\/$/g, "");
26
- return (_jsxs(_Fragment, { children: [
27
- _jsxs(SidebarGroup, { children: [
28
- _jsx(SidebarGroupLabel, { className: "uppercase font-mono text-xs tracking-widest", children: "Posts" }), _jsx(SidebarGroupContent, { children: _jsxs(SidebarMenu, { children: [
29
- _jsx(SidebarMenuItem, { children: _jsxs(SidebarMenuButton, { isActive: isIndex, className: isIndex ? "" : "opacity-75", render: _jsx(Link, { to: "/$", params: { _splat: sectionPath } }), children: [
30
- _jsx(List, { className: "size-4" }), _jsx("span", { children: "All Posts" })
31
- ] }) }), _jsxs(SidebarMenuItem, { children: [
32
- _jsxs(SidebarMenuButton, { className: "opacity-75", children: [
33
- _jsx(Clock, { className: "size-4" }), _jsx("span", { children: "Recent Posts" })
34
- ] }), _jsx(SidebarMenuSub, { children: recentPosts.map(post => {
26
+ return (_jsxs(_Fragment, { children: [_jsxs(SidebarGroup, { children: [_jsx(SidebarGroupLabel, { className: "uppercase font-mono text-xs tracking-widest", children: "Posts" }), _jsx(SidebarGroupContent, { children: _jsxs(SidebarMenu, { children: [_jsx(SidebarMenuItem, { children: _jsxs(SidebarMenuButton, { isActive: isIndex, className: isIndex ? "" : "opacity-75", render: _jsx(Link, { to: "/$", params: { _splat: sectionPath } }), children: [_jsx(List, { className: "size-4" }), _jsx("span", { children: "All Posts" })] }) }), _jsxs(SidebarMenuItem, { children: [_jsxs(SidebarMenuButton, { className: "opacity-75", children: [_jsx(Clock, { className: "size-4" }), _jsx("span", { children: "Recent Posts" })] }), _jsx(SidebarMenuSub, { children: recentPosts.map(post => {
35
27
  const active = normalized === post.path;
36
28
  return (_jsx(SidebarMenuSubItem, { children: _jsx(SidebarMenuSubButton, { isActive: active, className: active ? "" : "opacity-75", render: _jsx(Link, { to: "/$", params: {
37
29
  _splat: post.path.replace(/^\/|\/$/g, ""),
38
30
  } }), children: _jsx("span", { children: post.title }) }) }, post.path));
39
- }) })
40
- ] }), config.site && (_jsx(SidebarMenuItem, { children: _jsxs(SidebarMenuButton, { className: "opacity-75", render: _jsx("a", { href: `/${sectionPath}/rss.xml` }), children: [
41
- _jsx(Rss, { className: "size-4" }), _jsx("span", { children: "RSS Feed" })
42
- ] }) }))] }) })
43
- ] }), tags.length > 0 && (_jsxs(SidebarGroup, { children: [
44
- _jsx(SidebarGroupLabel, { className: "uppercase font-mono text-xs tracking-widest", children: "Tags" }), _jsx(SidebarGroupContent, { children: _jsx(SidebarMenu, { children: tags.map(tag => {
31
+ }) })] }), config.site && (_jsx(SidebarMenuItem, { children: _jsxs(SidebarMenuButton, { className: "opacity-75", render: _jsx("a", { href: `/${sectionPath}/rss.xml` }), children: [_jsx(Rss, { className: "size-4" }), _jsx("span", { children: "RSS Feed" })] }) }))] }) })] }), tags.length > 0 && (_jsxs(SidebarGroup, { children: [_jsx(SidebarGroupLabel, { className: "uppercase font-mono text-xs tracking-widest", children: "Tags" }), _jsx(SidebarGroupContent, { children: _jsx(SidebarMenu, { children: tags.map(tag => {
45
32
  const tagPath = `${sectionPath}/tags/${tag}`;
46
33
  const tagActive = normalized === `/${tagPath}/`;
47
- return (_jsx(SidebarMenuItem, { children: _jsxs(SidebarMenuButton, { isActive: tagActive, className: tagActive ? "" : "opacity-75", render: _jsx(Link, { to: "/$", params: { _splat: tagPath } }), children: [
48
- _jsx(Tag, { className: "size-3.5" }), _jsx("span", { children: tag })
49
- ] }) }, tag));
50
- }) }) })
51
- ] }))] }));
34
+ return (_jsx(SidebarMenuItem, { children: _jsxs(SidebarMenuButton, { isActive: tagActive, className: tagActive ? "" : "opacity-75", render: _jsx(Link, { to: "/$", params: { _splat: tagPath } }), children: [_jsx(Tag, { className: "size-3.5" }), _jsx("span", { children: tag })] }) }, tag));
35
+ }) }) })] }))] }));
52
36
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lkZWJhclBvc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvU2lkZWJhclBvc3RzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUNwRCxPQUFPLEVBQ0wsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixjQUFjLEdBQ2YsTUFBTSx1QkFBdUIsQ0FBQTtBQUM5QixPQUFPLEVBQ0wsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixrQkFBa0IsR0FDbkIsTUFBTSx3QkFBeUIsQ0FBQTtBQUVoQyxrRkFBa0Y7QUFDbEYsTUFBTSxVQUFVLFlBQVk7SUFDMUIsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFFekQsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDM0UsTUFBTSxLQUFLLEdBQUcsSUFBSTtTQUNmLEdBQUcsQ0FBQyxDQUFDLENB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QixNQUFNLEVBQUUsWUFBRyxJQUFJLEVBQUUsSUFBSSxXQUFXLFVBQVUsR0FBSTs0Q0FFOUMsS0FBQyxHQUFHLElBQUMsU0FBUyxFQUFDLFFBQVEsR0FBRyxFQUMxQixzQ0FBcUI7NENBQ0gsR0FDSixDQUNuQixJQUNXLEdBQ007b0JBQ1QsRUFFZCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUNsQixNQUFDLFlBQVk7b0JBQ1gsS0FBQyxpQkFBaUIsSUFBQyxTQUFTLEVBQUMsNkNBQTZDLHFCQUV0RCxFQUNwQixLQUFDLG1CQUFtQixjQUNsQixLQUFDLFdBQVcsY0FDVCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dDQUNkLE1BQU0sT0FBTyxHQUFHLEdBQUcsV0FBVyxTQUFTLEdBQUcsRUFBRSxDQUFBO2dDQUM1QyxNQUFNLFNBQVMsR0FBRyxVQUFVLEtBQUssSUFBSSxPQUFPLEdBQUcsQ0FBQTtnQ0FDL0MsT0FBTyxDQUNMLEtBQUMsZUFBZSxjQUNkLE1BQUMsaUJBQWlCLElBQ2hCLFFBQVEsRUFBRSxTQUFTLEVBQ25CLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUN4QyxNQUFNLEVBQUUsS0FBQyxJQUFJLElBQUMsRUFBRSxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUk7NENBRXJELEtBQUMsR0FBRyxJQUFDLFNBQVMsRUFBQyxVQUFVLEdBQUcsRUFDNUIseUJBQU8sR0FBRyxHQUFROzRDQUNBLElBUkEsR0FBRyxDQVNQLENBQ25CLENBQUE7NEJBQ0gsQ0FBQyxDQUFDLEdBQ1UsR0FDTTtvQkFDVCxDQUNoQixJQUNBLENBQ0osQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwibGl2ZW1hcms6dmlydHVhbFwiXG5pbXBvcnQgeyBMaW5rLCB1c2VMb2NhdGlvbiB9IGZyb20gXCJAdGFuc3RhY2svcmVhY3Qtcm91dGVyXCJcbmltcG9ydCB7IENsb2NrLCBMaXN0LCBSc3MsIFRhZyB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuaW1wb3J0IHtcbiAgY3VycmVudFNlY3Rpb24sXG4gIHNlY3Rpb25GbGF0QXJ0aWNsZXMsXG4gIHNvcnRlZEFydGljbGVzLFxufSBmcm9tIFwiLi4vY29udGVudC9hcnRpY2xlLnRzXCJcbmltcG9ydCB7XG4gIFNpZGViYXJHcm91cCxcbiAgU2lkZWJhckdyb3VwQ29udGVudCxcbiAgU2lkZWJhckdyb3VwTGFiZWwsXG4gIFNpZGViYXJNZW51LFxuICBTaWRlYmFyTWVudUJ1dHRvbixcbiAgU2lkZWJhck1lbnVJdGVtLFxuICBTaWRlYmFyTWVudVN1YixcbiAgU2lkZWJhck1lbnVTdWJCdXR0b24sXG4gIFNpZGViYXJNZW51U3ViSXRlbSxcbn0gZnJvbSBcIi4uL2VsZW1lbnRzL3NpZGViYXIudHN4XCJcblxuLyoqIEJsb2cgYm9keSBzbG90IGZvciB0aGUgU2lkZWJhciBzaGVsbDogQWxsIFBvc3RzIC8gUmVjZW50IFBvc3RzIC8gUlNTIC8gVGFncyAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNpZGViYXJQb3N0cygpIHtcbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VMb2NhdGlvbih7IHNlbGVjdDogbCA9PiBsLnBhdGhuYW1lIH0pXG5cbiAgY29uc3Qgc2VjdGlvbiA9IGN1cnJlbnRTZWN0aW9uKGAvJHtwYXRobmFtZS5yZXBsYWNlKC9eXFwvfFxcLyQvZywgXCJcIil9L2ApXG4gIGNvbnN0IGZsYXQgPSBzZWN0aW9uID8gKHNlY3Rpb25GbGF0QXJ0aWNsZXMuZ2V0KHNlY3Rpb24ucHJlZml4KSA/PyBbXSkgOiBbXVxuICBjb25zdCBwb3N0cyA9IGZsYXRcbiAgICAubWFwKHAgPT4gc29ydGVkQXJ0aWNsZXMuZmluZChhID0+IGEucGF0aCA9PT0gcCkpXG4gICAgLmZpbHRlcihhID0+IGEgIT09IHVuZGVmaW5lZClcbiAgY29uc3QgcmVjZW50UG9zdHMgPSBwb3N0cy5zbGljZSgwLCA1KVxuXG4gIGNvbnN0IGFsbFRhZ3MgPSBuZXcgU2V0PHN0cmluZz4oKVxuICBmb3IgKGNvbnN0IHBvc3Qgb2YgcG9zdHMpIHtcbiAgICBmb3IgKGNvbnN0IHRhZyBvZiBwb3N0LnRhZ3MgPz8gW10pIHtcbiAgICAgIGFsbFRhZ3MuYWRkKHRhZylcbiAgICB9XG4gIH1cbiAgY29uc3QgdGFncyA9IFsuLi5hbGxUYWdzXS5zb3J0KClcblxuICBjb25zdCBub3JtYWxpemVkID0gYC8ke3BhdGhuYW1lLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKX0vYFxuICBjb25zdCBpc0luZGV4ID0gc2VjdGlvbiA/IG5vcm1hbGl6ZWQgPT09IHNlY3Rpb24ucHJlZml4IDogZmFsc2VcbiAgY29uc3Qgc2VjdGlvblBhdGggPSAoc2VjdGlvbj8ucHJlZml4ID8/IFwiL2Jsb2cvXCIpLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTaWRlYmFyR3JvdXA+XG4gICAgICAgIDxTaWRlYmFyR3JvdXBMYWJlbCBjbGFzc05hbWU9XCJ1cHBlcmNhc2UgZm9udC1tb25vIHRleHQteHMgdHJhY2tpbmctd2lkZXN0XCI+XG4gICAgICAgICAgUG9zdHNcbiAgICAgICAgPC9TaWRlYmFyR3JvdXBMYWJlbD5cbiAgICAgICAgPFNpZGViYXJHcm91cENvbnRlbnQ+XG4gICAgICAgICAgPFNpZGViYXJNZW51PlxuICAgICAgICAgICAgPFNpZGViYXJNZW51SXRlbT5cbiAgICAgICAgICAgICAgPFNpZGViYXJNZW51QnV0dG9uXG4gICAgICAgICAgICAgICAgaXNBY3RpdmU9e2lzSW5kZXh9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtpc0luZGV4ID8gXCJcIiA6IFwib3BhY2l0eS03NVwifVxuICAgICAgICAgICAgICAgIHJlbmRlcj17PExpbmsgdG89XCIvJFwiIHBhcmFtcz17eyBfc3BsYXQ6IHNlY3Rpb25QYXRoIH19IC8+fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPExpc3QgY2xhc3NOYW1lPVwic2l6ZS00XCIgLz5cbiAgICAgICAgICAgICAgICA8c3Bhbj5BbGwgUG9zdHM8L3NwYW4+XG4gICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVCdXR0b24+XG4gICAgICAgICAgICA8L1NpZGViYXJNZW51SXRlbT5cbiAgICAgICAgICAgIDxTaWRlYmFyTWVudUl0ZW0+XG4gICAgICAgICAgICAgIDxTaWRlYmFyTWVudUJ1dHRvbiBjbGFzc05hbWU9XCJvcGFjaXR5LTc1XCI+XG4gICAgICAgICAgICAgICAgPENsb2NrIGNsYXNzTmFtZT1cInNpemUtNFwiIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4+UmVjZW50IFBvc3RzPC9zcGFuPlxuICAgICAgICAgICAgICA8L1NpZGViYXJNZW51QnV0dG9uPlxuICAgICAgICAgICAgICA8U2lkZWJhck1lbnVTdWI+XG4gICAgICAgICAgICAgICAge3JlY2VudFBvc3RzLm1hcChwb3N0ID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IG5vcm1hbGl6ZWQgPT09IHBvc3QucGF0aFxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPFNpZGViYXJNZW51U3ViSXRlbSBrZXk9e3Bvc3QucGF0aH0+XG4gICAgICAgICAgICAgICAgICAgICAgPFNpZGViYXJNZW51U3ViQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXthY3RpdmUgPyBcIlwiIDogXCJvcGFjaXR5LTc1XCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiLyRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3NwbGF0OiBwb3N0LnBhdGgucmVwbGFjZSgvXlxcL3xcXC8kL2csIFwiXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3Bvc3QudGl0bGV9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVTdWJCdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVTdWJJdGVtPlxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICA8L1NpZGViYXJNZW51U3ViPlxuICAgICAgICAgICAgPC9TaWRlYmFyTWVudUl0ZW0+XG4gICAgICAgICAgICB7Y29uZmlnLnNpdGUgJiYgKFxuICAgICAgICAgICAgICA8U2lkZWJhck1lbnVJdGVtPlxuICAgICAgICAgICAgICAgIDxTaWRlYmFyTWVudUJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwib3BhY2l0eS03NVwiXG4gICAgICAgICAgICAgICAgICByZW5kZXI9ezxhIGhyZWY9e2AvJHtzZWN0aW9uUGF0aH0vcnNzLnhtbGB9IC8+fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxSc3MgY2xhc3NOYW1lPVwic2l6ZS00XCIgLz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPlJTUyBGZWVkPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVCdXR0b24+XG4gICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVJdGVtPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1NpZGViYXJNZW51PlxuICAgICAgICA8L1NpZGViYXJHcm91cENvbnRlbnQ+XG4gICAgICA8L1NpZGViYXJHcm91cD5cblxuICAgICAge3RhZ3MubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgIDxTaWRlYmFyR3JvdXA+XG4gICAgICAgICAgPFNpZGViYXJHcm91cExhYmVsIGNsYXNzTmFtZT1cInVwcGVyY2FzZSBmb250LW1vbm8gdGV4dC14cyB0cmFja2luZy13aWRlc3RcIj5cbiAgICAgICAgICAgIFRhZ3NcbiAgICAgICAgICA8L1NpZGViYXJHcm91cExhYmVsPlxuICAgICAgICAgIDxTaWRlYmFyR3JvdXBDb250ZW50PlxuICAgICAgICAgICAgPFNpZGViYXJNZW51PlxuICAgICAgICAgICAgICB7dGFncy5tYXAodGFnID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YWdQYXRoID0gYCR7c2VjdGlvblBhdGh9L3RhZ3MvJHt0YWd9YFxuICAgICAgICAgICAgICAgIGNvbnN0IHRhZ0FjdGl2ZSA9IG5vcm1hbGl6ZWQgPT09IGAvJHt0YWdQYXRofS9gXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxTaWRlYmFyTWVudUl0ZW0ga2V5PXt0YWd9PlxuICAgICAgICAgICAgICAgICAgICA8U2lkZWJhck1lbnVCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17dGFnQWN0aXZlfVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17dGFnQWN0aXZlID8gXCJcIiA6IFwib3BhY2l0eS03NVwifVxuICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17PExpbmsgdG89XCIvJFwiIHBhcmFtcz17eyBfc3BsYXQ6IHRhZ1BhdGggfX0gLz59XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8VGFnIGNsYXNzTmFtZT1cInNpemUtMy41XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57dGFnfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9TaWRlYmFyTWVudUJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVJdGVtPlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA8L1NpZGViYXJNZW51PlxuICAgICAgICAgIDwvU2lkZWJhckdyb3VwQ29udGVudD5cbiAgICAgICAgPC9TaWRlYmFyR3JvdXA+XG4gICAgICApfVxuICAgIDwvPlxuICApXG59XG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lkZWJhclBvc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvU2lkZWJhclBvc3RzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUNwRCxPQUFPLEVBQ0wsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixjQUFjLEdBQ2YsTUFBTSx1QkFBdUIsQ0FBQTtBQUM5QixPQUFPLEVBQ0wsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixrQkFBa0IsR0FDbkIsTUFBTSx3QkFBeUIsQ0FBQTtBQUdoQyxrRkFBa0Y7QUFDbEYsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFrQztJQUM3RCxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUV6RCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN4RixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQzNFLE1BQU0sS0FBSyxHQUFHLElBQUk7U0FDZixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNoRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUE7SUFDL0IsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQTtJQUNqQyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pCLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2xCLENBQUM7SUFDSCxDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO0lBRWhDLE1BQU0sVUFBVSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQTtJQUMxRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7SUFDL0QsTUFBTSxXQUFXLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFFekUsT0FBTyxDQUNMLDhCQUNFLE1BQUMsWUFBWSxlQUNYLEtBQUMsaUJBQWlCLElBQUMsU0FBUyxFQUFDLDZDQUE2QyxzQkFFdEQsRUFDcEIsS0FBQyxtQkFBbUIsY0FDbEIsTUFBQyxXQUFXLGVBQ1YsS0FBQyxlQUFlLGNBQ2QsTUFBQyxpQkFBaUIsSUFDaEIsUUFBUSxFQUFFLE9BQU8sRUFDakIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQ3RDLE1BQU0sRUFBRSxLQUFDLElBQUksSUFBQyxFQUFFLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBSSxhQUV6RCxLQUFDLElBQUksSUFBQyxTQUFTLEVBQUMsUUFBUSxHQUFHLEVBQzNCLHVDQUFzQixJQUNKLEdBQ0osRUFDbEIsTUFBQyxlQUFlLGVBQ2QsTUFBQyxpQkFBaUIsSUFBQyxTQUFTLEVBQUMsWUFBWSxhQUN2QyxLQUFDLEtBQUssSUFBQyxTQUFTLEVBQUMsUUFBUSxHQUFHLEVBQzVCLDBDQUF5QixJQUNQLEVBQ3BCLEtBQUMsY0FBYyxjQUNaLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0RBQ3RCLE1BQU0sTUFBTSxHQUFHLFVBQVUsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFBO2dEQUN2QyxPQUFPLENBQ0wsS0FBQyxrQkFBa0IsY0FDakIsS0FBQyxvQkFBb0IsSUFDbkIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQ3JDLE1BQU0sRUFDSixLQUFDLElBQUksSUFDSCxFQUFFLEVBQUMsSUFBSSxFQUNQLE1BQU0sRUFBRTtnRUFDTixNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQzs2REFDMUMsR0FDRCxZQUdKLHlCQUFPLElBQUksQ0FBQyxLQUFLLEdBQVEsR0FDSixJQWRBLElBQUksQ0FBQyxJQUFJLENBZWIsQ0FDdEIsQ0FBQTs0Q0FDSCxDQUFDLENBQUMsR0FDYSxJQUNELEVBQ2pCLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FDZCxLQUFDLGVBQWUsY0FDZCxNQUFDLGlCQUFpQixJQUNoQixTQUFTLEVBQUMsWUFBWSxFQUN0QixNQUFNLEVBQUUsWUFBRyxJQUFJLEVBQUUsSUFBSSxXQUFXLFVBQVUsR0FBSSxhQUU5QyxLQUFDLEdBQUcsSUFBQyxTQUFTLEVBQUMsUUFBUSxHQUFHLEVBQzFCLHNDQUFxQixJQUNILEdBQ0osQ0FDbkIsSUFDVyxHQUNNLElBQ1QsRUFFZCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUNsQixNQUFDLFlBQVksZUFDWCxLQUFDLGlCQUFpQixJQUFDLFNBQVMsRUFBQyw2Q0FBNkMscUJBRXRELEVBQ3BCLEtBQUMsbUJBQW1CLGNBQ2xCLEtBQUMsV0FBVyxjQUNULElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0NBQ2QsTUFBTSxPQUFPLEdBQUcsR0FBRyxXQUFXLFNBQVMsR0FBRyxFQUFFLENBQUE7Z0NBQzVDLE1BQU0sU0FBUyxHQUFHLFVBQVUsS0FBSyxJQUFJLE9BQU8sR0FBRyxDQUFBO2dDQUMvQyxPQUFPLENBQ0wsS0FBQyxlQUFlLGNBQ2QsTUFBQyxpQkFBaUIsSUFDaEIsUUFBUSxFQUFFLFNBQVMsRUFDbkIsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQ3hDLE1BQU0sRUFBRSxLQUFDLElBQUksSUFBQyxFQUFFLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBSSxhQUVyRCxLQUFDLEdBQUcsSUFBQyxTQUFTLEVBQUMsVUFBVSxHQUFHLEVBQzVCLHlCQUFPLEdBQUcsR0FBUSxJQUNBLElBUkEsR0FBRyxDQVNQLENBQ25CLENBQUE7NEJBQ0gsQ0FBQyxDQUFDLEdBQ1UsR0FDTSxJQUNULENBQ2hCLElBQ0EsQ0FDSixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCJsaXZlbWFyazp2aXJ0dWFsXCJcbmltcG9ydCB7IExpbmssIHVzZUxvY2F0aW9uIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXJcIlxuaW1wb3J0IHsgQ2xvY2ssIExpc3QsIFJzcywgVGFnIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXG5pbXBvcnQge1xuICBjdXJyZW50U2VjdGlvbixcbiAgc2VjdGlvbkZsYXRBcnRpY2xlcyxcbiAgc29ydGVkQXJ0aWNsZXMsXG59IGZyb20gXCIuLi9jb250ZW50L2FydGljbGUudHNcIlxuaW1wb3J0IHtcbiAgU2lkZWJhckdyb3VwLFxuICBTaWRlYmFyR3JvdXBDb250ZW50LFxuICBTaWRlYmFyR3JvdXBMYWJlbCxcbiAgU2lkZWJhck1lbnUsXG4gIFNpZGViYXJNZW51QnV0dG9uLFxuICBTaWRlYmFyTWVudUl0ZW0sXG4gIFNpZGViYXJNZW51U3ViLFxuICBTaWRlYmFyTWVudVN1YkJ1dHRvbixcbiAgU2lkZWJhck1lbnVTdWJJdGVtLFxufSBmcm9tIFwiLi4vZWxlbWVudHMvc2lkZWJhci50c3hcIlxuaW1wb3J0IHR5cGUgeyBSb3V0ZWRTZWN0aW9uIH0gZnJvbSBcIi4uL21vZGVscy9zZWN0aW9uLnRzXCJcblxuLyoqIEJsb2cgYm9keSBzbG90IGZvciB0aGUgU2lkZWJhciBzaGVsbDogQWxsIFBvc3RzIC8gUmVjZW50IFBvc3RzIC8gUlNTIC8gVGFncyAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNpZGViYXJQb3N0cyhwcm9wczogeyBzZWN0aW9uPzogUm91dGVkU2VjdGlvbiB9KSB7XG4gIGNvbnN0IHBhdGhuYW1lID0gdXNlTG9jYXRpb24oeyBzZWxlY3Q6IGwgPT4gbC5wYXRobmFtZSB9KVxuXG4gIGNvbnN0IHNlY3Rpb24gPSBwcm9wcy5zZWN0aW9uID8/IGN1cnJlbnRTZWN0aW9uKGAvJHtwYXRobmFtZS5yZXBsYWNlKC9eXFwvfFxcLyQvZywgXCJcIil9L2ApXG4gIGNvbnN0IGZsYXQgPSBzZWN0aW9uID8gKHNlY3Rpb25GbGF0QXJ0aWNsZXMuZ2V0KHNlY3Rpb24ucHJlZml4KSA/PyBbXSkgOiBbXVxuICBjb25zdCBwb3N0cyA9IGZsYXRcbiAgICAubWFwKHAgPT4gc29ydGVkQXJ0aWNsZXMuZmluZChhID0+IGEucGF0aCA9PT0gcCkpXG4gICAgLmZpbHRlcihhID0+IGEgIT09IHVuZGVmaW5lZClcbiAgY29uc3QgcmVjZW50UG9zdHMgPSBwb3N0cy5zbGljZSgwLCA1KVxuXG4gIGNvbnN0IGFsbFRhZ3MgPSBuZXcgU2V0PHN0cmluZz4oKVxuICBmb3IgKGNvbnN0IHBvc3Qgb2YgcG9zdHMpIHtcbiAgICBmb3IgKGNvbnN0IHRhZyBvZiBwb3N0LnRhZ3MgPz8gW10pIHtcbiAgICAgIGFsbFRhZ3MuYWRkKHRhZylcbiAgICB9XG4gIH1cbiAgY29uc3QgdGFncyA9IFsuLi5hbGxUYWdzXS5zb3J0KClcblxuICBjb25zdCBub3JtYWxpemVkID0gYC8ke3BhdGhuYW1lLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKX0vYFxuICBjb25zdCBpc0luZGV4ID0gc2VjdGlvbiA/IG5vcm1hbGl6ZWQgPT09IHNlY3Rpb24ucHJlZml4IDogZmFsc2VcbiAgY29uc3Qgc2VjdGlvblBhdGggPSAoc2VjdGlvbj8ucHJlZml4ID8/IFwiL2Jsb2cvXCIpLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTaWRlYmFyR3JvdXA+XG4gICAgICAgIDxTaWRlYmFyR3JvdXBMYWJlbCBjbGFzc05hbWU9XCJ1cHBlcmNhc2UgZm9udC1tb25vIHRleHQteHMgdHJhY2tpbmctd2lkZXN0XCI+XG4gICAgICAgICAgUG9zdHNcbiAgICAgICAgPC9TaWRlYmFyR3JvdXBMYWJlbD5cbiAgICAgICAgPFNpZGViYXJHcm91cENvbnRlbnQ+XG4gICAgICAgICAgPFNpZGViYXJNZW51PlxuICAgICAgICAgICAgPFNpZGViYXJNZW51SXRlbT5cbiAgICAgICAgICAgICAgPFNpZGViYXJNZW51QnV0dG9uXG4gICAgICAgICAgICAgICAgaXNBY3RpdmU9e2lzSW5kZXh9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtpc0luZGV4ID8gXCJcIiA6IFwib3BhY2l0eS03NVwifVxuICAgICAgICAgICAgICAgIHJlbmRlcj17PExpbmsgdG89XCIvJFwiIHBhcmFtcz17eyBfc3BsYXQ6IHNlY3Rpb25QYXRoIH19IC8+fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPExpc3QgY2xhc3NOYW1lPVwic2l6ZS00XCIgLz5cbiAgICAgICAgICAgICAgICA8c3Bhbj5BbGwgUG9zdHM8L3NwYW4+XG4gICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVCdXR0b24+XG4gICAgICAgICAgICA8L1NpZGViYXJNZW51SXRlbT5cbiAgICAgICAgICAgIDxTaWRlYmFyTWVudUl0ZW0+XG4gICAgICAgICAgICAgIDxTaWRlYmFyTWVudUJ1dHRvbiBjbGFzc05hbWU9XCJvcGFjaXR5LTc1XCI+XG4gICAgICAgICAgICAgICAgPENsb2NrIGNsYXNzTmFtZT1cInNpemUtNFwiIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4+UmVjZW50IFBvc3RzPC9zcGFuPlxuICAgICAgICAgICAgICA8L1NpZGViYXJNZW51QnV0dG9uPlxuICAgICAgICAgICAgICA8U2lkZWJhck1lbnVTdWI+XG4gICAgICAgICAgICAgICAge3JlY2VudFBvc3RzLm1hcChwb3N0ID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IG5vcm1hbGl6ZWQgPT09IHBvc3QucGF0aFxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPFNpZGViYXJNZW51U3ViSXRlbSBrZXk9e3Bvc3QucGF0aH0+XG4gICAgICAgICAgICAgICAgICAgICAgPFNpZGViYXJNZW51U3ViQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXthY3RpdmUgPyBcIlwiIDogXCJvcGFjaXR5LTc1XCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiLyRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3NwbGF0OiBwb3N0LnBhdGgucmVwbGFjZSgvXlxcL3xcXC8kL2csIFwiXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3Bvc3QudGl0bGV9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVTdWJCdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVTdWJJdGVtPlxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICA8L1NpZGViYXJNZW51U3ViPlxuICAgICAgICAgICAgPC9TaWRlYmFyTWVudUl0ZW0+XG4gICAgICAgICAgICB7Y29uZmlnLnNpdGUgJiYgKFxuICAgICAgICAgICAgICA8U2lkZWJhck1lbnVJdGVtPlxuICAgICAgICAgICAgICAgIDxTaWRlYmFyTWVudUJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwib3BhY2l0eS03NVwiXG4gICAgICAgICAgICAgICAgICByZW5kZXI9ezxhIGhyZWY9e2AvJHtzZWN0aW9uUGF0aH0vcnNzLnhtbGB9IC8+fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxSc3MgY2xhc3NOYW1lPVwic2l6ZS00XCIgLz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPlJTUyBGZWVkPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVCdXR0b24+XG4gICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVJdGVtPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1NpZGViYXJNZW51PlxuICAgICAgICA8L1NpZGViYXJHcm91cENvbnRlbnQ+XG4gICAgICA8L1NpZGViYXJHcm91cD5cblxuICAgICAge3RhZ3MubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgIDxTaWRlYmFyR3JvdXA+XG4gICAgICAgICAgPFNpZGViYXJHcm91cExhYmVsIGNsYXNzTmFtZT1cInVwcGVyY2FzZSBmb250LW1vbm8gdGV4dC14cyB0cmFja2luZy13aWRlc3RcIj5cbiAgICAgICAgICAgIFRhZ3NcbiAgICAgICAgICA8L1NpZGViYXJHcm91cExhYmVsPlxuICAgICAgICAgIDxTaWRlYmFyR3JvdXBDb250ZW50PlxuICAgICAgICAgICAgPFNpZGViYXJNZW51PlxuICAgICAgICAgICAgICB7dGFncy5tYXAodGFnID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YWdQYXRoID0gYCR7c2VjdGlvblBhdGh9L3RhZ3MvJHt0YWd9YFxuICAgICAgICAgICAgICAgIGNvbnN0IHRhZ0FjdGl2ZSA9IG5vcm1hbGl6ZWQgPT09IGAvJHt0YWdQYXRofS9gXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxTaWRlYmFyTWVudUl0ZW0ga2V5PXt0YWd9PlxuICAgICAgICAgICAgICAgICAgICA8U2lkZWJhck1lbnVCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17dGFnQWN0aXZlfVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17dGFnQWN0aXZlID8gXCJcIiA6IFwib3BhY2l0eS03NVwifVxuICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17PExpbmsgdG89XCIvJFwiIHBhcmFtcz17eyBfc3BsYXQ6IHRhZ1BhdGggfX0gLz59XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8VGFnIGNsYXNzTmFtZT1cInNpemUtMy41XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57dGFnfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9TaWRlYmFyTWVudUJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVJdGVtPlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA8L1NpZGViYXJNZW51PlxuICAgICAgICAgIDwvU2lkZWJhckdyb3VwQ29udGVudD5cbiAgICAgICAgPC9TaWRlYmFyR3JvdXA+XG4gICAgICApfVxuICAgIDwvPlxuICApXG59XG4iXX0=
@@ -1,2 +1,5 @@
1
+ import type { RoutedSection } from "../models/section.ts";
1
2
  /** Changelog body slot for the Sidebar shell: All Releases / Recent Releases */
2
- export declare function SidebarReleases(): import("react/jsx-runtime").JSX.Element;
3
+ export declare function SidebarReleases(props: {
4
+ section?: RoutedSection;
5
+ }): import("react").JSX.Element;
@@ -4,9 +4,9 @@ import { Clock, List } from "lucide-react";
4
4
  import { currentSection, sectionFlatArticles, sortedArticles, } from "../content/article.js";
5
5
  import { SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, } from "../elements/sidebar.js";
6
6
  /** Changelog body slot for the Sidebar shell: All Releases / Recent Releases */
7
- export function SidebarReleases() {
7
+ export function SidebarReleases(props) {
8
8
  const pathname = useLocation({ select: l => l.pathname });
9
- const section = currentSection(`/${pathname.replace(/^\/|\/$/g, "")}/`);
9
+ const section = props.section ?? currentSection(`/${pathname.replace(/^\/|\/$/g, "")}/`);
10
10
  const flat = section ? (sectionFlatArticles.get(section.prefix) ?? []) : [];
11
11
  const entries = flat
12
12
  .map(p => sortedArticles.find(a => a.path === p))
@@ -15,21 +15,11 @@ export function SidebarReleases() {
15
15
  const normalized = `/${pathname.replace(/^\/|\/$/g, "")}/`;
16
16
  const isIndex = section ? normalized === section.prefix : false;
17
17
  const sectionPath = (section?.prefix ?? "/changelog/").replace(/^\/|\/$/g, "");
18
- return (_jsxs(SidebarGroup, { children: [
19
- _jsx(SidebarGroupLabel, { className: "uppercase font-mono text-xs tracking-widest", children: "Releases" }), _jsx(SidebarGroupContent, { children: _jsxs(SidebarMenu, { children: [
20
- _jsx(SidebarMenuItem, { children: _jsxs(SidebarMenuButton, { isActive: isIndex, className: isIndex ? "" : "opacity-75", render: _jsx(Link, { to: "/$", params: { _splat: sectionPath } }), children: [
21
- _jsx(List, { className: "size-4" }), _jsx("span", { children: "All Releases" })
22
- ] }) }), _jsxs(SidebarMenuItem, { children: [
23
- _jsxs(SidebarMenuButton, { className: "opacity-75", children: [
24
- _jsx(Clock, { className: "size-4" }), _jsx("span", { children: "Recent Releases" })
25
- ] }), _jsx(SidebarMenuSub, { children: recent.map(entry => {
18
+ return (_jsxs(SidebarGroup, { children: [_jsx(SidebarGroupLabel, { className: "uppercase font-mono text-xs tracking-widest", children: "Releases" }), _jsx(SidebarGroupContent, { children: _jsxs(SidebarMenu, { children: [_jsx(SidebarMenuItem, { children: _jsxs(SidebarMenuButton, { isActive: isIndex, className: isIndex ? "" : "opacity-75", render: _jsx(Link, { to: "/$", params: { _splat: sectionPath } }), children: [_jsx(List, { className: "size-4" }), _jsx("span", { children: "All Releases" })] }) }), _jsxs(SidebarMenuItem, { children: [_jsxs(SidebarMenuButton, { className: "opacity-75", children: [_jsx(Clock, { className: "size-4" }), _jsx("span", { children: "Recent Releases" })] }), _jsx(SidebarMenuSub, { children: recent.map(entry => {
26
19
  const active = normalized === entry.path;
27
20
  return (_jsx(SidebarMenuSubItem, { children: _jsx(SidebarMenuSubButton, { isActive: active, className: active ? "" : "opacity-75", render: _jsx(Link, { to: "/$", params: {
28
21
  _splat: entry.path.replace(/^\/|\/$/g, ""),
29
22
  } }), children: _jsx("span", { children: entry.title }) }) }, entry.path));
30
- }) })
31
- ] })
32
- ] }) })
33
- ] }));
23
+ }) })] })] }) })] }));
34
24
  }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lkZWJhclJlbGVhc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvU2lkZWJhclJlbGVhc2VzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMxQyxPQUFPLEVBQ0wsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixjQUFjLEdBQ2YsTUFBTSx1QkFBdUIsQ0FBQTtBQUM5QixPQUFPLEVBQ0wsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixrQkFBa0IsR0FDbkIsTUFBTSx3QkFBeUIsQ0FBQTtBQUVoQyxnRkFBZ0Y7QUFDaEYsTUFBTSxVQUFVLGVBQWU7SUFDN0IsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFFekQsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDM0UsTUFBTSxPQUFPLEdBQUcsSUFBSTtTQUNqQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNoRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUE7SUFDL0IsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFbEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFBO0lBQzFELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUMvRCxNQUFNLFdBQVcsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLElBQUksYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUU5RSxPQUFPLENBQ0wsTUFBQyxZQUFZO1lBQ1gsS0FBQyxpQkFBaUIsSUFBQyxTQUFTLEVBQUMsNkNBQTZDLHlCQUV0RCxFQUNwQixLQUFDLG1CQUFtQixjQUNsQixNQUFDLFdBQVc7d0JBQ1YsS0FBQyxlQUFlLGNBQ2QsTUFBQyxpQkFBaUIsSUFDaEIsUUFBUSxFQUFFLE9BQU8sRUFDakIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQ3RDLE1BQU0sRUFBRSxLQUFDLElBQUksSUFBQyxFQUFFLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBSTtvQ0FFekQsS0FBQyxJQUFJLElBQUMsU0FBUyxFQUFDLFFBQVEsR0FBRyxFQUMzQiwwQ0FBeUI7b0NBQ1AsR0FDSixFQUNsQixNQUFDLGVBQWU7Z0NBQ2QsTUFBQyxpQkFBaUIsSUFBQyxTQUFTLEVBQUMsWUFBWTt3Q0FDdkMsS0FBQyxLQUFLLElBQUMsU0FBUyxFQUFDLFFBQVEsR0FBRyxFQUM1Qiw2Q0FBNEI7d0NBQ1YsRUFDcEIsS0FBQyxjQUFjLGNBQ1osTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTt3Q0FDbEIsTUFBTSxNQUFNLEdBQUcsVUFBVSxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUE7d0NBQ3hDLE9BQU8sQ0FDTCxLQUFDLGtCQUFrQixjQUNqQixLQUFDLG9CQUFvQixJQUNuQixRQUFRLEVBQUUsTUFBTSxFQUNoQixTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFDckMsTUFBTSxFQUNKLEtBQUMsSUFBSSxJQUNILEVBQUUsRUFBQyxJQUFJLEVBQ1AsTUFBTSxFQUFFO3dEQUNOLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO3FEQUMzQyxHQUNELFlBR0oseUJBQU8sS0FBSyxDQUFDLEtBQUssR0FBUSxHQUNMLElBZEEsS0FBSyxDQUFDLElBQUksQ0FlZCxDQUN0QixDQUFBO29DQUNILENBQUMsQ0FBQyxHQUNhO2dDQUNEO3dCQUNOLEdBQ007WUFDVCxDQUNoQixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmssIHVzZUxvY2F0aW9uIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXJcIlxuaW1wb3J0IHsgQ2xvY2ssIExpc3QgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcbmltcG9ydCB7XG4gIGN1cnJlbnRTZWN0aW9uLFxuICBzZWN0aW9uRmxhdEFydGljbGVzLFxuICBzb3J0ZWRBcnRpY2xlcyxcbn0gZnJvbSBcIi4uL2NvbnRlbnQvYXJ0aWNsZS50c1wiXG5pbXBvcnQge1xuICBTaWRlYmFyR3JvdXAsXG4gIFNpZGViYXJHcm91cENvbnRlbnQsXG4gIFNpZGViYXJHcm91cExhYmVsLFxuICBTaWRlYmFyTWVudSxcbiAgU2lkZWJhck1lbnVCdXR0b24sXG4gIFNpZGViYXJNZW51SXRlbSxcbiAgU2lkZWJhck1lbnVTdWIsXG4gIFNpZGViYXJNZW51U3ViQnV0dG9uLFxuICBTaWRlYmFyTWVudVN1Ykl0ZW0sXG59IGZyb20gXCIuLi9lbGVtZW50cy9zaWRlYmFyLnRzeFwiXG5cbi8qKiBDaGFuZ2Vsb2cgYm9keSBzbG90IGZvciB0aGUgU2lkZWJhciBzaGVsbDogQWxsIFJlbGVhc2VzIC8gUmVjZW50IFJlbGVhc2VzICovXG5leHBvcnQgZnVuY3Rpb24gU2lkZWJhclJlbGVhc2VzKCkge1xuICBjb25zdCBwYXRobmFtZSA9IHVzZUxvY2F0aW9uKHsgc2VsZWN0OiBsID0+IGwucGF0aG5hbWUgfSlcblxuICBjb25zdCBzZWN0aW9uID0gY3VycmVudFNlY3Rpb24oYC8ke3BhdGhuYW1lLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKX0vYClcbiAgY29uc3QgZmxhdCA9IHNlY3Rpb24gPyAoc2VjdGlvbkZsYXRBcnRpY2xlcy5nZXQoc2VjdGlvbi5wcmVmaXgpID8/IFtdKSA6IFtdXG4gIGNvbnN0IGVudHJpZXMgPSBmbGF0XG4gICAgLm1hcChwID0+IHNvcnRlZEFydGljbGVzLmZpbmQoYSA9PiBhLnBhdGggPT09IHApKVxuICAgIC5maWx0ZXIoYSA9PiBhICE9PSB1bmRlZmluZWQpXG4gIGNvbnN0IHJlY2VudCA9IGVudHJpZXMuc2xpY2UoMCwgNSlcblxuICBjb25zdCBub3JtYWxpemVkID0gYC8ke3BhdGhuYW1lLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKX0vYFxuICBjb25zdCBpc0luZGV4ID0gc2VjdGlvbiA/IG5vcm1hbGl6ZWQgPT09IHNlY3Rpb24ucHJlZml4IDogZmFsc2VcbiAgY29uc3Qgc2VjdGlvblBhdGggPSAoc2VjdGlvbj8ucHJlZml4ID8/IFwiL2NoYW5nZWxvZy9cIikucmVwbGFjZSgvXlxcL3xcXC8kL2csIFwiXCIpXG5cbiAgcmV0dXJuIChcbiAgICA8U2lkZWJhckdyb3VwPlxuICAgICAgPFNpZGViYXJHcm91cExhYmVsIGNsYXNzTmFtZT1cInVwcGVyY2FzZSBmb250LW1vbm8gdGV4dC14cyB0cmFja2luZy13aWRlc3RcIj5cbiAgICAgICAgUmVsZWFzZXNcbiAgICAgIDwvU2lkZWJhckdyb3VwTGFiZWw+XG4gICAgICA8U2lkZWJhckdyb3VwQ29udGVudD5cbiAgICAgICAgPFNpZGViYXJNZW51PlxuICAgICAgICAgIDxTaWRlYmFyTWVudUl0ZW0+XG4gICAgICAgICAgICA8U2lkZWJhck1lbnVCdXR0b25cbiAgICAgICAgICAgICAgaXNBY3RpdmU9e2lzSW5kZXh9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17aXNJbmRleCA/IFwiXCIgOiBcIm9wYWNpdHktNzVcIn1cbiAgICAgICAgICAgICAgcmVuZGVyPXs8TGluayB0bz1cIi8kXCIgcGFyYW1zPXt7IF9zcGxhdDogc2VjdGlvblBhdGggfX0gLz59XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxMaXN0IGNsYXNzTmFtZT1cInNpemUtNFwiIC8+XG4gICAgICAgICAgICAgIDxzcGFuPkFsbCBSZWxlYXNlczwvc3Bhbj5cbiAgICAgICAgICAgIDwvU2lkZWJhck1lbnVCdXR0b24+XG4gICAgICAgICAgPC9TaWRlYmFyTWVudUl0ZW0+XG4gICAgICAgICAgPFNpZGViYXJNZW51SXRlbT5cbiAgICAgICAgICAgIDxTaWRlYmFyTWVudUJ1dHRvbiBjbGFzc05hbWU9XCJvcGFjaXR5LTc1XCI+XG4gICAgICAgICAgICAgIDxDbG9jayBjbGFzc05hbWU9XCJzaXplLTRcIiAvPlxuICAgICAgICAgICAgICA8c3Bhbj5SZWNlbnQgUmVsZWFzZXM8L3NwYW4+XG4gICAgICAgICAgICA8L1NpZGViYXJNZW51QnV0dG9uPlxuICAgICAgICAgICAgPFNpZGViYXJNZW51U3ViPlxuICAgICAgICAgICAgICB7cmVjZW50Lm1hcChlbnRyeSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gbm9ybWFsaXplZCA9PT0gZW50cnkucGF0aFxuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8U2lkZWJhck1lbnVTdWJJdGVtIGtleT17ZW50cnkucGF0aH0+XG4gICAgICAgICAgICAgICAgICAgIDxTaWRlYmFyTWVudVN1YkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGlzQWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXthY3RpdmUgPyBcIlwiIDogXCJvcGFjaXR5LTc1XCJ9XG4gICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiLyRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfc3BsYXQ6IGVudHJ5LnBhdGgucmVwbGFjZSgvXlxcL3xcXC8kL2csIFwiXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57ZW50cnkudGl0bGV9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L1NpZGViYXJNZW51U3ViQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9TaWRlYmFyTWVudVN1Ykl0ZW0+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvU2lkZWJhck1lbnVTdWI+XG4gICAgICAgICAgPC9TaWRlYmFyTWVudUl0ZW0+XG4gICAgICAgIDwvU2lkZWJhck1lbnU+XG4gICAgICA8L1NpZGViYXJHcm91cENvbnRlbnQ+XG4gICAgPC9TaWRlYmFyR3JvdXA+XG4gIClcbn1cbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lkZWJhclJlbGVhc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvU2lkZWJhclJlbGVhc2VzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMxQyxPQUFPLEVBQ0wsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixjQUFjLEdBQ2YsTUFBTSx1QkFBdUIsQ0FBQTtBQUM5QixPQUFPLEVBQ0wsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixrQkFBa0IsR0FDbkIsTUFBTSx3QkFBeUIsQ0FBQTtBQUdoQyxnRkFBZ0Y7QUFDaEYsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFrQztJQUNoRSxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUV6RCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN4RixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQzNFLE1BQU0sT0FBTyxHQUFHLElBQUk7U0FDakIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDaEQsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFBO0lBQy9CLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBRWxDLE1BQU0sVUFBVSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQTtJQUMxRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7SUFDL0QsTUFBTSxXQUFXLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFFOUUsT0FBTyxDQUNMLE1BQUMsWUFBWSxlQUNYLEtBQUMsaUJBQWlCLElBQUMsU0FBUyxFQUFDLDZDQUE2Qyx5QkFFdEQsRUFDcEIsS0FBQyxtQkFBbUIsY0FDbEIsTUFBQyxXQUFXLGVBQ1YsS0FBQyxlQUFlLGNBQ2QsTUFBQyxpQkFBaUIsSUFDaEIsUUFBUSxFQUFFLE9BQU8sRUFDakIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQ3RDLE1BQU0sRUFBRSxLQUFDLElBQUksSUFBQyxFQUFFLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBSSxhQUV6RCxLQUFDLElBQUksSUFBQyxTQUFTLEVBQUMsUUFBUSxHQUFHLEVBQzNCLDBDQUF5QixJQUNQLEdBQ0osRUFDbEIsTUFBQyxlQUFlLGVBQ2QsTUFBQyxpQkFBaUIsSUFBQyxTQUFTLEVBQUMsWUFBWSxhQUN2QyxLQUFDLEtBQUssSUFBQyxTQUFTLEVBQUMsUUFBUSxHQUFHLEVBQzVCLDZDQUE0QixJQUNWLEVBQ3BCLEtBQUMsY0FBYyxjQUNaLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7d0NBQ2xCLE1BQU0sTUFBTSxHQUFHLFVBQVUsS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFBO3dDQUN4QyxPQUFPLENBQ0wsS0FBQyxrQkFBa0IsY0FDakIsS0FBQyxvQkFBb0IsSUFDbkIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQ3JDLE1BQU0sRUFDSixLQUFDLElBQUksSUFDSCxFQUFFLEVBQUMsSUFBSSxFQUNQLE1BQU0sRUFBRTt3REFDTixNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztxREFDM0MsR0FDRCxZQUdKLHlCQUFPLEtBQUssQ0FBQyxLQUFLLEdBQVEsR0FDTCxJQWRBLEtBQUssQ0FBQyxJQUFJLENBZWQsQ0FDdEIsQ0FBQTtvQ0FDSCxDQUFDLENBQUMsR0FDYSxJQUNELElBQ04sR0FDTSxJQUNULENBQ2hCLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGluaywgdXNlTG9jYXRpb24gfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LXJvdXRlclwiXG5pbXBvcnQgeyBDbG9jaywgTGlzdCB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuaW1wb3J0IHtcbiAgY3VycmVudFNlY3Rpb24sXG4gIHNlY3Rpb25GbGF0QXJ0aWNsZXMsXG4gIHNvcnRlZEFydGljbGVzLFxufSBmcm9tIFwiLi4vY29udGVudC9hcnRpY2xlLnRzXCJcbmltcG9ydCB7XG4gIFNpZGViYXJHcm91cCxcbiAgU2lkZWJhckdyb3VwQ29udGVudCxcbiAgU2lkZWJhckdyb3VwTGFiZWwsXG4gIFNpZGViYXJNZW51LFxuICBTaWRlYmFyTWVudUJ1dHRvbixcbiAgU2lkZWJhck1lbnVJdGVtLFxuICBTaWRlYmFyTWVudVN1YixcbiAgU2lkZWJhck1lbnVTdWJCdXR0b24sXG4gIFNpZGViYXJNZW51U3ViSXRlbSxcbn0gZnJvbSBcIi4uL2VsZW1lbnRzL3NpZGViYXIudHN4XCJcbmltcG9ydCB0eXBlIHsgUm91dGVkU2VjdGlvbiB9IGZyb20gXCIuLi9tb2RlbHMvc2VjdGlvbi50c1wiXG5cbi8qKiBDaGFuZ2Vsb2cgYm9keSBzbG90IGZvciB0aGUgU2lkZWJhciBzaGVsbDogQWxsIFJlbGVhc2VzIC8gUmVjZW50IFJlbGVhc2VzICovXG5leHBvcnQgZnVuY3Rpb24gU2lkZWJhclJlbGVhc2VzKHByb3BzOiB7IHNlY3Rpb24/OiBSb3V0ZWRTZWN0aW9uIH0pIHtcbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VMb2NhdGlvbih7IHNlbGVjdDogbCA9PiBsLnBhdGhuYW1lIH0pXG5cbiAgY29uc3Qgc2VjdGlvbiA9IHByb3BzLnNlY3Rpb24gPz8gY3VycmVudFNlY3Rpb24oYC8ke3BhdGhuYW1lLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKX0vYClcbiAgY29uc3QgZmxhdCA9IHNlY3Rpb24gPyAoc2VjdGlvbkZsYXRBcnRpY2xlcy5nZXQoc2VjdGlvbi5wcmVmaXgpID8/IFtdKSA6IFtdXG4gIGNvbnN0IGVudHJpZXMgPSBmbGF0XG4gICAgLm1hcChwID0+IHNvcnRlZEFydGljbGVzLmZpbmQoYSA9PiBhLnBhdGggPT09IHApKVxuICAgIC5maWx0ZXIoYSA9PiBhICE9PSB1bmRlZmluZWQpXG4gIGNvbnN0IHJlY2VudCA9IGVudHJpZXMuc2xpY2UoMCwgNSlcblxuICBjb25zdCBub3JtYWxpemVkID0gYC8ke3BhdGhuYW1lLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKX0vYFxuICBjb25zdCBpc0luZGV4ID0gc2VjdGlvbiA/IG5vcm1hbGl6ZWQgPT09IHNlY3Rpb24ucHJlZml4IDogZmFsc2VcbiAgY29uc3Qgc2VjdGlvblBhdGggPSAoc2VjdGlvbj8ucHJlZml4ID8/IFwiL2NoYW5nZWxvZy9cIikucmVwbGFjZSgvXlxcL3xcXC8kL2csIFwiXCIpXG5cbiAgcmV0dXJuIChcbiAgICA8U2lkZWJhckdyb3VwPlxuICAgICAgPFNpZGViYXJHcm91cExhYmVsIGNsYXNzTmFtZT1cInVwcGVyY2FzZSBmb250LW1vbm8gdGV4dC14cyB0cmFja2luZy13aWRlc3RcIj5cbiAgICAgICAgUmVsZWFzZXNcbiAgICAgIDwvU2lkZWJhckdyb3VwTGFiZWw+XG4gICAgICA8U2lkZWJhckdyb3VwQ29udGVudD5cbiAgICAgICAgPFNpZGViYXJNZW51PlxuICAgICAgICAgIDxTaWRlYmFyTWVudUl0ZW0+XG4gICAgICAgICAgICA8U2lkZWJhck1lbnVCdXR0b25cbiAgICAgICAgICAgICAgaXNBY3RpdmU9e2lzSW5kZXh9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17aXNJbmRleCA/IFwiXCIgOiBcIm9wYWNpdHktNzVcIn1cbiAgICAgICAgICAgICAgcmVuZGVyPXs8TGluayB0bz1cIi8kXCIgcGFyYW1zPXt7IF9zcGxhdDogc2VjdGlvblBhdGggfX0gLz59XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxMaXN0IGNsYXNzTmFtZT1cInNpemUtNFwiIC8+XG4gICAgICAgICAgICAgIDxzcGFuPkFsbCBSZWxlYXNlczwvc3Bhbj5cbiAgICAgICAgICAgIDwvU2lkZWJhck1lbnVCdXR0b24+XG4gICAgICAgICAgPC9TaWRlYmFyTWVudUl0ZW0+XG4gICAgICAgICAgPFNpZGViYXJNZW51SXRlbT5cbiAgICAgICAgICAgIDxTaWRlYmFyTWVudUJ1dHRvbiBjbGFzc05hbWU9XCJvcGFjaXR5LTc1XCI+XG4gICAgICAgICAgICAgIDxDbG9jayBjbGFzc05hbWU9XCJzaXplLTRcIiAvPlxuICAgICAgICAgICAgICA8c3Bhbj5SZWNlbnQgUmVsZWFzZXM8L3NwYW4+XG4gICAgICAgICAgICA8L1NpZGViYXJNZW51QnV0dG9uPlxuICAgICAgICAgICAgPFNpZGViYXJNZW51U3ViPlxuICAgICAgICAgICAgICB7cmVjZW50Lm1hcChlbnRyeSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gbm9ybWFsaXplZCA9PT0gZW50cnkucGF0aFxuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8U2lkZWJhck1lbnVTdWJJdGVtIGtleT17ZW50cnkucGF0aH0+XG4gICAgICAgICAgICAgICAgICAgIDxTaWRlYmFyTWVudVN1YkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGlzQWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXthY3RpdmUgPyBcIlwiIDogXCJvcGFjaXR5LTc1XCJ9XG4gICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiLyRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfc3BsYXQ6IGVudHJ5LnBhdGgucmVwbGFjZSgvXlxcL3xcXC8kL2csIFwiXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57ZW50cnkudGl0bGV9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L1NpZGViYXJNZW51U3ViQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9TaWRlYmFyTWVudVN1Ykl0ZW0+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvU2lkZWJhck1lbnVTdWI+XG4gICAgICAgICAgPC9TaWRlYmFyTWVudUl0ZW0+XG4gICAgICAgIDwvU2lkZWJhck1lbnU+XG4gICAgICA8L1NpZGViYXJHcm91cENvbnRlbnQ+XG4gICAgPC9TaWRlYmFyR3JvdXA+XG4gIClcbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ import type { RoutedSection } from "../models/section.ts";
2
+ /** Mobile Sections group: a select-like trigger opening a bottom sheet that swaps the
3
+ * sidebar body to another section without navigating; custom sections still navigate
4
+ * to their URL. */
5
+ export declare function SidebarSectionPicker(props: {
6
+ section: RoutedSection;
7
+ onSelect: (section: RoutedSection) => void;
8
+ }): import("react").JSX.Element;
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { config } from "livemark:virtual";
3
+ import { ChevronDownIcon } from "lucide-react";
4
+ import { DynamicIcon } from "../helpers/dynamic-icon.js";
5
+ import { prefixUrl } from "../helpers/prefix-url.js";
6
+ import { SidebarGroup, SidebarGroupContent, SidebarGroupLabel, } from "../elements/sidebar.js";
7
+ import { MenuSheet } from "./MenuSheet.js";
8
+ /** Mobile Sections group: a select-like trigger opening a bottom sheet that swaps the
9
+ * sidebar body to another section without navigating; custom sections still navigate
10
+ * to their URL. */
11
+ export function SidebarSectionPicker(props) {
12
+ const sections = config.sections ?? [];
13
+ const selectSection = (picked) => {
14
+ if (picked.type === "custom") {
15
+ window.location.assign(prefixUrl(picked.url, config.base));
16
+ return;
17
+ }
18
+ props.onSelect(picked);
19
+ };
20
+ return (_jsxs(SidebarGroup, { children: [_jsx(SidebarGroupLabel, { className: "uppercase font-mono text-xs tracking-widest", children: "Sections" }), _jsx(SidebarGroupContent, { children: _jsxs(MenuSheet, { title: "Choose section", items: sections.map(s => ({
21
+ id: sectionKey(s),
22
+ label: s.title,
23
+ icon: s.icon ? _jsx(DynamicIcon, { name: s.icon, className: "size-4" }) : undefined,
24
+ active: s.type !== "custom" && s.prefix === props.section.prefix,
25
+ onSelect: () => selectSection(s),
26
+ })), trigger: _jsx("button", { type: "button", "aria-label": "Section", "aria-haspopup": "dialog", className: "flex h-9 w-full min-w-0 cursor-pointer items-center gap-2 rounded-control border border-input bg-transparent px-3 text-left text-sm shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 dark:bg-input/30 dark:hover:bg-input/50" }), children: [props.section.icon && (_jsx(DynamicIcon, { name: props.section.icon, className: "size-4 shrink-0" })), _jsx("span", { className: "flex-1 truncate", children: props.section.title }), _jsx(ChevronDownIcon, { className: "size-4 shrink-0 text-muted-foreground", "aria-hidden": "true" })] }) })] }));
27
+ }
28
+ function sectionKey(section) {
29
+ return section.type === "custom" ? `url:${section.url}` : section.prefix;
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lkZWJhclNlY3Rpb25QaWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvY29tcG9uZW50cy9TaWRlYmFyU2VjdGlvblBpY2tlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNkIsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDcEQsT0FBTyxFQUNMLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsaUJBQWlCLEdBQ2xCLE1BQU0sd0JBQXlCLENBQUE7QUFFaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFpQixDQUFBO0FBRTNDOzttQkFFbUI7QUFDbkIsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBR3BDO0lBQ0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUE7SUFFdEMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtRQUN4QyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDN0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7WUFDMUQsT0FBTTtRQUNSLENBQUM7UUFDRCxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3hCLENBQUMsQ0FBQTtJQUVELE9BQU8sQ0FDTCxNQUFDLFlBQVksZUFDWCxLQUFDLGlCQUFpQixJQUFDLFNBQVMsRUFBQyw2Q0FBNkMseUJBRXRELEVBQ3BCLEtBQUMsbUJBQW1CLGNBQ2xCLE1BQUMsU0FBUyxJQUNSLEtBQUssRUFBQyxnQkFBZ0IsRUFDdEIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN4QixFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQzt3QkFDakIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3dCQUNkLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFDLFdBQVcsSUFBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVM7d0JBQzNFLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTTt3QkFDaEUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7cUJBQ2pDLENBQUMsQ0FBQyxFQUNILE9BQU8sRUFDTCxpQkFDRSxJQUFJLEVBQUMsUUFBUSxnQkFDRixTQUFTLG1CQUNOLFFBQVEsRUFDdEIsU0FBUyxFQUFDLDRTQUE0UyxHQUN0VCxhQUdILEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQ3JCLEtBQUMsV0FBVyxJQUFDLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUMsaUJBQWlCLEdBQUcsQ0FDdEUsRUFDRCxlQUFNLFNBQVMsRUFBQyxpQkFBaUIsWUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBUSxFQUM5RCxLQUFDLGVBQWUsSUFDZCxTQUFTLEVBQUMsdUNBQXVDLGlCQUNyQyxNQUFNLEdBQ2xCLElBQ1EsR0FDUSxJQUNULENBQ2hCLENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsT0FBZ0I7SUFDbEMsT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUE7QUFDMUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCJsaXZlbWFyazp2aXJ0dWFsXCJcbmltcG9ydCB7IENoZXZyb25Eb3duSWNvbiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuaW1wb3J0IHsgRHluYW1pY0ljb24gfSBmcm9tIFwiLi4vaGVscGVycy9keW5hbWljLWljb24udHN4XCJcbmltcG9ydCB7IHByZWZpeFVybCB9IGZyb20gXCIuLi9oZWxwZXJzL3ByZWZpeC11cmwudHNcIlxuaW1wb3J0IHtcbiAgU2lkZWJhckdyb3VwLFxuICBTaWRlYmFyR3JvdXBDb250ZW50LFxuICBTaWRlYmFyR3JvdXBMYWJlbCxcbn0gZnJvbSBcIi4uL2VsZW1lbnRzL3NpZGViYXIudHN4XCJcbmltcG9ydCB0eXBlIHsgUm91dGVkU2VjdGlvbiwgU2VjdGlvbiB9IGZyb20gXCIuLi9tb2RlbHMvc2VjdGlvbi50c1wiXG5pbXBvcnQgeyBNZW51U2hlZXQgfSBmcm9tIFwiLi9NZW51U2hlZXQudHN4XCJcblxuLyoqIE1vYmlsZSBTZWN0aW9ucyBncm91cDogYSBzZWxlY3QtbGlrZSB0cmlnZ2VyIG9wZW5pbmcgYSBib3R0b20gc2hlZXQgdGhhdCBzd2FwcyB0aGVcbiAqIHNpZGViYXIgYm9keSB0byBhbm90aGVyIHNlY3Rpb24gd2l0aG91dCBuYXZpZ2F0aW5nOyBjdXN0b20gc2VjdGlvbnMgc3RpbGwgbmF2aWdhdGVcbiAqIHRvIHRoZWlyIFVSTC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTaWRlYmFyU2VjdGlvblBpY2tlcihwcm9wczoge1xuICBzZWN0aW9uOiBSb3V0ZWRTZWN0aW9uXG4gIG9uU2VsZWN0OiAoc2VjdGlvbjogUm91dGVkU2VjdGlvbikgPT4gdm9pZFxufSkge1xuICBjb25zdCBzZWN0aW9ucyA9IGNvbmZpZy5zZWN0aW9ucyA/PyBbXVxuXG4gIGNvbnN0IHNlbGVjdFNlY3Rpb24gPSAocGlja2VkOiBTZWN0aW9uKSA9PiB7XG4gICAgaWYgKHBpY2tlZC50eXBlID09PSBcImN1c3RvbVwiKSB7XG4gICAgICB3aW5kb3cubG9jYXRpb24uYXNzaWduKHByZWZpeFVybChwaWNrZWQudXJsLCBjb25maWcuYmFzZSkpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgcHJvcHMub25TZWxlY3QocGlja2VkKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U2lkZWJhckdyb3VwPlxuICAgICAgPFNpZGViYXJHcm91cExhYmVsIGNsYXNzTmFtZT1cInVwcGVyY2FzZSBmb250LW1vbm8gdGV4dC14cyB0cmFja2luZy13aWRlc3RcIj5cbiAgICAgICAgU2VjdGlvbnNcbiAgICAgIDwvU2lkZWJhckdyb3VwTGFiZWw+XG4gICAgICA8U2lkZWJhckdyb3VwQ29udGVudD5cbiAgICAgICAgPE1lbnVTaGVldFxuICAgICAgICAgIHRpdGxlPVwiQ2hvb3NlIHNlY3Rpb25cIlxuICAgICAgICAgIGl0ZW1zPXtzZWN0aW9ucy5tYXAocyA9PiAoe1xuICAgICAgICAgICAgaWQ6IHNlY3Rpb25LZXkocyksXG4gICAgICAgICAgICBsYWJlbDogcy50aXRsZSxcbiAgICAgICAgICAgIGljb246IHMuaWNvbiA/IDxEeW5hbWljSWNvbiBuYW1lPXtzLmljb259IGNsYXNzTmFtZT1cInNpemUtNFwiIC8+IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgYWN0aXZlOiBzLnR5cGUgIT09IFwiY3VzdG9tXCIgJiYgcy5wcmVmaXggPT09IHByb3BzLnNlY3Rpb24ucHJlZml4LFxuICAgICAgICAgICAgb25TZWxlY3Q6ICgpID0+IHNlbGVjdFNlY3Rpb24ocyksXG4gICAgICAgICAgfSkpfVxuICAgICAgICAgIHRyaWdnZXI9e1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNlY3Rpb25cIlxuICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwiZGlhbG9nXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleCBoLTkgdy1mdWxsIG1pbi13LTAgY3Vyc29yLXBvaW50ZXIgaXRlbXMtY2VudGVyIGdhcC0yIHJvdW5kZWQtY29udHJvbCBib3JkZXIgYm9yZGVyLWlucHV0IGJnLXRyYW5zcGFyZW50IHB4LTMgdGV4dC1sZWZ0IHRleHQtc20gc2hhZG93LXhzIHRyYW5zaXRpb24tW2NvbG9yLGJveC1zaGFkb3ddIG91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOmJvcmRlci1yaW5nIGZvY3VzLXZpc2libGU6cmluZy0zIGZvY3VzLXZpc2libGU6cmluZy1yaW5nLzUwIGRhcms6YmctaW5wdXQvMzAgZGFyazpob3ZlcjpiZy1pbnB1dC81MFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH1cbiAgICAgICAgPlxuICAgICAgICAgIHtwcm9wcy5zZWN0aW9uLmljb24gJiYgKFxuICAgICAgICAgICAgPER5bmFtaWNJY29uIG5hbWU9e3Byb3BzLnNlY3Rpb24uaWNvbn0gY2xhc3NOYW1lPVwic2l6ZS00IHNocmluay0wXCIgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZsZXgtMSB0cnVuY2F0ZVwiPntwcm9wcy5zZWN0aW9uLnRpdGxlfTwvc3Bhbj5cbiAgICAgICAgICA8Q2hldnJvbkRvd25JY29uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJzaXplLTQgc2hyaW5rLTAgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9NZW51U2hlZXQ+XG4gICAgICA8L1NpZGViYXJHcm91cENvbnRlbnQ+XG4gICAgPC9TaWRlYmFyR3JvdXA+XG4gIClcbn1cblxuZnVuY3Rpb24gc2VjdGlvbktleShzZWN0aW9uOiBTZWN0aW9uKSB7XG4gIHJldHVybiBzZWN0aW9uLnR5cGUgPT09IFwiY3VzdG9tXCIgPyBgdXJsOiR7c2VjdGlvbi51cmx9YCA6IHNlY3Rpb24ucHJlZml4XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
1
  /** Shared Sections group. Renders sidebar-positioned sections always, and
2
2
  * header-positioned sections only on mobile (mobile collapses all sections
3
3
  * into the sidebar since the header nav strip is hidden below `md`). */
4
- export declare function SidebarSections(): import("react/jsx-runtime").JSX.Element | null;
4
+ export declare function SidebarSections(): import("react").JSX.Element | null;
@@ -22,22 +22,18 @@ export function SidebarSections() {
22
22
  if (!sections.length)
23
23
  return null;
24
24
  const hasDesktopItems = sections.some(s => s.position === "sidebar");
25
- return (_jsxs(SidebarGroup, { className: hasDesktopItems ? undefined : "lg:hidden", children: [
26
- _jsx(SidebarGroupLabel, { className: "uppercase font-mono text-xs tracking-widest", children: "Sections" }), _jsx(SidebarGroupContent, { children: _jsx(SidebarMenu, { children: sections.map(s => {
25
+ return (_jsxs(SidebarGroup, { className: hasDesktopItems ? undefined : "lg:hidden", children: [_jsx(SidebarGroupLabel, { className: "uppercase font-mono text-xs tracking-widest", children: "Sections" }), _jsx(SidebarGroupContent, { children: _jsx(SidebarMenu, { children: sections.map(s => {
27
26
  const mobileOnly = s.position !== "sidebar";
28
27
  const icon = s.icon;
29
28
  if (s.type === "custom") {
30
29
  const active = customSectionActive(s.url, pathname);
31
- return (_jsx(SidebarMenuItem, { className: mobileOnly ? "lg:hidden" : undefined, children: _jsxs(SidebarMenuButton, { isActive: active, className: active ? "" : "opacity-75", render: _jsx("a", { href: prefixUrl(s.url, config.base) }), children: [icon && _jsx(DynamicIcon, { name: icon, className: "size-4" }), _jsx("span", { children: s.title })
32
- ] }) }, s.url));
30
+ return (_jsx(SidebarMenuItem, { className: mobileOnly ? "lg:hidden" : undefined, children: _jsxs(SidebarMenuButton, { isActive: active, className: active ? "" : "opacity-75", render: _jsx("a", { href: prefixUrl(s.url, config.base) }), children: [icon && _jsx(DynamicIcon, { name: icon, className: "size-4" }), _jsx("span", { children: s.title })] }) }, s.url));
33
31
  }
34
32
  const target = s.type === "blog" || s.type === "changelog"
35
33
  ? s.prefix
36
34
  : (sectionFirstArticle.get(s.prefix) ?? s.prefix);
37
35
  const active = section?.prefix === s.prefix;
38
- return (_jsx(SidebarMenuItem, { className: mobileOnly ? "lg:hidden" : undefined, children: _jsxs(SidebarMenuButton, { isActive: active, className: active ? "" : "opacity-75", render: _jsx(Link, { to: target === "/" ? "/" : "/$", params: target && target !== "/" ? splatFor(target) : {} }), children: [icon && _jsx(DynamicIcon, { name: icon, className: "size-4" }), _jsx("span", { children: s.title })
39
- ] }) }, s.prefix));
40
- }) }) })
41
- ] }));
36
+ return (_jsx(SidebarMenuItem, { className: mobileOnly ? "lg:hidden" : undefined, children: _jsxs(SidebarMenuButton, { isActive: active, className: active ? "" : "opacity-75", render: _jsx(Link, { to: target === "/" ? "/" : "/$", params: target && target !== "/" ? splatFor(target) : {} }), children: [icon && _jsx(DynamicIcon, { name: icon, className: "size-4" }), _jsx("span", { children: s.title })] }) }, s.prefix));
37
+ }) }) })] }));
42
38
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lkZWJhclNlY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvU2lkZWJhclNlY3Rpb25zLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTZCLENBQUE7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNELE9BQU8sRUFDTCxZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGVBQWUsR0FDaEIsTUFBTSx3QkFBeUIsQ0FBQTtBQUVoQyxTQUFTLFFBQVEsQ0FBQyxRQUFnQjtJQUNoQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUE7QUFDckQsQ0FBQztBQUVEOzt3RUFFd0U7QUFDeEUsTUFBTSxVQUFVLGVBQWU7SUFDN0IsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDekQsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUNqRSxNQUFNLE9BQU8sR0FBRyxZQUFZO1FBQzFCLENBQUMs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SSxLQUFDLFdBQVcsSUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBQyxRQUFRLEdBQUcsRUFDdkQseUJBQU8sQ0FBQyxDQUFDLEtBQUssR0FBUTtvQ0FDSixJQWZmLENBQUMsQ0FBQyxNQUFNLENBZ0JHLENBQ25CLENBQUE7b0JBQ0gsQ0FBQyxDQUFDLEdBQ1UsR0FDTTtZQUNULENBQ2hCLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcImxpdmVtYXJrOnZpcnR1YWxcIlxuaW1wb3J0IHsgTGluaywgdXNlTG9jYXRpb24sIHVzZU1hdGNoIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXJcIlxuaW1wb3J0IHsgY3VycmVudFNlY3Rpb24sIHNlY3Rpb25GaXJzdEFydGljbGUgfSBmcm9tIFwiLi4vY29udGVudC9hcnRpY2xlLnRzXCJcbmltcG9ydCB7IER5bmFtaWNJY29uIH0gZnJvbSBcIi4uL2hlbHBlcnMvZHluYW1pYy1pY29uLnRzeFwiXG5pbXBvcnQgeyBwcmVmaXhVcmwgfSBmcm9tIFwiLi4vaGVscGVycy9wcmVmaXgtdXJsLnRzXCJcbmltcG9ydCB7IGN1c3RvbVNlY3Rpb25BY3RpdmUgfSBmcm9tIFwiLi4vaGVscGVycy9zZWN0aW9uLnRzXCJcbmltcG9ydCB7XG4gIFNpZGViYXJHcm91cCxcbiAgU2lkZWJhckdyb3VwQ29udGVudCxcbiAgU2lkZWJhckdyb3VwTGFiZWwsXG4gIFNpZGViYXJNZW51LFxuICBTaWRlYmFyTWVudUJ1dHRvbixcbiAgU2lkZWJhck1lbnVJdGVtLFxufSBmcm9tIFwiLi4vZWxlbWVudHMvc2lkZWJhci50c3hcIlxuXG5mdW5jdGlvbiBzcGxhdEZvcihwYXRobmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiB7IF9zcGxhdDogcGF0aG5hbWUucmVwbGFjZSgvXlxcL3xcXC8kL2csIFwiXCIpIH1cbn1cblxuLyoqIFNoYXJlZCBTZWN0aW9ucyBncm91cC4gUmVuZGVycyBzaWRlYmFyLXBvc2l0aW9uZWQgc2VjdGlvbnMgYWx3YXlzLCBhbmRcbiAqIGhlYWRlci1wb3NpdGlvbmVkIHNlY3Rpb25zIG9ubHkgb24gbW9iaWxlIChtb2JpbGUgY29sbGFwc2VzIGFsbCBzZWN0aW9uc1xuICogaW50byB0aGUgc2lkZWJhciBzaW5jZSB0aGUgaGVhZGVyIG5hdiBzdHJpcCBpcyBoaWRkZW4gYmVsb3cgYG1kYCkuICovXG5leHBvcnQgZnVuY3Rpb24gU2lkZWJhclNlY3Rpb25zKCkge1xuICBjb25zdCBwYXRobmFtZSA9IHVzZUxvY2F0aW9uKHsgc2VsZWN0OiBsID0+IGwucGF0aG5hbWUgfSlcbiAgY29uc3QgYXJ0aWNsZVJvdXRlID0gdXNlTWF0Y2goeyBmcm9tOiBcIi8kXCIsIHNob3VsZFRocm93OiBmYWxzZSB9KVxuICBjb25zdCBzZWN0aW9uID0gYXJ0aWNsZVJvdXRlXG4gICAgPyBjdXJyZW50U2VjdGlvbihgLyR7cGF0aG5hbWUucmVwbGFjZSgvXlxcL3xcXC8kL2csIFwiXCIpfS9gKVxuICAgIDogdW5kZWZpbmVkXG4gIGNvbnN0IHNlY3Rpb25zID0gY29uZmlnLnNlY3Rpb25zID8/IFtdXG5cbiAgaWYgKCFzZWN0aW9ucy5sZW5ndGgpIHJldHVybiBudWxsXG4gIGNvbnN0IGhhc0Rlc2t0b3BJdGVtcyA9IHNlY3Rpb25zLnNvbWUocyA9PiBzLnBvc2l0aW9uID09PSBcInNpZGViYXJcIilcblxuICByZXR1cm4gKFxuICAgIDxTaWRlYmFyR3JvdXAgY2xhc3NOYW1lPXtoYXNEZXNrdG9wSXRlbXMgPyB1bmRlZmluZWQgOiBcImxnOmhpZGRlblwifT5cbiAgICAgIDxTaWRlYmFyR3JvdXBMYWJlbCBjbGFzc05hbWU9XCJ1cHBlcmNhc2UgZm9udC1tb25vIHRleHQteHMgdHJhY2tpbmctd2lkZXN0XCI+XG4gICAgICAgIFNlY3Rpb25zXG4gICAgICA8L1NpZGViYXJHcm91cExhYmVsPlxuICAgICAgPFNpZGViYXJHcm91cENvbnRlbnQ+XG4gICAgICAgIDxTaWRlYmFyTWVudT5cbiAgICAgICAgICB7c2VjdGlvbnMubWFwKHMgPT4ge1xuICAgICAgICAgICAgY29uc3QgbW9iaWxlT25seSA9IHMucG9zaXRpb24gIT09IFwic2lkZWJhclwiXG4gICAgICAgICAgICBjb25zdCBpY29uID0gcy5pY29uXG4gICAgICAgICAgICBpZiAocy50eXBlID09PSBcImN1c3RvbVwiKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IGN1c3RvbVNlY3Rpb25BY3RpdmUocy51cmwsIHBhdGhuYW1lKVxuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxTaWRlYmFyTWVudUl0ZW1cbiAgICAgICAgICAgICAgICAgIGtleT17cy51cmx9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e21vYmlsZU9ubHkgPyBcImxnOmhpZGRlblwiIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTaWRlYmFyTWVudUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2FjdGl2ZSA/IFwiXCIgOiBcIm9wYWNpdHktNzVcIn1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXs8YSBocmVmPXtwcmVmaXhVcmwocy51cmwsIGNvbmZpZy5iYXNlKX0gLz59XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtpY29uICYmIDxEeW5hbWljSWNvbiBuYW1lPXtpY29ufSBjbGFzc05hbWU9XCJzaXplLTRcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3MudGl0bGV9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9TaWRlYmFyTWVudUJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1NpZGViYXJNZW51SXRlbT5cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID1cbiAgICAgICAgICAgICAgcy50eXBlID09PSBcImJsb2dcIiB8fCBzLnR5cGUgPT09IFwiY2hhbmdlbG9nXCJcbiAgICAgICAgICAgICAgICA/IHMucHJlZml4XG4gICAgICAgICAgICAgICAgOiAoc2VjdGlvbkZpcnN0QXJ0aWNsZS5nZXQocy5wcmVmaXgpID8/IHMucHJlZml4KVxuICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gc2VjdGlvbj8ucHJlZml4ID09PSBzLnByZWZpeFxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFNpZGViYXJNZW51SXRlbVxuICAgICAgICAgICAgICAgIGtleT17cy5wcmVmaXh9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXttb2JpbGVPbmx5ID8gXCJsZzpoaWRkZW5cIiA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTaWRlYmFyTWVudUJ1dHRvblxuICAgICAgICAgICAgICAgICAgaXNBY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YWN0aXZlID8gXCJcIiA6IFwib3BhY2l0eS03NVwifVxuICAgICAgICAgICAgICAgICAgcmVuZGVyPXtcbiAgICAgICAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICAgICAgICB0bz17dGFyZ2V0ID09PSBcIi9cIiA/IFwiL1wiIDogXCIvJFwifVxuICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcz17dGFyZ2V0ICYmIHRhcmdldCAhPT0gXCIvXCIgPyBzcGxhdEZvcih0YXJnZXQpIDoge319XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ljb24gJiYgPER5bmFtaWNJY29uIG5hbWU9e2ljb259IGNsYXNzTmFtZT1cInNpemUtNFwiIC8+fVxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3MudGl0bGV9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVCdXR0b24+XG4gICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVJdGVtPlxuICAgICAgICAgICAgKVxuICAgICAgICAgIH0pfVxuICAgICAgICA8L1NpZGViYXJNZW51PlxuICAgICAgPC9TaWRlYmFyR3JvdXBDb250ZW50PlxuICAgIDwvU2lkZWJhckdyb3VwPlxuICApXG59XG4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lkZWJhclNlY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvU2lkZWJhclNlY3Rpb25zLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTZCLENBQUE7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNELE9BQU8sRUFDTCxZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGVBQWUsR0FDaEIsTUFBTSx3QkFBeUIsQ0FBQTtBQUVoQyxTQUFTLFFBQVEsQ0FBQyxRQUFnQjtJQUNoQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUE7QUFDckQsQ0FBQztBQUVEOzt3RUFFd0U7QUFDeEUsTUFBTSxVQUFVLGVBQWU7SUFDN0IsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDekQsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUNqRSxNQUFNLE9BQU8sR0FBRyxZQUFZO1FBQzFCLENBQUMs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LEtBQUMsV0FBVyxJQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFDLFFBQVEsR0FBRyxFQUN2RCx5QkFBTyxDQUFDLENBQUMsS0FBSyxHQUFRLElBQ0osSUFmZixDQUFDLENBQUMsTUFBTSxDQWdCRyxDQUNuQixDQUFBO29CQUNILENBQUMsQ0FBQyxHQUNVLEdBQ00sSUFDVCxDQUNoQixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCJsaXZlbWFyazp2aXJ0dWFsXCJcbmltcG9ydCB7IExpbmssIHVzZUxvY2F0aW9uLCB1c2VNYXRjaCB9IGZyb20gXCJAdGFuc3RhY2svcmVhY3Qtcm91dGVyXCJcbmltcG9ydCB7IGN1cnJlbnRTZWN0aW9uLCBzZWN0aW9uRmlyc3RBcnRpY2xlIH0gZnJvbSBcIi4uL2NvbnRlbnQvYXJ0aWNsZS50c1wiXG5pbXBvcnQgeyBEeW5hbWljSWNvbiB9IGZyb20gXCIuLi9oZWxwZXJzL2R5bmFtaWMtaWNvbi50c3hcIlxuaW1wb3J0IHsgcHJlZml4VXJsIH0gZnJvbSBcIi4uL2hlbHBlcnMvcHJlZml4LXVybC50c1wiXG5pbXBvcnQgeyBjdXN0b21TZWN0aW9uQWN0aXZlIH0gZnJvbSBcIi4uL2hlbHBlcnMvc2VjdGlvbi50c1wiXG5pbXBvcnQge1xuICBTaWRlYmFyR3JvdXAsXG4gIFNpZGViYXJHcm91cENvbnRlbnQsXG4gIFNpZGViYXJHcm91cExhYmVsLFxuICBTaWRlYmFyTWVudSxcbiAgU2lkZWJhck1lbnVCdXR0b24sXG4gIFNpZGViYXJNZW51SXRlbSxcbn0gZnJvbSBcIi4uL2VsZW1lbnRzL3NpZGViYXIudHN4XCJcblxuZnVuY3Rpb24gc3BsYXRGb3IocGF0aG5hbWU6IHN0cmluZykge1xuICByZXR1cm4geyBfc3BsYXQ6IHBhdGhuYW1lLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKSB9XG59XG5cbi8qKiBTaGFyZWQgU2VjdGlvbnMgZ3JvdXAuIFJlbmRlcnMgc2lkZWJhci1wb3NpdGlvbmVkIHNlY3Rpb25zIGFsd2F5cywgYW5kXG4gKiBoZWFkZXItcG9zaXRpb25lZCBzZWN0aW9ucyBvbmx5IG9uIG1vYmlsZSAobW9iaWxlIGNvbGxhcHNlcyBhbGwgc2VjdGlvbnNcbiAqIGludG8gdGhlIHNpZGViYXIgc2luY2UgdGhlIGhlYWRlciBuYXYgc3RyaXAgaXMgaGlkZGVuIGJlbG93IGBtZGApLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNpZGViYXJTZWN0aW9ucygpIHtcbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VMb2NhdGlvbih7IHNlbGVjdDogbCA9PiBsLnBhdGhuYW1lIH0pXG4gIGNvbnN0IGFydGljbGVSb3V0ZSA9IHVzZU1hdGNoKHsgZnJvbTogXCIvJFwiLCBzaG91bGRUaHJvdzogZmFsc2UgfSlcbiAgY29uc3Qgc2VjdGlvbiA9IGFydGljbGVSb3V0ZVxuICAgID8gY3VycmVudFNlY3Rpb24oYC8ke3BhdGhuYW1lLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKX0vYClcbiAgICA6IHVuZGVmaW5lZFxuICBjb25zdCBzZWN0aW9ucyA9IGNvbmZpZy5zZWN0aW9ucyA/PyBbXVxuXG4gIGlmICghc2VjdGlvbnMubGVuZ3RoKSByZXR1cm4gbnVsbFxuICBjb25zdCBoYXNEZXNrdG9wSXRlbXMgPSBzZWN0aW9ucy5zb21lKHMgPT4gcy5wb3NpdGlvbiA9PT0gXCJzaWRlYmFyXCIpXG5cbiAgcmV0dXJuIChcbiAgICA8U2lkZWJhckdyb3VwIGNsYXNzTmFtZT17aGFzRGVza3RvcEl0ZW1zID8gdW5kZWZpbmVkIDogXCJsZzpoaWRkZW5cIn0+XG4gICAgICA8U2lkZWJhckdyb3VwTGFiZWwgY2xhc3NOYW1lPVwidXBwZXJjYXNlIGZvbnQtbW9ubyB0ZXh0LXhzIHRyYWNraW5nLXdpZGVzdFwiPlxuICAgICAgICBTZWN0aW9uc1xuICAgICAgPC9TaWRlYmFyR3JvdXBMYWJlbD5cbiAgICAgIDxTaWRlYmFyR3JvdXBDb250ZW50PlxuICAgICAgICA8U2lkZWJhck1lbnU+XG4gICAgICAgICAge3NlY3Rpb25zLm1hcChzID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1vYmlsZU9ubHkgPSBzLnBvc2l0aW9uICE9PSBcInNpZGViYXJcIlxuICAgICAgICAgICAgY29uc3QgaWNvbiA9IHMuaWNvblxuICAgICAgICAgICAgaWYgKHMudHlwZSA9PT0gXCJjdXN0b21cIikge1xuICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBjdXN0b21TZWN0aW9uQWN0aXZlKHMudXJsLCBwYXRobmFtZSlcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8U2lkZWJhck1lbnVJdGVtXG4gICAgICAgICAgICAgICAgICBrZXk9e3MudXJsfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXttb2JpbGVPbmx5ID8gXCJsZzpoaWRkZW5cIiA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8U2lkZWJhck1lbnVCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgaXNBY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXthY3RpdmUgPyBcIlwiIDogXCJvcGFjaXR5LTc1XCJ9XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcj17PGEgaHJlZj17cHJlZml4VXJsKHMudXJsLCBjb25maWcuYmFzZSl9IC8+fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7aWNvbiAmJiA8RHluYW1pY0ljb24gbmFtZT17aWNvbn0gY2xhc3NOYW1lPVwic2l6ZS00XCIgLz59XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPntzLnRpdGxlfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVCdXR0b24+XG4gICAgICAgICAgICAgICAgPC9TaWRlYmFyTWVudUl0ZW0+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9XG4gICAgICAgICAgICAgIHMudHlwZSA9PT0gXCJibG9nXCIgfHwgcy50eXBlID09PSBcImNoYW5nZWxvZ1wiXG4gICAgICAgICAgICAgICAgPyBzLnByZWZpeFxuICAgICAgICAgICAgICAgIDogKHNlY3Rpb25GaXJzdEFydGljbGUuZ2V0KHMucHJlZml4KSA/PyBzLnByZWZpeClcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IHNlY3Rpb24/LnByZWZpeCA9PT0gcy5wcmVmaXhcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxTaWRlYmFyTWVudUl0ZW1cbiAgICAgICAgICAgICAgICBrZXk9e3MucHJlZml4fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bW9iaWxlT25seSA/IFwibGc6aGlkZGVuXCIgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U2lkZWJhck1lbnVCdXR0b25cbiAgICAgICAgICAgICAgICAgIGlzQWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2FjdGl2ZSA/IFwiXCIgOiBcIm9wYWNpdHktNzVcIn1cbiAgICAgICAgICAgICAgICAgIHJlbmRlcj17XG4gICAgICAgICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgdG89e3RhcmdldCA9PT0gXCIvXCIgPyBcIi9cIiA6IFwiLyRcIn1cbiAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM9e3RhcmdldCAmJiB0YXJnZXQgIT09IFwiL1wiID8gc3BsYXRGb3IodGFyZ2V0KSA6IHt9fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtpY29uICYmIDxEeW5hbWljSWNvbiBuYW1lPXtpY29ufSBjbGFzc05hbWU9XCJzaXplLTRcIiAvPn1cbiAgICAgICAgICAgICAgICAgIDxzcGFuPntzLnRpdGxlfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1NpZGViYXJNZW51QnV0dG9uPlxuICAgICAgICAgICAgICA8L1NpZGViYXJNZW51SXRlbT5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9TaWRlYmFyTWVudT5cbiAgICAgIDwvU2lkZWJhckdyb3VwQ29udGVudD5cbiAgICA8L1NpZGViYXJHcm91cD5cbiAgKVxufVxuIl19
@@ -9,4 +9,4 @@ export declare function SiteLink(props: {
9
9
  to: string;
10
10
  className?: string;
11
11
  children?: ReactNode;
12
- }): import("react/jsx-runtime").JSX.Element;
12
+ }): import("react").JSX.Element;
@@ -1,4 +1,4 @@
1
1
  /** Renders the site logo, title, and description in the sidebar header.
2
2
  * When the current pathname falls inside a section that defines its own
3
3
  * `siteTitle` / `siteDescription`, those override the global config. */
4
- export declare function SiteTitle(): import("react/jsx-runtime").JSX.Element;
4
+ export declare function SiteTitle(): import("react").JSX.Element;
@@ -13,10 +13,6 @@ export function SiteTitle() {
13
13
  const title = section?.siteTitle ?? config.title;
14
14
  const description = section?.siteDescription ?? config.description;
15
15
  const logo = prefixUrl(config.logo ?? defaultLogo, config.base);
16
- return (_jsxs("div", { className: "flex items-end gap-2.5 text-sm", children: [
17
- _jsx("img", { src: logo, alt: title, className: "size-6.5 mb-1.25" }), _jsxs("div", { className: "flex flex-col gap-0.5 leading-none", children: [
18
- _jsx("span", { className: "font-semibold", children: title }), _jsx("span", { className: "text-xs opacity-80", children: description })
19
- ] })
20
- ] }));
16
+ return (_jsxs("div", { className: "flex min-w-0 items-end gap-2.5 text-sm", children: [_jsx("img", { src: logo, alt: title, className: "size-6.5 mb-1.25 shrink-0" }), _jsxs("div", { className: "flex min-w-0 flex-col gap-0.5 leading-none", children: [_jsx("span", { className: "truncate font-semibold", children: title }), _jsx("span", { className: "truncate text-xs opacity-80", children: description })] })] }));
21
17
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2l0ZVRpdGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvU2l0ZVRpdGxlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDekQsT0FBTyxXQUFXLE1BQU0sb0JBQW9CLENBQUE7QUFFNUM7O3lFQUV5RTtBQUN6RSxNQUFNLFVBQVUsU0FBUztJQUN2QixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUN6RCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUNsRSxNQUFNLEtBQUssR0FBRyxPQUFPLEVBQUUsU0FBUyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUE7SUFDaEQsTUFBTSxXQUFXLEdBQUcsT0FBTyxFQUFFLGVBQWUsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFBO0lBQ2xFLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDL0QsT0FBTyxDQUNMLGVBQUssU0FBUyxFQUFDLGdDQUFnQztZQUM3QyxjQUFLLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsa0JBQWtCLEdBQUcsRUFDM0QsZUFBSyxTQUFTLEVBQUMsb0NBQW9DO29CQUNqRCxlQUFNLFNBQVMsRUFBQyxlQUFlLFlBQUUsS0FBSyxHQUFRLEVBQzlDLGVBQU0sU0FBUyxFQUFDLG9CQUFvQixZQUFFLFdBQVcsR0FBUTtvQkFDckQ7WUFDRixDQUNQLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcImxpdmVtYXJrOnZpcnR1YWxcIlxuaW1wb3J0IHsgdXNlTG9jYXRpb24gfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LXJvdXRlclwiXG5pbXBvcnQgeyBwcmVmaXhVcmwgfSBmcm9tIFwiLi4vaGVscGVycy9wcmVmaXgtdXJsLnRzXCJcbmltcG9ydCB7IGFjdGl2ZVNpdGVTZWN0aW9uIH0gZnJvbSBcIi4uL2hlbHBlcnMvc2VjdGlvbi50c1wiXG5pbXBvcnQgZGVmYXVsdExvZ28gZnJvbSBcIi4uL2Fzc2V0cy9sb2dvLnN2Z1wiXG5cbi8qKiBSZW5kZXJzIHRoZSBzaXRlIGxvZ28sIHRpdGxlLCBhbmQgZGVzY3JpcHRpb24gaW4gdGhlIHNpZGViYXIgaGVhZGVyLlxuICogIFdoZW4gdGhlIGN1cnJlbnQgcGF0aG5hbWUgZmFsbHMgaW5zaWRlIGEgc2VjdGlvbiB0aGF0IGRlZmluZXMgaXRzIG93blxuICogIGBzaXRlVGl0bGVgIC8gYHNpdGVEZXNjcmlwdGlvbmAsIHRob3NlIG92ZXJyaWRlIHRoZSBnbG9iYWwgY29uZmlnLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNpdGVUaXRsZSgpIHtcbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VMb2NhdGlvbih7IHNlbGVjdDogbCA9PiBsLnBhdGhuYW1lIH0pXG4gIGNvbnN0IHNlY3Rpb24gPSBhY3RpdmVTaXRlU2VjdGlvbihwYXRobmFtZSwgY29uZmlnLnNlY3Rpb25zID8/IFtdKVxuICBjb25zdCB0aXRsZSA9IHNlY3Rpb24/LnNpdGVUaXRsZSA/PyBjb25maWcudGl0bGVcbiAgY29uc3QgZGVzY3JpcHRpb24gPSBzZWN0aW9uPy5zaXRlRGVzY3JpcHRpb24gPz8gY29uZmlnLmRlc2NyaXB0aW9uXG4gIGNvbnN0IGxvZ28gPSBwcmVmaXhVcmwoY29uZmlnLmxvZ28gPz8gZGVmYXVsdExvZ28sIGNvbmZpZy5iYXNlKVxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1lbmQgZ2FwLTIuNSB0ZXh0LXNtXCI+XG4gICAgICA8aW1nIHNyYz17bG9nb30gYWx0PXt0aXRsZX0gY2xhc3NOYW1lPVwic2l6ZS02LjUgbWItMS4yNVwiIC8+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgZ2FwLTAuNSBsZWFkaW5nLW5vbmVcIj5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZFwiPnt0aXRsZX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgb3BhY2l0eS04MFwiPntkZXNjcmlwdGlvbn08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2l0ZVRpdGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvU2l0ZVRpdGxlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDekQsT0FBTyxXQUFXLE1BQU0sb0JBQW9CLENBQUE7QUFFNUM7O3lFQUV5RTtBQUN6RSxNQUFNLFVBQVUsU0FBUztJQUN2QixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUN6RCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUNsRSxNQUFNLEtBQUssR0FBRyxPQUFPLEVBQUUsU0FBUyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUE7SUFDaEQsTUFBTSxXQUFXLEdBQUcsT0FBTyxFQUFFLGVBQWUsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFBO0lBQ2xFLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDL0QsT0FBTyxDQUNMLGVBQUssU0FBUyxFQUFDLHdDQUF3QyxhQUNyRCxjQUFLLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsMkJBQTJCLEdBQUcsRUFDcEUsZUFBSyxTQUFTLEVBQUMsNENBQTRDLGFBQ3pELGVBQU0sU0FBUyxFQUFDLHdCQUF3QixZQUFFLEtBQUssR0FBUSxFQUN2RCxlQUFNLFNBQVMsRUFBQyw2QkFBNkIsWUFBRSxXQUFXLEdBQVEsSUFDOUQsSUFDRixDQUNQLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcImxpdmVtYXJrOnZpcnR1YWxcIlxuaW1wb3J0IHsgdXNlTG9jYXRpb24gfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LXJvdXRlclwiXG5pbXBvcnQgeyBwcmVmaXhVcmwgfSBmcm9tIFwiLi4vaGVscGVycy9wcmVmaXgtdXJsLnRzXCJcbmltcG9ydCB7IGFjdGl2ZVNpdGVTZWN0aW9uIH0gZnJvbSBcIi4uL2hlbHBlcnMvc2VjdGlvbi50c1wiXG5pbXBvcnQgZGVmYXVsdExvZ28gZnJvbSBcIi4uL2Fzc2V0cy9sb2dvLnN2Z1wiXG5cbi8qKiBSZW5kZXJzIHRoZSBzaXRlIGxvZ28sIHRpdGxlLCBhbmQgZGVzY3JpcHRpb24gaW4gdGhlIHNpZGViYXIgaGVhZGVyLlxuICogIFdoZW4gdGhlIGN1cnJlbnQgcGF0aG5hbWUgZmFsbHMgaW5zaWRlIGEgc2VjdGlvbiB0aGF0IGRlZmluZXMgaXRzIG93blxuICogIGBzaXRlVGl0bGVgIC8gYHNpdGVEZXNjcmlwdGlvbmAsIHRob3NlIG92ZXJyaWRlIHRoZSBnbG9iYWwgY29uZmlnLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNpdGVUaXRsZSgpIHtcbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VMb2NhdGlvbih7IHNlbGVjdDogbCA9PiBsLnBhdGhuYW1lIH0pXG4gIGNvbnN0IHNlY3Rpb24gPSBhY3RpdmVTaXRlU2VjdGlvbihwYXRobmFtZSwgY29uZmlnLnNlY3Rpb25zID8/IFtdKVxuICBjb25zdCB0aXRsZSA9IHNlY3Rpb24/LnNpdGVUaXRsZSA/PyBjb25maWcudGl0bGVcbiAgY29uc3QgZGVzY3JpcHRpb24gPSBzZWN0aW9uPy5zaXRlRGVzY3JpcHRpb24gPz8gY29uZmlnLmRlc2NyaXB0aW9uXG4gIGNvbnN0IGxvZ28gPSBwcmVmaXhVcmwoY29uZmlnLmxvZ28gPz8gZGVmYXVsdExvZ28sIGNvbmZpZy5iYXNlKVxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBtaW4tdy0wIGl0ZW1zLWVuZCBnYXAtMi41IHRleHQtc21cIj5cbiAgICAgIDxpbWcgc3JjPXtsb2dvfSBhbHQ9e3RpdGxlfSBjbGFzc05hbWU9XCJzaXplLTYuNSBtYi0xLjI1IHNocmluay0wXCIgLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBtaW4tdy0wIGZsZXgtY29sIGdhcC0wLjUgbGVhZGluZy1ub25lXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRydW5jYXRlIGZvbnQtc2VtaWJvbGRcIj57dGl0bGV9PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0cnVuY2F0ZSB0ZXh0LXhzIG9wYWNpdHktODBcIj57ZGVzY3JpcHRpb259PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { type ComponentProps } from "react";
2
2
  import { TableHeader, TableBody, TableRow, TableHead, TableCell } from "../elements/table.tsx";
3
3
  /** Wraps markdown tables with click-to-sort column headers */
4
- export declare function SortableTable(props: ComponentProps<"table">): import("react/jsx-runtime").JSX.Element;
4
+ export declare function SortableTable(props: ComponentProps<"table">): import("react").JSX.Element;
5
5
  export { TableHeader, TableBody, TableRow, TableHead, TableCell };
@@ -1,4 +1,4 @@
1
1
  /** Renders a SoundCloud iframe embed */
2
2
  export declare function SoundCloud(props: {
3
3
  url: string;
4
- }): import("react/jsx-runtime").JSX.Element;
4
+ }): import("react").JSX.Element;
@@ -2,6 +2,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  /** Renders a SoundCloud iframe embed */
3
3
  export function SoundCloud(props) {
4
4
  const src = `https://w.soundcloud.com/player/?url=${encodeURIComponent(props.url)}&color=%23ff5500&auto_play=false&hide_related=true&show_comments=false&show_user=true&show_reposts=false&show_teaser=false`;
5
- return (_jsx("div", { className: "not-prose my-4 overflow-hidden rounded-lg border", children: _jsx("iframe", { className: "w-full", height: 166, src: src, title: "SoundCloud audio", allow: "autoplay" }) }));
5
+ return (_jsx("div", { className: "not-prose my-4 overflow-hidden rounded-card border", children: _jsx("iframe", { className: "w-full", height: 166, src: src, title: "SoundCloud audio", allow: "autoplay" }) }));
6
6
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU291bmRDbG91ZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9jb21wb25lbnRzL1NvdW5kQ2xvdWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx3Q0FBd0M7QUFDeEMsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFzQjtJQUMvQyxNQUFNLEdBQUcsR0FBRyx3Q0FBd0Msa0JBQWtCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyw0SEFBNEgsQ0FBQTtJQUU3TSxPQUFPLENBQ0wsY0FBSyxTQUFTLEVBQUMsa0RBQWtELFlBQy9ELGlCQUNFLFNBQVMsRUFBQyxRQUFRLEVBQ2xCLE1BQU0sRUFBRSxHQUFHLEVBQ1gsR0FBRyxFQUFFLEdBQUcsRUFDUixLQUFLLEVBQUMsa0JBQWtCLEVBQ3hCLEtBQUssRUFBQyxVQUFVLEdBQ2hCLEdBQ0UsQ0FDUCxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBSZW5kZXJzIGEgU291bmRDbG91ZCBpZnJhbWUgZW1iZWQgKi9cbmV4cG9ydCBmdW5jdGlvbiBTb3VuZENsb3VkKHByb3BzOiB7IHVybDogc3RyaW5nIH0pIHtcbiAgY29uc3Qgc3JjID0gYGh0dHBzOi8vdy5zb3VuZGNsb3VkLmNvbS9wbGF5ZXIvP3VybD0ke2VuY29kZVVSSUNvbXBvbmVudChwcm9wcy51cmwpfSZjb2xvcj0lMjNmZjU1MDAmYXV0b19wbGF5PWZhbHNlJmhpZGVfcmVsYXRlZD10cnVlJnNob3dfY29tbWVudHM9ZmFsc2Umc2hvd191c2VyPXRydWUmc2hvd19yZXBvc3RzPWZhbHNlJnNob3dfdGVhc2VyPWZhbHNlYFxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJub3QtcHJvc2UgbXktNCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1sZyBib3JkZXJcIj5cbiAgICAgIDxpZnJhbWVcbiAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsXCJcbiAgICAgICAgaGVpZ2h0PXsxNjZ9XG4gICAgICAgIHNyYz17c3JjfVxuICAgICAgICB0aXRsZT1cIlNvdW5kQ2xvdWQgYXVkaW9cIlxuICAgICAgICBhbGxvdz1cImF1dG9wbGF5XCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU291bmRDbG91ZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9jb21wb25lbnRzL1NvdW5kQ2xvdWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx3Q0FBd0M7QUFDeEMsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFzQjtJQUMvQyxNQUFNLEdBQUcsR0FBRyx3Q0FBd0Msa0JBQWtCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyw0SEFBNEgsQ0FBQTtJQUU3TSxPQUFPLENBQ0wsY0FBSyxTQUFTLEVBQUMsb0RBQW9ELFlBQ2pFLGlCQUNFLFNBQVMsRUFBQyxRQUFRLEVBQ2xCLE1BQU0sRUFBRSxHQUFHLEVBQ1gsR0FBRyxFQUFFLEdBQUcsRUFDUixLQUFLLEVBQUMsa0JBQWtCLEVBQ3hCLEtBQUssRUFBQyxVQUFVLEdBQ2hCLEdBQ0UsQ0FDUCxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBSZW5kZXJzIGEgU291bmRDbG91ZCBpZnJhbWUgZW1iZWQgKi9cbmV4cG9ydCBmdW5jdGlvbiBTb3VuZENsb3VkKHByb3BzOiB7IHVybDogc3RyaW5nIH0pIHtcbiAgY29uc3Qgc3JjID0gYGh0dHBzOi8vdy5zb3VuZGNsb3VkLmNvbS9wbGF5ZXIvP3VybD0ke2VuY29kZVVSSUNvbXBvbmVudChwcm9wcy51cmwpfSZjb2xvcj0lMjNmZjU1MDAmYXV0b19wbGF5PWZhbHNlJmhpZGVfcmVsYXRlZD10cnVlJnNob3dfY29tbWVudHM9ZmFsc2Umc2hvd191c2VyPXRydWUmc2hvd19yZXBvc3RzPWZhbHNlJnNob3dfdGVhc2VyPWZhbHNlYFxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJub3QtcHJvc2UgbXktNCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1jYXJkIGJvcmRlclwiPlxuICAgICAgPGlmcmFtZVxuICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGxcIlxuICAgICAgICBoZWlnaHQ9ezE2Nn1cbiAgICAgICAgc3JjPXtzcmN9XG4gICAgICAgIHRpdGxlPVwiU291bmRDbG91ZCBhdWRpb1wiXG4gICAgICAgIGFsbG93PVwiYXV0b3BsYXlcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl19
@@ -2,4 +2,4 @@
2
2
  export declare function TagIndex(props: {
3
3
  sectionPrefix: string;
4
4
  tag: string;
5
- }): import("react/jsx-runtime").JSX.Element;
5
+ }): import("react").JSX.Element;
@@ -35,16 +35,7 @@ export function TagIndex(props) {
35
35
  return parts.join("\n");
36
36
  }),
37
37
  ].join("\n\n");
38
- return (_jsxs(TocContext.Provider, { value: tocItems, children: [
39
- _jsx(MobileToc, { items: tocItems, children: _jsx(PageToolbar, { content: content }) }), _jsxs("div", { className: "flex flex-1 gap-10 p-4 pt-8 md:p-10", children: [
40
- _jsxs("div", { className: "flex-1 min-w-0 mx-auto max-w-3xl", children: [
41
- _jsxs("div", { className: "prose dark:prose-invert max-w-none mb-8", children: [
42
- _jsx("h1", { id: "top", children: _jsxs("a", { href: "#top", children: ["Posts tagged \u2018", props.tag, "\u2019"] }) }), posts[0]?.date && (_jsx("p", { className: "flex flex-wrap items-center gap-x-3 gap-y-1 text-sm text-muted-foreground !-mt-4 !mb-0", children: _jsxs("span", { className: "flex items-center gap-1.5", children: [
43
- _jsx(History, { className: "size-3.5" }),
44
- "Updated ", formatDate(posts[0].date)] }) }))] }), _jsx("div", { className: "space-y-6", children: posts.map((post, i) => (_jsxs("article", { id: slugOf(post.path), children: [i > 0 && _jsx(Separator, { className: "mb-6" }), _jsx("h2", { className: "text-2xl", children: _jsx(Link, { to: "/$", params: { _splat: post.path.replace(/^\/|\/$/g, "") }, className: "font-medium hover:text-primary transition-colors", children: post.title }) }), _jsxs("p", { className: "text-sm text-muted-foreground mt-1 flex gap-3", children: [post.date && _jsx("span", { children: formatDate(post.date) }), post.author && (_jsx("span", { children: Array.isArray(post.author) ? post.author.join(", ") : post.author }))] }), post.description && (_jsx("p", { className: "text-muted-foreground mt-2", children: post.description }))] }, post.path))) }), _jsx("div", { className: "mt-10", children: _jsx(Footer, {}) })
45
- ] }), _jsx(Toc, { items: tocItems, children: _jsx(PageToolbar, { content: content }) })
46
- ] })
47
- ] }));
38
+ return (_jsxs(TocContext.Provider, { value: tocItems, children: [_jsx(MobileToc, { items: tocItems, title: title, children: _jsx(PageToolbar, { content: content }) }), _jsxs("div", { className: "flex flex-1 gap-10 p-4 pt-8 md:p-10", children: [_jsxs("div", { className: "flex-1 min-w-0 mx-auto max-w-3xl", children: [_jsxs("div", { className: "prose dark:prose-invert max-w-none mb-8", children: [_jsx("h1", { id: "top", children: _jsxs("a", { href: "#top", children: ["Posts tagged \u2018", props.tag, "\u2019"] }) }), posts[0]?.date && (_jsx("p", { className: "flex flex-wrap items-center gap-x-3 gap-y-1 text-sm text-muted-foreground !-mt-4 !mb-0", children: _jsxs("span", { className: "flex items-center gap-1.5", children: [_jsx(History, { className: "size-3.5" }), "Updated ", formatDate(posts[0].date)] }) }))] }), _jsx("div", { className: "space-y-6", children: posts.map((post, i) => (_jsxs("article", { id: slugOf(post.path), children: [i > 0 && _jsx(Separator, { className: "mb-6" }), _jsx("h2", { className: "text-2xl", children: _jsx(Link, { to: "/$", params: { _splat: post.path.replace(/^\/|\/$/g, "") }, className: "font-medium hover:text-primary transition-colors", children: post.title }) }), _jsxs("p", { className: "text-sm text-muted-foreground mt-1 flex gap-3", children: [post.date && _jsx("span", { children: formatDate(post.date) }), post.author && (_jsx("span", { children: Array.isArray(post.author) ? post.author.join(", ") : post.author }))] }), post.description && (_jsx("p", { className: "text-muted-foreground mt-2", children: post.description }))] }, post.path))) }), _jsx("div", { className: "mt-10", children: _jsx(Footer, {}) })] }), _jsx(Toc, { items: tocItems, children: _jsx(PageToolbar, { content: content }) })] })] }));
48
39
  }
49
40
  function slugOf(path) {
50
41
  return (path
@@ -59,4 +50,4 @@ function formatDate(iso) {
59
50
  day: "numeric",
60
51
  });
61
52
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFnSW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvY29tcG9uZW50cy9UYWdJbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEyQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYyxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBbUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVcsQ0FBQTtBQUUxQyw2REFBNkQ7QUFDN0QsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUE2QztJQUNwRSxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUNuRCxNQUFNLEtBQUssR0FBRyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDMUMsTUFBTSxLQUFLLEdBQUcsS0FBSztTQUNoQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNoRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUE7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ZXNDb250ZW50IjpbImltcG9ydCB7IExpbmsgfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LXJvdXRlclwiXG5pbXBvcnQgeyBIaXN0b3J5IH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXG5pbXBvcnQgeyBzb3J0ZWRBcnRpY2xlcyB9IGZyb20gXCIuLi9jb250ZW50L2FydGljbGUudHNcIlxuaW1wb3J0IHsgc2VjdGlvblRhZ3MgfSBmcm9tIFwiLi4vY29udGVudC90YWcudHNcIlxuaW1wb3J0IHsgU2VwYXJhdG9yIH0gZnJvbSBcIi4uL2VsZW1lbnRzL3NlcGFyYXRvci50c3hcIlxuaW1wb3J0IHsgVG9jQ29udGV4dCB9IGZyb20gXCIuLi9oZWxwZXJzL3RvYy1jb250ZXh0LnRzXCJcbmltcG9ydCB7IEZvb3RlciB9IGZyb20gXCIuL0Zvb3Rlci50c3hcIlxuaW1wb3J0IHsgUGFnZVRvb2xiYXIgfSBmcm9tIFwiLi9QYWdlVG9vbGJhci50c3hcIlxuaW1wb3J0IHsgTW9iaWxlVG9jLCBUb2MgfSBmcm9tIFwiLi9Ub2MudHN4XCJcblxuLyoqIEJsb2cgdGFnIHBhZ2UgbGlzdGluZyBwb3N0cyBmaWx0ZXJlZCBieSBhIHNwZWNpZmljIHRhZyAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRhZ0luZGV4KHByb3BzOiB7IHNlY3Rpb25QcmVmaXg6IHN0cmluZzsgdGFnOiBzdHJpbmcgfSkge1xuICBjb25zdCB0YWdNYXAgPSBzZWN0aW9uVGFncy5nZXQocHJvcHMuc2VjdGlvblByZWZpeClcbiAgY29uc3QgcGF0aHMgPSB0YWdNYXA/LmdldChwcm9wcy50YWcpID8/IFtdXG4gIGNvbnN0IHBvc3RzID0gcGF0aHNcbiAgICAubWFwKHAgPT4gc29ydGVkQXJ0aWNsZXMuZmluZChhID0+IGEucGF0aCA9PT0gcCkpXG4gICAgLmZpbHRlcihhID0+IGEgIT09IHVuZGVmaW5lZClcblxuICBjb25zdCB0b2NJdGVtcyA9IHBvc3RzLm1hcChwb3N0ID0+ICh7XG4gICAgdXJsOiBgIyR7c2x1Z09mKHBvc3QucGF0aCl9YCxcbiAgICB0aXRsZTogcG9zdC50aXRsZSxcbiAgICBkZXB0aDogMixcbiAgfSkpXG5cbiAgY29uc3QgdGl0bGUgPSBgUG9zdHMgdGFnZ2VkICcke3Byb3BzLnRhZ30nYFxuXG4gIGNvbnN0IGNvbnRlbnQgPSBbXG4gICAgYCMgJHt0aXRsZX1gLFxuICAgIC4uLnBvc3RzLm1hcChwb3N0ID0+IHtcbiAgICAgIGNvbnN0IHBhcnRzID0gW2AjIyAke3Bvc3QudGl0bGV9YF1cbiAgICAgIGlmIChwb3N0LmRhdGUpIHBhcnRzLnB1c2goZm9ybWF0RGF0ZShwb3N0LmRhdGUpKVxuICAgICAgaWYgKHBvc3QuYXV0aG9yKSB7XG4gICAgICAgIHBhcnRzLnB1c2goQXJyYXkuaXNBcnJheShwb3N0LmF1dGhvcikgPyBwb3N0LmF1dGhvci5qb2luKFwiLCBcIikgOiBwb3N0LmF1dGhvcilcbiAgICAgIH1cbiAgICAgIGlmIChwb3N0LmRlc2NyaXB0aW9uKSBwYXJ0cy5wdXNoKFwiXCIsIHBvc3QuZGVzY3JpcHRpb24pXG4gICAgICByZXR1cm4gcGFydHMuam9pbihcIlxcblwiKVxuICAgIH0pLFxuICBdLmpvaW4oXCJcXG5cXG5cIilcblxuICByZXR1cm4gKFxuICAgIDxUb2NDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt0b2NJdGVtc30+XG4gICAgICA8TW9iaWxlVG9jIGl0ZW1zPXt0b2NJdGVtc30+XG4gICAgICAgIDxQYWdlVG9vbGJhciBjb250ZW50PXtjb250ZW50fSAvPlxuICAgICAgPC9Nb2JpbGVUb2M+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC0xIGdhcC0xMCBwLTQgcHQtOCBtZDpwLTEwXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC0xIG1pbi13LTAgbXgtYXV0byBtYXgtdy0zeGxcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInByb3NlIGRhcms6cHJvc2UtaW52ZXJ0IG1heC13LW5vbmUgbWItOFwiPlxuICAgICAgICAgICAgPGgxIGlkPVwidG9wXCI+XG4gICAgICAgICAgICAgIDxhIGhyZWY9XCIjdG9wXCI+UG9zdHMgdGFnZ2VkICZsc3F1bzt7cHJvcHMudGFnfSZyc3F1bzs8L2E+XG4gICAgICAgICAgICA8L2gxPlxuICAgICAgICAgICAge3Bvc3RzWzBdPy5kYXRlICYmIChcbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGdhcC14LTMgZ2FwLXktMSB0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCAhLW10LTQgIW1iLTBcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41XCI+XG4gICAgICAgICAgICAgICAgICA8SGlzdG9yeSBjbGFzc05hbWU9XCJzaXplLTMuNVwiIC8+XG4gICAgICAgICAgICAgICAgICBVcGRhdGVkIHtmb3JtYXREYXRlKHBvc3RzWzBdLmRhdGUpfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNlwiPlxuICAgICAgICAgICAge3Bvc3RzLm1hcCgocG9zdCwgaSkgPT4gKFxuICAgICAgICAgICAgICA8YXJ0aWNsZSBrZXk9e3Bvc3QucGF0aH0gaWQ9e3NsdWdPZihwb3N0LnBhdGgpfT5cbiAgICAgICAgICAgICAgICB7aSA+IDAgJiYgPFNlcGFyYXRvciBjbGFzc05hbWU9XCJtYi02XCIgLz59XG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtMnhsXCI+XG4gICAgICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgICAgICB0bz1cIi8kXCJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zPXt7IF9zcGxhdDogcG9zdC5wYXRoLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKSB9fVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmb250LW1lZGl1bSBob3Zlcjp0ZXh0LXByaW1hcnkgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7cG9zdC50aXRsZX1cbiAgICAgICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG10LTEgZmxleCBnYXAtM1wiPlxuICAgICAgICAgICAgICAgICAge3Bvc3QuZGF0ZSAmJiA8c3Bhbj57Zm9ybWF0RGF0ZShwb3N0LmRhdGUpfTwvc3Bhbj59XG4gICAgICAgICAgICAgICAgICB7cG9zdC5hdXRob3IgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICB7QXJyYXkuaXNBcnJheShwb3N0LmF1dGhvcikgPyBwb3N0LmF1dGhvci5qb2luKFwiLCBcIikgOiBwb3N0LmF1dGhvcn1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAge3Bvc3QuZGVzY3JpcHRpb24gJiYgKFxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG10LTJcIj57cG9zdC5kZXNjcmlwdGlvbn08L3A+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9hcnRpY2xlPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC0xMFwiPlxuICAgICAgICAgICAgPEZvb3RlciAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPFRvYyBpdGVtcz17dG9jSXRlbXN9PlxuICAgICAgICAgIDxQYWdlVG9vbGJhciBjb250ZW50PXtjb250ZW50fSAvPlxuICAgICAgICA8L1RvYz5cbiAgICAgIDwvZGl2PlxuICAgIDwvVG9jQ29udGV4dC5Qcm92aWRlcj5cbiAgKVxufVxuXG5mdW5jdGlvbiBzbHVnT2YocGF0aDogc3RyaW5nKSB7XG4gIHJldHVybiAoXG4gICAgcGF0aFxuICAgICAgLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKVxuICAgICAgLnNwbGl0KFwiL1wiKVxuICAgICAgLnBvcCgpID8/IFwiXCJcbiAgKVxufVxuXG5mdW5jdGlvbiBmb3JtYXREYXRlKGlzbzogc3RyaW5nKSB7XG4gIHJldHVybiBuZXcgRGF0ZShpc28pLnRvTG9jYWxlRGF0ZVN0cmluZyhcImVuLVVTXCIsIHtcbiAgICB5ZWFyOiBcIm51bWVyaWNcIixcbiAgICBtb250aDogXCJzaG9ydFwiLFxuICAgIGRheTogXCJudW1lcmljXCIsXG4gIH0pXG59XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFnSW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvY29tcG9uZW50cy9UYWdJbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEyQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYyxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBbUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVcsQ0FBQTtBQUUxQyw2REFBNkQ7QUFDN0QsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUE2QztJQUNwRSxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUNuRCxNQUFNLEtBQUssR0FBRyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDMUMsTUFBTSxLQUFLLEdBQUcsS0FBSztTQUNoQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNoRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUE7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LENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaW5rIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXJcIlxuaW1wb3J0IHsgSGlzdG9yeSB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuaW1wb3J0IHsgc29ydGVkQXJ0aWNsZXMgfSBmcm9tIFwiLi4vY29udGVudC9hcnRpY2xlLnRzXCJcbmltcG9ydCB7IHNlY3Rpb25UYWdzIH0gZnJvbSBcIi4uL2NvbnRlbnQvdGFnLnRzXCJcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gXCIuLi9lbGVtZW50cy9zZXBhcmF0b3IudHN4XCJcbmltcG9ydCB7IFRvY0NvbnRleHQgfSBmcm9tIFwiLi4vaGVscGVycy90b2MtY29udGV4dC50c1wiXG5pbXBvcnQgeyBGb290ZXIgfSBmcm9tIFwiLi9Gb290ZXIudHN4XCJcbmltcG9ydCB7IFBhZ2VUb29sYmFyIH0gZnJvbSBcIi4vUGFnZVRvb2xiYXIudHN4XCJcbmltcG9ydCB7IE1vYmlsZVRvYywgVG9jIH0gZnJvbSBcIi4vVG9jLnRzeFwiXG5cbi8qKiBCbG9nIHRhZyBwYWdlIGxpc3RpbmcgcG9zdHMgZmlsdGVyZWQgYnkgYSBzcGVjaWZpYyB0YWcgKi9cbmV4cG9ydCBmdW5jdGlvbiBUYWdJbmRleChwcm9wczogeyBzZWN0aW9uUHJlZml4OiBzdHJpbmc7IHRhZzogc3RyaW5nIH0pIHtcbiAgY29uc3QgdGFnTWFwID0gc2VjdGlvblRhZ3MuZ2V0KHByb3BzLnNlY3Rpb25QcmVmaXgpXG4gIGNvbnN0IHBhdGhzID0gdGFnTWFwPy5nZXQocHJvcHMudGFnKSA/PyBbXVxuICBjb25zdCBwb3N0cyA9IHBhdGhzXG4gICAgLm1hcChwID0+IHNvcnRlZEFydGljbGVzLmZpbmQoYSA9PiBhLnBhdGggPT09IHApKVxuICAgIC5maWx0ZXIoYSA9PiBhICE9PSB1bmRlZmluZWQpXG5cbiAgY29uc3QgdG9jSXRlbXMgPSBwb3N0cy5tYXAocG9zdCA9PiAoe1xuICAgIHVybDogYCMke3NsdWdPZihwb3N0LnBhdGgpfWAsXG4gICAgdGl0bGU6IHBvc3QudGl0bGUsXG4gICAgZGVwdGg6IDIsXG4gIH0pKVxuXG4gIGNvbnN0IHRpdGxlID0gYFBvc3RzIHRhZ2dlZCAnJHtwcm9wcy50YWd9J2BcblxuICBjb25zdCBjb250ZW50ID0gW1xuICAgIGAjICR7dGl0bGV9YCxcbiAgICAuLi5wb3N0cy5tYXAocG9zdCA9PiB7XG4gICAgICBjb25zdCBwYXJ0cyA9IFtgIyMgJHtwb3N0LnRpdGxlfWBdXG4gICAgICBpZiAocG9zdC5kYXRlKSBwYXJ0cy5wdXNoKGZvcm1hdERhdGUocG9zdC5kYXRlKSlcbiAgICAgIGlmIChwb3N0LmF1dGhvcikge1xuICAgICAgICBwYXJ0cy5wdXNoKEFycmF5LmlzQXJyYXkocG9zdC5hdXRob3IpID8gcG9zdC5hdXRob3Iuam9pbihcIiwgXCIpIDogcG9zdC5hdXRob3IpXG4gICAgICB9XG4gICAgICBpZiAocG9zdC5kZXNjcmlwdGlvbikgcGFydHMucHVzaChcIlwiLCBwb3N0LmRlc2NyaXB0aW9uKVxuICAgICAgcmV0dXJuIHBhcnRzLmpvaW4oXCJcXG5cIilcbiAgICB9KSxcbiAgXS5qb2luKFwiXFxuXFxuXCIpXG5cbiAgcmV0dXJuIChcbiAgICA8VG9jQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dG9jSXRlbXN9PlxuICAgICAgPE1vYmlsZVRvYyBpdGVtcz17dG9jSXRlbXN9IHRpdGxlPXt0aXRsZX0+XG4gICAgICAgIDxQYWdlVG9vbGJhciBjb250ZW50PXtjb250ZW50fSAvPlxuICAgICAgPC9Nb2JpbGVUb2M+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC0xIGdhcC0xMCBwLTQgcHQtOCBtZDpwLTEwXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC0xIG1pbi13LTAgbXgtYXV0byBtYXgtdy0zeGxcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInByb3NlIGRhcms6cHJvc2UtaW52ZXJ0IG1heC13LW5vbmUgbWItOFwiPlxuICAgICAgICAgICAgPGgxIGlkPVwidG9wXCI+XG4gICAgICAgICAgICAgIDxhIGhyZWY9XCIjdG9wXCI+UG9zdHMgdGFnZ2VkICZsc3F1bzt7cHJvcHMudGFnfSZyc3F1bzs8L2E+XG4gICAgICAgICAgICA8L2gxPlxuICAgICAgICAgICAge3Bvc3RzWzBdPy5kYXRlICYmIChcbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGdhcC14LTMgZ2FwLXktMSB0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCAhLW10LTQgIW1iLTBcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41XCI+XG4gICAgICAgICAgICAgICAgICA8SGlzdG9yeSBjbGFzc05hbWU9XCJzaXplLTMuNVwiIC8+XG4gICAgICAgICAgICAgICAgICBVcGRhdGVkIHtmb3JtYXREYXRlKHBvc3RzWzBdLmRhdGUpfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNlwiPlxuICAgICAgICAgICAge3Bvc3RzLm1hcCgocG9zdCwgaSkgPT4gKFxuICAgICAgICAgICAgICA8YXJ0aWNsZSBrZXk9e3Bvc3QucGF0aH0gaWQ9e3NsdWdPZihwb3N0LnBhdGgpfT5cbiAgICAgICAgICAgICAgICB7aSA+IDAgJiYgPFNlcGFyYXRvciBjbGFzc05hbWU9XCJtYi02XCIgLz59XG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtMnhsXCI+XG4gICAgICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgICAgICB0bz1cIi8kXCJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zPXt7IF9zcGxhdDogcG9zdC5wYXRoLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKSB9fVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmb250LW1lZGl1bSBob3Zlcjp0ZXh0LXByaW1hcnkgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7cG9zdC50aXRsZX1cbiAgICAgICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG10LTEgZmxleCBnYXAtM1wiPlxuICAgICAgICAgICAgICAgICAge3Bvc3QuZGF0ZSAmJiA8c3Bhbj57Zm9ybWF0RGF0ZShwb3N0LmRhdGUpfTwvc3Bhbj59XG4gICAgICAgICAgICAgICAgICB7cG9zdC5hdXRob3IgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICB7QXJyYXkuaXNBcnJheShwb3N0LmF1dGhvcikgPyBwb3N0LmF1dGhvci5qb2luKFwiLCBcIikgOiBwb3N0LmF1dGhvcn1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAge3Bvc3QuZGVzY3JpcHRpb24gJiYgKFxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG10LTJcIj57cG9zdC5kZXNjcmlwdGlvbn08L3A+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9hcnRpY2xlPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC0xMFwiPlxuICAgICAgICAgICAgPEZvb3RlciAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPFRvYyBpdGVtcz17dG9jSXRlbXN9PlxuICAgICAgICAgIDxQYWdlVG9vbGJhciBjb250ZW50PXtjb250ZW50fSAvPlxuICAgICAgICA8L1RvYz5cbiAgICAgIDwvZGl2PlxuICAgIDwvVG9jQ29udGV4dC5Qcm92aWRlcj5cbiAgKVxufVxuXG5mdW5jdGlvbiBzbHVnT2YocGF0aDogc3RyaW5nKSB7XG4gIHJldHVybiAoXG4gICAgcGF0aFxuICAgICAgLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKVxuICAgICAgLnNwbGl0KFwiL1wiKVxuICAgICAgLnBvcCgpID8/IFwiXCJcbiAgKVxufVxuXG5mdW5jdGlvbiBmb3JtYXREYXRlKGlzbzogc3RyaW5nKSB7XG4gIHJldHVybiBuZXcgRGF0ZShpc28pLnRvTG9jYWxlRGF0ZVN0cmluZyhcImVuLVVTXCIsIHtcbiAgICB5ZWFyOiBcIm51bWVyaWNcIixcbiAgICBtb250aDogXCJzaG9ydFwiLFxuICAgIGRheTogXCJudW1lcmljXCIsXG4gIH0pXG59XG4iXX0=
@@ -1 +1,2 @@
1
- export declare function Theme(): import("react/jsx-runtime").JSX.Element;
1
+ /** Header menu choosing light, dark or system theme; "T" flips light and dark */
2
+ export declare function Theme(): import("react").JSX.Element;
@@ -1,21 +1,41 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Moon, Sun } from "lucide-react";
2
+ import { Moon, Sun, SunMoon } from "lucide-react";
3
3
  import { useHotkey } from "@tanstack/react-hotkeys";
4
+ import { useState } from "react";
4
5
  import { Button } from "../elements/button.js";
5
- import { getCurrentTheme, setTheme } from "../helpers/theme.js";
6
+ import { getCurrentTheme, getThemePref, setTheme } from "../helpers/theme.js";
7
+ import { MenuSheet } from "./MenuSheet.js";
8
+ /** Header menu choosing light, dark or system theme; "T" flips light and dark */
6
9
  export function Theme() {
7
- const handleToggle = () => {
8
- const oldTheme = getCurrentTheme();
9
- const newTheme = oldTheme === "light" ? "dark" : "light";
10
- setTheme(newTheme);
10
+ // Read as the menu opens: on the server there is no stored preference to read.
11
+ const [current, setCurrent] = useState("system");
12
+ useHotkey("T", () => setTheme(getCurrentTheme() === "light" ? "dark" : "light"));
13
+ const choose = (pref) => {
14
+ setCurrent(pref);
15
+ setTheme(pref);
11
16
  };
12
- useHotkey("T", handleToggle);
13
- return (_jsxs(Button, { variant: "ghost", size: "sm", onClick: handleToggle, title: "Change Theme", className: "w-full h-auto rounded-xl cursor-pointer text-xs font-normal justify-start text-muted-foreground bg-sidebar-accent/70 border border-border shadow-xs hover:!bg-background px-3 py-2", children: [
14
- _jsxs("div", { className: "flex flex-1 gap-2 items-center dark:hidden", children: [
15
- _jsx(Sun, { className: "size-4" }), _jsx("span", { className: "flex-1 text-left", children: "Light Theme" }), _jsx("kbd", { className: "rounded border border-border bg-muted px-1.5 py-0.5 text-[10px] font-mono", children: "T" })
16
- ] }), _jsxs("div", { className: "flex-1 gap-2 items-center hidden dark:flex", children: [
17
- _jsx(Moon, { className: "size-4" }), _jsx("span", { className: "flex-1 text-left", children: "Dark Theme" }), _jsx("kbd", { className: "rounded border border-border bg-muted px-1.5 py-0.5 text-[10px] font-mono", children: "T" })
18
- ] })
19
- ] }));
17
+ return (_jsxs(MenuSheet, { title: "Change theme", onOpenChange: open => open && setCurrent(getThemePref()), items: [
18
+ {
19
+ id: "light",
20
+ label: "Light",
21
+ icon: _jsx(Sun, { className: "size-4 shrink-0" }),
22
+ active: current === "light",
23
+ onSelect: () => choose("light"),
24
+ },
25
+ {
26
+ id: "dark",
27
+ label: "Dark",
28
+ icon: _jsx(Moon, { className: "size-4 shrink-0" }),
29
+ active: current === "dark",
30
+ onSelect: () => choose("dark"),
31
+ },
32
+ {
33
+ id: "system",
34
+ label: "System",
35
+ icon: _jsx(SunMoon, { className: "size-4 shrink-0" }),
36
+ active: current === "system",
37
+ onSelect: () => choose("system"),
38
+ },
39
+ ], trigger: _jsx(Button, { variant: "ghost", size: "icon-sm", title: "Change theme", "aria-label": "Change theme", "aria-keyshortcuts": "T", className: "cursor-pointer text-muted-foreground" }), children: [_jsx(Sun, { className: "size-4 dark:hidden" }), _jsx(Moon, { className: "hidden size-4 dark:block" })] }));
20
40
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhlbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvY29tcG9uZW50cy9UaGVtZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXdCLENBQUE7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUUvRCxNQUFNLFVBQVUsS0FBSztJQUNuQixNQUFNLFlBQVksR0FBRyxHQUFHLEVBQUU7UUFDeEIsTUFBTSxRQUFRLEdBQUcsZUFBZSxFQUFFLENBQUE7UUFDbEMsTUFBTSxRQUFRLEdBQUcsUUFBUSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUE7UUFDeEQsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3BCLENBQUMsQ0FBQTtJQUVELFNBQVMsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUE7SUFFNUIsT0FBTyxDQUNMLE1BQUMsTUFBTSxJQUNMLE9BQU8sRUFBQyxPQUFPLEVBQ2YsSUFBSSxFQUFDLElBQUksRUFDVCxPQUFPLEVBQUUsWUFBWSxFQUNyQixLQUFLLEVBQUMsY0FBYyxFQUNwQixTQUFTLEVBQUMsb0xBQW9MO1lBRTlMLGVBQUssU0FBUyxFQUFDLDRDQUE0QztvQkFDekQsS0FBQyxHQUFHLElBQUMsU0FBUyxFQUFDLFFBQVEsR0FBRyxFQUMxQixlQUFNLFNBQVMsRUFBQyxrQkFBa0IsNEJBQW1CLEVBQ3JELGNBQUssU0FBUyxFQUFDLDJFQUEyRSxrQkFFcEY7b0JBQ0YsRUFDTixlQUFLLFNBQVMsRUFBQyw0Q0FBNEM7b0JBQ3pELEtBQUMsSUFBSSxJQUFDLFNBQVMsRUFBQyxRQUFRLEdBQUcsRUFDM0IsZUFBTSxTQUFTLEVBQUMsa0JBQWtCLDJCQUFrQixFQUNwRCxjQUFLLFNBQVMsRUFBQywyRUFBMkUsa0JBRXBGO29CQUNGO1lBQ0MsQ0FDVixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vb24sIFN1biB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuaW1wb3J0IHsgdXNlSG90a2V5IH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1ob3RrZXlzXCJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCIuLi9lbGVtZW50cy9idXR0b24udHN4XCJcbmltcG9ydCB7IGdldEN1cnJlbnRUaGVtZSwgc2V0VGhlbWUgfSBmcm9tIFwiLi4vaGVscGVycy90aGVtZS50c1wiXG5cbmV4cG9ydCBmdW5jdGlvbiBUaGVtZSgpIHtcbiAgY29uc3QgaGFuZGxlVG9nZ2xlID0gKCkgPT4ge1xuICAgIGNvbnN0IG9sZFRoZW1lID0gZ2V0Q3VycmVudFRoZW1lKClcbiAgICBjb25zdCBuZXdUaGVtZSA9IG9sZFRoZW1lID09PSBcImxpZ2h0XCIgPyBcImRhcmtcIiA6IFwibGlnaHRcIlxuICAgIHNldFRoZW1lKG5ld1RoZW1lKVxuICB9XG5cbiAgdXNlSG90a2V5KFwiVFwiLCBoYW5kbGVUb2dnbGUpXG5cbiAgcmV0dXJuIChcbiAgICA8QnV0dG9uXG4gICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgc2l6ZT1cInNtXCJcbiAgICAgIG9uQ2xpY2s9e2hhbmRsZVRvZ2dsZX1cbiAgICAgIHRpdGxlPVwiQ2hhbmdlIFRoZW1lXCJcbiAgICAgIGNsYXNzTmFtZT1cInctZnVsbCBoLWF1dG8gcm91bmRlZC14bCBjdXJzb3ItcG9pbnRlciB0ZXh0LXhzIGZvbnQtbm9ybWFsIGp1c3RpZnktc3RhcnQgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGJnLXNpZGViYXItYWNjZW50LzcwIGJvcmRlciBib3JkZXItYm9yZGVyIHNoYWRvdy14cyBob3ZlcjohYmctYmFja2dyb3VuZCBweC0zIHB5LTJcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LTEgZ2FwLTIgaXRlbXMtY2VudGVyIGRhcms6aGlkZGVuXCI+XG4gICAgICAgIDxTdW4gY2xhc3NOYW1lPVwic2l6ZS00XCIgLz5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZmxleC0xIHRleHQtbGVmdFwiPkxpZ2h0IFRoZW1lPC9zcGFuPlxuICAgICAgICA8a2JkIGNsYXNzTmFtZT1cInJvdW5kZWQgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctbXV0ZWQgcHgtMS41IHB5LTAuNSB0ZXh0LVsxMHB4XSBmb250LW1vbm9cIj5cbiAgICAgICAgICBUXG4gICAgICAgIDwva2JkPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgtMSBnYXAtMiBpdGVtcy1jZW50ZXIgaGlkZGVuIGRhcms6ZmxleFwiPlxuICAgICAgICA8TW9vbiBjbGFzc05hbWU9XCJzaXplLTRcIiAvPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmbGV4LTEgdGV4dC1sZWZ0XCI+RGFyayBUaGVtZTwvc3Bhbj5cbiAgICAgICAgPGtiZCBjbGFzc05hbWU9XCJyb3VuZGVkIGJvcmRlciBib3JkZXItYm9yZGVyIGJnLW11dGVkIHB4LTEuNSBweS0wLjUgdGV4dC1bMTBweF0gZm9udC1tb25vXCI+XG4gICAgICAgICAgVFxuICAgICAgICA8L2tiZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvQnV0dG9uPlxuICApXG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhlbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvY29tcG9uZW50cy9UaGVtZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUNoQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXdCLENBQUE7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFpQixDQUFBO0FBRTNDLGlGQUFpRjtBQUNqRixNQUFNLFVBQVUsS0FBSztJQUNuQiwrRUFBK0U7SUFDL0UsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxRQUFRLENBQVksUUFBUSxDQUFDLENBQUE7SUFFM0QsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFFaEYsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFlLEVBQUUsRUFBRTtRQUNqQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDaEIsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2hCLENBQUMsQ0FBQTtJQUVELE9BQU8sQ0FDTCxNQUFDLFNBQVMsSUFDUixLQUFLLEVBQUMsY0FBYyxFQUNwQixZQUFZLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQ3hELEtBQUssRUFBRTtZQUNMO2dCQUNFLEVBQUUsRUFBRSxPQUFPO2dCQUNYLEtBQUssRUFBRSxPQUFPO2dCQUNkLElBQUksRUFBRSxLQUFDLEdBQUcsSUFBQyxTQUFTLEVBQUMsaUJBQWlCLEdBQUc7Z0JBQ3pDLE1BQU0sRUFBRSxPQUFPLEtBQUssT0FBTztnQkFDM0IsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7YUFDaEM7WUFDRDtnQkFDRSxFQUFFLEVBQUUsTUFBTTtnQkFDVixLQUFLLEVBQUUsTUFBTTtnQkFDYixJQUFJLEVBQUUsS0FBQyxJQUFJLElBQUMsU0FBUyxFQUFDLGlCQUFpQixHQUFHO2dCQUMxQyxNQUFNLEVBQUUsT0FBTyxLQUFLLE1BQU07Z0JBQzFCLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO2FBQy9CO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLFFBQVE7Z0JBQ1osS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsSUFBSSxFQUFFLEtBQUMsT0FBTyxJQUFDLFNBQVMsRUFBQyxpQkFBaUIsR0FBRztnQkFDN0MsTUFBTSxFQUFFLE9BQU8sS0FBSyxRQUFRO2dCQUM1QixRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQzthQUNqQztTQUNGLEVBQ0QsT0FBTyxFQUNMLEtBQUMsTUFBTSxJQUNMLE9BQU8sRUFBQyxPQUFPLEVBQ2YsSUFBSSxFQUFDLFNBQVMsRUFDZCxLQUFLLEVBQUMsY0FBYyxnQkFDVCxjQUFjLHVCQUNQLEdBQUcsRUFDckIsU0FBUyxFQUFDLHNDQUFzQyxHQUNoRCxhQUtKLEtBQUMsR0FBRyxJQUFDLFNBQVMsRUFBQyxvQkFBb0IsR0FBRyxFQUN0QyxLQUFDLElBQUksSUFBQyxTQUFTLEVBQUMsMEJBQTBCLEdBQUcsSUFDbkMsQ0FDYixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vb24sIFN1biwgU3VuTW9vbiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuaW1wb3J0IHsgdXNlSG90a2V5IH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1ob3RrZXlzXCJcbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCIuLi9lbGVtZW50cy9idXR0b24udHN4XCJcbmltcG9ydCB0eXBlIHsgVGhlbWVQcmVmIH0gZnJvbSBcIi4uL2hlbHBlcnMvdGhlbWUudHNcIlxuaW1wb3J0IHsgZ2V0Q3VycmVudFRoZW1lLCBnZXRUaGVtZVByZWYsIHNldFRoZW1lIH0gZnJvbSBcIi4uL2hlbHBlcnMvdGhlbWUudHNcIlxuaW1wb3J0IHsgTWVudVNoZWV0IH0gZnJvbSBcIi4vTWVudVNoZWV0LnRzeFwiXG5cbi8qKiBIZWFkZXIgbWVudSBjaG9vc2luZyBsaWdodCwgZGFyayBvciBzeXN0ZW0gdGhlbWU7IFwiVFwiIGZsaXBzIGxpZ2h0IGFuZCBkYXJrICovXG5leHBvcnQgZnVuY3Rpb24gVGhlbWUoKSB7XG4gIC8vIFJlYWQgYXMgdGhlIG1lbnUgb3BlbnM6IG9uIHRoZSBzZXJ2ZXIgdGhlcmUgaXMgbm8gc3RvcmVkIHByZWZlcmVuY2UgdG8gcmVhZC5cbiAgY29uc3QgW2N1cnJlbnQsIHNldEN1cnJlbnRdID0gdXNlU3RhdGU8VGhlbWVQcmVmPihcInN5c3RlbVwiKVxuXG4gIHVzZUhvdGtleShcIlRcIiwgKCkgPT4gc2V0VGhlbWUoZ2V0Q3VycmVudFRoZW1lKCkgPT09IFwibGlnaHRcIiA/IFwiZGFya1wiIDogXCJsaWdodFwiKSlcblxuICBjb25zdCBjaG9vc2UgPSAocHJlZjogVGhlbWVQcmVmKSA9PiB7XG4gICAgc2V0Q3VycmVudChwcmVmKVxuICAgIHNldFRoZW1lKHByZWYpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxNZW51U2hlZXRcbiAgICAgIHRpdGxlPVwiQ2hhbmdlIHRoZW1lXCJcbiAgICAgIG9uT3BlbkNoYW5nZT17b3BlbiA9PiBvcGVuICYmIHNldEN1cnJlbnQoZ2V0VGhlbWVQcmVmKCkpfVxuICAgICAgaXRlbXM9e1tcbiAgICAgICAge1xuICAgICAgICAgIGlkOiBcImxpZ2h0XCIsXG4gICAgICAgICAgbGFiZWw6IFwiTGlnaHRcIixcbiAgICAgICAgICBpY29uOiA8U3VuIGNsYXNzTmFtZT1cInNpemUtNCBzaHJpbmstMFwiIC8+LFxuICAgICAgICAgIGFjdGl2ZTogY3VycmVudCA9PT0gXCJsaWdodFwiLFxuICAgICAgICAgIG9uU2VsZWN0OiAoKSA9PiBjaG9vc2UoXCJsaWdodFwiKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiBcImRhcmtcIixcbiAgICAgICAgICBsYWJlbDogXCJEYXJrXCIsXG4gICAgICAgICAgaWNvbjogPE1vb24gY2xhc3NOYW1lPVwic2l6ZS00IHNocmluay0wXCIgLz4sXG4gICAgICAgICAgYWN0aXZlOiBjdXJyZW50ID09PSBcImRhcmtcIixcbiAgICAgICAgICBvblNlbGVjdDogKCkgPT4gY2hvb3NlKFwiZGFya1wiKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiBcInN5c3RlbVwiLFxuICAgICAgICAgIGxhYmVsOiBcIlN5c3RlbVwiLFxuICAgICAgICAgIGljb246IDxTdW5Nb29uIGNsYXNzTmFtZT1cInNpemUtNCBzaHJpbmstMFwiIC8+LFxuICAgICAgICAgIGFjdGl2ZTogY3VycmVudCA9PT0gXCJzeXN0ZW1cIixcbiAgICAgICAgICBvblNlbGVjdDogKCkgPT4gY2hvb3NlKFwic3lzdGVtXCIpLFxuICAgICAgICB9LFxuICAgICAgXX1cbiAgICAgIHRyaWdnZXI9e1xuICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICBzaXplPVwiaWNvbi1zbVwiXG4gICAgICAgICAgdGl0bGU9XCJDaGFuZ2UgdGhlbWVcIlxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJDaGFuZ2UgdGhlbWVcIlxuICAgICAgICAgIGFyaWEta2V5c2hvcnRjdXRzPVwiVFwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwiY3Vyc29yLXBvaW50ZXIgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgIH1cbiAgICA+XG4gICAgICB7LyogU3dhcHBlZCBvbiB0aGUgYC5kYXJrYCBjbGFzcyByYXRoZXIgdGhhbiBvbiBzdGF0ZSwgc28gdGhlIHNlcnZlciByZW5kZXJcbiAgICAgICAgICBtYXRjaGVzOiBubyBoeWRyYXRpb24gbWlzbWF0Y2gsIG5vIHdyb25nLWljb24gZmxhc2guICovfVxuICAgICAgPFN1biBjbGFzc05hbWU9XCJzaXplLTQgZGFyazpoaWRkZW5cIiAvPlxuICAgICAgPE1vb24gY2xhc3NOYW1lPVwiaGlkZGVuIHNpemUtNCBkYXJrOmJsb2NrXCIgLz5cbiAgICA8L01lbnVTaGVldD5cbiAgKVxufVxuIl19
@@ -3,10 +3,11 @@ import type { TocItem } from "../models/toc.ts";
3
3
  export declare function Toc(props: {
4
4
  items: TocItem[];
5
5
  children?: ReactNode;
6
- }): import("react/jsx-runtime").JSX.Element | null;
7
- /** Mobile-only sticky secondary bar showing the active heading and an
8
- * overlay dropdown with the Contents + page Actions. */
6
+ }): import("react").JSX.Element | null;
7
+ /** Mobile-only sticky secondary bar showing the active heading; it opens a
8
+ * bottom sheet with the Contents and page Actions as two tabs. */
9
9
  export declare function MobileToc(props: {
10
10
  items: TocItem[];
11
+ title?: string;
11
12
  children?: ReactNode;
12
- }): import("react/jsx-runtime").JSX.Element | null;
13
+ }): import("react").JSX.Element | null;