@gentleduck/docs 0.0.13 → 0.0.14

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 (714) 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-Cs2Ykttv.js +2 -0
  4. package/dist/arrow-CU5T6t_D-Cs2Ykttv.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-C_FrO3-r.d.ts +21 -0
  10. package/dist/callout-C_FrO3-r.d.ts.map +1 -0
  11. package/dist/callout-WZt8I4Tj.js +2 -0
  12. package/dist/callout-WZt8I4Tj.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-D4Uj_gtE.d.ts.map +1 -0
  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-B-PLa30f.d.ts} +3 -3
  20. package/dist/code-block-B-PLa30f.d.ts.map +1 -0
  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-B0GrI7hb.d.ts → code-block-wrapper-BM4jRJHq.d.ts} +3 -3
  24. package/dist/{code-block-wrapper-B0GrI7hb.d.ts.map → code-block-wrapper-BM4jRJHq.d.ts.map} +1 -1
  25. package/dist/{code-block-wrapper-XLG-BrIs.js → code-block-wrapper-BNMwGoo7.js} +1 -1
  26. package/dist/{code-block-wrapper-XLG-BrIs.js.map → code-block-wrapper-BNMwGoo7.js.map} +1 -1
  27. package/dist/code-preview--lq9QGa0.js +2 -0
  28. package/dist/code-preview--lq9QGa0.js.map +1 -0
  29. package/dist/{code-preview-D5Og4Jk3.d.ts → code-preview-DST_xvt7.d.ts} +3 -3
  30. package/dist/{code-preview-D5Og4Jk3.d.ts.map → code-preview-DST_xvt7.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-D4LwSLnr.d.ts +7 -0
  38. package/dist/command-menu-D4LwSLnr.d.ts.map +1 -0
  39. package/dist/{component-preview-D2UaIsBZ.d.ts → component-preview-K8cndl5t.d.ts} +4 -4
  40. package/dist/component-preview-K8cndl5t.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-Ch59vA1U.d.ts +16 -0
  46. package/dist/component-source-Ch59vA1U.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.js +1 -1
  130. package/dist/components/mdx/mdx-runtime.d.ts +11 -0
  131. package/dist/components/mdx/mdx-runtime.d.ts.map +1 -0
  132. package/dist/components/mdx/mdx-runtime.js +1 -0
  133. package/dist/components/mdx/mdx.d.ts +1 -1
  134. package/dist/components/mdx/mdx.js +1 -1
  135. package/dist/components/mobile-nav.d.ts +1 -1
  136. package/dist/components/mobile-nav.js +1 -1
  137. package/dist/components/mode-toggle.d.ts +1 -1
  138. package/dist/components/mode-toggle.js +1 -1
  139. package/dist/components/page-header.d.ts +1 -1
  140. package/dist/components/page-header.js +1 -1
  141. package/dist/components/providers.d.ts +1 -1
  142. package/dist/components/providers.js +1 -1
  143. package/dist/components/style-switcher.d.ts +2 -0
  144. package/dist/components/style-switcher.js +1 -0
  145. package/dist/components-list-COrPlZeD.d.ts +12 -0
  146. package/dist/{components-list-VYl4HAYt.d.ts.map → components-list-COrPlZeD.d.ts.map} +1 -1
  147. package/dist/{components-list-DiOUxZd_.js → components-list-Cg9ggVyv.js} +2 -2
  148. package/dist/{components-list-DiOUxZd_.js.map → components-list-Cg9ggVyv.js.map} +1 -1
  149. package/dist/context/context.d.ts +1 -1
  150. package/dist/context/context.js +1 -1
  151. package/dist/context/context.types.d.ts +1 -1
  152. package/dist/context/index.d.ts +3 -3
  153. package/dist/context/index.js +1 -1
  154. package/dist/{context-CibrcgaK.js → context-Bu-bPlyW.js} +1 -1
  155. package/dist/{context-CibrcgaK.js.map → context-Bu-bPlyW.js.map} +1 -1
  156. package/dist/{context-C656KJNk.d.ts → context-jLJ1ef7m.d.ts} +4 -4
  157. package/dist/{context-C656KJNk.d.ts.map → context-jLJ1ef7m.d.ts.map} +1 -1
  158. package/dist/{context.types-KUK2rNdz.d.ts → context.types-pTQ85uw2.d.ts} +6 -2
  159. package/dist/context.types-pTQ85uw2.d.ts.map +1 -0
  160. package/dist/copy-button-CCqEsELt.d.ts +20 -0
  161. package/dist/copy-button-CCqEsELt.d.ts.map +1 -0
  162. package/dist/copy-button-Ccbj3Omt.js +2 -0
  163. package/dist/copy-button-Ccbj3Omt.js.map +1 -0
  164. package/dist/create-collection-S3CvffX1-DA20ZU15.js +2 -0
  165. package/dist/create-collection-S3CvffX1-DA20ZU15.js.map +1 -0
  166. package/dist/dialog-68QLl2rI.js +4 -0
  167. package/dist/dialog-68QLl2rI.js.map +1 -0
  168. package/dist/direction-B-anGbxM-BdqxtlGV.js +2 -0
  169. package/dist/direction-B-anGbxM-BdqxtlGV.js.map +1 -0
  170. package/dist/{dist-DfVBUGvk.js → dist-BEBzXlAF.js} +1 -1
  171. package/dist/{dist-DfVBUGvk.js.map → dist-BEBzXlAF.js.map} +1 -1
  172. package/dist/docs-copy-page-CPk7TsfY.js +2 -0
  173. package/dist/docs-copy-page-CPk7TsfY.js.map +1 -0
  174. package/dist/{docs-copy-page-BEtbT7qX.d.ts → docs-copy-page-Dr_nxgGI.d.ts} +3 -3
  175. package/dist/docs-copy-page-Dr_nxgGI.d.ts.map +1 -0
  176. package/dist/{docs-pager-BFx4yEm-.d.ts → docs-pager-B8tRIKlg.d.ts} +6 -6
  177. package/dist/{docs-pager-BFx4yEm-.d.ts.map → docs-pager-B8tRIKlg.d.ts.map} +1 -1
  178. package/dist/docs-pager-mprD1O3r.js +2 -0
  179. package/dist/docs-pager-mprD1O3r.js.map +1 -0
  180. package/dist/docs-sidebar-DY2ybOuM.js +2 -0
  181. package/dist/docs-sidebar-DY2ybOuM.js.map +1 -0
  182. package/dist/docs-sidebar-DfybXB8i.d.ts +43 -0
  183. package/dist/docs-sidebar-DfybXB8i.d.ts.map +1 -0
  184. package/dist/docs-toc-D-y66YCw.d.ts +13 -0
  185. package/dist/docs-toc-D-y66YCw.d.ts.map +1 -0
  186. package/dist/docs-toc-hcordVHk.js +2 -0
  187. package/dist/docs-toc-hcordVHk.js.map +1 -0
  188. package/dist/drawer-kwSiurIF.js +8 -0
  189. package/dist/drawer-kwSiurIF.js.map +1 -0
  190. package/dist/{events-CFVHB4m8.d.ts → events-CQ5HMYtp.d.ts} +1 -1
  191. package/dist/{events-CFVHB4m8.d.ts.map → events-CQ5HMYtp.d.ts.map} +1 -1
  192. package/dist/{events-DHlTM_S_.js → events-Tn9hD65k.js} +1 -1
  193. package/dist/{events-DHlTM_S_.js.map → events-Tn9hD65k.js.map} +1 -1
  194. package/dist/{figcaption-block-DfyvzBoz.d.ts → figcaption-block-BywypQCe.d.ts} +3 -3
  195. package/dist/figcaption-block-BywypQCe.d.ts.map +1 -0
  196. package/dist/figcaption-block-RFNt1OSv.js +2 -0
  197. package/dist/figcaption-block-RFNt1OSv.js.map +1 -0
  198. package/dist/hast-properties-C103K0PZ.js +2 -0
  199. package/dist/hast-properties-C103K0PZ.js.map +1 -0
  200. package/dist/{header-shell-DG6EtZSb.d.ts → header-shell-DkmS4hnL.d.ts} +7 -7
  201. package/dist/header-shell-DkmS4hnL.d.ts.map +1 -0
  202. package/dist/{header-shell-BnhiboVH.js → header-shell-PLI5ZAwI.js} +2 -2
  203. package/dist/header-shell-PLI5ZAwI.js.map +1 -0
  204. package/dist/hooks/index.d.ts +7 -7
  205. package/dist/hooks/index.js +1 -1
  206. package/dist/hooks/use-colors.d.ts +2 -2
  207. package/dist/hooks/use-colors.js +1 -1
  208. package/dist/hooks/use-config.d.ts +1 -1
  209. package/dist/hooks/use-config.js +1 -1
  210. package/dist/hooks/use-lift-mode.d.ts +1 -1
  211. package/dist/hooks/use-lift-mode.js +1 -1
  212. package/dist/hooks/use-meta-colors.d.ts +1 -1
  213. package/dist/hooks/use-meta-colors.js +1 -1
  214. package/dist/hooks/use-mounted.d.ts +1 -1
  215. package/dist/hooks/use-mounted.js +1 -1
  216. package/dist/hooks/use-themes-config.d.ts +1 -1
  217. package/dist/hooks/use-themes-config.js +1 -1
  218. package/dist/icons-DyZHG9BC.d.ts +33 -0
  219. package/dist/icons-DyZHG9BC.d.ts.map +1 -0
  220. package/dist/icons-dASZ3daW.js +2 -0
  221. package/dist/icons-dASZ3daW.js.map +1 -0
  222. package/dist/index-B94w2qPS.d.ts +17 -0
  223. package/dist/index-B94w2qPS.d.ts.map +1 -0
  224. package/dist/{index-C2_c9Mqo.d.ts → index-CdFFVx85.d.ts} +5 -13
  225. package/dist/index-CdFFVx85.d.ts.map +1 -0
  226. package/dist/index.d.ts +12 -11
  227. package/dist/index.js +1 -1
  228. package/dist/lib/charts.d.ts +1 -1
  229. package/dist/lib/charts.js +1 -1
  230. package/dist/lib/colors.d.ts +1 -1
  231. package/dist/lib/colors.js +1 -1
  232. package/dist/lib/events.d.ts +1 -1
  233. package/dist/lib/events.js +1 -1
  234. package/dist/lib/index.d.ts +6 -5
  235. package/dist/lib/index.js +1 -1
  236. package/dist/lib/registry-colors-data.js +1 -1
  237. package/dist/lib/registry-styles.d.ts +1 -1
  238. package/dist/lib/registry-styles.js +1 -1
  239. package/dist/lib/themes.d.ts +1 -1
  240. package/dist/lib/themes.js +1 -1
  241. package/dist/lib/utils.d.ts +1 -1
  242. package/dist/lib/utils.js +1 -1
  243. package/dist/list-navigation-LJg-1TD2-DsfZPowW.js +2 -0
  244. package/dist/list-navigation-LJg-1TD2-DsfZPowW.js.map +1 -0
  245. package/dist/main-nav-vyEIJEhN.d.ts +7 -0
  246. package/dist/main-nav-vyEIJEhN.d.ts.map +1 -0
  247. package/dist/mdx-Cjg68fQA.d.ts +12 -0
  248. package/dist/mdx-Cjg68fQA.d.ts.map +1 -0
  249. package/dist/mdx-D0Kp6lsv.js +2 -0
  250. package/dist/mdx-D0Kp6lsv.js.map +1 -0
  251. package/dist/mdx-components-base-CXqWNN8M.js +2 -0
  252. package/dist/mdx-components-base-CXqWNN8M.js.map +1 -0
  253. package/dist/mdx-components-registry-C12f6wSV.js +2 -0
  254. package/dist/mdx-components-registry-C12f6wSV.js.map +1 -0
  255. package/dist/mdx-components-ui-Cp73cCYd.js +2 -0
  256. package/dist/mdx-components-ui-Cp73cCYd.js.map +1 -0
  257. package/dist/{mdx-icons-BH4zLUw0.js → mdx-icons-Duo8BbOA.js} +1 -1
  258. package/dist/{mdx-icons-BH4zLUw0.js.map → mdx-icons-Duo8BbOA.js.map} +1 -1
  259. package/dist/mdx-runtime-BeG80qPS.js +2 -0
  260. package/dist/mdx-runtime-BeG80qPS.js.map +1 -0
  261. package/dist/mdx-runtime-DjYaVtmv.d.ts +23 -0
  262. package/dist/mdx-runtime-DjYaVtmv.d.ts.map +1 -0
  263. package/dist/{mermaid-block-DOJ68HFE.d.ts → mermaid-block--sl7UWp2.d.ts} +3 -3
  264. package/dist/{mermaid-block-DOJ68HFE.d.ts.map → mermaid-block--sl7UWp2.d.ts.map} +1 -1
  265. package/dist/mermaid-block-zasLfGio.js +12 -0
  266. package/dist/mermaid-block-zasLfGio.js.map +1 -0
  267. package/dist/metadata-plugin-BL84sQM5.d.ts +8 -0
  268. package/dist/metadata-plugin-BL84sQM5.d.ts.map +1 -0
  269. package/dist/metadata-plugin-DA7OesoA.js +2 -0
  270. package/dist/metadata-plugin-DA7OesoA.js.map +1 -0
  271. package/dist/metadata-utils-C_8CcvsG.js +2 -0
  272. package/dist/metadata-utils-C_8CcvsG.js.map +1 -0
  273. package/dist/mobile-nav-CRH545YU.d.ts +7 -0
  274. package/dist/mobile-nav-CRH545YU.d.ts.map +1 -0
  275. package/dist/mobile-nav-rBOCLILt.js +2 -0
  276. package/dist/mobile-nav-rBOCLILt.js.map +1 -0
  277. package/dist/mode-toggle-CNBqTwkg.d.ts +7 -0
  278. package/dist/mode-toggle-CNBqTwkg.d.ts.map +1 -0
  279. package/dist/mode-toggle-DhgB9p1I.js +2 -0
  280. package/dist/mode-toggle-DhgB9p1I.js.map +1 -0
  281. package/dist/mount-CoAqNcc6.js +2 -0
  282. package/dist/mount-CoAqNcc6.js.map +1 -0
  283. package/dist/{nav-B2NAfb21.d.ts → nav-B0m_RJfC.d.ts} +3 -1
  284. package/dist/nav-B0m_RJfC.d.ts.map +1 -0
  285. package/dist/{page-header-h4wXUkUH.d.ts → page-header-BNqr7gpZ.d.ts} +6 -6
  286. package/dist/{page-header-h4wXUkUH.d.ts.map → page-header-BNqr7gpZ.d.ts.map} +1 -1
  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/portal-BNuCvTAR-DDrsnIMA.js +2 -0
  290. package/dist/portal-BNuCvTAR-DDrsnIMA.js.map +1 -0
  291. package/dist/pre-block-Bt_9UuCv.js +2 -0
  292. package/dist/pre-block-Bt_9UuCv.js.map +1 -0
  293. package/dist/pre-block-DvvPHwIA.d.ts +19 -0
  294. package/dist/pre-block-DvvPHwIA.d.ts.map +1 -0
  295. package/dist/{providers-Do13WJMr.d.ts → providers-BI7hm1su.d.ts} +3 -3
  296. package/dist/providers-BI7hm1su.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/{registry-colors-data-tROJGGvk.js → registry-colors-data-C5Xv_bOz.js} +1 -1
  300. package/dist/{registry-colors-data-tROJGGvk.js.map → registry-colors-data-C5Xv_bOz.js.map} +1 -1
  301. package/dist/{registry-styles-DACce7ra.d.ts → registry-styles-Boe9P1LO.d.ts} +1 -1
  302. package/dist/{registry-styles-DACce7ra.d.ts.map → registry-styles-Boe9P1LO.d.ts.map} +1 -1
  303. package/dist/{registry-styles-Bby12FIz.js → registry-styles-DwoJ9Qa9.js} +1 -1
  304. package/dist/{registry-styles-Bby12FIz.js.map → registry-styles-DwoJ9Qa9.js.map} +1 -1
  305. package/dist/{rehype-mermaid-gkaeJtqn.js → rehype-mermaid-Ctag2Ywx.js} +1 -1
  306. package/dist/{rehype-mermaid-gkaeJtqn.js.map → rehype-mermaid-Ctag2Ywx.js.map} +1 -1
  307. package/dist/{rehype-mermaid-kjf2DmAC.d.ts → rehype-mermaid-DPZ6UzOu.d.ts} +2 -2
  308. package/dist/rehype-mermaid-DPZ6UzOu.d.ts.map +1 -0
  309. package/dist/rehype-npm-command-0W5WqcQY.js +2 -0
  310. package/dist/rehype-npm-command-0W5WqcQY.js.map +1 -0
  311. package/dist/{rehype-npm-command-C7BP6nqi.d.ts → rehype-npm-command-khRZrj_X.d.ts} +2 -2
  312. package/dist/rehype-npm-command-khRZrj_X.d.ts.map +1 -0
  313. package/dist/{rehype-pre-block-source-zKoXg4aL.d.ts → rehype-pre-block-source-0UyWe2hh.d.ts} +2 -2
  314. package/dist/rehype-pre-block-source-0UyWe2hh.d.ts.map +1 -0
  315. package/dist/rehype-pre-block-source-paX7yPQ4.js +2 -0
  316. package/dist/rehype-pre-block-source-paX7yPQ4.js.map +1 -0
  317. package/dist/{rehype-title-TRUGszot.js → rehype-title-CB9V-h9I.js} +1 -1
  318. package/dist/{rehype-title-TRUGszot.js.map → rehype-title-CB9V-h9I.js.map} +1 -1
  319. package/dist/{rehype-title-umwuNb2D.d.ts → rehype-title-CTj31zR2.d.ts} +2 -2
  320. package/dist/rehype-title-CTj31zR2.d.ts.map +1 -0
  321. package/dist/scroll-area-DwfrxxQ_.js +2 -0
  322. package/dist/scroll-area-DwfrxxQ_.js.map +1 -0
  323. package/dist/separator-BL4VUMvX.js +2 -0
  324. package/dist/separator-BL4VUMvX.js.map +1 -0
  325. package/dist/shared-utils-DqLwMUcj-Cs7um3C7.js +2 -0
  326. package/dist/shared-utils-DqLwMUcj-Cs7um3C7.js.map +1 -0
  327. package/dist/shell-command-BQkaAnLc.js +2 -0
  328. package/dist/shell-command-BQkaAnLc.js.map +1 -0
  329. package/dist/site-footer-By5G_jLv.d.ts +8 -0
  330. package/dist/site-footer-By5G_jLv.d.ts.map +1 -0
  331. package/dist/site-footer-DoVwgNqf.js +2 -0
  332. package/dist/site-footer-DoVwgNqf.js.map +1 -0
  333. package/dist/site-header-BiFOBrXI.js +2 -0
  334. package/dist/site-header-BiFOBrXI.js.map +1 -0
  335. package/dist/site-header-lVtvm8N5.d.ts +8 -0
  336. package/dist/site-header-lVtvm8N5.d.ts.map +1 -0
  337. package/dist/slot-B-X2-pKU-DOhFF3E_.js +2 -0
  338. package/dist/slot-B-X2-pKU-DOhFF3E_.js.map +1 -0
  339. package/dist/style-switcher-B0i_slue.d.ts +15 -0
  340. package/dist/style-switcher-B0i_slue.d.ts.map +1 -0
  341. package/dist/style-switcher-BFkgsXlx.js +2 -0
  342. package/dist/style-switcher-BFkgsXlx.js.map +1 -0
  343. package/dist/styles/base.css +12 -12
  344. package/dist/styles/docs.css +14 -1
  345. package/dist/styles/mdx-base.css +27 -0
  346. package/dist/styles/mdx-code.css +142 -0
  347. package/dist/styles/mdx-extensions.css +3 -0
  348. package/dist/styles/mdx-typography.css +27 -0
  349. package/dist/styles/mdx.css +4 -197
  350. package/dist/table-5xep6A9Y.d.ts +22 -0
  351. package/dist/table-5xep6A9Y.d.ts.map +1 -0
  352. package/dist/table-E1lSNeuD.js +2 -0
  353. package/dist/table-E1lSNeuD.js.map +1 -0
  354. package/dist/tabs-BJcH-Dvh.d.ts +43 -0
  355. package/dist/tabs-BJcH-Dvh.d.ts.map +1 -0
  356. package/dist/{tabs-Cvy3-KIA.js → tabs-BonSZ_0a.js} +2 -2
  357. package/dist/tabs-BonSZ_0a.js.map +1 -0
  358. package/dist/tabs-CrZf6_5d.js +2 -0
  359. package/dist/tabs-CrZf6_5d.js.map +1 -0
  360. package/dist/tailwind-indicator-DoT2AWBN.d.ts +7 -0
  361. package/dist/tailwind-indicator-DoT2AWBN.d.ts.map +1 -0
  362. package/dist/{tailwind-indicator-Dt4Bfpta.js → tailwind-indicator-z53_j-ZR.js} +1 -1
  363. package/dist/tailwind-indicator-z53_j-ZR.js.map +1 -0
  364. package/dist/{themes-BzMklu0h.js → themes-DSmnGG_O.js} +2 -2
  365. package/dist/{themes-BzMklu0h.js.map → themes-DSmnGG_O.js.map} +1 -1
  366. package/dist/{themes-Ba683LGu.d.ts → themes-M1nDuQoV.d.ts} +1 -1
  367. package/dist/{themes-Ba683LGu.d.ts.map → themes-M1nDuQoV.d.ts.map} +1 -1
  368. package/dist/{typepography-CLdrb7_b.js → typepography-Bn-ZmO71.js} +1 -1
  369. package/dist/{typepography-CLdrb7_b.js.map → typepography-Bn-ZmO71.js.map} +1 -1
  370. package/dist/{typepography-BdIMY3Y2.d.ts → typepography-D0UONiAu.d.ts} +13 -13
  371. package/dist/{typepography-BdIMY3Y2.d.ts.map → typepography-D0UONiAu.d.ts.map} +1 -1
  372. package/dist/types/index.d.ts +5 -4
  373. package/dist/types/mdx-runtime.d.ts +2 -0
  374. package/dist/types/nav.d.ts +1 -1
  375. package/dist/types/unist.d.ts +2 -1
  376. package/dist/types-DsWNixhq.d.ts +14 -0
  377. package/dist/types-DsWNixhq.d.ts.map +1 -0
  378. package/dist/typography-BcEByhvR.js +0 -0
  379. package/dist/unist-Dtu3x3-k.js +0 -0
  380. package/dist/unist-q3NIH9ya.d.ts +29 -0
  381. package/dist/unist-q3NIH9ya.d.ts.map +1 -0
  382. package/dist/{use-colors-tvFBbu3S.d.ts → use-colors-BF9FOADD.d.ts} +3 -3
  383. package/dist/use-colors-BF9FOADD.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-config-DViAkW1f.js → use-config-CkoOe8Fw.js} +1 -1
  387. package/dist/{use-config-DViAkW1f.js.map → use-config-CkoOe8Fw.js.map} +1 -1
  388. package/dist/{use-config-DlgXRPaN.d.ts → use-config-DKOEW76q.d.ts} +4 -4
  389. package/dist/{use-config-DlgXRPaN.d.ts.map → use-config-DKOEW76q.d.ts.map} +1 -1
  390. package/dist/{use-lift-mode-CqcC0vis.js → use-lift-mode-CRK6jO9I.js} +1 -1
  391. package/dist/{use-lift-mode-CqcC0vis.js.map → use-lift-mode-CRK6jO9I.js.map} +1 -1
  392. package/dist/{use-lift-mode-DEELjsRA.d.ts → use-lift-mode-DAQuqoIt.d.ts} +1 -1
  393. package/dist/use-lift-mode-DAQuqoIt.d.ts.map +1 -0
  394. package/dist/{use-meta-colors-CkNbJTgD.d.ts → use-meta-colors-Dlzg21A8.d.ts} +1 -1
  395. package/dist/use-meta-colors-Dlzg21A8.d.ts.map +1 -0
  396. package/dist/{use-meta-colors-B7HIXaHI.js → use-meta-colors-ye3z03RL.js} +2 -2
  397. package/dist/{use-meta-colors-B7HIXaHI.js.map → use-meta-colors-ye3z03RL.js.map} +1 -1
  398. package/dist/{use-mounted-gdBJPRp0.js → use-mounted-Bi7J0dBb.js} +1 -1
  399. package/dist/{use-mounted-gdBJPRp0.js.map → use-mounted-Bi7J0dBb.js.map} +1 -1
  400. package/dist/{use-mounted-BtOuPtMk.d.ts → use-mounted-CqC1Le-n.d.ts} +1 -1
  401. package/dist/use-mounted-CqC1Le-n.d.ts.map +1 -0
  402. package/dist/use-themes-config-I8d5A3YB.d.ts +14 -0
  403. package/dist/use-themes-config-I8d5A3YB.d.ts.map +1 -0
  404. package/dist/{use-themes-config-BRcxOF-M.js → use-themes-config-t4NBMHl1.js} +2 -2
  405. package/dist/{use-themes-config-BRcxOF-M.js.map → use-themes-config-t4NBMHl1.js.map} +1 -1
  406. package/dist/{utils-gls3XPIE.d.ts → utils-BGWVtLBe.d.ts} +1 -1
  407. package/dist/utils-BGWVtLBe.d.ts.map +1 -0
  408. package/dist/utils-CN0aIGfJ.js +2 -0
  409. package/dist/utils-CN0aIGfJ.js.map +1 -0
  410. package/dist/velite/browser.d.ts +2 -1
  411. package/dist/velite/browser.d.ts.map +1 -1
  412. package/dist/velite/browser.js +1 -1
  413. package/dist/velite/browser.js.map +1 -1
  414. package/dist/velite/config.d.ts.map +1 -1
  415. package/dist/velite/config.js +1 -1
  416. package/dist/velite/config.js.map +1 -1
  417. package/dist/velite/index.d.ts +8 -8
  418. package/dist/velite/index.js +1 -1
  419. package/dist/velite/plugins/hast-properties.d.ts +9 -0
  420. package/dist/velite/plugins/hast-properties.d.ts.map +1 -0
  421. package/dist/velite/plugins/hast-properties.js +1 -0
  422. package/dist/velite/plugins/index.d.ts +8 -8
  423. package/dist/velite/plugins/index.js +1 -1
  424. package/dist/velite/plugins/metadata-plugin.d.ts +4 -4
  425. package/dist/velite/plugins/metadata-plugin.js +1 -1
  426. package/dist/velite/plugins/metadata-utils.d.ts +9 -0
  427. package/dist/velite/plugins/metadata-utils.d.ts.map +1 -0
  428. package/dist/velite/plugins/metadata-utils.js +1 -0
  429. package/dist/velite/plugins/rehype-mermaid.d.ts +3 -3
  430. package/dist/velite/plugins/rehype-mermaid.js +1 -1
  431. package/dist/velite/plugins/rehype-npm-command.d.ts +3 -3
  432. package/dist/velite/plugins/rehype-npm-command.js +1 -1
  433. package/dist/velite/plugins/rehype-pre-block-source.d.ts +3 -3
  434. package/dist/velite/plugins/rehype-pre-block-source.js +1 -1
  435. package/dist/velite/plugins/rehype-title.d.ts +3 -3
  436. package/dist/velite/plugins/rehype-title.js +1 -1
  437. package/dist/visibility-hidden-CAHx9RLp-CN32k1Im.js +2 -0
  438. package/dist/visibility-hidden-CAHx9RLp-CN32k1Im.js.map +1 -0
  439. package/package.json +14 -16
  440. package/src/client.ts +0 -0
  441. package/src/components/copy-button.tsx +54 -0
  442. package/src/components/docs/docs-copy-page.tsx +161 -46
  443. package/src/components/docs/docs-pager.tsx +22 -12
  444. package/src/components/docs/docs-sidebar.tsx +194 -29
  445. package/src/components/docs/docs-toc.tsx +229 -54
  446. package/src/components/docs/index.ts +0 -0
  447. package/src/components/icons.tsx +13 -25
  448. package/src/components/index.ts +1 -1
  449. package/src/components/layouts/command-menu.tsx +491 -0
  450. package/src/components/layouts/{site-header/header-shell.tsx → header-shell.tsx} +2 -2
  451. package/src/components/layouts/{site-footer/index.tsx → site-footer.tsx} +10 -7
  452. package/src/components/layouts/site-header.tsx +178 -0
  453. package/src/components/main-nav.tsx +3 -2
  454. package/src/components/mdx/ARCHITECTURE.md +61 -0
  455. package/src/components/mdx/mdx-component-registry.types.ts +5 -0
  456. package/src/components/mdx/mdx-components/callout.tsx +10 -10
  457. package/src/components/mdx/mdx-components/code/code-preview.tsx +7 -4
  458. package/src/components/mdx/mdx-components/code/component-preview.tsx +59 -27
  459. package/src/components/mdx/mdx-components/code/component-source.tsx +49 -21
  460. package/src/components/mdx/mdx-components/code/figcaption-block.tsx +2 -8
  461. package/src/components/mdx/mdx-components/code/mermaid-block.tsx +5 -3
  462. package/src/components/mdx/mdx-components/code/pre-block/index.ts +1 -0
  463. package/src/components/mdx/mdx-components/code/pre-block/pre-block.tsx +52 -0
  464. package/src/components/mdx/mdx-components/code/{pre-block.tsx → pre-block/shell-command.tsx} +4 -58
  465. package/src/components/mdx/mdx-components/code/pre-block/types.ts +10 -0
  466. package/src/components/mdx/mdx-components/components-list.tsx +0 -0
  467. package/src/components/mdx/mdx-components/index.ts +1 -2
  468. package/src/components/mdx/mdx-components/table.tsx +36 -27
  469. package/src/components/mdx/mdx-components/tabs.tsx +5 -2
  470. package/src/components/mdx/mdx-components/typography.tsx +1 -0
  471. package/src/components/mdx/mdx-components-base.tsx +81 -0
  472. package/src/components/mdx/mdx-components-registry.ts +8 -0
  473. package/src/components/mdx/mdx-components-ui.tsx +21 -0
  474. package/src/components/mdx/mdx-icons.ts +0 -0
  475. package/src/components/mdx/mdx-runtime.ts +10 -0
  476. package/src/components/mdx/mdx.tsx +3 -103
  477. package/src/components/mobile-nav.tsx +57 -22
  478. package/src/components/mode-toggle.tsx +4 -4
  479. package/src/components/providers.tsx +0 -1
  480. package/src/components/{themes/style-switcher.tsx → style-switcher.tsx} +5 -2
  481. package/src/context/context.tsx +0 -0
  482. package/src/context/context.types.ts +4 -0
  483. package/src/context/index.ts +0 -0
  484. package/src/hooks/index.ts +0 -0
  485. package/src/lib/index.ts +0 -0
  486. package/src/lib/registry-styles.ts +0 -0
  487. package/src/lib/utils.ts +7 -1
  488. package/src/styles/base.css +12 -12
  489. package/src/styles/docs.css +14 -1
  490. package/src/styles/mdx-base.css +27 -0
  491. package/src/styles/mdx-code.css +142 -0
  492. package/src/styles/mdx-extensions.css +3 -0
  493. package/src/styles/mdx-typography.css +27 -0
  494. package/src/styles/mdx.css +4 -197
  495. package/src/types/index.ts +1 -0
  496. package/src/types/mdx-runtime.ts +21 -0
  497. package/src/types/nav.ts +2 -0
  498. package/src/types/unist.ts +5 -19
  499. package/src/velite/browser.ts +1 -0
  500. package/src/velite/config.ts +56 -38
  501. package/src/velite/index.ts +0 -0
  502. package/src/velite/plugins/hast-properties.ts +12 -0
  503. package/src/velite/plugins/index.ts +0 -0
  504. package/src/velite/plugins/metadata-plugin.ts +14 -11
  505. package/src/velite/plugins/metadata-utils.ts +14 -0
  506. package/src/velite/plugins/rehype-mermaid.ts +0 -0
  507. package/src/velite/plugins/rehype-npm-command.ts +24 -22
  508. package/src/velite/plugins/rehype-pre-block-source.ts +6 -4
  509. package/src/velite/plugins/rehype-title.ts +0 -0
  510. package/src/velite/utils.ts +0 -0
  511. package/dist/button-Ao0Egplu.js +0 -2
  512. package/dist/button-Ao0Egplu.js.map +0 -1
  513. package/dist/callout-C1MveMtC.d.ts +0 -20
  514. package/dist/callout-C1MveMtC.d.ts.map +0 -1
  515. package/dist/callout-ChU_uu_5.js +0 -2
  516. package/dist/callout-ChU_uu_5.js.map +0 -1
  517. package/dist/charts-Cyick3Tp.d.ts.map +0 -1
  518. package/dist/chunk-BPpoHddQ-DLGSIJHp.js +0 -2
  519. package/dist/chunk-BPpoHddQ-DLGSIJHp.js.map +0 -1
  520. package/dist/code-block-BNW0BxR6.d.ts.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/use-themes-config-Dtk_egkh.d.ts +0 -14
  680. package/dist/use-themes-config-Dtk_egkh.d.ts.map +0 -1
  681. package/dist/utils-Ck5VSddf.js +0 -2
  682. package/dist/utils-Ck5VSddf.js.map +0 -1
  683. package/dist/utils-gls3XPIE.d.ts.map +0 -1
  684. package/src/components/copy-button/copy-button.tsx +0 -88
  685. package/src/components/copy-button/copy-button.types.ts +0 -17
  686. package/src/components/copy-button/index.ts +0 -2
  687. package/src/components/layouts/command-menu/command-menu.tsx +0 -166
  688. package/src/components/layouts/command-menu/index.ts +0 -1
  689. package/src/components/layouts/site-header/index.tsx +0 -127
  690. package/src/components/mdx/mdx-components/framework-docs.tsx +0 -20
  691. package/src/components/themes/index.ts +0 -1
  692. /package/dist/{code-CRijMbf8.js → code-B8oMaOlf.js} +0 -0
  693. /package/dist/{command-menu-DJNwkpf0.js → components/mdx/mdx-component-registry.types.js} +0 -0
  694. /package/dist/components/{copy-button/copy-button.types.js → mdx/mdx-components/code/pre-block/types.js} +0 -0
  695. /package/dist/{context-DAoDXLlH.js → context-BC4O8IkN.js} +0 -0
  696. /package/dist/{context.types-XX-41b7E.js → context.types-xqn674mu.js} +0 -0
  697. /package/dist/{copy-button-BKOhlef4.js → direction-BgdQqJSh.js} +0 -0
  698. /package/dist/{copy-button.types-B9s047di.js → docs-BxKlMynn.js} +0 -0
  699. /package/dist/{index-2DqdDmQN.d.ts → index-2ODhJ4PF.d.ts} +0 -0
  700. /package/dist/{index-CGglgRYd.d.ts → index-BCvK1fdV.d.ts} +0 -0
  701. /package/dist/{index-CX84Uo3j.d.ts → index-BOXZdgrl.d.ts} +0 -0
  702. /package/dist/{index-DOo6j0yP.d.ts → index-CDXWDYLH.d.ts} +0 -0
  703. /package/dist/{index-DUfvqU8v.d.ts → index-CEmd2iJF.d.ts} +0 -0
  704. /package/dist/{index-DlpwrdjG.d.ts → index-CMgWXPTi.d.ts} +0 -0
  705. /package/dist/{index-DxmiBoAj.d.ts → index-J4eIjbSW.d.ts} +0 -0
  706. /package/dist/{index-DzZbxTJ5.d.ts → index-PiDlmF8F.d.ts} +0 -0
  707. /package/dist/{docs-BXWvl6Zg.js → layouts-CZzkzPUj.js} +0 -0
  708. /package/dist/{layouts-MJSz-Ia5.js → mdx-components-DVXN21iW.js} +0 -0
  709. /package/dist/{mdx-components-Bvz2OZPf.js → mdx-runtime-8ZPauNCe.js} +0 -0
  710. /package/dist/{nav-CVNxjtXM.js → nav-n66GykpT.js} +0 -0
  711. /package/dist/{themes-k-j3m6gv.js → pre-block-B4y5yM69.js} +0 -0
  712. /package/dist/{unist-C_C48flD.js → types/mdx-runtime.js} +0 -0
  713. /package/dist/{index-MPFNOj9E.d.ts → typography-BjwZeImL.d.ts} +0 -0
  714. /package/src/components/layouts/{tailwind-indicator/index.tsx → tailwind-indicator.tsx} +0 -0
