@adea-ai/ui 0.60.4 → 0.61.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 (862) hide show
  1. package/README.md +108 -34
  2. package/dist/components/composites/account-menu/account-menu.d.ts +48 -0
  3. package/dist/components/composites/account-menu/account-menu.d.ts.map +1 -0
  4. package/dist/components/composites/account-menu/account-menu.js +119 -0
  5. package/dist/components/composites/account-menu/account-menu.js.map +1 -0
  6. package/dist/components/composites/account-menu/index.d.ts +2 -0
  7. package/dist/components/composites/account-menu/index.d.ts.map +1 -0
  8. package/dist/components/composites/list-row/index.d.ts +2 -0
  9. package/dist/components/composites/list-row/index.d.ts.map +1 -0
  10. package/dist/components/composites/list-row/list-row.d.ts +44 -0
  11. package/dist/components/composites/list-row/list-row.d.ts.map +1 -0
  12. package/dist/components/composites/list-row/list-row.js +124 -0
  13. package/dist/components/composites/list-row/list-row.js.map +1 -0
  14. package/dist/components/composites/settings/index.d.ts +2 -0
  15. package/dist/components/composites/settings/index.d.ts.map +1 -0
  16. package/dist/components/composites/settings/settings.d.ts +49 -0
  17. package/dist/components/composites/settings/settings.d.ts.map +1 -0
  18. package/dist/components/composites/settings/settings.js +148 -0
  19. package/dist/components/composites/settings/settings.js.map +1 -0
  20. package/dist/components/composites/stat/index.d.ts +2 -0
  21. package/dist/components/composites/stat/index.d.ts.map +1 -0
  22. package/dist/components/composites/stat/stat.d.ts +48 -0
  23. package/dist/components/composites/stat/stat.d.ts.map +1 -0
  24. package/dist/components/composites/stat/stat.js +148 -0
  25. package/dist/components/composites/stat/stat.js.map +1 -0
  26. package/dist/components/composites/update-dialog/index.d.ts +2 -0
  27. package/dist/components/composites/update-dialog/index.d.ts.map +1 -0
  28. package/dist/components/composites/update-dialog/update-dialog.d.ts +108 -0
  29. package/dist/components/composites/update-dialog/update-dialog.d.ts.map +1 -0
  30. package/dist/components/composites/update-dialog/update-dialog.js +452 -0
  31. package/dist/components/composites/update-dialog/update-dialog.js.map +1 -0
  32. package/dist/components/composites/workspace-mark/index.d.ts +2 -0
  33. package/dist/components/composites/workspace-mark/index.d.ts.map +1 -0
  34. package/dist/components/composites/workspace-mark/workspace-mark.d.ts +24 -0
  35. package/dist/components/composites/workspace-mark/workspace-mark.d.ts.map +1 -0
  36. package/dist/components/composites/workspace-mark/workspace-mark.js +76 -0
  37. package/dist/components/composites/workspace-mark/workspace-mark.js.map +1 -0
  38. package/dist/components/conversation/conversation-avatar.d.ts +21 -0
  39. package/dist/components/conversation/conversation-avatar.d.ts.map +1 -0
  40. package/dist/components/conversation/conversation-avatar.js +52 -0
  41. package/dist/components/conversation/conversation-avatar.js.map +1 -0
  42. package/dist/components/conversation/conversation-surface.d.ts +27 -0
  43. package/dist/components/conversation/conversation-surface.d.ts.map +1 -0
  44. package/dist/components/conversation/conversation-surface.js +118 -0
  45. package/dist/components/conversation/conversation-surface.js.map +1 -0
  46. package/dist/components/conversation/index.d.ts +6 -0
  47. package/dist/components/conversation/index.d.ts.map +1 -0
  48. package/dist/components/conversation/message-composer.d.ts +70 -0
  49. package/dist/components/conversation/message-composer.d.ts.map +1 -0
  50. package/dist/components/conversation/message-composer.js +235 -0
  51. package/dist/components/conversation/message-composer.js.map +1 -0
  52. package/dist/components/conversation/message-row.d.ts +101 -0
  53. package/dist/components/conversation/message-row.d.ts.map +1 -0
  54. package/dist/components/conversation/message-row.js +389 -0
  55. package/dist/components/conversation/message-row.js.map +1 -0
  56. package/dist/components/conversation/thread-panel.d.ts +45 -0
  57. package/dist/components/conversation/thread-panel.d.ts.map +1 -0
  58. package/dist/components/conversation/thread-panel.js +123 -0
  59. package/dist/components/conversation/thread-panel.js.map +1 -0
  60. package/dist/components/layout/app-shell/app-shell.d.ts +45 -0
  61. package/dist/components/layout/app-shell/app-shell.d.ts.map +1 -0
  62. package/dist/components/layout/app-shell/app-shell.js +89 -0
  63. package/dist/components/layout/app-shell/app-shell.js.map +1 -0
  64. package/dist/components/layout/app-shell/index.d.ts +2 -0
  65. package/dist/components/layout/app-shell/index.d.ts.map +1 -0
  66. package/dist/components/layout/page/index.d.ts +2 -0
  67. package/dist/components/layout/page/index.d.ts.map +1 -0
  68. package/dist/components/layout/page/page.d.ts +31 -0
  69. package/dist/components/layout/page/page.d.ts.map +1 -0
  70. package/dist/components/layout/page/page.js +143 -0
  71. package/dist/components/layout/page/page.js.map +1 -0
  72. package/dist/components/layout/panel/index.d.ts +2 -0
  73. package/dist/components/layout/panel/index.d.ts.map +1 -0
  74. package/dist/components/layout/panel/panel.d.ts +44 -0
  75. package/dist/components/layout/panel/panel.d.ts.map +1 -0
  76. package/dist/components/layout/panel/panel.js +151 -0
  77. package/dist/components/layout/panel/panel.js.map +1 -0
  78. package/dist/components/layout/side-rail/index.d.ts +3 -0
  79. package/dist/components/layout/side-rail/index.d.ts.map +1 -0
  80. package/dist/components/layout/side-rail/side-rail-context.d.ts +23 -0
  81. package/dist/components/layout/side-rail/side-rail-context.d.ts.map +1 -0
  82. package/dist/components/layout/side-rail/side-rail-context.js +18 -0
  83. package/dist/components/layout/side-rail/side-rail-context.js.map +1 -0
  84. package/dist/components/layout/side-rail/side-rail.d.ts +101 -0
  85. package/dist/components/layout/side-rail/side-rail.d.ts.map +1 -0
  86. package/dist/components/layout/side-rail/side-rail.js +336 -0
  87. package/dist/components/layout/side-rail/side-rail.js.map +1 -0
  88. package/dist/components/layout/sidebar-nav/index.d.ts +2 -0
  89. package/dist/components/layout/sidebar-nav/index.d.ts.map +1 -0
  90. package/dist/components/layout/sidebar-nav/sidebar-nav.d.ts +62 -0
  91. package/dist/components/layout/sidebar-nav/sidebar-nav.d.ts.map +1 -0
  92. package/dist/components/layout/sidebar-nav/sidebar-nav.js +231 -0
  93. package/dist/components/layout/sidebar-nav/sidebar-nav.js.map +1 -0
  94. package/dist/components/layout/status-bar/index.d.ts +2 -0
  95. package/dist/components/layout/status-bar/index.d.ts.map +1 -0
  96. package/dist/components/layout/status-bar/status-bar.d.ts +23 -0
  97. package/dist/components/layout/status-bar/status-bar.d.ts.map +1 -0
  98. package/dist/components/layout/status-bar/status-bar.js +68 -0
  99. package/dist/components/layout/status-bar/status-bar.js.map +1 -0
  100. package/dist/components/layout/top-bar/index.d.ts +2 -0
  101. package/dist/components/layout/top-bar/index.d.ts.map +1 -0
  102. package/dist/components/layout/top-bar/top-bar.d.ts +59 -0
  103. package/dist/components/layout/top-bar/top-bar.d.ts.map +1 -0
  104. package/dist/components/layout/top-bar/top-bar.js +118 -0
  105. package/dist/components/layout/top-bar/top-bar.js.map +1 -0
  106. package/dist/components/motion/index.d.ts +3 -0
  107. package/dist/components/motion/index.d.ts.map +1 -0
  108. package/dist/components/motion/index.js +3 -0
  109. package/dist/components/motion/presence.d.ts +29 -0
  110. package/dist/components/motion/presence.d.ts.map +1 -0
  111. package/dist/components/motion/presence.js +10 -0
  112. package/dist/components/motion/presence.js.map +1 -0
  113. package/dist/components/theme/appearance-panel.d.ts +25 -0
  114. package/dist/components/theme/appearance-panel.d.ts.map +1 -0
  115. package/dist/components/theme/appearance-panel.js +162 -0
  116. package/dist/components/theme/appearance-panel.js.map +1 -0
  117. package/dist/components/theme/index.d.ts +5 -0
  118. package/dist/components/theme/index.d.ts.map +1 -0
  119. package/dist/components/theme/theme-picker.d.ts +54 -0
  120. package/dist/components/theme/theme-picker.d.ts.map +1 -0
  121. package/dist/components/theme/theme-picker.js +156 -0
  122. package/dist/components/theme/theme-picker.js.map +1 -0
  123. package/dist/components/theme/theme-provider.d.ts +130 -0
  124. package/dist/components/theme/theme-provider.d.ts.map +1 -0
  125. package/dist/components/theme/theme-provider.js +164 -0
  126. package/dist/components/theme/theme-provider.js.map +1 -0
  127. package/dist/components/theme/theme-toggle.d.ts +19 -0
  128. package/dist/components/theme/theme-toggle.d.ts.map +1 -0
  129. package/dist/components/theme/theme-toggle.js +69 -0
  130. package/dist/components/theme/theme-toggle.js.map +1 -0
  131. package/dist/components/ui/accordion/accordion.d.ts +18 -0
  132. package/dist/components/ui/accordion/accordion.d.ts.map +1 -0
  133. package/dist/components/ui/accordion/accordion.js +60 -0
  134. package/dist/components/ui/accordion/accordion.js.map +1 -0
  135. package/dist/components/ui/accordion/index.d.ts +2 -0
  136. package/dist/components/ui/accordion/index.d.ts.map +1 -0
  137. package/dist/components/ui/alert/alert.d.ts +26 -0
  138. package/dist/components/ui/alert/alert.d.ts.map +1 -0
  139. package/dist/components/ui/alert/alert.js +89 -0
  140. package/dist/components/ui/alert/alert.js.map +1 -0
  141. package/dist/components/ui/alert/index.d.ts +2 -0
  142. package/dist/components/ui/alert/index.d.ts.map +1 -0
  143. package/dist/components/ui/alert-dialog/alert-dialog.d.ts +29 -0
  144. package/dist/components/ui/alert-dialog/alert-dialog.d.ts.map +1 -0
  145. package/dist/components/ui/alert-dialog/alert-dialog.js +155 -0
  146. package/dist/components/ui/alert-dialog/alert-dialog.js.map +1 -0
  147. package/dist/components/ui/alert-dialog/index.d.ts +2 -0
  148. package/dist/components/ui/alert-dialog/index.d.ts.map +1 -0
  149. package/dist/components/ui/aspect-ratio/aspect-ratio.d.ts +22 -0
  150. package/dist/components/ui/aspect-ratio/aspect-ratio.d.ts.map +1 -0
  151. package/dist/components/ui/aspect-ratio/aspect-ratio.js +29 -0
  152. package/dist/components/ui/aspect-ratio/aspect-ratio.js.map +1 -0
  153. package/dist/components/ui/aspect-ratio/index.d.ts +2 -0
  154. package/dist/components/ui/aspect-ratio/index.d.ts.map +1 -0
  155. package/dist/components/ui/avatar/avatar.d.ts +41 -0
  156. package/dist/components/ui/avatar/avatar.d.ts.map +1 -0
  157. package/dist/components/ui/avatar/avatar.js +106 -0
  158. package/dist/components/ui/avatar/avatar.js.map +1 -0
  159. package/dist/components/ui/avatar/index.d.ts +2 -0
  160. package/dist/components/ui/avatar/index.d.ts.map +1 -0
  161. package/dist/components/ui/badge/badge.d.ts +22 -0
  162. package/dist/components/ui/badge/badge.d.ts.map +1 -0
  163. package/dist/components/ui/badge/badge.js +58 -0
  164. package/dist/components/ui/badge/badge.js.map +1 -0
  165. package/dist/components/ui/badge/index.d.ts +2 -0
  166. package/dist/components/ui/badge/index.d.ts.map +1 -0
  167. package/dist/components/ui/board/board.d.ts +78 -0
  168. package/dist/components/ui/board/board.d.ts.map +1 -0
  169. package/dist/components/ui/board/board.js +200 -0
  170. package/dist/components/ui/board/board.js.map +1 -0
  171. package/dist/components/ui/board/index.d.ts +2 -0
  172. package/dist/components/ui/board/index.d.ts.map +1 -0
  173. package/dist/components/ui/breadcrumb/breadcrumb.d.ts +24 -0
  174. package/dist/components/ui/breadcrumb/breadcrumb.d.ts.map +1 -0
  175. package/dist/components/ui/breadcrumb/breadcrumb.js +109 -0
  176. package/dist/components/ui/breadcrumb/breadcrumb.js.map +1 -0
  177. package/dist/components/ui/breadcrumb/index.d.ts +2 -0
  178. package/dist/components/ui/breadcrumb/index.d.ts.map +1 -0
  179. package/dist/components/ui/button/button.d.ts +30 -0
  180. package/dist/components/ui/button/button.d.ts.map +1 -0
  181. package/dist/components/ui/button/button.js +80 -0
  182. package/dist/components/ui/button/button.js.map +1 -0
  183. package/dist/components/ui/button/index.d.ts +2 -0
  184. package/dist/components/ui/button/index.d.ts.map +1 -0
  185. package/dist/components/ui/button-group/button-group.d.ts +39 -0
  186. package/dist/components/ui/button-group/button-group.d.ts.map +1 -0
  187. package/dist/components/ui/button-group/button-group.js +63 -0
  188. package/dist/components/ui/button-group/button-group.js.map +1 -0
  189. package/dist/components/ui/button-group/index.d.ts +2 -0
  190. package/dist/components/ui/button-group/index.d.ts.map +1 -0
  191. package/dist/components/ui/calendar/calendar.d.ts +93 -0
  192. package/dist/components/ui/calendar/calendar.d.ts.map +1 -0
  193. package/dist/components/ui/calendar/calendar.js +243 -0
  194. package/dist/components/ui/calendar/calendar.js.map +1 -0
  195. package/dist/components/ui/calendar/index.d.ts +2 -0
  196. package/dist/components/ui/calendar/index.d.ts.map +1 -0
  197. package/dist/components/ui/card/card.d.ts +23 -0
  198. package/dist/components/ui/card/card.d.ts.map +1 -0
  199. package/dist/components/ui/card/card.js +98 -0
  200. package/dist/components/ui/card/card.js.map +1 -0
  201. package/dist/components/ui/card/index.d.ts +2 -0
  202. package/dist/components/ui/card/index.d.ts.map +1 -0
  203. package/dist/components/ui/carousel/carousel.d.ts +66 -0
  204. package/dist/components/ui/carousel/carousel.d.ts.map +1 -0
  205. package/dist/components/ui/carousel/carousel.js +178 -0
  206. package/dist/components/ui/carousel/carousel.js.map +1 -0
  207. package/dist/components/ui/carousel/index.d.ts +2 -0
  208. package/dist/components/ui/carousel/index.d.ts.map +1 -0
  209. package/dist/components/ui/chart/chart.d.ts +154 -0
  210. package/dist/components/ui/chart/chart.d.ts.map +1 -0
  211. package/dist/components/ui/chart/chart.js +373 -0
  212. package/dist/components/ui/chart/chart.js.map +1 -0
  213. package/dist/components/ui/chart/index.d.ts +2 -0
  214. package/dist/components/ui/chart/index.d.ts.map +1 -0
  215. package/dist/components/ui/checkbox/checkbox.d.ts +33 -0
  216. package/dist/components/ui/checkbox/checkbox.d.ts.map +1 -0
  217. package/dist/components/ui/checkbox/checkbox.js +76 -0
  218. package/dist/components/ui/checkbox/checkbox.js.map +1 -0
  219. package/dist/components/ui/checkbox/index.d.ts +2 -0
  220. package/dist/components/ui/checkbox/index.d.ts.map +1 -0
  221. package/dist/components/ui/code-block/code-block.d.ts +75 -0
  222. package/dist/components/ui/code-block/code-block.d.ts.map +1 -0
  223. package/dist/components/ui/code-block/code-block.js +186 -0
  224. package/dist/components/ui/code-block/code-block.js.map +1 -0
  225. package/dist/components/ui/code-block/index.d.ts +2 -0
  226. package/dist/components/ui/code-block/index.d.ts.map +1 -0
  227. package/dist/components/ui/collapsible/collapsible.d.ts +17 -0
  228. package/dist/components/ui/collapsible/collapsible.d.ts.map +1 -0
  229. package/dist/components/ui/collapsible/collapsible.js +38 -0
  230. package/dist/components/ui/collapsible/collapsible.js.map +1 -0
  231. package/dist/components/ui/collapsible/index.d.ts +2 -0
  232. package/dist/components/ui/collapsible/index.d.ts.map +1 -0
  233. package/dist/components/ui/combobox/combobox.d.ts +28 -0
  234. package/dist/components/ui/combobox/combobox.d.ts.map +1 -0
  235. package/dist/components/ui/combobox/combobox.js +102 -0
  236. package/dist/components/ui/combobox/combobox.js.map +1 -0
  237. package/dist/components/ui/combobox/index.d.ts +2 -0
  238. package/dist/components/ui/combobox/index.d.ts.map +1 -0
  239. package/dist/components/ui/command/command.d.ts +53 -0
  240. package/dist/components/ui/command/command.d.ts.map +1 -0
  241. package/dist/components/ui/command/command.js +137 -0
  242. package/dist/components/ui/command/command.js.map +1 -0
  243. package/dist/components/ui/command/index.d.ts +2 -0
  244. package/dist/components/ui/command/index.d.ts.map +1 -0
  245. package/dist/components/ui/context-menu/context-menu.d.ts +32 -0
  246. package/dist/components/ui/context-menu/context-menu.d.ts.map +1 -0
  247. package/dist/components/ui/context-menu/context-menu.js +119 -0
  248. package/dist/components/ui/context-menu/context-menu.js.map +1 -0
  249. package/dist/components/ui/context-menu/index.d.ts +2 -0
  250. package/dist/components/ui/context-menu/index.d.ts.map +1 -0
  251. package/dist/components/ui/detail-panel/detail-panel.d.ts +61 -0
  252. package/dist/components/ui/detail-panel/detail-panel.d.ts.map +1 -0
  253. package/dist/components/ui/detail-panel/detail-panel.js +132 -0
  254. package/dist/components/ui/detail-panel/detail-panel.js.map +1 -0
  255. package/dist/components/ui/detail-panel/index.d.ts +2 -0
  256. package/dist/components/ui/detail-panel/index.d.ts.map +1 -0
  257. package/dist/components/ui/dialog/dialog.d.ts +40 -0
  258. package/dist/components/ui/dialog/dialog.d.ts.map +1 -0
  259. package/dist/components/ui/dialog/dialog.js +125 -0
  260. package/dist/components/ui/dialog/dialog.js.map +1 -0
  261. package/dist/components/ui/dialog/index.d.ts +2 -0
  262. package/dist/components/ui/dialog/index.d.ts.map +1 -0
  263. package/dist/components/ui/diff-block/diff-block.d.ts +95 -0
  264. package/dist/components/ui/diff-block/diff-block.d.ts.map +1 -0
  265. package/dist/components/ui/diff-block/diff-block.js +230 -0
  266. package/dist/components/ui/diff-block/diff-block.js.map +1 -0
  267. package/dist/components/ui/diff-block/diff-block.test.d.ts +2 -0
  268. package/dist/components/ui/diff-block/diff-block.test.d.ts.map +1 -0
  269. package/dist/components/ui/diff-block/index.d.ts +2 -0
  270. package/dist/components/ui/diff-block/index.d.ts.map +1 -0
  271. package/dist/components/ui/drawer/drawer.d.ts +39 -0
  272. package/dist/components/ui/drawer/drawer.d.ts.map +1 -0
  273. package/dist/components/ui/drawer/drawer.js +106 -0
  274. package/dist/components/ui/drawer/drawer.js.map +1 -0
  275. package/dist/components/ui/drawer/index.d.ts +2 -0
  276. package/dist/components/ui/drawer/index.d.ts.map +1 -0
  277. package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +48 -0
  278. package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts.map +1 -0
  279. package/dist/components/ui/dropdown-menu/dropdown-menu.js +151 -0
  280. package/dist/components/ui/dropdown-menu/dropdown-menu.js.map +1 -0
  281. package/dist/components/ui/dropdown-menu/index.d.ts +2 -0
  282. package/dist/components/ui/dropdown-menu/index.d.ts.map +1 -0
  283. package/dist/components/ui/empty/empty.d.ts +27 -0
  284. package/dist/components/ui/empty/empty.d.ts.map +1 -0
  285. package/dist/components/ui/{empty.js → empty/empty.js} +28 -23
  286. package/dist/components/ui/empty/empty.js.map +1 -0
  287. package/dist/components/ui/empty/index.d.ts +2 -0
  288. package/dist/components/ui/empty/index.d.ts.map +1 -0
  289. package/dist/components/ui/entity-icon/entity-icon.d.ts +59 -0
  290. package/dist/components/ui/entity-icon/entity-icon.d.ts.map +1 -0
  291. package/dist/components/ui/entity-icon/entity-icon.js +145 -0
  292. package/dist/components/ui/entity-icon/entity-icon.js.map +1 -0
  293. package/dist/components/ui/entity-icon/index.d.ts +2 -0
  294. package/dist/components/ui/entity-icon/index.d.ts.map +1 -0
  295. package/dist/components/ui/field/field.d.ts +39 -0
  296. package/dist/components/ui/field/field.d.ts.map +1 -0
  297. package/dist/components/ui/field/field.js +111 -0
  298. package/dist/components/ui/field/field.js.map +1 -0
  299. package/dist/components/ui/field/index.d.ts +2 -0
  300. package/dist/components/ui/field/index.d.ts.map +1 -0
  301. package/dist/components/ui/hover-card/hover-card.d.ts +17 -0
  302. package/dist/components/ui/hover-card/hover-card.d.ts.map +1 -0
  303. package/dist/components/ui/hover-card/hover-card.js +40 -0
  304. package/dist/components/ui/hover-card/hover-card.js.map +1 -0
  305. package/dist/components/ui/hover-card/index.d.ts +2 -0
  306. package/dist/components/ui/hover-card/index.d.ts.map +1 -0
  307. package/dist/components/ui/input/index.d.ts +2 -0
  308. package/dist/components/ui/input/index.d.ts.map +1 -0
  309. package/dist/components/ui/input/input.d.ts +15 -0
  310. package/dist/components/ui/input/input.d.ts.map +1 -0
  311. package/dist/components/ui/input/input.js +36 -0
  312. package/dist/components/ui/input/input.js.map +1 -0
  313. package/dist/components/ui/input-group/index.d.ts +2 -0
  314. package/dist/components/ui/input-group/index.d.ts.map +1 -0
  315. package/dist/components/ui/input-group/input-group.d.ts +34 -0
  316. package/dist/components/ui/input-group/input-group.d.ts.map +1 -0
  317. package/dist/components/ui/input-group/input-group.js +93 -0
  318. package/dist/components/ui/input-group/input-group.js.map +1 -0
  319. package/dist/components/ui/input-otp/index.d.ts +2 -0
  320. package/dist/components/ui/input-otp/index.d.ts.map +1 -0
  321. package/dist/components/ui/input-otp/input-otp.d.ts +37 -0
  322. package/dist/components/ui/input-otp/input-otp.d.ts.map +1 -0
  323. package/dist/components/ui/input-otp/input-otp.js +92 -0
  324. package/dist/components/ui/input-otp/input-otp.js.map +1 -0
  325. package/dist/components/ui/item/index.d.ts +2 -0
  326. package/dist/components/ui/item/index.d.ts.map +1 -0
  327. package/dist/components/ui/item/item.d.ts +49 -0
  328. package/dist/components/ui/item/item.d.ts.map +1 -0
  329. package/dist/components/ui/item/item.js +163 -0
  330. package/dist/components/ui/item/item.js.map +1 -0
  331. package/dist/components/ui/kbd/index.d.ts +2 -0
  332. package/dist/components/ui/kbd/index.d.ts.map +1 -0
  333. package/dist/components/ui/kbd/kbd.d.ts +14 -0
  334. package/dist/components/ui/kbd/kbd.d.ts.map +1 -0
  335. package/dist/components/ui/kbd/kbd.js +40 -0
  336. package/dist/components/ui/kbd/kbd.js.map +1 -0
  337. package/dist/components/ui/label/index.d.ts +2 -0
  338. package/dist/components/ui/label/index.d.ts.map +1 -0
  339. package/dist/components/ui/label/label.d.ts +17 -0
  340. package/dist/components/ui/label/label.d.ts.map +1 -0
  341. package/dist/components/ui/label/label.js +33 -0
  342. package/dist/components/ui/label/label.js.map +1 -0
  343. package/dist/components/ui/menubar/index.d.ts +2 -0
  344. package/dist/components/ui/menubar/index.d.ts.map +1 -0
  345. package/dist/components/ui/menubar/menubar.d.ts +38 -0
  346. package/dist/components/ui/menubar/menubar.d.ts.map +1 -0
  347. package/dist/components/ui/menubar/menubar.js +138 -0
  348. package/dist/components/ui/menubar/menubar.js.map +1 -0
  349. package/dist/components/ui/modal-dialog/index.d.ts +2 -0
  350. package/dist/components/ui/modal-dialog/index.d.ts.map +1 -0
  351. package/dist/components/ui/modal-dialog/modal-dialog.d.ts +35 -0
  352. package/dist/components/ui/modal-dialog/modal-dialog.d.ts.map +1 -0
  353. package/dist/components/ui/modal-dialog/modal-dialog.js +78 -0
  354. package/dist/components/ui/modal-dialog/modal-dialog.js.map +1 -0
  355. package/dist/components/ui/navigation-menu/index.d.ts +2 -0
  356. package/dist/components/ui/navigation-menu/index.d.ts.map +1 -0
  357. package/dist/components/ui/navigation-menu/navigation-menu.d.ts +77 -0
  358. package/dist/components/ui/navigation-menu/navigation-menu.d.ts.map +1 -0
  359. package/dist/components/ui/navigation-menu/navigation-menu.js +116 -0
  360. package/dist/components/ui/navigation-menu/navigation-menu.js.map +1 -0
  361. package/dist/components/ui/pagination/index.d.ts +2 -0
  362. package/dist/components/ui/pagination/index.d.ts.map +1 -0
  363. package/dist/components/ui/pagination/pagination.d.ts +33 -0
  364. package/dist/components/ui/pagination/pagination.d.ts.map +1 -0
  365. package/dist/components/ui/pagination/pagination.js +92 -0
  366. package/dist/components/ui/pagination/pagination.js.map +1 -0
  367. package/dist/components/ui/popover/index.d.ts +2 -0
  368. package/dist/components/ui/popover/index.d.ts.map +1 -0
  369. package/dist/components/ui/popover/popover.d.ts +26 -0
  370. package/dist/components/ui/popover/popover.d.ts.map +1 -0
  371. package/dist/components/ui/popover/popover.js +66 -0
  372. package/dist/components/ui/popover/popover.js.map +1 -0
  373. package/dist/components/ui/progress/index.d.ts +2 -0
  374. package/dist/components/ui/progress/index.d.ts.map +1 -0
  375. package/dist/components/ui/progress/progress.d.ts +29 -0
  376. package/dist/components/ui/progress/progress.d.ts.map +1 -0
  377. package/dist/components/ui/progress/progress.js +53 -0
  378. package/dist/components/ui/progress/progress.js.map +1 -0
  379. package/dist/components/ui/radio-group/index.d.ts +2 -0
  380. package/dist/components/ui/radio-group/index.d.ts.map +1 -0
  381. package/dist/components/ui/radio-group/radio-group.d.ts +26 -0
  382. package/dist/components/ui/radio-group/radio-group.d.ts.map +1 -0
  383. package/dist/components/ui/radio-group/radio-group.js +77 -0
  384. package/dist/components/ui/radio-group/radio-group.js.map +1 -0
  385. package/dist/components/ui/resizable/index.d.ts +2 -0
  386. package/dist/components/ui/resizable/index.d.ts.map +1 -0
  387. package/dist/components/ui/resizable/resizable.d.ts +33 -0
  388. package/dist/components/ui/resizable/resizable.d.ts.map +1 -0
  389. package/dist/components/ui/resizable/resizable.js +57 -0
  390. package/dist/components/ui/resizable/resizable.js.map +1 -0
  391. package/dist/components/ui/scroll-area/index.d.ts +2 -0
  392. package/dist/components/ui/scroll-area/index.d.ts.map +1 -0
  393. package/dist/components/ui/scroll-area/scroll-area.d.ts +26 -0
  394. package/dist/components/ui/scroll-area/scroll-area.d.ts.map +1 -0
  395. package/dist/components/ui/scroll-area/scroll-area.js +36 -0
  396. package/dist/components/ui/scroll-area/scroll-area.js.map +1 -0
  397. package/dist/components/ui/select/index.d.ts +2 -0
  398. package/dist/components/ui/select/index.d.ts.map +1 -0
  399. package/dist/components/ui/select/select.d.ts +63 -0
  400. package/dist/components/ui/select/select.d.ts.map +1 -0
  401. package/dist/components/ui/select/select.js +142 -0
  402. package/dist/components/ui/select/select.js.map +1 -0
  403. package/dist/components/ui/separator/index.d.ts +2 -0
  404. package/dist/components/ui/separator/index.d.ts.map +1 -0
  405. package/dist/components/ui/separator/separator.d.ts +17 -0
  406. package/dist/components/ui/separator/separator.d.ts.map +1 -0
  407. package/dist/components/ui/separator/separator.js +24 -0
  408. package/dist/components/ui/separator/separator.js.map +1 -0
  409. package/dist/components/ui/sheet/index.d.ts +2 -0
  410. package/dist/components/ui/sheet/index.d.ts.map +1 -0
  411. package/dist/components/ui/sheet/sheet.d.ts +32 -0
  412. package/dist/components/ui/sheet/sheet.d.ts.map +1 -0
  413. package/dist/components/ui/sheet/sheet.js +118 -0
  414. package/dist/components/ui/sheet/sheet.js.map +1 -0
  415. package/dist/components/ui/skeleton/index.d.ts +2 -0
  416. package/dist/components/ui/skeleton/index.d.ts.map +1 -0
  417. package/dist/components/ui/skeleton/skeleton.d.ts +15 -0
  418. package/dist/components/ui/skeleton/skeleton.d.ts.map +1 -0
  419. package/dist/components/ui/skeleton/skeleton.js +31 -0
  420. package/dist/components/ui/skeleton/skeleton.js.map +1 -0
  421. package/dist/components/ui/slider/index.d.ts +2 -0
  422. package/dist/components/ui/slider/index.d.ts.map +1 -0
  423. package/dist/components/ui/slider/slider.d.ts +22 -0
  424. package/dist/components/ui/slider/slider.d.ts.map +1 -0
  425. package/dist/components/ui/slider/slider.js +59 -0
  426. package/dist/components/ui/slider/slider.js.map +1 -0
  427. package/dist/components/ui/spinner/index.d.ts +2 -0
  428. package/dist/components/ui/spinner/index.d.ts.map +1 -0
  429. package/dist/components/ui/spinner/spinner.d.ts +25 -0
  430. package/dist/components/ui/spinner/spinner.d.ts.map +1 -0
  431. package/dist/components/ui/spinner/spinner.js +57 -0
  432. package/dist/components/ui/spinner/spinner.js.map +1 -0
  433. package/dist/components/ui/status-chip/index.d.ts +2 -0
  434. package/dist/components/ui/status-chip/index.d.ts.map +1 -0
  435. package/dist/components/ui/status-chip/status-chip.d.ts +70 -0
  436. package/dist/components/ui/status-chip/status-chip.d.ts.map +1 -0
  437. package/dist/components/ui/status-chip/status-chip.js +140 -0
  438. package/dist/components/ui/status-chip/status-chip.js.map +1 -0
  439. package/dist/components/ui/switch/index.d.ts +2 -0
  440. package/dist/components/ui/switch/index.d.ts.map +1 -0
  441. package/dist/components/ui/switch/switch.d.ts +36 -0
  442. package/dist/components/ui/switch/switch.d.ts.map +1 -0
  443. package/dist/components/ui/switch/switch.js +74 -0
  444. package/dist/components/ui/switch/switch.js.map +1 -0
  445. package/dist/components/ui/table/index.d.ts +2 -0
  446. package/dist/components/ui/table/index.d.ts.map +1 -0
  447. package/dist/components/ui/table/table.d.ts +29 -0
  448. package/dist/components/ui/table/table.d.ts.map +1 -0
  449. package/dist/components/ui/table/table.js +129 -0
  450. package/dist/components/ui/table/table.js.map +1 -0
  451. package/dist/components/ui/tabs/index.d.ts +2 -0
  452. package/dist/components/ui/tabs/index.d.ts.map +1 -0
  453. package/dist/components/ui/tabs/tabs.d.ts +23 -0
  454. package/dist/components/ui/tabs/tabs.d.ts.map +1 -0
  455. package/dist/components/ui/tabs/tabs.js +43 -0
  456. package/dist/components/ui/tabs/tabs.js.map +1 -0
  457. package/dist/components/ui/textarea/index.d.ts +2 -0
  458. package/dist/components/ui/textarea/index.d.ts.map +1 -0
  459. package/dist/components/ui/textarea/textarea.d.ts +14 -0
  460. package/dist/components/ui/textarea/textarea.d.ts.map +1 -0
  461. package/dist/components/ui/textarea/textarea.js +30 -0
  462. package/dist/components/ui/textarea/textarea.js.map +1 -0
  463. package/dist/components/ui/toast/index.d.ts +2 -0
  464. package/dist/components/ui/toast/index.d.ts.map +1 -0
  465. package/dist/components/ui/toast/toast.d.ts +68 -0
  466. package/dist/components/ui/toast/toast.d.ts.map +1 -0
  467. package/dist/components/ui/toast/toast.js +186 -0
  468. package/dist/components/ui/toast/toast.js.map +1 -0
  469. package/dist/components/ui/toggle/index.d.ts +2 -0
  470. package/dist/components/ui/toggle/index.d.ts.map +1 -0
  471. package/dist/components/ui/toggle/toggle.d.ts +22 -0
  472. package/dist/components/ui/toggle/toggle.d.ts.map +1 -0
  473. package/dist/components/ui/toggle/toggle.js +64 -0
  474. package/dist/components/ui/toggle/toggle.js.map +1 -0
  475. package/dist/components/ui/toggle-group/index.d.ts +2 -0
  476. package/dist/components/ui/toggle-group/index.d.ts.map +1 -0
  477. package/dist/components/ui/toggle-group/toggle-group.d.ts +35 -0
  478. package/dist/components/ui/toggle-group/toggle-group.d.ts.map +1 -0
  479. package/dist/components/ui/toggle-group/toggle-group.js +38 -0
  480. package/dist/components/ui/toggle-group/toggle-group.js.map +1 -0
  481. package/dist/components/ui/tooltip/index.d.ts +2 -0
  482. package/dist/components/ui/tooltip/index.d.ts.map +1 -0
  483. package/dist/components/ui/tooltip/tooltip.d.ts +18 -0
  484. package/dist/components/ui/tooltip/tooltip.d.ts.map +1 -0
  485. package/dist/components/ui/tooltip/tooltip.js +67 -0
  486. package/dist/components/ui/tooltip/tooltip.js.map +1 -0
  487. package/dist/index.d.ts +96 -19
  488. package/dist/index.d.ts.map +1 -0
  489. package/dist/index.js +90 -20
  490. package/dist/lib/keyed-rows.d.ts +36 -0
  491. package/dist/lib/keyed-rows.d.ts.map +1 -0
  492. package/dist/lib/keyed-rows.js +53 -0
  493. package/dist/lib/keyed-rows.js.map +1 -0
  494. package/dist/lib/keyed-rows.test.d.ts +2 -0
  495. package/dist/lib/keyed-rows.test.d.ts.map +1 -0
  496. package/dist/lib/overlay.d.ts +44 -0
  497. package/dist/lib/overlay.d.ts.map +1 -0
  498. package/dist/lib/overlay.js +57 -0
  499. package/dist/lib/overlay.js.map +1 -0
  500. package/dist/lib/themes.d.ts +197 -0
  501. package/dist/lib/themes.d.ts.map +1 -0
  502. package/dist/lib/themes.js +303 -0
  503. package/dist/lib/themes.js.map +1 -0
  504. package/dist/lib/tokens.d.ts +103 -0
  505. package/dist/lib/tokens.d.ts.map +1 -0
  506. package/dist/lib/tokens.js +805 -0
  507. package/dist/lib/tokens.js.map +1 -0
  508. package/dist/lib/utils.d.ts +27 -0
  509. package/dist/lib/utils.d.ts.map +1 -0
  510. package/dist/lib/utils.js +61 -3
  511. package/dist/lib/utils.js.map +1 -0
  512. package/dist/lib/variants.d.ts +57 -0
  513. package/dist/lib/variants.d.ts.map +1 -0
  514. package/dist/lib/variants.js +49 -0
  515. package/dist/lib/variants.js.map +1 -0
  516. package/dist/lib/version-notes.d.ts +24 -0
  517. package/dist/lib/version-notes.d.ts.map +1 -0
  518. package/dist/lib/version-notes.js +41 -1
  519. package/dist/lib/version-notes.js.map +1 -0
  520. package/dist/r/accordion.json +23 -0
  521. package/dist/r/account-menu.json +25 -0
  522. package/dist/r/alert-dialog.json +22 -0
  523. package/dist/r/alert.json +22 -0
  524. package/dist/r/app-shell.json +20 -0
  525. package/dist/r/aspect-ratio.json +20 -0
  526. package/dist/r/avatar.json +20 -0
  527. package/dist/r/badge.json +22 -0
  528. package/dist/r/board.json +20 -0
  529. package/dist/r/breadcrumb.json +22 -0
  530. package/dist/r/button-group.json +22 -0
  531. package/dist/r/button.json +22 -0
  532. package/dist/r/calendar.json +25 -0
  533. package/dist/r/card.json +20 -0
  534. package/dist/r/carousel.json +26 -0
  535. package/dist/r/chart.json +23 -0
  536. package/dist/r/checkbox.json +23 -0
  537. package/dist/r/code-block.json +24 -0
  538. package/dist/r/collapsible.json +22 -0
  539. package/dist/r/combobox.json +23 -0
  540. package/dist/r/command.json +23 -0
  541. package/dist/r/context-menu.json +23 -0
  542. package/dist/r/conversation.json +48 -0
  543. package/dist/r/detail-panel.json +24 -0
  544. package/dist/r/dialog.json +23 -0
  545. package/dist/r/diff-block.json +20 -0
  546. package/dist/r/drawer.json +22 -0
  547. package/dist/r/dropdown-menu.json +23 -0
  548. package/dist/r/empty.json +20 -0
  549. package/dist/r/entity-icon.json +20 -0
  550. package/dist/r/field.json +22 -0
  551. package/dist/r/hover-card.json +22 -0
  552. package/dist/r/input-group.json +20 -0
  553. package/dist/r/input-otp.json +22 -0
  554. package/dist/r/input.json +20 -0
  555. package/dist/r/item.json +20 -0
  556. package/dist/r/kbd.json +20 -0
  557. package/dist/r/label.json +20 -0
  558. package/dist/r/list-row.json +22 -0
  559. package/dist/r/menubar.json +23 -0
  560. package/dist/r/modal-dialog.json +22 -0
  561. package/dist/r/navigation-menu.json +23 -0
  562. package/dist/r/page.json +20 -0
  563. package/dist/r/pagination.json +23 -0
  564. package/dist/r/panel.json +20 -0
  565. package/dist/r/popover.json +22 -0
  566. package/dist/r/progress.json +22 -0
  567. package/dist/r/radio-group.json +23 -0
  568. package/dist/r/registry.json +1676 -0
  569. package/dist/r/resizable.json +23 -0
  570. package/dist/r/scroll-area.json +20 -0
  571. package/dist/r/select.json +23 -0
  572. package/dist/r/separator.json +22 -0
  573. package/dist/r/settings.json +20 -0
  574. package/dist/r/sheet.json +25 -0
  575. package/dist/r/side-rail.json +27 -0
  576. package/dist/r/sidebar-nav.json +23 -0
  577. package/dist/r/skeleton.json +20 -0
  578. package/dist/r/slider.json +22 -0
  579. package/dist/r/spinner.json +22 -0
  580. package/dist/r/stat.json +22 -0
  581. package/dist/r/status-bar.json +20 -0
  582. package/dist/r/status-chip.json +22 -0
  583. package/dist/r/switch.json +22 -0
  584. package/dist/r/table.json +20 -0
  585. package/dist/r/tabs.json +22 -0
  586. package/dist/r/textarea.json +20 -0
  587. package/dist/r/theme.json +36 -0
  588. package/dist/r/toast.json +23 -0
  589. package/dist/r/toggle-group.json +24 -0
  590. package/dist/r/toggle.json +22 -0
  591. package/dist/r/tooltip.json +22 -0
  592. package/dist/r/top-bar.json +20 -0
  593. package/dist/r/update-dialog.json +27 -0
  594. package/dist/r/workspace-mark.json +22 -0
  595. package/package.json +75 -21
  596. package/registry.json +1676 -0
  597. package/src/components/composites/account-menu/account-menu.tsx +150 -0
  598. package/src/components/composites/account-menu/index.ts +1 -0
  599. package/src/components/composites/list-row/index.ts +1 -0
  600. package/src/components/composites/list-row/list-row.tsx +116 -0
  601. package/src/components/composites/settings/index.ts +1 -0
  602. package/src/components/composites/settings/settings.tsx +142 -0
  603. package/src/components/composites/stat/index.ts +9 -0
  604. package/src/components/composites/stat/stat.tsx +155 -0
  605. package/src/components/composites/update-dialog/index.ts +7 -0
  606. package/src/components/composites/update-dialog/update-dialog.tsx +529 -0
  607. package/src/components/composites/workspace-mark/index.ts +1 -0
  608. package/src/components/composites/workspace-mark/workspace-mark.tsx +72 -0
  609. package/src/components/conversation/conversation-avatar.tsx +60 -0
  610. package/src/components/conversation/conversation-surface.tsx +107 -0
  611. package/src/components/conversation/index.ts +25 -0
  612. package/src/components/conversation/message-composer.tsx +239 -0
  613. package/src/components/conversation/message-row.tsx +387 -0
  614. package/src/components/conversation/thread-panel.tsx +141 -0
  615. package/src/components/layout/app-shell/app-shell.tsx +92 -0
  616. package/src/components/layout/app-shell/index.ts +1 -0
  617. package/src/components/layout/page/index.ts +9 -0
  618. package/src/components/layout/page/page.tsx +122 -0
  619. package/src/components/layout/panel/index.ts +12 -0
  620. package/src/components/layout/panel/panel.tsx +166 -0
  621. package/src/components/layout/side-rail/index.ts +12 -0
  622. package/src/components/layout/side-rail/side-rail-context.ts +42 -0
  623. package/src/components/layout/side-rail/side-rail.tsx +405 -0
  624. package/src/components/layout/sidebar-nav/index.ts +14 -0
  625. package/src/components/layout/sidebar-nav/sidebar-nav.tsx +244 -0
  626. package/src/components/layout/status-bar/index.ts +1 -0
  627. package/src/components/layout/status-bar/status-bar.tsx +73 -0
  628. package/src/components/layout/top-bar/index.ts +10 -0
  629. package/src/components/layout/top-bar/top-bar.tsx +166 -0
  630. package/src/components/motion/index.ts +2 -0
  631. package/src/components/motion/presence.tsx +32 -0
  632. package/src/components/theme/appearance-panel.tsx +179 -0
  633. package/src/components/theme/index.ts +22 -0
  634. package/src/components/theme/theme-picker.tsx +174 -0
  635. package/src/components/theme/theme-provider.tsx +309 -0
  636. package/src/components/theme/theme-toggle.tsx +64 -0
  637. package/src/components/ui/accordion/accordion.tsx +66 -0
  638. package/src/components/ui/accordion/index.ts +1 -0
  639. package/src/components/ui/alert/alert.tsx +95 -0
  640. package/src/components/ui/alert/index.ts +1 -0
  641. package/src/components/ui/alert-dialog/alert-dialog.tsx +176 -0
  642. package/src/components/ui/alert-dialog/index.ts +13 -0
  643. package/src/components/ui/aspect-ratio/aspect-ratio.tsx +38 -0
  644. package/src/components/ui/aspect-ratio/index.ts +1 -0
  645. package/src/components/ui/avatar/avatar.tsx +114 -0
  646. package/src/components/ui/avatar/index.ts +9 -0
  647. package/src/components/ui/badge/badge.tsx +59 -0
  648. package/src/components/ui/badge/index.ts +1 -0
  649. package/src/components/ui/board/board.tsx +254 -0
  650. package/src/components/ui/board/index.ts +10 -0
  651. package/src/components/ui/breadcrumb/breadcrumb.tsx +117 -0
  652. package/src/components/ui/breadcrumb/index.ts +9 -0
  653. package/src/components/ui/button/button.tsx +89 -0
  654. package/src/components/ui/button/index.ts +1 -0
  655. package/src/components/ui/button-group/button-group.tsx +92 -0
  656. package/src/components/ui/button-group/index.ts +6 -0
  657. package/src/components/ui/calendar/calendar.tsx +277 -0
  658. package/src/components/ui/calendar/index.ts +1 -0
  659. package/src/components/ui/card/card.tsx +82 -0
  660. package/src/components/ui/card/index.ts +10 -0
  661. package/src/components/ui/carousel/carousel.tsx +209 -0
  662. package/src/components/ui/carousel/index.ts +1 -0
  663. package/src/components/ui/chart/chart.tsx +413 -0
  664. package/src/components/ui/chart/index.ts +17 -0
  665. package/src/components/ui/checkbox/checkbox.tsx +99 -0
  666. package/src/components/ui/checkbox/index.ts +1 -0
  667. package/src/components/ui/code-block/code-block.tsx +238 -0
  668. package/src/components/ui/code-block/index.ts +1 -0
  669. package/src/components/ui/collapsible/collapsible.tsx +54 -0
  670. package/src/components/ui/collapsible/index.ts +1 -0
  671. package/src/components/ui/combobox/combobox.tsx +142 -0
  672. package/src/components/ui/combobox/index.ts +10 -0
  673. package/src/components/ui/command/command.tsx +214 -0
  674. package/src/components/ui/command/index.ts +12 -0
  675. package/src/components/ui/context-menu/context-menu.tsx +163 -0
  676. package/src/components/ui/context-menu/index.ts +15 -0
  677. package/src/components/ui/detail-panel/detail-panel.tsx +161 -0
  678. package/src/components/ui/detail-panel/index.ts +9 -0
  679. package/src/components/ui/dialog/dialog.tsx +138 -0
  680. package/src/components/ui/dialog/index.ts +14 -0
  681. package/src/components/ui/diff-block/diff-block.tsx +286 -0
  682. package/src/components/ui/diff-block/index.ts +11 -0
  683. package/src/components/ui/drawer/drawer.tsx +144 -0
  684. package/src/components/ui/drawer/index.ts +13 -0
  685. package/src/components/ui/dropdown-menu/dropdown-menu.tsx +203 -0
  686. package/src/components/ui/dropdown-menu/index.ts +18 -0
  687. package/src/components/ui/empty/empty.tsx +104 -0
  688. package/src/components/ui/empty/index.ts +10 -0
  689. package/src/components/ui/entity-icon/entity-icon.tsx +154 -0
  690. package/src/components/ui/entity-icon/index.ts +1 -0
  691. package/src/components/ui/field/field.tsx +131 -0
  692. package/src/components/ui/field/index.ts +11 -0
  693. package/src/components/ui/hover-card/hover-card.tsx +48 -0
  694. package/src/components/ui/hover-card/index.ts +1 -0
  695. package/src/components/ui/input/index.ts +1 -0
  696. package/src/components/ui/input/input.tsx +41 -0
  697. package/src/components/ui/input-group/index.ts +8 -0
  698. package/src/components/ui/input-group/input-group.tsx +111 -0
  699. package/src/components/ui/input-otp/index.ts +1 -0
  700. package/src/components/ui/input-otp/input-otp.tsx +108 -0
  701. package/src/components/ui/item/index.ts +10 -0
  702. package/src/components/ui/item/item.tsx +146 -0
  703. package/src/components/ui/kbd/index.ts +1 -0
  704. package/src/components/ui/kbd/kbd.tsx +42 -0
  705. package/src/components/ui/label/index.ts +1 -0
  706. package/src/components/ui/label/label.tsx +36 -0
  707. package/src/components/ui/menubar/index.ts +16 -0
  708. package/src/components/ui/menubar/menubar.tsx +190 -0
  709. package/src/components/ui/modal-dialog/index.ts +1 -0
  710. package/src/components/ui/modal-dialog/modal-dialog.tsx +95 -0
  711. package/src/components/ui/navigation-menu/index.ts +13 -0
  712. package/src/components/ui/navigation-menu/navigation-menu.tsx +229 -0
  713. package/src/components/ui/pagination/index.ts +8 -0
  714. package/src/components/ui/pagination/pagination.tsx +144 -0
  715. package/src/components/ui/popover/index.ts +10 -0
  716. package/src/components/ui/popover/popover.tsx +81 -0
  717. package/src/components/ui/progress/index.ts +1 -0
  718. package/src/components/ui/progress/progress.tsx +67 -0
  719. package/src/components/ui/radio-group/index.ts +1 -0
  720. package/src/components/ui/radio-group/radio-group.tsx +78 -0
  721. package/src/components/ui/resizable/index.ts +6 -0
  722. package/src/components/ui/resizable/resizable.tsx +74 -0
  723. package/src/components/ui/scroll-area/index.ts +1 -0
  724. package/src/components/ui/scroll-area/scroll-area.tsx +66 -0
  725. package/src/components/ui/select/index.ts +11 -0
  726. package/src/components/ui/select/select.tsx +188 -0
  727. package/src/components/ui/separator/index.ts +1 -0
  728. package/src/components/ui/separator/separator.tsx +40 -0
  729. package/src/components/ui/sheet/index.ts +13 -0
  730. package/src/components/ui/sheet/sheet.tsx +132 -0
  731. package/src/components/ui/skeleton/index.ts +1 -0
  732. package/src/components/ui/skeleton/skeleton.tsx +28 -0
  733. package/src/components/ui/slider/index.ts +1 -0
  734. package/src/components/ui/slider/slider.tsx +81 -0
  735. package/src/components/ui/spinner/index.ts +1 -0
  736. package/src/components/ui/spinner/spinner.tsx +58 -0
  737. package/src/components/ui/status-chip/index.ts +8 -0
  738. package/src/components/ui/status-chip/status-chip.tsx +142 -0
  739. package/src/components/ui/switch/index.ts +1 -0
  740. package/src/components/ui/switch/switch.tsx +100 -0
  741. package/src/components/ui/table/index.ts +11 -0
  742. package/src/components/ui/table/table.tsx +125 -0
  743. package/src/components/ui/tabs/index.ts +8 -0
  744. package/src/components/ui/tabs/tabs.tsx +77 -0
  745. package/src/components/ui/textarea/index.ts +1 -0
  746. package/src/components/ui/textarea/textarea.tsx +36 -0
  747. package/src/components/ui/toast/index.ts +1 -0
  748. package/src/components/ui/toast/toast.tsx +220 -0
  749. package/src/components/ui/toggle/index.ts +1 -0
  750. package/src/components/ui/toggle/toggle.tsx +60 -0
  751. package/src/components/ui/toggle-group/index.ts +6 -0
  752. package/src/components/ui/toggle-group/toggle-group.tsx +66 -0
  753. package/src/components/ui/tooltip/index.ts +9 -0
  754. package/src/components/ui/tooltip/tooltip.tsx +102 -0
  755. package/src/index.ts +154 -0
  756. package/src/lib/keyed-rows.ts +68 -0
  757. package/src/lib/overlay.ts +70 -0
  758. package/src/lib/themes.ts +490 -0
  759. package/src/lib/tokens.ts +688 -0
  760. package/src/lib/utils.ts +74 -4
  761. package/src/lib/variants.ts +62 -0
  762. package/src/lib/version-notes.ts +35 -0
  763. package/src/styles/base.css +489 -484
  764. package/src/styles/fonts.css +26 -0
  765. package/src/styles/globals.css +14 -3
  766. package/src/styles/theme.css +838 -229
  767. package/LICENSE +0 -201
  768. package/dist/components/account-drawer.d.ts +0 -11
  769. package/dist/components/account-drawer.js +0 -120
  770. package/dist/components/appearance.d.ts +0 -261
  771. package/dist/components/appearance.js +0 -802
  772. package/dist/components/on-screen-controls.d.ts +0 -8
  773. package/dist/components/on-screen-controls.js +0 -162
  774. package/dist/components/scene-settings.d.ts +0 -33
  775. package/dist/components/scene-settings.js +0 -253
  776. package/dist/components/theme-preview.d.ts +0 -40
  777. package/dist/components/theme-preview.js +0 -210
  778. package/dist/components/theme-provider.d.ts +0 -52
  779. package/dist/components/theme-provider.js +0 -128
  780. package/dist/components/theme-swatch.d.ts +0 -12
  781. package/dist/components/theme-swatch.js +0 -66
  782. package/dist/components/theme-toggle.d.ts +0 -7
  783. package/dist/components/theme-toggle.js +0 -64
  784. package/dist/components/ui/badge.d.ts +0 -8
  785. package/dist/components/ui/badge.js +0 -34
  786. package/dist/components/ui/button.d.ts +0 -9
  787. package/dist/components/ui/button.js +0 -52
  788. package/dist/components/ui/card.d.ts +0 -4
  789. package/dist/components/ui/card.js +0 -28
  790. package/dist/components/ui/dialog.d.ts +0 -15
  791. package/dist/components/ui/dialog.js +0 -104
  792. package/dist/components/ui/drawer.d.ts +0 -24
  793. package/dist/components/ui/drawer.js +0 -120
  794. package/dist/components/ui/dropdown-menu.d.ts +0 -35
  795. package/dist/components/ui/dropdown-menu.js +0 -180
  796. package/dist/components/ui/empty.d.ts +0 -12
  797. package/dist/components/ui/field.d.ts +0 -25
  798. package/dist/components/ui/field.js +0 -188
  799. package/dist/components/ui/input.d.ts +0 -3
  800. package/dist/components/ui/input.js +0 -22
  801. package/dist/components/ui/label.d.ts +0 -3
  802. package/dist/components/ui/label.js +0 -17
  803. package/dist/components/ui/radio-group.d.ts +0 -5
  804. package/dist/components/ui/radio-group.js +0 -39
  805. package/dist/components/ui/separator.d.ts +0 -7
  806. package/dist/components/ui/separator.js +0 -20
  807. package/dist/components/ui/skeleton.d.ts +0 -3
  808. package/dist/components/ui/skeleton.js +0 -17
  809. package/dist/components/ui/spinner.d.ts +0 -5
  810. package/dist/components/ui/spinner.js +0 -17
  811. package/dist/components/ui/switch.d.ts +0 -8
  812. package/dist/components/ui/switch.js +0 -59
  813. package/dist/components/ui/tabs.d.ts +0 -11
  814. package/dist/components/ui/tabs.js +0 -57
  815. package/dist/components/ui/toggle-group.d.ts +0 -13
  816. package/dist/components/ui/toggle-group.js +0 -95
  817. package/dist/components/ui/toggle.d.ts +0 -10
  818. package/dist/components/ui/toggle.js +0 -41
  819. package/dist/components/ui/tooltip.d.ts +0 -15
  820. package/dist/components/ui/tooltip.js +0 -55
  821. package/dist/components/version-dialog.d.ts +0 -25
  822. package/dist/components/version-dialog.js +0 -330
  823. package/dist/components/workspace-brand.d.ts +0 -5
  824. package/dist/components/workspace-brand.js +0 -13
  825. package/dist/components/workspace-logo.d.ts +0 -3
  826. package/dist/components/workspace-logo.js +0 -17
  827. package/src/components/account-drawer.tsx +0 -114
  828. package/src/components/appearance.ts +0 -1112
  829. package/src/components/on-screen-controls.tsx +0 -149
  830. package/src/components/scene-settings.tsx +0 -199
  831. package/src/components/theme-preview.tsx +0 -170
  832. package/src/components/theme-provider.tsx +0 -214
  833. package/src/components/theme-swatch.tsx +0 -49
  834. package/src/components/theme-toggle.tsx +0 -48
  835. package/src/components/ui/badge.tsx +0 -40
  836. package/src/components/ui/button.tsx +0 -58
  837. package/src/components/ui/card.tsx +0 -21
  838. package/src/components/ui/dialog.tsx +0 -132
  839. package/src/components/ui/drawer.tsx +0 -168
  840. package/src/components/ui/dropdown-menu.tsx +0 -235
  841. package/src/components/ui/empty.tsx +0 -97
  842. package/src/components/ui/field.tsx +0 -220
  843. package/src/components/ui/input.tsx +0 -20
  844. package/src/components/ui/label.tsx +0 -19
  845. package/src/components/ui/radio-group.tsx +0 -41
  846. package/src/components/ui/separator.tsx +0 -28
  847. package/src/components/ui/skeleton.tsx +0 -16
  848. package/src/components/ui/spinner.tsx +0 -20
  849. package/src/components/ui/switch.tsx +0 -59
  850. package/src/components/ui/tabs.tsx +0 -76
  851. package/src/components/ui/toggle-group.tsx +0 -98
  852. package/src/components/ui/toggle.tsx +0 -42
  853. package/src/components/ui/tooltip.tsx +0 -61
  854. package/src/components/version-dialog.tsx +0 -368
  855. package/src/components/workspace-brand.tsx +0 -18
  856. package/src/components/workspace-logo.tsx +0 -21
  857. package/src/index.tsx +0 -53
  858. package/src/styles/auth-shell.css +0 -167
  859. package/src/styles/conventional-workspace.css +0 -2858
  860. package/src/styles/dev-view.css +0 -899
  861. package/src/styles/workspace-shell.css +0 -82
  862. package/tsconfig.json +0 -11
