@gentleduck/docs 0.0.1

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 (462) hide show
  1. package/LICENSE +21 -0
  2. package/dist/callout-CFw8zUIz.js +2 -0
  3. package/dist/callout-CFw8zUIz.js.map +1 -0
  4. package/dist/callout-VcT2d48I.d.ts +17 -0
  5. package/dist/callout-VcT2d48I.d.ts.map +1 -0
  6. package/dist/charts-DX0UohRi.js +2 -0
  7. package/dist/charts-DX0UohRi.js.map +1 -0
  8. package/dist/charts-hfCEZEQp.d.ts +6 -0
  9. package/dist/charts-hfCEZEQp.d.ts.map +1 -0
  10. package/dist/client.d.ts +54 -0
  11. package/dist/client.js +1 -0
  12. package/dist/code-Cz75Womb.js +0 -0
  13. package/dist/code-block-CR2loi-i.d.ts +14 -0
  14. package/dist/code-block-CR2loi-i.d.ts.map +1 -0
  15. package/dist/code-block-DqFdGhI-.js +2 -0
  16. package/dist/code-block-DqFdGhI-.js.map +1 -0
  17. package/dist/code-block-wrapper-C8I0XMsN.d.ts +12 -0
  18. package/dist/code-block-wrapper-C8I0XMsN.d.ts.map +1 -0
  19. package/dist/code-block-wrapper-CCAw9mie.js +2 -0
  20. package/dist/code-block-wrapper-CCAw9mie.js.map +1 -0
  21. package/dist/code-preview-CeNXQxYN.d.ts +20 -0
  22. package/dist/code-preview-CeNXQxYN.d.ts.map +1 -0
  23. package/dist/code-preview-cIvw8qyg.js +2 -0
  24. package/dist/code-preview-cIvw8qyg.js.map +1 -0
  25. package/dist/colors-Ba_cRR6y.js +2 -0
  26. package/dist/colors-Ba_cRR6y.js.map +1 -0
  27. package/dist/colors-CpJMSMtf.d.ts +47 -0
  28. package/dist/colors-CpJMSMtf.d.ts.map +1 -0
  29. package/dist/command-menu-7HTBKVxd.js +0 -0
  30. package/dist/command-menu-BVebU1JI.js +2 -0
  31. package/dist/command-menu-BVebU1JI.js.map +1 -0
  32. package/dist/command-menu-C8RLyuBe.d.ts +7 -0
  33. package/dist/command-menu-C8RLyuBe.d.ts.map +1 -0
  34. package/dist/component-preview-CL6guE-v.js +2 -0
  35. package/dist/component-preview-CL6guE-v.js.map +1 -0
  36. package/dist/component-preview-DknaF8TG.d.ts +33 -0
  37. package/dist/component-preview-DknaF8TG.d.ts.map +1 -0
  38. package/dist/component-source-BCBDjfEb.js +5 -0
  39. package/dist/component-source-BCBDjfEb.js.map +1 -0
  40. package/dist/component-source-IrGlRkUy.d.ts +17 -0
  41. package/dist/component-source-IrGlRkUy.d.ts.map +1 -0
  42. package/dist/components/copy-button/copy-button.d.ts +4 -0
  43. package/dist/components/copy-button/copy-button.js +1 -0
  44. package/dist/components/copy-button/copy-button.types.d.ts +3 -0
  45. package/dist/components/copy-button/copy-button.types.js +0 -0
  46. package/dist/components/copy-button/index.d.ts +5 -0
  47. package/dist/components/copy-button/index.js +1 -0
  48. package/dist/components/docs/docs-copy-page.d.ts +2 -0
  49. package/dist/components/docs/docs-copy-page.js +1 -0
  50. package/dist/components/docs/docs-pager.d.ts +4 -0
  51. package/dist/components/docs/docs-pager.js +1 -0
  52. package/dist/components/docs/docs-sidebar.d.ts +4 -0
  53. package/dist/components/docs/docs-sidebar.js +1 -0
  54. package/dist/components/docs/docs-toc.d.ts +4 -0
  55. package/dist/components/docs/docs-toc.js +1 -0
  56. package/dist/components/docs/index.d.ts +8 -0
  57. package/dist/components/docs/index.js +1 -0
  58. package/dist/components/icons.d.ts +2 -0
  59. package/dist/components/icons.js +1 -0
  60. package/dist/components/index.d.ts +44 -0
  61. package/dist/components/index.js +1 -0
  62. package/dist/components/layouts/command-menu/command-menu.d.ts +2 -0
  63. package/dist/components/layouts/command-menu/command-menu.js +1 -0
  64. package/dist/components/layouts/command-menu/index.d.ts +3 -0
  65. package/dist/components/layouts/command-menu/index.js +1 -0
  66. package/dist/components/layouts/index.d.ts +8 -0
  67. package/dist/components/layouts/index.js +1 -0
  68. package/dist/components/layouts/site-footer/index.d.ts +2 -0
  69. package/dist/components/layouts/site-footer/index.js +1 -0
  70. package/dist/components/layouts/site-header/header-shell.d.ts +2 -0
  71. package/dist/components/layouts/site-header/header-shell.js +1 -0
  72. package/dist/components/layouts/site-header/index.d.ts +3 -0
  73. package/dist/components/layouts/site-header/index.js +1 -0
  74. package/dist/components/layouts/tailwind-indicator/index.d.ts +2 -0
  75. package/dist/components/layouts/tailwind-indicator/index.js +1 -0
  76. package/dist/components/main-nav.d.ts +2 -0
  77. package/dist/components/main-nav.js +1 -0
  78. package/dist/components/mdx/mdx-components/callout.d.ts +2 -0
  79. package/dist/components/mdx/mdx-components/callout.js +1 -0
  80. package/dist/components/mdx/mdx-components/code/code-block-wrapper.d.ts +2 -0
  81. package/dist/components/mdx/mdx-components/code/code-block-wrapper.js +1 -0
  82. package/dist/components/mdx/mdx-components/code/code-block.d.ts +2 -0
  83. package/dist/components/mdx/mdx-components/code/code-block.js +1 -0
  84. package/dist/components/mdx/mdx-components/code/code-preview.d.ts +2 -0
  85. package/dist/components/mdx/mdx-components/code/code-preview.js +1 -0
  86. package/dist/components/mdx/mdx-components/code/component-preview.d.ts +2 -0
  87. package/dist/components/mdx/mdx-components/code/component-preview.js +1 -0
  88. package/dist/components/mdx/mdx-components/code/component-source.d.ts +2 -0
  89. package/dist/components/mdx/mdx-components/code/component-source.js +1 -0
  90. package/dist/components/mdx/mdx-components/code/figcaption-block.d.ts +2 -0
  91. package/dist/components/mdx/mdx-components/code/figcaption-block.js +1 -0
  92. package/dist/components/mdx/mdx-components/code/index.d.ts +11 -0
  93. package/dist/components/mdx/mdx-components/code/index.js +1 -0
  94. package/dist/components/mdx/mdx-components/code/pre-block.d.ts +4 -0
  95. package/dist/components/mdx/mdx-components/code/pre-block.js +1 -0
  96. package/dist/components/mdx/mdx-components/code/span-block.d.ts +11 -0
  97. package/dist/components/mdx/mdx-components/code/span-block.d.ts.map +1 -0
  98. package/dist/components/mdx/mdx-components/code/span-block.js +2 -0
  99. package/dist/components/mdx/mdx-components/code/span-block.js.map +1 -0
  100. package/dist/components/mdx/mdx-components/components-list.d.ts +4 -0
  101. package/dist/components/mdx/mdx-components/components-list.js +1 -0
  102. package/dist/components/mdx/mdx-components/exalidraw.d.ts +7 -0
  103. package/dist/components/mdx/mdx-components/exalidraw.d.ts.map +1 -0
  104. package/dist/components/mdx/mdx-components/exalidraw.js +2 -0
  105. package/dist/components/mdx/mdx-components/exalidraw.js.map +1 -0
  106. package/dist/components/mdx/mdx-components/framework-docs.d.ts +2 -0
  107. package/dist/components/mdx/mdx-components/framework-docs.js +1 -0
  108. package/dist/components/mdx/mdx-components/index.d.ts +20 -0
  109. package/dist/components/mdx/mdx-components/index.js +1 -0
  110. package/dist/components/mdx/mdx-components/table.d.ts +2 -0
  111. package/dist/components/mdx/mdx-components/table.js +1 -0
  112. package/dist/components/mdx/mdx-components/tabs.d.ts +2 -0
  113. package/dist/components/mdx/mdx-components/tabs.js +1 -0
  114. package/dist/components/mdx/mdx-components/typepography.d.ts +2 -0
  115. package/dist/components/mdx/mdx-components/typepography.js +1 -0
  116. package/dist/components/mdx/mdx.d.ts +2 -0
  117. package/dist/components/mdx/mdx.js +1 -0
  118. package/dist/components/mobile-nav.d.ts +2 -0
  119. package/dist/components/mobile-nav.js +1 -0
  120. package/dist/components/mode-toggle.d.ts +2 -0
  121. package/dist/components/mode-toggle.js +1 -0
  122. package/dist/components/page-header.d.ts +2 -0
  123. package/dist/components/page-header.js +1 -0
  124. package/dist/components/providers.d.ts +2 -0
  125. package/dist/components/providers.js +1 -0
  126. package/dist/components/themes/index.d.ts +3 -0
  127. package/dist/components/themes/index.js +1 -0
  128. package/dist/components/themes/style-switcher.d.ts +2 -0
  129. package/dist/components/themes/style-switcher.js +1 -0
  130. package/dist/components-list-BCV3yN6H.js +2 -0
  131. package/dist/components-list-BCV3yN6H.js.map +1 -0
  132. package/dist/components-list-ZLlUD-Nr.d.ts +12 -0
  133. package/dist/components-list-ZLlUD-Nr.d.ts.map +1 -0
  134. package/dist/context/context.d.ts +2 -0
  135. package/dist/context/context.js +1 -0
  136. package/dist/context/context.types.d.ts +2 -0
  137. package/dist/context/context.types.js +0 -0
  138. package/dist/context/index.d.ts +4 -0
  139. package/dist/context/index.js +1 -0
  140. package/dist/context-Bd4Sf8r8.js +2 -0
  141. package/dist/context-Bd4Sf8r8.js.map +1 -0
  142. package/dist/context-BoqMzqgD.js +0 -0
  143. package/dist/context-tLL-jUw_.d.ts +26 -0
  144. package/dist/context-tLL-jUw_.d.ts.map +1 -0
  145. package/dist/context.types-8c0sgn5Q.js +0 -0
  146. package/dist/context.types-DgaGu8Ly.d.ts +57 -0
  147. package/dist/context.types-DgaGu8Ly.d.ts.map +1 -0
  148. package/dist/copy-button-Bh7DmVLN.d.ts +22 -0
  149. package/dist/copy-button-Bh7DmVLN.d.ts.map +1 -0
  150. package/dist/copy-button-D50DXq56.js +2 -0
  151. package/dist/copy-button-D50DXq56.js.map +1 -0
  152. package/dist/copy-button-DpLK4Hc9.js +0 -0
  153. package/dist/copy-button.types-D6D1XKDN.d.ts +19 -0
  154. package/dist/copy-button.types-D6D1XKDN.d.ts.map +1 -0
  155. package/dist/copy-button.types-ZXpoKEH1.js +0 -0
  156. package/dist/docs-B9qhW8T2.js +0 -0
  157. package/dist/docs-copy-page-B1HSXqlm.js +3 -0
  158. package/dist/docs-copy-page-B1HSXqlm.js.map +1 -0
  159. package/dist/docs-copy-page-rZ3GkUUQ.d.ts +13 -0
  160. package/dist/docs-copy-page-rZ3GkUUQ.d.ts.map +1 -0
  161. package/dist/docs-pager-2p2cKZcg.js +2 -0
  162. package/dist/docs-pager-2p2cKZcg.js.map +1 -0
  163. package/dist/docs-pager-CLERxm13.d.ts +25 -0
  164. package/dist/docs-pager-CLERxm13.d.ts.map +1 -0
  165. package/dist/docs-sidebar-C4HMPDIN.d.ts +30 -0
  166. package/dist/docs-sidebar-C4HMPDIN.d.ts.map +1 -0
  167. package/dist/docs-sidebar-Cq7haHti.js +2 -0
  168. package/dist/docs-sidebar-Cq7haHti.js.map +1 -0
  169. package/dist/docs-toc-B4_Znnrj.d.ts +13 -0
  170. package/dist/docs-toc-B4_Znnrj.d.ts.map +1 -0
  171. package/dist/docs-toc-DfQz3sNZ.js +2 -0
  172. package/dist/docs-toc-DfQz3sNZ.js.map +1 -0
  173. package/dist/events-BKAEw9TQ.d.ts +25 -0
  174. package/dist/events-BKAEw9TQ.d.ts.map +1 -0
  175. package/dist/events-D55YvIRi.js +2 -0
  176. package/dist/events-D55YvIRi.js.map +1 -0
  177. package/dist/figcaption-block-B7CmTI6d.d.ts +11 -0
  178. package/dist/figcaption-block-B7CmTI6d.d.ts.map +1 -0
  179. package/dist/figcaption-block-DWZhs-6i.js +2 -0
  180. package/dist/figcaption-block-DWZhs-6i.js.map +1 -0
  181. package/dist/framework-docs-ZYLz3BBy.js +2 -0
  182. package/dist/framework-docs-ZYLz3BBy.js.map +1 -0
  183. package/dist/framework-docs-tYKaeYsi.d.ts +13 -0
  184. package/dist/framework-docs-tYKaeYsi.d.ts.map +1 -0
  185. package/dist/header-shell-BusaKA4C.d.ts +39 -0
  186. package/dist/header-shell-BusaKA4C.d.ts.map +1 -0
  187. package/dist/header-shell-CWHnv2ot.js +2 -0
  188. package/dist/header-shell-CWHnv2ot.js.map +1 -0
  189. package/dist/hooks/index.d.ts +8 -0
  190. package/dist/hooks/index.js +1 -0
  191. package/dist/hooks/use-colors.d.ts +3 -0
  192. package/dist/hooks/use-colors.js +1 -0
  193. package/dist/hooks/use-config.d.ts +2 -0
  194. package/dist/hooks/use-config.js +1 -0
  195. package/dist/hooks/use-lift-mode.d.ts +2 -0
  196. package/dist/hooks/use-lift-mode.js +1 -0
  197. package/dist/hooks/use-meta-colors.d.ts +2 -0
  198. package/dist/hooks/use-meta-colors.js +1 -0
  199. package/dist/hooks/use-mounted.d.ts +2 -0
  200. package/dist/hooks/use-mounted.js +1 -0
  201. package/dist/hooks/use-themes-config.d.ts +2 -0
  202. package/dist/hooks/use-themes-config.js +1 -0
  203. package/dist/icons-BqnlXRgx.d.ts +30 -0
  204. package/dist/icons-BqnlXRgx.d.ts.map +1 -0
  205. package/dist/icons-bFf026bR.js +2 -0
  206. package/dist/icons-bFf026bR.js.map +1 -0
  207. package/dist/index-2mWOLEIP.d.ts +7 -0
  208. package/dist/index-2mWOLEIP.d.ts.map +1 -0
  209. package/dist/index-BZ1Usw1L.d.ts +8 -0
  210. package/dist/index-BZ1Usw1L.d.ts.map +1 -0
  211. package/dist/index-Bunxo_8h.d.ts +8 -0
  212. package/dist/index-Bunxo_8h.d.ts.map +1 -0
  213. package/dist/index-BwEOYyLd.d.ts +1 -0
  214. package/dist/index-CJOkJMYm.d.ts +1 -0
  215. package/dist/index-Cp46Zvz-.d.ts +1 -0
  216. package/dist/index-CsVdkYso.d.ts +1 -0
  217. package/dist/index-DIk3-d3u.d.ts +1 -0
  218. package/dist/index-LAzYY5Wa.d.ts +1 -0
  219. package/dist/index-k586z2Y3.d.ts +1 -0
  220. package/dist/index-mj9Ys67i.d.ts +1 -0
  221. package/dist/index-otwxHF3U.d.ts +1 -0
  222. package/dist/index.d.ts +11 -0
  223. package/dist/index.js +1 -0
  224. package/dist/layouts-hVp-aKom.js +0 -0
  225. package/dist/lib/charts.d.ts +2 -0
  226. package/dist/lib/charts.js +1 -0
  227. package/dist/lib/colors.d.ts +2 -0
  228. package/dist/lib/colors.js +1 -0
  229. package/dist/lib/events.d.ts +2 -0
  230. package/dist/lib/events.js +1 -0
  231. package/dist/lib/index.d.ts +6 -0
  232. package/dist/lib/index.js +1 -0
  233. package/dist/lib/registry-colors-data.d.ts +229 -0
  234. package/dist/lib/registry-colors-data.d.ts.map +1 -0
  235. package/dist/lib/registry-colors-data.js +1 -0
  236. package/dist/lib/registry-styles.d.ts +2 -0
  237. package/dist/lib/registry-styles.js +1 -0
  238. package/dist/lib/themes.d.ts +2 -0
  239. package/dist/lib/themes.js +1 -0
  240. package/dist/lib/utils.d.ts +2 -0
  241. package/dist/lib/utils.js +1 -0
  242. package/dist/main-nav-Df2pgQUs.js +2 -0
  243. package/dist/main-nav-Df2pgQUs.js.map +1 -0
  244. package/dist/main-nav-SathVgSN.d.ts +7 -0
  245. package/dist/main-nav-SathVgSN.d.ts.map +1 -0
  246. package/dist/mdx-CBnfwESR.d.ts +12 -0
  247. package/dist/mdx-CBnfwESR.d.ts.map +1 -0
  248. package/dist/mdx-components-BoD1jTr7.js +0 -0
  249. package/dist/mdx-cqn1ggXI.js +2 -0
  250. package/dist/mdx-cqn1ggXI.js.map +1 -0
  251. package/dist/metadata-plugin-Ag61IUUu.d.ts +7 -0
  252. package/dist/metadata-plugin-Ag61IUUu.d.ts.map +1 -0
  253. package/dist/metadata-plugin-Mc8lCfYT.js +2 -0
  254. package/dist/metadata-plugin-Mc8lCfYT.js.map +1 -0
  255. package/dist/mobile-nav-DRQtHK-O.js +2 -0
  256. package/dist/mobile-nav-DRQtHK-O.js.map +1 -0
  257. package/dist/mobile-nav-hEfoD2ld.d.ts +7 -0
  258. package/dist/mobile-nav-hEfoD2ld.d.ts.map +1 -0
  259. package/dist/mode-toggle-BcPx4Vfk.d.ts +7 -0
  260. package/dist/mode-toggle-BcPx4Vfk.d.ts.map +1 -0
  261. package/dist/mode-toggle-CGGAaMUK.js +2 -0
  262. package/dist/mode-toggle-CGGAaMUK.js.map +1 -0
  263. package/dist/nav-0JAtUIst.d.ts +18 -0
  264. package/dist/nav-0JAtUIst.d.ts.map +1 -0
  265. package/dist/nav-6wUjcK0K.js +0 -0
  266. package/dist/page-header-BGKsl1LK.js +2 -0
  267. package/dist/page-header-BGKsl1LK.js.map +1 -0
  268. package/dist/page-header-Brw3423H.d.ts +23 -0
  269. package/dist/page-header-Brw3423H.d.ts.map +1 -0
  270. package/dist/pre-block-BThyCz1h.js +2 -0
  271. package/dist/pre-block-BThyCz1h.js.map +1 -0
  272. package/dist/pre-block-CTP3z9eq.d.ts +33 -0
  273. package/dist/pre-block-CTP3z9eq.d.ts.map +1 -0
  274. package/dist/providers-BU3xm7I4.d.ts +11 -0
  275. package/dist/providers-BU3xm7I4.d.ts.map +1 -0
  276. package/dist/providers-fDpVqSs8.js +2 -0
  277. package/dist/providers-fDpVqSs8.js.map +1 -0
  278. package/dist/registry-colors-data-FyxAihEQ.js +2 -0
  279. package/dist/registry-colors-data-FyxAihEQ.js.map +1 -0
  280. package/dist/registry-styles-Cm1HpC4C.js +2 -0
  281. package/dist/registry-styles-Cm1HpC4C.js.map +1 -0
  282. package/dist/registry-styles-WvCGd0xY.d.ts +9 -0
  283. package/dist/registry-styles-WvCGd0xY.d.ts.map +1 -0
  284. package/dist/rehype-pre-block-source-Bz3-G4tr.js +2 -0
  285. package/dist/rehype-pre-block-source-Bz3-G4tr.js.map +1 -0
  286. package/dist/rehype-pre-block-source-Le9z9RN8.d.ts +7 -0
  287. package/dist/rehype-pre-block-source-Le9z9RN8.d.ts.map +1 -0
  288. package/dist/rehype-title-C1q6PbyG.js +2 -0
  289. package/dist/rehype-title-C1q6PbyG.js.map +1 -0
  290. package/dist/rehype-title-Dwt_OKnR.d.ts +7 -0
  291. package/dist/rehype-title-Dwt_OKnR.d.ts.map +1 -0
  292. package/dist/site-footer-CsUC-l-l.js +2 -0
  293. package/dist/site-footer-CsUC-l-l.js.map +1 -0
  294. package/dist/site-header-Bi3-9Kl3.js +2 -0
  295. package/dist/site-header-Bi3-9Kl3.js.map +1 -0
  296. package/dist/style-switcher-BXEGTMW2.d.ts +12 -0
  297. package/dist/style-switcher-BXEGTMW2.d.ts.map +1 -0
  298. package/dist/style-switcher-CpcMcuwL.js +2 -0
  299. package/dist/style-switcher-CpcMcuwL.js.map +1 -0
  300. package/dist/styles/base.css +156 -0
  301. package/dist/styles/docs.css +186 -0
  302. package/dist/styles/mdx.css +205 -0
  303. package/dist/table-B1hJe5kw.d.ts +10 -0
  304. package/dist/table-B1hJe5kw.d.ts.map +1 -0
  305. package/dist/table-Sc60jiil.js +2 -0
  306. package/dist/table-Sc60jiil.js.map +1 -0
  307. package/dist/tabs-DWxNPhgN.d.ts +23 -0
  308. package/dist/tabs-DWxNPhgN.d.ts.map +1 -0
  309. package/dist/tabs-KvYm5au9.js +2 -0
  310. package/dist/tabs-KvYm5au9.js.map +1 -0
  311. package/dist/tailwind-indicator-CV2jUfip.js +2 -0
  312. package/dist/tailwind-indicator-CV2jUfip.js.map +1 -0
  313. package/dist/themes-Dg5GgDgK.js +0 -0
  314. package/dist/themes-DsvojWlq.js +2 -0
  315. package/dist/themes-DsvojWlq.js.map +1 -0
  316. package/dist/themes-dv8YVpXg.d.ts +495 -0
  317. package/dist/themes-dv8YVpXg.d.ts.map +1 -0
  318. package/dist/typepography-B_jjjv9F.d.ts +54 -0
  319. package/dist/typepography-B_jjjv9F.d.ts.map +1 -0
  320. package/dist/typepography-Btk-lJ3O.js +2 -0
  321. package/dist/typepography-Btk-lJ3O.js.map +1 -0
  322. package/dist/types/index.d.ts +4 -0
  323. package/dist/types/index.js +0 -0
  324. package/dist/types/nav.d.ts +2 -0
  325. package/dist/types/nav.js +0 -0
  326. package/dist/types/unist.d.ts +2 -0
  327. package/dist/types/unist.js +0 -0
  328. package/dist/unist-Bs-H_R8g.d.ts +40 -0
  329. package/dist/unist-Bs-H_R8g.d.ts.map +1 -0
  330. package/dist/unist-DpNAVhDX.js +0 -0
  331. package/dist/use-colors-CeiLGCjZ.d.ts +13 -0
  332. package/dist/use-colors-CeiLGCjZ.d.ts.map +1 -0
  333. package/dist/use-colors-JhoQAYK2.js +2 -0
  334. package/dist/use-colors-JhoQAYK2.js.map +1 -0
  335. package/dist/use-config-CFygUPAg.d.ts +13 -0
  336. package/dist/use-config-CFygUPAg.d.ts.map +1 -0
  337. package/dist/use-config-D1zkiIbf.js +2 -0
  338. package/dist/use-config-D1zkiIbf.js.map +1 -0
  339. package/dist/use-lift-mode-Dya2HcpU.js +2 -0
  340. package/dist/use-lift-mode-Dya2HcpU.js.map +1 -0
  341. package/dist/use-lift-mode-IpZRia0D.d.ts +8 -0
  342. package/dist/use-lift-mode-IpZRia0D.d.ts.map +1 -0
  343. package/dist/use-meta-colors-BhIhFzvx.js +2 -0
  344. package/dist/use-meta-colors-BhIhFzvx.js.map +1 -0
  345. package/dist/use-meta-colors-C8OegAZO.d.ts +8 -0
  346. package/dist/use-meta-colors-C8OegAZO.d.ts.map +1 -0
  347. package/dist/use-mounted-D25Cx8rc.d.ts +5 -0
  348. package/dist/use-mounted-D25Cx8rc.d.ts.map +1 -0
  349. package/dist/use-mounted-SpB3P6Vt.js +2 -0
  350. package/dist/use-mounted-SpB3P6Vt.js.map +1 -0
  351. package/dist/use-themes-config-Bo-JZDNU.js +2 -0
  352. package/dist/use-themes-config-Bo-JZDNU.js.map +1 -0
  353. package/dist/use-themes-config-DfQCuhPn.d.ts +14 -0
  354. package/dist/use-themes-config-DfQCuhPn.d.ts.map +1 -0
  355. package/dist/utils-CMPpWmbv.d.ts +9 -0
  356. package/dist/utils-CMPpWmbv.d.ts.map +1 -0
  357. package/dist/utils-NjSy-iOL.js +2 -0
  358. package/dist/utils-NjSy-iOL.js.map +1 -0
  359. package/dist/velite/browser.d.ts +11 -0
  360. package/dist/velite/browser.d.ts.map +1 -0
  361. package/dist/velite/browser.js +2 -0
  362. package/dist/velite/browser.js.map +1 -0
  363. package/dist/velite/config.d.ts +21 -0
  364. package/dist/velite/config.d.ts.map +1 -0
  365. package/dist/velite/config.js +2 -0
  366. package/dist/velite/config.js.map +1 -0
  367. package/dist/velite/index.d.ts +10 -0
  368. package/dist/velite/index.js +1 -0
  369. package/dist/velite/plugins/index.d.ts +6 -0
  370. package/dist/velite/plugins/index.js +1 -0
  371. package/dist/velite/plugins/metadata-plugin.d.ts +4 -0
  372. package/dist/velite/plugins/metadata-plugin.js +1 -0
  373. package/dist/velite/plugins/rehype-pre-block-source.d.ts +4 -0
  374. package/dist/velite/plugins/rehype-pre-block-source.js +1 -0
  375. package/dist/velite/plugins/rehype-title.d.ts +4 -0
  376. package/dist/velite/plugins/rehype-title.js +1 -0
  377. package/dist/velite/rehype-npm-command.d.ts +8 -0
  378. package/dist/velite/rehype-npm-command.d.ts.map +1 -0
  379. package/dist/velite/rehype-npm-command.js +2 -0
  380. package/dist/velite/rehype-npm-command.js.map +1 -0
  381. package/dist/velite/utils.d.ts +5 -0
  382. package/dist/velite/utils.d.ts.map +1 -0
  383. package/dist/velite/utils.js +2 -0
  384. package/dist/velite/utils.js.map +1 -0
  385. package/package.json +174 -0
  386. package/src/client.ts +5 -0
  387. package/src/components/copy-button/copy-button.tsx +88 -0
  388. package/src/components/copy-button/copy-button.types.ts +17 -0
  389. package/src/components/copy-button/index.ts +2 -0
  390. package/src/components/docs/docs-copy-page.tsx +106 -0
  391. package/src/components/docs/docs-pager.tsx +114 -0
  392. package/src/components/docs/docs-sidebar.tsx +104 -0
  393. package/src/components/docs/docs-toc.tsx +104 -0
  394. package/src/components/docs/index.ts +4 -0
  395. package/src/components/icons.tsx +194 -0
  396. package/src/components/index.ts +13 -0
  397. package/src/components/layouts/command-menu/command-menu.tsx +166 -0
  398. package/src/components/layouts/command-menu/index.ts +1 -0
  399. package/src/components/layouts/index.ts +4 -0
  400. package/src/components/layouts/site-footer/index.tsx +70 -0
  401. package/src/components/layouts/site-header/header-shell.tsx +75 -0
  402. package/src/components/layouts/site-header/index.tsx +121 -0
  403. package/src/components/layouts/tailwind-indicator/index.tsx +16 -0
  404. package/src/components/main-nav.tsx +33 -0
  405. package/src/components/mdx/mdx-components/callout.tsx +17 -0
  406. package/src/components/mdx/mdx-components/code/code-block-wrapper.tsx +12 -0
  407. package/src/components/mdx/mdx-components/code/code-block.tsx +30 -0
  408. package/src/components/mdx/mdx-components/code/code-preview.tsx +80 -0
  409. package/src/components/mdx/mdx-components/code/component-preview.tsx +161 -0
  410. package/src/components/mdx/mdx-components/code/component-source.tsx +54 -0
  411. package/src/components/mdx/mdx-components/code/figcaption-block.tsx +25 -0
  412. package/src/components/mdx/mdx-components/code/index.ts +7 -0
  413. package/src/components/mdx/mdx-components/code/pre-block.tsx +103 -0
  414. package/src/components/mdx/mdx-components/code/span-block.tsx +13 -0
  415. package/src/components/mdx/mdx-components/components-list.tsx +23 -0
  416. package/src/components/mdx/mdx-components/exalidraw.tsx +12 -0
  417. package/src/components/mdx/mdx-components/framework-docs.tsx +20 -0
  418. package/src/components/mdx/mdx-components/index.ts +7 -0
  419. package/src/components/mdx/mdx-components/table.tsx +35 -0
  420. package/src/components/mdx/mdx-components/tabs.tsx +32 -0
  421. package/src/components/mdx/mdx-components/typepography.tsx +70 -0
  422. package/src/components/mdx/mdx.tsx +103 -0
  423. package/src/components/mobile-nav.tsx +91 -0
  424. package/src/components/mode-toggle.tsx +41 -0
  425. package/src/components/page-header.tsx +42 -0
  426. package/src/components/providers.tsx +14 -0
  427. package/src/components/themes/index.ts +1 -0
  428. package/src/components/themes/style-switcher.tsx +35 -0
  429. package/src/context/context.tsx +66 -0
  430. package/src/context/context.types.ts +55 -0
  431. package/src/context/index.ts +2 -0
  432. package/src/hooks/index.ts +6 -0
  433. package/src/hooks/use-colors.ts +27 -0
  434. package/src/hooks/use-config.ts +19 -0
  435. package/src/hooks/use-lift-mode.ts +19 -0
  436. package/src/hooks/use-meta-colors.ts +27 -0
  437. package/src/hooks/use-mounted.ts +11 -0
  438. package/src/hooks/use-themes-config.ts +17 -0
  439. package/src/index.ts +10 -0
  440. package/src/lib/charts.ts +23 -0
  441. package/src/lib/colors.ts +86 -0
  442. package/src/lib/events.ts +30 -0
  443. package/src/lib/index.ts +5 -0
  444. package/src/lib/registry-colors-data.ts +1810 -0
  445. package/src/lib/registry-styles.ts +8 -0
  446. package/src/lib/themes.ts +482 -0
  447. package/src/lib/utils.ts +42 -0
  448. package/src/styles/base.css +156 -0
  449. package/src/styles/docs.css +186 -0
  450. package/src/styles/mdx.css +205 -0
  451. package/src/types/index.ts +2 -0
  452. package/src/types/nav.ts +17 -0
  453. package/src/types/unist.ts +39 -0
  454. package/src/velite/browser.ts +11 -0
  455. package/src/velite/config.ts +118 -0
  456. package/src/velite/index.ts +5 -0
  457. package/src/velite/plugins/index.ts +3 -0
  458. package/src/velite/plugins/metadata-plugin.ts +26 -0
  459. package/src/velite/plugins/rehype-pre-block-source.ts +25 -0
  460. package/src/velite/plugins/rehype-title.ts +24 -0
  461. package/src/velite/rehype-npm-command.ts +42 -0
  462. package/src/velite/utils.ts +9 -0