@@ -0,0 +1,178 @@
1
+ 'use client'
2
+
3
+ import { MainNav } from '@duck-docs/components/main-nav'
4
+ import { ModeSwitcher } from '@duck-docs/components/mode-toggle'
5
+ import { useSiteConfig } from '@duck-docs/context'
6
+ import { cn } from '@gentleduck/libs/cn'
7
+ import { buttonVariants } from '@gentleduck/registry-ui/button'
8
+ import { useAtom } from 'jotai'
9
+ import { atomWithStorage } from 'jotai/utils'
10
+ import { CaseUpper, Github, Twitter, Type } from 'lucide-react'
11
+ import Link from 'next/link'
12
+ import React from 'react'
13
+ import { HeaderContainer, HeaderRoot } from './header-shell'
14
+
15
+ const CommandMenu = React.lazy(() =>
16
+ import('@duck-docs/components/layouts/command-menu').then((m) => ({ default: m.CommandMenu })),
17
+ )
18
+ const MobileNav = React.lazy(() => import('@duck-docs/components/mobile-nav').then((m) => ({ default: m.MobileNav })))
19
+
20
+ export function SiteHeader() {
21
+ const siteConfig = useSiteConfig()
22
+
23
+ return (
24
+ <HeaderRoot className="border-border/50 border-b bg-background/95 backdrop-blur-sm supports-[backdrop-filter]:bg-background/70">
25
+ <HeaderContainer>
26
+ <MainNav />
27
+ <React.Suspense fallback={null}>
28
+ <MobileNav />
29
+ </React.Suspense>
30
+ <div className="flex flex-1 items-center justify-between space-x-2 md:justify-end">
31
+ <div className="w-full flex-1 md:w-auto md:flex-none">
32
+ <React.Suspense
33
+ fallback={
34
+ <div
35
+ className={cn(
36
+ buttonVariants({ size: 'sm', variant: 'outline' }),
37
+ 'relative h-8 w-full bg-muted/50 text-muted-foreground text-sm shadow-none md:w-40 lg:w-64',
38
+ )}>
39
+ <span className="hidden lg:inline-flex">Search documentation...</span>
40
+ <span className="inline-flex lg:hidden">Search...</span>
41
+ </div>
42
+ }>
43
+ <CommandMenu />
44
+ </React.Suspense>
45
+ </div>
46
+ <nav aria-label="Social and settings" className="flex items-center">
47
+ <GitHubStarsButton />
48
+ <FontStyleButton />
49
+ {siteConfig.links?.discord ? (
50
+ <Link
51
+ aria-label="Discord (opens in a new tab)"
52
+ href={siteConfig.links.discord}
53
+ rel="noreferrer"
54
+ target="_blank">
55
+ <div
56
+ className={cn(
57
+ buttonVariants({
58
+ size: 'icon',
59
+ variant: 'ghost',
60
+ }),
61
+ )}>
62
+ <svg
63
+ aria-hidden="true"
64
+ className="size-4"
65
+ fill="currentColor"
66
+ viewBox="0 0 24 24"
67
+ xmlns="http://www.w3.org/2000/svg">
68
+ <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" />
69
+ </svg>
70
+ </div>
71
+ </Link>
72
+ ) : null}
73
+ {siteConfig.links?.twitter ? (
74
+ <Link
75
+ aria-label="Twitter (opens in a new tab)"
76
+ href={siteConfig.links.twitter}
77
+ rel="noreferrer"
78
+ target="_blank">
79
+ <div
80
+ className={cn(
81
+ buttonVariants({
82
+ size: 'icon',
83
+ variant: 'ghost',
84
+ }),
85
+ )}>
86
+ <Twitter aria-hidden="true" />
87
+ </div>
88
+ </Link>
89
+ ) : null}
90
+ <ModeSwitcher />
91
+ </nav>
92
+ </div>
93
+ </HeaderContainer>
94
+ </HeaderRoot>
95
+ )
96
+ }
97
+
98
+ function GitHubStarsButton() {
99
+ const [stars, setStars] = React.useState<number | null>(null)
100
+ const siteConfig = useSiteConfig()
101
+ const repoFromUrl = siteConfig.links?.github?.replace('https://github.com/', '').replace(/\/$/, '')
102
+ const repo = siteConfig.githubRepo ?? repoFromUrl
103
+
104
+ React.useEffect(() => {
105
+ async function fetchStars() {
106
+ try {
107
+ if (!repo) {
108
+ return
109
+ }
110
+ const res = await fetch(`https://api.github.com/repos/${repo}`)
111
+ if (!res.ok) return
112
+ const data = await res.json()
113
+ if (typeof data.stargazers_count === 'number') {
114
+ setStars(data.stargazers_count)
115
+ }
116
+ } catch (err) {
117
+ console.error('Failed to fetch stars:', err)
118
+ }
119
+ }
120
+ fetchStars()
121
+ }, [])
122
+
123
+ if (!siteConfig.links?.github) {
124
+ return null
125
+ }
126
+
127
+ return (
128
+ <Link
129
+ aria-label="GitHub (opens in a new tab)"
130
+ href={siteConfig.links.github}
131
+ rel="noopener noreferrer"
132
+ target="_blank">
133
+ <div
134
+ className={cn(
135
+ buttonVariants({
136
+ className: 'size-auto h-8 w-16 font-medium text-sm',
137
+ size: 'icon',
138
+ variant: 'ghost',
139
+ }),
140
+ )}>
141
+ <Github aria-hidden="true" />
142
+ {stars !== null ? stars.toLocaleString() : '...'}
143
+ </div>
144
+ </Link>
145
+ )
146
+ }
147
+ const fontAtom = atomWithStorage('fontType', 'mono')
148
+
149
+ export function FontStyleButton() {
150
+ const [fontType, setFontType] = useAtom(fontAtom)
151
+ const firstRender = React.useRef(true)
152
+
153
+ React.useEffect(() => {
154
+ if (firstRender.current) {
155
+ firstRender.current = false
156
+ return
157
+ }
158
+
159
+ const family =
160
+ fontType === 'sans'
161
+ ? 'var(--font-geist-sans, "Montserrat"), sans-serif'
162
+ : 'var(--font-geist-mono, "Geist Mono"), monospace'
163
+
164
+ document.documentElement.style.setProperty('font-family', family, 'important')
165
+ }, [fontType])
166
+
167
+ return (
168
+ <button
169
+ aria-label={fontType === 'mono' ? 'Switch to sans-serif font' : 'Switch to monospace font'}
170
+ className={cn(buttonVariants({ size: 'icon', variant: 'ghost' }))}
171
+ onClick={() => setFontType(fontType === 'mono' ? 'sans' : 'mono')}
172
+ type="button">
173
+ {fontType === 'mono' ? <Type aria-hidden="true" /> : <CaseUpper aria-hidden="true" />}
174
+ </button>
175
+ )
176
+ }
177
+
178
+ export { HeaderBrand, HeaderContainer, HeaderRoot, HeaderSection } from './header-shell'
@@ -4,7 +4,7 @@ import { useDocsConfig } from '@duck-docs/context'
4
4
  import { cn } from '@gentleduck/libs/cn'