@@ -0,0 +1,66 @@
1
+ import { type JSX } from 'solid-js';
2
+ import type { EmblaCarouselType } from 'embla-carousel';
3
+ /**
4
+ * Carousel.
5
+ *
6
+ * A horizontal scroller with snap points, over embla. The primitive owns the
7
+ * physics — momentum, snapping, drag — and this owns the two things a carousel
8
+ * always needs and embla deliberately leaves to the caller: a keyboard path and a
9
+ * way to tell how far along you are.
10
+ *
11
+ * **It is a scroll container, not a slide show.** `slidesToScroll` defaults to 1
12
+ * and the track is keyboard-focusable, so arrow keys move between slides and a
13
+ * slide that contains a link stays reachable. A carousel that hijacks the arrow
14
+ * keys or hides its off-screen slides from the tab order is the standard
15
+ * accessibility failure of this component, and both are avoided here by not
16
+ * disabling anything: the slides stay in the DOM and in the tab order, and the
17
+ * container scrolls.
18
+ *
19
+ * `orientation="vertical"` exists because embla supports it and a vertical
20
+ * carousel is what a short list of cards becomes on a phone. It is a prop rather
21
+ * than a second component because every part — the track, the previous/next
22
+ * buttons, the dots — has the same relationship to the axis.
23
+ *
24
+ * The dot indicators are buttons, not spans: a carousel with twelve slides and a
25
+ * "go to slide 7" affordance is the only way to reach the seventh without
26
+ * dragging through six. Each is labelled, because a row of unlabelled dots is a
27
+ * row of identical controls to a screen reader.
28
+ */
29
+ export type CarouselApi = EmblaCarouselType;
30
+ export type CarouselProps = {
31
+ /** The slides. Each is wrapped in its own element so embla can measure it. */
32
+ children: JSX.Element;
33
+ /** The axis. Vertical is what a card list becomes on a narrow screen. */
34
+ orientation?: 'horizontal' | 'vertical';
35
+ /** How many slides are visible at once. */
36
+ slidesToShow?: number;
37
+ /** Align the active slide to the start, centre, or end of the viewport. */
38
+ align?: 'start' | 'center' | 'end';
39
+ /** Whether dragging past the ends loops. Off by default: a loop hides the ends. */
40
+ loop?: boolean;
41
+ /** Show the previous/next controls. */
42
+ controls?: boolean;
43
+ /** Show the dot indicators. Off by default — a single-slide carousel needs none. */
44
+ dots?: boolean;
45
+ /** Accessible names. Override for a non-English application. */
46
+ previousLabel?: string;
47
+ nextLabel?: string;
48
+ /** The label for a dot, given a zero-based index. */
49
+ dotLabel?: (index: number) => string;
50
+ /** Receives the embla API, for a caller that needs to drive it. */
51
+ onApi?: (api: CarouselApi) => void;
52
+ class?: string;
53
+ };
54
+ export declare function Carousel(props: CarouselProps): JSX.Element;
55
+ /**
56
+ * One slide. `basis` is what makes `slidesToShow` work: embla measures the slide
57
+ * elements, so a slide that is not sized to a fraction of the viewport would show
58
+ * one per screen regardless of the setting.
59
+ */
60
+ export declare function CarouselSlide(props: {
61
+ children: JSX.Element;
62
+ /** How many slides share the viewport at this slide's widest breakpoint. */
63
+ slidesToShow?: number;
64
+ class?: string;
65
+ }): JSX.Element;
66
+ //# sourceMappingURL=carousel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/carousel/carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgE,KAAK,GAAG,EAAE,MAAM,UAAU,CAAA;AAEjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAKvD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,MAAM,WAAW,GAAG,iBAAiB,CAAA;AAE3C,MAAM,MAAM,aAAa,GAAG;IAC1B,8EAA8E;IAC9E,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAA;IACrB,yEAAyE;IACzE,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;IAClC,mFAAmF;IACnF,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,oFAAoF;IACpF,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACpC,mEAAmE;IACnE,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAA;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,eA4H5C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAA;IACrB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,eAWA"}
@@ -0,0 +1,178 @@
1
+ import { cn } from "../../../lib/utils.js";
2
+ import { Button } from "../button/button.js";
3
+ import { className, createComponent, delegateEvents, effect, insert, mergeProps, setAttribute, setStyleProperty, spread, template, use } from "solid-js/web";
4
+ import { ChevronLeft, ChevronRight } from "lucide-solid";
5
+ import { For, Show, createEffect, createSignal, onCleanup, splitProps } from "solid-js";
6
+ import createEmblaCarousel from "embla-carousel-solid";
7
+ //#region src/components/ui/carousel/carousel.tsx
8
+ var _tmpl$ = /*#__PURE__*/ template(`<div class="flex items-center gap-1 px-1">`);
9
+ var _tmpl$2 = /*#__PURE__*/ template(`<div class="flex items-center justify-center gap-1">`);
10
+ var _tmpl$3 = /*#__PURE__*/ template(`<div role=group aria-roledescription=carousel><div tabindex=0 aria-label=Carousel><div>`);
11
+ var _tmpl$4 = /*#__PURE__*/ template(`<button type=button>`);
12
+ var _tmpl$5 = /*#__PURE__*/ template(`<div role=group aria-roledescription=slide>`);
13
+ function Carousel(props) {
14
+ const [local, rest] = splitProps(props, [
15
+ "children",
16
+ "orientation",
17
+ "slidesToShow",
18
+ "align",
19
+ "loop",
20
+ "controls",
21
+ "dots",
22
+ "previousLabel",
23
+ "nextLabel",
24
+ "dotLabel",
25
+ "onApi",
26
+ "class"
27
+ ]);
28
+ const orientation = () => local.orientation ?? "horizontal";
29
+ const [emblaRef, embla] = createEmblaCarousel(() => ({
30
+ axis: orientation() === "vertical" ? "y" : "x",
31
+ loop: local.loop ?? false,
32
+ align: local.align ?? "start",
33
+ slidesToScroll: 1,
34
+ containScroll: "trimSnaps"
35
+ }));
36
+ const [selected, setSelected] = createSignal(0);
37
+ const [count, setCount] = createSignal(0);
38
+ const [canPrev, setCanPrev] = createSignal(false);
39
+ const [canNext, setCanNext] = createSignal(false);
40
+ /**
41
+ * The scroll event, not the select event alone: `select` fires on a settle, so a
42
+ * drag in progress would leave the dots behind the thumb. `scroll` covers both.
43
+ */
44
+ createEffect(() => {
45
+ const api = embla();
46
+ if (!api) return;
47
+ local.onApi?.(api);
48
+ const sync = () => {
49
+ setSelected(api.selectedScrollSnap());
50
+ setCanPrev(api.canScrollPrev());
51
+ setCanNext(api.canScrollNext());
52
+ };
53
+ sync();
54
+ setCount(api.scrollSnapList().length);
55
+ api.on("select", sync);
56
+ api.on("scroll", sync);
57
+ api.on("reInit", sync);
58
+ onCleanup(() => {
59
+ api.off("select", sync);
60
+ api.off("scroll", sync);
61
+ api.off("reInit", sync);
62
+ });
63
+ });
64
+ return (() => {
65
+ var _el$ = _tmpl$3(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
66
+ spread(_el$, mergeProps({ get ["class"]() {
67
+ return cn("group/carousel relative grid gap-2", local.class);
68
+ } }, rest), false, true);
69
+ use(emblaRef, _el$2);
70
+ insert(_el$3, () => local.children);
71
+ insert(_el$, createComponent(Show, {
72
+ get when() {
73
+ return local.controls ?? true;
74
+ },
75
+ get children() {
76
+ var _el$4 = _tmpl$2();
77
+ insert(_el$4, createComponent(Button, {
78
+ variant: "ghost",
79
+ size: "icon-sm",
80
+ get disabled() {
81
+ return !canPrev();
82
+ },
83
+ get ["aria-label"]() {
84
+ return local.previousLabel ?? "Previous slide";
85
+ },
86
+ onClick: () => embla()?.scrollPrev(),
87
+ get children() {
88
+ return createComponent(ChevronLeft, {
89
+ "aria-hidden": "true",
90
+ "class": "rotate-0"
91
+ });
92
+ }
93
+ }), null);
94
+ insert(_el$4, createComponent(Show, {
95
+ get when() {
96
+ return local.dots;
97
+ },
98
+ get children() {
99
+ var _el$5 = _tmpl$();
100
+ insert(_el$5, createComponent(For, {
101
+ get each() {
102
+ return Array.from({ length: count() });
103
+ },
104
+ children: (_, index) => (() => {
105
+ var _el$6 = _tmpl$4();
106
+ _el$6.$$click = () => embla()?.scrollTo(index());
107
+ effect((_p$) => {
108
+ var _v$3 = cn("size-1.5 rounded-full bg-muted-foreground/40 transition-colors hover:bg-muted-foreground", selected() === index() && "bg-primary"), _v$4 = local.dotLabel?.(index()) ?? `Go to slide ${index() + 1}`, _v$5 = selected() === index() ? "true" : void 0;
109
+ _v$3 !== _p$.e && className(_el$6, _p$.e = _v$3);
110
+ _v$4 !== _p$.t && setAttribute(_el$6, "aria-label", _p$.t = _v$4);
111
+ _v$5 !== _p$.a && setAttribute(_el$6, "aria-current", _p$.a = _v$5);
112
+ return _p$;
113
+ }, {
114
+ e: void 0,
115
+ t: void 0,
116
+ a: void 0
117
+ });
118
+ return _el$6;
119
+ })()
120
+ }));
121
+ return _el$5;
122
+ }
123
+ }), null);
124
+ insert(_el$4, createComponent(Button, {
125
+ variant: "ghost",
126
+ size: "icon-sm",
127
+ get disabled() {
128
+ return !canNext();
129
+ },
130
+ get ["aria-label"]() {
131
+ return local.nextLabel ?? "Next slide";
132
+ },
133
+ onClick: () => embla()?.scrollNext(),
134
+ get children() {
135
+ return createComponent(ChevronRight, { "aria-hidden": "true" });
136
+ }
137
+ }), null);
138
+ return _el$4;
139
+ }
140
+ }), null);
141
+ effect((_p$) => {
142
+ var _v$ = cn("scroll-fade overflow-hidden rounded-lg focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none"), _v$2 = cn("flex", orientation() === "vertical" ? "flex-col" : "flex-row");
143
+ _v$ !== _p$.e && className(_el$2, _p$.e = _v$);
144
+ _v$2 !== _p$.t && className(_el$3, _p$.t = _v$2);
145
+ return _p$;
146
+ }, {
147
+ e: void 0,
148
+ t: void 0
149
+ });
150
+ return _el$;
151
+ })();
152
+ }
153
+ /**
154
+ * One slide. `basis` is what makes `slidesToShow` work: embla measures the slide
155
+ * elements, so a slide that is not sized to a fraction of the viewport would show
156
+ * one per screen regardless of the setting.
157
+ */
158
+ function CarouselSlide(props) {
159
+ return (() => {
160
+ var _el$7 = _tmpl$5();
161
+ insert(_el$7, () => props.children);
162
+ effect((_p$) => {
163
+ var _v$6 = cn("min-w-0 shrink-0 grow-0", props.class), _v$7 = `${100 / (props.slidesToShow ?? 1)}%`;
164
+ _v$6 !== _p$.e && className(_el$7, _p$.e = _v$6);
165
+ _v$7 !== _p$.t && setStyleProperty(_el$7, "flex-basis", _p$.t = _v$7);
166
+ return _p$;
167
+ }, {
168
+ e: void 0,
169
+ t: void 0
170
+ });
171
+ return _el$7;
172
+ })();
173
+ }
174
+ delegateEvents(["click"]);
175
+ //#endregion
176
+ export { Carousel, CarouselSlide };
177
+
178
+ //# sourceMappingURL=carousel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.js","names":["createEffect","createSignal","For","onCleanup","Show","splitProps","JSX","createEmblaCarousel","EmblaCarouselType","ChevronLeft","ChevronRight","cn","Button","CarouselApi","CarouselProps","children","Element","orientation","slidesToShow","align","loop","controls","dots","previousLabel","nextLabel","dotLabel","index","onApi","api","class","Carousel","props","local","rest","emblaRef","embla","axis","slidesToScroll","containScroll","selected","setSelected","count","setCount","canPrev","setCanPrev","canNext","setCanNext","sync","selectedScrollSnap","canScrollPrev","canScrollNext","scrollSnapList","length","on","off","_el$","_tmpl$3","_el$2","firstChild","_el$3","_$spread","_$mergeProps","_$use","_$insert","_$createComponent","when","_el$4","_tmpl$2","variant","size","disabled","aria-label","onClick","scrollPrev","_el$5","_tmpl$","each","Array","from","_","_el$6","_tmpl$4","$$click","scrollTo","_$effect","_p$","_v$3","_v$4","_v$5","undefined","e","_$className","t","_$setAttribute","a","scrollNext","_v$","_v$2","CarouselSlide","_el$7","_tmpl$5","_v$6","_v$7","_$setStyleProperty","_$delegateEvents","_$mergeProps","_$createComponent","_$className","_$setAttribute","_$setStyleProperty","_$delegateEvents"],"sources":["../../../../src/components/ui/carousel/carousel.tsx"],"sourcesContent":["import { createEffect, createSignal, For, onCleanup, Show, splitProps, type JSX } from 'solid-js'\nimport createEmblaCarousel from 'embla-carousel-solid'\nimport type { EmblaCarouselType } from 'embla-carousel'\nimport { ChevronLeft, ChevronRight } from 'lucide-solid'\nimport { cn } from '#lib/utils'\nimport { Button } from '../button'\n\n/**\n * Carousel.\n *\n * A horizontal scroller with snap points, over embla. The primitive owns the\n * physics — momentum, snapping, drag — and this owns the two things a carousel\n * always needs and embla deliberately leaves to the caller: a keyboard path and a\n * way to tell how far along you are.\n *\n * **It is a scroll container, not a slide show.** `slidesToScroll` defaults to 1\n * and the track is keyboard-focusable, so arrow keys move between slides and a\n * slide that contains a link stays reachable. A carousel that hijacks the arrow\n * keys or hides its off-screen slides from the tab order is the standard\n * accessibility failure of this component, and both are avoided here by not\n * disabling anything: the slides stay in the DOM and in the tab order, and the\n * container scrolls.\n *\n * `orientation=\"vertical\"` exists because embla supports it and a vertical\n * carousel is what a short list of cards becomes on a phone. It is a prop rather\n * than a second component because every part — the track, the previous/next\n * buttons, the dots — has the same relationship to the axis.\n *\n * The dot indicators are buttons, not spans: a carousel with twelve slides and a\n * \"go to slide 7\" affordance is the only way to reach the seventh without\n * dragging through six. Each is labelled, because a row of unlabelled dots is a\n * row of identical controls to a screen reader.\n */\n\nexport type CarouselApi = EmblaCarouselType\n\nexport type CarouselProps = {\n /** The slides. Each is wrapped in its own element so embla can measure it. */\n children: JSX.Element\n /** The axis. Vertical is what a card list becomes on a narrow screen. */\n orientation?: 'horizontal' | 'vertical'\n /** How many slides are visible at once. */\n slidesToShow?: number\n /** Align the active slide to the start, centre, or end of the viewport. */\n align?: 'start' | 'center' | 'end'\n /** Whether dragging past the ends loops. Off by default: a loop hides the ends. */\n loop?: boolean\n /** Show the previous/next controls. */\n controls?: boolean\n /** Show the dot indicators. Off by default — a single-slide carousel needs none. */\n dots?: boolean\n /** Accessible names. Override for a non-English application. */\n previousLabel?: string\n nextLabel?: string\n /** The label for a dot, given a zero-based index. */\n dotLabel?: (index: number) => string\n /** Receives the embla API, for a caller that needs to drive it. */\n onApi?: (api: CarouselApi) => void\n class?: string\n}\n\nexport function Carousel(props: CarouselProps) {\n const [local, rest] = splitProps(props, [\n 'children',\n 'orientation',\n 'slidesToShow',\n 'align',\n 'loop',\n 'controls',\n 'dots',\n 'previousLabel',\n 'nextLabel',\n 'dotLabel',\n 'onApi',\n 'class',\n ])\n\n const orientation = () => local.orientation ?? 'horizontal'\n\n // The first element of the tuple is the ref setter, the second the accessor —\n // so `ref={emblaRef}` is the whole wiring.\n const [emblaRef, embla] = createEmblaCarousel(() => ({\n axis: orientation() === 'vertical' ? 'y' : 'x',\n loop: local.loop ?? false,\n align: local.align ?? 'start',\n slidesToScroll: 1,\n containScroll: 'trimSnaps',\n }))\n\n const [selected, setSelected] = createSignal(0)\n const [count, setCount] = createSignal(0)\n const [canPrev, setCanPrev] = createSignal(false)\n const [canNext, setCanNext] = createSignal(false)\n\n /**\n * The scroll event, not the select event alone: `select` fires on a settle, so a\n * drag in progress would leave the dots behind the thumb. `scroll` covers both.\n */\n createEffect(() => {\n const api = embla()\n if (!api) return\n local.onApi?.(api)\n\n const sync = () => {\n setSelected(api.selectedScrollSnap())\n setCanPrev(api.canScrollPrev())\n setCanNext(api.canScrollNext())\n }\n sync()\n setCount(api.scrollSnapList().length)\n\n api.on('select', sync)\n api.on('scroll', sync)\n api.on('reInit', sync)\n onCleanup(() => {\n api.off('select', sync)\n api.off('scroll', sync)\n api.off('reInit', sync)\n })\n })\n\n return (\n <div\n class={cn('group/carousel relative grid gap-2', local.class)}\n role=\"group\"\n aria-roledescription=\"carousel\"\n {...rest}\n >\n <div\n ref={emblaRef}\n // A scroll container has to be reachable by keyboard — the same\n // requirement the code block's scroller meets.\n tabindex=\"0\"\n class={cn(\n 'scroll-fade overflow-hidden rounded-lg focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none'\n )}\n aria-label=\"Carousel\"\n >\n <div class={cn('flex', orientation() === 'vertical' ? 'flex-col' : 'flex-row')}>\n {local.children}\n </div>\n </div>\n\n <Show when={local.controls ?? true}>\n <div class=\"flex items-center justify-center gap-1\">\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n disabled={!canPrev()}\n aria-label={local.previousLabel ?? 'Previous slide'}\n onClick={() => embla()?.scrollPrev()}\n >\n <ChevronLeft aria-hidden=\"true\" class=\"rotate-0\" />\n </Button>\n <Show when={local.dots}>\n <div class=\"flex items-center gap-1 px-1\">\n <For each={Array.from({ length: count() })}>\n {(_, index) => (\n <button\n type=\"button\"\n class={cn(\n 'size-1.5 rounded-full bg-muted-foreground/40 transition-colors hover:bg-muted-foreground',\n selected() === index() && 'bg-primary'\n )}\n aria-label={local.dotLabel?.(index()) ?? `Go to slide ${index() + 1}`}\n aria-current={selected() === index() ? 'true' : undefined}\n onClick={() => embla()?.scrollTo(index())}\n />\n )}\n </For>\n </div>\n </Show>\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n disabled={!canNext()}\n aria-label={local.nextLabel ?? 'Next slide'}\n onClick={() => embla()?.scrollNext()}\n >\n <ChevronRight aria-hidden=\"true\" />\n </Button>\n </div>\n </Show>\n </div>\n )\n}\n\n/**\n * One slide. `basis` is what makes `slidesToShow` work: embla measures the slide\n * elements, so a slide that is not sized to a fraction of the viewport would show\n * one per screen regardless of the setting.\n */\nexport function CarouselSlide(props: {\n children: JSX.Element\n /** How many slides share the viewport at this slide's widest breakpoint. */\n slidesToShow?: number\n class?: string\n}) {\n return (\n <div\n class={cn('min-w-0 shrink-0 grow-0', props.class)}\n style={{ 'flex-basis': `${100 / (props.slidesToShow ?? 1)}%` }}\n role=\"group\"\n aria-roledescription=\"slide\"\n >\n {props.children}\n </div>\n )\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { Carousel, CarouselSlide, type CarouselApi, type CarouselProps } from './carousel';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/carousel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,154 @@
1
+ import { type JSX } from 'solid-js';
2
+ import { Chart as ChartJs } from 'chart.js';
3
+ import type { ChartOptions, ChartType } from 'chart.js';
4
+ /**
5
+ * Chart.
6
+ *
7
+ * A thin wrapper over Chart.js, themed through the same CSS custom properties as
8
+ * everything else. The wrapper is thin on purpose: a design system's job here is
9
+ * to make a chart *look like the rest of the application* — the palette, the
10
+ * type scale, the tooltip surface, the grid lines — and not to re-implement
11
+ * scales and axes, which is where a hand-rolled chart goes wrong.
12
+ *
13
+ * ## Registration, and why it is here rather than left to the caller
14
+ *
15
+ * Chart.js is tree-shakeable through explicit registration: nothing is bundled
16
+ * until a controller, a scale or a plugin is registered. That is the whole reason
17
+ * it was chosen over a batteries-included charting library, and it only pays off
18
+ * if the registrations are scoped to what a component actually uses.
19
+ *
20
+ * This module registers the **shared** pieces once — scales, elements, tooltip,
21
+ * legend, filler — and nothing else. The controllers are imported per component
22
+ * so a `LineChart` does not carry the radar controller, and a consumer that
23
+ * imports only `LineChart` gets only that. Measured: see the story for the
24
+ * per-component figures the tree-shaking gate publishes.
25
+ *
26
+ * A caller with a chart type this file does not export registers its own
27
+ * controller with `registerChartPiece`, which is the escape hatch rather than a
28
+ * reason to widen the registration above.
29
+ *
30
+ * ## Theming
31
+ *
32
+ * Colours resolve from `--chart-1` through `--chart-5`, which every theme
33
+ * defines, plus `--chart-grid`, `--chart-axis` and `--chart-label`. That means a
34
+ * chart follows the accent axis, the appearance, and the font axis with no
35
+ * per-chart configuration — and a caller that wants a specific series colour
36
+ * passes it explicitly rather than reaching into the theme.
37
+ */
38
+ /**
39
+ * Register a piece with Chart.js. The escape hatch for a caller's own chart type.
40
+ *
41
+ * `solid-chartjs` re-exports the typed components but not the registry, so
42
+ * registration comes from `chart.js` itself — which is also the honest place for
43
+ * it, since the registry is Chart.js's global.
44
+ */
45
+ export declare function registerChartPiece(piece: Parameters<typeof ChartJs.register>[number]): void;
46
+ /** The five series colours, in the order a multi-series chart should use them. */
47
+ export declare const chartSeriesColors: readonly ["var(--chart-1)", "var(--chart-2)", "var(--chart-3)", "var(--chart-4)", "var(--chart-5)"];
48
+ /**
49
+ * The theme's defaults as Chart.js options.
50
+ *
51
+ * Exported so a caller can spread it and change one thing, rather than
52
+ * restating every colour. Everything a chart draws that is not data — grid,
53
+ * ticks, legend, tooltip — is decided here once, which is what makes two charts
54
+ * in one application look like they came from the same place.
55
+ */
56
+ export declare function chartOptions(overrides?: ChartOptions): ChartOptions;
57
+ /** A chart's frame: a bordered surface with a title and an optional description. */
58
+ export type ChartFrameProps = {
59
+ /** The chart's title. Required — a chart with no name is not readable. */
60
+ title: string;
61
+ /** What the chart shows. Announced to assistive technology, and drawn. */
62
+ description?: string;
63
+ /** Trailing controls. */
64
+ actions?: JSX.Element;
65
+ children: JSX.Element;
66
+ class?: string;
67
+ };
68
+ export declare function ChartFrame(props: ChartFrameProps): JSX.Element;
69
+ type SeriesChartProps = {
70
+ /** The category labels along the axis. */
71
+ labels: readonly string[];
72
+ /** One entry per series. `data` is aligned to `labels`. */
73
+ series: readonly {
74
+ label: string;
75
+ data: readonly number[];
76
+ color?: string;
77
+ }[];
78
+ /** Chart.js options, merged over the theme's defaults. */
79
+ options?: ChartOptions;
80
+ /** Stack the series. */
81
+ stacked?: boolean;
82
+ class?: string;
83
+ };
84
+ /** A line chart. The default for a series over time. */
85
+ export declare function LineChart(props: SeriesChartProps & {
86
+ area?: boolean;
87
+ }): JSX.Element;
88
+ /** A bar chart. `stacked` for parts of a whole over categories. */
89
+ export declare function BarChart(props: SeriesChartProps & {
90
+ horizontal?: boolean;
91
+ }): JSX.Element;
92
+ /** A scatter plot, for a correlation rather than a series. */
93
+ export declare function ScatterChart(props: {
94
+ series: readonly {
95
+ label: string;
96
+ data: readonly {
97
+ x: number;
98
+ y: number;
99
+ }[];
100
+ color?: string;
101
+ }[];
102
+ options?: ChartOptions;
103
+ class?: string;
104
+ }): JSX.Element;
105
+ /** A bubble chart: scatter with a third dimension carried by the radius. */
106
+ export declare function BubbleChart(props: {
107
+ series: readonly {
108
+ label: string;
109
+ data: readonly {
110
+ x: number;
111
+ y: number;
112
+ r: number;
113
+ }[];
114
+ color?: string;
115
+ }[];
116
+ options?: ChartOptions;
117
+ class?: string;
118
+ }): JSX.Element;
119
+ /** A radar chart, for a profile across fixed axes. */
120
+ export declare function RadarChart(props: SeriesChartProps): JSX.Element;
121
+ /** A polar area chart: radial bars, for a composition. */
122
+ export declare function PolarAreaChart(props: {
123
+ labels: readonly string[];
124
+ data: readonly number[];
125
+ options?: ChartOptions;
126
+ class?: string;
127
+ }): JSX.Element;
128
+ /**
129
+ * A doughnut or a pie, for a composition with few enough slices to name.
130
+ *
131
+ * Both are one component because the only difference is the hole, and a caller
132
+ * choosing between them is choosing a ratio rather than a chart. `cutout` is the
133
+ * hole's share of the radius: 0 is a pie, 60% is the doughnut most dashboards
134
+ * mean. A composition with more than about six slices should be a bar chart —
135
+ * past that, the smallest slices become unreadable and their labels collide.
136
+ */
137
+ export declare function DonutChart(props: {
138
+ labels: readonly string[];
139
+ data: readonly number[];
140
+ /** The hole, as a percentage of the radius. 0 for a pie. */
141
+ cutout?: number;
142
+ options?: ChartOptions;
143
+ class?: string;
144
+ }): JSX.Element;
145
+ /** A legend built from the same five colours, for a chart whose legend is elsewhere. */
146
+ export declare function ChartLegend(props: {
147
+ series: readonly {
148
+ label: string;
149
+ color?: string;
150
+ }[];
151
+ class?: string;
152
+ }): JSX.Element;
153
+ export type { ChartType, ChartOptions };
154
+ //# sourceMappingURL=chart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/chart/chart.tsx"],"names":[],"mappings":"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"}