@nikala-ui/folio 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +221 -0
  3. package/dist/cli/commands/build.d.ts +5 -0
  4. package/dist/cli/commands/build.d.ts.map +1 -0
  5. package/dist/cli/commands/build.js +28 -0
  6. package/dist/cli/commands/build.js.map +1 -0
  7. package/dist/cli/commands/dev.d.ts +7 -0
  8. package/dist/cli/commands/dev.d.ts.map +1 -0
  9. package/dist/cli/commands/dev.js +33 -0
  10. package/dist/cli/commands/dev.js.map +1 -0
  11. package/dist/cli/commands/init.d.ts +2 -0
  12. package/dist/cli/commands/init.d.ts.map +1 -0
  13. package/dist/cli/commands/init.js +359 -0
  14. package/dist/cli/commands/init.js.map +1 -0
  15. package/dist/cli/commands/preview.d.ts +7 -0
  16. package/dist/cli/commands/preview.d.ts.map +1 -0
  17. package/dist/cli/commands/preview.js +25 -0
  18. package/dist/cli/commands/preview.js.map +1 -0
  19. package/dist/cli/commands/serve.d.ts +7 -0
  20. package/dist/cli/commands/serve.d.ts.map +1 -0
  21. package/dist/cli/commands/serve.js +34 -0
  22. package/dist/cli/commands/serve.js.map +1 -0
  23. package/dist/cli/index.d.ts +3 -0
  24. package/dist/cli/index.d.ts.map +1 -0
  25. package/dist/cli/index.js +55 -0
  26. package/dist/cli/index.js.map +1 -0
  27. package/dist/client/app-types.d.ts +18 -0
  28. package/dist/client/app-types.d.ts.map +1 -0
  29. package/dist/client/app-types.js +2 -0
  30. package/dist/client/app-types.js.map +1 -0
  31. package/dist/client/app.d.ts +5 -0
  32. package/dist/client/app.d.ts.map +1 -0
  33. package/dist/client/app.jsx +51 -0
  34. package/dist/client/app.jsx.map +1 -0
  35. package/dist/client/base.css +90 -0
  36. package/dist/client/components/docs-layout-shell.d.ts +23 -0
  37. package/dist/client/components/docs-layout-shell.d.ts.map +1 -0
  38. package/dist/client/components/docs-layout-shell.jsx +15 -0
  39. package/dist/client/components/docs-layout-shell.jsx.map +1 -0
  40. package/dist/client/components/docs-page-content.d.ts +9 -0
  41. package/dist/client/components/docs-page-content.d.ts.map +1 -0
  42. package/dist/client/components/docs-page-content.jsx +10 -0
  43. package/dist/client/components/docs-page-content.jsx.map +1 -0
  44. package/dist/client/entry.d.ts +2 -0
  45. package/dist/client/entry.d.ts.map +1 -0
  46. package/dist/client/entry.jsx +32 -0
  47. package/dist/client/entry.jsx.map +1 -0
  48. package/dist/client/index.html +23 -0
  49. package/dist/client/navigation/page-navigation.d.ts +9 -0
  50. package/dist/client/navigation/page-navigation.d.ts.map +1 -0
  51. package/dist/client/navigation/page-navigation.js +51 -0
  52. package/dist/client/navigation/page-navigation.js.map +1 -0
  53. package/dist/client/page-actions.d.ts +10 -0
  54. package/dist/client/page-actions.d.ts.map +1 -0
  55. package/dist/client/page-actions.js +63 -0
  56. package/dist/client/page-actions.js.map +1 -0
  57. package/dist/client/public/favicon.ico +0 -0
  58. package/dist/client/routing/use-docs-router.d.ts +17 -0
  59. package/dist/client/routing/use-docs-router.d.ts.map +1 -0
  60. package/dist/client/routing/use-docs-router.js +87 -0
  61. package/dist/client/routing/use-docs-router.js.map +1 -0
  62. package/dist/client/ssr-entry.d.ts +3 -0
  63. package/dist/client/ssr-entry.d.ts.map +1 -0
  64. package/dist/client/ssr-entry.jsx +13 -0
  65. package/dist/client/ssr-entry.jsx.map +1 -0
  66. package/dist/client/style.css +186 -0
  67. package/dist/client/utils/sidebar.d.ts +2 -0
  68. package/dist/client/utils/sidebar.d.ts.map +1 -0
  69. package/dist/client/utils/sidebar.js +2 -0
  70. package/dist/client/utils/sidebar.js.map +1 -0
  71. package/dist/components/mdx-components.d.ts +65 -0
  72. package/dist/components/mdx-components.d.ts.map +1 -0
  73. package/dist/components/mdx-components.jsx +133 -0
  74. package/dist/components/mdx-components.jsx.map +1 -0
  75. package/dist/components/ui/api-table.d.ts +29 -0
  76. package/dist/components/ui/api-table.d.ts.map +1 -0
  77. package/dist/components/ui/api-table.jsx +66 -0
  78. package/dist/components/ui/api-table.jsx.map +1 -0
  79. package/dist/components/ui/badge.d.ts +17 -0
  80. package/dist/components/ui/badge.d.ts.map +1 -0
  81. package/dist/components/ui/badge.jsx +33 -0
  82. package/dist/components/ui/badge.jsx.map +1 -0
  83. package/dist/components/ui/breadcrumb.d.ts +51 -0
  84. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  85. package/dist/components/ui/breadcrumb.jsx +62 -0
  86. package/dist/components/ui/breadcrumb.jsx.map +1 -0
  87. package/dist/components/ui/button.d.ts +19 -0
  88. package/dist/components/ui/button.d.ts.map +1 -0
  89. package/dist/components/ui/button.jsx +54 -0
  90. package/dist/components/ui/button.jsx.map +1 -0
  91. package/dist/components/ui/callout.d.ts +21 -0
  92. package/dist/components/ui/callout.d.ts.map +1 -0
  93. package/dist/components/ui/callout.jsx +76 -0
  94. package/dist/components/ui/callout.jsx.map +1 -0
  95. package/dist/components/ui/card.d.ts +44 -0
  96. package/dist/components/ui/card.d.ts.map +1 -0
  97. package/dist/components/ui/card.jsx +45 -0
  98. package/dist/components/ui/card.jsx.map +1 -0
  99. package/dist/components/ui/code-block.d.ts +23 -0
  100. package/dist/components/ui/code-block.d.ts.map +1 -0
  101. package/dist/components/ui/code-block.jsx +263 -0
  102. package/dist/components/ui/code-block.jsx.map +1 -0
  103. package/dist/components/ui/collapsible.d.ts +27 -0
  104. package/dist/components/ui/collapsible.d.ts.map +1 -0
  105. package/dist/components/ui/collapsible.jsx +29 -0
  106. package/dist/components/ui/collapsible.jsx.map +1 -0
  107. package/dist/components/ui/command.d.ts +57 -0
  108. package/dist/components/ui/command.d.ts.map +1 -0
  109. package/dist/components/ui/command.jsx +224 -0
  110. package/dist/components/ui/command.jsx.map +1 -0
  111. package/dist/components/ui/component-viewer.d.ts +33 -0
  112. package/dist/components/ui/component-viewer.d.ts.map +1 -0
  113. package/dist/components/ui/component-viewer.jsx +210 -0
  114. package/dist/components/ui/component-viewer.jsx.map +1 -0
  115. package/dist/components/ui/container.d.ts +13 -0
  116. package/dist/components/ui/container.d.ts.map +1 -0
  117. package/dist/components/ui/container.jsx +29 -0
  118. package/dist/components/ui/container.jsx.map +1 -0
  119. package/dist/components/ui/dropdown-menu.d.ts +58 -0
  120. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  121. package/dist/components/ui/dropdown-menu.jsx +112 -0
  122. package/dist/components/ui/dropdown-menu.jsx.map +1 -0
  123. package/dist/components/ui/input-group.d.ts +16 -0
  124. package/dist/components/ui/input-group.d.ts.map +1 -0
  125. package/dist/components/ui/input-group.jsx +33 -0
  126. package/dist/components/ui/input-group.jsx.map +1 -0
  127. package/dist/components/ui/kbd.d.ts +15 -0
  128. package/dist/components/ui/kbd.d.ts.map +1 -0
  129. package/dist/components/ui/kbd.jsx +42 -0
  130. package/dist/components/ui/kbd.jsx.map +1 -0
  131. package/dist/components/ui/list.d.ts +36 -0
  132. package/dist/components/ui/list.d.ts.map +1 -0
  133. package/dist/components/ui/list.jsx +131 -0
  134. package/dist/components/ui/list.jsx.map +1 -0
  135. package/dist/components/ui/logo.d.ts +9 -0
  136. package/dist/components/ui/logo.d.ts.map +1 -0
  137. package/dist/components/ui/logo.jsx +31 -0
  138. package/dist/components/ui/logo.jsx.map +1 -0
  139. package/dist/components/ui/navbar.d.ts +57 -0
  140. package/dist/components/ui/navbar.d.ts.map +1 -0
  141. package/dist/components/ui/navbar.jsx +174 -0
  142. package/dist/components/ui/navbar.jsx.map +1 -0
  143. package/dist/components/ui/package-manager-tabs.d.ts +21 -0
  144. package/dist/components/ui/package-manager-tabs.d.ts.map +1 -0
  145. package/dist/components/ui/package-manager-tabs.jsx +167 -0
  146. package/dist/components/ui/package-manager-tabs.jsx.map +1 -0
  147. package/dist/components/ui/pager.d.ts +27 -0
  148. package/dist/components/ui/pager.d.ts.map +1 -0
  149. package/dist/components/ui/pager.jsx +50 -0
  150. package/dist/components/ui/pager.jsx.map +1 -0
  151. package/dist/components/ui/scroll-area.d.ts +9 -0
  152. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  153. package/dist/components/ui/scroll-area.jsx +160 -0
  154. package/dist/components/ui/scroll-area.jsx.map +1 -0
  155. package/dist/components/ui/section-heading.d.ts +23 -0
  156. package/dist/components/ui/section-heading.d.ts.map +1 -0
  157. package/dist/components/ui/section-heading.jsx +82 -0
  158. package/dist/components/ui/section-heading.jsx.map +1 -0
  159. package/dist/components/ui/separator.d.ts +13 -0
  160. package/dist/components/ui/separator.d.ts.map +1 -0
  161. package/dist/components/ui/separator.jsx +16 -0
  162. package/dist/components/ui/separator.jsx.map +1 -0
  163. package/dist/components/ui/sidebar.d.ts +103 -0
  164. package/dist/components/ui/sidebar.d.ts.map +1 -0
  165. package/dist/components/ui/sidebar.jsx +315 -0
  166. package/dist/components/ui/sidebar.jsx.map +1 -0
  167. package/dist/components/ui/skeleton.d.ts +9 -0
  168. package/dist/components/ui/skeleton.d.ts.map +1 -0
  169. package/dist/components/ui/skeleton.jsx +11 -0
  170. package/dist/components/ui/skeleton.jsx.map +1 -0
  171. package/dist/components/ui/spinner.d.ts +11 -0
  172. package/dist/components/ui/spinner.d.ts.map +1 -0
  173. package/dist/components/ui/spinner.jsx +21 -0
  174. package/dist/components/ui/spinner.jsx.map +1 -0
  175. package/dist/components/ui/table-of-contents.d.ts +20 -0
  176. package/dist/components/ui/table-of-contents.d.ts.map +1 -0
  177. package/dist/components/ui/table-of-contents.jsx +77 -0
  178. package/dist/components/ui/table-of-contents.jsx.map +1 -0
  179. package/dist/components/ui/table.d.ts +58 -0
  180. package/dist/components/ui/table.d.ts.map +1 -0
  181. package/dist/components/ui/table.jsx +61 -0
  182. package/dist/components/ui/table.jsx.map +1 -0
  183. package/dist/components/ui/tabs.d.ts +42 -0
  184. package/dist/components/ui/tabs.d.ts.map +1 -0
  185. package/dist/components/ui/tabs.jsx +93 -0
  186. package/dist/components/ui/tabs.jsx.map +1 -0
  187. package/dist/components/ui/theme-toggle.d.ts +19 -0
  188. package/dist/components/ui/theme-toggle.d.ts.map +1 -0
  189. package/dist/components/ui/theme-toggle.jsx +142 -0
  190. package/dist/components/ui/theme-toggle.jsx.map +1 -0
  191. package/dist/components/ui/tooltip.d.ts +10 -0
  192. package/dist/components/ui/tooltip.d.ts.map +1 -0
  193. package/dist/components/ui/tooltip.jsx +18 -0
  194. package/dist/components/ui/tooltip.jsx.map +1 -0
  195. package/dist/config.d.ts +6 -0
  196. package/dist/config.d.ts.map +1 -0
  197. package/dist/config.js +105 -0
  198. package/dist/config.js.map +1 -0
  199. package/dist/core/content-scanner.d.ts +10 -0
  200. package/dist/core/content-scanner.d.ts.map +1 -0
  201. package/dist/core/content-scanner.js +218 -0
  202. package/dist/core/content-scanner.js.map +1 -0
  203. package/dist/core/route-tree.d.ts +24 -0
  204. package/dist/core/route-tree.d.ts.map +1 -0
  205. package/dist/core/route-tree.js +221 -0
  206. package/dist/core/route-tree.js.map +1 -0
  207. package/dist/hooks/create-click-outside.d.ts +18 -0
  208. package/dist/hooks/create-click-outside.d.ts.map +1 -0
  209. package/dist/hooks/create-click-outside.js +55 -0
  210. package/dist/hooks/create-click-outside.js.map +1 -0
  211. package/dist/hooks/create-clipboard.d.ts +20 -0
  212. package/dist/hooks/create-clipboard.d.ts.map +1 -0
  213. package/dist/hooks/create-clipboard.js +48 -0
  214. package/dist/hooks/create-clipboard.js.map +1 -0
  215. package/dist/hooks/create-color-mode.d.ts +27 -0
  216. package/dist/hooks/create-color-mode.d.ts.map +1 -0
  217. package/dist/hooks/create-color-mode.js +86 -0
  218. package/dist/hooks/create-color-mode.js.map +1 -0
  219. package/dist/hooks/create-controllable-signal.d.ts +17 -0
  220. package/dist/hooks/create-controllable-signal.d.ts.map +1 -0
  221. package/dist/hooks/create-controllable-signal.js +35 -0
  222. package/dist/hooks/create-controllable-signal.js.map +1 -0
  223. package/dist/hooks/create-focus-trap.d.ts +15 -0
  224. package/dist/hooks/create-focus-trap.d.ts.map +1 -0
  225. package/dist/hooks/create-focus-trap.js +72 -0
  226. package/dist/hooks/create-focus-trap.js.map +1 -0
  227. package/dist/hooks/create-keybindings.d.ts +34 -0
  228. package/dist/hooks/create-keybindings.d.ts.map +1 -0
  229. package/dist/hooks/create-keybindings.js +113 -0
  230. package/dist/hooks/create-keybindings.js.map +1 -0
  231. package/dist/hooks/create-lock-scroll.d.ts +20 -0
  232. package/dist/hooks/create-lock-scroll.d.ts.map +1 -0
  233. package/dist/hooks/create-lock-scroll.js +77 -0
  234. package/dist/hooks/create-lock-scroll.js.map +1 -0
  235. package/dist/hooks/create-resize-observer.d.ts +27 -0
  236. package/dist/hooks/create-resize-observer.d.ts.map +1 -0
  237. package/dist/hooks/create-resize-observer.js +59 -0
  238. package/dist/hooks/create-resize-observer.js.map +1 -0
  239. package/dist/hooks/create-scroll-position.d.ts +29 -0
  240. package/dist/hooks/create-scroll-position.d.ts.map +1 -0
  241. package/dist/hooks/create-scroll-position.js +101 -0
  242. package/dist/hooks/create-scroll-position.js.map +1 -0
  243. package/dist/index.d.ts +13 -0
  244. package/dist/index.d.ts.map +1 -0
  245. package/dist/index.js +14 -0
  246. package/dist/index.js.map +1 -0
  247. package/dist/lib/cn.d.ts +6 -0
  248. package/dist/lib/cn.d.ts.map +1 -0
  249. package/dist/lib/cn.js +9 -0
  250. package/dist/lib/cn.js.map +1 -0
  251. package/dist/mdx/compiler.d.ts +13 -0
  252. package/dist/mdx/compiler.d.ts.map +1 -0
  253. package/dist/mdx/compiler.js +38 -0
  254. package/dist/mdx/compiler.js.map +1 -0
  255. package/dist/mdx/highlighter.d.ts +22 -0
  256. package/dist/mdx/highlighter.d.ts.map +1 -0
  257. package/dist/mdx/highlighter.js +190 -0
  258. package/dist/mdx/highlighter.js.map +1 -0
  259. package/dist/mdx/rehype-shiki.d.ts +3 -0
  260. package/dist/mdx/rehype-shiki.d.ts.map +1 -0
  261. package/dist/mdx/rehype-shiki.js +83 -0
  262. package/dist/mdx/rehype-shiki.js.map +1 -0
  263. package/dist/navigation/index.d.ts +3 -0
  264. package/dist/navigation/index.d.ts.map +1 -0
  265. package/dist/navigation/index.js +3 -0
  266. package/dist/navigation/index.js.map +1 -0
  267. package/dist/navigation/repository-links.d.ts +3 -0
  268. package/dist/navigation/repository-links.d.ts.map +1 -0
  269. package/dist/navigation/repository-links.js +35 -0
  270. package/dist/navigation/repository-links.js.map +1 -0
  271. package/dist/navigation/sidebar-state.d.ts +6 -0
  272. package/dist/navigation/sidebar-state.d.ts.map +1 -0
  273. package/dist/navigation/sidebar-state.js +20 -0
  274. package/dist/navigation/sidebar-state.js.map +1 -0
  275. package/dist/navigation/sidebar-tree.d.ts +7 -0
  276. package/dist/navigation/sidebar-tree.d.ts.map +1 -0
  277. package/dist/navigation/sidebar-tree.js +11 -0
  278. package/dist/navigation/sidebar-tree.js.map +1 -0
  279. package/dist/providers/theme-provider.d.ts +33 -0
  280. package/dist/providers/theme-provider.d.ts.map +1 -0
  281. package/dist/providers/theme-provider.jsx +158 -0
  282. package/dist/providers/theme-provider.jsx.map +1 -0
  283. package/dist/providers/theme-script.d.ts +16 -0
  284. package/dist/providers/theme-script.d.ts.map +1 -0
  285. package/dist/providers/theme-script.jsx +41 -0
  286. package/dist/providers/theme-script.jsx.map +1 -0
  287. package/dist/providers/theme-transitions.d.ts +12 -0
  288. package/dist/providers/theme-transitions.d.ts.map +1 -0
  289. package/dist/providers/theme-transitions.js +115 -0
  290. package/dist/providers/theme-transitions.js.map +1 -0
  291. package/dist/registry/api-table.json +21 -0
  292. package/dist/registry/badge.json +18 -0
  293. package/dist/registry/breadcrumb.json +17 -0
  294. package/dist/registry/button.json +21 -0
  295. package/dist/registry/callout.json +19 -0
  296. package/dist/registry/card.json +17 -0
  297. package/dist/registry/code-block.json +28 -0
  298. package/dist/registry/collapsible.json +18 -0
  299. package/dist/registry/command.json +27 -0
  300. package/dist/registry/component-viewer.json +25 -0
  301. package/dist/registry/container.json +18 -0
  302. package/dist/registry/create-click-outside.json +13 -0
  303. package/dist/registry/create-clipboard.json +13 -0
  304. package/dist/registry/create-color-mode.json +13 -0
  305. package/dist/registry/create-controllable-signal.json +13 -0
  306. package/dist/registry/create-focus-trap.json +13 -0
  307. package/dist/registry/create-keybindings.json +13 -0
  308. package/dist/registry/create-lock-scroll.json +13 -0
  309. package/dist/registry/create-resize-observer.json +13 -0
  310. package/dist/registry/create-scroll-position.json +13 -0
  311. package/dist/registry/dropdown-menu.json +22 -0
  312. package/dist/registry/input-group.json +21 -0
  313. package/dist/registry/kbd.json +18 -0
  314. package/dist/registry/list.json +20 -0
  315. package/dist/registry/logo.json +17 -0
  316. package/dist/registry/navbar.json +19 -0
  317. package/dist/registry/package-manager-tabs.json +24 -0
  318. package/dist/registry/pager.json +21 -0
  319. package/dist/registry/scroll-area.json +21 -0
  320. package/dist/registry/section-heading.json +21 -0
  321. package/dist/registry/separator.json +17 -0
  322. package/dist/registry/sidebar.json +24 -0
  323. package/dist/registry/skeleton.json +17 -0
  324. package/dist/registry/spinner.json +18 -0
  325. package/dist/registry/table-of-contents.json +23 -0
  326. package/dist/registry/table.json +17 -0
  327. package/dist/registry/tabs.json +20 -0
  328. package/dist/registry/theme-manager.json +39 -0
  329. package/dist/registry/tooltip.json +18 -0
  330. package/dist/search/provider.d.ts +14 -0
  331. package/dist/search/provider.d.ts.map +1 -0
  332. package/dist/search/provider.js +14 -0
  333. package/dist/search/provider.js.map +1 -0
  334. package/dist/server/index.d.ts +18 -0
  335. package/dist/server/index.d.ts.map +1 -0
  336. package/dist/server/index.js +565 -0
  337. package/dist/server/index.js.map +1 -0
  338. package/dist/server/plugin.d.ts +10 -0
  339. package/dist/server/plugin.d.ts.map +1 -0
  340. package/dist/server/plugin.js +522 -0
  341. package/dist/server/plugin.js.map +1 -0
  342. package/dist/theme-accent.d.ts +8 -0
  343. package/dist/theme-accent.d.ts.map +1 -0
  344. package/dist/theme-accent.js +18 -0
  345. package/dist/theme-accent.js.map +1 -0
  346. package/dist/theme-mode.d.ts +4 -0
  347. package/dist/theme-mode.d.ts.map +1 -0
  348. package/dist/theme-mode.js +5 -0
  349. package/dist/theme-mode.js.map +1 -0
  350. package/dist/themes/default/content/breadcrumbs.d.ts +4 -0
  351. package/dist/themes/default/content/breadcrumbs.d.ts.map +1 -0
  352. package/dist/themes/default/content/breadcrumbs.jsx +31 -0
  353. package/dist/themes/default/content/breadcrumbs.jsx.map +1 -0
  354. package/dist/themes/default/content/pager.d.ts +5 -0
  355. package/dist/themes/default/content/pager.d.ts.map +1 -0
  356. package/dist/themes/default/content/pager.jsx +9 -0
  357. package/dist/themes/default/content/pager.jsx.map +1 -0
  358. package/dist/themes/default/content/table-of-contents.d.ts +4 -0
  359. package/dist/themes/default/content/table-of-contents.d.ts.map +1 -0
  360. package/dist/themes/default/content/table-of-contents.jsx +19 -0
  361. package/dist/themes/default/content/table-of-contents.jsx.map +1 -0
  362. package/dist/themes/default/icons.d.ts +3 -0
  363. package/dist/themes/default/icons.d.ts.map +1 -0
  364. package/dist/themes/default/icons.js +15 -0
  365. package/dist/themes/default/icons.js.map +1 -0
  366. package/dist/themes/default/index.d.ts +12 -0
  367. package/dist/themes/default/index.d.ts.map +1 -0
  368. package/dist/themes/default/index.js +30 -0
  369. package/dist/themes/default/index.js.map +1 -0
  370. package/dist/themes/default/layout.d.ts +4 -0
  371. package/dist/themes/default/layout.d.ts.map +1 -0
  372. package/dist/themes/default/layout.jsx +194 -0
  373. package/dist/themes/default/layout.jsx.map +1 -0
  374. package/dist/themes/default/navbar.d.ts +4 -0
  375. package/dist/themes/default/navbar.d.ts.map +1 -0
  376. package/dist/themes/default/navbar.jsx +83 -0
  377. package/dist/themes/default/navbar.jsx.map +1 -0
  378. package/dist/themes/default/navigation/mobile-table-of-contents.d.ts +4 -0
  379. package/dist/themes/default/navigation/mobile-table-of-contents.d.ts.map +1 -0
  380. package/dist/themes/default/navigation/mobile-table-of-contents.jsx +38 -0
  381. package/dist/themes/default/navigation/mobile-table-of-contents.jsx.map +1 -0
  382. package/dist/themes/default/navigation/sidebar-tree.d.ts +8 -0
  383. package/dist/themes/default/navigation/sidebar-tree.d.ts.map +1 -0
  384. package/dist/themes/default/navigation/sidebar-tree.jsx +124 -0
  385. package/dist/themes/default/navigation/sidebar-tree.jsx.map +1 -0
  386. package/dist/themes/default/overlays/search-dialog.d.ts +4 -0
  387. package/dist/themes/default/overlays/search-dialog.d.ts.map +1 -0
  388. package/dist/themes/default/overlays/search-dialog.jsx +52 -0
  389. package/dist/themes/default/overlays/search-dialog.jsx.map +1 -0
  390. package/dist/themes/default/sidebar.d.ts +4 -0
  391. package/dist/themes/default/sidebar.d.ts.map +1 -0
  392. package/dist/themes/default/sidebar.jsx +92 -0
  393. package/dist/themes/default/sidebar.jsx.map +1 -0
  394. package/dist/themes/index.d.ts +4 -0
  395. package/dist/themes/index.d.ts.map +1 -0
  396. package/dist/themes/index.js +5 -0
  397. package/dist/themes/index.js.map +1 -0
  398. package/dist/themes/types.d.ts +91 -0
  399. package/dist/themes/types.d.ts.map +1 -0
  400. package/dist/themes/types.js +2 -0
  401. package/dist/themes/types.js.map +1 -0
  402. package/dist/types.d.ts +132 -0
  403. package/dist/types.d.ts.map +1 -0
  404. package/dist/types.js +3 -0
  405. package/dist/types.js.map +1 -0
  406. package/dist/vendor/docs-src/components/mdx-components.tsx +144 -0
  407. package/dist/vendor/docs-src/components/ui/api-table.tsx +117 -0
  408. package/dist/vendor/docs-src/components/ui/badge.tsx +56 -0
  409. package/dist/vendor/docs-src/components/ui/breadcrumb.tsx +136 -0
  410. package/dist/vendor/docs-src/components/ui/button.tsx +82 -0
  411. package/dist/vendor/docs-src/components/ui/callout.tsx +137 -0
  412. package/dist/vendor/docs-src/components/ui/card.tsx +113 -0
  413. package/dist/vendor/docs-src/components/ui/code-block.tsx +347 -0
  414. package/dist/vendor/docs-src/components/ui/collapsible.tsx +73 -0
  415. package/dist/vendor/docs-src/components/ui/command.tsx +382 -0
  416. package/dist/vendor/docs-src/components/ui/component-viewer.tsx +363 -0
  417. package/dist/vendor/docs-src/components/ui/container.tsx +45 -0
  418. package/dist/vendor/docs-src/components/ui/dropdown-menu.tsx +298 -0
  419. package/dist/vendor/docs-src/components/ui/input-group.tsx +80 -0
  420. package/dist/vendor/docs-src/components/ui/kbd.tsx +73 -0
  421. package/dist/vendor/docs-src/components/ui/list.tsx +222 -0
  422. package/dist/vendor/docs-src/components/ui/logo.tsx +68 -0
  423. package/dist/vendor/docs-src/components/ui/navbar.tsx +375 -0
  424. package/dist/vendor/docs-src/components/ui/package-manager-tabs.tsx +226 -0
  425. package/dist/vendor/docs-src/components/ui/pager.tsx +102 -0
  426. package/dist/vendor/docs-src/components/ui/scroll-area.tsx +228 -0
  427. package/dist/vendor/docs-src/components/ui/section-heading.tsx +115 -0
  428. package/dist/vendor/docs-src/components/ui/separator.tsx +37 -0
  429. package/dist/vendor/docs-src/components/ui/sidebar.tsx +712 -0
  430. package/dist/vendor/docs-src/components/ui/skeleton.tsx +24 -0
  431. package/dist/vendor/docs-src/components/ui/spinner.tsx +41 -0
  432. package/dist/vendor/docs-src/components/ui/table-of-contents.tsx +131 -0
  433. package/dist/vendor/docs-src/components/ui/table.tsx +160 -0
  434. package/dist/vendor/docs-src/components/ui/tabs.tsx +204 -0
  435. package/dist/vendor/docs-src/components/ui/theme-toggle.tsx +238 -0
  436. package/dist/vendor/docs-src/components/ui/tooltip.tsx +41 -0
  437. package/dist/vendor/docs-src/hooks/create-click-outside.ts +82 -0
  438. package/dist/vendor/docs-src/hooks/create-clipboard.ts +69 -0
  439. package/dist/vendor/docs-src/hooks/create-color-mode.ts +115 -0
  440. package/dist/vendor/docs-src/hooks/create-controllable-signal.ts +56 -0
  441. package/dist/vendor/docs-src/hooks/create-focus-trap.ts +94 -0
  442. package/dist/vendor/docs-src/hooks/create-keybindings.ts +148 -0
  443. package/dist/vendor/docs-src/hooks/create-lock-scroll.ts +97 -0
  444. package/dist/vendor/docs-src/hooks/create-resize-observer.ts +89 -0
  445. package/dist/vendor/docs-src/hooks/create-scroll-position.ts +129 -0
  446. package/dist/vendor/docs-src/lib/cn.ts +9 -0
  447. package/dist/vendor/docs-src/providers/theme-provider.tsx +203 -0
  448. package/dist/vendor/docs-src/providers/theme-script.tsx +54 -0
  449. package/dist/vendor/docs-src/providers/theme-transitions.ts +139 -0
  450. package/dist/version.d.ts +2 -0
  451. package/dist/version.d.ts.map +1 -0
  452. package/dist/version.js +2 -0
  453. package/dist/version.js.map +1 -0
  454. package/package.json +95 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-of-contents.jsx","sourceRoot":"","sources":["../../../src/components/ui/table-of-contents.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { type Component, type JSX } from "solid-js";
