@gentleduck/docs 0.0.13 → 0.0.16

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 (712) hide show
  1. package/dist/alert-DXO4N8gL.js +2 -0
  2. package/dist/alert-DXO4N8gL.js.map +1 -0
  3. package/dist/arrow-CU5T6t_D-BA13FgoC.js +2 -0
  4. package/dist/arrow-CU5T6t_D-BA13FgoC.js.map +1 -0
  5. package/dist/badge-BaSJ_om8.js +2 -0
  6. package/dist/badge-BaSJ_om8.js.map +1 -0
  7. package/dist/button-BPQ9zanb.js +2 -0
  8. package/dist/button-BPQ9zanb.js.map +1 -0
  9. package/dist/callout-2UaufBMG.d.ts +24 -0
  10. package/dist/callout-2UaufBMG.d.ts.map +1 -0
  11. package/dist/callout-DkKMc7na.js +2 -0
  12. package/dist/callout-DkKMc7na.js.map +1 -0
  13. package/dist/{charts-CvYC8d1e.js → charts-B7Xy2hnG.js} +1 -1
  14. package/dist/{charts-CvYC8d1e.js.map → charts-B7Xy2hnG.js.map} +1 -1
  15. package/dist/{charts-Cyick3Tp.d.ts → charts-D4Uj_gtE.d.ts} +1 -1
  16. package/dist/{charts-Cyick3Tp.d.ts.map → charts-D4Uj_gtE.d.ts.map} +1 -1
  17. package/dist/client.d.ts +53 -54
  18. package/dist/client.js +1 -1
  19. package/dist/{code-block-BNW0BxR6.d.ts → code-block-DAy3JZ6j.d.ts} +3 -3
  20. package/dist/{code-block-BNW0BxR6.d.ts.map → code-block-DAy3JZ6j.d.ts.map} +1 -1
  21. package/dist/{code-block-uesBcZgM.js → code-block-DzuzMGMr.js} +1 -1
  22. package/dist/{code-block-uesBcZgM.js.map → code-block-DzuzMGMr.js.map} +1 -1
  23. package/dist/{code-block-wrapper-XLG-BrIs.js → code-block-wrapper-BNMwGoo7.js} +1 -1
  24. package/dist/{code-block-wrapper-XLG-BrIs.js.map → code-block-wrapper-BNMwGoo7.js.map} +1 -1
  25. package/dist/{code-block-wrapper-B0GrI7hb.d.ts → code-block-wrapper-Uomy0XJY.d.ts} +3 -3
  26. package/dist/{code-block-wrapper-B0GrI7hb.d.ts.map → code-block-wrapper-Uomy0XJY.d.ts.map} +1 -1
  27. package/dist/code-preview-CosZjiht.js +2 -0
  28. package/dist/code-preview-CosZjiht.js.map +1 -0
  29. package/dist/{code-preview-D5Og4Jk3.d.ts → code-preview-DMjl8mgw.d.ts} +3 -3
  30. package/dist/{code-preview-D5Og4Jk3.d.ts.map → code-preview-DMjl8mgw.d.ts.map} +1 -1
  31. package/dist/{colors-BDTM1-gZ.d.ts → colors-Cx-Rmxum.d.ts} +1 -1
  32. package/dist/{colors-BDTM1-gZ.d.ts.map → colors-Cx-Rmxum.d.ts.map} +1 -1
  33. package/dist/{colors-BUDdXvJ2.js → colors-IvpyMpg7.js} +2 -2
  34. package/dist/{colors-BUDdXvJ2.js.map → colors-IvpyMpg7.js.map} +1 -1
  35. package/dist/command-menu-BY4dKRHx.js +2 -0
  36. package/dist/command-menu-BY4dKRHx.js.map +1 -0
  37. package/dist/command-menu-LHgyNFdE.d.ts +7 -0
  38. package/dist/command-menu-LHgyNFdE.d.ts.map +1 -0
  39. package/dist/{component-preview-D2UaIsBZ.d.ts → component-preview-BHW7X6pM.d.ts} +4 -4
  40. package/dist/component-preview-BHW7X6pM.d.ts.map +1 -0
  41. package/dist/component-preview-g-CoGwuu.js +2 -0
  42. package/dist/component-preview-g-CoGwuu.js.map +1 -0
  43. package/dist/component-source-BhZijwev.js +3 -0
  44. package/dist/component-source-BhZijwev.js.map +1 -0
  45. package/dist/component-source-C4Ul_ToZ.d.ts +16 -0
  46. package/dist/component-source-C4Ul_ToZ.d.ts.map +1 -0
  47. package/dist/components/copy-button.d.ts +4 -0
  48. package/dist/components/copy-button.js +1 -0
  49. package/dist/components/docs/docs-copy-page.d.ts +1 -1
  50. package/dist/components/docs/docs-copy-page.js +1 -1
  51. package/dist/components/docs/docs-pager.d.ts +3 -3
  52. package/dist/components/docs/docs-pager.js +1 -1
  53. package/dist/components/docs/docs-sidebar.d.ts +3 -3
  54. package/dist/components/docs/docs-sidebar.js +1 -1
  55. package/dist/components/docs/docs-toc.d.ts +3 -3
  56. package/dist/components/docs/docs-toc.js +1 -1
  57. package/dist/components/docs/index.d.ts +7 -7
  58. package/dist/components/docs/index.js +1 -1
  59. package/dist/components/icons.d.ts +1 -1
  60. package/dist/components/icons.js +1 -1
  61. package/dist/components/index.d.ts +45 -46
  62. package/dist/components/index.js +1 -1
  63. package/dist/components/layouts/command-menu.d.ts +2 -0
  64. package/dist/components/layouts/command-menu.js +1 -0
  65. package/dist/components/layouts/{site-header/header-shell.d.ts → header-shell.d.ts} +1 -1
  66. package/dist/components/layouts/header-shell.js +1 -0
  67. package/dist/components/layouts/index.d.ts +6 -7
  68. package/dist/components/layouts/index.js +1 -1
  69. package/dist/components/layouts/site-footer.d.ts +2 -0
  70. package/dist/components/layouts/site-footer.js +1 -0
  71. package/dist/components/layouts/site-header.d.ts +3 -0
  72. package/dist/components/layouts/site-header.js +1 -0
  73. package/dist/components/layouts/tailwind-indicator.d.ts +2 -0
  74. package/dist/components/layouts/tailwind-indicator.js +1 -0
  75. package/dist/components/main-nav.d.ts +1 -1
  76. package/dist/components/main-nav.js +1 -1
  77. package/dist/components/mdx/mdx-component-registry.types.d.ts +8 -0
  78. package/dist/components/mdx/mdx-component-registry.types.d.ts.map +1 -0
  79. package/dist/components/mdx/mdx-components/callout.d.ts +1 -1
  80. package/dist/components/mdx/mdx-components/callout.js +1 -1
  81. package/dist/components/mdx/mdx-components/code/code-block-wrapper.d.ts +1 -1
  82. package/dist/components/mdx/mdx-components/code/code-block-wrapper.js +1 -1
  83. package/dist/components/mdx/mdx-components/code/code-block.d.ts +1 -1
  84. package/dist/components/mdx/mdx-components/code/code-block.js +1 -1
  85. package/dist/components/mdx/mdx-components/code/code-preview.d.ts +1 -1
  86. package/dist/components/mdx/mdx-components/code/code-preview.js +1 -1
  87. package/dist/components/mdx/mdx-components/code/component-preview.d.ts +1 -1
  88. package/dist/components/mdx/mdx-components/code/component-preview.js +1 -1
  89. package/dist/components/mdx/mdx-components/code/component-source.d.ts +1 -1
  90. package/dist/components/mdx/mdx-components/code/component-source.js +1 -1
  91. package/dist/components/mdx/mdx-components/code/figcaption-block.d.ts +1 -1
  92. package/dist/components/mdx/mdx-components/code/figcaption-block.js +1 -1
  93. package/dist/components/mdx/mdx-components/code/index.d.ts +15 -12
  94. package/dist/components/mdx/mdx-components/code/index.js +1 -1
  95. package/dist/components/mdx/mdx-components/code/mermaid-block.d.ts +1 -1
  96. package/dist/components/mdx/mdx-components/code/mermaid-block.js +1 -1
  97. package/dist/components/mdx/mdx-components/code/pre-block/index.d.ts +7 -0
  98. package/dist/components/mdx/mdx-components/code/pre-block/index.js +1 -0
  99. package/dist/components/mdx/mdx-components/code/pre-block/pre-block.d.ts +6 -0
  100. package/dist/components/mdx/mdx-components/code/pre-block/pre-block.js +1 -0
  101. package/dist/components/mdx/mdx-components/code/pre-block/shell-command.d.ts +14 -0
  102. package/dist/components/mdx/mdx-components/code/pre-block/shell-command.d.ts.map +1 -0
  103. package/dist/components/mdx/mdx-components/code/pre-block/shell-command.js +1 -0
  104. package/dist/components/mdx/mdx-components/code/pre-block/types.d.ts +5 -0
  105. package/dist/components/mdx/mdx-components/code/span-block.d.ts +2 -2
  106. package/dist/components/mdx/mdx-components/code/span-block.d.ts.map +1 -1
  107. package/dist/components/mdx/mdx-components/components-list.d.ts +3 -3
  108. package/dist/components/mdx/mdx-components/components-list.js +1 -1
  109. package/dist/components/mdx/mdx-components/exalidraw.d.ts +2 -2
  110. package/dist/components/mdx/mdx-components/index.d.ts +24 -21
  111. package/dist/components/mdx/mdx-components/index.js +1 -1
  112. package/dist/components/mdx/mdx-components/table.d.ts +1 -1
  113. package/dist/components/mdx/mdx-components/table.js +1 -1
  114. package/dist/components/mdx/mdx-components/tabs.d.ts +1 -1
  115. package/dist/components/mdx/mdx-components/tabs.js +1 -1
  116. package/dist/components/mdx/mdx-components/typepography.d.ts +1 -1
  117. package/dist/components/mdx/mdx-components/typepography.js +1 -1
  118. package/dist/components/mdx/mdx-components/typography.d.ts +3 -0
  119. package/dist/components/mdx/mdx-components/typography.js +1 -0
  120. package/dist/components/mdx/mdx-components-base.d.ts +119 -0
  121. package/dist/components/mdx/mdx-components-base.d.ts.map +1 -0
  122. package/dist/components/mdx/mdx-components-base.js +1 -0
  123. package/dist/components/mdx/mdx-components-registry.d.ts +171 -0
  124. package/dist/components/mdx/mdx-components-registry.d.ts.map +1 -0
  125. package/dist/components/mdx/mdx-components-registry.js +1 -0
  126. package/dist/components/mdx/mdx-components-ui.d.ts +50 -0
  127. package/dist/components/mdx/mdx-components-ui.d.ts.map +1 -0
  128. package/dist/components/mdx/mdx-components-ui.js +1 -0
  129. package/dist/components/mdx/mdx-icons.d.ts +9 -9
  130. package/dist/components/mdx/mdx-icons.d.ts.map +1 -1
  131. package/dist/components/mdx/mdx-icons.js +1 -1
  132. package/dist/components/mdx/mdx-runtime.d.ts +11 -0
  133. package/dist/components/mdx/mdx-runtime.d.ts.map +1 -0
  134. package/dist/components/mdx/mdx-runtime.js +1 -0
  135. package/dist/components/mdx/mdx.d.ts +1 -1
  136. package/dist/components/mdx/mdx.js +1 -1
  137. package/dist/components/mobile-nav.d.ts +1 -1
  138. package/dist/components/mobile-nav.js +1 -1
  139. package/dist/components/mode-toggle.d.ts +1 -1
  140. package/dist/components/mode-toggle.js +1 -1
  141. package/dist/components/page-header.d.ts +1 -1
  142. package/dist/components/page-header.js +1 -1
  143. package/dist/components/providers.d.ts +1 -1
  144. package/dist/components/providers.js +1 -1
  145. package/dist/components/style-switcher.d.ts +2 -0
  146. package/dist/components/style-switcher.js +1 -0
  147. package/dist/components-list-C67E8feA.d.ts +12 -0
  148. package/dist/{components-list-VYl4HAYt.d.ts.map → components-list-C67E8feA.d.ts.map} +1 -1
  149. package/dist/{components-list-DiOUxZd_.js → components-list-Cg9ggVyv.js} +2 -2
  150. package/dist/{components-list-DiOUxZd_.js.map → components-list-Cg9ggVyv.js.map} +1 -1
  151. package/dist/context/context.d.ts +1 -1
  152. package/dist/context/context.js +1 -1
  153. package/dist/context/context.types.d.ts +1 -1
  154. package/dist/context/index.d.ts +3 -3
  155. package/dist/context/index.js +1 -1
  156. package/dist/{context-C656KJNk.d.ts → context-Boqhj3tq.d.ts} +4 -4
  157. package/dist/{context-C656KJNk.d.ts.map → context-Boqhj3tq.d.ts.map} +1 -1
  158. package/dist/{context-CibrcgaK.js → context-Bu-bPlyW.js} +1 -1
  159. package/dist/{context-CibrcgaK.js.map → context-Bu-bPlyW.js.map} +1 -1
  160. package/dist/{context.types-KUK2rNdz.d.ts → context.types-pTQ85uw2.d.ts} +6 -2
  161. package/dist/context.types-pTQ85uw2.d.ts.map +1 -0
  162. package/dist/copy-button-BKx55olo.d.ts +20 -0
  163. package/dist/copy-button-BKx55olo.d.ts.map +1 -0
  164. package/dist/copy-button-Ccbj3Omt.js +2 -0
  165. package/dist/copy-button-Ccbj3Omt.js.map +1 -0
  166. package/dist/create-collection-S3CvffX1-DA20ZU15.js +2 -0
  167. package/dist/create-collection-S3CvffX1-DA20ZU15.js.map +1 -0
  168. package/dist/dialog-68QLl2rI.js +4 -0
  169. package/dist/dialog-68QLl2rI.js.map +1 -0
  170. package/dist/direction-B-anGbxM-BdqxtlGV.js +2 -0
  171. package/dist/direction-B-anGbxM-BdqxtlGV.js.map +1 -0
  172. package/dist/{dist-DfVBUGvk.js → dist-BEBzXlAF.js} +1 -1
  173. package/dist/{dist-DfVBUGvk.js.map → dist-BEBzXlAF.js.map} +1 -1
  174. package/dist/{docs-copy-page-BEtbT7qX.d.ts → docs-copy-page-BZuaAwiB.d.ts} +3 -3
  175. package/dist/docs-copy-page-BZuaAwiB.d.ts.map +1 -0
  176. package/dist/docs-copy-page-QXgUbioW.js +2 -0
  177. package/dist/docs-copy-page-QXgUbioW.js.map +1 -0
  178. package/dist/{docs-pager-BFx4yEm-.d.ts → docs-pager-D2ekv5NL.d.ts} +6 -6
  179. package/dist/{docs-pager-BFx4yEm-.d.ts.map → docs-pager-D2ekv5NL.d.ts.map} +1 -1
  180. package/dist/docs-pager-mprD1O3r.js +2 -0
  181. package/dist/docs-pager-mprD1O3r.js.map +1 -0
  182. package/dist/docs-sidebar-C0yQ6ZWj.d.ts +43 -0
  183. package/dist/docs-sidebar-C0yQ6ZWj.d.ts.map +1 -0
  184. package/dist/docs-sidebar-DY2ybOuM.js +2 -0
  185. package/dist/docs-sidebar-DY2ybOuM.js.map +1 -0
  186. package/dist/docs-toc-Bjmkbd6l.js +2 -0
  187. package/dist/docs-toc-Bjmkbd6l.js.map +1 -0
  188. package/dist/docs-toc-D-hn1gA2.d.ts +13 -0
  189. package/dist/docs-toc-D-hn1gA2.d.ts.map +1 -0
  190. package/dist/drawer-kwSiurIF.js +8 -0
  191. package/dist/drawer-kwSiurIF.js.map +1 -0
  192. package/dist/{events-CFVHB4m8.d.ts → events-CQ5HMYtp.d.ts} +1 -1
  193. package/dist/{events-CFVHB4m8.d.ts.map → events-CQ5HMYtp.d.ts.map} +1 -1
  194. package/dist/{events-DHlTM_S_.js → events-Tn9hD65k.js} +1 -1
  195. package/dist/{events-DHlTM_S_.js.map → events-Tn9hD65k.js.map} +1 -1
  196. package/dist/{figcaption-block-DfyvzBoz.d.ts → figcaption-block-Ccf4yBMy.d.ts} +3 -3
  197. package/dist/figcaption-block-Ccf4yBMy.d.ts.map +1 -0
  198. package/dist/figcaption-block-RFNt1OSv.js +2 -0
  199. package/dist/figcaption-block-RFNt1OSv.js.map +1 -0
  200. package/dist/hast-properties-C103K0PZ.js +2 -0
  201. package/dist/hast-properties-C103K0PZ.js.map +1 -0
  202. package/dist/{header-shell-DG6EtZSb.d.ts → header-shell-BYafp8lR.d.ts} +7 -7
  203. package/dist/header-shell-BYafp8lR.d.ts.map +1 -0
  204. package/dist/{header-shell-BnhiboVH.js → header-shell-PLI5ZAwI.js} +2 -2
  205. package/dist/header-shell-PLI5ZAwI.js.map +1 -0
  206. package/dist/hooks/index.d.ts +7 -7
  207. package/dist/hooks/index.js +1 -1
  208. package/dist/hooks/use-colors.d.ts +2 -2
  209. package/dist/hooks/use-colors.js +1 -1
  210. package/dist/hooks/use-config.d.ts +1 -1
  211. package/dist/hooks/use-config.js +1 -1
  212. package/dist/hooks/use-lift-mode.d.ts +1 -1
  213. package/dist/hooks/use-lift-mode.js +1 -1
  214. package/dist/hooks/use-meta-colors.d.ts +1 -1
  215. package/dist/hooks/use-meta-colors.js +1 -1
  216. package/dist/hooks/use-mounted.d.ts +1 -1
  217. package/dist/hooks/use-mounted.js +1 -1
  218. package/dist/hooks/use-themes-config.d.ts +1 -1
  219. package/dist/hooks/use-themes-config.js +1 -1
  220. package/dist/icons-B8awNAgi.d.ts +33 -0
  221. package/dist/icons-B8awNAgi.d.ts.map +1 -0
  222. package/dist/icons-dASZ3daW.js +2 -0
  223. package/dist/icons-dASZ3daW.js.map +1 -0
  224. package/dist/index-B94w2qPS.d.ts +17 -0
  225. package/dist/index-B94w2qPS.d.ts.map +1 -0
  226. package/dist/{index-C2_c9Mqo.d.ts → index-CdFFVx85.d.ts} +5 -13
  227. package/dist/index-CdFFVx85.d.ts.map +1 -0
  228. package/dist/index.d.ts +12 -11
  229. package/dist/index.js +1 -1
  230. package/dist/lib/charts.d.ts +1 -1
  231. package/dist/lib/charts.js +1 -1
  232. package/dist/lib/colors.d.ts +1 -1
  233. package/dist/lib/colors.js +1 -1
  234. package/dist/lib/events.d.ts +1 -1
  235. package/dist/lib/events.js +1 -1
  236. package/dist/lib/index.d.ts +6 -5
  237. package/dist/lib/index.js +1 -1
  238. package/dist/lib/registry-colors-data.js +1 -1
  239. package/dist/lib/registry-styles.d.ts +1 -1
  240. package/dist/lib/registry-styles.js +1 -1
  241. package/dist/lib/themes.d.ts +1 -1
  242. package/dist/lib/themes.js +1 -1
  243. package/dist/lib/utils.d.ts +1 -1
  244. package/dist/lib/utils.js +1 -1
  245. package/dist/list-navigation-LJg-1TD2-DsfZPowW.js +2 -0
  246. package/dist/list-navigation-LJg-1TD2-DsfZPowW.js.map +1 -0
  247. package/dist/main-nav-Ctrj2x2N.d.ts +7 -0
  248. package/dist/main-nav-Ctrj2x2N.d.ts.map +1 -0
  249. package/dist/mdx-B4bzoDDs.d.ts +12 -0
  250. package/dist/mdx-B4bzoDDs.d.ts.map +1 -0
  251. package/dist/mdx-CpGlQTio.js +2 -0
  252. package/dist/mdx-CpGlQTio.js.map +1 -0
  253. package/dist/mdx-components-base-ByG7D4Kc.js +2 -0
  254. package/dist/mdx-components-base-ByG7D4Kc.js.map +1 -0
  255. package/dist/mdx-components-registry-H3xD8Epe.js +2 -0
  256. package/dist/mdx-components-registry-H3xD8Epe.js.map +1 -0
  257. package/dist/mdx-components-ui-Cp73cCYd.js +2 -0
  258. package/dist/mdx-components-ui-Cp73cCYd.js.map +1 -0
  259. package/dist/{mdx-icons-BH4zLUw0.js → mdx-icons-Duo8BbOA.js} +1 -1
  260. package/dist/{mdx-icons-BH4zLUw0.js.map → mdx-icons-Duo8BbOA.js.map} +1 -1
  261. package/dist/mdx-runtime-BeG80qPS.js +2 -0
  262. package/dist/mdx-runtime-BeG80qPS.js.map +1 -0
  263. package/dist/mdx-runtime-DjYaVtmv.d.ts +23 -0
  264. package/dist/mdx-runtime-DjYaVtmv.d.ts.map +1 -0
  265. package/dist/mermaid-block-BfbjIpjJ.js +12 -0
  266. package/dist/mermaid-block-BfbjIpjJ.js.map +1 -0
  267. package/dist/{mermaid-block-DOJ68HFE.d.ts → mermaid-block-C3dgb4nS.d.ts} +3 -3
  268. package/dist/{mermaid-block-DOJ68HFE.d.ts.map → mermaid-block-C3dgb4nS.d.ts.map} +1 -1
  269. package/dist/metadata-plugin-BL84sQM5.d.ts +8 -0
  270. package/dist/metadata-plugin-BL84sQM5.d.ts.map +1 -0
  271. package/dist/metadata-plugin-DA7OesoA.js +2 -0
  272. package/dist/metadata-plugin-DA7OesoA.js.map +1 -0
  273. package/dist/metadata-utils-C_8CcvsG.js +2 -0
  274. package/dist/metadata-utils-C_8CcvsG.js.map +1 -0
  275. package/dist/mobile-nav-BwxnYQIS.d.ts +7 -0
  276. package/dist/mobile-nav-BwxnYQIS.d.ts.map +1 -0
  277. package/dist/mobile-nav-rBOCLILt.js +2 -0
  278. package/dist/mobile-nav-rBOCLILt.js.map +1 -0
  279. package/dist/mode-toggle-DTIF2o7F.d.ts +7 -0
  280. package/dist/mode-toggle-DTIF2o7F.d.ts.map +1 -0
  281. package/dist/mode-toggle-DhgB9p1I.js +2 -0
  282. package/dist/mode-toggle-DhgB9p1I.js.map +1 -0
  283. package/dist/mount-CoAqNcc6.js +2 -0
  284. package/dist/mount-CoAqNcc6.js.map +1 -0
  285. package/dist/{nav-B2NAfb21.d.ts → nav-B0m_RJfC.d.ts} +3 -1
  286. package/dist/nav-B0m_RJfC.d.ts.map +1 -0
  287. package/dist/{page-header-D8n3yXQF.js → page-header-TUu9iNwc.js} +1 -1
  288. package/dist/{page-header-D8n3yXQF.js.map → page-header-TUu9iNwc.js.map} +1 -1
  289. package/dist/{page-header-h4wXUkUH.d.ts → page-header-raOcAxSb.d.ts} +6 -6
  290. package/dist/{page-header-h4wXUkUH.d.ts.map → page-header-raOcAxSb.d.ts.map} +1 -1
  291. package/dist/portal-BNuCvTAR-DDrsnIMA.js +2 -0
  292. package/dist/portal-BNuCvTAR-DDrsnIMA.js.map +1 -0
  293. package/dist/pre-block-Bt_9UuCv.js +2 -0
  294. package/dist/pre-block-Bt_9UuCv.js.map +1 -0
  295. package/dist/pre-block-MqyNpmYa.d.ts +19 -0
  296. package/dist/pre-block-MqyNpmYa.d.ts.map +1 -0
  297. package/dist/providers-BlEJC-ZF.js +2 -0
  298. package/dist/providers-BlEJC-ZF.js.map +1 -0
  299. package/dist/{providers-Do13WJMr.d.ts → providers-CxZdaO7_.d.ts} +3 -3
  300. package/dist/providers-CxZdaO7_.d.ts.map +1 -0
  301. package/dist/{registry-colors-data-tROJGGvk.js → registry-colors-data-C5Xv_bOz.js} +1 -1
  302. package/dist/{registry-colors-data-tROJGGvk.js.map → registry-colors-data-C5Xv_bOz.js.map} +1 -1
  303. package/dist/{registry-styles-DACce7ra.d.ts → registry-styles-Boe9P1LO.d.ts} +1 -1
  304. package/dist/{registry-styles-DACce7ra.d.ts.map → registry-styles-Boe9P1LO.d.ts.map} +1 -1
  305. package/dist/{registry-styles-Bby12FIz.js → registry-styles-DwoJ9Qa9.js} +1 -1
  306. package/dist/{registry-styles-Bby12FIz.js.map → registry-styles-DwoJ9Qa9.js.map} +1 -1
  307. package/dist/{rehype-mermaid-gkaeJtqn.js → rehype-mermaid-Ctag2Ywx.js} +1 -1
  308. package/dist/{rehype-mermaid-gkaeJtqn.js.map → rehype-mermaid-Ctag2Ywx.js.map} +1 -1
  309. package/dist/{rehype-mermaid-kjf2DmAC.d.ts → rehype-mermaid-DPZ6UzOu.d.ts} +2 -2
  310. package/dist/rehype-mermaid-DPZ6UzOu.d.ts.map +1 -0
  311. package/dist/rehype-npm-command-0W5WqcQY.js +2 -0
  312. package/dist/rehype-npm-command-0W5WqcQY.js.map +1 -0
  313. package/dist/{rehype-npm-command-C7BP6nqi.d.ts → rehype-npm-command-khRZrj_X.d.ts} +2 -2
  314. package/dist/rehype-npm-command-khRZrj_X.d.ts.map +1 -0
  315. package/dist/{rehype-pre-block-source-zKoXg4aL.d.ts → rehype-pre-block-source-0UyWe2hh.d.ts} +2 -2
  316. package/dist/rehype-pre-block-source-0UyWe2hh.d.ts.map +1 -0
  317. package/dist/rehype-pre-block-source-paX7yPQ4.js +2 -0
  318. package/dist/rehype-pre-block-source-paX7yPQ4.js.map +1 -0
  319. package/dist/{rehype-title-TRUGszot.js → rehype-title-CB9V-h9I.js} +1 -1
  320. package/dist/{rehype-title-TRUGszot.js.map → rehype-title-CB9V-h9I.js.map} +1 -1
  321. package/dist/{rehype-title-umwuNb2D.d.ts → rehype-title-CTj31zR2.d.ts} +2 -2
  322. package/dist/rehype-title-CTj31zR2.d.ts.map +1 -0
  323. package/dist/scroll-area-DwfrxxQ_.js +2 -0
  324. package/dist/scroll-area-DwfrxxQ_.js.map +1 -0
  325. package/dist/separator-BL4VUMvX.js +2 -0
  326. package/dist/separator-BL4VUMvX.js.map +1 -0
  327. package/dist/shared-utils-DqLwMUcj-Cs7um3C7.js +2 -0
  328. package/dist/shared-utils-DqLwMUcj-Cs7um3C7.js.map +1 -0
  329. package/dist/shell-command-BQkaAnLc.js +2 -0
  330. package/dist/shell-command-BQkaAnLc.js.map +1 -0
  331. package/dist/site-footer-Dh_aYkTp.d.ts +8 -0
  332. package/dist/site-footer-Dh_aYkTp.d.ts.map +1 -0
  333. package/dist/site-footer-DoVwgNqf.js +2 -0
  334. package/dist/site-footer-DoVwgNqf.js.map +1 -0
  335. package/dist/site-header-BiFOBrXI.js +2 -0
  336. package/dist/site-header-BiFOBrXI.js.map +1 -0
  337. package/dist/site-header-C77EADsW.d.ts +8 -0
  338. package/dist/site-header-C77EADsW.d.ts.map +1 -0
  339. package/dist/slot-B-X2-pKU-DOhFF3E_.js +2 -0
  340. package/dist/slot-B-X2-pKU-DOhFF3E_.js.map +1 -0
  341. package/dist/style-switcher--saWXPVm.js +2 -0
  342. package/dist/style-switcher--saWXPVm.js.map +1 -0
  343. package/dist/style-switcher-BCCh5sxc.d.ts +15 -0
  344. package/dist/style-switcher-BCCh5sxc.d.ts.map +1 -0
  345. package/dist/styles/base.css +12 -12
  346. package/dist/styles/docs.css +14 -1
  347. package/dist/styles/mdx-base.css +27 -0
  348. package/dist/styles/mdx-code.css +142 -0
  349. package/dist/styles/mdx-extensions.css +3 -0
  350. package/dist/styles/mdx-typography.css +27 -0
  351. package/dist/styles/mdx.css +4 -197
  352. package/dist/table-E1lSNeuD.js +2 -0
  353. package/dist/table-E1lSNeuD.js.map +1 -0
  354. package/dist/table-tgo1Zoi5.d.ts +22 -0
  355. package/dist/table-tgo1Zoi5.d.ts.map +1 -0
  356. package/dist/tabs-Bi5DkOoD.d.ts +43 -0
  357. package/dist/tabs-Bi5DkOoD.d.ts.map +1 -0
  358. package/dist/{tabs-Cvy3-KIA.js → tabs-BonSZ_0a.js} +2 -2
  359. package/dist/tabs-BonSZ_0a.js.map +1 -0
  360. package/dist/tabs-CrZf6_5d.js +2 -0
  361. package/dist/tabs-CrZf6_5d.js.map +1 -0
  362. package/dist/tailwind-indicator-C2nO7EAI.d.ts +7 -0
  363. package/dist/tailwind-indicator-C2nO7EAI.d.ts.map +1 -0
  364. package/dist/{tailwind-indicator-Dt4Bfpta.js → tailwind-indicator-z53_j-ZR.js} +1 -1
  365. package/dist/tailwind-indicator-z53_j-ZR.js.map +1 -0
  366. package/dist/{themes-BzMklu0h.js → themes-DSmnGG_O.js} +2 -2
  367. package/dist/{themes-BzMklu0h.js.map → themes-DSmnGG_O.js.map} +1 -1
  368. package/dist/{themes-Ba683LGu.d.ts → themes-M1nDuQoV.d.ts} +1 -1
  369. package/dist/{themes-Ba683LGu.d.ts.map → themes-M1nDuQoV.d.ts.map} +1 -1
  370. package/dist/{typepography-BdIMY3Y2.d.ts → typepography-Bb4KzfVL.d.ts} +13 -13
  371. package/dist/{typepography-BdIMY3Y2.d.ts.map → typepography-Bb4KzfVL.d.ts.map} +1 -1
  372. package/dist/{typepography-CLdrb7_b.js → typepography-Bn-ZmO71.js} +1 -1
  373. package/dist/{typepography-CLdrb7_b.js.map → typepography-Bn-ZmO71.js.map} +1 -1
  374. package/dist/types/index.d.ts +5 -4
  375. package/dist/types/mdx-runtime.d.ts +2 -0
  376. package/dist/types/nav.d.ts +1 -1
  377. package/dist/types/unist.d.ts +2 -1
  378. package/dist/types-DsWNixhq.d.ts +14 -0
  379. package/dist/types-DsWNixhq.d.ts.map +1 -0
  380. package/dist/typography-BcEByhvR.js +0 -0
  381. package/dist/unist-Dtu3x3-k.js +0 -0
  382. package/dist/unist-q3NIH9ya.d.ts +29 -0
  383. package/dist/unist-q3NIH9ya.d.ts.map +1 -0
  384. package/dist/{use-colors-BSOymnQG.js → use-colors-BiVXxR31.js} +2 -2
  385. package/dist/{use-colors-BSOymnQG.js.map → use-colors-BiVXxR31.js.map} +1 -1
  386. package/dist/{use-colors-tvFBbu3S.d.ts → use-colors-CBAXuqtP.d.ts} +2 -2
  387. package/dist/use-colors-CBAXuqtP.d.ts.map +1 -0
  388. package/dist/{use-config-DlgXRPaN.d.ts → use-config-3gNoFPn6.d.ts} +2 -2
  389. package/dist/{use-config-DlgXRPaN.d.ts.map → use-config-3gNoFPn6.d.ts.map} +1 -1
  390. package/dist/{use-config-DViAkW1f.js → use-config-CkoOe8Fw.js} +1 -1
  391. package/dist/{use-config-DViAkW1f.js.map → use-config-CkoOe8Fw.js.map} +1 -1
  392. package/dist/{use-lift-mode-CqcC0vis.js → use-lift-mode-CRK6jO9I.js} +1 -1
  393. package/dist/{use-lift-mode-CqcC0vis.js.map → use-lift-mode-CRK6jO9I.js.map} +1 -1
  394. package/dist/{use-lift-mode-DEELjsRA.d.ts → use-lift-mode-DAQuqoIt.d.ts} +1 -1
  395. package/dist/use-lift-mode-DAQuqoIt.d.ts.map +1 -0
  396. package/dist/{use-meta-colors-CkNbJTgD.d.ts → use-meta-colors-Dlzg21A8.d.ts} +1 -1
  397. package/dist/use-meta-colors-Dlzg21A8.d.ts.map +1 -0
  398. package/dist/{use-meta-colors-B7HIXaHI.js → use-meta-colors-ye3z03RL.js} +2 -2
  399. package/dist/{use-meta-colors-B7HIXaHI.js.map → use-meta-colors-ye3z03RL.js.map} +1 -1
  400. package/dist/{use-mounted-gdBJPRp0.js → use-mounted-Bi7J0dBb.js} +1 -1
  401. package/dist/{use-mounted-gdBJPRp0.js.map → use-mounted-Bi7J0dBb.js.map} +1 -1
  402. package/dist/{use-mounted-BtOuPtMk.d.ts → use-mounted-CqC1Le-n.d.ts} +1 -1
  403. package/dist/use-mounted-CqC1Le-n.d.ts.map +1 -0
  404. package/dist/{use-themes-config-Dtk_egkh.d.ts → use-themes-config-DfxLBbQI.d.ts} +2 -2
  405. package/dist/{use-themes-config-Dtk_egkh.d.ts.map → use-themes-config-DfxLBbQI.d.ts.map} +1 -1
  406. package/dist/{use-themes-config-BRcxOF-M.js → use-themes-config-t4NBMHl1.js} +2 -2
  407. package/dist/{use-themes-config-BRcxOF-M.js.map → use-themes-config-t4NBMHl1.js.map} +1 -1
  408. package/dist/{utils-gls3XPIE.d.ts → utils-BGWVtLBe.d.ts} +1 -1
  409. package/dist/utils-BGWVtLBe.d.ts.map +1 -0
  410. package/dist/utils-CN0aIGfJ.js +2 -0
  411. package/dist/utils-CN0aIGfJ.js.map +1 -0
  412. package/dist/velite/browser.d.ts +2 -1
  413. package/dist/velite/browser.d.ts.map +1 -1
  414. package/dist/velite/browser.js +1 -1
  415. package/dist/velite/browser.js.map +1 -1
  416. package/dist/velite/config.d.ts.map +1 -1
  417. package/dist/velite/config.js +1 -1
  418. package/dist/velite/config.js.map +1 -1
  419. package/dist/velite/index.d.ts +8 -8
  420. package/dist/velite/index.js +1 -1
  421. package/dist/velite/plugins/hast-properties.d.ts +9 -0
  422. package/dist/velite/plugins/hast-properties.d.ts.map +1 -0
  423. package/dist/velite/plugins/hast-properties.js +1 -0
  424. package/dist/velite/plugins/index.d.ts +8 -8
  425. package/dist/velite/plugins/index.js +1 -1
  426. package/dist/velite/plugins/metadata-plugin.d.ts +4 -4
  427. package/dist/velite/plugins/metadata-plugin.js +1 -1
  428. package/dist/velite/plugins/metadata-utils.d.ts +9 -0
  429. package/dist/velite/plugins/metadata-utils.d.ts.map +1 -0
  430. package/dist/velite/plugins/metadata-utils.js +1 -0
  431. package/dist/velite/plugins/rehype-mermaid.d.ts +3 -3
  432. package/dist/velite/plugins/rehype-mermaid.js +1 -1
  433. package/dist/velite/plugins/rehype-npm-command.d.ts +3 -3
  434. package/dist/velite/plugins/rehype-npm-command.js +1 -1
  435. package/dist/velite/plugins/rehype-pre-block-source.d.ts +3 -3
  436. package/dist/velite/plugins/rehype-pre-block-source.js +1 -1
  437. package/dist/velite/plugins/rehype-title.d.ts +3 -3
  438. package/dist/velite/plugins/rehype-title.js +1 -1
  439. package/dist/visibility-hidden-CAHx9RLp-CN32k1Im.js +2 -0
  440. package/dist/visibility-hidden-CAHx9RLp-CN32k1Im.js.map +1 -0
  441. package/package.json +28 -30
  442. package/src/client.ts +0 -0
  443. package/src/components/copy-button.tsx +54 -0
  444. package/src/components/docs/docs-copy-page.tsx +161 -46
  445. package/src/components/docs/docs-pager.tsx +22 -12
  446. package/src/components/docs/docs-sidebar.tsx +194 -29
  447. package/src/components/docs/docs-toc.tsx +233 -56
  448. package/src/components/docs/index.ts +0 -0
  449. package/src/components/icons.tsx +13 -25
  450. package/src/components/index.ts +1 -1
  451. package/src/components/layouts/command-menu.tsx +491 -0
  452. package/src/components/layouts/{site-header/header-shell.tsx → header-shell.tsx} +2 -2
  453. package/src/components/layouts/{site-footer/index.tsx → site-footer.tsx} +10 -7
  454. package/src/components/layouts/site-header.tsx +178 -0
  455. package/src/components/main-nav.tsx +3 -2
  456. package/src/components/mdx/ARCHITECTURE.md +61 -0
  457. package/src/components/mdx/mdx-component-registry.types.ts +5 -0
  458. package/src/components/mdx/mdx-components/callout.tsx +29 -9
  459. package/src/components/mdx/mdx-components/code/code-preview.tsx +11 -8
  460. package/src/components/mdx/mdx-components/code/component-preview.tsx +59 -27
  461. package/src/components/mdx/mdx-components/code/component-source.tsx +49 -21
  462. package/src/components/mdx/mdx-components/code/figcaption-block.tsx +2 -8
  463. package/src/components/mdx/mdx-components/code/mermaid-block.tsx +5 -3
  464. package/src/components/mdx/mdx-components/code/pre-block/index.ts +1 -0
  465. package/src/components/mdx/mdx-components/code/pre-block/pre-block.tsx +52 -0
  466. package/src/components/mdx/mdx-components/code/{pre-block.tsx → pre-block/shell-command.tsx} +4 -58
  467. package/src/components/mdx/mdx-components/code/pre-block/types.ts +10 -0
  468. package/src/components/mdx/mdx-components/components-list.tsx +0 -0
  469. package/src/components/mdx/mdx-components/index.ts +1 -2
  470. package/src/components/mdx/mdx-components/table.tsx +36 -27
  471. package/src/components/mdx/mdx-components/tabs.tsx +5 -2
  472. package/src/components/mdx/mdx-components/typography.tsx +1 -0
  473. package/src/components/mdx/mdx-components-base.tsx +81 -0
  474. package/src/components/mdx/mdx-components-registry.ts +8 -0
  475. package/src/components/mdx/mdx-components-ui.tsx +21 -0
  476. package/src/components/mdx/mdx-icons.ts +0 -0
  477. package/src/components/mdx/mdx-runtime.ts +10 -0
  478. package/src/components/mdx/mdx.tsx +3 -103
  479. package/src/components/mobile-nav.tsx +57 -22
  480. package/src/components/mode-toggle.tsx +4 -4
  481. package/src/components/providers.tsx +0 -1
  482. package/src/components/{themes/style-switcher.tsx → style-switcher.tsx} +5 -2
  483. package/src/context/context.tsx +0 -0
  484. package/src/context/context.types.ts +4 -0
  485. package/src/context/index.ts +0 -0
  486. package/src/hooks/index.ts +0 -0
  487. package/src/lib/index.ts +0 -0
  488. package/src/lib/registry-styles.ts +0 -0
  489. package/src/lib/utils.ts +7 -1
  490. package/src/styles/base.css +12 -12
  491. package/src/styles/docs.css +14 -1
  492. package/src/styles/mdx-base.css +27 -0
  493. package/src/styles/mdx-code.css +142 -0
  494. package/src/styles/mdx-extensions.css +3 -0
  495. package/src/styles/mdx-typography.css +27 -0
  496. package/src/styles/mdx.css +4 -197
  497. package/src/types/index.ts +1 -0
  498. package/src/types/mdx-runtime.ts +21 -0
  499. package/src/types/nav.ts +2 -0
  500. package/src/types/unist.ts +5 -19
  501. package/src/velite/browser.ts +1 -0
  502. package/src/velite/config.ts +56 -38
  503. package/src/velite/index.ts +0 -0
  504. package/src/velite/plugins/hast-properties.ts +12 -0
  505. package/src/velite/plugins/index.ts +0 -0
  506. package/src/velite/plugins/metadata-plugin.ts +14 -11
  507. package/src/velite/plugins/metadata-utils.ts +14 -0
  508. package/src/velite/plugins/rehype-mermaid.ts +0 -0
  509. package/src/velite/plugins/rehype-npm-command.ts +24 -22
  510. package/src/velite/plugins/rehype-pre-block-source.ts +6 -4
  511. package/src/velite/plugins/rehype-title.ts +0 -0
  512. package/src/velite/utils.ts +0 -0
  513. package/dist/button-Ao0Egplu.js +0 -2
  514. package/dist/button-Ao0Egplu.js.map +0 -1
  515. package/dist/callout-C1MveMtC.d.ts +0 -20
  516. package/dist/callout-C1MveMtC.d.ts.map +0 -1
  517. package/dist/callout-ChU_uu_5.js +0 -2
  518. package/dist/callout-ChU_uu_5.js.map +0 -1
  519. package/dist/chunk-BPpoHddQ-DLGSIJHp.js +0 -2
  520. package/dist/chunk-BPpoHddQ-DLGSIJHp.js.map +0 -1
  521. package/dist/code-preview-DTVYDNkK.js +0 -2
  522. package/dist/code-preview-DTVYDNkK.js.map +0 -1
  523. package/dist/command-2PGkRCUM.js +0 -2
  524. package/dist/command-2PGkRCUM.js.map +0 -1
  525. package/dist/command-menu-Db8sDulu.js +0 -2
  526. package/dist/command-menu-Db8sDulu.js.map +0 -1
  527. package/dist/command-menu-DtpwoKe8.d.ts +0 -7
  528. package/dist/command-menu-DtpwoKe8.d.ts.map +0 -1
  529. package/dist/component-preview-D2UaIsBZ.d.ts.map +0 -1
  530. package/dist/component-preview-InhzN4h1.js +0 -2
  531. package/dist/component-preview-InhzN4h1.js.map +0 -1
  532. package/dist/component-source-CLa1Z_vJ.d.ts +0 -17
  533. package/dist/component-source-CLa1Z_vJ.d.ts.map +0 -1
  534. package/dist/component-source-DtSz1ZSB.js +0 -5
  535. package/dist/component-source-DtSz1ZSB.js.map +0 -1
  536. package/dist/components/copy-button/copy-button.d.ts +0 -5
  537. package/dist/components/copy-button/copy-button.js +0 -1
  538. package/dist/components/copy-button/copy-button.types.d.ts +0 -4
  539. package/dist/components/copy-button/index.d.ts +0 -6
  540. package/dist/components/copy-button/index.js +0 -1
  541. package/dist/components/layouts/command-menu/command-menu.d.ts +0 -2
  542. package/dist/components/layouts/command-menu/command-menu.js +0 -1
  543. package/dist/components/layouts/command-menu/index.d.ts +0 -3
  544. package/dist/components/layouts/command-menu/index.js +0 -1
  545. package/dist/components/layouts/site-footer/index.d.ts +0 -2
  546. package/dist/components/layouts/site-footer/index.js +0 -1
  547. package/dist/components/layouts/site-header/header-shell.js +0 -1
  548. package/dist/components/layouts/site-header/index.d.ts +0 -3
  549. package/dist/components/layouts/site-header/index.js +0 -1
  550. package/dist/components/layouts/tailwind-indicator/index.d.ts +0 -2
  551. package/dist/components/layouts/tailwind-indicator/index.js +0 -1
  552. package/dist/components/mdx/mdx-components/code/pre-block.d.ts +0 -4
  553. package/dist/components/mdx/mdx-components/code/pre-block.js +0 -1
  554. package/dist/components/mdx/mdx-components/framework-docs.d.ts +0 -2
  555. package/dist/components/mdx/mdx-components/framework-docs.js +0 -1
  556. package/dist/components/themes/index.d.ts +0 -4
  557. package/dist/components/themes/index.js +0 -1
  558. package/dist/components/themes/style-switcher.d.ts +0 -3
  559. package/dist/components/themes/style-switcher.js +0 -1
  560. package/dist/components-list-VYl4HAYt.d.ts +0 -12
  561. package/dist/context.types-KUK2rNdz.d.ts.map +0 -1
  562. package/dist/copy-button-DSpL6XPh.d.ts +0 -21
  563. package/dist/copy-button-DSpL6XPh.d.ts.map +0 -1
  564. package/dist/copy-button-DZizVQ8G.js +0 -2
  565. package/dist/copy-button-DZizVQ8G.js.map +0 -1
  566. package/dist/copy-button.types-CGEbiMXO.d.ts +0 -29
  567. package/dist/copy-button.types-CGEbiMXO.d.ts.map +0 -1
  568. package/dist/dialog-BJXRFGlQ.js +0 -31
  569. package/dist/dialog-BJXRFGlQ.js.map +0 -1
  570. package/dist/docs-copy-page-BEtbT7qX.d.ts.map +0 -1
  571. package/dist/docs-copy-page-DZDkcR09.js +0 -3
  572. package/dist/docs-copy-page-DZDkcR09.js.map +0 -1
  573. package/dist/docs-pager-Dr6dooWP.js +0 -2
  574. package/dist/docs-pager-Dr6dooWP.js.map +0 -1
  575. package/dist/docs-sidebar-CWDyV0Rj.d.ts +0 -30
  576. package/dist/docs-sidebar-CWDyV0Rj.d.ts.map +0 -1
  577. package/dist/docs-sidebar-MtBCNnEG.js +0 -2
  578. package/dist/docs-sidebar-MtBCNnEG.js.map +0 -1
  579. package/dist/docs-toc-B7RS1k0Z.d.ts +0 -13
  580. package/dist/docs-toc-B7RS1k0Z.d.ts.map +0 -1
  581. package/dist/docs-toc-Czi8gMJf.js +0 -2
  582. package/dist/docs-toc-Czi8gMJf.js.map +0 -1
  583. package/dist/drawer-DVVyDJ2D.js +0 -8
  584. package/dist/drawer-DVVyDJ2D.js.map +0 -1
  585. package/dist/dropdown-menu-Cf4PnvE4.js +0 -2
  586. package/dist/dropdown-menu-Cf4PnvE4.js.map +0 -1
  587. package/dist/figcaption-block-7FWvsSXj.js +0 -2
  588. package/dist/figcaption-block-7FWvsSXj.js.map +0 -1
  589. package/dist/figcaption-block-DfyvzBoz.d.ts.map +0 -1
  590. package/dist/framework-docs-BQx_CG7u.js +0 -2
  591. package/dist/framework-docs-BQx_CG7u.js.map +0 -1
  592. package/dist/framework-docs-BuqO4yKf.d.ts +0 -13
  593. package/dist/framework-docs-BuqO4yKf.d.ts.map +0 -1
  594. package/dist/header-shell-BnhiboVH.js.map +0 -1
  595. package/dist/header-shell-DG6EtZSb.d.ts.map +0 -1
  596. package/dist/icons-Bp6-jojO.d.ts +0 -30
  597. package/dist/icons-Bp6-jojO.d.ts.map +0 -1
  598. package/dist/icons-CiCgiCYy.js +0 -2
  599. package/dist/icons-CiCgiCYy.js.map +0 -1
  600. package/dist/index-BgMLDj-T.d.ts +0 -8
  601. package/dist/index-BgMLDj-T.d.ts.map +0 -1
  602. package/dist/index-Bler93Rv.d.ts +0 -7
  603. package/dist/index-Bler93Rv.d.ts.map +0 -1
  604. package/dist/index-C2_c9Mqo.d.ts.map +0 -1
  605. package/dist/index-DWZV2KV9.d.ts +0 -8
  606. package/dist/index-DWZV2KV9.d.ts.map +0 -1
  607. package/dist/main-nav-Ci0i9b05.js +0 -2
  608. package/dist/main-nav-Ci0i9b05.js.map +0 -1
  609. package/dist/main-nav-DdJSFX9R.d.ts +0 -7
  610. package/dist/main-nav-DdJSFX9R.d.ts.map +0 -1
  611. package/dist/mdx-Bc39yJEk.js +0 -2
  612. package/dist/mdx-Bc39yJEk.js.map +0 -1
  613. package/dist/mdx-CKRU84WS.d.ts +0 -12
  614. package/dist/mdx-CKRU84WS.d.ts.map +0 -1
  615. package/dist/mermaid-block-BlCALvQ4.js +0 -13
  616. package/dist/mermaid-block-BlCALvQ4.js.map +0 -1
  617. package/dist/metadata-plugin-OKcE6Xsj.d.ts +0 -7
  618. package/dist/metadata-plugin-OKcE6Xsj.d.ts.map +0 -1
  619. package/dist/metadata-plugin-tEixstEj.js +0 -2
  620. package/dist/metadata-plugin-tEixstEj.js.map +0 -1
  621. package/dist/mobile-nav-BAkYO55-.js +0 -2
  622. package/dist/mobile-nav-BAkYO55-.js.map +0 -1
  623. package/dist/mobile-nav-wLU7upp-.d.ts +0 -7
  624. package/dist/mobile-nav-wLU7upp-.d.ts.map +0 -1
  625. package/dist/mode-toggle-B4gU5bK6.d.ts +0 -7
  626. package/dist/mode-toggle-B4gU5bK6.d.ts.map +0 -1
  627. package/dist/mode-toggle-BFNnk0Th.js +0 -2
  628. package/dist/mode-toggle-BFNnk0Th.js.map +0 -1
  629. package/dist/mount-CNbhMJe--D9ALOndF.js +0 -2
  630. package/dist/mount-CNbhMJe--D9ALOndF.js.map +0 -1
  631. package/dist/nav-B2NAfb21.d.ts.map +0 -1
  632. package/dist/popover-DBuHxfGT.js +0 -2
  633. package/dist/popover-DBuHxfGT.js.map +0 -1
  634. package/dist/pre-block-C2YQ_YU_.js +0 -2
  635. package/dist/pre-block-C2YQ_YU_.js.map +0 -1
  636. package/dist/pre-block-DMxLF2Tm.d.ts +0 -33
  637. package/dist/pre-block-DMxLF2Tm.d.ts.map +0 -1
  638. package/dist/presence-DKRzzG6_-DV_YtF92.js +0 -2
  639. package/dist/presence-DKRzzG6_-DV_YtF92.js.map +0 -1
  640. package/dist/providers-CFfgRc3G.js +0 -2
  641. package/dist/providers-CFfgRc3G.js.map +0 -1
  642. package/dist/providers-Do13WJMr.d.ts.map +0 -1
  643. package/dist/rehype-mermaid-kjf2DmAC.d.ts.map +0 -1
  644. package/dist/rehype-npm-command-C7BP6nqi.d.ts.map +0 -1
  645. package/dist/rehype-npm-command-O7ik2lKv.js +0 -2
  646. package/dist/rehype-npm-command-O7ik2lKv.js.map +0 -1
  647. package/dist/rehype-pre-block-source-D8t3NCnT.js +0 -2
  648. package/dist/rehype-pre-block-source-D8t3NCnT.js.map +0 -1
  649. package/dist/rehype-pre-block-source-zKoXg4aL.d.ts.map +0 -1
  650. package/dist/rehype-title-umwuNb2D.d.ts.map +0 -1
  651. package/dist/scroll-area-Bj8-58Fz.js +0 -2
  652. package/dist/scroll-area-Bj8-58Fz.js.map +0 -1
  653. package/dist/separator-t0JrmyLj.js +0 -2
  654. package/dist/separator-t0JrmyLj.js.map +0 -1
  655. package/dist/site-footer-BZQcOAVy.js +0 -2
  656. package/dist/site-footer-BZQcOAVy.js.map +0 -1
  657. package/dist/site-header-DH4ChrKl.js +0 -2
  658. package/dist/site-header-DH4ChrKl.js.map +0 -1
  659. package/dist/style-switcher-BvF4n8f4.js +0 -2
  660. package/dist/style-switcher-BvF4n8f4.js.map +0 -1
  661. package/dist/style-switcher-gHkRCCrl.d.ts +0 -25
  662. package/dist/style-switcher-gHkRCCrl.d.ts.map +0 -1
  663. package/dist/table-Cu1wFi9V.js +0 -2
  664. package/dist/table-Cu1wFi9V.js.map +0 -1
  665. package/dist/table-DAVFXCAf.d.ts +0 -10
  666. package/dist/table-DAVFXCAf.d.ts.map +0 -1
  667. package/dist/tabs-33zMuIHi.d.ts +0 -68
  668. package/dist/tabs-33zMuIHi.d.ts.map +0 -1
  669. package/dist/tabs-Cvy3-KIA.js.map +0 -1
  670. package/dist/tabs-jsmxQQW0.js +0 -2
  671. package/dist/tabs-jsmxQQW0.js.map +0 -1
  672. package/dist/tailwind-indicator-Dt4Bfpta.js.map +0 -1
  673. package/dist/unist-DN6buKAy.d.ts +0 -44
  674. package/dist/unist-DN6buKAy.d.ts.map +0 -1
  675. package/dist/use-colors-tvFBbu3S.d.ts.map +0 -1
  676. package/dist/use-lift-mode-DEELjsRA.d.ts.map +0 -1
  677. package/dist/use-meta-colors-CkNbJTgD.d.ts.map +0 -1
  678. package/dist/use-mounted-BtOuPtMk.d.ts.map +0 -1
  679. package/dist/utils-Ck5VSddf.js +0 -2
  680. package/dist/utils-Ck5VSddf.js.map +0 -1
  681. package/dist/utils-gls3XPIE.d.ts.map +0 -1
  682. package/src/components/copy-button/copy-button.tsx +0 -88
  683. package/src/components/copy-button/copy-button.types.ts +0 -17
  684. package/src/components/copy-button/index.ts +0 -2
  685. package/src/components/layouts/command-menu/command-menu.tsx +0 -166
  686. package/src/components/layouts/command-menu/index.ts +0 -1
  687. package/src/components/layouts/site-header/index.tsx +0 -127
  688. package/src/components/mdx/mdx-components/framework-docs.tsx +0 -20
  689. package/src/components/themes/index.ts +0 -1
  690. /package/dist/{code-CRijMbf8.js → code-B8oMaOlf.js} +0 -0
  691. /package/dist/{command-menu-DJNwkpf0.js → components/mdx/mdx-component-registry.types.js} +0 -0
  692. /package/dist/components/{copy-button/copy-button.types.js → mdx/mdx-components/code/pre-block/types.js} +0 -0
  693. /package/dist/{context-DAoDXLlH.js → context-BC4O8IkN.js} +0 -0
  694. /package/dist/{context.types-XX-41b7E.js → context.types-xqn674mu.js} +0 -0
  695. /package/dist/{copy-button-BKOhlef4.js → direction-BgdQqJSh.js} +0 -0
  696. /package/dist/{copy-button.types-B9s047di.js → docs-BxKlMynn.js} +0 -0
  697. /package/dist/{index-2DqdDmQN.d.ts → index-2ODhJ4PF.d.ts} +0 -0
  698. /package/dist/{index-CGglgRYd.d.ts → index-BCvK1fdV.d.ts} +0 -0
  699. /package/dist/{index-CX84Uo3j.d.ts → index-BOXZdgrl.d.ts} +0 -0
  700. /package/dist/{index-DOo6j0yP.d.ts → index-CDXWDYLH.d.ts} +0 -0
  701. /package/dist/{index-DUfvqU8v.d.ts → index-CEmd2iJF.d.ts} +0 -0
  702. /package/dist/{index-DlpwrdjG.d.ts → index-CMgWXPTi.d.ts} +0 -0
  703. /package/dist/{index-DxmiBoAj.d.ts → index-J4eIjbSW.d.ts} +0 -0
  704. /package/dist/{index-DzZbxTJ5.d.ts → index-PiDlmF8F.d.ts} +0 -0
  705. /package/dist/{docs-BXWvl6Zg.js → layouts-CZzkzPUj.js} +0 -0
  706. /package/dist/{layouts-MJSz-Ia5.js → mdx-components-DVXN21iW.js} +0 -0
  707. /package/dist/{mdx-components-Bvz2OZPf.js → mdx-runtime-8ZPauNCe.js} +0 -0
  708. /package/dist/{nav-CVNxjtXM.js → nav-n66GykpT.js} +0 -0
  709. /package/dist/{themes-k-j3m6gv.js → pre-block-B4y5yM69.js} +0 -0
  710. /package/dist/{unist-C_C48flD.js → types/mdx-runtime.js} +0 -0
  711. /package/dist/{index-MPFNOj9E.d.ts → typography-BjwZeImL.d.ts} +0 -0
  712. /package/src/components/layouts/{tailwind-indicator/index.tsx → tailwind-indicator.tsx} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"rehype-mermaid-gkaeJtqn.js","names":["chromiumPath: string | null","results: Record<string, string>","entries: Entry[]","diagrams: { source: string; id: string; theme: 'default' | 'dark' }[]"],"sources":["../src/velite/plugins/rehype-mermaid.ts"],"sourcesContent":["import { execSync } from 'node:child_process'\nimport { mkdtempSync, rmSync, writeFileSync } from 'node:fs'\nimport { tmpdir } from 'node:os'\nimport { join } from 'node:path'\nimport type { UnistNode, UnistTree } from '@duck-docs/types'\nimport type { Nodes } from 'hast'\nimport { toString } from 'hast-util-to-string'\nimport { visit } from 'unist-util-visit'\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction isMermaidCode(node: UnistNode): boolean {\n const codeChild = node.children?.[0]\n if (!codeChild || codeChild.type !== 'element' || codeChild.tagName !== 'code') return false\n const dataLang = codeChild.properties?.['data-language']\n const classes = codeChild.properties?.className\n return dataLang === 'mermaid' || (Array.isArray(classes) && classes.includes('language-mermaid'))\n}\n\n/** Safely extract a string value from an mdxJsxAttribute. */\nfunction extractAttrValue(attr: any): string | null {\n if (!attr?.value) return null\n if (typeof attr.value === 'string') return attr.value\n if (attr.value?.type === 'mdxJsxAttributeValueExpression') {\n try {\n // eslint-disable-next-line no-new-func\n return new Function('return ' + attr.value.value)()\n } catch {\n return null\n }\n }\n return null\n}\n\n/** Create an mdxJsxAttribute with an expression value (properly escaped). */\nfunction makeJsxStringAttr(name: string, value: string) {\n return {\n type: 'mdxJsxAttribute',\n name,\n value: {\n type: 'mdxJsxAttributeValueExpression',\n value: JSON.stringify(value),\n data: {\n estree: {\n type: 'Program',\n sourceType: 'module',\n body: [\n {\n type: 'ExpressionStatement',\n expression: { type: 'Literal', value, raw: JSON.stringify(value) },\n },\n ],\n comments: [],\n },\n },\n },\n }\n}\n\n// ---------------------------------------------------------------------------\n// Headless Chromium renderer - produces pixel-perfect SVGs using a real browser\n// ---------------------------------------------------------------------------\n\n/** Find the system Chromium / Chrome binary. */\nfunction findChromium(): string {\n for (const bin of ['chromium', 'google-chrome-stable', 'google-chrome', 'chromium-browser']) {\n try {\n const p = execSync(`which ${bin}`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] }).trim()\n if (p) return p\n } catch {\n /* next */\n }\n }\n throw new Error('[rehype-mermaid] No Chromium/Chrome binary found. Install chromium or google-chrome.')\n}\n\nlet chromiumPath: string | null = null\n\nfunction buildRenderHtml(diagrams: { source: string; id: string; theme: 'default' | 'dark' }[]): string {\n return `<!DOCTYPE html><html><head>\n<script type=\"module\">\nimport mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';\nconst diagrams = ${JSON.stringify(diagrams)};\nconst results = {};\nfor (const d of diagrams) {\n try {\n mermaid.initialize({ startOnLoad: false, theme: d.theme, fontFamily: 'sans-serif', securityLevel: 'loose' });\n const { svg } = await mermaid.render(d.id, d.source);\n results[d.id] = svg;\n } catch (e) {\n results[d.id] = '';\n }\n}\ndocument.title = 'DONE:' + btoa(unescape(encodeURIComponent(JSON.stringify(results))));\n</script></head><body></body></html>`\n}\n\nasync function renderSvgBatch(\n diagrams: { source: string; id: string; theme: 'default' | 'dark' }[],\n): Promise<Record<string, string>> {\n if (!chromiumPath) chromiumPath = findChromium()\n\n const dir = mkdtempSync(join(tmpdir(), 'mermaid-'))\n try {\n const htmlFile = join(dir, 'render.html')\n writeFileSync(htmlFile, buildRenderHtml(diagrams))\n\n const output = execSync(\n `\"${chromiumPath}\" --headless --disable-gpu --no-sandbox --virtual-time-budget=15000 --dump-dom \"file://${htmlFile}\"`,\n { timeout: 60000, encoding: 'utf-8', maxBuffer: 50 * 1024 * 1024, stdio: ['pipe', 'pipe', 'pipe'] },\n )\n\n const titleMatch = output.match(/<title>DONE:([\\s\\S]*?)<\\/title>/)\n if (!titleMatch) throw new Error('Chromium did not produce output')\n\n const json = decodeURIComponent(escape(Buffer.from(titleMatch[1]!, 'base64').toString('binary')))\n const results: Record<string, string> = JSON.parse(json)\n\n // Make SVGs responsive\n for (const [id, svg] of Object.entries(results)) {\n if (svg) {\n results[id] = svg.replace(/\\bwidth=\"[\\d.]+\"/, 'width=\"100%\"')\n }\n }\n\n return results\n } finally {\n rmSync(dir, { recursive: true, force: true })\n }\n}\n\n// ---------------------------------------------------------------------------\n// Plugin\n// ---------------------------------------------------------------------------\n\nexport function rehypeMermaid() {\n return async (tree: UnistTree) => {\n // Two kinds of entries: code-fence <pre> blocks and <MermaidDiagram> JSX elements\n type CodeFenceEntry = { kind: 'fence'; node: UnistNode; pre: UnistNode; source: string }\n type JsxEntry = { kind: 'jsx'; node: UnistNode; source: string }\n type Entry = CodeFenceEntry | JsxEntry\n\n const entries: Entry[] = []\n\n visit(tree, (node: UnistNode) => {\n // 1. <MermaidDiagram chart={`...`} /> JSX elements\n if ((node as any).type === 'mdxJsxFlowElement' && (node as any).name === 'MermaidDiagram') {\n const attrs = (node as any).attributes || []\n const chartAttr = attrs.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === 'chart')\n const chart = extractAttrValue(chartAttr)\n if (chart) {\n entries.push({ kind: 'jsx', node, source: chart.trim() })\n }\n return\n }\n\n // 2. rehypePrettyCode wrapper div (dual themes, two pre elements)\n if (\n node.type === 'element' &&\n node.tagName === 'div' &&\n node.properties &&\n 'data-rehype-pretty-code-fragment' in node.properties\n ) {\n const pres = (node.children || []).filter((c: UnistNode) => c.type === 'element' && c.tagName === 'pre')\n const mPre = pres.find((c: UnistNode) => isMermaidCode(c))\n if (!mPre) return\n const src = (mPre.properties?.__rawString__ as string) || toString(mPre as Nodes)\n if (src) entries.push({ kind: 'fence', node, pre: mPre, source: src.trim() })\n return\n }\n\n // 3. Standalone <pre>\n if (node.type === 'element' && node.tagName === 'pre' && isMermaidCode(node)) {\n const src = (node.properties?.__rawString__ as string) || toString(node as Nodes)\n if (src) entries.push({ kind: 'fence', node, pre: node, source: src.trim() })\n }\n })\n\n if (entries.length === 0) return\n\n // Build all diagrams in a single Chromium invocation (both themes)\n const diagrams: { source: string; id: string; theme: 'default' | 'dark' }[] = []\n for (let i = 0; i < entries.length; i++) {\n const src = entries[i]!.source\n diagrams.push({ source: src, id: `ml${i}`, theme: 'default' })\n diagrams.push({ source: src, id: `md${i}`, theme: 'dark' })\n }\n\n let results: Record<string, string> = {}\n try {\n results = await renderSvgBatch(diagrams)\n } catch (err) {\n console.warn(`[rehype-mermaid] Build-time render failed:`, (err as Error).message)\n return\n }\n\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i]!\n const lightSvg = results[`ml${i}`] || ''\n const darkSvg = results[`md${i}`] || ''\n\n if (!lightSvg && !darkSvg) {\n console.warn(`[rehype-mermaid] No SVG produced for diagram ${i}`)\n continue\n }\n\n if (entry.kind === 'jsx') {\n const attrs = (entry.node as any).attributes || []\n if (lightSvg) attrs.push(makeJsxStringAttr('lightSvg', lightSvg))\n if (darkSvg) attrs.push(makeJsxStringAttr('darkSvg', darkSvg))\n ;(entry.node as any).attributes = attrs\n } else {\n if (entry.node !== entry.pre) {\n entry.node.children = [entry.pre]\n }\n entry.pre.properties = {\n ...entry.pre.properties,\n __isMermaid__: true,\n __mermaidLightSvg__: lightSvg,\n __mermaidDarkSvg__: darkSvg,\n }\n }\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"rehype-mermaid-Ctag2Ywx.js","names":["chromiumPath: string | null","results: Record<string, string>","entries: Entry[]","diagrams: { source: string; id: string; theme: 'default' | 'dark' }[]"],"sources":["../src/velite/plugins/rehype-mermaid.ts"],"sourcesContent":["import { execSync } from 'node:child_process'\nimport { mkdtempSync, rmSync, writeFileSync } from 'node:fs'\nimport { tmpdir } from 'node:os'\nimport { join } from 'node:path'\nimport type { UnistNode, UnistTree } from '@duck-docs/types'\nimport type { Nodes } from 'hast'\nimport { toString } from 'hast-util-to-string'\nimport { visit } from 'unist-util-visit'\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction isMermaidCode(node: UnistNode): boolean {\n const codeChild = node.children?.[0]\n if (!codeChild || codeChild.type !== 'element' || codeChild.tagName !== 'code') return false\n const dataLang = codeChild.properties?.['data-language']\n const classes = codeChild.properties?.className\n return dataLang === 'mermaid' || (Array.isArray(classes) && classes.includes('language-mermaid'))\n}\n\n/** Safely extract a string value from an mdxJsxAttribute. */\nfunction extractAttrValue(attr: any): string | null {\n if (!attr?.value) return null\n if (typeof attr.value === 'string') return attr.value\n if (attr.value?.type === 'mdxJsxAttributeValueExpression') {\n try {\n // eslint-disable-next-line no-new-func\n return new Function('return ' + attr.value.value)()\n } catch {\n return null\n }\n }\n return null\n}\n\n/** Create an mdxJsxAttribute with an expression value (properly escaped). */\nfunction makeJsxStringAttr(name: string, value: string) {\n return {\n type: 'mdxJsxAttribute',\n name,\n value: {\n type: 'mdxJsxAttributeValueExpression',\n value: JSON.stringify(value),\n data: {\n estree: {\n type: 'Program',\n sourceType: 'module',\n body: [\n {\n type: 'ExpressionStatement',\n expression: { type: 'Literal', value, raw: JSON.stringify(value) },\n },\n ],\n comments: [],\n },\n },\n },\n }\n}\n\n// ---------------------------------------------------------------------------\n// Headless Chromium renderer - produces pixel-perfect SVGs using a real browser\n// ---------------------------------------------------------------------------\n\n/** Find the system Chromium / Chrome binary. */\nfunction findChromium(): string {\n for (const bin of ['chromium', 'google-chrome-stable', 'google-chrome', 'chromium-browser']) {\n try {\n const p = execSync(`which ${bin}`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] }).trim()\n if (p) return p\n } catch {\n /* next */\n }\n }\n throw new Error('[rehype-mermaid] No Chromium/Chrome binary found. Install chromium or google-chrome.')\n}\n\nlet chromiumPath: string | null = null\n\nfunction buildRenderHtml(diagrams: { source: string; id: string; theme: 'default' | 'dark' }[]): string {\n return `<!DOCTYPE html><html><head>\n<script type=\"module\">\nimport mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';\nconst diagrams = ${JSON.stringify(diagrams)};\nconst results = {};\nfor (const d of diagrams) {\n try {\n mermaid.initialize({ startOnLoad: false, theme: d.theme, fontFamily: 'sans-serif', securityLevel: 'loose' });\n const { svg } = await mermaid.render(d.id, d.source);\n results[d.id] = svg;\n } catch (e) {\n results[d.id] = '';\n }\n}\ndocument.title = 'DONE:' + btoa(unescape(encodeURIComponent(JSON.stringify(results))));\n</script></head><body></body></html>`\n}\n\nasync function renderSvgBatch(\n diagrams: { source: string; id: string; theme: 'default' | 'dark' }[],\n): Promise<Record<string, string>> {\n if (!chromiumPath) chromiumPath = findChromium()\n\n const dir = mkdtempSync(join(tmpdir(), 'mermaid-'))\n try {\n const htmlFile = join(dir, 'render.html')\n writeFileSync(htmlFile, buildRenderHtml(diagrams))\n\n const output = execSync(\n `\"${chromiumPath}\" --headless --disable-gpu --no-sandbox --virtual-time-budget=15000 --dump-dom \"file://${htmlFile}\"`,\n { timeout: 60000, encoding: 'utf-8', maxBuffer: 50 * 1024 * 1024, stdio: ['pipe', 'pipe', 'pipe'] },\n )\n\n const titleMatch = output.match(/<title>DONE:([\\s\\S]*?)<\\/title>/)\n if (!titleMatch) throw new Error('Chromium did not produce output')\n\n const json = decodeURIComponent(escape(Buffer.from(titleMatch[1]!, 'base64').toString('binary')))\n const results: Record<string, string> = JSON.parse(json)\n\n // Make SVGs responsive\n for (const [id, svg] of Object.entries(results)) {\n if (svg) {\n results[id] = svg.replace(/\\bwidth=\"[\\d.]+\"/, 'width=\"100%\"')\n }\n }\n\n return results\n } finally {\n rmSync(dir, { recursive: true, force: true })\n }\n}\n\n// ---------------------------------------------------------------------------\n// Plugin\n// ---------------------------------------------------------------------------\n\nexport function rehypeMermaid() {\n return async (tree: UnistTree) => {\n // Two kinds of entries: code-fence <pre> blocks and <MermaidDiagram> JSX elements\n type CodeFenceEntry = { kind: 'fence'; node: UnistNode; pre: UnistNode; source: string }\n type JsxEntry = { kind: 'jsx'; node: UnistNode; source: string }\n type Entry = CodeFenceEntry | JsxEntry\n\n const entries: Entry[] = []\n\n visit(tree, (node: UnistNode) => {\n // 1. <MermaidDiagram chart={`...`} /> JSX elements\n if ((node as any).type === 'mdxJsxFlowElement' && (node as any).name === 'MermaidDiagram') {\n const attrs = (node as any).attributes || []\n const chartAttr = attrs.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === 'chart')\n const chart = extractAttrValue(chartAttr)\n if (chart) {\n entries.push({ kind: 'jsx', node, source: chart.trim() })\n }\n return\n }\n\n // 2. rehypePrettyCode wrapper div (dual themes, two pre elements)\n if (\n node.type === 'element' &&\n node.tagName === 'div' &&\n node.properties &&\n 'data-rehype-pretty-code-fragment' in node.properties\n ) {\n const pres = (node.children || []).filter((c: UnistNode) => c.type === 'element' && c.tagName === 'pre')\n const mPre = pres.find((c: UnistNode) => isMermaidCode(c))\n if (!mPre) return\n const src = (mPre.properties?.__rawString__ as string) || toString(mPre as Nodes)\n if (src) entries.push({ kind: 'fence', node, pre: mPre, source: src.trim() })\n return\n }\n\n // 3. Standalone <pre>\n if (node.type === 'element' && node.tagName === 'pre' && isMermaidCode(node)) {\n const src = (node.properties?.__rawString__ as string) || toString(node as Nodes)\n if (src) entries.push({ kind: 'fence', node, pre: node, source: src.trim() })\n }\n })\n\n if (entries.length === 0) return\n\n // Build all diagrams in a single Chromium invocation (both themes)\n const diagrams: { source: string; id: string; theme: 'default' | 'dark' }[] = []\n for (let i = 0; i < entries.length; i++) {\n const src = entries[i]!.source\n diagrams.push({ source: src, id: `ml${i}`, theme: 'default' })\n diagrams.push({ source: src, id: `md${i}`, theme: 'dark' })\n }\n\n let results: Record<string, string> = {}\n try {\n results = await renderSvgBatch(diagrams)\n } catch (err) {\n console.warn(`[rehype-mermaid] Build-time render failed:`, (err as Error).message)\n return\n }\n\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i]!\n const lightSvg = results[`ml${i}`] || ''\n const darkSvg = results[`md${i}`] || ''\n\n if (!lightSvg && !darkSvg) {\n console.warn(`[rehype-mermaid] No SVG produced for diagram ${i}`)\n continue\n }\n\n if (entry.kind === 'jsx') {\n const attrs = (entry.node as any).attributes || []\n if (lightSvg) attrs.push(makeJsxStringAttr('lightSvg', lightSvg))\n if (darkSvg) attrs.push(makeJsxStringAttr('darkSvg', darkSvg))\n ;(entry.node as any).attributes = attrs\n } else {\n if (entry.node !== entry.pre) {\n entry.node.children = [entry.pre]\n }\n entry.pre.properties = {\n ...entry.pre.properties,\n __isMermaid__: true,\n __mermaidLightSvg__: lightSvg,\n __mermaidDarkSvg__: darkSvg,\n }\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { r as UnistTree } from "./unist-DN6buKAy.js";
1
+ import { n as UnistTree } from "./unist-q3NIH9ya.js";
2
2
 
3
3
  //#region src/velite/plugins/rehype-mermaid.d.ts
4
4
  declare function rehypeMermaid(): (tree: UnistTree) => Promise<void>;
5
5
  //#endregion
6
6
  export { rehypeMermaid as t };
7
- //# sourceMappingURL=rehype-mermaid-kjf2DmAC.d.ts.map
7
+ //# sourceMappingURL=rehype-mermaid-DPZ6UzOu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rehype-mermaid-DPZ6UzOu.d.ts","names":[],"sources":["../src/velite/plugins/rehype-mermaid.ts"],"sourcesContent":[],"mappings":";;;iBAyIgB,aAAA,CAAA,UACM,cAAS"}
@@ -0,0 +1,2 @@
1
+ import{n as e}from"./hast-properties-C103K0PZ.js";import{visit as t}from"unist-util-visit";function n(){return n=>{t(n,t=>{if(t.type!==`element`||t?.tagName!==`pre`)return;let n=e(t),r=n.__rawString__;r&&(r.startsWith(`npm install`)&&(n.__npmCommand__=r,n.__yarnCommand__=r.replace(`npm install`,`yarn add`),n.__pnpmCommand__=r.replace(`npm install`,`pnpm add`),n.__bunCommand__=r.replace(`npm install`,`bun add`)),r.startsWith(`npx create-`)&&(n.__npmCommand__=r,n.__yarnCommand__=r.replace(`npx create-`,`yarn create `),n.__pnpmCommand__=r.replace(`npx create-`,`pnpm create `),n.__bunCommand__=r.replace(`npx`,`bunx --bun`)),r.startsWith(`npx`)&&!r.startsWith(`npx create-`)&&(n.__npmCommand__=r,n.__yarnCommand__=r.replace(`npx`,`yarn dlx`),n.__pnpmCommand__=r.replace(`npx`,`pnpm dlx`),n.__bunCommand__=r.replace(`npx`,`bunx --bun`)))})}}export{n as t};
2
+ //# sourceMappingURL=rehype-npm-command-0W5WqcQY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rehype-npm-command-0W5WqcQY.js","names":[],"sources":["../src/velite/plugins/rehype-npm-command.ts"],"sourcesContent":["import type { MdxCodeNodeProperties, UnistNode, UnistTree } from '@duck-docs/types'\nimport { visit } from 'unist-util-visit'\nimport { readNodeProperties } from './hast-properties'\n\nexport function rehypeNpmCommand() {\n return (tree: UnistTree) => {\n visit(tree, (node: UnistNode) => {\n if (node.type !== 'element' || node?.tagName !== 'pre') {\n return\n }\n\n const props = readNodeProperties<MdxCodeNodeProperties>(node)\n const raw = props.__rawString__\n\n if (!raw) {\n return\n }\n\n // npm install.\n if (raw.startsWith('npm install')) {\n props.__npmCommand__ = raw\n props.__yarnCommand__ = raw.replace('npm install', 'yarn add')\n props.__pnpmCommand__ = raw.replace('npm install', 'pnpm add')\n props.__bunCommand__ = raw.replace('npm install', 'bun add')\n }\n\n // npx create.\n if (raw.startsWith('npx create-')) {\n props.__npmCommand__ = raw\n props.__yarnCommand__ = raw.replace('npx create-', 'yarn create ')\n props.__pnpmCommand__ = raw.replace('npx create-', 'pnpm create ')\n props.__bunCommand__ = raw.replace('npx', 'bunx --bun')\n }\n\n // npx.\n if (raw.startsWith('npx') && !raw.startsWith('npx create-')) {\n props.__npmCommand__ = raw\n props.__yarnCommand__ = raw.replace('npx', 'yarn dlx')\n props.__pnpmCommand__ = raw.replace('npx', 'pnpm dlx')\n props.__bunCommand__ = raw.replace('npx', 'bunx --bun')\n }\n })\n }\n}\n"],"mappings":"2FAIA,SAAgB,GAAmB,CACjC,MAAQ,IAAoB,CAC1B,EAAM,EAAO,GAAoB,CAC/B,GAAI,EAAK,OAAS,WAAa,GAAM,UAAY,MAC/C,OAGF,IAAM,EAAQ,EAA0C,EAAK,CACvD,EAAM,EAAM,cAEb,IAKD,EAAI,WAAW,cAAc,GAC/B,EAAM,eAAiB,EACvB,EAAM,gBAAkB,EAAI,QAAQ,cAAe,WAAW,CAC9D,EAAM,gBAAkB,EAAI,QAAQ,cAAe,WAAW,CAC9D,EAAM,eAAiB,EAAI,QAAQ,cAAe,UAAU,EAI1D,EAAI,WAAW,cAAc,GAC/B,EAAM,eAAiB,EACvB,EAAM,gBAAkB,EAAI,QAAQ,cAAe,eAAe,CAClE,EAAM,gBAAkB,EAAI,QAAQ,cAAe,eAAe,CAClE,EAAM,eAAiB,EAAI,QAAQ,MAAO,aAAa,EAIrD,EAAI,WAAW,MAAM,EAAI,CAAC,EAAI,WAAW,cAAc,GACzD,EAAM,eAAiB,EACvB,EAAM,gBAAkB,EAAI,QAAQ,MAAO,WAAW,CACtD,EAAM,gBAAkB,EAAI,QAAQ,MAAO,WAAW,CACtD,EAAM,eAAiB,EAAI,QAAQ,MAAO,aAAa,IAEzD"}
@@ -1,7 +1,7 @@
1
- import { r as UnistTree } from "./unist-DN6buKAy.js";
1
+ import { n as UnistTree } from "./unist-q3NIH9ya.js";
2
2
 
3
3
  //#region src/velite/plugins/rehype-npm-command.d.ts
4
4
  declare function rehypeNpmCommand(): (tree: UnistTree) => void;
5
5
  //#endregion
6
6
  export { rehypeNpmCommand as t };
7
- //# sourceMappingURL=rehype-npm-command-C7BP6nqi.d.ts.map
7
+ //# sourceMappingURL=rehype-npm-command-khRZrj_X.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rehype-npm-command-khRZrj_X.d.ts","names":[],"sources":["../src/velite/plugins/rehype-npm-command.ts"],"sourcesContent":[],"mappings":";;;iBAIgB,gBAAA,CAAA,UACA"}
@@ -1,7 +1,7 @@
1
- import { r as UnistTree } from "./unist-DN6buKAy.js";
1
+ import { n as UnistTree } from "./unist-q3NIH9ya.js";
2
2
 
3
3
  //#region src/velite/plugins/rehype-pre-block-source.d.ts
4
4
  declare function rehypePreBlockSource(): (tree: UnistTree) => void;
5
5
  //#endregion
6
6
  export { rehypePreBlockSource as t };
7
- //# sourceMappingURL=rehype-pre-block-source-zKoXg4aL.d.ts.map
7
+ //# sourceMappingURL=rehype-pre-block-source-0UyWe2hh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rehype-pre-block-source-0UyWe2hh.d.ts","names":[],"sources":["../src/velite/plugins/rehype-pre-block-source.ts"],"sourcesContent":[],"mappings":";;;iBAMgB,oBAAA,CAAA,UACA"}
@@ -0,0 +1,2 @@
1
+ import{n as e,t}from"./hast-properties-C103K0PZ.js";import{visit as n}from"unist-util-visit";import{toString as r}from"hast-util-to-string";function i(){return i=>{n(i,n=>{if(n?.type===`element`&&n?.tagName===`div`&&n?.properties){if(!(`data-rehype-pretty-code-fragment`in n.properties))return;n.children?.forEach(n=>{n?.type===`element`&&n?.tagName===`pre`&&t(n,{...e(n),__rawString__:r(n)})})}})}}export{i as t};
2
+ //# sourceMappingURL=rehype-pre-block-source-paX7yPQ4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rehype-pre-block-source-paX7yPQ4.js","names":[],"sources":["../src/velite/plugins/rehype-pre-block-source.ts"],"sourcesContent":["import type { MdxCodeNodeProperties, UnistNode, UnistTree } from '@duck-docs/types'\nimport type { Nodes } from 'hast'\nimport { toString } from 'hast-util-to-string'\nimport { visit } from 'unist-util-visit'\nimport { assignNodeProperties, readNodeProperties } from './hast-properties'\n\nexport function rehypePreBlockSource() {\n return (tree: UnistTree) => {\n visit(tree, (node: UnistNode) => {\n if (node?.type === 'element' && node?.tagName === 'div' && node?.properties) {\n if (!('data-rehype-pretty-code-fragment' in node.properties)) {\n return\n }\n\n node.children?.forEach((child: UnistNode) => {\n if (child?.type === 'element' && child?.tagName === 'pre') {\n const currentProperties = readNodeProperties<MdxCodeNodeProperties>(child)\n assignNodeProperties(child, {\n ...currentProperties,\n __rawString__: toString(child as Nodes),\n })\n }\n })\n }\n })\n }\n}\n"],"mappings":"4IAMA,SAAgB,GAAuB,CACrC,MAAQ,IAAoB,CAC1B,EAAM,EAAO,GAAoB,CAC/B,GAAI,GAAM,OAAS,WAAa,GAAM,UAAY,OAAS,GAAM,WAAY,CAC3E,GAAI,EAAE,qCAAsC,EAAK,YAC/C,OAGF,EAAK,UAAU,QAAS,GAAqB,CACvC,GAAO,OAAS,WAAa,GAAO,UAAY,OAElD,EAAqB,EAAO,CAC1B,GAFwB,EAA0C,EAAM,CAGxE,cAAe,EAAS,EAAe,CACxC,CAAC,EAEJ,GAEJ"}
@@ -1,2 +1,2 @@
1
1
  import{visit as e}from"unist-util-visit";function t(){return t=>{e(t,e=>{if(e?.type===`element`&&e?.tagName===`div`&&e?.properties){if(!(`data-rehype-pretty-code-fragment`in e.properties))return;e.children?.forEach(e=>{e.type===`element`&&e.tagName===`div`&&Object.keys(e.properties??{}).includes(`data-rehype-pretty-code-title`)&&(e.tagName=`figcaption`)})}})}}export{t};
2
- //# sourceMappingURL=rehype-title-TRUGszot.js.map
2
+ //# sourceMappingURL=rehype-title-CB9V-h9I.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rehype-title-TRUGszot.js","names":[],"sources":["../src/velite/plugins/rehype-title.ts"],"sourcesContent":["import type { UnistNode, UnistTree } from '@duck-docs/types'\nimport { visit } from 'unist-util-visit'\n\nexport function rehypeTitle() {\n return (tree: UnistTree) => {\n visit(tree, (node: UnistNode) => {\n if (node?.type === 'element' && node?.tagName === 'div' && node?.properties) {\n if (!('data-rehype-pretty-code-fragment' in node.properties)) {\n return\n }\n\n node.children?.forEach((child: UnistNode) => {\n if (\n child.type === 'element' &&\n child.tagName === 'div' &&\n Object.keys(child.properties ?? {}).includes('data-rehype-pretty-code-title')\n ) {\n child.tagName = 'figcaption'\n }\n })\n }\n })\n }\n}\n"],"mappings":"yCAGA,SAAgB,GAAc,CAC5B,MAAQ,IAAoB,CAC1B,EAAM,EAAO,GAAoB,CAC/B,GAAI,GAAM,OAAS,WAAa,GAAM,UAAY,OAAS,GAAM,WAAY,CAC3E,GAAI,EAAE,qCAAsC,EAAK,YAC/C,OAGF,EAAK,UAAU,QAAS,GAAqB,CAEzC,EAAM,OAAS,WACf,EAAM,UAAY,OAClB,OAAO,KAAK,EAAM,YAAc,EAAE,CAAC,CAAC,SAAS,gCAAgC,GAE7E,EAAM,QAAU,eAElB,GAEJ"}
1
+ {"version":3,"file":"rehype-title-CB9V-h9I.js","names":[],"sources":["../src/velite/plugins/rehype-title.ts"],"sourcesContent":["import type { UnistNode, UnistTree } from '@duck-docs/types'\nimport { visit } from 'unist-util-visit'\n\nexport function rehypeTitle() {\n return (tree: UnistTree) => {\n visit(tree, (node: UnistNode) => {\n if (node?.type === 'element' && node?.tagName === 'div' && node?.properties) {\n if (!('data-rehype-pretty-code-fragment' in node.properties)) {\n return\n }\n\n node.children?.forEach((child: UnistNode) => {\n if (\n child.type === 'element' &&\n child.tagName === 'div' &&\n Object.keys(child.properties ?? {}).includes('data-rehype-pretty-code-title')\n ) {\n child.tagName = 'figcaption'\n }\n })\n }\n })\n }\n}\n"],"mappings":"yCAGA,SAAgB,GAAc,CAC5B,MAAQ,IAAoB,CAC1B,EAAM,EAAO,GAAoB,CAC/B,GAAI,GAAM,OAAS,WAAa,GAAM,UAAY,OAAS,GAAM,WAAY,CAC3E,GAAI,EAAE,qCAAsC,EAAK,YAC/C,OAGF,EAAK,UAAU,QAAS,GAAqB,CAEzC,EAAM,OAAS,WACf,EAAM,UAAY,OAClB,OAAO,KAAK,EAAM,YAAc,EAAE,CAAC,CAAC,SAAS,gCAAgC,GAE7E,EAAM,QAAU,eAElB,GAEJ"}
@@ -1,7 +1,7 @@
1
- import { r as UnistTree } from "./unist-DN6buKAy.js";
1
+ import { n as UnistTree } from "./unist-q3NIH9ya.js";
2
2
 
3
3
  //#region src/velite/plugins/rehype-title.d.ts
4
4
  declare function rehypeTitle(): (tree: UnistTree) => void;
5
5
  //#endregion
6
6
  export { rehypeTitle as t };
7
- //# sourceMappingURL=rehype-title-umwuNb2D.d.ts.map
7
+ //# sourceMappingURL=rehype-title-CTj31zR2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rehype-title-CTj31zR2.d.ts","names":[],"sources":["../src/velite/plugins/rehype-title.ts"],"sourcesContent":[],"mappings":";;;iBAGgB,WAAA,CAAA,UACA"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./direction-B-anGbxM-BdqxtlGV.js";import{cn as t}from"@gentleduck/libs/cn";import*as n from"react";import{jsx as r}from"react/jsx-runtime";const i=n.forwardRef(({children:n,className:i,viewportClassName:a,viewportRef:o,style:s,dir:c,...l},u)=>{let d=e(c);return r(`div`,{className:t(`relative overflow-hidden`,i),dir:d,style:s,ref:u,...l,"data-slot":`scroll-area`,children:r(`div`,{ref:o,className:t(`scrollbar-none h-full w-full overflow-auto`,a),children:n})})});i.displayName=`ScrollArea`;export{i as t};
2
+ //# sourceMappingURL=scroll-area-DwfrxxQ_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-area-DwfrxxQ_.js","names":["React","useDirection"],"sources":["../../registry-ui/src/scroll-area/scroll-area.tsx"],"sourcesContent":["import { cn } from '@gentleduck/libs/cn'\nimport { type Direction, useDirection } from '@gentleduck/primitives/direction'\nimport * as React from 'react'\n\ninterface ScrollAreaProps extends React.HTMLAttributes<HTMLDivElement> {\n viewportClassName?: string\n viewportRef?: React.Ref<HTMLDivElement>\n}\n\nconst ScrollArea = React.forwardRef<HTMLDivElement, ScrollAreaProps>(\n ({ children, className, viewportClassName, viewportRef, style, dir, ...props }, ref) => {\n const direction = useDirection(dir as Direction)\n return (\n <div\n className={cn('relative overflow-hidden', className)}\n dir={direction}\n style={style}\n ref={ref}\n {...props}\n data-slot=\"scroll-area\">\n <div ref={viewportRef} className={cn('scrollbar-none h-full w-full overflow-auto', viewportClassName)}>\n {children}\n </div>\n </div>\n )\n },\n)\nScrollArea.displayName = 'ScrollArea'\n\nexport { ScrollArea }\n"],"mappings":"8JASA,MAAM,EAAaA,EAAM,YACtB,CAAE,WAAU,YAAW,oBAAmB,cAAa,QAAO,MAAK,GAAG,GAAS,IAAQ,CACtF,IAAM,EAAYC,EAAa,EAAiB,CAChD,OACE,EAAC,MAAA,CACC,UAAW,EAAG,2BAA4B,EAAU,CACpD,IAAK,EACE,QACF,MACL,GAAI,EACJ,YAAU,uBACV,EAAC,MAAA,CAAI,IAAK,EAAa,UAAW,EAAG,6CAA8C,EAAkB,CAClG,YACG,EACF,EAGX,CACD,EAAW,YAAc"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./direction-B-anGbxM-BdqxtlGV.js";import{cn as t}from"@gentleduck/libs/cn";import*as n from"react";import{jsx as r}from"react/jsx-runtime";const i=n.forwardRef(({className:n,orientation:i=`horizontal`,dir:a,...o},s)=>{let c=e(a);return r(`hr`,{ref:s,"aria-orientation":i,className:t(`shrink-0 bg-border`,i===`horizontal`?`h-px w-full`:`min-h-full w-px`,n),dir:c,role:`separator`,...o,"data-slot":`separator`})});i.displayName=`Separator`;export{i as t};
2
+ //# sourceMappingURL=separator-BL4VUMvX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separator-BL4VUMvX.js","names":["React","useDirection"],"sources":["../../registry-ui/src/separator/separator.tsx"],"sourcesContent":["'use client'\n\nimport { cn } from '@gentleduck/libs/cn'\nimport { type Direction, useDirection } from '@gentleduck/primitives/direction'\nimport * as React from 'react'\n\nconst Separator = React.forwardRef<\n HTMLHRElement,\n React.HTMLAttributes<HTMLHRElement> & {\n orientation?: 'horizontal' | 'vertical'\n }\n>(({ className, orientation = 'horizontal', dir, ...props }, ref) => {\n const direction = useDirection(dir as Direction)\n return (\n <hr\n ref={ref}\n aria-orientation={orientation}\n className={cn('shrink-0 bg-border', orientation === 'horizontal' ? 'h-px w-full' : 'min-h-full w-px', className)}\n dir={direction}\n role=\"separator\"\n {...props}\n data-slot=\"separator\"\n />\n )\n})\nSeparator.displayName = 'Separator'\n\nexport { Separator }\n"],"mappings":"8JAMA,MAAM,EAAYA,EAAM,YAKrB,CAAE,YAAW,cAAc,aAAc,MAAK,GAAG,GAAS,IAAQ,CACnE,IAAM,EAAYC,EAAa,EAAiB,CAChD,OACE,EAAC,KAAA,CACM,MACL,mBAAkB,EAClB,UAAW,EAAG,qBAAsB,IAAgB,aAAe,cAAgB,kBAAmB,EAAU,CAChH,IAAK,EACL,KAAK,YACL,GAAI,EACJ,YAAU,aACV,EAEJ,CACF,EAAU,YAAc"}
@@ -0,0 +1,2 @@
1
+ function e(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function t(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function n(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}export{n,t as r,e as t};
2
+ //# sourceMappingURL=shared-utils-DqLwMUcj-Cs7um3C7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-utils-DqLwMUcj-Cs7um3C7.js","names":["e","t","n"],"sources":["../../duck-primitives/dist/shared-utils-DqLwMUcj.js"],"sourcesContent":["function e(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function t(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function n(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}export{n,e as r,t};"],"mappings":"AAAA,SAAS,EAAE,EAAE,EAAE,CAAC,OAAOA,EAAE,KAAK,EAAE,IAAIA,GAAGC,EAAE,GAAGD,EAAE,QAAQ,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAIE,EAAE,SAAS,cAAc,IAAI,IAAI,KAAKF,EAAE,GAAG,IAAIE,IAAI,EAAE,MAAM,CAAC,cAAcD,EAAE,CAAC,CAAC,SAAS,gBAAgBC,GAAG,OAAO,SAAS,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAEA,EAAE,EAAE,GAAGF,EAAE,EAAE,CAAC,EAAE,IAAI,IAAIA,EAAE,EAAE,EAAEC,EAAE,OAAO,EAAED,EAAEC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAEA,EAAED,GAAG,EAAEC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAGC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./copy-button-Ccbj3Omt.js";import{t}from"./separator-BL4VUMvX.js";import{i as n,n as r,r as i,t as a}from"./tabs-CrZf6_5d.js";import{cn as o}from"@gentleduck/libs/cn";import{jsx as s,jsxs as c}from"react/jsx-runtime";import{Terminal as l}from"lucide-react";function u({__npmCommand__:u,__yarnCommand__:d,__pnpmCommand__:f,__bunCommand__:p}){let m={__bunCommand__:p,__npmCommand__:u,__pnpmCommand__:f,__yarnCommand__:d};return c(a,{className:`rounded-md`,defaultValue:`__npmCommand__`,children:[c(i,{className:`w-fit justify-start bg-transparent py-2`,children:[s(`div`,{className:`flex size-4 flex-col items-center justify-center bg-foreground/65 ltr:mr-2 ltr:ml-3 rtl:mr-3 rtl:ml-2`,children:s(l,{"aria-hidden":`true`,className:`size-4 text-background`})}),Object.keys(m).map((e,t)=>s(n,{className:`aria-[selected='true']:bg-muted`,value:e,children:e.replace(`__`,``).replace(`Command`,``).replace(`__`,``)},t))]}),s(t,{}),Object.entries(m).map(([t,n],i)=>c(r,{className:`[&_pre]:max-w-[620px] [&_pre]:overflow-auto`,value:t,children:[s(e,{className:o(`absolute top-1.5 right-1.5 border-none bg-transparent [&_svg]:size-5 [&_svg]:text-muted-foreground`),value:n,variant:`outline`}),s(`pre`,{className:`p-4 pt-2 text-muted-foreground text-sm focus-visible:shadow-none focus-visible:outline-none`,children:n})]},i))]})}export{u as t};
2
+ //# sourceMappingURL=shell-command-BQkaAnLc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-command-BQkaAnLc.js","names":[],"sources":["../src/components/mdx/mdx-components/code/pre-block/shell-command.tsx"],"sourcesContent":["import { CopyButton } from '@duck-docs/components/copy-button'\nimport type { NpmCommands } from '@duck-docs/types/unist'\nimport { cn } from '@gentleduck/libs/cn'\nimport { Separator } from '@gentleduck/registry-ui/separator'\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from '@gentleduck/registry-ui/tabs'\nimport { Terminal } from 'lucide-react'\n\nexport function ShellCommand({ __npmCommand__, __yarnCommand__, __pnpmCommand__, __bunCommand__ }: NpmCommands) {\n const commands = {\n __bunCommand__,\n __npmCommand__,\n __pnpmCommand__,\n __yarnCommand__,\n }\n\n return (\n <Tabs className=\"rounded-md\" defaultValue=\"__npmCommand__\">\n <TabsList className=\"w-fit justify-start bg-transparent py-2\">\n <div className=\"flex size-4 flex-col items-center justify-center bg-foreground/65 ltr:mr-2 ltr:ml-3 rtl:mr-3 rtl:ml-2\">\n <Terminal aria-hidden=\"true\" className=\"size-4 text-background\" />\n </div>\n {Object.keys(commands).map((command, idx) => {\n return (\n <TabsTrigger className=\"aria-[selected='true']:bg-muted\" key={idx} value={command}>\n {command.replace('__', '').replace('Command', '').replace('__', '')}\n </TabsTrigger>\n )\n })}\n </TabsList>\n <Separator />\n {Object.entries(commands).map(([commandKey, command], idx) => {\n return (\n <TabsContent className=\"[&_pre]:max-w-[620px] [&_pre]:overflow-auto\" key={idx} value={commandKey}>\n <CopyButton\n className={cn(\n 'absolute top-1.5 right-1.5 border-none bg-transparent [&_svg]:size-5 [&_svg]:text-muted-foreground',\n )}\n value={command as string}\n variant={'outline'}\n />\n <pre className=\"p-4 pt-2 text-muted-foreground text-sm focus-visible:shadow-none focus-visible:outline-none\">\n {command}\n </pre>\n </TabsContent>\n )\n })}\n </Tabs>\n )\n}\n"],"mappings":"oRAOA,SAAgB,EAAa,CAAE,iBAAgB,kBAAiB,kBAAiB,kBAA+B,CAC9G,IAAM,EAAW,CACf,iBACA,iBACA,kBACA,kBACD,CAED,OACE,EAAC,EAAA,CAAK,UAAU,aAAa,aAAa,2BACxC,EAAC,EAAA,CAAS,UAAU,oDAClB,EAAC,MAAA,CAAI,UAAU,iHACb,EAAC,EAAA,CAAS,cAAY,OAAO,UAAU,0BAA2B,EAC9D,CACL,OAAO,KAAK,EAAS,CAAC,KAAK,EAAS,IAEjC,EAAC,EAAA,CAAY,UAAU,kCAA4C,MAAO,WACvE,EAAQ,QAAQ,KAAM,GAAG,CAAC,QAAQ,UAAW,GAAG,CAAC,QAAQ,KAAM,GAAG,EADP,EAEhD,CAEhB,CAAA,EACO,CACX,EAAC,EAAA,EAAA,CAAY,CACZ,OAAO,QAAQ,EAAS,CAAC,KAAK,CAAC,EAAY,GAAU,IAElD,EAAC,EAAA,CAAY,UAAU,8CAAwD,MAAO,YACpF,EAAC,EAAA,CACC,UAAW,EACT,qGACD,CACD,MAAO,EACP,QAAS,WACT,CACF,EAAC,MAAA,CAAI,UAAU,uGACZ,GACG,CAAA,EAVkE,EAW5D,CAEhB,GACG"}
@@ -0,0 +1,8 @@
1
+ import * as react_jsx_runtime40 from "react/jsx-runtime";
2
+
3
+ //#region src/components/layouts/site-footer.d.ts
4
+ declare function SiteFooter(): react_jsx_runtime40.JSX.Element;
5
+ declare function FooterButtons(): react_jsx_runtime40.JSX.Element;
6
+ //#endregion
7
+ export { SiteFooter as n, FooterButtons as t };
8
+ //# sourceMappingURL=site-footer-Dh_aYkTp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-footer-Dh_aYkTp.d.ts","names":[],"sources":["../src/components/layouts/site-footer.tsx"],"sourcesContent":[],"mappings":";;;iBAOgB,UAAA,CAAA,GAAU,mBAAA,CAAA,GAAA,CAAA;iBA4CV,aAAA,CAAA,GAAa,mBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import{n as e}from"./button-BPQ9zanb.js";import{o as t}from"./context-Bu-bPlyW.js";import{Fragment as n,jsx as r,jsxs as i}from"react/jsx-runtime";import{HeartIcon as a,Mail as o}from"lucide-react";import s from"next/link";function c(){let e=t(),a=e.author?.name??e.name,o=e.author?.url??e.links?.twitter,s=e.links?.github;return r(`footer`,{className:`w-full border-t py-6 md:px-8 md:py-0`,children:i(`div`,{className:`container mx-auto flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row`,children:[r(`div`,{className:`flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row`,children:i(`p`,{className:`text-balance text-center text-muted-foreground text-sm leading-loose md:text-left`,children:[`Built by`,` `,o?i(`a`,{className:`font-medium underline underline-offset-4`,href:o,rel:`noreferrer`,target:`_blank`,children:[a,r(`span`,{className:`sr-only`,children:` (opens in a new tab)`})]}):r(`span`,{className:`font-medium`,children:a}),s?i(n,{children:[`. The source code is available on`,` `,i(`a`,{className:`font-medium underline underline-offset-4`,href:s,rel:`noreferrer`,target:`_blank`,children:[`GitHub`,r(`span`,{className:`sr-only`,children:` (opens in a new tab)`})]}),`.`]}):null]})}),r(`div`,{className:`hidden items-center gap-4 md:flex`,children:r(l,{})})]})})}function l(){let c=t();return i(n,{children:[i(s,{className:e({size:`sm`,variant:`outline`}),href:c.links?.sponsor??`https://opencollective.com/gentelduck`,rel:`noreferrer`,target:`_blank`,children:[r(a,{"aria-hidden":`true`,className:`mr-2 h-4 w-4 fill-current text-red-600`}),`Sponsor`,r(`span`,{className:`sr-only`,children:` (opens in a new tab)`})]}),i(s,{className:e({size:`sm`,variant:`outline`}),href:c.links?.email?`mailto:${c.links.email}`:`mailto:support@gentleduck.org`,children:[r(o,{"aria-hidden":`true`}),r(`span`,{children:`Email`})]})]})}export{c as n,l as t};
2
+ //# sourceMappingURL=site-footer-DoVwgNqf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-footer-DoVwgNqf.js","names":["Link"],"sources":["../src/components/layouts/site-footer.tsx"],"sourcesContent":["'use client'\n\nimport { useSiteConfig } from '@duck-docs/context'\nimport { buttonVariants } from '@gentleduck/registry-ui/button'\nimport { HeartIcon, Mail } from 'lucide-react'\nimport Link from 'next/link'\n\nexport function SiteFooter() {\n const siteConfig = useSiteConfig()\n const authorName = siteConfig.author?.name ?? siteConfig.name\n const authorUrl = siteConfig.author?.url ?? siteConfig.links?.twitter\n const githubUrl = siteConfig.links?.github\n\n return (\n <footer className=\"w-full border-t py-6 md:px-8 md:py-0\">\n <div className=\"container mx-auto flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row\">\n <div className=\"flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row\">\n <p className=\"text-balance text-center text-muted-foreground text-sm leading-loose md:text-left\">\n Built by{' '}\n {authorUrl ? (\n <a className=\"font-medium underline underline-offset-4\" href={authorUrl} rel=\"noreferrer\" target=\"_blank\">\n {authorName}\n <span className=\"sr-only\"> (opens in a new tab)</span>\n </a>\n ) : (\n <span className=\"font-medium\">{authorName}</span>\n )}\n {githubUrl ? (\n <>\n . The source code is available on{' '}\n <a\n className=\"font-medium underline underline-offset-4\"\n href={githubUrl}\n rel=\"noreferrer\"\n target=\"_blank\">\n GitHub\n <span className=\"sr-only\"> (opens in a new tab)</span>\n </a>\n .\n </>\n ) : null}\n </p>\n </div>\n <div className=\"hidden items-center gap-4 md:flex\">\n <FooterButtons />\n </div>\n </div>\n </footer>\n )\n}\n\nexport function FooterButtons() {\n const siteConfig = useSiteConfig()\n return (\n <>\n <Link\n className={buttonVariants({ size: 'sm', variant: 'outline' })}\n href={siteConfig.links?.sponsor ?? 'https://opencollective.com/gentelduck'}\n rel=\"noreferrer\"\n target=\"_blank\">\n <HeartIcon aria-hidden=\"true\" className=\"mr-2 h-4 w-4 fill-current text-red-600\" />\n Sponsor\n <span className=\"sr-only\"> (opens in a new tab)</span>\n </Link>\n <Link\n className={buttonVariants({ size: 'sm', variant: 'outline' })}\n href={siteConfig.links?.email ? `mailto:${siteConfig.links.email}` : 'mailto:support@gentleduck.org'}>\n <Mail aria-hidden=\"true\" />\n <span>Email</span>\n </Link>\n </>\n )\n}\n"],"mappings":"+NAOA,SAAgB,GAAa,CAC3B,IAAM,EAAa,GAAe,CAC5B,EAAa,EAAW,QAAQ,MAAQ,EAAW,KACnD,EAAY,EAAW,QAAQ,KAAO,EAAW,OAAO,QACxD,EAAY,EAAW,OAAO,OAEpC,OACE,EAAC,SAAA,CAAO,UAAU,gDAChB,EAAC,MAAA,CAAI,UAAU,mGACb,EAAC,MAAA,CAAI,UAAU,gFACb,EAAC,IAAA,CAAE,UAAU,8FAAoF,WACtF,IACR,EACC,EAAC,IAAA,CAAE,UAAU,2CAA2C,KAAM,EAAW,IAAI,aAAa,OAAO,mBAC9F,EACD,EAAC,OAAA,CAAK,UAAU,mBAAU,yBAA4B,CAAA,EACpD,CAEJ,EAAC,OAAA,CAAK,UAAU,uBAAe,GAAkB,CAElD,EACC,EAAA,EAAA,CAAA,SAAA,CAAE,oCACkC,IAClC,EAAC,IAAA,CACC,UAAU,2CACV,KAAM,EACN,IAAI,aACJ,OAAO,mBAAS,SAEhB,EAAC,OAAA,CAAK,UAAU,mBAAU,yBAA4B,CAAA,EACpD,OAEH,CACD,OACF,EACA,CACN,EAAC,MAAA,CAAI,UAAU,6CACb,EAAC,EAAA,EAAA,CAAgB,EACb,CAAA,EACF,EACC,CAIb,SAAgB,GAAgB,CAC9B,IAAM,EAAa,GAAe,CAClC,OACE,EAAA,EAAA,CAAA,SAAA,CACE,EAACA,EAAAA,CACC,UAAW,EAAe,CAAE,KAAM,KAAM,QAAS,UAAW,CAAC,CAC7D,KAAM,EAAW,OAAO,SAAW,wCACnC,IAAI,aACJ,OAAO,mBACP,EAAC,EAAA,CAAU,cAAY,OAAO,UAAU,0CAA2C,WAEnF,EAAC,OAAA,CAAK,UAAU,mBAAU,yBAA4B,GACjD,CACP,EAACA,EAAAA,CACC,UAAW,EAAe,CAAE,KAAM,KAAM,QAAS,UAAW,CAAC,CAC7D,KAAM,EAAW,OAAO,MAAQ,UAAU,EAAW,MAAM,QAAU,0CACrE,EAAC,EAAA,CAAK,cAAY,OAAA,CAAS,CAC3B,EAAC,OAAA,CAAA,SAAK,QAAA,CAAY,CAAA,EACb,CAAA,CAAA,CACN"}
@@ -0,0 +1,2 @@
1
+ import{n as e}from"./button-BPQ9zanb.js";import{n as t,o as n}from"./context-Bu-bPlyW.js";import{t as r}from"./mode-toggle-DhgB9p1I.js";import{n as i,r as a,t as o}from"./header-shell-PLI5ZAwI.js";import{cn as s}from"@gentleduck/libs/cn";import c from"react";import{jsx as l,jsxs as u}from"react/jsx-runtime";import{CaseUpper as d,Github as f,Twitter as p,Type as m}from"lucide-react";import{usePathname as h}from"next/navigation";import g from"next/link";import{useAtom as _}from"jotai";import{atomWithStorage as v}from"jotai/utils";function y(){let e=h(),{mainNav:n}=t();return u(`div`,{className:`mr-4 hidden md:flex`,children:[l(o,{className:`mr-4 lg:mr-6`}),n?.length?l(`nav`,{"aria-label":`Main`,className:`flex items-center gap-4 text-sm xl:gap-6`,children:n.map(t=>l(g,{"aria-current":e===t.href?`page`:void 0,className:s(`font-medium transition-colors hover:text-foreground/80`,e===t.href?`text-foreground`:`text-foreground/80`),href:t.href??`#`,children:t.title},t.href??t.title))}):null]})}const b=c.lazy(()=>import(`./components/layouts/command-menu.js`).then(e=>({default:e.CommandMenu}))),x=c.lazy(()=>import(`./components/mobile-nav.js`).then(e=>({default:e.MobileNav})));function S(){let t=n();return l(a,{className:`border-border/50 border-b bg-background/95 backdrop-blur-sm supports-[backdrop-filter]:bg-background/70`,children:u(i,{children:[l(y,{}),l(c.Suspense,{fallback:null,children:l(x,{})}),u(`div`,{className:`flex flex-1 items-center justify-between space-x-2 md:justify-end`,children:[l(`div`,{className:`w-full flex-1 md:w-auto md:flex-none`,children:l(c.Suspense,{fallback:u(`div`,{className:s(e({size:`sm`,variant:`outline`}),`relative h-8 w-full bg-muted/50 text-muted-foreground text-sm shadow-none md:w-40 lg:w-64`),children:[l(`span`,{className:`hidden lg:inline-flex`,children:`Search documentation...`}),l(`span`,{className:`inline-flex lg:hidden`,children:`Search...`})]}),children:l(b,{})})}),u(`nav`,{"aria-label":`Social and settings`,className:`flex items-center`,children:[l(C,{}),l(T,{}),t.links?.discord?l(g,{"aria-label":`Discord (opens in a new tab)`,href:t.links.discord,rel:`noreferrer`,target:`_blank`,children:l(`div`,{className:s(e({size:`icon`,variant:`ghost`})),children:l(`svg`,{"aria-hidden":`true`,className:`size-4`,fill:`currentColor`,viewBox:`0 0 24 24`,xmlns:`http://www.w3.org/2000/svg`,children:l(`path`,{d:`M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.095 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.095 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z`})})})}):null,t.links?.twitter?l(g,{"aria-label":`Twitter (opens in a new tab)`,href:t.links.twitter,rel:`noreferrer`,target:`_blank`,children:l(`div`,{className:s(e({size:`icon`,variant:`ghost`})),children:l(p,{"aria-hidden":`true`})})}):null,l(r,{})]})]})]})})}function C(){let[t,r]=c.useState(null),i=n(),a=i.links?.github?.replace(`https://github.com/`,``).replace(/\/$/,``),o=i.githubRepo??a;return c.useEffect(()=>{async function e(){try{if(!o)return;let e=await fetch(`https://api.github.com/repos/${o}`);if(!e.ok)return;let t=await e.json();typeof t.stargazers_count==`number`&&r(t.stargazers_count)}catch(e){console.error(`Failed to fetch stars:`,e)}}e()},[]),i.links?.github?l(g,{"aria-label":`GitHub (opens in a new tab)`,href:i.links.github,rel:`noopener noreferrer`,target:`_blank`,children:u(`div`,{className:s(e({className:`size-auto h-8 w-16 font-medium text-sm`,size:`icon`,variant:`ghost`})),children:[l(f,{"aria-hidden":`true`}),t===null?`...`:t.toLocaleString()]})}):null}const w=v(`fontType`,`mono`);function T(){let[t,n]=_(w),r=c.useRef(!0);return c.useEffect(()=>{if(r.current){r.current=!1;return}let e=t===`sans`?`var(--font-geist-sans, "Montserrat"), sans-serif`:`var(--font-geist-mono, "Geist Mono"), monospace`;document.documentElement.style.setProperty(`font-family`,e,`important`)},[t]),l(`button`,{"aria-label":t===`mono`?`Switch to sans-serif font`:`Switch to monospace font`,className:s(e({size:`icon`,variant:`ghost`})),onClick:()=>n(t===`mono`?`sans`:`mono`),type:`button`,children:l(t===`mono`?m:d,{"aria-hidden":`true`})})}export{S as n,y as r,T as t};
2
+ //# sourceMappingURL=site-header-BiFOBrXI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-header-BiFOBrXI.js","names":["Link","Link"],"sources":["../src/components/main-nav.tsx","../src/components/layouts/site-header.tsx"],"sourcesContent":["'use client'\n\nimport { useDocsConfig } from '@duck-docs/context'\nimport { cn } from '@gentleduck/libs/cn'\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport { HeaderBrand } from './layouts/site-header'\n\nexport function MainNav() {\n const pathname = usePathname()\n const { mainNav } = useDocsConfig()\n\n return (\n <div className=\"mr-4 hidden md:flex\">\n <HeaderBrand className=\"mr-4 lg:mr-6\" />\n {mainNav?.length ? (\n <nav aria-label=\"Main\" className=\"flex items-center gap-4 text-sm xl:gap-6\">\n {mainNav.map((item) => (\n <Link\n aria-current={pathname === item.href ? 'page' : undefined}\n className={cn(\n 'font-medium transition-colors hover:text-foreground/80',\n pathname === item.href ? 'text-foreground' : 'text-foreground/80',\n )}\n href={item.href ?? '#'}\n key={item.href ?? item.title}>\n {item.title}\n </Link>\n ))}\n </nav>\n ) : null}\n </div>\n )\n}\n","'use client'\n\nimport { MainNav } from '@duck-docs/components/main-nav'\nimport { ModeSwitcher } from '@duck-docs/components/mode-toggle'\nimport { useSiteConfig } from '@duck-docs/context'\nimport { cn } from '@gentleduck/libs/cn'\nimport { buttonVariants } from '@gentleduck/registry-ui/button'\nimport { useAtom } from 'jotai'\nimport { atomWithStorage } from 'jotai/utils'\nimport { CaseUpper, Github, Twitter, Type } from 'lucide-react'\nimport Link from 'next/link'\nimport React from 'react'\nimport { HeaderContainer, HeaderRoot } from './header-shell'\n\nconst CommandMenu = React.lazy(() =>\n import('@duck-docs/components/layouts/command-menu').then((m) => ({ default: m.CommandMenu })),\n)\nconst MobileNav = React.lazy(() => import('@duck-docs/components/mobile-nav').then((m) => ({ default: m.MobileNav })))\n\nexport function SiteHeader() {\n const siteConfig = useSiteConfig()\n\n return (\n <HeaderRoot className=\"border-border/50 border-b bg-background/95 backdrop-blur-sm supports-[backdrop-filter]:bg-background/70\">\n <HeaderContainer>\n <MainNav />\n <React.Suspense fallback={null}>\n <MobileNav />\n </React.Suspense>\n <div className=\"flex flex-1 items-center justify-between space-x-2 md:justify-end\">\n <div className=\"w-full flex-1 md:w-auto md:flex-none\">\n <React.Suspense\n fallback={\n <div\n className={cn(\n buttonVariants({ size: 'sm', variant: 'outline' }),\n 'relative h-8 w-full bg-muted/50 text-muted-foreground text-sm shadow-none md:w-40 lg:w-64',\n )}>\n <span className=\"hidden lg:inline-flex\">Search documentation...</span>\n <span className=\"inline-flex lg:hidden\">Search...</span>\n </div>\n }>\n <CommandMenu />\n </React.Suspense>\n </div>\n <nav aria-label=\"Social and settings\" className=\"flex items-center\">\n <GitHubStarsButton />\n <FontStyleButton />\n {siteConfig.links?.discord ? (\n <Link\n aria-label=\"Discord (opens in a new tab)\"\n href={siteConfig.links.discord}\n rel=\"noreferrer\"\n target=\"_blank\">\n <div\n className={cn(\n buttonVariants({\n size: 'icon',\n variant: 'ghost',\n }),\n )}>\n <svg\n aria-hidden=\"true\"\n className=\"size-4\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.095 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.095 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z\" />\n </svg>\n </div>\n </Link>\n ) : null}\n {siteConfig.links?.twitter ? (\n <Link\n aria-label=\"Twitter (opens in a new tab)\"\n href={siteConfig.links.twitter}\n rel=\"noreferrer\"\n target=\"_blank\">\n <div\n className={cn(\n buttonVariants({\n size: 'icon',\n variant: 'ghost',\n }),\n )}>\n <Twitter aria-hidden=\"true\" />\n </div>\n </Link>\n ) : null}\n <ModeSwitcher />\n </nav>\n </div>\n </HeaderContainer>\n </HeaderRoot>\n )\n}\n\nfunction GitHubStarsButton() {\n const [stars, setStars] = React.useState<number | null>(null)\n const siteConfig = useSiteConfig()\n const repoFromUrl = siteConfig.links?.github?.replace('https://github.com/', '').replace(/\\/$/, '')\n const repo = siteConfig.githubRepo ?? repoFromUrl\n\n React.useEffect(() => {\n async function fetchStars() {\n try {\n if (!repo) {\n return\n }\n const res = await fetch(`https://api.github.com/repos/${repo}`)\n if (!res.ok) return\n const data = await res.json()\n if (typeof data.stargazers_count === 'number') {\n setStars(data.stargazers_count)\n }\n } catch (err) {\n console.error('Failed to fetch stars:', err)\n }\n }\n fetchStars()\n }, [])\n\n if (!siteConfig.links?.github) {\n return null\n }\n\n return (\n <Link\n aria-label=\"GitHub (opens in a new tab)\"\n href={siteConfig.links.github}\n rel=\"noopener noreferrer\"\n target=\"_blank\">\n <div\n className={cn(\n buttonVariants({\n className: 'size-auto h-8 w-16 font-medium text-sm',\n size: 'icon',\n variant: 'ghost',\n }),\n )}>\n <Github aria-hidden=\"true\" />\n {stars !== null ? stars.toLocaleString() : '...'}\n </div>\n </Link>\n )\n}\nconst fontAtom = atomWithStorage('fontType', 'mono')\n\nexport function FontStyleButton() {\n const [fontType, setFontType] = useAtom(fontAtom)\n const firstRender = React.useRef(true)\n\n React.useEffect(() => {\n if (firstRender.current) {\n firstRender.current = false\n return\n }\n\n const family =\n fontType === 'sans'\n ? 'var(--font-geist-sans, \"Montserrat\"), sans-serif'\n : 'var(--font-geist-mono, \"Geist Mono\"), monospace'\n\n document.documentElement.style.setProperty('font-family', family, 'important')\n }, [fontType])\n\n return (\n <button\n aria-label={fontType === 'mono' ? 'Switch to sans-serif font' : 'Switch to monospace font'}\n className={cn(buttonVariants({ size: 'icon', variant: 'ghost' }))}\n onClick={() => setFontType(fontType === 'mono' ? 'sans' : 'mono')}\n type=\"button\">\n {fontType === 'mono' ? <Type aria-hidden=\"true\" /> : <CaseUpper aria-hidden=\"true\" />}\n </button>\n )\n}\n\nexport { HeaderBrand, HeaderContainer, HeaderRoot, HeaderSection } from './header-shell'\n"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
2
+
3
+ //#region src/components/layouts/site-header.d.ts
4
+ declare function SiteHeader(): react_jsx_runtime1.JSX.Element;
5
+ declare function FontStyleButton(): react_jsx_runtime1.JSX.Element;
6
+ //#endregion
7
+ export { SiteHeader as n, FontStyleButton as t };
8
+ //# sourceMappingURL=site-header-C77EADsW.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-header-C77EADsW.d.ts","names":[],"sources":["../src/components/layouts/site-header.tsx"],"sourcesContent":[],"mappings":";;;iBAmBgB,UAAA,CAAA,GAAU,kBAAA,CAAA,GAAA,CAAA;iBAiIV,eAAA,CAAA,GAAe,kBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import*as e from"react";import{Fragment as t,jsx as n}from"react/jsx-runtime";function r(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function i(...e){return t=>{let n=!1,i=e.map(e=>{let i=r(e,t);return!n&&typeof i==`function`&&(n=!0),i});if(n)return()=>{for(let t=0;t<i.length;t++){let n=i[t];typeof n==`function`?n():r(e[t],null)}}}}function a(...t){return e.useCallback(i(...t),t)}function o(t){let r=c(t),i=e.forwardRef((t,i)=>{let{children:a,...o}=t,s=e.Children.toArray(a),c=s.find(f);if(c){let t=c.props.children,a=s.map(n=>n===c?e.Children.count(t)>1?e.Children.only(null):e.isValidElement(t)?t.props.children:null:n);return n(r,{...o,ref:i,children:e.isValidElement(t)?e.cloneElement(t,void 0,a):null})}return n(r,{...o,ref:i,children:a})});return i.displayName=`${t}.Slot`,i}const s=o(`Slot`);function c(t){let n=e.forwardRef((t,n)=>{let{children:r,...a}=t;if(e.isValidElement(r)){let t=m(r),o=p(a,r.props);return r.type!==e.Fragment&&(o.ref=n?i(n,t):t),e.cloneElement(r,o)}return e.Children.count(r)>1?e.Children.only(null):null});return n.displayName=`${t}.SlotClone`,n}const l=Symbol(`gentleduck.slottable`);function u(e){let r=({children:e})=>n(t,{children:e});return r.displayName=`${e}.Slottable`,r.__radixId=l,r}const d=u(`Slottable`);function f(t){return e.isValidElement(t)&&typeof t.type==`function`&&`__radixId`in t.type&&t.type.__radixId===l}function p(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function m(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}export{i as a,d as i,u as n,a as o,o as r,s as t};
2
+ //# sourceMappingURL=slot-B-X2-pKU-DOhFF3E_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot-B-X2-pKU-DOhFF3E_.js","names":["e","t","r","i","n","n","e","i","t","a","o","s","c","r"],"sources":["../../duck-primitives/dist/compose-ref-qJpEeJiW.js","../../duck-primitives/dist/slot-B-X2-pKU.js"],"sourcesContent":["import*as e from\"react\";function t(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function n(...e){return n=>{let r=!1,i=e.map(e=>{let i=t(e,n);return!r&&typeof i==`function`&&(r=!0),i});if(r)return()=>{for(let n=0;n<i.length;n++){let r=i[n];typeof r==`function`?r():t(e[n],null)}}}}function r(...t){return e.useCallback(n(...t),t)}export{r as n,n as t};","import{t as e}from\"./compose-ref-qJpEeJiW.js\";import*as t from\"react\";import{Fragment as n,jsx as r}from\"react/jsx-runtime\";function i(e){let n=o(e),i=t.forwardRef((e,i)=>{let{children:a,...o}=e,s=t.Children.toArray(a),c=s.find(u);if(c){let e=c.props.children,a=s.map(n=>n===c?t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null:n);return r(n,{...o,ref:i,children:t.isValidElement(e)?t.cloneElement(e,void 0,a):null})}return r(n,{...o,ref:i,children:a})});return i.displayName=`${e}.Slot`,i}const a=i(`Slot`);function o(n){let r=t.forwardRef((n,r)=>{let{children:i,...a}=n;if(t.isValidElement(i)){let n=f(i),o=d(a,i.props);return i.type!==t.Fragment&&(o.ref=r?e(r,n):n),t.cloneElement(i,o)}return t.Children.count(i)>1?t.Children.only(null):null});return r.displayName=`${n}.SlotClone`,r}const s=Symbol(`gentleduck.slottable`);function c(e){let t=({children:e})=>r(n,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=s,t}const l=c(`Slottable`);function u(e){return t.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===s}function d(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function f(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}export{c as i,l as n,i as r,a as t};"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{o as e,r as t}from"./slot-B-X2-pKU-DOhFF3E_.js";import{a as n,d as r,f as i,i as a,l as o,n as s,o as c,p as l,r as u,t as d,u as f}from"./portal-BNuCvTAR-DDrsnIMA.js";import{t as p}from"./direction-B-anGbxM-BdqxtlGV.js";import{a as m,i as h,n as g,r as _,t as v}from"./arrow-CU5T6t_D-BA13FgoC.js";import{t as y}from"./create-collection-S3CvffX1-DA20ZU15.js";import{i as b,n as x,r as S,t as C}from"./list-navigation-LJg-1TD2-DsfZPowW.js";import{n as w}from"./visibility-hidden-CAHx9RLp-CN32k1Im.js";import{t as T}from"./use-config-CkoOe8Fw.js";import{t as E}from"./registry-styles-DwoJ9Qa9.js";import{cn as D}from"@gentleduck/libs/cn";import*as O from"react";import{Fragment as k,jsx as A,jsxs as j}from"react/jsx-runtime";import{Check as M,ChevronDown as N,ChevronUp as ee}from"lucide-react";import*as P from"react-dom";import{hideOthers as F}from"aria-hidden";import{RemoveScroll as I}from"react-remove-scroll";function L(e){let t=O.useRef({value:e,previous:e});return O.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}const te=[` `,`Enter`,`ArrowUp`,`ArrowDown`],ne=[` `,`Enter`],R=`Select`,[z,B,re]=y(R),[V,ie]=o(R,[re,h]),H=h(),[U,W]=V(R),[G,ae]=V(R),K=`SelectContent`,[oe,q]=V(K),[se,J]=V(K,{}),[ce,Y]=V(`SelectItem`),[X,le]=V(`SelectGroup`),ue=e=>{let{__scopeSelect:t,children:n,open:i,defaultOpen:a,onOpenChange:o,value:s,defaultValue:c,onValueChange:l,dir:u,name:d,autoComplete:h,disabled:g,required:_,form:v}=e,y=H(t),[b,x]=O.useState(null),[S,C]=O.useState(null),[w,T]=O.useState(!1),E=p(u),[D,k]=r({prop:i,defaultProp:a??!1,onChange:o,caller:R}),[M,N]=r({prop:s,defaultProp:c,onChange:l,caller:R}),ee=O.useRef(null),P=b?v||!!b.closest(`form`):!0,[F,I]=O.useState(new Set),L=Array.from(F).map(e=>e.props.value).join(`;`);return A(m,{...y,children:j(U,{required:_,scope:t,trigger:b,onTriggerChange:x,valueNode:S,onValueNodeChange:C,valueNodeHasChildren:w,onValueNodeHasChildrenChange:T,contentId:f(),value:M,onValueChange:N,open:D,onOpenChange:k,dir:E,triggerPointerDownPosRef:ee,disabled:g,children:[A(z.Provider,{scope:t,children:A(G,{scope:e.__scopeSelect,onNativeOptionAdd:O.useCallback(e=>{I(t=>new Set(t).add(e))},[]),onNativeOptionRemove:O.useCallback(e=>{I(t=>{let n=new Set(t);return n.delete(e),n})},[]),children:n})}),P?j(de,{"aria-hidden":!0,required:_,tabIndex:-1,name:d,autoComplete:h,value:M,onChange:e=>N(e.target.value),disabled:g,form:v,children:[M===void 0?A(`option`,{value:``}):null,Array.from(F)]},L):null]})})};ue.displayName=R;const de=O.forwardRef((t,n)=>{let{value:r,...i}=t,a=O.useRef(null),o=e(n,a),s=L(r);return O.useEffect(()=>{let e=a.current,t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(s!==r&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,r),e.dispatchEvent(t)}},[s,r]),A(w,{asChild:!0,children:A(`select`,{...i,ref:o,defaultValue:r})})});de.displayName=`BubbleSelect`;const fe=`SelectArrow`,pe=O.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=H(n),a=W(fe,n),o=q(fe,n);return a.open&&o.position===`popper`?A(v,{"data-slot":`select-arrow`,...i,...r,ref:t}):null});pe.displayName=fe;function me(e){return e===``||e===void 0}function he(e,[t,n]){return Math.min(n,Math.max(t,e))}const Z=`SelectContent`,ge=O.forwardRef((e,t)=>{let{forceMount:n,...r}=e,a=W(Z,e.__scopeSelect),[o,c]=O.useState();return i(()=>{c(new DocumentFragment)},[]),j(k,{children:[!a.open&&o?P.createPortal(A(oe,{scope:e.__scopeSelect,children:A(z.Slot,{scope:e.__scopeSelect,children:A(`div`,{children:r.children})})}),o):null,A(s,{present:n||a.open,children:A(ve,{...r,ref:t})})]})});ge.displayName=Z;const _e=t(`SelectContent.RemoveScroll`),ve=O.forwardRef((t,r)=>{let{__scopeSelect:i,position:o=`item-aligned`,onCloseAutoFocus:s,onEscapeKeyDown:l,onPointerDownOutside:d,side:f,sideOffset:p,align:m,alignOffset:h,arrowPadding:g,collisionBoundary:_,collisionPadding:v,sticky:y,hideWhenDetached:w,avoidCollisions:T,...E}=t,D=W(Z,i),[k,j]=O.useState(null),[M,N]=O.useState(null),ee=e(r,e=>j(e)),[P,L]=O.useState(null),[te,ne]=O.useState(null),R=B(i),[z,re]=O.useState(!1),V=O.useRef(!1);O.useEffect(()=>{if(k)return F(k)},[k]),u();let ie=O.useCallback(e=>{let[t,...n]=R().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&M&&(M.scrollTop=0),n===r&&M&&(M.scrollTop=M.scrollHeight),n?.focus(),document.activeElement!==i))return},[R,M]),H=O.useCallback(()=>ie([P,k]),[ie,P,k]);O.useEffect(()=>{z&&H()},[z,H]);let{onOpenChange:U,triggerPointerDownPosRef:G}=D;O.useEffect(()=>{if(k){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(G.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(G.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():k.contains(n.target)||U(!1),document.removeEventListener(`pointermove`,t),G.current=null};return G.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[k,U,G]),O.useEffect(()=>{let e=()=>U(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[U]);let[ae,K,q]=x({getItems:()=>R().filter(e=>!e.disabled),getItemElement:e=>e.ref.current,getItemTextValue:e=>e.textValue||(e.ref.current?.textContent??``).trim(),onMatch:e=>{let t=e.ref.current;t&&setTimeout(()=>t.focus())}}),se=b({onNavigate:q}),J=O.useCallback((e,t,n)=>{let r=!V.current&&!n;(D.value!==void 0&&D.value===t||r)&&(L(e),r&&(V.current=!0))},[D.value]),ce=O.useCallback(()=>k?.focus(),[k]),Y=O.useCallback((e,t,n)=>{let r=!V.current&&!n;(D.value!==void 0&&D.value===t||r)&&ne(e)},[D.value]),X=o===`popper`?be:ye,le=X===be?{side:f,sideOffset:p,align:m,alignOffset:h,arrowPadding:g,collisionBoundary:_,collisionPadding:v,sticky:y,hideWhenDetached:w,avoidCollisions:T}:{};return A(oe,{scope:i,content:k,viewport:M,onViewportChange:N,itemRefCallback:J,selectedItem:P,onItemLeave:ce,itemTextRefCallback:Y,focusSelectedItem:H,selectedItemText:te,position:o,isPositioned:z,searchRef:ae,allowTextPortal:D.open,children:A(I,{as:_e,allowPinchZoom:!0,children:A(a,{asChild:!0,trapped:D.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:c(s,e=>{D.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:A(n,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:d,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>D.onOpenChange(!1),children:A(X,{"data-slot":`select-content`,role:`listbox`,id:D.contentId,"data-state":D.open?`open`:`closed`,dir:D.dir,onContextMenu:e=>e.preventDefault(),...E,...le,onPlaced:()=>re(!0),ref:ee,style:{display:`flex`,flexDirection:`column`,outline:`none`,...E.style},onKeyDown:c(E.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;e.key===`Tab`&&e.preventDefault();let n=R().filter(e=>!e.disabled).map(e=>e.ref.current);if(!se(e,n)&&(!t&&e.key.length===1&&K(e.key),S.includes(e.key))){let t=C(n,e.key,e.target);setTimeout(()=>ie(t)),e.preventDefault()}})})})})})})});ve.displayName=`SelectContentImpl`;const ye=O.forwardRef((t,n)=>{let{__scopeSelect:r,onPlaced:a,...o}=t,s=W(Z,r),c=q(Z,r),[u,d]=O.useState(null),[f,p]=O.useState(null),m=e(n,e=>p(e)),h=B(r),g=O.useRef(!1),_=O.useRef(!0),{viewport:v,selectedItem:y,selectedItemText:b,focusSelectedItem:x}=c,S=O.useCallback(()=>{if(s.trigger&&s.valueNode&&u&&f&&v&&y&&b){let e=s.trigger.getBoundingClientRect(),t=f.getBoundingClientRect(),n=s.valueNode.getBoundingClientRect(),r=b.getBoundingClientRect();if(s.dir!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,d=he(a,[10,Math.max(10,l-c)]);u.style.minWidth=s+`px`,u.style.left=d+`px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,d=he(a,[10,Math.max(10,l-c)]);u.style.minWidth=s+`px`,u.style.right=d+`px`}let i=h(),o=window.innerHeight-20,c=v.scrollHeight,l=window.getComputedStyle(f),d=parseInt(l.borderTopWidth,10),p=parseInt(l.paddingTop,10),m=parseInt(l.borderBottomWidth,10),_=parseInt(l.paddingBottom,10),x=d+p+c+_+m,S=Math.min(y.offsetHeight*5,x),C=window.getComputedStyle(v),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-10,D=o-E,O=y.offsetHeight/2,k=y.offsetTop+O,A=d+p+k,j=x-A;if(A<=E){let e=i.length>0&&y===i[i.length-1].ref.current;u.style.bottom=`0px`;let t=f.clientHeight-v.offsetTop-v.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+m);u.style.height=n+`px`}else{let e=i.length>0&&y===i[0].ref.current;u.style.top=`0px`;let t=Math.max(E,d+v.offsetTop+(e?w:0)+O)+j;u.style.height=t+`px`,v.scrollTop=A-E+v.offsetTop}u.style.margin=`10px 0`,u.style.minHeight=S+`px`,u.style.maxHeight=o+`px`,a?.(),requestAnimationFrame(()=>g.current=!0)}},[h,s.trigger,s.valueNode,u,f,v,y,b,s.dir,a]);i(()=>S(),[S]);let[C,w]=O.useState();return i(()=>{f&&w(window.getComputedStyle(f).zIndex)},[f]),A(se,{scope:r,contentWrapper:u,shouldExpandOnScrollRef:g,onScrollButtonChange:O.useCallback(e=>{e&&_.current===!0&&(S(),x?.(),_.current=!1)},[S,x]),children:A(`div`,{ref:d,dir:s.dir,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:C},children:A(l.div,{"data-slot":`select-item-aligned-position`,...o,ref:m,style:{boxSizing:`border-box`,maxHeight:`100%`,...o.style}})})})});ye.displayName=`SelectItemAlignedPosition`;const be=O.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=10,...a}=e,o=H(n);return A(g,{"data-slot":`select-popper-position`,...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--gentleduck-select-content-transform-origin":`var(--gentleduck-popper-transform-origin)`,"--gentleduck-select-content-available-width":`var(--gentleduck-popper-available-width)`,"--gentleduck-select-content-available-height":`var(--gentleduck-popper-available-height)`,"--gentleduck-select-trigger-width":`var(--gentleduck-popper-anchor-width)`,"--gentleduck-select-trigger-height":`var(--gentleduck-popper-anchor-height)`}})});be.displayName=`SelectPopperPosition`;const xe=`SelectGroup`,Se=O.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=W(xe,n),a=f();return A(X,{scope:n,id:a,children:A(l.div,{"data-slot":`select-group`,role:`group`,"aria-labelledby":a,dir:i.dir,...r,ref:t})})});Se.displayName=xe;const Ce=`SelectIcon`,we=O.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...i}=e,a=W(Ce,n);return A(l.span,{"data-slot":`select-icon`,"aria-hidden":!0,dir:a.dir,...i,ref:t,children:r||`▼`})});we.displayName=Ce;const Te=`SelectItem`,Ee=O.forwardRef((t,n)=>{let{__scopeSelect:r,value:i,disabled:a=!1,textValue:o,...s}=t,u=W(Te,r),d=q(Te,r),p=u.value===i,[m,h]=O.useState(o??``),[g,_]=O.useState(!1),v=e(n,e=>d.itemRefCallback?.(e,i,a)),y=f(),b=O.useRef(`touch`),x=()=>{a||(u.onValueChange(i),u.onOpenChange(!1))};if(i===``)throw Error(`A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return A(ce,{scope:r,...O.useMemo(()=>({value:i,disabled:a,textId:y,isSelected:p,onItemTextChange:e=>{h(t=>t||(e?.textContent??``).trim())}}),[i,a,y,p]),children:A(z.ItemSlot,{scope:r,value:i,disabled:a,textValue:m,children:A(l.div,{"data-slot":`select-item`,role:`option`,"aria-labelledby":y,dir:u.dir,"data-highlighted":g?``:void 0,"aria-selected":p&&g,"data-state":p?`checked`:`unchecked`,"aria-disabled":a||void 0,"data-disabled":a?``:void 0,tabIndex:a?void 0:-1,...s,ref:v,onFocus:c(s.onFocus,()=>_(!0)),onBlur:c(s.onBlur,()=>_(!1)),onClick:c(s.onClick,()=>{b.current!==`mouse`&&x()}),onPointerUp:c(s.onPointerUp,()=>{b.current===`mouse`&&x()}),onPointerDown:c(s.onPointerDown,e=>{b.current=e.pointerType}),onPointerMove:c(s.onPointerMove,e=>{b.current=e.pointerType,a?d.onItemLeave?.():b.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:c(s.onPointerLeave,e=>{e.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:c(s.onKeyDown,e=>{d.searchRef?.current!==``&&e.key===` `||(ne.includes(e.key)&&x(),e.key===` `&&e.preventDefault())})})})})});Ee.displayName=Te;const De=`SelectItemIndicator`,Oe=O.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=W(De,n);return Y(De,n).isSelected?A(l.span,{"data-slot":`select-item-indicator`,"aria-hidden":!0,dir:i.dir,...r,ref:t}):null});Oe.displayName=De;const Q=`SelectItemText`,ke=O.forwardRef((t,n)=>{let{__scopeSelect:r,className:a,style:o,...s}=t,c=W(Q,r),u=q(Q,r),d=Y(Q,r),f=ae(Q,r),[p,m]=O.useState(null),h=e(n,e=>m(e),d.onItemTextChange,e=>u.itemTextRefCallback?.(e,d.value,d.disabled)),g=p?.textContent,_=O.useMemo(()=>A(`option`,{value:d.value,disabled:d.disabled,children:g},d.value),[d.disabled,d.value,g]),{onNativeOptionAdd:v,onNativeOptionRemove:y}=f;return i(()=>(v(_),()=>y(_)),[v,y,_]),j(k,{children:[A(l.span,{"data-slot":`select-item-text`,id:d.textId,dir:c.dir,...s,ref:h}),d.isSelected&&c.valueNode&&!c.valueNodeHasChildren&&u.allowTextPortal!==!1?P.createPortal(s.children,c.valueNode):null]})});ke.displayName=Q;const Ae=`SelectLabel`,je=O.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=W(Ae,n),a=le(Ae,n);return A(l.div,{"data-slot":`select-label`,id:a.id,dir:i.dir,...r,ref:t})});je.displayName=Ae;const Me=e=>A(d,{asChild:!0,...e});Me.displayName=`SelectPortal`;const Ne=`SelectScrollUpButton`,Pe=O.forwardRef((t,n)=>{let r=q(Ne,t.__scopeSelect),a=J(Ne,t.__scopeSelect),[o,s]=O.useState(!1),c=e(n,a.onScrollButtonChange);return i(()=>{if(r.viewport&&r.isPositioned){let e=r.viewport,t=()=>{s(e.scrollTop>0)};return t(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[r.viewport,r.isPositioned]),o?A(Le,{...t,"data-slot":`select-scroll-up-button`,ref:c,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});Pe.displayName=Ne;const Fe=`SelectScrollDownButton`,Ie=O.forwardRef((t,n)=>{let r=q(Fe,t.__scopeSelect),a=J(Fe,t.__scopeSelect),[o,s]=O.useState(!1),c=e(n,a.onScrollButtonChange);return i(()=>{if(r.viewport&&r.isPositioned){let e=r.viewport,t=()=>{let t=e.scrollHeight-e.clientHeight;s(Math.ceil(e.scrollTop)<t)};return t(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[r.viewport,r.isPositioned]),o?A(Le,{...t,"data-slot":`select-scroll-down-button`,ref:c,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});Ie.displayName=Fe;const Le=O.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...a}=e,o=W(`SelectScrollButton`,n),s=q(`SelectScrollButton`,n),u=O.useRef(null),d=B(n),f=O.useCallback(()=>{u.current!==null&&(window.clearInterval(u.current),u.current=null)},[]);return O.useEffect(()=>()=>f(),[f]),i(()=>{d().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[d]),A(l.div,{"data-slot":`select-scroll-button`,"aria-hidden":!0,dir:o.dir,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:c(a.onPointerDown,()=>{u.current===null&&(u.current=window.setInterval(r,50))}),onPointerMove:c(a.onPointerMove,()=>{s.onItemLeave?.(),u.current===null&&(u.current=window.setInterval(r,50))}),onPointerLeave:c(a.onPointerLeave,()=>{f()})})});Le.displayName=`SelectScrollButtonImpl`;const Re=`SelectSeparator`,ze=O.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=W(Re,n);return A(l.div,{"data-slot":`select-separator`,"aria-hidden":!0,dir:i.dir,...r,ref:t})});ze.displayName=Re;const Be=`SelectTrigger`,Ve=O.forwardRef((t,n)=>{let{__scopeSelect:r,disabled:i=!1,...a}=t,o=H(r),s=W(Be,r),u=s.disabled||i,d=e(n,s.onTriggerChange),f=B(r),p=O.useRef(`touch`),[m,h,g]=x({getItems:()=>f().filter(e=>!e.disabled),getItemElement:e=>e.ref.current,getItemTextValue:e=>e.textValue||(e.ref.current?.textContent??``).trim(),getCurrentItem:e=>e.find(e=>e.value===s.value),onMatch:e=>{s.onValueChange(e.value)}}),v=e=>{u||(s.onOpenChange(!0),g()),e&&(s.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return A(_,{asChild:!0,...o,children:A(l.button,{"data-slot":`select-trigger`,type:`button`,role:`combobox`,"aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":`none`,dir:s.dir,"data-state":s.open?`open`:`closed`,disabled:u,"data-disabled":u?``:void 0,"data-placeholder":me(s.value)?``:void 0,...a,ref:d,onClick:c(a.onClick,e=>{e.currentTarget.focus(),p.current!==`mouse`&&v(e)}),onPointerDown:c(a.onPointerDown,e=>{p.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(v(e),e.preventDefault())}),onKeyDown:c(a.onKeyDown,e=>{let t=m.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&h(e.key),!(t&&e.key===` `)&&te.includes(e.key)&&(v(),e.preventDefault())})})})});Ve.displayName=Be;const He=`SelectValue`,Ue=O.forwardRef((t,n)=>{let{__scopeSelect:r,className:a,style:o,children:s,placeholder:c=``,...u}=t,d=W(He,r),{onValueNodeHasChildrenChange:f}=d,p=s!==void 0,m=e(n,d.onValueNodeChange);return i(()=>{f(p)},[f,p]),A(l.span,{"data-slot":`select-value`,...u,ref:m,dir:d.dir,style:{pointerEvents:`none`},children:me(d.value)?A(k,{children:c}):s})});Ue.displayName=He;const $=`SelectViewport`,We=O.forwardRef((t,n)=>{let{__scopeSelect:r,nonce:i,...a}=t,o=W($,r),s=q($,r),u=J($,r),d=e(n,s.onViewportChange),f=O.useRef(0);return j(k,{children:[A(`style`,{dangerouslySetInnerHTML:{__html:`[data-slot="select-viewport"]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-slot="select-viewport"]::-webkit-scrollbar{display:none}`},nonce:i}),A(z.Slot,{scope:r,children:A(l.div,{"data-slot":`select-viewport`,role:`presentation`,dir:o.dir,...a,ref:d,style:{position:`relative`,flex:1,overflow:`hidden auto`,...a.style},onScroll:c(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=u;if(r?.current&&n){let e=Math.abs(f.current-t.scrollTop);if(e>0){let r=window.innerHeight-20,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}f.current=t.scrollTop})})})]})});We.displayName=$;const Ge=ue,Ke=Ue,qe=O.forwardRef(({className:e,children:t,...n},r)=>j(Ve,{ref:r,"data-slot":`select-trigger`,className:D(`flex h-9 min-w-32 items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-placeholder:text-muted-foreground [&>span]:line-clamp-1`,e),...n,children:[t,A(we,{asChild:!0,children:A(N,{"aria-hidden":`true`,className:`size-4 opacity-50`})})]}));qe.displayName=Ve.displayName;const Je=O.forwardRef(({className:e,...t},n)=>A(Pe,{ref:n,className:D(`flex cursor-default items-center justify-center py-1`,e),...t,children:A(ee,{"aria-hidden":`true`,className:`size-4`})}));Je.displayName=Pe.displayName;const Ye=O.forwardRef(({className:e,...t},n)=>A(Ie,{ref:n,className:D(`flex cursor-default items-center justify-center py-1`,e),...t,children:A(N,{"aria-hidden":`true`,className:`size-4`})}));Ye.displayName=Ie.displayName;const Xe=O.forwardRef(({className:e,children:t,position:n=`popper`,...r},i)=>A(Me,{children:j(ge,{ref:i,className:D(`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--gentleduck-select-content-available-height) min-w-32 origin-(--gentleduck-select-content-transform-origin) overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=closed]:animate-out data-[state=open]:animate-in`,n===`popper`&&`data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1`,`transition-all transition-discrete duration-[200ms,150ms] ease-(--duck-motion-ease)`,e),position:n,...r,children:[A(Je,{}),A(We,{className:D(`p-1`,n===`popper`&&`h-(--gentleduck-select-trigger-height) w-full min-w-(--gentleduck-select-trigger-width)`),children:t}),A(Ye,{})]})}));Xe.displayName=ge.displayName;const Ze=O.forwardRef(({className:e,...t},n)=>A(je,{ref:n,className:D(`px-2 py-1.5 font-semibold text-sm`,e),...t}));Ze.displayName=je.displayName;const Qe=O.forwardRef(({className:e,children:t,...n},r)=>j(Ee,{ref:r,className:D(`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 ps-2 pe-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50`,e),...n,children:[A(`span`,{className:`absolute end-2 flex size-3.5 items-center justify-center`,children:A(Oe,{children:A(M,{"aria-hidden":`true`,className:`size-4`})})}),A(ke,{children:t})]}));Qe.displayName=Ee.displayName;const $e=O.forwardRef(({className:e,...t},n)=>A(ze,{ref:n,className:D(`-mx-1 my-1 h-px bg-muted`,e),...t}));$e.displayName=ze.displayName;function et({className:e,...t}){let[n,r]=T();return j(Ge,{onValueChange:(e=>r({...n,style:e})),value:n.style,children:[j(qe,{"aria-label":`Style`,className:D(`h-7 w-[145px] text-xs [&_svg]:h-4 [&_svg]:w-4`,e),...t,children:[A(`span`,{className:`text-muted-foreground`,children:`Style: `}),A(Ke,{placeholder:`Select style`})]}),A(Xe,{children:E.map(e=>A(Qe,{className:`text-xs`,value:e.name,children:e.label},e.name))})]})}export{et as t};
2
+ //# sourceMappingURL=style-switcher--saWXPVm.js.map