@adea-ai/ui 0.60.4 → 0.61.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1034) 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 +25 -0
  521. package/dist/r/account-menu.json +26 -0
  522. package/dist/r/alert-dialog.json +24 -0
  523. package/dist/r/alert.json +24 -0
  524. package/dist/r/app-shell.json +22 -0
  525. package/dist/r/aspect-ratio.json +22 -0
  526. package/dist/r/avatar.json +22 -0
  527. package/dist/r/badge.json +24 -0
  528. package/dist/r/board.json +22 -0
  529. package/dist/r/breadcrumb.json +24 -0
  530. package/dist/r/button-group.json +23 -0
  531. package/dist/r/button.json +24 -0
  532. package/dist/r/calendar.json +26 -0
  533. package/dist/r/card.json +22 -0
  534. package/dist/r/carousel.json +27 -0
  535. package/dist/r/chart.json +25 -0
  536. package/dist/r/checkbox.json +25 -0
  537. package/dist/r/code-block.json +25 -0
  538. package/dist/r/collapsible.json +24 -0
  539. package/dist/r/combobox.json +25 -0
  540. package/dist/r/command.json +25 -0
  541. package/dist/r/context-menu.json +25 -0
  542. package/dist/r/conversation.json +49 -0
  543. package/dist/r/detail-panel.json +25 -0
  544. package/dist/r/dialog.json +25 -0
  545. package/dist/r/diff-block.json +22 -0
  546. package/dist/r/drawer.json +24 -0
  547. package/dist/r/dropdown-menu.json +25 -0
  548. package/dist/r/empty.json +22 -0
  549. package/dist/r/entity-icon.json +22 -0
  550. package/dist/r/field.json +24 -0
  551. package/dist/r/hover-card.json +24 -0
  552. package/dist/r/input-group.json +22 -0
  553. package/dist/r/input-otp.json +24 -0
  554. package/dist/r/input.json +22 -0
  555. package/dist/r/item.json +22 -0
  556. package/dist/r/kbd.json +22 -0
  557. package/dist/r/label.json +22 -0
  558. package/dist/r/lib.json +50 -0
  559. package/dist/r/list-row.json +24 -0
  560. package/dist/r/menubar.json +25 -0
  561. package/dist/r/modal-dialog.json +23 -0
  562. package/dist/r/motion.json +22 -0
  563. package/dist/r/navigation-menu.json +25 -0
  564. package/dist/r/page.json +22 -0
  565. package/dist/r/pagination.json +25 -0
  566. package/dist/r/panel.json +22 -0
  567. package/dist/r/popover.json +24 -0
  568. package/dist/r/progress.json +24 -0
  569. package/dist/r/radio-group.json +25 -0
  570. package/dist/r/registry.json +1923 -0
  571. package/dist/r/resizable.json +25 -0
  572. package/dist/r/scroll-area.json +22 -0
  573. package/dist/r/select.json +25 -0
  574. package/dist/r/separator.json +24 -0
  575. package/dist/r/settings.json +22 -0
  576. package/dist/r/sheet.json +26 -0
  577. package/dist/r/side-rail.json +29 -0
  578. package/dist/r/sidebar-nav.json +25 -0
  579. package/dist/r/skeleton.json +22 -0
  580. package/dist/r/slider.json +24 -0
  581. package/dist/r/spinner.json +24 -0
  582. package/dist/r/src/components/composites/account-menu/account-menu.tsx +150 -0
  583. package/dist/r/src/components/composites/account-menu/index.ts +1 -0
  584. package/dist/r/src/components/composites/list-row/index.ts +1 -0
  585. package/dist/r/src/components/composites/list-row/list-row.tsx +116 -0
  586. package/dist/r/src/components/composites/settings/index.ts +1 -0
  587. package/dist/r/src/components/composites/settings/settings.tsx +142 -0
  588. package/dist/r/src/components/composites/stat/index.ts +9 -0
  589. package/dist/r/src/components/composites/stat/stat.tsx +155 -0
  590. package/dist/r/src/components/composites/update-dialog/index.ts +7 -0
  591. package/dist/r/src/components/composites/update-dialog/update-dialog.tsx +529 -0
  592. package/dist/r/src/components/composites/workspace-mark/index.ts +1 -0
  593. package/dist/r/src/components/composites/workspace-mark/workspace-mark.tsx +72 -0
  594. package/dist/r/src/components/conversation/conversation-avatar.tsx +60 -0
  595. package/dist/r/src/components/conversation/conversation-surface.tsx +107 -0
  596. package/dist/r/src/components/conversation/index.ts +25 -0
  597. package/dist/r/src/components/conversation/message-composer.tsx +239 -0
  598. package/dist/r/src/components/conversation/message-row.tsx +387 -0
  599. package/dist/r/src/components/conversation/thread-panel.tsx +141 -0
  600. package/dist/r/src/components/layout/app-shell/app-shell.tsx +92 -0
  601. package/dist/r/src/components/layout/app-shell/index.ts +1 -0
  602. package/dist/r/src/components/layout/page/index.ts +9 -0
  603. package/dist/r/src/components/layout/page/page.tsx +122 -0
  604. package/dist/r/src/components/layout/panel/index.ts +12 -0
  605. package/dist/r/src/components/layout/panel/panel.tsx +166 -0
  606. package/dist/r/src/components/layout/side-rail/index.ts +12 -0
  607. package/dist/r/src/components/layout/side-rail/side-rail-context.ts +42 -0
  608. package/dist/r/src/components/layout/side-rail/side-rail.tsx +405 -0
  609. package/dist/r/src/components/layout/sidebar-nav/index.ts +14 -0
  610. package/dist/r/src/components/layout/sidebar-nav/sidebar-nav.tsx +244 -0
  611. package/dist/r/src/components/layout/status-bar/index.ts +1 -0
  612. package/dist/r/src/components/layout/status-bar/status-bar.tsx +73 -0
  613. package/dist/r/src/components/layout/top-bar/index.ts +10 -0
  614. package/dist/r/src/components/layout/top-bar/top-bar.tsx +166 -0
  615. package/dist/r/src/components/motion/index.ts +2 -0
  616. package/dist/r/src/components/motion/presence.tsx +32 -0
  617. package/dist/r/src/components/theme/appearance-panel.tsx +179 -0
  618. package/dist/r/src/components/theme/index.ts +22 -0
  619. package/dist/r/src/components/theme/theme-picker.tsx +174 -0
  620. package/dist/r/src/components/theme/theme-provider.tsx +309 -0
  621. package/dist/r/src/components/theme/theme-toggle.tsx +64 -0
  622. package/dist/r/src/components/ui/accordion/accordion.tsx +66 -0
  623. package/dist/r/src/components/ui/accordion/index.ts +1 -0
  624. package/dist/r/src/components/ui/alert/alert.tsx +95 -0
  625. package/dist/r/src/components/ui/alert/index.ts +1 -0
  626. package/dist/r/src/components/ui/alert-dialog/alert-dialog.tsx +176 -0
  627. package/dist/r/src/components/ui/alert-dialog/index.ts +13 -0
  628. package/dist/r/src/components/ui/aspect-ratio/aspect-ratio.tsx +38 -0
  629. package/dist/r/src/components/ui/aspect-ratio/index.ts +1 -0
  630. package/dist/r/src/components/ui/avatar/avatar.tsx +114 -0
  631. package/dist/r/src/components/ui/avatar/index.ts +9 -0
  632. package/dist/r/src/components/ui/badge/badge.tsx +59 -0
  633. package/dist/r/src/components/ui/badge/index.ts +1 -0
  634. package/dist/r/src/components/ui/board/board.tsx +254 -0
  635. package/dist/r/src/components/ui/board/index.ts +10 -0
  636. package/dist/r/src/components/ui/breadcrumb/breadcrumb.tsx +117 -0
  637. package/dist/r/src/components/ui/breadcrumb/index.ts +9 -0
  638. package/dist/r/src/components/ui/button/button.tsx +89 -0
  639. package/dist/r/src/components/ui/button/index.ts +1 -0
  640. package/dist/r/src/components/ui/button-group/button-group.tsx +92 -0
  641. package/dist/r/src/components/ui/button-group/index.ts +6 -0
  642. package/dist/r/src/components/ui/calendar/calendar.tsx +277 -0
  643. package/dist/r/src/components/ui/calendar/index.ts +1 -0
  644. package/dist/r/src/components/ui/card/card.tsx +82 -0
  645. package/dist/r/src/components/ui/card/index.ts +10 -0
  646. package/dist/r/src/components/ui/carousel/carousel.tsx +209 -0
  647. package/dist/r/src/components/ui/carousel/index.ts +1 -0
  648. package/dist/r/src/components/ui/chart/chart.tsx +413 -0
  649. package/dist/r/src/components/ui/chart/index.ts +17 -0
  650. package/dist/r/src/components/ui/checkbox/checkbox.tsx +99 -0
  651. package/dist/r/src/components/ui/checkbox/index.ts +1 -0
  652. package/dist/r/src/components/ui/code-block/code-block.tsx +238 -0
  653. package/dist/r/src/components/ui/code-block/index.ts +1 -0
  654. package/dist/r/src/components/ui/collapsible/collapsible.tsx +54 -0
  655. package/dist/r/src/components/ui/collapsible/index.ts +1 -0
  656. package/dist/r/src/components/ui/combobox/combobox.tsx +142 -0
  657. package/dist/r/src/components/ui/combobox/index.ts +10 -0
  658. package/dist/r/src/components/ui/command/command.tsx +214 -0
  659. package/dist/r/src/components/ui/command/index.ts +12 -0
  660. package/dist/r/src/components/ui/context-menu/context-menu.tsx +163 -0
  661. package/dist/r/src/components/ui/context-menu/index.ts +15 -0
  662. package/dist/r/src/components/ui/detail-panel/detail-panel.tsx +161 -0
  663. package/dist/r/src/components/ui/detail-panel/index.ts +9 -0
  664. package/dist/r/src/components/ui/dialog/dialog.tsx +138 -0
  665. package/dist/r/src/components/ui/dialog/index.ts +14 -0
  666. package/dist/r/src/components/ui/diff-block/diff-block.tsx +286 -0
  667. package/dist/r/src/components/ui/diff-block/index.ts +11 -0
  668. package/dist/r/src/components/ui/drawer/drawer.tsx +144 -0
  669. package/dist/r/src/components/ui/drawer/index.ts +13 -0
  670. package/dist/r/src/components/ui/dropdown-menu/dropdown-menu.tsx +203 -0
  671. package/dist/r/src/components/ui/dropdown-menu/index.ts +18 -0
  672. package/dist/r/src/components/ui/empty/empty.tsx +104 -0
  673. package/dist/r/src/components/ui/empty/index.ts +10 -0
  674. package/dist/r/src/components/ui/entity-icon/entity-icon.tsx +154 -0
  675. package/dist/r/src/components/ui/entity-icon/index.ts +1 -0
  676. package/dist/r/src/components/ui/field/field.tsx +131 -0
  677. package/dist/r/src/components/ui/field/index.ts +11 -0
  678. package/dist/r/src/components/ui/hover-card/hover-card.tsx +48 -0
  679. package/dist/r/src/components/ui/hover-card/index.ts +1 -0
  680. package/dist/r/src/components/ui/input/index.ts +1 -0
  681. package/dist/r/src/components/ui/input/input.tsx +41 -0
  682. package/dist/r/src/components/ui/input-group/index.ts +8 -0
  683. package/dist/r/src/components/ui/input-group/input-group.tsx +111 -0
  684. package/dist/r/src/components/ui/input-otp/index.ts +1 -0
  685. package/dist/r/src/components/ui/input-otp/input-otp.tsx +108 -0
  686. package/dist/r/src/components/ui/item/index.ts +10 -0
  687. package/dist/r/src/components/ui/item/item.tsx +146 -0
  688. package/dist/r/src/components/ui/kbd/index.ts +1 -0
  689. package/dist/r/src/components/ui/kbd/kbd.tsx +42 -0
  690. package/dist/r/src/components/ui/label/index.ts +1 -0
  691. package/dist/r/src/components/ui/label/label.tsx +36 -0
  692. package/dist/r/src/components/ui/menubar/index.ts +16 -0
  693. package/dist/r/src/components/ui/menubar/menubar.tsx +190 -0
  694. package/dist/r/src/components/ui/modal-dialog/index.ts +1 -0
  695. package/dist/r/src/components/ui/modal-dialog/modal-dialog.tsx +95 -0
  696. package/dist/r/src/components/ui/navigation-menu/index.ts +13 -0
  697. package/dist/r/src/components/ui/navigation-menu/navigation-menu.tsx +229 -0
  698. package/dist/r/src/components/ui/pagination/index.ts +8 -0
  699. package/dist/r/src/components/ui/pagination/pagination.tsx +144 -0
  700. package/dist/r/src/components/ui/popover/index.ts +10 -0
  701. package/dist/r/src/components/ui/popover/popover.tsx +81 -0
  702. package/dist/r/src/components/ui/progress/index.ts +1 -0
  703. package/dist/r/src/components/ui/progress/progress.tsx +67 -0
  704. package/dist/r/src/components/ui/radio-group/index.ts +1 -0
  705. package/dist/r/src/components/ui/radio-group/radio-group.tsx +78 -0
  706. package/dist/r/src/components/ui/resizable/index.ts +6 -0
  707. package/dist/r/src/components/ui/resizable/resizable.tsx +74 -0
  708. package/dist/r/src/components/ui/scroll-area/index.ts +1 -0
  709. package/dist/r/src/components/ui/scroll-area/scroll-area.tsx +66 -0
  710. package/dist/r/src/components/ui/select/index.ts +11 -0
  711. package/dist/r/src/components/ui/select/select.tsx +188 -0
  712. package/dist/r/src/components/ui/separator/index.ts +1 -0
  713. package/dist/r/src/components/ui/separator/separator.tsx +40 -0
  714. package/dist/r/src/components/ui/sheet/index.ts +13 -0
  715. package/dist/r/src/components/ui/sheet/sheet.tsx +132 -0
  716. package/dist/r/src/components/ui/skeleton/index.ts +1 -0
  717. package/dist/r/src/components/ui/skeleton/skeleton.tsx +28 -0
  718. package/dist/r/src/components/ui/slider/index.ts +1 -0
  719. package/dist/r/src/components/ui/slider/slider.tsx +81 -0
  720. package/dist/r/src/components/ui/spinner/index.ts +1 -0
  721. package/dist/r/src/components/ui/spinner/spinner.tsx +58 -0
  722. package/dist/r/src/components/ui/status-chip/index.ts +8 -0
  723. package/dist/r/src/components/ui/status-chip/status-chip.tsx +142 -0
  724. package/dist/r/src/components/ui/switch/index.ts +1 -0
  725. package/dist/r/src/components/ui/switch/switch.tsx +100 -0
  726. package/dist/r/src/components/ui/table/index.ts +11 -0
  727. package/dist/r/src/components/ui/table/table.tsx +125 -0
  728. package/dist/r/src/components/ui/tabs/index.ts +8 -0
  729. package/dist/r/src/components/ui/tabs/tabs.tsx +77 -0
  730. package/dist/r/src/components/ui/textarea/index.ts +1 -0
  731. package/dist/r/src/components/ui/textarea/textarea.tsx +36 -0
  732. package/dist/r/src/components/ui/toast/index.ts +1 -0
  733. package/dist/r/src/components/ui/toast/toast.tsx +220 -0
  734. package/dist/r/src/components/ui/toggle/index.ts +1 -0
  735. package/dist/r/src/components/ui/toggle/toggle.tsx +60 -0
  736. package/dist/r/src/components/ui/toggle-group/index.ts +6 -0
  737. package/dist/r/src/components/ui/toggle-group/toggle-group.tsx +66 -0
  738. package/dist/r/src/components/ui/tooltip/index.ts +9 -0
  739. package/dist/r/src/components/ui/tooltip/tooltip.tsx +102 -0
  740. package/dist/r/src/lib/keyed-rows.ts +68 -0
  741. package/dist/r/src/lib/overlay.ts +70 -0
  742. package/dist/r/src/lib/themes.ts +490 -0
  743. package/dist/r/src/lib/tokens.ts +688 -0
  744. package/dist/r/src/lib/utils.ts +76 -0
  745. package/dist/r/src/lib/variants.ts +62 -0
  746. package/dist/r/src/lib/version-notes.ts +65 -0
  747. package/dist/r/src/styles/base.css +644 -0
  748. package/dist/r/src/styles/fonts.css +26 -0
  749. package/dist/r/src/styles/globals.css +18 -0
  750. package/dist/r/src/styles/theme.css +864 -0
  751. package/dist/r/stat.json +24 -0
  752. package/dist/r/status-bar.json +22 -0
  753. package/dist/r/status-chip.json +23 -0
  754. package/dist/r/switch.json +24 -0
  755. package/dist/r/table.json +22 -0
  756. package/dist/r/tabs.json +24 -0
  757. package/dist/r/textarea.json +22 -0
  758. package/dist/r/theme.json +36 -0
  759. package/dist/r/theming.json +42 -0
  760. package/dist/r/toast.json +25 -0
  761. package/dist/r/toggle-group.json +25 -0
  762. package/dist/r/toggle.json +24 -0
  763. package/dist/r/tooltip.json +24 -0
  764. package/dist/r/top-bar.json +22 -0
  765. package/dist/r/update-dialog.json +28 -0
  766. package/dist/r/workspace-mark.json +23 -0
  767. package/package.json +75 -21
  768. package/registry.json +1923 -0
  769. package/src/components/composites/account-menu/account-menu.tsx +150 -0
  770. package/src/components/composites/account-menu/index.ts +1 -0
  771. package/src/components/composites/list-row/index.ts +1 -0
  772. package/src/components/composites/list-row/list-row.tsx +116 -0
  773. package/src/components/composites/settings/index.ts +1 -0
  774. package/src/components/composites/settings/settings.tsx +142 -0
  775. package/src/components/composites/stat/index.ts +9 -0
  776. package/src/components/composites/stat/stat.tsx +155 -0
  777. package/src/components/composites/update-dialog/index.ts +7 -0
  778. package/src/components/composites/update-dialog/update-dialog.tsx +529 -0
  779. package/src/components/composites/workspace-mark/index.ts +1 -0
  780. package/src/components/composites/workspace-mark/workspace-mark.tsx +72 -0
  781. package/src/components/conversation/conversation-avatar.tsx +60 -0
  782. package/src/components/conversation/conversation-surface.tsx +107 -0
  783. package/src/components/conversation/index.ts +25 -0
  784. package/src/components/conversation/message-composer.tsx +239 -0
  785. package/src/components/conversation/message-row.tsx +387 -0
  786. package/src/components/conversation/thread-panel.tsx +141 -0
  787. package/src/components/layout/app-shell/app-shell.tsx +92 -0
  788. package/src/components/layout/app-shell/index.ts +1 -0
  789. package/src/components/layout/page/index.ts +9 -0
  790. package/src/components/layout/page/page.tsx +122 -0
  791. package/src/components/layout/panel/index.ts +12 -0
  792. package/src/components/layout/panel/panel.tsx +166 -0
  793. package/src/components/layout/side-rail/index.ts +12 -0
  794. package/src/components/layout/side-rail/side-rail-context.ts +42 -0
  795. package/src/components/layout/side-rail/side-rail.tsx +405 -0
  796. package/src/components/layout/sidebar-nav/index.ts +14 -0
  797. package/src/components/layout/sidebar-nav/sidebar-nav.tsx +244 -0
  798. package/src/components/layout/status-bar/index.ts +1 -0
  799. package/src/components/layout/status-bar/status-bar.tsx +73 -0
  800. package/src/components/layout/top-bar/index.ts +10 -0
  801. package/src/components/layout/top-bar/top-bar.tsx +166 -0
  802. package/src/components/motion/index.ts +2 -0
  803. package/src/components/motion/presence.tsx +32 -0
  804. package/src/components/theme/appearance-panel.tsx +179 -0
  805. package/src/components/theme/index.ts +22 -0
  806. package/src/components/theme/theme-picker.tsx +174 -0
  807. package/src/components/theme/theme-provider.tsx +309 -0
  808. package/src/components/theme/theme-toggle.tsx +64 -0
  809. package/src/components/ui/accordion/accordion.tsx +66 -0
  810. package/src/components/ui/accordion/index.ts +1 -0
  811. package/src/components/ui/alert/alert.tsx +95 -0
  812. package/src/components/ui/alert/index.ts +1 -0
  813. package/src/components/ui/alert-dialog/alert-dialog.tsx +176 -0
  814. package/src/components/ui/alert-dialog/index.ts +13 -0
  815. package/src/components/ui/aspect-ratio/aspect-ratio.tsx +38 -0
  816. package/src/components/ui/aspect-ratio/index.ts +1 -0
  817. package/src/components/ui/avatar/avatar.tsx +114 -0
  818. package/src/components/ui/avatar/index.ts +9 -0
  819. package/src/components/ui/badge/badge.tsx +59 -0
  820. package/src/components/ui/badge/index.ts +1 -0
  821. package/src/components/ui/board/board.tsx +254 -0
  822. package/src/components/ui/board/index.ts +10 -0
  823. package/src/components/ui/breadcrumb/breadcrumb.tsx +117 -0
  824. package/src/components/ui/breadcrumb/index.ts +9 -0
  825. package/src/components/ui/button/button.tsx +89 -0
  826. package/src/components/ui/button/index.ts +1 -0
  827. package/src/components/ui/button-group/button-group.tsx +92 -0
  828. package/src/components/ui/button-group/index.ts +6 -0
  829. package/src/components/ui/calendar/calendar.tsx +277 -0
  830. package/src/components/ui/calendar/index.ts +1 -0
  831. package/src/components/ui/card/card.tsx +82 -0
  832. package/src/components/ui/card/index.ts +10 -0
  833. package/src/components/ui/carousel/carousel.tsx +209 -0
  834. package/src/components/ui/carousel/index.ts +1 -0
  835. package/src/components/ui/chart/chart.tsx +413 -0
  836. package/src/components/ui/chart/index.ts +17 -0
  837. package/src/components/ui/checkbox/checkbox.tsx +99 -0
  838. package/src/components/ui/checkbox/index.ts +1 -0
  839. package/src/components/ui/code-block/code-block.tsx +238 -0
  840. package/src/components/ui/code-block/index.ts +1 -0
  841. package/src/components/ui/collapsible/collapsible.tsx +54 -0
  842. package/src/components/ui/collapsible/index.ts +1 -0
  843. package/src/components/ui/combobox/combobox.tsx +142 -0
  844. package/src/components/ui/combobox/index.ts +10 -0
  845. package/src/components/ui/command/command.tsx +214 -0
  846. package/src/components/ui/command/index.ts +12 -0
  847. package/src/components/ui/context-menu/context-menu.tsx +163 -0
  848. package/src/components/ui/context-menu/index.ts +15 -0
  849. package/src/components/ui/detail-panel/detail-panel.tsx +161 -0
  850. package/src/components/ui/detail-panel/index.ts +9 -0
  851. package/src/components/ui/dialog/dialog.tsx +138 -0
  852. package/src/components/ui/dialog/index.ts +14 -0
  853. package/src/components/ui/diff-block/diff-block.tsx +286 -0
  854. package/src/components/ui/diff-block/index.ts +11 -0
  855. package/src/components/ui/drawer/drawer.tsx +144 -0
  856. package/src/components/ui/drawer/index.ts +13 -0
  857. package/src/components/ui/dropdown-menu/dropdown-menu.tsx +203 -0
  858. package/src/components/ui/dropdown-menu/index.ts +18 -0
  859. package/src/components/ui/empty/empty.tsx +104 -0
  860. package/src/components/ui/empty/index.ts +10 -0
  861. package/src/components/ui/entity-icon/entity-icon.tsx +154 -0
  862. package/src/components/ui/entity-icon/index.ts +1 -0
  863. package/src/components/ui/field/field.tsx +131 -0
  864. package/src/components/ui/field/index.ts +11 -0
  865. package/src/components/ui/hover-card/hover-card.tsx +48 -0
  866. package/src/components/ui/hover-card/index.ts +1 -0
  867. package/src/components/ui/input/index.ts +1 -0
  868. package/src/components/ui/input/input.tsx +41 -0
  869. package/src/components/ui/input-group/index.ts +8 -0
  870. package/src/components/ui/input-group/input-group.tsx +111 -0
  871. package/src/components/ui/input-otp/index.ts +1 -0
  872. package/src/components/ui/input-otp/input-otp.tsx +108 -0
  873. package/src/components/ui/item/index.ts +10 -0
  874. package/src/components/ui/item/item.tsx +146 -0
  875. package/src/components/ui/kbd/index.ts +1 -0
  876. package/src/components/ui/kbd/kbd.tsx +42 -0
  877. package/src/components/ui/label/index.ts +1 -0
  878. package/src/components/ui/label/label.tsx +36 -0
  879. package/src/components/ui/menubar/index.ts +16 -0
  880. package/src/components/ui/menubar/menubar.tsx +190 -0
  881. package/src/components/ui/modal-dialog/index.ts +1 -0
  882. package/src/components/ui/modal-dialog/modal-dialog.tsx +95 -0
  883. package/src/components/ui/navigation-menu/index.ts +13 -0
  884. package/src/components/ui/navigation-menu/navigation-menu.tsx +229 -0
  885. package/src/components/ui/pagination/index.ts +8 -0
  886. package/src/components/ui/pagination/pagination.tsx +144 -0
  887. package/src/components/ui/popover/index.ts +10 -0
  888. package/src/components/ui/popover/popover.tsx +81 -0
  889. package/src/components/ui/progress/index.ts +1 -0
  890. package/src/components/ui/progress/progress.tsx +67 -0
  891. package/src/components/ui/radio-group/index.ts +1 -0
  892. package/src/components/ui/radio-group/radio-group.tsx +78 -0
  893. package/src/components/ui/resizable/index.ts +6 -0
  894. package/src/components/ui/resizable/resizable.tsx +74 -0
  895. package/src/components/ui/scroll-area/index.ts +1 -0
  896. package/src/components/ui/scroll-area/scroll-area.tsx +66 -0
  897. package/src/components/ui/select/index.ts +11 -0
  898. package/src/components/ui/select/select.tsx +188 -0
  899. package/src/components/ui/separator/index.ts +1 -0
  900. package/src/components/ui/separator/separator.tsx +40 -0
  901. package/src/components/ui/sheet/index.ts +13 -0
  902. package/src/components/ui/sheet/sheet.tsx +132 -0
  903. package/src/components/ui/skeleton/index.ts +1 -0
  904. package/src/components/ui/skeleton/skeleton.tsx +28 -0
  905. package/src/components/ui/slider/index.ts +1 -0
  906. package/src/components/ui/slider/slider.tsx +81 -0
  907. package/src/components/ui/spinner/index.ts +1 -0
  908. package/src/components/ui/spinner/spinner.tsx +58 -0
  909. package/src/components/ui/status-chip/index.ts +8 -0
  910. package/src/components/ui/status-chip/status-chip.tsx +142 -0
  911. package/src/components/ui/switch/index.ts +1 -0
  912. package/src/components/ui/switch/switch.tsx +100 -0
  913. package/src/components/ui/table/index.ts +11 -0
  914. package/src/components/ui/table/table.tsx +125 -0
  915. package/src/components/ui/tabs/index.ts +8 -0
  916. package/src/components/ui/tabs/tabs.tsx +77 -0
  917. package/src/components/ui/textarea/index.ts +1 -0
  918. package/src/components/ui/textarea/textarea.tsx +36 -0
  919. package/src/components/ui/toast/index.ts +1 -0
  920. package/src/components/ui/toast/toast.tsx +220 -0
  921. package/src/components/ui/toggle/index.ts +1 -0
  922. package/src/components/ui/toggle/toggle.tsx +60 -0
  923. package/src/components/ui/toggle-group/index.ts +6 -0
  924. package/src/components/ui/toggle-group/toggle-group.tsx +66 -0
  925. package/src/components/ui/tooltip/index.ts +9 -0
  926. package/src/components/ui/tooltip/tooltip.tsx +102 -0
  927. package/src/index.ts +154 -0
  928. package/src/lib/keyed-rows.ts +68 -0
  929. package/src/lib/overlay.ts +70 -0
  930. package/src/lib/themes.ts +490 -0
  931. package/src/lib/tokens.ts +688 -0
  932. package/src/lib/utils.ts +74 -4
  933. package/src/lib/variants.ts +62 -0
  934. package/src/lib/version-notes.ts +35 -0
  935. package/src/styles/base.css +489 -484
  936. package/src/styles/fonts.css +26 -0
  937. package/src/styles/globals.css +14 -3
  938. package/src/styles/theme.css +838 -229
  939. package/LICENSE +0 -201
  940. package/dist/components/account-drawer.d.ts +0 -11
  941. package/dist/components/account-drawer.js +0 -120
  942. package/dist/components/appearance.d.ts +0 -261
  943. package/dist/components/appearance.js +0 -802
  944. package/dist/components/on-screen-controls.d.ts +0 -8
  945. package/dist/components/on-screen-controls.js +0 -162
  946. package/dist/components/scene-settings.d.ts +0 -33
  947. package/dist/components/scene-settings.js +0 -253
  948. package/dist/components/theme-preview.d.ts +0 -40
  949. package/dist/components/theme-preview.js +0 -210
  950. package/dist/components/theme-provider.d.ts +0 -52
  951. package/dist/components/theme-provider.js +0 -128
  952. package/dist/components/theme-swatch.d.ts +0 -12
  953. package/dist/components/theme-swatch.js +0 -66
  954. package/dist/components/theme-toggle.d.ts +0 -7
  955. package/dist/components/theme-toggle.js +0 -64
  956. package/dist/components/ui/badge.d.ts +0 -8
  957. package/dist/components/ui/badge.js +0 -34
  958. package/dist/components/ui/button.d.ts +0 -9
  959. package/dist/components/ui/button.js +0 -52
  960. package/dist/components/ui/card.d.ts +0 -4
  961. package/dist/components/ui/card.js +0 -28
  962. package/dist/components/ui/dialog.d.ts +0 -15
  963. package/dist/components/ui/dialog.js +0 -104
  964. package/dist/components/ui/drawer.d.ts +0 -24
  965. package/dist/components/ui/drawer.js +0 -120
  966. package/dist/components/ui/dropdown-menu.d.ts +0 -35
  967. package/dist/components/ui/dropdown-menu.js +0 -180
  968. package/dist/components/ui/empty.d.ts +0 -12
  969. package/dist/components/ui/field.d.ts +0 -25
  970. package/dist/components/ui/field.js +0 -188
  971. package/dist/components/ui/input.d.ts +0 -3
  972. package/dist/components/ui/input.js +0 -22
  973. package/dist/components/ui/label.d.ts +0 -3
  974. package/dist/components/ui/label.js +0 -17
  975. package/dist/components/ui/radio-group.d.ts +0 -5
  976. package/dist/components/ui/radio-group.js +0 -39
  977. package/dist/components/ui/separator.d.ts +0 -7
  978. package/dist/components/ui/separator.js +0 -20
  979. package/dist/components/ui/skeleton.d.ts +0 -3
  980. package/dist/components/ui/skeleton.js +0 -17
  981. package/dist/components/ui/spinner.d.ts +0 -5
  982. package/dist/components/ui/spinner.js +0 -17
  983. package/dist/components/ui/switch.d.ts +0 -8
  984. package/dist/components/ui/switch.js +0 -59
  985. package/dist/components/ui/tabs.d.ts +0 -11
  986. package/dist/components/ui/tabs.js +0 -57
  987. package/dist/components/ui/toggle-group.d.ts +0 -13
  988. package/dist/components/ui/toggle-group.js +0 -95
  989. package/dist/components/ui/toggle.d.ts +0 -10
  990. package/dist/components/ui/toggle.js +0 -41
  991. package/dist/components/ui/tooltip.d.ts +0 -15
  992. package/dist/components/ui/tooltip.js +0 -55
  993. package/dist/components/version-dialog.d.ts +0 -25
  994. package/dist/components/version-dialog.js +0 -330
  995. package/dist/components/workspace-brand.d.ts +0 -5
  996. package/dist/components/workspace-brand.js +0 -13
  997. package/dist/components/workspace-logo.d.ts +0 -3
  998. package/dist/components/workspace-logo.js +0 -17
  999. package/src/components/account-drawer.tsx +0 -114
  1000. package/src/components/appearance.ts +0 -1112
  1001. package/src/components/on-screen-controls.tsx +0 -149
  1002. package/src/components/scene-settings.tsx +0 -199
  1003. package/src/components/theme-preview.tsx +0 -170
  1004. package/src/components/theme-provider.tsx +0 -214
  1005. package/src/components/theme-swatch.tsx +0 -49
  1006. package/src/components/theme-toggle.tsx +0 -48
  1007. package/src/components/ui/badge.tsx +0 -40
  1008. package/src/components/ui/button.tsx +0 -58
  1009. package/src/components/ui/card.tsx +0 -21
  1010. package/src/components/ui/dialog.tsx +0 -132
  1011. package/src/components/ui/drawer.tsx +0 -168
  1012. package/src/components/ui/dropdown-menu.tsx +0 -235
  1013. package/src/components/ui/empty.tsx +0 -97
  1014. package/src/components/ui/field.tsx +0 -220
  1015. package/src/components/ui/input.tsx +0 -20
  1016. package/src/components/ui/label.tsx +0 -19
  1017. package/src/components/ui/radio-group.tsx +0 -41
  1018. package/src/components/ui/separator.tsx +0 -28
  1019. package/src/components/ui/skeleton.tsx +0 -16
  1020. package/src/components/ui/spinner.tsx +0 -20
  1021. package/src/components/ui/switch.tsx +0 -59
  1022. package/src/components/ui/tabs.tsx +0 -76
  1023. package/src/components/ui/toggle-group.tsx +0 -98
  1024. package/src/components/ui/toggle.tsx +0 -42
  1025. package/src/components/ui/tooltip.tsx +0 -61
  1026. package/src/components/version-dialog.tsx +0 -368
  1027. package/src/components/workspace-brand.tsx +0 -18
  1028. package/src/components/workspace-logo.tsx +0 -21
  1029. package/src/index.tsx +0 -53
  1030. package/src/styles/auth-shell.css +0 -167
  1031. package/src/styles/conventional-workspace.css +0 -2858
  1032. package/src/styles/dev-view.css +0 -899
  1033. package/src/styles/workspace-shell.css +0 -82
  1034. package/tsconfig.json +0 -11