2
+ export interface TableProps extends JSX.HTMLAttributes<HTMLTableElement> {
3
+ class?: string;
4
+ }
5
+ /**
6
+ * Root Table container component wrapped in a responsive scroll container.
7
+ */
8
+ export declare const Table: Component<TableProps>;
9
+ export interface TableHeaderProps extends JSX.HTMLAttributes<HTMLTableSectionElement> {
10
+ class?: string;
11
+ }
12
+ /**
13
+ * Header section wrapper for the Table component.
14
+ */
15
+ export declare const TableHeader: Component<TableHeaderProps>;
16
+ export interface TableBodyProps extends JSX.HTMLAttributes<HTMLTableSectionElement> {
17
+ class?: string;
18
+ }
19
+ /**
20
+ * Main body section wrapper for the Table component.
21
+ */
22
+ export declare const TableBody: Component<TableBodyProps>;
23
+ export interface TableFooterProps extends JSX.HTMLAttributes<HTMLTableSectionElement> {
24
+ class?: string;
25
+ }
26
+ /**
27
+ * Footer section wrapper for the Table component.
28
+ */
29
+ export declare const TableFooter: Component<TableFooterProps>;
30
+ export interface TableRowProps extends JSX.HTMLAttributes<HTMLTableRowElement> {
31
+ class?: string;
32
+ }
33
+ /**
34
+ * Table row component with hover highlight states.
35
+ */
36
+ export declare const TableRow: Component<TableRowProps>;
37
+ export interface TableHeadProps extends JSX.ThHTMLAttributes<HTMLTableCellElement> {
38
+ class?: string;
39
+ }
40
+ /**
41
+ * Header cell component for table columns.
42
+ */
43
+ export declare const TableHead: Component<TableHeadProps>;
44
+ export interface TableCellProps extends JSX.TdHTMLAttributes<HTMLTableCellElement> {
45
+ class?: string;
46
+ }
47
+ /**
48
+ * Standard data cell component for table rows.
49
+ */
50
+ export declare const TableCell: Component<TableCellProps>;
51
+ export interface TableCaptionProps extends JSX.HTMLAttributes<HTMLTableCaptionElement> {
52
+ class?: string;
53
+ }
54
+ /**
55
+ * Accessible table caption for describing table contents.
56
+ */
57
+ export declare const TableCaption: Component<TableCaptionProps>;
58
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/components/ui/table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAGhE,MAAM,WAAW,UAAW,SAAQ,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,SAAS,CAAC,UAAU,CAWvC,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,GAAG,CAAC,cAAc,CAAC,uBAAuB,CAAC;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,gBAAgB,CASnD,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,GAAG,CAAC,cAAc,CAAC,uBAAuB,CAAC;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,SAAS,CAAC,cAAc,CAS/C,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,GAAG,CAAC,cAAc,CAAC,uBAAuB,CAAC;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,gBAAgB,CAYnD,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,GAAG,CAAC,cAAc,CAAC,mBAAmB,CAAC;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,CAAC,aAAa,CAY7C,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,GAAG,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,SAAS,CAAC,cAAc,CAY/C,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,GAAG,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,SAAS,CAAC,cAAc,CAY/C,CAAC;AAEF,MAAM,WAAW,iBAAkB,SAAQ,GAAG,CAAC,cAAc,CAAC,uBAAuB,CAAC;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,CAAC,iBAAiB,CASrD,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { splitProps } from "solid-js";
2
+ import { cn } from "@/lib/cn";
3
+ /**
4
+ * Root Table container component wrapped in a responsive scroll container.
5
+ */
6
+ export const Table = (props) => {
7
+ const [local, rest] = splitProps(props, ["class"]);
8
+ return (<div class="relative w-full overflow-auto">
9
+ <table class={cn("w-full caption-bottom text-sm", local.class)} {...rest}/>
10
+ </div>);
11
+ };
12
+ /**
13
+ * Header section wrapper for the Table component.
14
+ */
15
+ export const TableHeader = (props) => {
16
+ const [local, rest] = splitProps(props, ["class"]);
17
+ return (<thead class={cn("[&_tr]:border-b border-border", local.class)} {...rest}/>);
18
+ };
19
+ /**
20
+ * Main body section wrapper for the Table component.
21
+ */
22
+ export const TableBody = (props) => {
23
+ const [local, rest] = splitProps(props, ["class"]);
24
+ return (<tbody class={cn("[&_tr:last-child]:border-0", local.class)} {...rest}/>);
25
+ };
26
+ /**
27
+ * Footer section wrapper for the Table component.
28
+ */
29
+ export const TableFooter = (props) => {
30
+ const [local, rest] = splitProps(props, ["class"]);
31
+ return (<tfoot class={cn("border-t border-border bg-muted/50 font-medium [&>tr]:last:border-b-0", local.class)} {...rest}/>);
32
+ };
33
+ /**
34
+ * Table row component with hover highlight states.
35
+ */
36
+ export const TableRow = (props) => {
37
+ const [local, rest] = splitProps(props, ["class"]);
38
+ return (<tr class={cn("border-b border-border transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted", local.class)} {...rest}/>);
39
+ };
40
+ /**
41
+ * Header cell component for table columns.
42
+ */
43
+ export const TableHead = (props) => {
44
+ const [local, rest] = splitProps(props, ["class"]);
45
+ return (<th class={cn("h-10 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]", local.class)} {...rest}/>);
46
+ };
47
+ /**
48
+ * Standard data cell component for table rows.
49
+ */
50
+ export const TableCell = (props) => {
51
+ const [local, rest] = splitProps(props, ["class"]);
52
+ return (<td class={cn("p-4 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]", local.class)} {...rest}/>);
53
+ };
54
+ /**
55
+ * Accessible table caption for describing table contents.
56
+ */
57
+ export const TableCaption = (props) => {
58
+ const [local, rest] = splitProps(props, ["class"]);
59
+ return (<caption class={cn("mt-4 text-xs text-muted-foreground pb-2", local.class)} {...rest}/>);
60
+ };
61
+ //# sourceMappingURL=table.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.jsx","sourceRoot":"","sources":["../../../src/components/ui/table.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { type Component, type JSX } from "solid-js";
2
+ export interface TabsProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, "onChange"> {
3
+ /** Controlled active tab value */
4
+ value?: string;
5
+ /** Uncontrolled default active tab value */
6
+ defaultValue?: string;
7
+ /** Callback fired when active tab changes */
8
+ onChange?: (value: string) => void;
9
+ /** Layout orientation of tab triggers and content */
10
+ orientation?: "horizontal" | "vertical";
11
+ class?: string;
12
+ }
13
+ /**
14
+ * Root Tabs container component managing active tab context state and orientation.
15
+ */
16
+ export declare const Tabs: Component<TabsProps>;
17
+ export interface TabsListProps extends JSX.HTMLAttributes<HTMLDivElement> {
18
+ class?: string;
19
+ }
20
+ /**
21
+ * Container wrapper for Tab triggers.
22
+ */
23
+ export declare const TabsList: Component<TabsListProps>;
24
+ export interface TabsTriggerProps extends Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, "onChange"> {
25
+ /** Unique value identifier for this tab */
26
+ value: string;
27
+ class?: string;
28
+ }
29
+ /**
30
+ * Tab button trigger to activate a specific tab panel.
31
+ */
32
+ export declare const TabsTrigger: Component<TabsTriggerProps>;
33
+ export interface TabsContentProps extends JSX.HTMLAttributes<HTMLDivElement> {
34
+ /** Value matching the corresponding tab trigger */
35
+ value: string;
36
+ class?: string;
37
+ }
38
+ /**
39
+ * Content panel revealed when the associated tab is active.
40
+ */
41
+ export declare const TabsContent: Component<TabsContentProps>;
42
+ //# sourceMappingURL=tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/components/ui/tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,GAAG,EAET,MAAM,UAAU,CAAC;AAYlB,MAAM,WAAW,SACf,SAAQ,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5D,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,qDAAqD;IACrD,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,SAAS,CAAC,SAAS,CAuCrC,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,CAAC,aAAa,CAsB7C,CAAC;AAEF,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACrE,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,gBAAgB,CA8CnD,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IAC1E,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,gBAAgB,CA4BnD,CAAC"}
@@ -0,0 +1,93 @@
1
+ import { createContext, useContext, splitProps, Show, } from "solid-js";
2
+ import { createControllableSignal } from "@/hooks/create-controllable-signal";
3
+ import { cn } from "@/lib/cn";
4
+ const TabsContext = createContext();
5
+ /**
6
+ * Root Tabs container component managing active tab context state and orientation.
7
+ */
8
+ export const Tabs = (props) => {
9
+ const [local, rest] = splitProps(props, [
10
+ "value",
11
+ "defaultValue",
12
+ "onChange",
13
+ "orientation",
14
+ "class",
15
+ "children",
16
+ ]);
17
+ const [currentValue, setCurrentValue] = createControllableSignal({
18
+ value: () => local.value,
19
+ defaultValue: local.defaultValue,
20
+ onChange: (val) => local.onChange?.(val),
21
+ });
22
+ const orientation = () => local.orientation || "horizontal";
23
+ const contextValue = {
24
+ value: currentValue,
25
+ setValue: (val) => setCurrentValue(val),
26
+ orientation,
27
+ };
28
+ return (<TabsContext.Provider value={contextValue}>
29
+ <div data-orientation={orientation()} class={cn("w-full", orientation() === "vertical" ? "flex flex-row gap-4" : "flex flex-col gap-2", local.class)} {...rest}>
30
+ {local.children}
31
+ </div>
32
+ </TabsContext.Provider>);
33
+ };
34
+ /**
35
+ * Container wrapper for Tab triggers.
36
+ */
37
+ export const TabsList = (props) => {
38
+ const [local, rest] = splitProps(props, ["class", "children"]);
39
+ const context = useContext(TabsContext);
40
+ const isVertical = () => context?.orientation() === "vertical";
41
+ return (<div role="tablist" aria-orientation={context?.orientation() || "horizontal"} class={cn("inline-flex rounded-lg bg-muted p-1 text-muted-foreground", isVertical()
42
+ ? "flex-col h-auto w-auto items-stretch justify-start"
43
+ : "h-9 items-center justify-center", local.class)} {...rest}>
44
+ {local.children}
45
+ </div>);
46
+ };
47
+ /**
48
+ * Tab button trigger to activate a specific tab panel.
49
+ */
50
+ export const TabsTrigger = (props) => {
51
+ const [local, rest] = splitProps(props, [
52
+ "value",
53
+ "disabled",
54
+ "class",
55
+ "children",
56
+ "onClick",
57
+ ]);
58
+ const context = useContext(TabsContext);
59
+ if (!context) {
60
+ throw new Error("TabsTrigger must be used within a Tabs component");
61
+ }
62
+ const isSelected = () => context.value() === local.value;
63
+ const isVertical = () => context.orientation() === "vertical";
64
+ const handleClick = (e) => {
65
+ if (local.disabled)
66
+ return;
67
+ context.setValue(local.value);
68
+ if (typeof local.onClick === "function") {
69
+ local.onClick(e);
70
+ }
71
+ };
72
+ return (<button type="button" role="tab" aria-selected={isSelected()} data-state={isSelected() ? "active" : "inactive"} data-orientation={context.orientation()} disabled={local.disabled} onClick={handleClick} class={cn("inline-flex items-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-accent data-[state=active]:border data-[state=active]:border-border data-[state=active]:text-foreground data-[state=active]:shadow-sm cursor-pointer", isVertical() ? "justify-start py-1.5" : "justify-center", local.class)} {...rest}>
73
+ {local.children}
74
+ </button>);
75
+ };
76
+ /**
77
+ * Content panel revealed when the associated tab is active.
78
+ */
79
+ export const TabsContent = (props) => {
80
+ const [local, rest] = splitProps(props, ["value", "class", "children"]);
81
+ const context = useContext(TabsContext);
82
+ if (!context) {
83
+ throw new Error("TabsContent must be used within a Tabs component");
84
+ }
85
+ const isSelected = () => context.value() === local.value;
86
+ const isVertical = () => context.orientation() === "vertical";
87
+ return (<Show when={isSelected()}>
88
+ <div role="tabpanel" data-state={isSelected() ? "active" : "inactive"} data-orientation={context.orientation()} class={cn("ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", isVertical() ? "flex-1 mt-0" : "mt-2", local.class)} {...rest}>
89
+ {local.children}
90
+ </div>
91
+ </Show>);
92
+ };
93
+ //# sourceMappingURL=tabs.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.jsx","sourceRoot":"","sources":["../../../src/components/ui/tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,UAAU,EACV,UAAU,EACV,IAAI,GAIL,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAQ9B,MAAM,WAAW,GAAG,aAAa,EAAoB,CAAC;AAetD;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAyB,CAAC,KAAK,EAAE,EAAE;IAClD,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE;QACtC,OAAO;QACP,cAAc;QACd,UAAU;QACV,aAAa;QACb,OAAO;QACP,UAAU;KACX,CAAC,CAAC;IAEH,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,wBAAwB,CAAS;QACvE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK;QACxB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC;KACzC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,IAAI,YAAY,CAAC;IAE5D,MAAM,YAAY,GAAqB;QACrC,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC;QAC/C,WAAW;KACZ,CAAC;IAEF,OAAO,CACL,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CACxC;MAAA,CAAC,GAAG,CACF,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC,CAChC,KAAK,CAAC,CAAC,EAAE,CACP,QAAQ,EACR,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,EAC5E,KAAK,CAAC,KAAK,CACZ,CAAC,CACF,IAAI,IAAI,CAAC,CAET;QAAA,CAAC,KAAK,CAAC,QAAQ,CACjB;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,WAAW,CAAC,QAAQ,CAAC,CACxB,CAAC;AACJ,CAAC,CAAC;AAMF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA6B,CAAC,KAAK,EAAE,EAAE;IAC1D,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAExC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,CAAC;IAE/D,OAAO,CACL,CAAC,GAAG,CACF,IAAI,CAAC,SAAS,CACd,gBAAgB,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,YAAY,CAAC,CACzD,KAAK,CAAC,CAAC,EAAE,CACP,2DAA2D,EAC3D,UAAU,EAAE;YACV,CAAC,CAAC,oDAAoD;YACtD,CAAC,CAAC,iCAAiC,EACrC,KAAK,CAAC,KAAK,CACZ,CAAC,CACF,IAAI,IAAI,CAAC,CAET;MAAA,CAAC,KAAK,CAAC,QAAQ,CACjB;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC,CAAC;AASF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAgC,CAAC,KAAK,EAAE,EAAE;IAChE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE;QACtC,OAAO;QACP,UAAU;QACV,OAAO;QACP,UAAU;QACV,SAAS;KACV,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAExC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC;IACzD,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC;IAE9D,MAAM,WAAW,GAAG,CAClB,CAAqE,EACrE,EAAE;QACF,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO;QAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACxC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,MAAM,CACL,IAAI,CAAC,QAAQ,CACb,IAAI,CAAC,KAAK,CACV,aAAa,CAAC,CAAC,UAAU,EAAE,CAAC,CAC5B,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CACjD,gBAAgB,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CACxC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CACzB,OAAO,CAAC,CAAC,WAAW,CAAC,CACrB,KAAK,CAAC,CAAC,EAAE,CACP,4bAA4b,EAC5b,UAAU,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,gBAAgB,EACxD,KAAK,CAAC,KAAK,CACZ,CAAC,CACF,IAAI,IAAI,CAAC,CAET;MAAA,CAAC,KAAK,CAAC,QAAQ,CACjB;IAAA,EAAE,MAAM,CAAC,CACV,CAAC;AACJ,CAAC,CAAC;AAQF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAgC,CAAC,KAAK,EAAE,EAAE;IAChE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAExC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC;IACzD,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC;IAE9D,OAAO,CACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CACvB;MAAA,CAAC,GAAG,CACF,IAAI,CAAC,UAAU,CACf,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CACjD,gBAAgB,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CACxC,KAAK,CAAC,CAAC,EAAE,CACP,4HAA4H,EAC5H,UAAU,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EACrC,KAAK,CAAC,KAAK,CACZ,CAAC,CACF,IAAI,IAAI,CAAC,CAET;QAAA,CAAC,KAAK,CAAC,QAAQ,CACjB;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type Component, type JSX } from "solid-js";
2
+ import { type ThemeEffect } from "../../providers/theme-transitions";
3
+ import { type ButtonProps } from "./button";
4
+ export interface ThemeToggleProps extends Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, "onClick"> {
5
+ /** Display mode: "button" (direct 1-click toggle), "mini" (compact dropdown), "max" (full customizer panel). Defaults to "mini". */
6
+ mode?: "button" | "mini" | "max";
7
+ /** Transition animation effect when changing themes ("none", "circular", "fade") */
8
+ effect?: ThemeEffect;
9
+ /** Button visual style variant when rendered as a button or dropdown trigger */
10
+ variant?: ButtonProps["variant"];
11
+ /** Button size */
12
+ size?: ButtonProps["size"];
13
+ class?: string;
14
+ }
15
+ /**
16
+ * Interactive UI theme switcher supporting button, mini (dropdown), and max (customizer panel) modes with View Transition animations.
17
+ */
18
+ export declare const ThemeToggle: Component<ThemeToggleProps>;
19
+ //# sourceMappingURL=theme-toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-toggle.d.ts","sourceRoot":"","sources":["../../../src/components/ui/theme-toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAa,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAQ3E,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAYpD,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC;IACpE,oIAAoI;IACpI,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;IACjC,oFAAoF;IACpF,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,gFAAgF;IAChF,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC,kBAAkB;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAmBD;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,gBAAgB,CAoLnD,CAAC"}
@@ -0,0 +1,142 @@
1
+ import { splitProps, For, Show } from "solid-js";
2
+ import { Sun, Moon, Monitor } from "lucide-solid";
3
+ import { useTheme, } from "../../providers/theme-provider";
4
+ import { runThemeTransition, } from "../../providers/theme-transitions";
5
+ import { Button } from "./button";
6
+ import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuSeparator, } from "./dropdown-menu";
7
+ import { cn } from "@/lib/cn";
8
+ const ACCENT_OPTIONS = [
9
+ { name: "yellow", label: "Yellow", color: "bg-yellow-500" },
10
+ { name: "red", label: "Red", color: "bg-red-500" },
11
+ { name: "violet", label: "Violet", color: "bg-violet-500" },
12
+ { name: "sky", label: "Sky", color: "bg-sky-500" },
13
+ { name: "emerald", label: "Emerald", color: "bg-emerald-500" },
14
+ { name: "zinc", label: "Zinc", color: "bg-zinc-800 dark:bg-zinc-200" },
15
+ ];
16
+ const RADIUS_OPTIONS = [
17
+ { value: "0", label: "0" },
18
+ { value: "0.3", label: "0.3" },
19
+ { value: "0.5", label: "0.5" },
20
+ { value: "0.75", label: "0.75" },
21
+ { value: "1.0", label: "1.0" },
22
+ ];
23
+ /**
24
+ * Interactive UI theme switcher supporting button, mini (dropdown), and max (customizer panel) modes with View Transition animations.
25
+ */
26
+ export const ThemeToggle = (props) => {
27
+ const [local, rest] = splitProps(props, ["mode", "effect", "variant", "size", "class"]);
28
+ const { theme, setTheme, accent, setAccent, radius, setRadius } = useTheme();
29
+ const mode = () => local.mode || "mini";
30
+ const effect = () => local.effect || "none";
31
+ /* Reactive accessor determining whether dark mode is active */
32
+ const isDarkMode = () => {
33
+ const currentTheme = theme();
34
+ if (currentTheme === "dark")
35
+ return true;
36
+ if (currentTheme === "light")
37
+ return false;
38
+ if (typeof window !== "undefined") {
39
+ return window.matchMedia("(prefers-color-scheme: dark)").matches;
40
+ }
41
+ return false;
42
+ };
43
+ const changeThemeWithEffect = (newTheme, e) => {
44
+ runThemeTransition(effect(), e, () => {
45
+ setTheme(newTheme);
46
+ });
47
+ };
48
+ const handleToggleClick = (e) => {
49
+ const nextTheme = isDarkMode() ? "light" : "dark";
50
+ changeThemeWithEffect(nextTheme, e);
51
+ };
52
+ return (<Show when={mode() !== "button"} fallback={
53
+ /* Button Mode: Direct 1-click Dark/Light switcher without dropdown */
54
+ <Button variant={local.variant || "ghost"} size={local.size || "icon"} onClick={handleToggleClick} class={cn("relative cursor-pointer", local.class)} aria-label="Toggle theme" {...rest}>
55
+ <Show when={isDarkMode()} fallback={<Sun class="h-4 w-4 text-foreground transition-transform"/>}>
56
+ <Moon class="h-4 w-4 text-foreground transition-transform"/>
57
+ </Show>
58
+ <span class="sr-only">Toggle theme</span>
59
+ </Button>}>
60
+ <DropdownMenu placement="bottom-end">
61
+ <DropdownMenuTrigger as={Button} variant={local.variant || "ghost"} size={local.size || "icon"} class={cn("relative cursor-pointer", local.class)} {...rest}>
62
+ {/* Reactive Sun / Moon Icon Toggle */}
63
+ <Show when={isDarkMode()} fallback={<Sun class="h-4 w-4 text-foreground transition-transform"/>}>
64
+ <Moon class="h-4 w-4 text-foreground transition-transform"/>
65
+ </Show>
66
+ <span class="sr-only">Toggle theme</span>
67
+ </DropdownMenuTrigger>
68
+
69
+ <Show when={mode() === "max"} fallback={
70
+ /* Mini Mode: Compact Dropdown */
71
+ <DropdownMenuContent>
72
+ <DropdownMenuItem onClick={(e) => changeThemeWithEffect("light", e)}>
73
+ <Sun class="mr-2 h-4 w-4 text-muted-foreground"/>
74
+ Light
75
+ </DropdownMenuItem>
76
+
77
+ <DropdownMenuItem onClick={(e) => changeThemeWithEffect("dark", e)}>
78
+ <Moon class="mr-2 h-4 w-4 text-muted-foreground"/>
79
+ Dark
80
+ </DropdownMenuItem>
81
+
82
+ <DropdownMenuItem onClick={(e) => changeThemeWithEffect("system", e)}>
83
+ <Monitor class="mr-2 h-4 w-4 text-muted-foreground"/>
84
+ System
85
+ </DropdownMenuItem>
86
+ </DropdownMenuContent>}>
87
+ {/* Max Mode: Full Theme Customizer Panel */}
88
+ <DropdownMenuContent class="w-64">
89
+ <div class="p-2 space-y-2">
90
+ <DropdownMenuGroup>
91
+ <DropdownMenuLabel class="px-0 pt-0 text-xs font-semibold uppercase tracking-wider text-muted-foreground">
92
+ Theme Mode
93
+ </DropdownMenuLabel>
94
+ <div class="grid grid-cols-3 gap-1 my-1.5">
95
+ <Button variant={theme() === "light" ? "default" : "outline"} size="sm" onClick={(e) => changeThemeWithEffect("light", e)} class="h-8 text-xs cursor-pointer">
96
+ Light
97
+ </Button>
98
+ <Button variant={theme() === "dark" ? "default" : "outline"} size="sm" onClick={(e) => changeThemeWithEffect("dark", e)} class="h-8 text-xs cursor-pointer">
99
+ Dark
100
+ </Button>
101
+ <Button variant={theme() === "system" ? "default" : "outline"} size="sm" onClick={(e) => changeThemeWithEffect("system", e)} class="h-8 text-xs cursor-pointer">
102
+ System
103
+ </Button>
104
+ </div>
105
+ </DropdownMenuGroup>
106
+
107
+ <DropdownMenuSeparator class="my-2"/>
108
+
109
+ <DropdownMenuGroup>
110
+ <DropdownMenuLabel class="px-0 text-xs font-semibold uppercase tracking-wider text-muted-foreground">
111
+ Brand Accent Color
112
+ </DropdownMenuLabel>
113
+ <div class="flex flex-wrap gap-1.5 my-1.5">
114
+ <For each={ACCENT_OPTIONS}>
115
+ {(opt) => (<button type="button" title={opt.label} onClick={() => setAccent(opt.name)} class={cn("h-6 w-6 rounded-md transition-all cursor-pointer border border-border flex items-center justify-center", opt.color, accent() === opt.name
116
+ ? "ring-2 ring-primary ring-offset-2 ring-offset-background scale-110"
117
+ : "hover:scale-105")}/>)}
118
+ </For>
119
+ </div>
120
+ </DropdownMenuGroup>
121
+
122
+ <DropdownMenuSeparator class="my-2"/>
123
+
124
+ <DropdownMenuGroup>
125
+ <DropdownMenuLabel class="px-0 text-xs font-semibold uppercase tracking-wider text-muted-foreground">
126
+ Border Radius
127
+ </DropdownMenuLabel>
128
+ <div class="grid grid-cols-5 gap-1 my-1.5">
129
+ <For each={RADIUS_OPTIONS}>
130
+ {(r) => (<Button variant={radius() === r.value ? "default" : "outline"} size="sm" onClick={() => setRadius(r.value)} class="h-7 text-xs px-1 cursor-pointer">
131
+ {r.label}
132
+ </Button>)}
133
+ </For>
134
+ </div>
135
+ </DropdownMenuGroup>
136
+ </div>
137
+ </DropdownMenuContent>
138
+ </Show>
139
+ </DropdownMenu>
140
+ </Show>);
141
+ };
142
+ //# sourceMappingURL=theme-toggle.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-toggle.jsx","sourceRoot":"","sources":["../../../src/components/ui/theme-toggle.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type Component, type ComponentProps } from "solid-js";
2
+ import { Tooltip as KobalteTooltip } from "@kobalte/core/tooltip";
3
+ export declare const Tooltip: any;
4
+ export declare const TooltipTrigger: any;
5
+ export declare const TooltipArrow: Component<ComponentProps<typeof KobalteTooltip.Arrow>>;
6
+ export interface TooltipContentProps extends ComponentProps<typeof KobalteTooltip.Content> {
7
+ class?: string;
8
+ }
9
+ export declare const TooltipContent: Component<TooltipContentProps>;
10
+ //# sourceMappingURL=tooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/ui/tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGlE,eAAO,MAAM,OAAO,KAAiB,CAAC;AAEtC,eAAO,MAAM,cAAc,KAAyB,CAAC;AAErD,eAAO,MAAM,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,CAU/E,CAAC;AAEF,MAAM,WAAW,mBAAoB,SAAQ,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,cAAc,EAAE,SAAS,CAAC,mBAAmB,CAgBzD,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { splitProps } from "solid-js";
2
+ import { Tooltip as KobalteTooltip } from "@kobalte/core/tooltip";
3
+ import { cn } from "@/lib/cn";
4
+ export const Tooltip = KobalteTooltip;
5
+ export const TooltipTrigger = KobalteTooltip.Trigger;
6
+ export const TooltipArrow = (props) => {
7
+ const [local, rest] = splitProps(props, ["class"]);
8
+ return (<KobalteTooltip.Arrow size={8} class={cn("fill-popover stroke-border", local.class)} {...rest}/>);
9
+ };
10
+ export const TooltipContent = (props) => {
11
+ const [local, rest] = splitProps(props, ["class", "children"]);
12
+ return (<KobalteTooltip.Portal>
13
+ <KobalteTooltip.Content class={cn("z-50 rounded-md border border-border bg-popover px-3 py-1.5 text-xs text-popover-foreground shadow-md transition-all animate-in fade-in-0 zoom-in-95 data-closed:animate-out data-[closed]:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", local.class)} {...rest}>
14
+ {local.children}
15
+ </KobalteTooltip.Content>
16
+ </KobalteTooltip.Portal>);
17
+ };
18
+ //# sourceMappingURL=tooltip.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.jsx","sourceRoot":"","sources":["../../../src/components/ui/tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAuC,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAE9B,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,CAAC;AAEtC,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC;AAErD,MAAM,CAAC,MAAM,YAAY,GAA2D,CAAC,KAAK,EAAE,EAAE;IAC5F,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEnD,OAAO,CACL,CAAC,cAAc,CAAC,KAAK,CACnB,IAAI,CAAC,CAAC,CAAC,CAAC,CACR,KAAK,CAAC,CAAC,EAAE,CAAC,4BAA4B,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CACrD,IAAI,IAAI,CAAC,EACT,CACH,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,cAAc,GAAmC,CAAC,KAAK,EAAE,EAAE;IACtE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAE/D,OAAO,CACL,CAAC,cAAc,CAAC,MAAM,CACpB;MAAA,CAAC,cAAc,CAAC,OAAO,CACrB,KAAK,CAAC,CAAC,EAAE,CACP,2XAA2X,EAC3X,KAAK,CAAC,KAAK,CACZ,CAAC,CACF,IAAI,IAAI,CAAC,CAET;QAAA,CAAC,KAAK,CAAC,QAAQ,CACjB;MAAA,EAAE,cAAc,CAAC,OAAO,CAC1B;IAAA,EAAE,cAAc,CAAC,MAAM,CAAC,CACzB,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { DocsConfig } from "./types.js";
2
+ export declare const DEFAULT_DOCS_CONFIG: Required<Pick<DocsConfig, "title" | "description" | "contentDir">> & DocsConfig;
3
+ export declare function defineDocsConfig(config: DocsConfig): DocsConfig;
4
+ export declare const loadConfig: typeof resolveDocsConfig;
5
+ export declare function resolveDocsConfig(cwd?: string): Promise<DocsConfig>;
6
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,aAAa,GAAG,YAAY,CAAC,CAAC,GAAG,UAuCtG,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE/D;AAcD,eAAO,MAAM,UAAU,0BAAoB,CAAC;AAE5C,wBAAsB,iBAAiB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CA4CxF"}
package/dist/config.js ADDED
@@ -0,0 +1,105 @@
1
+ // packages/docs/src/config.ts
2
+ import path from "node:path";
3
+ import { pathToFileURL } from "node:url";
4
+ import fs from "fs-extra";
5
+ export const DEFAULT_DOCS_CONFIG = {
6
+ title: "Folio",
7
+ description: "Documentation built with Nikala UI",
8
+ favicon: "/favicon.ico",
9
+ contentDir: "docs",
10
+ navigation: {
11
+ layout: "sidebar",
12
+ navbar: [],
13
+ sidebar: {
14
+ nav: "auto",
15
+ header: true,
16
+ footer: false,
17
+ headerSubtitle: "Documentation",
18
+ footerText: "Documentation",
19
+ },
20
+ },
21
+ theme: {
22
+ defaultMode: "system",
23
+ },
24
+ shiki: {
25
+ themes: {
26
+ light: "github-light",
27
+ dark: "github-dark",
28
+ },
29
+ langs: [
30
+ "typescript",
31
+ "javascript",
32
+ "tsx",
33
+ "jsx",
34
+ "bash",
35
+ "json",
36
+ "css",
37
+ "html",
38
+ ],
39
+ },
40
+ search: {
41
+ enabled: true,
42
+ provider: "local",
43
+ },
44
+ };
45
+ export function defineDocsConfig(config) {
46
+ return config;
47
+ }
48
+ const CONFIG_FILENAMES = [
49
+ "docs.config.ts",
50
+ "docs.config.js",
51
+ "docs.config.mjs",
52
+ "nikala.docs.config.ts",
53
+ "nikala.docs.config.js",
54
+ "nikala.docs.config.mjs",
55
+ // Backward compatibility for projects created before docs.config.ts.
56
+ "nikala.config.ts",
57
+ "nikala.config.js",
58
+ ];
59
+ export const loadConfig = resolveDocsConfig;
60
+ export async function resolveDocsConfig(cwd = process.cwd()) {
61
+ for (const filename of CONFIG_FILENAMES) {
62
+ const fullPath = path.join(cwd, filename);
63
+ if (await fs.pathExists(fullPath)) {
64
+ try {
65
+ // Config is reloaded by the dev watcher without restarting the
66
+ // process. Bust Bun/Node's ESM module cache so changed values apply.
67
+ const mod = await import(`${pathToFileURL(fullPath).href}?t=${Date.now()}`);
68
+ const resolvedUserConfig = mod.default || mod.config || {};
69
+ return {
70
+ ...DEFAULT_DOCS_CONFIG,
71
+ ...resolvedUserConfig,
72
+ theme: {
73
+ ...DEFAULT_DOCS_CONFIG.theme,
74
+ ...resolvedUserConfig.theme,
75
+ },
76
+ navigation: {
77
+ ...DEFAULT_DOCS_CONFIG.navigation,
78
+ ...resolvedUserConfig.navigation,
79
+ sidebar: {
80
+ ...DEFAULT_DOCS_CONFIG.navigation?.sidebar,
81
+ ...resolvedUserConfig.navigation?.sidebar,
82
+ },
83
+ },
84
+ shiki: {
85
+ ...DEFAULT_DOCS_CONFIG.shiki,
86
+ ...resolvedUserConfig.shiki,
87
+ themes: {
88
+ ...DEFAULT_DOCS_CONFIG.shiki?.themes,
89
+ ...resolvedUserConfig.shiki?.themes,
90
+ },
91
+ },
92
+ search: {
93
+ ...DEFAULT_DOCS_CONFIG.search,
94
+ ...resolvedUserConfig.search,
95
+ },
96
+ };
97
+ }
98
+ catch (error) {
99
+ console.warn(`[folio] Failed to load config from ${filename}:`, error);
100
+ }
101
+ }
102
+ }
103
+ return DEFAULT_DOCS_CONFIG;
104
+ }
105
+ //# sourceMappingURL=config.js.map