@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,200 @@
1
+ import { cn } from "../../../lib/utils.js";
2
+ import { cva } from "../../../lib/variants.js";
3
+ import { className, createComponent, delegateEvents, effect, insert, setAttribute, template } from "solid-js/web";
4
+ import { For, Show, createMemo, createSignal, splitProps } from "solid-js";
5
+ //#region src/components/ui/board/board.tsx
6
+ var _tmpl$ = /*#__PURE__*/ template(`<div role=region tabindex=0><div class=visually-hidden role=status aria-live=polite>`);
7
+ var _tmpl$2 = /*#__PURE__*/ template(`<span class="text-2xs text-muted-foreground">`);
8
+ var _tmpl$3 = /*#__PURE__*/ template(`<p class="rounded-md border border-dashed border-border px-2 py-4 text-center text-2xs text-muted-foreground">`);
9
+ var _tmpl$4 = /*#__PURE__*/ template(`<section><header class="flex items-center justify-between gap-2 px-1 py-0.5"><h3 class="text-xs font-semibold text-foreground"></h3></header><div class="flex min-h-16 flex-col gap-2">`);
10
+ var _tmpl$5 = /*#__PURE__*/ template(`<article tabindex=0 aria-roledescription="Draggable card">`);
11
+ var _tmpl$6 = /*#__PURE__*/ template(`<h4>`);
12
+ var _tmpl$7 = /*#__PURE__*/ template(`<div>`);
13
+ var cardDragState = {
14
+ idle: "",
15
+ dragging: "opacity-40"
16
+ };
17
+ function Board(props) {
18
+ const [local] = splitProps(props, [
19
+ "columns",
20
+ "items",
21
+ "itemId",
22
+ "itemColumn",
23
+ "canDrop",
24
+ "onMove",
25
+ "children",
26
+ "emptyColumn",
27
+ "label",
28
+ "class"
29
+ ]);
30
+ const [dragging, setDragging] = createSignal(null);
31
+ const [overColumn, setOverColumn] = createSignal(null);
32
+ const [announcement, setAnnouncement] = createSignal("");
33
+ const byColumn = createMemo(() => {
34
+ const grouped = /* @__PURE__ */ new Map();
35
+ for (const column of local.columns) grouped.set(column.id, []);
36
+ for (const item of local.items) grouped.get(local.itemColumn(item))?.push(item);
37
+ return grouped;
38
+ });
39
+ const accepts = (column) => {
40
+ const item = dragging();
41
+ return Boolean(item && !column.disabled && local.canDrop(item, local.itemColumn(item), column.id));
42
+ };
43
+ const drop = (column) => {
44
+ const item = dragging();
45
+ const from = item ? local.itemColumn(item) : null;
46
+ setDragging(null);
47
+ setOverColumn(null);
48
+ if (!item || !from || from === column.id || !accepts(column)) return;
49
+ local.onMove({
50
+ itemId: local.itemId(item),
51
+ from,
52
+ to: column.id
53
+ });
54
+ };
55
+ /**
56
+ * Keyboard move. `Ctrl`/`Cmd` plus an arrow is the convention for "reorder this
57
+ * thing within its container" that does not collide with scrolling or with the
58
+ * text caret, and it is the same chord a browser tab or a spreadsheet uses.
59
+ */
60
+ const moveByKeyboard = (item, direction) => {
61
+ const from = local.itemColumn(item);
62
+ const index = local.columns.findIndex((column) => column.id === from);
63
+ const candidates = local.columns.slice(index + direction);
64
+ const target = (direction === 1 ? candidates : candidates.toReversed()).find((column) => !column.disabled && local.canDrop(item, from, column.id));
65
+ if (!target) {
66
+ setAnnouncement(`No column after ${from} accepts this item`);
67
+ return;
68
+ }
69
+ local.onMove({
70
+ itemId: local.itemId(item),
71
+ from,
72
+ to: target.id
73
+ });
74
+ setAnnouncement(`Moved to ${target.label}`);
75
+ };
76
+ return (() => {
77
+ var _el$ = _tmpl$(), _el$2 = _el$.firstChild;
78
+ insert(_el$, createComponent(For, {
79
+ get each() {
80
+ return local.columns;
81
+ },
82
+ children: (column) => {
83
+ const items = () => byColumn().get(column.id) ?? [];
84
+ return (() => {
85
+ var _el$3 = _tmpl$4(), _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild, _el$7 = _el$4.nextSibling;
86
+ _el$3.addEventListener("drop", (event) => {
87
+ event.preventDefault();
88
+ drop(column);
89
+ });
90
+ _el$3.addEventListener("dragleave", () => setOverColumn((current) => current === column.id ? null : current));
91
+ _el$3.addEventListener("dragover", (event) => {
92
+ setOverColumn(column.id);
93
+ if (accepts(column)) event.preventDefault();
94
+ });
95
+ insert(_el$5, () => column.label);
96
+ insert(_el$4, createComponent(Show, {
97
+ get when() {
98
+ return column.meta;
99
+ },
100
+ get children() {
101
+ var _el$6 = _tmpl$2();
102
+ insert(_el$6, () => column.meta);
103
+ return _el$6;
104
+ }
105
+ }), null);
106
+ insert(_el$7, createComponent(For, {
107
+ get each() {
108
+ return items();
109
+ },
110
+ children: (item) => {
111
+ const isDragging = () => {
112
+ const current = dragging();
113
+ return Boolean(current && local.itemId(current) === local.itemId(item));
114
+ };
115
+ return (() => {
116
+ var _el$9 = _tmpl$5();
117
+ _el$9.$$keydown = (event) => {
118
+ if (!(event.ctrlKey || event.metaKey)) return;
119
+ if (event.key !== "ArrowLeft" && event.key !== "ArrowRight") return;
120
+ event.preventDefault();
121
+ moveByKeyboard(item, event.key === "ArrowRight" ? 1 : -1);
122
+ };
123
+ _el$9.addEventListener("dragend", () => {
124
+ setDragging(null);
125
+ setOverColumn(null);
126
+ });
127
+ _el$9.addEventListener("dragstart", () => setDragging(() => item));
128
+ setAttribute(_el$9, "draggable", true);
129
+ insert(_el$9, () => local.children(item, { dragging: isDragging() }));
130
+ effect(() => className(_el$9, cn("rounded-md border border-border bg-card text-sm shadow-xs", cardDragState[isDragging() ? "dragging" : "idle"])));
131
+ return _el$9;
132
+ })();
133
+ }
134
+ }), null);
135
+ insert(_el$7, createComponent(Show, {
136
+ get when() {
137
+ return items().length === 0;
138
+ },
139
+ get children() {
140
+ var _el$8 = _tmpl$3();
141
+ insert(_el$8, () => local.emptyColumn?.(column) ?? "Nothing here");
142
+ return _el$8;
143
+ }
144
+ }), null);
145
+ effect((_p$) => {
146
+ var _v$3 = cn("flex w-72 shrink-0 flex-col gap-2 rounded-lg border border-border bg-muted/40 p-2", accepts(column) && "border-ring bg-muted", overColumn() === column.id && !accepts(column) && "border-dashed opacity-60", column.disabled && "opacity-50"), _v$4 = column.label;
147
+ _v$3 !== _p$.e && className(_el$3, _p$.e = _v$3);
148
+ _v$4 !== _p$.t && setAttribute(_el$3, "aria-label", _p$.t = _v$4);
149
+ return _p$;
150
+ }, {
151
+ e: void 0,
152
+ t: void 0
153
+ });
154
+ return _el$3;
155
+ })();
156
+ }
157
+ }), _el$2);
158
+ insert(_el$2, announcement);
159
+ effect((_p$) => {
160
+ var _v$ = cn("flex min-h-0 gap-4 overflow-x-auto pb-2", local.class), _v$2 = local.label ?? "Board";
161
+ _v$ !== _p$.e && className(_el$, _p$.e = _v$);
162
+ _v$2 !== _p$.t && setAttribute(_el$, "aria-label", _p$.t = _v$2);
163
+ return _p$;
164
+ }, {
165
+ e: void 0,
166
+ t: void 0
167
+ });
168
+ return _el$;
169
+ })();
170
+ }
171
+ var boardCardTitleVariants = cva("truncate font-medium text-foreground", {
172
+ variants: { size: {
173
+ sm: "text-xs",
174
+ md: "text-sm"
175
+ } },
176
+ defaultVariants: { size: "md" }
177
+ });
178
+ /** The card's title line, at the size a board card uses. */
179
+ function BoardCardTitle(props) {
180
+ return (() => {
181
+ var _el$0 = _tmpl$6();
182
+ insert(_el$0, () => props.children);
183
+ effect(() => className(_el$0, cn(boardCardTitleVariants({ size: props.size }), props.class)));
184
+ return _el$0;
185
+ })();
186
+ }
187
+ /** A card's padding, so every card in an application is the same shape. */
188
+ function BoardCardBody(props) {
189
+ return (() => {
190
+ var _el$1 = _tmpl$7();
191
+ insert(_el$1, () => props.children);
192
+ effect(() => className(_el$1, cn("grid gap-1.5 p-2.5", props.class)));
193
+ return _el$1;
194
+ })();
195
+ }
196
+ delegateEvents(["keydown"]);
197
+ //#endregion
198
+ export { Board, BoardCardBody, BoardCardTitle, boardCardTitleVariants };
199
+
200
+ //# sourceMappingURL=board.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"board.js","names":["createMemo","createSignal","For","Show","splitProps","JSX","cva","VariantProps","cn","BoardColumn","Readonly","id","label","meta","Element","disabled","BoardMove","itemId","from","to","BoardProps","columns","items","T","item","itemColumn","canDrop","onMove","move","children","state","dragging","emptyColumn","column","class","cardDragState","idle","const","Board","props","local","setDragging","overColumn","setOverColumn","announcement","setAnnouncement","byColumn","grouped","Map","set","get","push","accepts","Boolean","drop","moveByKeyboard","direction","index","findIndex","candidates","slice","ordered","toReversed","target","find","_el$","_tmpl$","_el$2","firstChild","_$insert","_$createComponent","each","_el$3","_tmpl$4","_el$4","_el$5","_el$7","nextSibling","addEventListener","event","preventDefault","current","when","_el$6","_tmpl$2","isDragging","_el$9","_tmpl$5","$$keydown","ctrlKey","metaKey","key","_$setAttribute","_$effect","_$className","length","_el$8","_tmpl$3","_p$","_v$3","_v$4","e","t","undefined","_v$","_v$2","boardCardTitleVariants","variants","size","sm","md","defaultVariants","BoardCardTitleProps","BoardCardTitle","_el$0","_tmpl$6","BoardCardBody","_el$1","_tmpl$7","_$delegateEvents","_$createComponent","_$className","_$setAttribute","_$delegateEvents"],"sources":["../../../../src/components/ui/board/board.tsx"],"sourcesContent":["import { createMemo, createSignal, For, Show, splitProps, type JSX } from 'solid-js'\nimport { cva, type VariantProps } from '#lib/variants'\nimport { cn } from '#lib/utils'\n\n/**\n * Board.\n *\n * Columns of cards, with drag between them — the shape a task tracker, a CRM\n * pipeline, a support queue and a release plan all share. It is generic in the\n * one place that matters: the *column ids are the caller's*, and so is the rule\n * that decides which moves are legal. The component knows nothing about tasks.\n *\n * The transitions are a predicate rather than a derived table because the legal\n * moves in a real product are not \"any column to any column\". A task that is\n * `completed` may be archived but not re-queued; a lead may become a customer but\n * not a stranger again. A board that let you drop anything anywhere would encode\n * a state machine in the UI that the server rejects — so `canDrop` is required,\n * and a column that cannot receive the dragged card renders as unavailable rather\n * than silently accepting a drop that will fail.\n *\n * Three input methods, because a drag-only board is unusable by keyboard:\n * dragging with the pointer, `Ctrl`/`Cmd` + arrow keys to move a focused card\n * between columns, and whatever the caller wires into `actions`. The card is\n * focusable and its move is announced through a live region, so the board is\n * operable without a mouse.\n *\n * The card is rendered by the caller through `children`, given the item and a set\n * of drag props. That is deliberate: a card's contents are domain — a title, a\n * priority tag, an assignee — and a board that rendered them itself could only\n * ever serve one product.\n */\n\nexport type BoardColumn = Readonly<{\n id: string\n label: string\n /** A count or a limit, shown beside the label. */\n meta?: JSX.Element\n /** Dim the column and refuse drops — a lane that is closed or read-only. */\n disabled?: boolean\n}>\n\nexport type BoardMove = Readonly<{\n itemId: string\n from: string\n to: string\n}>\n\nexport type BoardProps<T> = {\n columns: readonly BoardColumn[]\n items: readonly T[]\n /** The item's stable id. */\n itemId: (item: T) => string\n /** The id of the column the item currently sits in. */\n itemColumn: (item: T) => string\n /** Whether `item` may move from `from` to `to`. Required: see the note above. */\n canDrop: (item: T, from: string, to: string) => boolean\n onMove: (move: BoardMove) => void\n /** The card body. `dragging` is true while this card is the one being dragged. */\n children: (item: T, state: { dragging: boolean }) => JSX.Element\n /** Shown when a column has no items. */\n emptyColumn?: (column: BoardColumn) => JSX.Element\n /** The board's accessible name. Defaults to \"Board\". */\n label?: string\n class?: string\n}\n\nconst cardDragState = {\n idle: '',\n dragging: 'opacity-40',\n} as const\n\nexport function Board<T>(props: BoardProps<T>) {\n const [local] = splitProps(props, [\n 'columns',\n 'items',\n 'itemId',\n 'itemColumn',\n 'canDrop',\n 'onMove',\n 'children',\n 'emptyColumn',\n 'label',\n 'class',\n ])\n\n // The dragged item, not its id: `canDrop` takes the item itself, and the\n // pointer may leave the card before it is dropped.\n const [dragging, setDragging] = createSignal<T | null>(null)\n const [overColumn, setOverColumn] = createSignal<string | null>(null)\n const [announcement, setAnnouncement] = createSignal('')\n\n const byColumn = createMemo(() => {\n const grouped = new Map<string, T[]>()\n for (const column of local.columns) grouped.set(column.id, [])\n for (const item of local.items) grouped.get(local.itemColumn(item))?.push(item)\n return grouped\n })\n\n const accepts = (column: BoardColumn) => {\n const item = dragging()\n return Boolean(\n item && !column.disabled && local.canDrop(item, local.itemColumn(item), column.id)\n )\n }\n\n const drop = (column: BoardColumn) => {\n const item = dragging()\n const from = item ? local.itemColumn(item) : null\n setDragging(null)\n setOverColumn(null)\n if (!item || !from || from === column.id || !accepts(column)) return\n local.onMove({ itemId: local.itemId(item), from, to: column.id })\n }\n\n /**\n * Keyboard move. `Ctrl`/`Cmd` plus an arrow is the convention for \"reorder this\n * thing within its container\" that does not collide with scrolling or with the\n * text caret, and it is the same chord a browser tab or a spreadsheet uses.\n */\n const moveByKeyboard = (item: T, direction: -1 | 1) => {\n const from = local.itemColumn(item)\n const index = local.columns.findIndex((column) => column.id === from)\n const candidates = local.columns.slice(index + direction)\n const ordered = direction === 1 ? candidates : candidates.toReversed()\n const target = ordered.find(\n (column) => !column.disabled && local.canDrop(item, from, column.id)\n )\n if (!target) {\n setAnnouncement(`No column after ${from} accepts this item`)\n return\n }\n local.onMove({ itemId: local.itemId(item), from, to: target.id })\n setAnnouncement(`Moved to ${target.label}`)\n }\n\n return (\n /*\n `role=\"region\"` + `tabindex=\"0\"` because the board scrolls horizontally and a\n keyboard user has to be able to scroll it — axe's `scrollable-region-focusable`.\n It is not enough that the cards are focusable: a board with empty columns, or\n with more columns than fit, has nothing focusable to scroll from.\n */\n <div\n class={cn('flex min-h-0 gap-4 overflow-x-auto pb-2', local.class)}\n role=\"region\"\n aria-label={local.label ?? 'Board'}\n tabindex=\"0\"\n >\n <For each={local.columns}>\n {(column) => {\n const items = () => byColumn().get(column.id) ?? []\n return (\n <section\n class={cn(\n 'flex w-72 shrink-0 flex-col gap-2 rounded-lg border border-border bg-muted/40 p-2',\n accepts(column) && 'border-ring bg-muted',\n overColumn() === column.id && !accepts(column) && 'border-dashed opacity-60',\n column.disabled && 'opacity-50'\n )}\n aria-label={column.label}\n onDragOver={(event) => {\n setOverColumn(column.id)\n if (accepts(column)) event.preventDefault()\n }}\n onDragLeave={() =>\n setOverColumn((current) => (current === column.id ? null : current))\n }\n onDrop={(event) => {\n event.preventDefault()\n drop(column)\n }}\n >\n <header class=\"flex items-center justify-between gap-2 px-1 py-0.5\">\n <h3 class=\"text-xs font-semibold text-foreground\">{column.label}</h3>\n <Show when={column.meta}>\n <span class=\"text-2xs text-muted-foreground\">{column.meta}</span>\n </Show>\n </header>\n <div class=\"flex min-h-16 flex-col gap-2\">\n <For each={items()}>\n {(item) => {\n const isDragging = () => {\n const current = dragging()\n return Boolean(current && local.itemId(current) === local.itemId(item))\n }\n return (\n <article\n class={cn(\n 'rounded-md border border-border bg-card text-sm shadow-xs',\n cardDragState[isDragging() ? 'dragging' : 'idle']\n )}\n // A board card is a control that can be moved, so it is\n // focusable and carries the chord it responds to.\n tabindex=\"0\"\n aria-roledescription=\"Draggable card\"\n draggable={true}\n onDragStart={() => setDragging(() => item)}\n onDragEnd={() => {\n setDragging(null)\n setOverColumn(null)\n }}\n onKeyDown={(event) => {\n if (!(event.ctrlKey || event.metaKey)) return\n if (event.key !== 'ArrowLeft' && event.key !== 'ArrowRight') return\n event.preventDefault()\n moveByKeyboard(item, event.key === 'ArrowRight' ? 1 : -1)\n }}\n >\n {local.children(item, { dragging: isDragging() })}\n </article>\n )\n }}\n </For>\n <Show when={items().length === 0}>\n <p class=\"rounded-md border border-dashed border-border px-2 py-4 text-center text-2xs text-muted-foreground\">\n {local.emptyColumn?.(column) ?? 'Nothing here'}\n </p>\n </Show>\n </div>\n </section>\n )\n }}\n </For>\n {/*\n The keyboard move's result, announced. A drag speaks for itself — the card\n visibly moves — while a keyboard move happens with the focus elsewhere.\n */}\n <div class=\"visually-hidden\" role=\"status\" aria-live=\"polite\">\n {announcement()}\n </div>\n </div>\n )\n}\n\nexport const boardCardTitleVariants = cva('truncate font-medium text-foreground', {\n variants: { size: { sm: 'text-xs', md: 'text-sm' } },\n defaultVariants: { size: 'md' },\n})\n\nexport type BoardCardTitleProps = { class?: string; children: JSX.Element } & VariantProps<\n typeof boardCardTitleVariants\n>\n\n/** The card's title line, at the size a board card uses. */\nexport function BoardCardTitle(props: BoardCardTitleProps) {\n return (\n <h4 class={cn(boardCardTitleVariants({ size: props.size }), props.class)}>{props.children}</h4>\n )\n}\n\n/** A card's padding, so every card in an application is the same shape. */\nexport function BoardCardBody(props: { class?: string; children: JSX.Element }) {\n return <div class={cn('grid gap-1.5 p-2.5', props.class)}>{props.children}</div>\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { Board, BoardCardBody, BoardCardTitle, boardCardTitleVariants, type BoardCardTitleProps, type BoardColumn, type BoardMove, type BoardProps, } from './board';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/board/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,SAAS,CAAA"}
@@ -0,0 +1,24 @@
1
+ import type { ComponentProps } from 'solid-js';
2
+ /**
3
+ * Breadcrumb.
4
+ *
5
+ * The path to the current view, in a real `<nav>` wrapping an ordered list so
6
+ * the structure is announced rather than read as loose text. The final crumb is
7
+ * the current page and is marked `aria-current="page"` instead of being a link
8
+ * to itself.
9
+ *
10
+ * A long path collapses from the middle: the root says where the user started
11
+ * and the last crumbs say what they are looking at, so those are the parts that
12
+ * have to survive.
13
+ */
14
+ export declare function Breadcrumb(props: ComponentProps<'nav'>): import("solid-js").JSX.Element;
15
+ export declare function BreadcrumbList(props: ComponentProps<'ol'>): import("solid-js").JSX.Element;
16
+ export declare function BreadcrumbItem(props: ComponentProps<'li'>): import("solid-js").JSX.Element;
17
+ export type BreadcrumbLinkProps = ComponentProps<'a'> & {
18
+ /** Render as the current page rather than as a link. */
19
+ current?: boolean;
20
+ };
21
+ export declare function BreadcrumbLink(props: BreadcrumbLinkProps): import("solid-js").JSX.Element;
22
+ export declare function BreadcrumbSeparator(props: ComponentProps<'li'>): import("solid-js").JSX.Element;
23
+ export declare function BreadcrumbEllipsis(props: ComponentProps<'span'>): import("solid-js").JSX.Element;
24
+ //# sourceMappingURL=breadcrumb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/breadcrumb/breadcrumb.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAI9C;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,kCAWtD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,kCASzD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,kCASzD;AAED,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG;IACtD,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,kCA0BxD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,kCAc9D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,kCAe/D"}
@@ -0,0 +1,109 @@
1
+ import { cn } from "../../../lib/utils.js";
2
+ import { createComponent, insert, mergeProps, spread, template } from "solid-js/web";
3
+ import { ChevronRight, MoreHorizontal } from "lucide-solid";
4
+ import { Show, splitProps } from "solid-js";
5
+ //#region src/components/ui/breadcrumb/breadcrumb.tsx
6
+ var _tmpl$ = /*#__PURE__*/ template(`<nav data-slot=breadcrumb>`);
7
+ var _tmpl$2 = /*#__PURE__*/ template(`<ol data-slot=breadcrumb-list>`);
8
+ var _tmpl$3 = /*#__PURE__*/ template(`<li data-slot=breadcrumb-item>`);
9
+ var _tmpl$4 = /*#__PURE__*/ template(`<a data-slot=breadcrumb-link>`);
10
+ var _tmpl$5 = /*#__PURE__*/ template(`<span data-slot=breadcrumb-page aria-current=page>`);
11
+ var _tmpl$6 = /*#__PURE__*/ template(`<li data-slot=breadcrumb-separator role=presentation aria-hidden=true>`);
12
+ var _tmpl$7 = /*#__PURE__*/ template(`<span data-slot=breadcrumb-ellipsis role=presentation aria-hidden=true><span class=visually-hidden>More`);
13
+ /**
14
+ * Breadcrumb.
15
+ *
16
+ * The path to the current view, in a real `<nav>` wrapping an ordered list so
17
+ * the structure is announced rather than read as loose text. The final crumb is
18
+ * the current page and is marked `aria-current="page"` instead of being a link
19
+ * to itself.
20
+ *
21
+ * A long path collapses from the middle: the root says where the user started
22
+ * and the last crumbs say what they are looking at, so those are the parts that
23
+ * have to survive.
24
+ */
25
+ function Breadcrumb(props) {
26
+ const [local, rest] = splitProps(props, ["class", "aria-label"]);
27
+ return (() => {
28
+ var _el$ = _tmpl$();
29
+ spread(_el$, mergeProps({
30
+ get ["aria-label"]() {
31
+ return local["aria-label"] ?? "Breadcrumb";
32
+ },
33
+ get ["class"]() {
34
+ return cn("text-muted-foreground", local.class);
35
+ }
36
+ }, rest), false, false);
37
+ return _el$;
38
+ })();
39
+ }
40
+ function BreadcrumbList(props) {
41
+ const [local, rest] = splitProps(props, ["class"]);
42
+ return (() => {
43
+ var _el$2 = _tmpl$2();
44
+ spread(_el$2, mergeProps({ get ["class"]() {
45
+ return cn("flex flex-wrap items-center gap-1.5 text-sm break-words", local.class);
46
+ } }, rest), false, false);
47
+ return _el$2;
48
+ })();
49
+ }
50
+ function BreadcrumbItem(props) {
51
+ const [local, rest] = splitProps(props, ["class"]);
52
+ return (() => {
53
+ var _el$3 = _tmpl$3();
54
+ spread(_el$3, mergeProps({ get ["class"]() {
55
+ return cn("inline-flex items-center gap-1.5", local.class);
56
+ } }, rest), false, false);
57
+ return _el$3;
58
+ })();
59
+ }
60
+ function BreadcrumbLink(props) {
61
+ const [local, rest] = splitProps(props, ["class", "current"]);
62
+ return createComponent(Show, {
63
+ get when() {
64
+ return !local.current;
65
+ },
66
+ get fallback() {
67
+ return (() => {
68
+ var _el$5 = _tmpl$5();
69
+ spread(_el$5, mergeProps({ get ["class"]() {
70
+ return cn("font-medium text-foreground", local.class);
71
+ } }, rest), false, false);
72
+ return _el$5;
73
+ })();
74
+ },
75
+ get children() {
76
+ var _el$4 = _tmpl$4();
77
+ spread(_el$4, mergeProps({ get ["class"]() {
78
+ return cn("rounded-sm transition-colors ease-out outline-none hover:text-foreground", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-primary-subtle", local.class);
79
+ } }, rest), false, false);
80
+ return _el$4;
81
+ }
82
+ });
83
+ }
84
+ function BreadcrumbSeparator(props) {
85
+ const [local, rest] = splitProps(props, ["class", "children"]);
86
+ return (() => {
87
+ var _el$6 = _tmpl$6();
88
+ spread(_el$6, mergeProps({ get ["class"]() {
89
+ return cn("[&_svg]:size-3.5", local.class);
90
+ } }, rest), false, true);
91
+ insert(_el$6, () => local.children ?? createComponent(ChevronRight, {}));
92
+ return _el$6;
93
+ })();
94
+ }
95
+ function BreadcrumbEllipsis(props) {
96
+ const [local, rest] = splitProps(props, ["class"]);
97
+ return (() => {
98
+ var _el$7 = _tmpl$7(), _el$8 = _el$7.firstChild;
99
+ spread(_el$7, mergeProps({ get ["class"]() {
100
+ return cn("flex size-6 items-center justify-center", local.class);
101
+ } }, rest), false, true);
102
+ insert(_el$7, createComponent(MoreHorizontal, { "class": "size-4" }), _el$8);
103
+ return _el$7;
104
+ })();
105
+ }
106
+ //#endregion
107
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbSeparator };
108
+
109
+ //# sourceMappingURL=breadcrumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.js","names":["ChevronRight","MoreHorizontal","ComponentProps","Show","splitProps","cn","Breadcrumb","props","local","rest","_el$","_tmpl$","_$spread","_$mergeProps","aria-label","class","BreadcrumbList","_el$2","_tmpl$2","BreadcrumbItem","_el$3","_tmpl$3","BreadcrumbLinkProps","current","BreadcrumbLink","_$createComponent","when","fallback","_el$5","_tmpl$5","children","_el$4","_tmpl$4","BreadcrumbSeparator","_el$6","_tmpl$6","_$insert","BreadcrumbEllipsis","_el$7","_tmpl$7","_el$8","firstChild","_$mergeProps","_$createComponent"],"sources":["../../../../src/components/ui/breadcrumb/breadcrumb.tsx"],"sourcesContent":["import { ChevronRight, MoreHorizontal } from 'lucide-solid'\nimport type { ComponentProps } from 'solid-js'\nimport { Show, splitProps } from 'solid-js'\nimport { cn } from '#lib/utils'\n\n/**\n * Breadcrumb.\n *\n * The path to the current view, in a real `<nav>` wrapping an ordered list so\n * the structure is announced rather than read as loose text. The final crumb is\n * the current page and is marked `aria-current=\"page\"` instead of being a link\n * to itself.\n *\n * A long path collapses from the middle: the root says where the user started\n * and the last crumbs say what they are looking at, so those are the parts that\n * have to survive.\n */\nexport function Breadcrumb(props: ComponentProps<'nav'>) {\n const [local, rest] = splitProps(props, ['class', 'aria-label'])\n\n return (\n <nav\n data-slot=\"breadcrumb\"\n aria-label={local['aria-label'] ?? 'Breadcrumb'}\n class={cn('text-muted-foreground', local.class)}\n {...rest}\n />\n )\n}\n\nexport function BreadcrumbList(props: ComponentProps<'ol'>) {\n const [local, rest] = splitProps(props, ['class'])\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n class={cn('flex flex-wrap items-center gap-1.5 text-sm break-words', local.class)}\n {...rest}\n />\n )\n}\n\nexport function BreadcrumbItem(props: ComponentProps<'li'>) {\n const [local, rest] = splitProps(props, ['class'])\n return (\n <li\n data-slot=\"breadcrumb-item\"\n class={cn('inline-flex items-center gap-1.5', local.class)}\n {...rest}\n />\n )\n}\n\nexport type BreadcrumbLinkProps = ComponentProps<'a'> & {\n /** Render as the current page rather than as a link. */\n current?: boolean\n}\n\nexport function BreadcrumbLink(props: BreadcrumbLinkProps) {\n const [local, rest] = splitProps(props, ['class', 'current'])\n\n return (\n <Show\n when={!local.current}\n fallback={\n <span\n data-slot=\"breadcrumb-page\"\n aria-current=\"page\"\n class={cn('font-medium text-foreground', local.class)}\n {...(rest as ComponentProps<'span'>)}\n />\n }\n >\n <a\n data-slot=\"breadcrumb-link\"\n class={cn(\n 'rounded-sm transition-colors ease-out outline-none hover:text-foreground',\n 'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-primary-subtle',\n local.class\n )}\n {...rest}\n />\n </Show>\n )\n}\n\nexport function BreadcrumbSeparator(props: ComponentProps<'li'>) {\n const [local, rest] = splitProps(props, ['class', 'children'])\n\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n class={cn('[&_svg]:size-3.5', local.class)}\n {...rest}\n >\n {local.children ?? <ChevronRight />}\n </li>\n )\n}\n\nexport function BreadcrumbEllipsis(props: ComponentProps<'span'>) {\n const [local, rest] = splitProps(props, ['class'])\n\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n class={cn('flex size-6 items-center justify-center', local.class)}\n {...rest}\n >\n <MoreHorizontal class=\"size-4\" />\n <span class=\"visually-hidden\">More</span>\n </span>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAiBA,SAAgBM,WAAWC,OAA8B;CACvD,MAAM,CAACC,OAAOC,QAAQL,WAAWG,OAAO,CAAC,SAAS,YAAY,CAAC;CAE/D,cAAA;EAAA,IAAAG,OAAAC,OAAA;EAAAC,OAAAF,MAAAG,WAAA;GAAA,KAAA,gBAAA;IAAA,OAGgBL,MAAM,iBAAiB;GAAY;GAAA,KAAA,WAAA;IAAA,OACxCH,GAAG,yBAAyBG,MAAMO,KAAK;GAAC;EAAA,GAC3CN,IAAI,GAAA,OAAA,KAAA;EAAA,OAAAC;CAAA,EAAA,CAAA;AAGd;AAEA,SAAgBM,eAAeT,OAA6B;CAC1D,MAAM,CAACC,OAAOC,QAAQL,WAAWG,OAAO,CAAC,OAAO,CAAC;CACjD,cAAA;EAAA,IAAAU,QAAAC,QAAA;EAAAN,OAAAK,OAAAJ,WAAA,EAAA,KAAA,WAAA;GAAA,OAGWR,GAAG,2DAA2DG,MAAMO,KAAK;EAAC,EAAA,GAC7EN,IAAI,GAAA,OAAA,KAAA;EAAA,OAAAQ;CAAA,EAAA,CAAA;AAGd;AAEA,SAAgBE,eAAeZ,OAA6B;CAC1D,MAAM,CAACC,OAAOC,QAAQL,WAAWG,OAAO,CAAC,OAAO,CAAC;CACjD,cAAA;EAAA,IAAAa,QAAAC,QAAA;EAAAT,OAAAQ,OAAAP,WAAA,EAAA,KAAA,WAAA;GAAA,OAGWR,GAAG,oCAAoCG,MAAMO,KAAK;EAAC,EAAA,GACtDN,IAAI,GAAA,OAAA,KAAA;EAAA,OAAAW;CAAA,EAAA,CAAA;AAGd;AAOA,SAAgBI,eAAejB,OAA4B;CACzD,MAAM,CAACC,OAAOC,QAAQL,WAAWG,OAAO,CAAC,SAAS,SAAS,CAAC;CAE5D,OAAAkB,gBACGtB,MAAI;EAAA,IACHuB,OAAI;GAAA,OAAE,CAAClB,MAAMe;EAAO;EAAA,IACpBI,WAAQ;GAAA,cAAA;IAAA,IAAAC,QAAAC,QAAA;IAAAjB,OAAAgB,OAAAf,WAAA,EAAA,KAAA,WAAA;KAAA,OAIGR,GAAG,+BAA+BG,MAAMO,KAAK;IAAC,EAAA,GAChDN,IAA8B,GAAA,OAAA,KAAA;IAAA,OAAAmB;GAAA,EAAA,CAAA;EAAA;EAAA,IAAAE,WAAA;GAAA,IAAAC,QAAAC,QAAA;GAAApB,OAAAmB,OAAAlB,WAAA,EAAA,KAAA,WAAA;IAAA,OAM9BR,GACL,4EACA,oFACAG,MAAMO,KACR;GAAC,EAAA,GACGN,IAAI,GAAA,OAAA,KAAA;GAAA,OAAAsB;EAAA;CAAA,CAAA;AAIhB;AAEA,SAAgBE,oBAAoB1B,OAA6B;CAC/D,MAAM,CAACC,OAAOC,QAAQL,WAAWG,OAAO,CAAC,SAAS,UAAU,CAAC;CAE7D,cAAA;EAAA,IAAA2B,QAAAC,QAAA;EAAAvB,OAAAsB,OAAArB,WAAA,EAAA,KAAA,WAAA;GAAA,OAKWR,GAAG,oBAAoBG,MAAMO,KAAK;EAAC,EAAA,GACtCN,IAAI,GAAA,OAAA,IAAA;EAAA2B,OAAAF,aAEP1B,MAAMsB,YAAQL,gBAAKzB,cAAY,CAAA,CAAA,CAAG;EAAA,OAAAkC;CAAA,EAAA,CAAA;AAGzC;AAEA,SAAgBG,mBAAmB9B,OAA+B;CAChE,MAAM,CAACC,OAAOC,QAAQL,WAAWG,OAAO,CAAC,OAAO,CAAC;CAEjD,cAAA;EAAA,IAAA+B,QAAAC,QAAA,GAAAC,QAAAF,MAAAG;EAAA7B,OAAA0B,OAAAzB,WAAA,EAAA,KAAA,WAAA;GAAA,OAKWR,GAAG,2CAA2CG,MAAMO,KAAK;EAAC,EAAA,GAC7DN,IAAI,GAAA,OAAA,IAAA;EAAA2B,OAAAE,OAAAb,gBAEPxB,gBAAc,EAAA,SAAA,SAAA,CAAA,GAAAuC,KAAA;EAAA,OAAAF;CAAA,EAAA,CAAA;AAIrB"}
@@ -0,0 +1,2 @@
1
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbSeparator, type BreadcrumbLinkProps, } from './breadcrumb';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/breadcrumb/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAA"}
@@ -0,0 +1,30 @@
1
+ import { type PolymorphicProps } from '@kobalte/core/polymorphic';
2
+ import { type ValidComponent } from 'solid-js';
3
+ import { type VariantProps } from '#lib/variants';
4
+ /**
5
+ * Button.
6
+ *
7
+ * One appearance ladder shared by every pressable thing in the system: a
8
+ * button, a toolbar control, a dialog action, and a menu row all draw from the
9
+ * same tokens, so a row of them cannot drift apart.
10
+ *
11
+ * The variants answer "what is this for", never "what colour is it". A caller
12
+ * that wants a red button writes `variant="destructive"`; the red lives here.
13
+ * That is also what lets the design-system linter tell a caller which variant
14
+ * to use instead of only which class was wrong.
15
+ *
16
+ * Polymorphic: pass `as="a"` (or any component) and the button becomes it
17
+ * while keeping the same styling contract. This replaces the React-era
18
+ * `asChild` primitive, which has no Solid equivalent that preserves props.
19
+ */
20
+ export declare const buttonVariants: (props?: ({
21
+ variant?: "link" | "default" | "destructive" | "success" | "secondary" | "outline" | "subtle" | "ghost" | null | undefined;
22
+ size?: "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "icon-2xs" | "icon-xs" | "icon-sm" | "icon-md" | "icon-lg" | "icon-xl" | null | undefined;
23
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
24
+ type ButtonVariantProps = VariantProps<typeof buttonVariants>;
25
+ export type ButtonProps<T extends ValidComponent = 'button'> = PolymorphicProps<T, ButtonVariantProps & {
26
+ class?: string;
27
+ }>;
28
+ export declare function Button<T extends ValidComponent = 'button'>(props: ButtonProps<T>): import("solid-js").JSX.Element;
29
+ export {};
30
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/button/button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,EAAmC,KAAK,cAAc,EAAE,MAAM,UAAU,CAAA;AAC/E,OAAO,EAAwC,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AAGvF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc;;;8EA6C1B,CAAA;AAED,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAA;AAE7D,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,cAAc,GAAG,QAAQ,IAAI,gBAAgB,CAC7E,CAAC,EACD,kBAAkB,GAAG;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CACF,CAAA;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS,cAAc,GAAG,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,kCAWhF"}
@@ -0,0 +1,80 @@
1
+ import { cn } from "../../../lib/utils.js";
2
+ import { controlInteractive, controlSize, cva } from "../../../lib/variants.js";
3
+ import { createComponent, mergeProps } from "solid-js/web";
4
+ import { splitProps } from "solid-js";
5
+ import { Polymorphic } from "@kobalte/core/polymorphic";
6
+ //#region src/components/ui/button/button.tsx
7
+ /**
8
+ * Button.
9
+ *
10
+ * One appearance ladder shared by every pressable thing in the system: a
11
+ * button, a toolbar control, a dialog action, and a menu row all draw from the
12
+ * same tokens, so a row of them cannot drift apart.
13
+ *
14
+ * The variants answer "what is this for", never "what colour is it". A caller
15
+ * that wants a red button writes `variant="destructive"`; the red lives here.
16
+ * That is also what lets the design-system linter tell a caller which variant
17
+ * to use instead of only which class was wrong.
18
+ *
19
+ * Polymorphic: pass `as="a"` (or any component) and the button becomes it
20
+ * while keeping the same styling contract. This replaces the React-era
21
+ * `asChild` primitive, which has no Solid equivalent that preserves props.
22
+ */
23
+ var buttonVariants = cva(`${controlInteractive} inline-flex shrink-0 items-center justify-center rounded-md font-medium whitespace-nowrap select-none [&_svg]:pointer-events-none [&_svg]:shrink-0`, {
24
+ variants: {
25
+ variant: {
26
+ /** The one primary action in a view. */
27
+ default: "bg-primary text-primary-foreground hover:bg-primary-hover",
28
+ secondary: "bg-secondary text-secondary-foreground hover:bg-surface-hover",
29
+ /** For the action that destroys something. Never the default. */
30
+ destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive-subtle",
31
+ /** A bordered button for a surface that already has a fill. */
32
+ outline: "border border-border bg-transparent text-foreground hover:bg-surface-hover hover:border-input",
33
+ /** No chrome until hover. The default for toolbar and row actions. */
34
+ ghost: "text-foreground hover:bg-surface-hover",
35
+ /** A tinted primary, for a secondary action inside a primary flow. */
36
+ subtle: "bg-primary-subtle text-primary hover:bg-primary-subtle/80",
37
+ success: "bg-success text-success-foreground hover:bg-success/90",
38
+ link: "text-primary underline-offset-4 hover:underline"
39
+ },
40
+ size: {
41
+ "2xs": `${controlSize["2xs"]} [&_svg]:size-3`,
42
+ xs: `${controlSize.xs} [&_svg]:size-3.5`,
43
+ sm: `${controlSize.sm} [&_svg]:size-3.5`,
44
+ md: `${controlSize.md} [&_svg]:size-4`,
45
+ lg: `${controlSize.lg} [&_svg]:size-4`,
46
+ xl: `${controlSize.xl} [&_svg]:size-5`,
47
+ "icon-2xs": "size-control-2xs p-0 [&_svg]:size-3",
48
+ "icon-xs": "size-control-xs p-0 [&_svg]:size-3.5",
49
+ "icon-sm": "size-control-sm p-0 [&_svg]:size-3.5",
50
+ "icon-md": "size-control-md p-0 [&_svg]:size-4",
51
+ "icon-lg": "size-control-lg p-0 [&_svg]:size-4",
52
+ "icon-xl": "size-control-xl p-0 [&_svg]:size-5"
53
+ }
54
+ },
55
+ defaultVariants: {
56
+ variant: "default",
57
+ size: "md"
58
+ }
59
+ });
60
+ function Button(props) {
61
+ const [local, rest] = splitProps(props, [
62
+ "variant",
63
+ "size",
64
+ "class"
65
+ ]);
66
+ return createComponent(Polymorphic, mergeProps({
67
+ as: "button",
68
+ type: "button",
69
+ get ["class"]() {
70
+ return cn(buttonVariants({
71
+ variant: local.variant,
72
+ size: local.size
73
+ }), local.class);
74
+ }
75
+ }, rest));
76
+ }
77
+ //#endregion
78
+ export { Button, buttonVariants };
79
+
80
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","names":["Polymorphic","PolymorphicProps","ComponentProps","splitProps","ValidComponent","cva","controlInteractive","controlSize","VariantProps","cn","buttonVariants","variants","variant","default","secondary","destructive","outline","ghost","subtle","success","link","size","xs","sm","md","lg","xl","defaultVariants","ButtonVariantProps","ButtonProps","T","class","Button","props","local","rest","_$createComponent","_$mergeProps","as","type","_$createComponent","_$mergeProps"],"sources":["../../../../src/components/ui/button/button.tsx"],"sourcesContent":["import { Polymorphic, type PolymorphicProps } from '@kobalte/core/polymorphic'\nimport { type ComponentProps, splitProps, type ValidComponent } from 'solid-js'\nimport { cva, controlInteractive, controlSize, type VariantProps } from '#lib/variants'\nimport { cn } from '#lib/utils'\n\n/**\n * Button.\n *\n * One appearance ladder shared by every pressable thing in the system: a\n * button, a toolbar control, a dialog action, and a menu row all draw from the\n * same tokens, so a row of them cannot drift apart.\n *\n * The variants answer \"what is this for\", never \"what colour is it\". A caller\n * that wants a red button writes `variant=\"destructive\"`; the red lives here.\n * That is also what lets the design-system linter tell a caller which variant\n * to use instead of only which class was wrong.\n *\n * Polymorphic: pass `as=\"a\"` (or any component) and the button becomes it\n * while keeping the same styling contract. This replaces the React-era\n * `asChild` primitive, which has no Solid equivalent that preserves props.\n */\nexport const buttonVariants = cva(\n `${controlInteractive} inline-flex shrink-0 items-center justify-center rounded-md font-medium whitespace-nowrap select-none [&_svg]:pointer-events-none [&_svg]:shrink-0`,\n {\n variants: {\n variant: {\n /** The one primary action in a view. */\n default: 'bg-primary text-primary-foreground hover:bg-primary-hover',\n secondary: 'bg-secondary text-secondary-foreground hover:bg-surface-hover',\n /** For the action that destroys something. Never the default. */\n destructive:\n 'bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive-subtle',\n /** A bordered button for a surface that already has a fill. */\n outline:\n 'border border-border bg-transparent text-foreground hover:bg-surface-hover hover:border-input',\n /** No chrome until hover. The default for toolbar and row actions. */\n ghost: 'text-foreground hover:bg-surface-hover',\n /** A tinted primary, for a secondary action inside a primary flow. */\n subtle: 'bg-primary-subtle text-primary hover:bg-primary-subtle/80',\n success: 'bg-success text-success-foreground hover:bg-success/90',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n '2xs': `${controlSize['2xs']} [&_svg]:size-3`,\n xs: `${controlSize.xs} [&_svg]:size-3.5`,\n sm: `${controlSize.sm} [&_svg]:size-3.5`,\n md: `${controlSize.md} [&_svg]:size-4`,\n lg: `${controlSize.lg} [&_svg]:size-4`,\n xl: `${controlSize.xl} [&_svg]:size-5`,\n /* Square, for an icon with no label. The accessible name then has to\n come from `aria-label` or a visually hidden label — an icon-only\n button with neither is the accessibility finding the Storybook lane\n catches on every story. */\n 'icon-2xs': 'size-control-2xs p-0 [&_svg]:size-3',\n 'icon-xs': 'size-control-xs p-0 [&_svg]:size-3.5',\n 'icon-sm': 'size-control-sm p-0 [&_svg]:size-3.5',\n 'icon-md': 'size-control-md p-0 [&_svg]:size-4',\n 'icon-lg': 'size-control-lg p-0 [&_svg]:size-4',\n 'icon-xl': 'size-control-xl p-0 [&_svg]:size-5',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n }\n)\n\ntype ButtonVariantProps = VariantProps<typeof buttonVariants>\n\nexport type ButtonProps<T extends ValidComponent = 'button'> = PolymorphicProps<\n T,\n ButtonVariantProps & {\n class?: string\n }\n>\n\nexport function Button<T extends ValidComponent = 'button'>(props: ButtonProps<T>) {\n const [local, rest] = splitProps(props as ButtonProps, ['variant', 'size', 'class'])\n\n return (\n <Polymorphic\n as=\"button\"\n type=\"button\"\n class={cn(buttonVariants({ variant: local.variant, size: local.size }), local.class)}\n {...(rest as ComponentProps<'button'>)}\n />\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAqBA,IAAaU,iBAAiBL,IAC5B,GAAGC,mBAAkB,sJACrB;CACEK,UAAU;EACRC,SAAS;;GAEPC,SAAS;GACTC,WAAW;;GAEXC,aACE;;GAEFC,SACE;;GAEFC,OAAO;;GAEPC,QAAQ;GACRC,SAAS;GACTC,MAAM;EACR;EACAC,MAAM;GACJ,OAAO,GAAGd,YAAY,OAAM;GAC5Be,IAAI,GAAGf,YAAYe,GAAE;GACrBC,IAAI,GAAGhB,YAAYgB,GAAE;GACrBC,IAAI,GAAGjB,YAAYiB,GAAE;GACrBC,IAAI,GAAGlB,YAAYkB,GAAE;GACrBC,IAAI,GAAGnB,YAAYmB,GAAE;GAKrB,YAAY;GACZ,WAAW;GACX,WAAW;GACX,WAAW;GACX,WAAW;GACX,WAAW;EACb;CACF;CACAC,iBAAiB;EACff,SAAS;EACTS,MAAM;CACR;AACF,CACF;AAWA,SAAgBW,OAA4CC,OAAuB;CACjF,MAAM,CAACC,OAAOC,QAAQhC,WAAW8B,OAAsB;EAAC;EAAW;EAAQ;CAAO,CAAC;CAEnF,OAAAG,gBACGpC,aAAWqC,WAAA;EACVC,IAAE;EACFC,MAAI;EAAA,KAAA,WAAA;GAAA,OACG9B,GAAGC,eAAe;IAAEE,SAASsB,MAAMtB;IAASS,MAAMa,MAAMb;GAAK,CAAC,GAAGa,MAAMH,KAAK;EAAC;CAAA,GAC/EI,IAAgC,CAAA;AAG3C"}
@@ -0,0 +1,2 @@
1
+ export { Button, buttonVariants, type ButtonProps } from './button';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,39 @@
1
+ import type { ComponentProps } from 'solid-js';
2
+ import { Separator } from '../separator/separator';
3
+ /**
4
+ * ButtonGroup.
5
+ *
6
+ * Several controls acting as one. The point is the *join*: the items share a
7
+ * border, collapse the seam between them, and round only at the ends, so a row of
8
+ * buttons reads as a single object with segments rather than as buttons that happen
9
+ * to be adjacent.
10
+ *
11
+ * The joining lives on the group, through child selectors, so an item never has to
12
+ * know whether it sits at an end — which is also where the border collapse belongs.
13
+ * A caller composing a group out of `Button`, `Select` and `InputGroup` therefore
14
+ * gets the same treatment without those components knowing about it.
15
+ *
16
+ * The group is a `role="group"` with a label, because a screen reader announcing
17
+ * four unrelated buttons where the sighted user sees one control is the failure
18
+ * this prevents.
19
+ */
20
+ export type ButtonGroupProps = ComponentProps<'div'> & {
21
+ /** The group's accessible name. Required: a group with no name is announced as loose buttons. */
22
+ label: string;
23
+ orientation?: 'horizontal' | 'vertical';
24
+ };
25
+ export declare function ButtonGroup(props: ButtonGroupProps): import("solid-js").JSX.Element;
26
+ /**
27
+ * A separator inside a group. `orientation` follows the group: a vertical rule in a
28
+ * horizontal group, and the reverse.
29
+ */
30
+ export declare function ButtonGroupSeparator(props: ComponentProps<typeof Separator> & {
31
+ orientation?: 'horizontal' | 'vertical';
32
+ }): import("solid-js").JSX.Element;
33
+ /**
34
+ * Static text in a group — a unit, a label, a readout that is not a control. It
35
+ * takes the group's border and height so it sits in the row as a peer, but it is
36
+ * not focusable and does not pretend to be.
37
+ */
38
+ export declare function ButtonGroupText(props: ComponentProps<'div'>): import("solid-js").JSX.Element;
39
+ //# sourceMappingURL=button-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/button-group/button-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAG9C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAElD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;IACrD,iGAAiG;IACjG,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;CACxC,CAAA;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,kCAyBlD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;CAAE,kCAWtF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,kCAa3D"}