@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,102 @@
1
+ import { splitProps, Show, children, type Component, type JSX } from "solid-js";
2
+ import { ChevronLeft, ChevronRight } from "lucide-solid";
3
+ import {
4
+ Card,
5
+ CardHeader,
6
+ CardTitle,
7
+ CardDescription,
8
+ } from "@/components/ui/card";
9
+ import { cn } from "@/lib/cn";
10
+
11
+ export interface PagerItem {
12
+ title: string;
13
+ href: string;
14
+ }
15
+
16
+ export interface PagerLinkProps extends JSX.AnchorHTMLAttributes<HTMLAnchorElement> {
17
+ title: string;
18
+ href: string;
19
+ type: "prev" | "next";
20
+ class?: string;
21
+ }
22
+
23
+ /**
24
+ * Individual Next or Previous page navigation card.
25
+ */
26
+ export const PagerLink: Component<PagerLinkProps> = (props) => {
27
+ const [local, rest] = splitProps(props, ["title", "href", "type", "class"]);
28
+
29
+ const isNext = () => local.type === "next";
30
+
31
+ return (
32
+ <a
33
+ href={local.href}
34
+ class={cn(
35
+ "group block rounded-lg transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
36
+ isNext() && "sm:col-start-2",
37
+ local.class
38
+ )}
39
+ {...rest}
40
+ >
41
+ <Card class="h-full transition-all group-hover:bg-accent/40 group-hover:shadow-2xs">
42
+ <CardHeader class={cn("p-4 flex flex-col space-y-1.5", isNext() && "items-end text-right")}>
43
+ <CardDescription class="flex items-center gap-1 text-xs font-medium text-muted-foreground">
44
+ <Show when={!isNext()}>
45
+ <ChevronLeft class="size-3.5 transition-transform group-hover:-translate-x-0.5" />
46
+ <span>Previous</span>
47
+ </Show>
48
+ <Show when={isNext()}>
49
+ <span>Next</span>
50
+ <ChevronRight class="size-3.5 transition-transform group-hover:translate-x-0.5" />
51
+ </Show>
52
+ </CardDescription>
53
+ <CardTitle class="text-sm font-semibold tracking-tight group-hover:text-primary transition-colors line-clamp-1">
54
+ {local.title}
55
+ </CardTitle>
56
+ </CardHeader>
57
+ </Card>
58
+ </a>
59
+ );
60
+ };
61
+
62
+ export interface PagerProps extends JSX.HTMLAttributes<HTMLDivElement> {
63
+ /** Previous documentation page item */
64
+ prev?: PagerItem | null;
65
+ /** Next documentation page item */
66
+ next?: PagerItem | null;
67
+ class?: string;
68
+ }
69
+
70
+ /**
71
+ * Documentation Next / Previous article navigation block composed of Nikala UI Card primitives.
72
+ */
73
+ export const Pager: Component<PagerProps> = (props) => {
74
+ const [local, rest] = splitProps(props, ["prev", "next", "class", "children"]);
75
+ const resolved = children(() => local.children);
76
+
77
+ return (
78
+ <div
79
+ class={cn("grid grid-cols-1 gap-4 sm:grid-cols-2 mt-10 pt-6 border-t border-border", local.class)}
80
+ {...rest}
81
+ >
82
+ <Show
83
+ when={resolved()}
84
+ fallback={
85
+ <>
86
+ <Show
87
+ when={local.prev}
88
+ fallback={<span class="hidden sm:block" />}
89
+ >
90
+ <PagerLink type="prev" title={local.prev!.title} href={local.prev!.href} />
91
+ </Show>
92
+ <Show when={local.next}>
93
+ <PagerLink type="next" title={local.next!.title} href={local.next!.href} />
94
+ </Show>
95
+ </>
96
+ }
97
+ >
98
+ {resolved()}
99
+ </Show>
100
+ </div>
101
+ );
102
+ };
@@ -0,0 +1,228 @@
1
+ import {
2
+ createSignal,
3
+ createEffect,
4
+ onCleanup,
5
+ splitProps,
6
+ type Component,
7
+ type JSX,
8
+ type Accessor,
9
+ } from "solid-js";
10
+ import { createScrollPosition } from "@/hooks/create-scroll-position";
11
+ import { createElementSize } from "@/hooks/create-resize-observer";
12
+ import { cn } from "@/lib/cn";
13
+
14
+ export interface ScrollAreaProps extends JSX.HTMLAttributes<HTMLDivElement> {
15
+ orientation?: "vertical" | "horizontal" | "both";
16
+ scrollHideDelay?: number;
17
+ class?: string;
18
+ children?: JSX.Element;
19
+ }
20
+
21
+ export const ScrollArea: Component<ScrollAreaProps> = (props) => {
22
+ const [local, rest] = splitProps(props, [
23
+ "orientation",
24
+ "scrollHideDelay",
25
+ "class",
26
+ "children",
27
+ ]);
28
+
29
+ const orientation = () => local.orientation || "vertical";
30
+ let viewportRef: HTMLDivElement | undefined;
31
+ let verticalTrackRef: HTMLDivElement | undefined;
32
+ let horizontalTrackRef: HTMLDivElement | undefined;
33
+
34
+ const scrollPos = createScrollPosition({
35
+ target: () => viewportRef,
36
+ });
37
+
38
+ const viewportSize = createElementSize(() => viewportRef);
39
+
40
+ const [thumbHeight, setThumbHeight] = createSignal(0);
41
+ const [thumbTop, setThumbTop] = createSignal(0);
42
+ const [thumbWidth, setThumbWidth] = createSignal(0);
43
+ const [thumbLeft, setThumbLeft] = createSignal(0);
44
+ const [isDragging, setIsDragging] = createSignal(false);
45
+
46
+ const updateThumbMetrics = () => {
47
+ if (!viewportRef) return;
48
+
49
+ const scrollHeight = viewportRef.scrollHeight;
50
+ const clientHeight = viewportRef.clientHeight;
51
+ const scrollWidth = viewportRef.scrollWidth;
52
+ const clientWidth = viewportRef.clientWidth;
53
+
54
+ // Track available lengths (considering 4px track padding)
55
+ const trackHeight = verticalTrackRef ? verticalTrackRef.clientHeight - 4 : clientHeight - 4;
56
+ const trackWidth = horizontalTrackRef ? horizontalTrackRef.clientWidth - 4 : clientWidth - 4;
57
+
58
+ // Vertical thumb metrics
59
+ if (scrollHeight > clientHeight && clientHeight > 0) {
60
+ const vRatio = clientHeight / scrollHeight;
61
+ const calculatedHeight = Math.max(vRatio * trackHeight, 20);
62
+ const maxTop = trackHeight - calculatedHeight;
63
+ const topPct = scrollPos.y() / (scrollHeight - clientHeight);
64
+ setThumbHeight(calculatedHeight);
65
+ setThumbTop(topPct * maxTop);
66
+ } else {
67
+ setThumbHeight(0);
68
+ }
69
+
70
+ // Horizontal thumb metrics
71
+ if (scrollWidth > clientWidth && clientWidth > 0) {
72
+ const hRatio = clientWidth / scrollWidth;
73
+ const calculatedWidth = Math.max(hRatio * trackWidth, 20);
74
+ const maxLeft = trackWidth - calculatedWidth;
75
+ const leftPct = scrollPos.x() / (scrollWidth - clientWidth);
76
+ setThumbWidth(calculatedWidth);
77
+ setThumbLeft(leftPct * maxLeft);
78
+ } else {
79
+ setThumbWidth(0);
80
+ }
81
+ };
82
+
83
+ createEffect(() => {
84
+ viewportSize.width();
85
+ viewportSize.height();
86
+ scrollPos.x();
87
+ scrollPos.y();
88
+ updateThumbMetrics();
89
+ });
90
+
91
+ // Enable mouse drag on Vertical Thumb
92
+ const handleVerticalThumbPointerDown = (e: PointerEvent) => {
93
+ if (!viewportRef || !verticalTrackRef) return;
94
+ e.preventDefault();
95
+ e.stopPropagation();
96
+
97
+ setIsDragging(true);
98
+ const startY = e.clientY;
99
+ const startScrollTop = viewportRef.scrollTop;
100
+ const scrollHeight = viewportRef.scrollHeight;
101
+ const clientHeight = viewportRef.clientHeight;
102
+ const trackHeight = verticalTrackRef.clientHeight - 4;
103
+
104
+ const maxScrollTop = scrollHeight - clientHeight;
105
+ const maxThumbTop = trackHeight - thumbHeight();
106
+ const ratio = maxThumbTop > 0 ? maxScrollTop / maxThumbTop : 0;
107
+
108
+ const onPointerMove = (moveEvent: PointerEvent) => {
109
+ const deltaY = moveEvent.clientY - startY;
110
+ viewportRef!.scrollTop = Math.max(0, Math.min(maxScrollTop, startScrollTop + deltaY * ratio));
111
+ };
112
+
113
+ const onPointerUp = () => {
114
+ setIsDragging(false);
115
+ window.removeEventListener("pointermove", onPointerMove);
116
+ window.removeEventListener("pointerup", onPointerUp);
117
+ };
118
+
119
+ window.addEventListener("pointermove", onPointerMove);
120
+ window.addEventListener("pointerup", onPointerUp);
121
+ };
122
+
123
+ // Enable mouse drag on Horizontal Thumb
124
+ const handleHorizontalThumbPointerDown = (e: PointerEvent) => {
125
+ if (!viewportRef || !horizontalTrackRef) return;
126
+ e.preventDefault();
127
+ e.stopPropagation();
128
+
129
+ setIsDragging(true);
130
+ const startX = e.clientX;
131
+ const startScrollLeft = viewportRef.scrollLeft;
132
+ const scrollWidth = viewportRef.scrollWidth;
133
+ const clientWidth = viewportRef.clientWidth;
134
+ const trackWidth = horizontalTrackRef.clientWidth - 4;
135
+
136
+ const maxScrollLeft = scrollWidth - clientWidth;
137
+ const maxThumbLeft = trackWidth - thumbWidth();
138
+ const ratio = maxThumbLeft > 0 ? maxScrollLeft / maxThumbLeft : 0;
139
+
140
+ const onPointerMove = (moveEvent: PointerEvent) => {
141
+ const deltaX = moveEvent.clientX - startX;
142
+ viewportRef!.scrollLeft = Math.max(0, Math.min(maxScrollLeft, startScrollLeft + deltaX * ratio));
143
+ };
144
+
145
+ const onPointerUp = () => {
146
+ setIsDragging(false);
147
+ window.removeEventListener("pointermove", onPointerMove);
148
+ window.removeEventListener("pointerup", onPointerUp);
149
+ };
150
+
151
+ window.addEventListener("pointermove", onPointerMove);
152
+ window.addEventListener("pointerup", onPointerUp);
153
+ };
154
+
155
+ // Convert vertical mouse wheel into horizontal scroll proportionally
156
+ const handleWheel = (e: WheelEvent) => {
157
+ if (orientation() === "horizontal" && viewportRef) {
158
+ if (Math.abs(e.deltaY) > Math.abs(e.deltaX)) {
159
+ e.preventDefault();
160
+ viewportRef.scrollLeft += e.deltaY;
161
+ }
162
+ }
163
+ };
164
+
165
+ return (
166
+ <div
167
+ class={cn("relative overflow-hidden group/scroll-area", local.class)}
168
+ onWheel={handleWheel}
169
+ {...rest}
170
+ >
171
+ {/* Scroll Viewport Container */}
172
+ <div
173
+ ref={viewportRef}
174
+ class="h-full w-full max-h-[inherit] overflow-auto scrollbar-none rounded-[inherit]"
175
+ style={{
176
+ "scrollbar-width": "none",
177
+ "-ms-overflow-style": "none",
178
+ }}
179
+ >
180
+ {local.children}
181
+ </div>
182
+
183
+ {/* Vertical Scrollbar Track & Thumb */}
184
+ {(orientation() === "vertical" || orientation() === "both") && thumbHeight() > 0 && (
185
+ <div
186
+ ref={verticalTrackRef}
187
+ class={cn(
188
+ "absolute right-0 top-0 bottom-0 w-2.5 p-0.5 select-none transition-opacity duration-300 pointer-events-none",
189
+ scrollPos.isScrolling() || isDragging()
190
+ ? "opacity-100"
191
+ : "opacity-0 group-hover/scroll-area:opacity-100"
192
+ )}
193
+ >
194
+ <div
195
+ class="w-1.5 rounded-lg bg-border hover:bg-muted-foreground/50 transition-colors cursor-pointer pointer-events-auto"
196
+ style={{
197
+ height: `${thumbHeight()}px`,
198
+ transform: `translateY(${thumbTop()}px)`,
199
+ }}
200
+ onPointerDown={handleVerticalThumbPointerDown}
201
+ />
202
+ </div>
203
+ )}
204
+
205
+ {/* Horizontal Scrollbar Track & Thumb */}
206
+ {(orientation() === "horizontal" || orientation() === "both") && thumbWidth() > 0 && (
207
+ <div
208
+ ref={horizontalTrackRef}
209
+ class={cn(
210
+ "absolute bottom-0 left-0 right-0 h-2.5 p-0.5 select-none transition-opacity duration-300 pointer-events-none",
211
+ scrollPos.isScrolling() || isDragging()
212
+ ? "opacity-100"
213
+ : "opacity-0 group-hover/scroll-area:opacity-100"
214
+ )}
215
+ >
216
+ <div
217
+ class="h-1.5 rounded-lg bg-border hover:bg-muted-foreground/50 transition-colors cursor-pointer pointer-events-auto"
218
+ style={{
219
+ width: `${thumbWidth()}px`,
220
+ transform: `translateX(${thumbLeft()}px)`,
221
+ }}
222
+ onPointerDown={handleHorizontalThumbPointerDown}
223
+ />
224
+ </div>
225
+ )}
226
+ </div>
227
+ );
228
+ };
@@ -0,0 +1,115 @@
1
+ import {
2
+ splitProps,
3
+ Show,
4
+ type JSX,
5
+ type Component,
6
+ } from "solid-js";
7
+ import { cva, type VariantProps } from "class-variance-authority";
8
+ import { Badge } from "@/components/ui/badge";
9
+ import { cn } from "@/lib/cn";
10
+
11
+ const headingVariants = cva("tracking-tight", {
12
+ variants: {
13
+ variant: {
14
+ page: "text-3xl sm:text-4xl font-bold",
15
+ section: "text-2xl font-semibold border-b border-border/50 pb-2",
16
+ compact: "text-base font-semibold",
17
+ },
18
+ },
19
+ defaultVariants: {
20
+ variant: "section",
21
+ },
22
+ });
23
+
24
+ const descriptionVariants = cva("text-muted-foreground leading-relaxed", {
25
+ variants: {
26
+ variant: {
27
+ page: "text-lg",
28
+ section: "text-sm",
29
+ compact: "text-xs",
30
+ },
31
+ },
32
+ defaultVariants: {
33
+ variant: "section",
34
+ },
35
+ });
36
+
37
+ export interface SectionHeadingProps
38
+ extends Omit<JSX.HTMLAttributes<HTMLDivElement>, "title">,
39
+ VariantProps<typeof headingVariants> {
40
+ /** Heading text content */
41
+ title: string;
42
+ /** Optional badge label displayed next to the title */
43
+ badge?: string;
44
+ /** Badge style variant */
45
+ badgeVariant?: "default" | "secondary" | "outline" | "destructive";
46
+ /** Optional subtitle or explanatory note below the title */
47
+ description?: string;
48
+ /** Optional action rendered alongside the heading */
49
+ actions?: JSX.Element;
50
+ class?: string;
51
+ }
52
+
53
+ /**
54
+ * Reusable heading block with title, optional badge, and description.
55
+ * Supports "page" (h1), "section" (h2 with divider), and "compact" (h3) variants.
56
+ */
57
+ export const SectionHeading: Component<SectionHeadingProps> = (props) => {
58
+ const [local, rest] = splitProps(props, [
59
+ "title",
60
+ "badge",
61
+ "badgeVariant",
62
+ "description",
63
+ "actions",
64
+ "variant",
65
+ "class",
66
+ ]);
67
+
68
+ const v = () => local.variant || "section";
69
+
70
+ return (
71
+ <div class={cn("space-y-2", local.class)} {...rest}>
72
+ <div class={cn("flex items-center justify-between gap-2", v() === "section" && "w-full")}>
73
+ <div class="flex min-w-0 items-center gap-2">
74
+ <Show when={v() === "page"}>
75
+ <h1 class={headingVariants({ variant: v() })}>
76
+ {local.title}
77
+ </h1>
78
+ </Show>
79
+
80
+ <Show when={v() === "section"}>
81
+ <h2 class={cn("w-full", headingVariants({ variant: v() }))}>
82
+ {local.title}
83
+ </h2>
84
+ </Show>
85
+
86
+ <Show when={v() === "compact"}>
87
+ <h3 class={headingVariants({ variant: v() })}>
88
+ {local.title}
89
+ </h3>
90
+ </Show>
91
+
92
+ <Show when={local.badge}>
93
+ <Badge
94
+ variant={local.badgeVariant || "outline"}
95
+ class={cn(
96
+ "select-none",
97
+ v() === "page" ? "text-xs" : "font-mono text-[10px] py-0 px-1.5 font-medium"
98
+ )}
99
+ >
100
+ {local.badge}
101
+ </Badge>
102
+ </Show>
103
+ </div>
104
+
105
+ <Show when={local.actions}>{local.actions}</Show>
106
+ </div>
107
+
108
+ <Show when={local.description}>
109
+ <p class={descriptionVariants({ variant: v() })}>
110
+ {local.description}
111
+ </p>
112
+ </Show>
113
+ </div>
114
+ );
115
+ };
@@ -0,0 +1,37 @@
1
+ import { splitProps, type Component, type JSX } from "solid-js";
2
+ import { cn } from "@/lib/cn";
3
+
4
+ export interface SeparatorProps extends JSX.HTMLAttributes<HTMLDivElement> {
5
+ /** Orientation of the separator line */
6
+ orientation?: "horizontal" | "vertical";
7
+ /** Whether the element is purely visual or semantic for screen readers */
8
+ decorative?: boolean;
9
+ class?: string;
10
+ }
11
+
12
+ /**
13
+ * Nikala UI Separator component used to divide content visually or semantically.
14
+ */
15
+ export const Separator: Component<SeparatorProps> = (props) => {
16
+ const [local, rest] = splitProps(props, [
17
+ "orientation",
18
+ "decorative",
19
+ "class",
20
+ ]);
21
+
22
+ const orientation = () => local.orientation || "horizontal";
23
+ const isDecorative = () => local.decorative ?? true;
24
+
25
+ return (
26
+ <div
27
+ role={isDecorative() ? "none" : "separator"}
28
+ aria-orientation={isDecorative() ? undefined : orientation()}
29
+ class={cn(
30
+ "shrink-0 bg-border",
31
+ orientation() === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
32
+ local.class
33
+ )}
34
+ {...rest}
35
+ />
36
+ );
37
+ };