@@ -0,0 +1,194 @@
1
+ import { FileIcon } from 'lucide-react'
2
+
3
+ type IconProps = React.HTMLAttributes<SVGElement>
4
+
5
+ export const Icons = {
6
+ apple: (props: IconProps) => (
7
+ <svg role="img" viewBox="0 0 24 24" {...props}>
8
+ <path
9
+ d="M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"
10
+ fill="currentColor"
11
+ />
12
+ </svg>
13
+ ),
14
+ aria: (props: IconProps) => (
15
+ <svg fill="currentColor" role="img" viewBox="0 0 24 24" {...props}>
16
+ <path d="M13.966 22.624l-1.69-4.281H8.122l3.892-9.144 5.662 13.425zM8.884 1.376H0v21.248zm15.116 0h-8.884L24 22.624Z" />
17
+ </svg>
18
+ ),
19
+ bash: (props: IconProps) => (
20
+ <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" {...props}>
21
+ <path d="M21.038 4.9 13.461.402a2.86 2.86 0 0 0-2.923.001L2.961 4.9A3.023 3.023 0 0 0 1.5 7.503v8.995c0 1.073.557 2.066 1.462 2.603l7.577 4.497a2.86 2.86 0 0 0 2.922 0l7.577-4.497a3.023 3.023 0 0 0 1.462-2.603V7.503A3.021 3.021 0 0 0 21.038 4.9zM15.17 18.946l.013.646c.001.078-.05.167-.111.198l-.383.22c-.061.031-.111-.007-.112-.085l-.007-.635c-.328.136-.66.169-.872.084-.04-.016-.057-.075-.041-.142l.139-.584a.24.24 0 0 1 .069-.121.163.163 0 0 1 .036-.026c.022-.011.043-.014.062-.006.229.077.521.041.802-.101.357-.181.596-.545.592-.907-.003-.328-.181-.465-.613-.468-.55.001-1.064-.107-1.072-.917-.007-.667.34-1.361.889-1.8l-.007-.652c-.001-.08.048-.168.111-.2l.37-.236c.061-.031.111.007.112.087l.006.653c.273-.109.511-.138.726-.088.047.012.067.076.048.151l-.144.578a.255.255 0 0 1-.065.116.161.161 0 0 1-.038.028.083.083 0 0 1-.057.009c-.098-.022-.332-.073-.699.113-.385.195-.52.53-.517.778.003.297.155.387.681.396.7.012 1.003.318 1.01 1.023.007.689-.362 1.433-.928 1.888zm3.973-1.087c0 .06-.008.116-.058.145l-1.916 1.164c-.05.029-.09.004-.09-.056v-.494c0-.06.037-.093.087-.122l1.887-1.129c.05-.029.09-.004.09.056v.436zm1.316-11.062-7.168 4.427c-.894.523-1.553 1.109-1.553 2.187v8.833c0 .645.26 1.063.66 1.184a2.304 2.304 0 0 1-.398.039c-.42 0-.833-.114-1.197-.33L3.226 18.64a2.494 2.494 0 0 1-1.201-2.142V7.503c0-.881.46-1.702 1.201-2.142L10.803.863a2.342 2.342 0 0 1 2.394 0l7.577 4.498a2.479 2.479 0 0 1 1.164 1.732c-.252-.536-.818-.682-1.479-.296z" />
22
+ </svg>
23
+ ),
24
+ css: (props: IconProps) => (
25
+ <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" {...props}>
26
+ <path d="M0 0v20.16A3.84 3.84 0 0 0 3.84 24h16.32A3.84 3.84 0 0 0 24 20.16V3.84A3.84 3.84 0 0 0 20.16 0Zm14.256 13.08c1.56 0 2.28 1.08 2.304 2.64h-1.608c.024-.288-.048-.6-.144-.84-.096-.192-.288-.264-.552-.264-.456 0-.696.264-.696.84-.024.576.288.888.768 1.08.72.288 1.608.744 1.92 1.296q.432.648.432 1.656c0 1.608-.912 2.592-2.496 2.592-1.656 0-2.4-1.032-2.424-2.688h1.68c0 .792.264 1.176.792 1.176.264 0 .456-.072.552-.24.192-.312.24-1.176-.048-1.512-.312-.408-.912-.6-1.32-.816q-.828-.396-1.224-.936c-.24-.36-.36-.888-.36-1.536 0-1.44.936-2.472 2.424-2.448m5.4 0c1.584 0 2.304 1.08 2.328 2.64h-1.608c0-.288-.048-.6-.168-.84-.096-.192-.264-.264-.528-.264-.48 0-.72.264-.72.84s.288.888.792 1.08c.696.288 1.608.744 1.92 1.296.264.432.408.984.408 1.656.024 1.608-.888 2.592-2.472 2.592-1.68 0-2.424-1.056-2.448-2.688h1.68c0 .744.264 1.176.792 1.176.264 0 .456-.072.552-.24.216-.312.264-1.176-.048-1.512-.288-.408-.888-.6-1.32-.816-.552-.264-.96-.576-1.2-.936s-.36-.888-.36-1.536c-.024-1.44.912-2.472 2.4-2.448m-11.031.018c.711-.006 1.419.198 1.839.63.432.432.672 1.128.648 1.992H9.336c.024-.456-.096-.792-.432-.96-.312-.144-.768-.048-.888.24-.12.264-.192.576-.168.864v3.504c0 .744.264 1.128.768 1.128a.65.65 0 0 0 .552-.264c.168-.24.192-.552.168-.84h1.776c.096 1.632-.984 2.712-2.568 2.688-1.536 0-2.496-.864-2.472-2.472v-4.032c0-.816.24-1.44.696-1.848.432-.408 1.146-.624 1.857-.63" />
27
+ </svg>
28
+ ),
29
+ gitHub: (props: IconProps) => (
30
+ <svg viewBox="0 0 438.549 438.549" {...props}>
31
+ <path
32
+ d="M409.132 114.573c-19.608-33.596-46.205-60.194-79.798-79.8-33.598-19.607-70.277-29.408-110.063-29.408-39.781 0-76.472 9.804-110.063 29.408-33.596 19.605-60.192 46.204-79.8 79.8C9.803 148.168 0 184.854 0 224.63c0 47.78 13.94 90.745 41.827 128.906 27.884 38.164 63.906 64.572 108.063 79.227 5.14.954 8.945.283 11.419-1.996 2.475-2.282 3.711-5.14 3.711-8.562 0-.571-.049-5.708-.144-15.417a2549.81 2549.81 0 01-.144-25.406l-6.567 1.136c-4.187.767-9.469 1.092-15.846 1-6.374-.089-12.991-.757-19.842-1.999-6.854-1.231-13.229-4.086-19.13-8.559-5.898-4.473-10.085-10.328-12.56-17.556l-2.855-6.57c-1.903-4.374-4.899-9.233-8.992-14.559-4.093-5.331-8.232-8.945-12.419-10.848l-1.999-1.431c-1.332-.951-2.568-2.098-3.711-3.429-1.142-1.331-1.997-2.663-2.568-3.997-.572-1.335-.098-2.43 1.427-3.289 1.525-.859 4.281-1.276 8.28-1.276l5.708.853c3.807.763 8.516 3.042 14.133 6.851 5.614 3.806 10.229 8.754 13.846 14.842 4.38 7.806 9.657 13.754 15.846 17.847 6.184 4.093 12.419 6.136 18.699 6.136 6.28 0 11.704-.476 16.274-1.423 4.565-.952 8.848-2.383 12.847-4.285 1.713-12.758 6.377-22.559 13.988-29.41-10.848-1.14-20.601-2.857-29.264-5.14-8.658-2.286-17.605-5.996-26.835-11.14-9.235-5.137-16.896-11.516-22.985-19.126-6.09-7.614-11.088-17.61-14.987-29.979-3.901-12.374-5.852-26.648-5.852-42.826 0-23.035 7.52-42.637 22.557-58.817-7.044-17.318-6.379-36.732 1.997-58.24 5.52-1.715 13.706-.428 24.554 3.853 10.85 4.283 18.794 7.952 23.84 10.994 5.046 3.041 9.089 5.618 12.135 7.708 17.705-4.947 35.976-7.421 54.818-7.421s37.117 2.474 54.823 7.421l10.849-6.849c7.419-4.57 16.18-8.758 26.262-12.565 10.088-3.805 17.802-4.853 23.134-3.138 8.562 21.509 9.325 40.922 2.279 58.24 15.036 16.18 22.559 35.787 22.559 58.817 0 16.178-1.958 30.497-5.853 42.966-3.9 12.471-8.941 22.457-15.125 29.979-6.191 7.521-13.901 13.85-23.131 18.986-9.232 5.14-18.182 8.85-26.84 11.136-8.662 2.286-18.415 4.004-29.263 5.146 9.894 8.562 14.842 22.077 14.842 40.539v60.237c0 3.422 1.19 6.279 3.572 8.562 2.379 2.279 6.136 2.95 11.276 1.995 44.163-14.653 80.185-41.062 108.068-79.226 27.88-38.161 41.825-81.126 41.825-128.906-.01-39.771-9.818-76.454-29.414-110.049z"
33
+ fill="currentColor"></path>
34
+ </svg>
35
+ ),
36
+ google: (props: IconProps) => (
37
+ <svg role="img" viewBox="0 0 24 24" {...props}>
38
+ <path
39
+ d="M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z"
40
+ fill="currentColor"
41
+ />
42
+ </svg>
43
+ ),
44
+ json: (props: IconProps) => (
45
+ <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" {...props}>
46
+ <path
47
+ d="M12.043 23.968c.479-.004.953-.029 1.426-.094a11.805 11.805 0 0 0 3.146-.863 12.404 12.404 0 0 0 3.793-2.542 11.977 11.977 0 0 0 2.44-3.427 11.794 11.794 0 0 0 1.02-3.476c.149-1.16.135-2.346-.045-3.499a11.96 11.96 0 0 0-.793-2.788 11.197 11.197 0 0 0-.854-1.617c-1.168-1.837-2.861-3.314-4.81-4.3a12.835 12.835 0 0 0-2.172-.87h-.005c.119.063.24.132.345.201.12.074.239.146.351.225a8.93 8.93 0 0 1 1.559 1.33c1.063 1.145 1.797 2.548 2.218 4.041.284.982.434 1.998.495 3.017.044.743.044 1.491-.047 2.229-.149 1.27-.554 2.51-1.228 3.596a7.475 7.475 0 0 1-1.903 2.084c-1.244.928-2.877 1.482-4.436 1.114a3.916 3.916 0 0 1-.748-.258 4.692 4.692 0 0 1-.779-.45 6.08 6.08 0 0 1-1.244-1.105 6.507 6.507 0 0 1-1.049-1.747 7.366 7.366 0 0 1-.494-2.54c-.03-1.273.225-2.553.854-3.67a6.43 6.43 0 0 1 1.663-1.918c.225-.178.464-.333.704-.479l.016-.007a5.121 5.121 0 0 0-1.441-.12 4.963 4.963 0 0 0-1.228.24c-.359.12-.704.27-1.019.45a6.146 6.146 0 0 0-.733.494c-.211.18-.42.36-.615.555-1.123 1.153-1.768 2.682-2.022 4.256-.15.973-.15 1.96-.091 2.95.105 1.395.391 2.787.945 4.062a8.518 8.518 0 0 0 1.348 2.173 8.14 8.14 0 0 0 3.132 2.23 7.934 7.934 0 0 0 2.113.54c.074.015.149.015.209.015zm-2.934-.398a4.102 4.102 0 0 1-.45-.228 8.5 8.5 0 0 1-2.038-1.534c-1.094-1.137-1.827-2.566-2.247-4.08a15.184 15.184 0 0 1-.495-3.172 12.14 12.14 0 0 1 .046-2.082c.135-1.257.495-2.501 1.124-3.58a6.889 6.889 0 0 1 1.783-2.053 6.23 6.23 0 0 1 1.633-.9 5.363 5.363 0 0 1 3.522-.045c.029 0 .029 0 .045.03.015.015.045.015.06.03.045.016.104.045.165.074.239.12.479.271.704.42a6.294 6.294 0 0 1 2.097 2.502c.42.914.615 1.934.631 2.938.014 1.079-.18 2.157-.645 3.146a6.42 6.42 0 0 1-2.638 2.832c.09.03.18.045.271.075.225.044.449.074.688.074 1.468.045 2.892-.66 3.94-1.647.195-.18.375-.375.54-.585.225-.27.435-.54.614-.823.239-.375.435-.75.614-1.154a8.112 8.112 0 0 0 .509-1.664c.196-1.004.211-2.022.149-3.026-.135-2.022-.673-4.045-1.842-5.724a9.054 9.054 0 0 0-.555-.719 9.868 9.868 0 0 0-1.063-1.034 8.477 8.477 0 0 0-1.363-.915 9.927 9.927 0 0 0-1.692-.598l-.3-.06c-.209-.03-.42-.044-.634-.06a8.453 8.453 0 0 0-1.015.016c-.704.045-1.412.16-2.112.337C5.799 1.227 2.863 3.566 1.3 6.67A11.834 11.834 0 0 0 .238 9.801a11.81 11.81 0 0 0-.104 3.775c.12 1.02.374 2.023.778 2.977.227.57.511 1.124.825 1.648 1.094 1.783 2.683 3.236 4.51 4.24.688.39 1.408.69 2.157.944.226.074.45.15.689.21z"
48
+ fill="currentColor"
49
+ />
50
+ </svg>
51
+ ),
52
+ logo: (props: IconProps) => (
53
+ <svg fill="none" height="450" viewBox="0 0 448 450" width="448" xmlns="http://www.w3.org/2000/svg" {...props}>
54
+ <path
55
+ d="M411.865 36.1073C440.389 64.7279 449.871 103.943 447.02 140.62C444.182 177.135 429.014 213.134 405.494 236.734L236.209 406.588C236.207 406.588 236.098 406.48 225.88 396.227L236.208 406.59L231.161 411.653L224.078 410.77L77.3506 392.475L25.0592 444.943C19.3552 450.666 10.1073 450.666 4.40329 444.943C-1.30081 439.219 -1.30081 429.94 4.40329 424.217L56.6919 371.752L38.4584 224.525L37.5786 217.419L42.625 212.355L52.9534 222.718C42.7142 212.444 42.6262 212.355 42.6264 212.354L153.142 101.466C153.183 101.425 153.224 101.383 153.266 101.341L211.912 42.4995C234.792 19.5418 270.681 4.37407 307.123 1.35131C343.734 -1.68543 383.246 7.39278 411.865 36.1073ZM169.547 299.968L103.534 366.204L220.599 380.8L300.178 300.951L169.547 299.968ZM68.3288 228.017L82.8749 345.48L148.927 279.206L148.927 147.147L68.3288 228.017ZM236.436 232.853L198.543 270.874L329.173 271.858L367.067 233.838L236.436 232.853ZM391.208 56.833C370.283 35.8381 340.17 28.0215 309.53 30.563C278.72 33.1186 249.733 46.002 232.567 63.2245L178.14 117.835V249.894L302.055 125.562C307.759 119.839 317.008 119.839 322.712 125.562C328.416 131.286 328.415 140.565 322.712 146.288L265.431 203.761L394.375 204.732C407.178 187.032 415.965 163.189 417.896 138.342C420.264 107.883 412.226 77.9219 391.208 56.833Z"
56
+ fill="white"
57
+ />
58
+ </svg>
59
+ ),
60
+ npm: (props: IconProps) => (
61
+ <svg viewBox="0 0 24 24" {...props}>
62
+ <path
63
+ d="M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z"
64
+ fill="currentColor"
65
+ />
66
+ </svg>
67
+ ),
68
+ paypal: (props: IconProps) => (
69
+ <svg role="img" viewBox="0 0 24 24" {...props}>
70
+ <path
71
+ d="M7.076 21.337H2.47a.641.641 0 0 1-.633-.74L4.944.901C5.026.382 5.474 0 5.998 0h7.46c2.57 0 4.578.543 5.69 1.81 1.01 1.15 1.304 2.42 1.012 4.287-.023.143-.047.288-.077.437-.983 5.05-4.349 6.797-8.647 6.797h-2.19c-.524 0-.968.382-1.05.9l-1.12 7.106zm14.146-14.42a3.35 3.35 0 0 0-.607-.541c-.013.076-.026.175-.041.254-.93 4.778-4.005 7.201-9.138 7.201h-2.19a.563.563 0 0 0-.556.479l-1.187 7.527h-.506l-.24 1.516a.56.56 0 0 0 .554.647h3.882c.46 0 .85-.334.922-.788.06-.26.76-4.852.816-5.09a.932.932 0 0 1 .923-.788h.58c3.76 0 6.705-1.528 7.565-5.946.36-1.847.174-3.388-.777-4.471z"
72
+ fill="currentColor"
73
+ />
74
+ </svg>
75
+ ),
76
+ pnpm: (props: IconProps) => (
77
+ <svg viewBox="0 0 24 24" {...props}>
78
+ <path
79
+ d="M0 0v7.5h7.5V0zm8.25 0v7.5h7.498V0zm8.25 0v7.5H24V0zM8.25 8.25v7.5h7.498v-7.5zm8.25 0v7.5H24v-7.5zM0 16.5V24h7.5v-7.5zm8.25 0V24h7.498v-7.5zm8.25 0V24H24v-7.5z"
80
+ fill="currentColor"
81
+ />
82
+ </svg>
83
+ ),
84
+ radix: (props: IconProps) => (
85
+ <svg fill="none" viewBox="0 0 25 25" {...props}>
86
+ <path d="M12 25C7.58173 25 4 21.4183 4 17C4 12.5817 7.58173 9 12 9V25Z" fill="currentcolor"></path>
87
+ <path d="M12 0H4V8H12V0Z" fill="currentcolor"></path>
88
+ <path
89
+ d="M17 8C19.2091 8 21 6.20914 21 4C21 1.79086 19.2091 0 17 0C14.7909 0 13 1.79086 13 4C13 6.20914 14.7909 8 17 8Z"
90
+ fill="currentcolor"></path>
91
+ </svg>
92
+ ),
93
+ react: (props: IconProps) => (
94
+ <svg viewBox="0 0 24 24" {...props}>
95
+ <path
96
+ d="M14.23 12.004a2.236 2.236 0 0 1-2.235 2.236 2.236 2.236 0 0 1-2.236-2.236 2.236 2.236 0 0 1 2.235-2.236 2.236 2.236 0 0 1 2.236 2.236zm2.648-10.69c-1.346 0-3.107.96-4.888 2.622-1.78-1.653-3.542-2.602-4.887-2.602-.41 0-.783.093-1.106.278-1.375.793-1.683 3.264-.973 6.365C1.98 8.917 0 10.42 0 12.004c0 1.59 1.99 3.097 5.043 4.03-.704 3.113-.39 5.588.988 6.38.32.187.69.275 1.102.275 1.345 0 3.107-.96 4.888-2.624 1.78 1.654 3.542 2.603 4.887 2.603.41 0 .783-.09 1.106-.275 1.374-.792 1.683-3.263.973-6.365C22.02 15.096 24 13.59 24 12.004c0-1.59-1.99-3.097-5.043-4.032.704-3.11.39-5.587-.988-6.38-.318-.184-.688-.277-1.092-.278zm-.005 1.09v.006c.225 0 .406.044.558.127.666.382.955 1.835.73 3.704-.054.46-.142.945-.25 1.44-.96-.236-2.006-.417-3.107-.534-.66-.905-1.345-1.727-2.035-2.447 1.592-1.48 3.087-2.292 4.105-2.295zm-9.77.02c1.012 0 2.514.808 4.11 2.28-.686.72-1.37 1.537-2.02 2.442-1.107.117-2.154.298-3.113.538-.112-.49-.195-.964-.254-1.42-.23-1.868.054-3.32.714-3.707.19-.09.4-.127.563-.132zm4.882 3.05c.455.468.91.992 1.36 1.564-.44-.02-.89-.034-1.345-.034-.46 0-.915.01-1.36.034.44-.572.895-1.096 1.345-1.565zM12 8.1c.74 0 1.477.034 2.202.093.406.582.802 1.203 1.183 1.86.372.64.71 1.29 1.018 1.946-.308.655-.646 1.31-1.013 1.95-.38.66-.773 1.288-1.18 1.87-.728.063-1.466.098-2.21.098-.74 0-1.477-.035-2.202-.093-.406-.582-.802-1.204-1.183-1.86-.372-.64-.71-1.29-1.018-1.946.303-.657.646-1.313 1.013-1.954.38-.66.773-1.286 1.18-1.868.728-.064 1.466-.098 2.21-.098zm-3.635.254c-.24.377-.48.763-.704 1.16-.225.39-.435.782-.635 1.174-.265-.656-.49-1.31-.676-1.947.64-.15 1.315-.283 2.015-.386zm7.26 0c.695.103 1.365.23 2.006.387-.18.632-.405 1.282-.66 1.933-.2-.39-.41-.783-.64-1.174-.225-.392-.465-.774-.705-1.146zm3.063.675c.484.15.944.317 1.375.498 1.732.74 2.852 1.708 2.852 2.476-.005.768-1.125 1.74-2.857 2.475-.42.18-.88.342-1.355.493-.28-.958-.646-1.956-1.1-2.98.45-1.017.81-2.01 1.085-2.964zm-13.395.004c.278.96.645 1.957 1.1 2.98-.45 1.017-.812 2.01-1.086 2.964-.484-.15-.944-.318-1.37-.5-1.732-.737-2.852-1.706-2.852-2.474 0-.768 1.12-1.742 2.852-2.476.42-.18.88-.342 1.356-.494zm11.678 4.28c.265.657.49 1.312.676 1.948-.64.157-1.316.29-2.016.39.24-.375.48-.762.705-1.158.225-.39.435-.788.636-1.18zm-9.945.02c.2.392.41.783.64 1.175.23.39.465.772.705 1.143-.695-.102-1.365-.23-2.006-.386.18-.63.406-1.282.66-1.933zM17.92 16.32c.112.493.2.968.254 1.423.23 1.868-.054 3.32-.714 3.708-.147.09-.338.128-.563.128-1.012 0-2.514-.807-4.11-2.28.686-.72 1.37-1.536 2.02-2.44 1.107-.118 2.154-.3 3.113-.54zm-11.83.01c.96.234 2.006.415 3.107.532.66.905 1.345 1.727 2.035 2.446-1.595 1.483-3.092 2.295-4.11 2.295-.22-.005-.406-.05-.553-.132-.666-.38-.955-1.834-.73-3.703.054-.46.142-.944.25-1.438zm4.56.64c.44.02.89.034 1.345.034.46 0 .915-.01 1.36-.034-.44.572-.895 1.095-1.345 1.565-.455-.47-.91-.993-1.36-1.565z"
97
+ fill="currentColor"
98
+ />
99
+ </svg>
100
+ ),
101
+ spinner: (props: IconProps) => (
102
+ <svg
103
+ fill="none"
104
+ height="24"
105
+ stroke="currentColor"
106
+ strokeLinecap="round"
107
+ strokeLinejoin="round"
108
+ strokeWidth="2"
109
+ viewBox="0 0 24 24"
110
+ width="24"
111
+ xmlns="http://www.w3.org/2000/svg"
112
+ {...props}>
113
+ <path d="M21 12a9 9 0 1 1-6.219-8.56" />
114
+ </svg>
115
+ ),
116
+ tailwind: (props: IconProps) => (
117
+ <svg viewBox="0 0 24 24" {...props}>
118
+ <path
119
+ d="M12.001,4.8c-3.2,0-5.2,1.6-6,4.8c1.2-1.6,2.6-2.2,4.2-1.8c0.913,0.228,1.565,0.89,2.288,1.624 C13.666,10.618,15.027,12,18.001,12c3.2,0,5.2-1.6,6-4.8c-1.2,1.6-2.6,2.2-4.2,1.8c-0.913-0.228-1.565-0.89-2.288-1.624 C16.337,6.182,14.976,4.8,12.001,4.8z M6.001,12c-3.2,0-5.2,1.6-6,4.8c1.2-1.6,2.6-2.2,4.2-1.8c0.913,0.228,1.565,0.89,2.288,1.624 c1.177,1.194,2.538,2.576,5.512,2.576c3.2,0,5.2-1.6,6-4.8c-1.2,1.6-2.6,2.2-4.2,1.8c-0.913-0.228-1.565-0.89-2.288-1.624 C10.337,13.382,8.976,12,6.001,12z"
120
+ fill="currentColor"
121
+ />
122
+ </svg>
123
+ ),
124
+
125
+ toml: (props: IconProps) => (
126
+ <svg
127
+ data-darkreader-inline-fill=""
128
+ data-darkreader-inline-stroke=""
129
+ fill="currentColor"
130
+ height="200px"
131
+ role="img"
132
+ stroke="currentColor"
133
+ stroke-width="0"
134
+ style={
135
+ {
136
+ '--darkreader-inline-fill': 'currentColor',
137
+ '--darkreader-inline-stroke': 'currentColor',
138
+ } as React.CSSProperties
139
+ }
140
+ viewBox="0 0 24 24"
141
+ width="200px"
142
+ xmlns="http://www.w3.org/2000/svg"
143
+ {...props}>
144
+ <path d="M.014 0h5.34v2.652H2.888v18.681h2.468V24H.015V0Zm17.622 5.049v2.78h-4.274v12.935h-3.008V7.83H6.059V5.05h11.577ZM23.986 24h-5.34v-2.652h2.467V2.667h-2.468V0h5.34v24Z"></path>
145
+ </svg>
146
+ ),
147
+ ts: (props: IconProps) => (
148
+ <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" {...props}>
149
+ <path d="M1.125 0C.502 0 0 .502 0 1.125v21.75C0 23.498.502 24 1.125 24h21.75c.623 0 1.125-.502 1.125-1.125V1.125C24 .502 23.498 0 22.875 0zm17.363 9.75c.612 0 1.154.037 1.627.111a6.38 6.38 0 0 1 1.306.34v2.458a3.95 3.95 0 0 0-.643-.361 5.093 5.093 0 0 0-.717-.26 5.453 5.453 0 0 0-1.426-.2c-.3 0-.573.028-.819.086a2.1 2.1 0 0 0-.623.242c-.17.104-.3.229-.393.374a.888.888 0 0 0-.14.49c0 .196.053.373.156.529.104.156.252.304.443.444s.423.276.696.41c.273.135.582.274.926.416.47.197.892.407 1.266.628.374.222.695.473.963.753.268.279.472.598.614.957.142.359.214.776.214 1.253 0 .657-.125 1.21-.373 1.656a3.033 3.033 0 0 1-1.012 1.085 4.38 4.38 0 0 1-1.487.596c-.566.12-1.163.18-1.79.18a9.916 9.916 0 0 1-1.84-.164 5.544 5.544 0 0 1-1.512-.493v-2.63a5.033 5.033 0 0 0 3.237 1.2c.333 0 .624-.03.872-.09.249-.06.456-.144.623-.25.166-.108.29-.234.373-.38a1.023 1.023 0 0 0-.074-1.089 2.12 2.12 0 0 0-.537-.5 5.597 5.597 0 0 0-.807-.444 27.72 27.72 0 0 0-1.007-.436c-.918-.383-1.602-.852-2.053-1.405-.45-.553-.676-1.222-.676-2.005 0-.614.123-1.141.369-1.582.246-.441.58-.804 1.004-1.089a4.494 4.494 0 0 1 1.47-.629 7.536 7.536 0 0 1 1.77-.201zm-15.113.188h9.563v2.166H9.506v9.646H6.789v-9.646H3.375z" />
150
+ </svg>
151
+ ),
152
+ twitter: (props: IconProps) => (
153
+ <svg {...props} height="23" viewBox="0 0 1200 1227" width="23" xmlns="http://www.w3.org/2000/svg">
154
+ <path d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z" />
155
+ </svg>
156
+ ),
157
+ v0: (props: IconProps) => (
158
+ <svg fill="none" viewBox="0 0 40 20" xmlns="http://www.w3.org/2000/svg" {...props}>
159
+ <path
160
+ d="M23.3919 0H32.9188C36.7819 0 39.9136 3.13165 39.9136 6.99475V16.0805H36.0006V6.99475C36.0006 6.90167 35.9969 6.80925 35.9898 6.71766L26.4628 16.079C26.4949 16.08 26.5272 16.0805 26.5595 16.0805H36.0006V19.7762H26.5595C22.6964 19.7762 19.4788 16.6139 19.4788 12.7508V3.68923H23.3919V12.7508C23.3919 12.9253 23.4054 13.0977 23.4316 13.2668L33.1682 3.6995C33.0861 3.6927 33.003 3.68923 32.9188 3.68923H23.3919V0Z"
161
+ fill="currentColor"></path>
162
+ <path
163
+ d="M13.7688 19.0956L0 3.68759H5.53933L13.6231 12.7337V3.68759H17.7535V17.5746C17.7535 19.6705 15.1654 20.6584 13.7688 19.0956Z"
164
+ fill="currentColor"></path>
165
+ </svg>
166
+ ),
167
+ yarn: (props: IconProps) => (
168
+ <svg viewBox="0 0 24 24" {...props}>
169
+ <path
170
+ d="M12 0C5.375 0 0 5.375 0 12s5.375 12 12 12 12-5.375 12-12S18.625 0 12 0zm.768 4.105c.183 0 .363.053.525.157.125.083.287.185.755 1.154.31-.088.468-.042.551-.019.204.056.366.19.463.375.477.917.542 2.553.334 3.605-.241 1.232-.755 2.029-1.131 2.576.324.329.778.899 1.117 1.825.278.774.31 1.478.273 2.015a5.51 5.51 0 0 0 .602-.329c.593-.366 1.487-.917 2.553-.931.714-.009 1.269.445 1.353 1.103a1.23 1.23 0 0 1-.945 1.362c-.649.158-.95.278-1.821.843-1.232.797-2.539 1.242-3.012 1.39a1.686 1.686 0 0 1-.704.343c-.737.181-3.266.315-3.466.315h-.046c-.783 0-1.214-.241-1.45-.491-.658.329-1.51.19-2.122-.134a1.078 1.078 0 0 1-.58-1.153 1.243 1.243 0 0 1-.153-.195c-.162-.25-.528-.936-.454-1.946.056-.723.556-1.367.88-1.71a5.522 5.522 0 0 1 .408-2.256c.306-.727.885-1.348 1.32-1.737-.32-.537-.644-1.367-.329-2.21.227-.602.412-.936.82-1.08h-.005c.199-.074.389-.153.486-.259a3.418 3.418 0 0 1 2.298-1.103c.037-.093.079-.185.125-.283.31-.658.639-1.029 1.024-1.168a.94.94 0 0 1 .328-.06zm.006.7c-.507.016-1.001 1.519-1.001 1.519s-1.27-.204-2.266.871c-.199.218-.468.334-.746.44-.079.028-.176.023-.417.672-.371.991.625 2.094.625 2.094s-1.186.839-1.626 1.881c-.486 1.144-.338 2.261-.338 2.261s-.843.732-.899 1.487c-.051.663.139 1.2.343 1.515.227.343.51.176.51.176s-.561.653-.037.931c.477.25 1.283.394 1.71-.037.31-.31.371-1.001.486-1.283.028-.065.12.111.209.199.097.093.264.195.264.195s-.755.324-.445 1.066c.102.246.468.403 1.066.398.222-.005 2.664-.139 3.313-.296.375-.088.505-.283.505-.283s1.566-.431 2.998-1.357c.917-.598 1.293-.76 2.034-.936.612-.148.57-1.098-.241-1.084-.839.009-1.575.44-2.196.825-1.163.718-1.742.672-1.742.672l-.018-.032c-.079-.13.371-1.293-.134-2.678-.547-1.515-1.413-1.881-1.344-1.997.297-.5 1.038-1.297 1.334-2.78.176-.899.13-2.377-.269-3.151-.074-.144-.732.241-.732.241s-.616-1.371-.788-1.483a.271.271 0 0 0-.157-.046z"
171
+ fill="currentColor"
172
+ />
173
+ </svg>
174
+ ),
175
+ }
176
+
177
+ export function getIconForLanguageExtension(language: string) {
178
+ switch (language) {
179
+ case 'json':
180
+ return <Icons.json />
181
+ case 'css':
182
+ return <Icons.css className="fill-foreground" />
183
+ case 'js':
184
+ case 'jsx':
185
+ case 'ts':
186
+ case 'tsx':
187
+ case 'typescript':
188
+ return <Icons.ts className="fill-foreground" />
189
+ case 'toml':
190
+ return <Icons.toml className="fill-foreground" />
191
+ default:
192
+ return <FileIcon />
193
+ }
194
+ }
@@ -0,0 +1,13 @@
1
+ 'use client'
2
+ export * from './copy-button'
3
+ export * from './docs'
4
+ export * from './icons'
5
+ export * from './layouts'
6
+ export * from './main-nav'
7
+ export * from './mdx/mdx'
8
+ export * from './mdx/mdx-components'
9
+ export * from './mobile-nav'
10
+ export * from './mode-toggle'
11
+ export * from './page-header'
12
+ export * from './providers'
13
+ export * from './themes'
@@ -0,0 +1,166 @@
1
+ 'use client'
2
+
3
+ import { useDocsConfig } from '@duck-docs/context'
4
+ import { cn } from '@gentleduck/libs/cn'
5
+ import { Button } from '@gentleduck/registry-ui-duckui/button'
6
+ import {
7
+ CommandDialog,
8
+ CommandEmpty,
9
+ CommandGroup,
10
+ CommandInput,
11
+ CommandItem,
12
+ CommandList,
13
+ CommandSeparator,
14
+ CommandShortcut,
15
+ useCommandRefsContext,
16
+ } from '@gentleduck/registry-ui-duckui/command'
17
+ import { Separator } from '@gentleduck/registry-ui-duckui/separator'
18
+ import { useKeyCommands } from '@gentleduck/vim/react'
19
+ import { Circle, Command, CornerDownLeft, FileIcon, Moon, Sun } from 'lucide-react'
20
+ import { useRouter } from 'next/navigation'
21
+ import { useTheme } from 'next-themes'
22
+ import * as React from 'react'
23
+
24
+ export function CommandMenu() {
25
+ const router = useRouter()
26
+ const [open, setOpen] = React.useState(false)
27
+ const { setTheme } = useTheme()
28
+ const docsConfig = useDocsConfig()
29
+
30
+ const groupRef = React.useRef<HTMLUListElement>(null)
31
+ const items = [
32
+ ...docsConfig.sidebarNav.map((group) => ({
33
+ items: group.items?.map((navItem) => ({
34
+ action: () => router.push(navItem.href as string),
35
+ icon: <Circle className="mr-2 h-3 w-3" />,
36
+ name: navItem.title,
37
+ })),
38
+ title: group.title,
39
+ })),
40
+ {
41
+ items: [
42
+ {
43
+ action: () => setTheme('light'),
44
+ icon: <Sun className="mr-2 h-4 w-4" />,
45
+ name: 'Light',
46
+ },
47
+ {
48
+ action: () => setTheme('dark'),
49
+ icon: <Moon className="mr-2 h-4 w-4" />,
50
+ name: 'Dark',
51
+ },
52
+ {
53
+ action: () => setTheme('system'),
54
+ icon: <FileIcon className="mr-2 h-4 w-4" />,
55
+ name: 'System',
56
+ },
57
+ ],
58
+ title: 'Theme',
59
+ },
60
+ ]
61
+
62
+ return (
63
+ <>
64
+ <Button
65
+ className={cn(
66
+ 'relative h-8 w-full bg-muted/50 text-muted-foreground text-sm shadow-none md:w-40 lg:w-64 ltr:pr-2 rtl:pl-2 [&>div]:w-full [&>div]:justify-between',
67
+ )}
68
+ onClick={() => setOpen(true)}
69
+ size={'sm'}
70
+ variant="outline">
71
+ <span className="hidden lg:inline-flex">Search documentation...</span>
72
+ <span className="inline-flex lg:hidden">Search...</span>
73
+ <CommandShortcut
74
+ className="bg-secondary"
75
+ keys={'ctrl+k'}
76
+ onKeysPressed={() => {
77
+ setOpen(!open)
78
+ window.event?.preventDefault()
79
+ }}>
80
+ <Command className="!size-3" />
81
+ <span className="text-md">K</span>
82
+ </CommandShortcut>
83
+ </Button>
84
+ <CommandDialog onOpenChange={setOpen} open={open}>
85
+ <CommandInput autoFocus placeholder="Search..." />
86
+ <CommandEmpty>No results found.</CommandEmpty>
87
+ <CommandList className="h-[550px] max-h-full w-90 md:w-full">
88
+ {items.map((group, idx) => (
89
+ <React.Fragment key={group.title}>
90
+ <CommandGroup heading={group.title}>
91
+ {group.items?.map((item) => (
92
+ <CommandItem
93
+ id={item.name}
94
+ key={item.name}
95
+ onClick={() => {
96
+ setOpen(false)
97
+ item.action()
98
+ groupRef.current?.scrollTo(0, 0)
99
+ groupRef.current?.scrollIntoView({
100
+ behavior: 'smooth',
101
+ block: 'start',
102
+ inline: 'start',
103
+ })
104
+ }}>
105
+ {item.icon}
106
+ <span>{item.name}</span>
107
+ </CommandItem>
108
+ ))}
109
+ </CommandGroup>
110
+ {idx !== items.length - 1 && <CommandSeparator />}
111
+ </React.Fragment>
112
+ ))}
113
+ </CommandList>
114
+ <CommandFooter />
115
+ </CommandDialog>
116
+ </>
117
+ )
118
+ }
119
+
120
+ function CommandFooter() {
121
+ const { selectedItem } = useCommandRefsContext()
122
+ const docsConfig = useDocsConfig()
123
+ const sidebarItems = docsConfig.sidebarNav.flatMap((group) => group.items ?? [])
124
+ const selectedNavItem = sidebarItems.find((item) => item.title === selectedItem?.innerText)
125
+ useKeyCommands({
126
+ 'ctrl+shift+c': {
127
+ description: 'Copy command',
128
+ execute: () =>
129
+ navigator.clipboard.writeText(
130
+ ('pnpm dlx @gentleduck/cli add ' + selectedItem?.innerText.toLowerCase().replace(/ /g, '-')) as string,
131
+ ),
132
+ name: 'ctrl+shift+c',
133
+ },
134
+ })
135
+ return (
136
+ <div className="hidden w-full items-center justify-between gap-4 border-t px-2 pt-2 lg:flex">
137
+ <div className="flex w-full items-center justify-between gap-4">
138
+ {selectedItem?.innerText && (
139
+ <Button className={cn('px-2')} size={'sm'} variant={'outline'}>
140
+ <CornerDownLeft />
141
+ <Separator className="m-0 h-4 p-0" orientation="vertical" />
142
+ {selectedItem?.innerText}
143
+ </Button>
144
+ )}
145
+ {selectedItem?.innerText && selectedNavItem?.title ? (
146
+ <Button className={cn('px-2')} size={'sm'} variant={'outline'}>
147
+ <div className="flex items-center gap-1">
148
+ <Command className="!size-3" />
149
+ <p className="text-md">C</p>
150
+ </div>
151
+ <Separator className="m-0 h-4 p-0" orientation="vertical" />
152
+ <div className="flex items-center gap-1">
153
+ <span>pnpm dlx @gentleduck/cli add</span>
154
+ <span className="text-blue-400">{selectedNavItem.title.toLowerCase()}</span>
155
+ </div>
156
+ </Button>
157
+ ) : (
158
+ <p className="my-auto h-fit w-full whitespace-nowrap text-right text-muted-foreground text-sm">
159
+ <span className="whitespace-nowrap font-medium text-sm">Command palette</span> for the documentation
160
+ content.
161
+ </p>
162
+ )}
163
+ </div>
164
+ </div>
165
+ )
166
+ }
@@ -0,0 +1 @@
1
+ export * from './command-menu'
@@ -0,0 +1,4 @@
1
+ export * from './command-menu'
2
+ export * from './site-footer'
3
+ export * from './site-header'
4
+ export * from './tailwind-indicator'
@@ -0,0 +1,70 @@
1
+ 'use client'
2
+
3
+ import { useSiteConfig } from '@duck-docs/context'
4
+ import { buttonVariants } from '@gentleduck/registry-ui-duckui/button'
5
+ import { HeartIcon, Mail } from 'lucide-react'
6
+ import Link from 'next/link'
7
+
8
+ export function SiteFooter() {
9
+ const siteConfig = useSiteConfig()
10
+ const authorName = siteConfig.author?.name ?? siteConfig.name
11
+ const authorUrl = siteConfig.author?.url ?? siteConfig.links?.twitter
12
+ const githubUrl = siteConfig.links?.github
13
+
14
+ return (
15
+ <footer className="w-full border-t py-6 md:px-8 md:py-0">
16
+ <div className="container mx-auto flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
17
+ <div className="flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
18
+ <p className="text-balance text-center text-muted-foreground text-sm leading-loose md:text-left">
19
+ Built by{' '}
20
+ {authorUrl ? (
21
+ <a className="font-medium underline underline-offset-4" href={authorUrl} rel="noreferrer" target="_blank">
22
+ {authorName}
23
+ </a>
24
+ ) : (
25
+ <span className="font-medium">{authorName}</span>
26
+ )}
27
+ {githubUrl ? (
28
+ <>
29
+ . The source code is available on{' '}
30
+ <a
31
+ className="font-medium underline underline-offset-4"
32
+ href={githubUrl}
33
+ rel="noreferrer"
34
+ target="_blank">
35
+ GitHub
36
+ </a>
37
+ .
38
+ </>
39
+ ) : null}
40
+ </p>
41
+ </div>
42
+ <div className="hidden items-center gap-4 md:flex">
43
+ <FooterButtons />
44
+ </div>
45
+ </div>
46
+ </footer>
47
+ )
48
+ }
49
+
50
+ export function FooterButtons() {
51
+ const siteConfig = useSiteConfig()
52
+ return (
53
+ <>
54
+ <Link
55
+ className={buttonVariants({ size: 'sm', variant: 'outline' })}
56
+ href="https://github.com/sponsors/wildduck2"
57
+ target="_blank">
58
+ <HeartIcon className="mr-2 h-4 w-4 fill-current text-red-600" />
59
+ Sponsor
60
+ </Link>
61
+ <Link
62
+ className={buttonVariants({ size: 'sm', variant: 'outline' })}
63
+ href={siteConfig.links?.email ? `mailto:${siteConfig.links.email}` : 'mailto:support@gentleduck.org'}
64
+ target="_blank">
65
+ <Mail />
66
+ <span className="">Email</span>
67
+ </Link>
68
+ </>
69
+ )
70
+ }
@@ -0,0 +1,75 @@
1
+ 'use client'
2
+
3
+ import { useSiteConfig } from '@duck-docs/context'
4
+ import { cn } from '@gentleduck/libs/cn'
5
+ import Image from 'next/image'
6
+ import Link from 'next/link'
7
+ import type React from 'react'
8
+
9
+ type HeaderRootProps = React.HTMLAttributes<HTMLElement>
10
+
11
+ type HeaderContainerProps = React.HTMLAttributes<HTMLDivElement>
12
+
13
+ type HeaderBrandProps = {
14
+ className?: string
15
+ href?: string
16
+ logoClassName?: string
17
+ name?: string
18
+ nameClassName?: string
19
+ showName?: boolean
20
+ }
21
+
22
+ type HeaderSectionProps = React.HTMLAttributes<HTMLDivElement>
23
+
24
+ export function HeaderRoot({ className, ...props }: HeaderRootProps) {
25
+ return <header className={cn('sticky top-0 z-[47] w-full', className)} {...props} />
26
+ }
27
+
28
+ export function HeaderContainer({ className, children, ...props }: HeaderContainerProps) {
29
+ return (
30
+ <div className="container-wrapper">
31
+ <div className={cn('container flex h-16 items-center justify-between gap-2 md:gap-4', className)} {...props}>
32
+ {children}
33
+ </div>
34
+ </div>
35
+ )
36
+ }
37
+
38
+ export function HeaderBrand({
39
+ className,
40
+ href = '/',
41
+ logoClassName,
42
+ name,
43
+ nameClassName,
44
+ showName = true,
45
+ }: HeaderBrandProps) {
46
+ const siteConfig = useSiteConfig()
47
+ const logoDark = siteConfig.branding?.logoDark ?? '/icons/dark.png'
48
+ const logoLight = siteConfig.branding?.logoLight ?? '/icons/light.png'
49
+ const label = name ?? siteConfig.name
50
+ const nameClasses = nameClassName ?? 'hidden font-bold lg:inline-block'
51
+
52
+ return (
53
+ <Link className={cn('flex items-center gap-2 text-foreground', className)} href={href}>
54
+ <Image
55
+ alt="Logo"
56
+ className={cn('hidden h-6 w-6 dark:block', logoClassName)}
57
+ height={512}
58
+ src={logoDark}
59
+ width={512}
60
+ />
61
+ <Image
62
+ alt="Logo"
63
+ className={cn('block h-6 w-6 dark:hidden', logoClassName)}
64
+ height={512}
65
+ src={logoLight}
66
+ width={512}
67
+ />
68
+ {showName ? <span className={nameClasses}>{label}</span> : null}
69
+ </Link>
70
+ )
71
+ }
72
+
73
+ export function HeaderSection({ className, ...props }: HeaderSectionProps) {
74
+ return <div className={cn('flex items-center gap-2', className)} {...props} />
75
+ }