5
5
  import Link from 'next/link'
6
6
  import { usePathname } from 'next/navigation'
7
- import { HeaderBrand } from './layouts/site-header/header-shell'
7
+ import { HeaderBrand } from './layouts/site-header'
8
8
 
9
9
  export function MainNav() {
10
10
  const pathname = usePathname()
@@ -14,9 +14,10 @@ export function MainNav() {
14
14
  <div className="mr-4 hidden md:flex">
15
15
  <HeaderBrand className="mr-4 lg:mr-6" />
16
16
  {mainNav?.length ? (
17
- <nav className="flex items-center gap-4 text-sm xl:gap-6">
17
+ <nav aria-label="Main" className="flex items-center gap-4 text-sm xl:gap-6">
18
18
  {mainNav.map((item) => (
19
19
  <Link
20
+ aria-current={pathname === item.href ? 'page' : undefined}
20
21
  className={cn(
21
22
  'font-medium transition-colors hover:text-foreground/80',
22
23
  pathname === item.href ? 'text-foreground' : 'text-foreground/80',
@@ -0,0 +1,61 @@
1
+ # MDX Architecture
2
+
3
+ This directory contains the runtime rendering layer for docs MDX content.
4
+
5
+ ## Key Modules
6
+
7
+ 1. `mdx.tsx`
8
+ - Thin public entrypoint.
9
+ - Compiles MDX runtime code and renders it with the composed component registry.
10
+
11
+ 2. `mdx-runtime.ts`
12
+ - Runtime loader helper (`useMDXComponent`).
13
+ - Keeps `new Function(...)` handling isolated from UI component composition.
14
+
15
+ 3. `mdx-components-registry.ts`
16
+ - Final composed MDX component map.
17
+ - Merges base content components and UI-facing primitives.
18
+
19
+ 4. `mdx-components-base.tsx`
20
+ - Core markdown/mdx renderers (typography, code/pre, table, tabs, callouts, media).
21
+ - Includes MDX-specific wrappers (`pre`, `Steps`, `Step`, etc.).
22
+
23
+ 5. `mdx-components-ui.tsx`
24
+ - Optional UI primitives exposed directly in MDX content.
25
+ - Keeps registry-ui dependencies isolated from base markdown semantics.
26
+
27
+ 6. `mdx-components/`
28
+ - Leaf render components used by the base registry.
29
+ - `code/pre-block/` is organized for maintainable command/code block behavior.
30
+
31
+ 7. `src/styles/mdx*.css`
32
+ - `mdx.css` is a compatibility barrel file.
33
+ - Style layers are split into:
34
+ - `mdx-base.css`
35
+ - `mdx-typography.css`
36
+ - `mdx-code.css`
37
+ - `mdx-extensions.css`
38
+
39
+ ## Velite/Rehype Metadata Flow
40
+
41
+ Plugin metadata is typed in `src/types/mdx-runtime.ts` and applied by:
42
+ - `src/velite/plugins/metadata-plugin.ts`
43
+ - `src/velite/plugins/rehype-pre-block-source.ts`
44
+ - `src/velite/plugins/rehype-npm-command.ts`
45
+
46
+ Use `hast-properties.ts` helpers when adding new plugin metadata to avoid ad hoc object shape mutations.
47
+
48
+ ## Extension Rules
49
+
50
+ 1. Add new MDX-level visual behavior in `mdx-components-base.tsx` unless it is a generic UI primitive.
51
+ 2. Add UI primitives in `mdx-components-ui.tsx`, then compose via registry.
52
+ 3. Keep `mdx.tsx` thin; avoid adding renderer internals there.
53
+ 4. Any new plugin metadata must be represented in `src/types/mdx-runtime.ts` first.
54
+
55
+ ## Testing Conventions
56
+
57
+ 1. Keep plugin/AST tests in `tests/velite/plugins/**`.
58
+ 2. Keep runtime component composition tests in `tests/components/mdx/**`.
59
+ 3. Validate package sources with `bun run check-types`.
60
+ 4. Validate tests with `bun run check-types:test`.
61
+ 5. Execute runtime regressions with `bun run test`.
@@ -0,0 +1,5 @@
1
+ import type * as React from 'react'
2
+
3
+ export type MdxComponent = React.ComponentType<any> | ((props: any) => React.ReactNode)
4
+
5
+ export type MdxComponentMap = Record<string, MdxComponent>
@@ -1,17 +1,17 @@
1
1
  import { cn } from '@gentleduck/libs/cn'
2
- import { Alert, AlertDescription, AlertTitle } from '@gentleduck/registry-ui-duckui/alert'
2
+ import { Alert, AlertDescription, AlertTitle } from '@gentleduck/registry-ui/alert'
3
3
 
4
- interface CalloutProps {
4
+ export function Callout({
5
+ title,
6
+ children,
7
+ icon,
8
+ className,
9
+ ...props
10
+ }: React.ComponentPropsWithoutRef<typeof Alert> & {
5
11
  icon?: React.ReactNode
6
- title?: string
7
- children?: React.ReactNode
8
- className?: string
9
- [key: string]: unknown
10
- }
11
-
12
- export function Callout({ title, children, icon, className, ...props }: CalloutProps) {
12
+ }) {
13
13
  return (
14
- <Alert className={cn('my-6', icon && 'grid-cols-[calc(var(--spacing)*4)_1fr] gap-x-3', className)}>
14
+ <Alert className={cn('my-6', icon && 'grid-cols-[calc(var(--spacing)*4)_1fr] gap-x-3', className)} {...props}>
15
15
  {icon && (
16
16
  <span className="row-span-2 [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:translate-y-0.5 [&_svg]:text-current">
17
17
  {icon}
@@ -3,8 +3,8 @@
3
3
  import { Icons } from '@duck-docs/components/icons'
4
4
  import { useLiftMode } from '@duck-docs/hooks/use-lift-mode'
5
5
  import { cn } from '@gentleduck/libs/cn'
6
- import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from '@gentleduck/registry-ui-duckui/resizable'
7
- import { Tabs, TabsContent } from '@gentleduck/registry-ui-duckui/tabs'
6
+ import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from '@gentleduck/registry-ui/resizable'
7
+ import { Tabs, TabsContent } from '@gentleduck/registry-ui/tabs'
8
8
  import React from 'react'
9
9
  import type { ImperativePanelHandle } from 'react-resizable-panels'
10
10
 
@@ -44,8 +44,10 @@ export function CodePreview({ block }: { block: Block & { hasLiftMode: boolean }
44
44
  minSize={30}
45
45
  ref={ref}>
46
46
  {isLoading ? (
47
- <div className="absolute inset-0 z-10 flex h-[--container-height] w-full items-center justify-center gap-2 bg-background text-muted-foreground text-sm">
48
- <Icons.spinner className="h-4 w-4 animate-spin" />
47
+ <div
48
+ className="absolute inset-0 z-10 flex h-[--container-height] w-full items-center justify-center gap-2 bg-background text-muted-foreground text-sm"
49
+ role="status">
50
+ <Icons.spinner aria-hidden="true" className="h-4 w-4 animate-spin" />
49
51
  Loading...
50
52
  </div>
51
53
  ) : null}
@@ -57,6 +59,7 @@ export function CodePreview({ block }: { block: Block & { hasLiftMode: boolean }
57
59
  setIsLoading(false)
58
60
  }}
59
61
  src={`/blocks/${block.name}`}
62
+ title={`Preview of ${block.name}`}
60
63
  />
61
64
  </ResizablePanel>
62
65
  <ResizableHandle
@@ -1,10 +1,11 @@
1
1
  'use client'
2
2
 
3
3
  import { CopyButton } from '@duck-docs/components/copy-button'
4
+ import { Icons } from '@duck-docs/components/icons'
4
5
  import { useRegistryIndex } from '@duck-docs/context'
5
6
  import { cn } from '@gentleduck/libs/cn'
6
- import { Button } from '@gentleduck/registry-ui-duckui/button'
7
- import { Tabs, TabsContent, TabsList, TabsTrigger } from '@gentleduck/registry-ui-duckui/tabs'
7
+ import { Button } from '@gentleduck/registry-ui/button'
8
+ import { Tabs, TabsContent, TabsList, TabsTrigger } from '@gentleduck/registry-ui/tabs'
8
9
  import { Crown } from 'lucide-react'
9
10
  import * as React from 'react'
10
11
 
@@ -18,6 +19,35 @@ interface ComponentPreviewProps extends React.HTMLAttributes<HTMLDivElement> {
18
19
  showSettings?: boolean
19
20
  }
20
21
 
22
+ type CodeFragmentProps = {
23
+ 'data-rehype-pretty-code-fragment'?: unknown
24
+ children?: React.ReactNode
25
+ }
26
+
27
+ type CopyValueProps = {
28
+ __rawString__?: string
29
+ value?: string
30
+ }
31
+
32
+ function getCodeStringFromFragment(codeNode: React.ReactElement | undefined): string | null {
33
+ if (!codeNode || !React.isValidElement<CodeFragmentProps>(codeNode)) {
34
+ return null
35
+ }
36
+
37
+ if (typeof codeNode.props['data-rehype-pretty-code-fragment'] === 'undefined') {
38
+ return null
39
+ }
40
+
41
+ const fragmentChildren = React.Children.toArray(codeNode.props.children)
42
+ const copyNode = fragmentChildren[1]
43
+
44
+ if (!copyNode || !React.isValidElement<CopyValueProps>(copyNode)) {
45
+ return null
46
+ }
47
+
48
+ return copyNode.props.value ?? copyNode.props.__rawString__ ?? null
49
+ }
50
+
21
51
  export function ComponentPreview({
22
52
  name,
23
53
  children,
@@ -36,17 +66,22 @@ export function ComponentPreview({
36
66
 
37
67
  const Preview = React.useMemo(() => {
38
68
  if (!registryIndex) {
39
- return <p className="text-muted-foreground text-sm">Registry index is not configured for this docs app.</p>
69
+ return (
70
+ <div className="flex h-full w-full items-center justify-center text-muted-foreground text-sm">
71
+ Registry index is not configured for this docs app.
72
+ </div>
73
+ )
40
74
  }
41
75
 
42
76
  const Component = registryIndex[name]?.component
43
77
 
44
78
  if (!Component) {
45
79
  return (
46
- <p className="text-muted-foreground text-sm">
47
- Component <code className="relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm">{name}</code>{' '}
48
- not found in registry.
49
- </p>
80
+ <div className="flex h-full w-full items-center justify-center text-muted-foreground text-sm">
81
+ Component{' '}
82
+ <code className="relative mx-1 rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm">{name}</code> not
83
+ found in registry.
84
+ </div>
50
85
  )
51
86
  }
52
87
 
@@ -54,20 +89,7 @@ export function ComponentPreview({
54
89
  }, [name, registryIndex])
55
90
 
56
91
  const codeString = React.useMemo(() => {
57
- if (
58
- // ! FIX:
59
- // @ts-ignore 'Code.props' is of type 'unknown'.ts(18046)
60
- typeof Code?.props['data-rehype-pretty-code-fragment'] !== 'undefined'
61
- ) {
62
- const Button = React.Children.toArray(
63
- // ! FIX:
64
- // @ts-expect-error Property 'children' does not exist on type '{}'.ts(2339)
65
- Code.props.children,
66
- ) as React.ReactElement[]
67
- // ! FIX:
68
- // @ts-expect-error Property '__rawString__' does not exist on type '{}'.ts(2339)
69
- return Button[1]?.props?.value || Button[1]?.props?.__rawString__ || null
70
- }
92
+ return getCodeStringFromFragment(Code)
71
93
  }, [Code])
72
94
 
73
95
  return (
@@ -80,7 +102,7 @@ export function ComponentPreview({
80
102
  <TabsList className="w-full justify-start overflow-x-auto rounded-none border-b bg-transparent p-0 [&_button]:shadow-none">
81
103
  {TABS.map((tab, idx) => (
82
104
  <TabsTrigger
83
- className="cursor-pointer rounded-none border-b-[2px] border-b-transparent px-12 py-2 [&[aria-selected='true']]:border-b-primary [&[aria-selected='true']]:shadow-none [&_input]:focus-visible:shadow-none [&_input]:focus-visible:ring-transparent [&_input]:focus-visible:ring-offset-0"
105
+ className="cursor-pointer rounded-none border-b-[2px] border-b-transparent px-12 py-2 [&[aria-selected='true']]:border-b-primary [&[aria-selected='true']]:shadow-none"
84
106
  key={idx}
85
107
  value={tab.value}>
86
108
  {tab.name}
@@ -90,20 +112,30 @@ export function ComponentPreview({
90
112
  )}
91
113
  </div>
92
114
  <TabsContent className="relative min-w-2/5 rounded-md border" value="preview">
93
- <div className="absolute flex w-full items-center justify-between p-4">
115
+ <div className="absolute flex w-full items-center justify-between p-3">
94
116
  <span className="text-muted-foreground text-sm">{}</span>
95
117
  <div className="flex items-center gap-2">
96
- <CopyButton value={codeString} variant="outline" />
118
+ <CopyButton value={codeString ?? ''} variant="outline" />
97
119
  </div>
98
120
  </div>
99
121
  <div
100
- className={cn('preview flex h-[500px] w-full justify-center overflow-auto p-10', {
122
+ className={cn('preview flex h-[502px] w-full justify-center overflow-auto p-10', {
101
123
  'items-center': align === 'center',
102
124
  'items-end': align === 'end',
103
125
  'items-start': align === 'start',
104
126
  })}
105
127
  duck-preview="">
106
- {Preview}
128
+ <React.Suspense
129
+ fallback={
130
+ <div
131
+ className="flex h-full w-full items-center justify-center gap-2 text-muted-foreground text-sm"
132
+ role="status">
133
+ <Icons.spinner aria-hidden="true" className="h-4 w-4 animate-spin" />
134
+ Loading...
135
+ </div>
136
+ }>
137
+ {Preview}
138
+ </React.Suspense>
107
139
  </div>
108
140
  </TabsContent>
109
141
  <TabsContent
@@ -127,7 +159,7 @@ export const BuildTab = () => {
127
159
  <div className="absolute inset-0 top-0 left-0 flex h-[500px] flex-col items-center justify-center gap-4 rounded-md bg-zinc-700/10 px-4 py-2 backdrop-blur-sm dark:bg-zinc-700/50">
128
160
  <div className="flex items-center gap-4">
129
161
  <Button className="rounded-sm font-bold" size={'sm'}>
130
- <Crown />
162
+ <Crown aria-hidden="true" />
131
163
  <span>Coming soon</span>
132
164
  </Button>
133
165
  </div>
@@ -1,32 +1,62 @@
1
1
  'use client'
2
2
 
3
- import { Separator } from '@gentleduck/registry-ui-duckui/separator'
4
- import { Tabs, TabsContent, TabsList, TabsTrigger } from '@gentleduck/registry-ui-duckui/tabs'
5
- import type React from 'react'
3
+ import { Icons } from '@duck-docs/components/icons'
4
+ import { cn } from '@gentleduck/libs/cn'
5
+ import { Separator } from '@gentleduck/registry-ui/separator'
6
+ import { Tabs, TabsContent, TabsList, TabsTrigger } from '@gentleduck/registry-ui/tabs'
7
+ import * as React from 'react'
6
8
  import { FigcaptionBlock } from './figcaption-block'
7
9
 
8
10
  interface ComponentSourceProps extends React.HTMLAttributes<HTMLDivElement> {
9
- children: React.ReactNode[]
10
- src: string
11
+ children?: React.ReactNode
12
+ path?: string
13
+ }
14
+
15
+ function getChildLabel(child: React.ReactNode): string {
16
+ return (
17
+ String((child as any).props?.children?.[0]?.props?.__rawString__ ?? '')
18
+ .split('\n')[0]
19
+ ?.replace('//', '')
20
+ .trim() || 'source'
21
+ )
11
22
  }
12
23
 
13
- /** NOTE: the props are not used */
14
24
  export function ComponentSource({ children, className, ...props }: ComponentSourceProps) {
15
- if (!children.length) {
16
- return children
25
+ const items = React.Children.toArray(children)
26
+
27
+ if (items.length === 0) {
28
+ return (
29
+ <div
30
+ className="flex h-24 w-full items-center justify-center gap-2 rounded-md border border-border bg-muted/40 text-muted-foreground text-sm"
31
+ role="status">
32
+ <Icons.spinner aria-hidden="true" className="h-4 w-4 animate-spin" />
33
+ Loading...
34
+ </div>
35
+ )
36
+ }
37
+
38
+ // Single file -- render just the code block, no wrapper
39
+ if (items.length === 1) {
40
+ const value = getChildLabel(items[0])
41
+ return (
42
+ <div className="relative m-0 mt-2 shrink-0 list-none rounded-lg border bg-muted/40 ring-offset-background focus-visible:shadow-none focus-visible:outline-none focus-visible:outline-hidden focus-visible:ring-0 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 [&>div>div>button]:top-2 [&>div>div>button]:right-2 [&>div>div]:m-0 [&>div]:static [&>div]:my-0 [&>div]:border-none [&>div]:bg-transparent">
43
+ <FigcaptionBlock>{value}</FigcaptionBlock>
44
+ {items[0]}
45
+ </div>
46
+ )
17
47
  }
18
48
 
19
- const defaultValue = String((children[0] as any).props.children[0].props.__rawString__)
20
- .split('\n')[0]
21
- ?.replace('//', '') as string
49
+ // Multiple files -- render with tabs
50
+ const defaultValue = getChildLabel(items[0])
22
51
 
23
52
  return (
24
- <Tabs className="rounded-md border border-border bg-muted/40" defaultValue={defaultValue}>
53
+ <Tabs
54
+ className={cn('rounded-md border border-border bg-muted/40', className)}
55
+ {...props}
56
+ defaultValue={defaultValue}>
25
57
  <TabsList className="w-[622px] justify-start overflow-x-auto bg-transparent px-2 py-2">
26
- {children.map((item, idx) => {
27
- const value = String((item as any).props.children[0].props.__rawString__)
28
- .split('\n')[0]
29
- ?.replace('//', '') as string
58
+ {items.map((item, idx) => {
59
+ const value = getChildLabel(item)
30
60
  return (
31
61
  <TabsTrigger className="aria-[selected='true']:bg-muted" key={idx} value={value}>
32
62
  {value}
@@ -35,13 +65,11 @@ export function ComponentSource({ children, className, ...props }: ComponentSour
35
65
  })}
36
66
  </TabsList>
37
67
  <Separator />
38
- {children.map((item, idx) => {
39
- const value = String((item as any).props.children[0].props.__rawString__)
40
- .split('\n')[0]
41
- ?.replace('//', '') as string
68
+ {items.map((item, idx) => {
69
+ const value = getChildLabel(item)
42
70
  return (
43
71
  <TabsContent
44
- className="relative m-0 bg-transparent focus-visible:shadow-none focus-visible:outline-none focus-visible:ring-0 [&>div>div>button]:top-1 [&>div>div>button]:right-1 [&>div>div]:m-0"
72
+ className="relative m-0 bg-transparent focus-visible:shadow-none focus-visible:outline-none focus-visible:ring-0 [&>div>div>button]:top-2 [&>div>div>button]:right-2 [&>div>div]:m-0"
45
73
  key={idx}
46
74
  value={value}>
47
75
  <FigcaptionBlock>{value}</FigcaptionBlock>
@@ -1,6 +1,5 @@
1
1
  import { getIconForLanguageExtension } from '@duck-docs/components/icons'
2
2
  import { cn } from '@gentleduck/libs/cn'
3
- import { Separator } from '@gentleduck/registry-ui-duckui/separator'
4
3
 
5
4
  export function FigcaptionBlock({ children, className, ...props }: React.HTMLAttributes<HTMLDivElement>) {
6
5
  const language = children?.toString().split('.').pop() ?? 'terminal'
@@ -9,17 +8,12 @@ export function FigcaptionBlock({ children, className, ...props }: React.HTMLAtt
9
8
 
10
9
  return (
11
10
  <>
12
- <figcaption {...props} className="rounded-lg p-2">
13
- <div
14
- className={cn(
15
- className,
16
- 'flex items-center gap-2 font-mono text-muted-foreground text-sm ltr:pl-1.5 rtl:pr-1.5 [&_svg]:h-4 [&_svg]:w-4',
17
- )}>
11
+ <figcaption className={cn('border-border border-b p-3', className)} {...props}>
12
+ <div className="flex items-center gap-2 font-mono text-muted-foreground text-sm ltr:pl-1.5 rtl:pr-1.5 [&_svg]:h-4 [&_svg]:w-4">
18
13
  {Icon}
19
14
  {children}
20
15
  </div>
21
16
  </figcaption>
22
- <Separator />
23
17
  </>
24
18
  )
25
19
  }
@@ -1,7 +1,7 @@
1
1
  'use client'
2
2
 
3
3
  import { cn } from '@gentleduck/libs/cn'
4
- import { PreviewPanelDialog } from '@gentleduck/registry-ui-duckui/preview-panel'
4
+ import { PreviewPanelDialog } from '@gentleduck/registry-ui/preview-panel'
5
5
  import { Loader } from 'lucide-react'
6
6
  import { useTheme } from 'next-themes'
7
7
  import { useEffect, useState } from 'react'
@@ -33,9 +33,11 @@ export function MermaidBlock(props: MermaidBlockProps) {
33
33
 
34
34
  if (!mounted) {
35
35
  return (
36
- <div className={cn('my-6 flex h-[300px] items-center justify-center rounded-lg border bg-card', props.className)}>
36
+ <div
37
+ className={cn('my-6 flex h-[300px] items-center justify-center rounded-lg border bg-card', props.className)}
38
+ role="status">
37
39
  <div className="flex flex-col items-center gap-3">
38
- <Loader className="size-4 animate-spin opacity-50" />
40
+ <Loader aria-hidden="true" className="size-4 animate-spin opacity-50" />
39
41
  <p className="text-muted-foreground text-sm">Loading diagram...</p>
40
42
  </div>
41
43
  </div>
@@ -0,0 +1 @@
1
+ export * from './pre-block'