@@ -0,0 +1,99 @@
1
+ import { Checkbox as KobalteCheckbox } from '@kobalte/core/checkbox'
2
+ import { Check, Minus } from 'lucide-solid'
3
+ import type { ComponentProps, JSX } from 'solid-js'
4
+ import { splitProps } from 'solid-js'
5
+ import { cn } from '#lib/utils'
6
+
7
+ /**
8
+ * Checkbox.
9
+ *
10
+ * Three states: unchecked, checked, and indeterminate. Indeterminate is what a
11
+ * "select all" box shows when only some rows are selected; Kobalte expresses
12
+ * it through `checked="indeterminate"` rather than a second boolean, so there
13
+ * is no way to render a box that is both.
14
+ *
15
+ * The paint is `Control` and the value is a real hidden `Input`, so the control
16
+ * participates in a form submission and in native validation while looking
17
+ * nothing like a browser checkbox. Focus is tracked by the input, which is why
18
+ * the ring lives on the control and reads the input's focus state.
19
+ */
20
+ export type CheckboxProps = Omit<ComponentProps<typeof KobalteCheckbox>, 'children'> & {
21
+ controlClass?: string
22
+ labelClass?: string
23
+ descriptionClass?: string
24
+ /**
25
+ * Replaces the control and label. Omit it to get the default control beside
26
+ * `label` and `description`; supply it to compose the parts yourself.
27
+ */
28
+ children?: JSX.Element
29
+ }
30
+
31
+ export function Checkbox(props: CheckboxProps) {
32
+ const [local, rest] = splitProps(props, [
33
+ 'class',
34
+ 'controlClass',
35
+ 'labelClass',
36
+ 'descriptionClass',
37
+ 'children',
38
+ 'indeterminate',
39
+ 'aria-label',
40
+ 'aria-labelledby',
41
+ ])
42
+
43
+ return (
44
+ <KobalteCheckbox class={cn('group/checkbox flex items-start gap-2.5', local.class)} {...rest}>
45
+ {/*
46
+ * The name goes on the input, which is what carries the value and takes
47
+ * focus. On the Root it would land on a plain div and name nothing — the
48
+ * box would announce its state with no subject.
49
+ */}
50
+ <KobalteCheckbox.Input
51
+ aria-label={local['aria-label']}
52
+ aria-labelledby={local['aria-labelledby']}
53
+ />
54
+ <KobalteCheckbox.Control
55
+ class={cn(
56
+ 'border-input bg-transparent flex size-4 shrink-0 items-center justify-center rounded-sm border',
57
+ 'transition-[color,box-shadow,border-color,background-color] ease-out outline-none',
58
+ 'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-primary-subtle',
59
+ 'data-[checked]:bg-primary data-[checked]:border-primary data-[checked]:text-primary-foreground',
60
+ 'data-[indeterminate]:bg-primary data-[indeterminate]:border-primary data-[indeterminate]:text-primary-foreground',
61
+ 'data-[invalid]:border-destructive data-[invalid]:ring-3 data-[invalid]:ring-destructive-subtle',
62
+ 'data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50',
63
+ local.controlClass
64
+ )}
65
+ >
66
+ <KobalteCheckbox.Indicator class="flex items-center justify-center">
67
+ {local.indeterminate ? <Minus class="size-3" /> : <Check class="size-3" />}
68
+ </KobalteCheckbox.Indicator>
69
+ </KobalteCheckbox.Control>
70
+ {local.children ?? (
71
+ <div class="grid gap-0.5 leading-none">
72
+ <KobalteCheckbox.Label class={cn('text-sm font-medium', local.labelClass)} />
73
+ <KobalteCheckbox.Description
74
+ class={cn('text-muted-foreground text-sm', local.descriptionClass)}
75
+ />
76
+ </div>
77
+ )}
78
+ </KobalteCheckbox>
79
+ )
80
+ }
81
+
82
+ /**
83
+ * The box's own label. Valid only inside a `<Checkbox>`, for the same reason as
84
+ * `SwitchLabel`: outside its root there is no control to associate with.
85
+ */
86
+ export function CheckboxLabel(props: ComponentProps<typeof KobalteCheckbox.Label>) {
87
+ const [local, rest] = splitProps(props, ['class'])
88
+ return <KobalteCheckbox.Label class={cn('text-sm font-medium', local.class)} {...rest} />
89
+ }
90
+
91
+ export function CheckboxDescription(props: ComponentProps<typeof KobalteCheckbox.Description>) {
92
+ const [local, rest] = splitProps(props, ['class'])
93
+ return (
94
+ <KobalteCheckbox.Description
95
+ class={cn('text-muted-foreground text-sm', local.class)}
96
+ {...rest}
97
+ />
98
+ )
99
+ }
@@ -0,0 +1 @@
1
+ export { Checkbox, CheckboxDescription, CheckboxLabel, type CheckboxProps } from './checkbox'
@@ -0,0 +1,238 @@
1
+ import {
2
+ createMemo,
3
+ createSignal,
4
+ For,
5
+ Show,
6
+ splitProps,
7
+ type ComponentProps,
8
+ type JSX,
9
+ } from 'solid-js'
10
+ import { Check, Copy } from 'lucide-solid'
11
+ import { Button } from '../button'
12
+ import { cn } from '#lib/utils'
13
+
14
+ /**
15
+ * CodeBlock.
16
+ *
17
+ * A fenced block, rendered as a surface. The library ships no highlighter —
18
+ * syntax colouring is a large dependency with its own theme format, and a
19
+ * component that bundled one would force every consumer to pay for it. This
20
+ * renders the block, its chrome, and its behaviour; a caller that wants
21
+ * highlighting passes the result through `highlight`, which is the seam a
22
+ * Shiki/Pierre/Prism integration plugs into.
23
+ *
24
+ * Four details are the reason this exists rather than a styled `<pre>`:
25
+ *
26
+ * **Copy confirms only on success.** `navigator.clipboard.writeText` rejects
27
+ * outside a secure context, in a sandboxed frame, and when the document is not
28
+ * focused. Flipping to a tick unconditionally confirms a copy that did not
29
+ * happen, and the reader pastes something stale and does not know why. The
30
+ * rejection is caught and the button reports the failure instead.
31
+ *
32
+ * **A tall block repeats its action row at the bottom.** Copying from a block
33
+ * that is taller than the viewport otherwise costs a scroll back to the top and
34
+ * another scroll down to where you were. The threshold is a fixed 480px rather
35
+ * than viewport-relative so the behaviour does not change when the window is
36
+ * resized.
37
+ *
38
+ * **The scroller is focusable and named.** A horizontally scrollable region has
39
+ * to be reachable by keyboard — this is axe's `scrollable-region-focusable`, and
40
+ * a region that scrolls but cannot be focused is a WCAG 2.1.1 failure. It is a
41
+ * `region` with a label rather than a bare `tabindex`, so the tab stop announces
42
+ * what it is.
43
+ *
44
+ * **Resolving a streaming block must not move the reader.** When `complete` is
45
+ * false the block shows the code it has plus a generating indicator; the
46
+ * indicator is inside the scroller's own box and does not add a line, because a
47
+ * block that grows the moment its content resolves shifts everything below it.
48
+ * If a caller's `highlight` changes the line box, that is the caller's height to
49
+ * hold — `lineHeight` is a prop for exactly that reason.
50
+ */
51
+ export type CodeBlockProps = Omit<ComponentProps<'div'>, 'children'> & {
52
+ code: string
53
+ /** The language, shown in the header and used as the region's label. */
54
+ language?: string
55
+ /** The code, transformed — highlighted HTML or a component. Omit for plain text. */
56
+ highlight?: (code: string) => JSX.Element
57
+ /** False while the block is still streaming. Adds a generating indicator. */
58
+ complete?: boolean
59
+ /** A filename or title, shown instead of the language. */
60
+ title?: string
61
+ /** Extra header controls, before the copy button. */
62
+ actions?: JSX.Element
63
+ /** Copy label. Override for a non-English application. */
64
+ copyLabel?: string
65
+ copiedLabel?: string
66
+ /** Line height of the rendered code. Set it when `highlight` changes the box. */
67
+ lineHeight?: string
68
+ /** A line-number gutter. Off by default; a short snippet rarely needs one. */
69
+ showLineNumbers?: boolean
70
+ /** The height above which the action row is repeated below the block. */
71
+ tallThreshold?: number
72
+ }
73
+
74
+ /** The height a block must exceed before its actions are repeated. */
75
+ export const TALL_CODE_BLOCK_PX = 480
76
+
77
+ /**
78
+ * Copy, reporting whether it worked. `navigator.clipboard` is absent in an
79
+ * insecure context, and `writeText` rejects when the document is not focused —
80
+ * both are normal in an embedded or iframed application, and neither should
81
+ * silently look like success.
82
+ */
83
+ async function copyText(text: string): Promise<boolean> {
84
+ try {
85
+ if (!navigator.clipboard) return false
86
+ await navigator.clipboard.writeText(text)
87
+ return true
88
+ } catch {
89
+ return false
90
+ }
91
+ }
92
+
93
+ export function CodeBlock(props: CodeBlockProps) {
94
+ const [local, rest] = splitProps(props, [
95
+ 'code',
96
+ 'language',
97
+ 'highlight',
98
+ 'complete',
99
+ 'title',
100
+ 'actions',
101
+ 'copyLabel',
102
+ 'copiedLabel',
103
+ 'lineHeight',
104
+ 'showLineNumbers',
105
+ 'tallThreshold',
106
+ 'class',
107
+ 'ref',
108
+ ])
109
+
110
+ const [copied, setCopied] = createSignal(false)
111
+ const [failed, setFailed] = createSignal(false)
112
+ const [tall, setTall] = createSignal(false)
113
+
114
+ const label = () => local.title ?? local.language ?? 'code'
115
+ const regionLabel = () => (local.language ? `${local.language} code` : 'code')
116
+ const lines = createMemo(() => local.code.replace(/\n$/, '').split('\n'))
117
+
118
+ const copy = async () => {
119
+ const ok = await copyText(local.code)
120
+ setCopied(ok)
121
+ setFailed(!ok)
122
+ if (ok) setTimeout(() => setCopied(false), 1500)
123
+ }
124
+
125
+ const Actions = () => (
126
+ <div class="flex items-center gap-1 opacity-0 transition-opacity group-focus-within/code:opacity-100 group-hover/code:opacity-100">
127
+ {local.actions}
128
+ <Button
129
+ variant="ghost"
130
+ size="icon-2xs"
131
+ aria-label={copied() ? (local.copiedLabel ?? 'Copied') : (local.copyLabel ?? 'Copy code')}
132
+ title={failed() ? 'Copying is unavailable in this context' : undefined}
133
+ onClick={() => void copy()}
134
+ >
135
+ <Show when={copied()} fallback={<Copy aria-hidden="true" />}>
136
+ <Check aria-hidden="true" />
137
+ </Show>
138
+ </Button>
139
+ </div>
140
+ )
141
+
142
+ return (
143
+ <div
144
+ class={cn('group/code overflow-hidden rounded-xl border border-border bg-card', local.class)}
145
+ {...rest}
146
+ ref={(element) => {
147
+ // Composed rather than replaced: a caller's ref must survive.
148
+ if (typeof local.ref === 'function') local.ref(element)
149
+ else if (local.ref) local.ref = element
150
+ // Measured rather than assumed: the caller controls the content, so only
151
+ // the rendered box can say whether the action row has scrolled away.
152
+ const observer = new ResizeObserver(() => {
153
+ setTall(element.offsetHeight > (local.tallThreshold ?? TALL_CODE_BLOCK_PX))
154
+ })
155
+ observer.observe(element)
156
+ }}
157
+ >
158
+ <div class="flex items-center justify-between gap-2 px-3 py-1">
159
+ <span class="truncate font-mono text-xs text-muted-foreground">{label()}</span>
160
+ <Actions />
161
+ </div>
162
+ <div
163
+ class="scroll-fade overflow-x-auto"
164
+ // A region that scrolls must be focusable, and a tab stop needs a name.
165
+ tabindex="0"
166
+ role="region"
167
+ aria-label={regionLabel()}
168
+ >
169
+ <Show
170
+ when={local.highlight}
171
+ fallback={
172
+ <pre class="m-0 px-3 py-2" style={{ 'line-height': local.lineHeight ?? '1.5' }}>
173
+ <code class="font-mono text-xs">
174
+ <Show when={local.showLineNumbers} fallback={local.code.replace(/\n$/, '')}>
175
+ <For each={lines()}>
176
+ {(line, index) => (
177
+ <span class="grid grid-cols-[3ch_1fr] gap-3">
178
+ <span
179
+ class="text-right text-muted-foreground select-none"
180
+ aria-hidden="true"
181
+ >
182
+ {index() + 1}
183
+ </span>
184
+ <span>{line || ' '}</span>
185
+ </span>
186
+ )}
187
+ </For>
188
+ </Show>
189
+ </code>
190
+ </pre>
191
+ }
192
+ >
193
+ {(highlight) => <div class="px-3 py-2">{highlight()(local.code)}</div>}
194
+ </Show>
195
+ {/*
196
+ In the scroller's box, and a single line: the indicator must not add
197
+ height when it disappears, or a streaming block shifts everything below
198
+ it as it resolves.
199
+ */}
200
+ <Show when={!local.complete}>
201
+ <p class="px-3 pb-2 text-xs text-muted-foreground italic">Generating…</p>
202
+ </Show>
203
+ </div>
204
+ <Show when={tall()}>
205
+ <div
206
+ data-code-block-footer=""
207
+ class="flex items-center justify-end border-t border-transparent px-3 py-1 transition-colors group-focus-within/code:border-border group-hover/code:border-border"
208
+ >
209
+ <Actions />
210
+ </div>
211
+ </Show>
212
+ </div>
213
+ )
214
+ }
215
+
216
+ /**
217
+ * InlineCode.
218
+ *
219
+ * The `code` inside a sentence. It is a component rather than a class because it
220
+ * has to hold three properties at once: it must not break the line's rhythm
221
+ * (`font-size: 0.9em`, so it tracks the surrounding text), it must wrap rather
222
+ * than overflow a narrow column (`overflow-wrap: anywhere` — an identifier with
223
+ * no spaces is one long token), and it must be legible against whatever surface
224
+ * it lands on, which is why the fill is a token and not a fixed grey.
225
+ */
226
+ export function InlineCode(props: ComponentProps<'code'>) {
227
+ const [local, rest] = splitProps(props, ['class'])
228
+
229
+ return (
230
+ <code
231
+ class={cn(
232
+ 'rounded-sm bg-muted px-[0.4em] py-[0.15em] font-mono text-[0.9em] text-foreground [overflow-wrap:anywhere]',
233
+ local.class
234
+ )}
235
+ {...rest}
236
+ />
237
+ )
238
+ }
@@ -0,0 +1 @@
1
+ export { CodeBlock, InlineCode, TALL_CODE_BLOCK_PX, type CodeBlockProps } from './code-block'
@@ -0,0 +1,54 @@
1
+ import { Collapsible as KobalteCollapsible } from '@kobalte/core/collapsible'
2
+ import type { ComponentProps } from 'solid-js'
3
+ import { splitProps } from 'solid-js'
4
+ import { cn } from '#lib/utils'
5
+
6
+ /**
7
+ * Collapsible.
8
+ *
9
+ * One region that shows and hides. Accordion is this in a list; reach for
10
+ * Collapsible when there is exactly one, so a caller does not have to build a
11
+ * one-item accordion whose semantics say "list of one".
12
+ *
13
+ * The content animates its height rather than appearing, which is what keeps a
14
+ * disclosure from reading as a layout jump. Kobalte publishes the measured
15
+ * height as `--kb-collapsible-content-height`.
16
+ */
17
+ export function Collapsible(props: ComponentProps<typeof KobalteCollapsible>) {
18
+ const [local, rest] = splitProps(props, ['class'])
19
+ return <KobalteCollapsible class={cn('flex w-full flex-col', local.class)} {...rest} />
20
+ }
21
+
22
+ export function CollapsibleTrigger(props: ComponentProps<typeof KobalteCollapsible.Trigger>) {
23
+ const [local, rest] = splitProps(props, ['class'])
24
+
25
+ return (
26
+ <KobalteCollapsible.Trigger
27
+ class={cn(
28
+ 'flex items-center gap-1.5 text-sm font-medium',
29
+ 'transition-colors ease-out outline-none',
30
+ 'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-primary-subtle',
31
+ 'disabled:pointer-events-none disabled:opacity-50',
32
+ local.class
33
+ )}
34
+ {...rest}
35
+ />
36
+ )
37
+ }
38
+
39
+ export function CollapsibleContent(props: ComponentProps<typeof KobalteCollapsible.Content>) {
40
+ const [local, rest] = splitProps(props, ['class'])
41
+ return (
42
+ <KobalteCollapsible.Content
43
+ class={cn(
44
+ 'overflow-hidden',
45
+ /* Kobalte measures the content and exposes the height; the transition
46
+ reads it so the panel opens to its real size rather than a guess. */
47
+ 'data-[expanded]:animate-in data-[expanded]:fade-in-0 data-[expanded]:slide-in-from-top-1',
48
+ 'data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:slide-out-to-top-1',
49
+ local.class
50
+ )}
51
+ {...rest}
52
+ />
53
+ )
54
+ }
@@ -0,0 +1 @@
1
+ export { Collapsible, CollapsibleContent, CollapsibleTrigger } from './collapsible'
@@ -0,0 +1,142 @@
1
+ import { Combobox as KobalteCombobox } from '@kobalte/core/combobox'
2
+ import { Check, ChevronDown, X } from 'lucide-solid'
3
+ import type { ComponentProps } from 'solid-js'
4
+ import { Show, splitProps } from 'solid-js'
5
+ import { menuContentPadding, menuItem, popoverArrow } from '#lib/overlay'
6
+ import { cn } from '#lib/utils'
7
+
8
+ /**
9
+ * Combobox.
10
+ *
11
+ * A Select whose list is filterable by typing. The difference from Select is
12
+ * not cosmetic: a Combobox has a text input, so the user can narrow forty
13
+ * options to one without reading the list. Above roughly ten options the
14
+ * search is the feature; below it, a Select is quieter and a RadioGroup is
15
+ * better still.
16
+ *
17
+ * Kobalte supplies the filtering, the `aria-activedescendant` wiring, the
18
+ * keyboard selection and the multiple-selection mode, which is the part a
19
+ * hand-rolled version reliably gets wrong.
20
+ */
21
+ export function Combobox<Option, OptGroup = never>(
22
+ props: ComponentProps<typeof KobalteCombobox<Option, OptGroup>>
23
+ ) {
24
+ return <KobalteCombobox {...props} />
25
+ }
26
+
27
+ export function ComboboxControl(props: ComponentProps<typeof KobalteCombobox.Control>) {
28
+ const [local, rest] = splitProps(props, ['class'])
29
+
30
+ return (
31
+ <KobalteCombobox.Control
32
+ class={cn(
33
+ 'border-input bg-transparent flex h-control-md w-full items-center gap-1.5 rounded-md border px-control-sm',
34
+ 'transition-[color,box-shadow,border-color] ease-out',
35
+ 'focus-within:border-ring focus-within:ring-3 focus-within:ring-primary-subtle',
36
+ 'data-[invalid]:border-destructive data-[invalid]:ring-3 data-[invalid]:ring-destructive-subtle',
37
+ 'data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50',
38
+ local.class
39
+ )}
40
+ {...rest}
41
+ />
42
+ )
43
+ }
44
+
45
+ export function ComboboxInput(props: ComponentProps<typeof KobalteCombobox.Input>) {
46
+ const [local, rest] = splitProps(props, ['class'])
47
+
48
+ return (
49
+ <KobalteCombobox.Input
50
+ class={cn(
51
+ 'h-full flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground',
52
+ 'disabled:cursor-not-allowed',
53
+ local.class
54
+ )}
55
+ {...rest}
56
+ />
57
+ )
58
+ }
59
+
60
+ export function ComboboxTrigger(props: ComponentProps<typeof KobalteCombobox.Trigger>) {
61
+ const [local, rest] = splitProps(props, ['class', 'children'])
62
+
63
+ return (
64
+ <KobalteCombobox.Trigger
65
+ class={cn(
66
+ 'text-muted-foreground flex shrink-0 items-center justify-center rounded-sm outline-none',
67
+ 'transition-colors ease-out hover:text-foreground',
68
+ 'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-primary-subtle',
69
+ 'disabled:pointer-events-none disabled:opacity-50',
70
+ local.class
71
+ )}
72
+ {...rest}
73
+ >
74
+ {local.children}
75
+ <KobalteCombobox.Icon>
76
+ <ChevronDown class="size-4" />
77
+ </KobalteCombobox.Icon>
78
+ </KobalteCombobox.Trigger>
79
+ )
80
+ }
81
+
82
+ export function ComboboxContent(props: ComponentProps<typeof KobalteCombobox.Content>) {
83
+ const [local, rest] = splitProps(props, ['class', 'children'])
84
+
85
+ return (
86
+ <KobalteCombobox.Portal>
87
+ <KobalteCombobox.Content
88
+ class={cn(
89
+ 'bg-popover text-popover-foreground rounded-xl border border-border shadow-lg',
90
+ 'z-(--z-menu) max-h-72 min-w-(--kb-popper-anchor-width) origin-(--kb-combobox-content-transform-origin) overflow-hidden',
91
+ 'data-expanded:animate-in data-expanded:fade-in-0 data-expanded:zoom-in-95',
92
+ 'data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',
93
+ 'data-expanded:duration-150 data-closed:duration-100',
94
+ local.class
95
+ )}
96
+ {...rest}
97
+ >
98
+ <KobalteCombobox.Listbox class={cn('max-h-72 overflow-y-auto', menuContentPadding)} />
99
+ <KobalteCombobox.Arrow aria-hidden="true" class={popoverArrow} />
100
+ </KobalteCombobox.Content>
101
+ </KobalteCombobox.Portal>
102
+ )
103
+ }
104
+
105
+ export function ComboboxItem(props: ComponentProps<typeof KobalteCombobox.Item>) {
106
+ const [local, rest] = splitProps(props, ['class', 'children'])
107
+
108
+ return (
109
+ <KobalteCombobox.Item class={cn(menuItem, 'pe-8', local.class)} {...rest}>
110
+ <KobalteCombobox.ItemLabel>{local.children}</KobalteCombobox.ItemLabel>
111
+ <KobalteCombobox.ItemIndicator class="absolute end-2 flex size-4 items-center justify-center">
112
+ <Check class="size-4" />
113
+ </KobalteCombobox.ItemIndicator>
114
+ </KobalteCombobox.Item>
115
+ )
116
+ }
117
+
118
+ export function ComboboxSection(props: ComponentProps<typeof KobalteCombobox.Section>) {
119
+ const [local, rest] = splitProps(props, ['class'])
120
+ return <KobalteCombobox.Section class={cn('flex flex-col', local.class)} {...rest} />
121
+ }
122
+
123
+ /** The clear affordance for a single-select Combobox with a value. */
124
+ export function ComboboxClear(props: { class?: string; onClear: () => void }) {
125
+ return (
126
+ <Show when={props.onClear}>
127
+ <button
128
+ type="button"
129
+ aria-label="Clear selection"
130
+ onClick={() => props.onClear()}
131
+ class={cn(
132
+ 'text-muted-foreground flex size-4 shrink-0 items-center justify-center rounded-sm',
133
+ 'transition-colors ease-out outline-none hover:text-foreground',
134
+ 'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-primary-subtle',
135
+ props.class
136
+ )}
137
+ >
138
+ <X class="size-3.5" />
139
+ </button>
140
+ </Show>
141
+ )
142
+ }
@@ -0,0 +1,10 @@
1
+ export {
2
+ Combobox,
3
+ ComboboxClear,
4
+ ComboboxContent,
5
+ ComboboxControl,
6
+ ComboboxInput,
7
+ ComboboxItem,
8
+ ComboboxSection,
9
+ ComboboxTrigger,
10
+ } from './combobox'