@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,373 @@
1
+ import { cn } from "../../../lib/utils.js";
2
+ import { Dynamic, className, createComponent, effect, insert, setStyleProperty, template } from "solid-js/web";
3
+ import { For, splitProps } from "solid-js";
4
+ import { Bar, Bubble, Doughnut, Line, Pie, PolarArea, Radar, Scatter } from "solid-chartjs";
5
+ import { ArcElement, BarElement, CategoryScale, Chart, Filler, Legend, LineElement, LinearScale, LogarithmicScale, PointElement, RadialLinearScale, Tooltip } from "chart.js";
6
+ //#region src/components/ui/chart/chart.tsx
7
+ var _tmpl$ = /*#__PURE__*/ template(`<figure><figcaption class="flex items-start justify-between gap-3"><div><h3 class="text-sm font-semibold text-foreground">`);
8
+ var _tmpl$2 = /*#__PURE__*/ template(`<div>`);
9
+ var _tmpl$3 = /*#__PURE__*/ template(`<ul>`);
10
+ var _tmpl$4 = /*#__PURE__*/ template(`<li class="flex items-center gap-1.5 text-2xs text-muted-foreground"><span class="size-2 shrink-0 rounded-full"aria-hidden=true>`);
11
+ /**
12
+ * Chart.
13
+ *
14
+ * A thin wrapper over Chart.js, themed through the same CSS custom properties as
15
+ * everything else. The wrapper is thin on purpose: a design system's job here is
16
+ * to make a chart *look like the rest of the application* — the palette, the
17
+ * type scale, the tooltip surface, the grid lines — and not to re-implement
18
+ * scales and axes, which is where a hand-rolled chart goes wrong.
19
+ *
20
+ * ## Registration, and why it is here rather than left to the caller
21
+ *
22
+ * Chart.js is tree-shakeable through explicit registration: nothing is bundled
23
+ * until a controller, a scale or a plugin is registered. That is the whole reason
24
+ * it was chosen over a batteries-included charting library, and it only pays off
25
+ * if the registrations are scoped to what a component actually uses.
26
+ *
27
+ * This module registers the **shared** pieces once — scales, elements, tooltip,
28
+ * legend, filler — and nothing else. The controllers are imported per component
29
+ * so a `LineChart` does not carry the radar controller, and a consumer that
30
+ * imports only `LineChart` gets only that. Measured: see the story for the
31
+ * per-component figures the tree-shaking gate publishes.
32
+ *
33
+ * A caller with a chart type this file does not export registers its own
34
+ * controller with `registerChartPiece`, which is the escape hatch rather than a
35
+ * reason to widen the registration above.
36
+ *
37
+ * ## Theming
38
+ *
39
+ * Colours resolve from `--chart-1` through `--chart-5`, which every theme
40
+ * defines, plus `--chart-grid`, `--chart-axis` and `--chart-label`. That means a
41
+ * chart follows the accent axis, the appearance, and the font axis with no
42
+ * per-chart configuration — and a caller that wants a specific series colour
43
+ * passes it explicitly rather than reaching into the theme.
44
+ */
45
+ /**
46
+ * Register a piece with Chart.js. The escape hatch for a caller's own chart type.
47
+ *
48
+ * `solid-chartjs` re-exports the typed components but not the registry, so
49
+ * registration comes from `chart.js` itself — which is also the honest place for
50
+ * it, since the registry is Chart.js's global.
51
+ */
52
+ function registerChartPiece(piece) {
53
+ Chart.register(piece);
54
+ }
55
+ Chart.register(CategoryScale, LinearScale, LogarithmicScale, RadialLinearScale, PointElement, LineElement, BarElement, ArcElement, Filler, Tooltip, Legend);
56
+ /** The five series colours, in the order a multi-series chart should use them. */
57
+ var chartSeriesColors = [
58
+ "var(--chart-1)",
59
+ "var(--chart-2)",
60
+ "var(--chart-3)",
61
+ "var(--chart-4)",
62
+ "var(--chart-5)"
63
+ ];
64
+ /**
65
+ * The theme's defaults as Chart.js options.
66
+ *
67
+ * Exported so a caller can spread it and change one thing, rather than
68
+ * restating every colour. Everything a chart draws that is not data — grid,
69
+ * ticks, legend, tooltip — is decided here once, which is what makes two charts
70
+ * in one application look like they came from the same place.
71
+ */
72
+ function chartOptions(overrides) {
73
+ return {
74
+ responsive: true,
75
+ maintainAspectRatio: false,
76
+ interaction: {
77
+ mode: "nearest",
78
+ intersect: false
79
+ },
80
+ plugins: {
81
+ legend: { labels: {
82
+ color: "var(--chart-label)",
83
+ boxWidth: 8,
84
+ boxHeight: 8,
85
+ usePointStyle: true,
86
+ pointStyle: "circle",
87
+ font: { size: 11 }
88
+ } },
89
+ tooltip: {
90
+ backgroundColor: "var(--popover)",
91
+ titleColor: "var(--popover-foreground)",
92
+ bodyColor: "var(--popover-foreground)",
93
+ borderColor: "var(--border)",
94
+ borderWidth: 1,
95
+ padding: 8,
96
+ cornerRadius: 6,
97
+ displayColors: true,
98
+ boxWidth: 8,
99
+ boxHeight: 8,
100
+ usePointStyle: true,
101
+ titleFont: {
102
+ size: 11,
103
+ weight: 600
104
+ },
105
+ bodyFont: { size: 11 }
106
+ }
107
+ },
108
+ scales: {
109
+ x: {
110
+ border: { color: "var(--chart-grid)" },
111
+ grid: {
112
+ color: "var(--chart-grid)",
113
+ drawTicks: false
114
+ },
115
+ ticks: {
116
+ color: "var(--chart-axis)",
117
+ font: { size: 10 }
118
+ }
119
+ },
120
+ y: {
121
+ border: { display: false },
122
+ grid: {
123
+ color: "var(--chart-grid)",
124
+ drawTicks: false
125
+ },
126
+ ticks: {
127
+ color: "var(--chart-axis)",
128
+ font: { size: 10 }
129
+ }
130
+ }
131
+ },
132
+ ...overrides
133
+ };
134
+ }
135
+ function ChartFrame(props) {
136
+ const [local] = splitProps(props, [
137
+ "title",
138
+ "description",
139
+ "actions",
140
+ "children",
141
+ "class"
142
+ ]);
143
+ return (() => {
144
+ var _el$ = _tmpl$(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild;
145
+ insert(_el$4, () => local.title);
146
+ insert(_el$3, () => local.description, null);
147
+ insert(_el$2, () => local.actions, null);
148
+ insert(_el$, () => local.children, null);
149
+ effect(() => className(_el$, cn("grid gap-3 rounded-lg border border-border bg-card p-4", local.class)));
150
+ return _el$;
151
+ })();
152
+ }
153
+ /**
154
+ * The data as Chart.js datasets, with the theme's colours applied in order and
155
+ * the series' own colour winning when it has one.
156
+ *
157
+ * `fill: false` and a 2px border are deliberate: a filled line chart is a
158
+ * different chart, and a 1px line at a 12px label size reads as a grid line.
159
+ */
160
+ function datasetsFor(series, filled) {
161
+ return series.map((entry, index) => ({
162
+ label: entry.label,
163
+ data: [...entry.data],
164
+ borderColor: entry.color ?? chartSeriesColors[index % chartSeriesColors.length],
165
+ backgroundColor: entry.color ?? chartSeriesColors[index % chartSeriesColors.length],
166
+ pointBackgroundColor: entry.color ?? chartSeriesColors[index % chartSeriesColors.length],
167
+ borderWidth: 2,
168
+ pointRadius: 0,
169
+ pointHoverRadius: 4,
170
+ tension: .3,
171
+ fill: filled
172
+ }));
173
+ }
174
+ function seriesOptions(props, extra) {
175
+ return chartOptions({
176
+ ...extra,
177
+ ...props.stacked ? { scales: {
178
+ ...extra?.scales,
179
+ x: { stacked: true },
180
+ y: { stacked: true }
181
+ } } : {},
182
+ ...props.options
183
+ });
184
+ }
185
+ /** A line chart. The default for a series over time. */
186
+ function LineChart(props) {
187
+ return (() => {
188
+ var _el$5 = _tmpl$2();
189
+ insert(_el$5, createComponent(Line, {
190
+ get data() {
191
+ return {
192
+ labels: [...props.labels],
193
+ datasets: datasetsFor(props.series, props.area ?? false)
194
+ };
195
+ },
196
+ get options() {
197
+ return seriesOptions(props);
198
+ }
199
+ }));
200
+ effect(() => className(_el$5, cn("h-64", props.class)));
201
+ return _el$5;
202
+ })();
203
+ }
204
+ /** A bar chart. `stacked` for parts of a whole over categories. */
205
+ function BarChart(props) {
206
+ return (() => {
207
+ var _el$6 = _tmpl$2();
208
+ insert(_el$6, createComponent(Bar, {
209
+ get data() {
210
+ return {
211
+ labels: [...props.labels],
212
+ datasets: datasetsFor(props.series, true).map((dataset) => ({
213
+ ...dataset,
214
+ borderWidth: 0,
215
+ borderRadius: 3
216
+ }))
217
+ };
218
+ },
219
+ get options() {
220
+ return seriesOptions(props, { indexAxis: props.horizontal ? "y" : "x" });
221
+ }
222
+ }));
223
+ effect(() => className(_el$6, cn("h-64", props.class)));
224
+ return _el$6;
225
+ })();
226
+ }
227
+ /** A scatter plot, for a correlation rather than a series. */
228
+ function ScatterChart(props) {
229
+ return (() => {
230
+ var _el$7 = _tmpl$2();
231
+ insert(_el$7, createComponent(Scatter, {
232
+ get data() {
233
+ return { datasets: props.series.map((entry, index) => ({
234
+ label: entry.label,
235
+ data: entry.data.map((point) => ({ ...point })),
236
+ backgroundColor: entry.color ?? chartSeriesColors[index % chartSeriesColors.length],
237
+ pointRadius: 3,
238
+ pointHoverRadius: 5
239
+ })) };
240
+ },
241
+ get options() {
242
+ return chartOptions(props.options);
243
+ }
244
+ }));
245
+ effect(() => className(_el$7, cn("h-64", props.class)));
246
+ return _el$7;
247
+ })();
248
+ }
249
+ /** A bubble chart: scatter with a third dimension carried by the radius. */
250
+ function BubbleChart(props) {
251
+ return (() => {
252
+ var _el$8 = _tmpl$2();
253
+ insert(_el$8, createComponent(Bubble, {
254
+ get data() {
255
+ return { datasets: props.series.map((entry, index) => ({
256
+ label: entry.label,
257
+ data: entry.data.map((point) => ({ ...point })),
258
+ backgroundColor: entry.color ?? chartSeriesColors[index % chartSeriesColors.length]
259
+ })) };
260
+ },
261
+ get options() {
262
+ return chartOptions(props.options);
263
+ }
264
+ }));
265
+ effect(() => className(_el$8, cn("h-64", props.class)));
266
+ return _el$8;
267
+ })();
268
+ }
269
+ /** A radar chart, for a profile across fixed axes. */
270
+ function RadarChart(props) {
271
+ return (() => {
272
+ var _el$9 = _tmpl$2();
273
+ insert(_el$9, createComponent(Radar, {
274
+ get data() {
275
+ return {
276
+ labels: [...props.labels],
277
+ datasets: datasetsFor(props.series, true)
278
+ };
279
+ },
280
+ get options() {
281
+ return seriesOptions(props, { scales: { r: { grid: { color: "var(--chart-grid)" } } } });
282
+ }
283
+ }));
284
+ effect(() => className(_el$9, cn("h-64", props.class)));
285
+ return _el$9;
286
+ })();
287
+ }
288
+ /** A polar area chart: radial bars, for a composition. */
289
+ function PolarAreaChart(props) {
290
+ return (() => {
291
+ var _el$0 = _tmpl$2();
292
+ insert(_el$0, createComponent(PolarArea, {
293
+ get data() {
294
+ return {
295
+ labels: [...props.labels],
296
+ datasets: [{
297
+ data: [...props.data],
298
+ backgroundColor: [...chartSeriesColors],
299
+ borderColor: "var(--card)",
300
+ borderWidth: 2
301
+ }]
302
+ };
303
+ },
304
+ get options() {
305
+ return chartOptions(props.options);
306
+ }
307
+ }));
308
+ effect(() => className(_el$0, cn("h-64", props.class)));
309
+ return _el$0;
310
+ })();
311
+ }
312
+ /**
313
+ * A doughnut or a pie, for a composition with few enough slices to name.
314
+ *
315
+ * Both are one component because the only difference is the hole, and a caller
316
+ * choosing between them is choosing a ratio rather than a chart. `cutout` is the
317
+ * hole's share of the radius: 0 is a pie, 60% is the doughnut most dashboards
318
+ * mean. A composition with more than about six slices should be a bar chart —
319
+ * past that, the smallest slices become unreadable and their labels collide.
320
+ */
321
+ function DonutChart(props) {
322
+ const component = () => props.cutout === 0 ? Pie : Doughnut;
323
+ return (() => {
324
+ var _el$1 = _tmpl$2();
325
+ insert(_el$1, createComponent(Dynamic, {
326
+ get component() {
327
+ return component();
328
+ },
329
+ get data() {
330
+ return {
331
+ labels: [...props.labels],
332
+ datasets: [{
333
+ data: [...props.data],
334
+ backgroundColor: props.labels.map((_, index) => chartSeriesColors[index % chartSeriesColors.length]),
335
+ borderColor: "var(--card)",
336
+ borderWidth: 2
337
+ }]
338
+ };
339
+ },
340
+ get options() {
341
+ return chartOptions({
342
+ ...props.options,
343
+ ...props.cutout === 0 ? {} : { cutout: `${props.cutout ?? 60}%` }
344
+ });
345
+ }
346
+ }));
347
+ effect(() => className(_el$1, cn("h-64", props.class)));
348
+ return _el$1;
349
+ })();
350
+ }
351
+ /** A legend built from the same five colours, for a chart whose legend is elsewhere. */
352
+ function ChartLegend(props) {
353
+ return (() => {
354
+ var _el$10 = _tmpl$3();
355
+ insert(_el$10, createComponent(For, {
356
+ get each() {
357
+ return props.series;
358
+ },
359
+ children: (entry, index) => (() => {
360
+ var _el$11 = _tmpl$4(), _el$12 = _el$11.firstChild;
361
+ insert(_el$11, () => entry.label, null);
362
+ effect((_$p) => setStyleProperty(_el$12, "background", entry.color ?? chartSeriesColors[index() % chartSeriesColors.length]));
363
+ return _el$11;
364
+ })()
365
+ }));
366
+ effect(() => className(_el$10, cn("flex flex-wrap items-center gap-x-3 gap-y-1", props.class)));
367
+ return _el$10;
368
+ })();
369
+ }
370
+ //#endregion
371
+ export { BarChart, BubbleChart, ChartFrame, ChartLegend, DonutChart, LineChart, PolarAreaChart, RadarChart, ScatterChart, chartOptions, chartSeriesColors, registerChartPiece };
372
+
373
+ //# sourceMappingURL=chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.js","names":["For","splitProps","JSX","Dynamic","Bar","Bubble","Doughnut","Line","Pie","PolarArea","Radar","Scatter","Chart","ChartJs","ArcElement","BarElement","CategoryScale","Filler","Legend","LineElement","LinearScale","LogarithmicScale","PointElement","RadialLinearScale","Tooltip","ChartTooltip","ChartOptions","ChartType","cn","registerChartPiece","piece","Parameters","register","chartSeriesColors","const","chartOptions","overrides","responsive","maintainAspectRatio","interaction","mode","intersect","plugins","legend","labels","color","boxWidth","boxHeight","usePointStyle","pointStyle","font","size","tooltip","backgroundColor","titleColor","bodyColor","borderColor","borderWidth","padding","cornerRadius","displayColors","titleFont","weight","bodyFont","scales","x","border","grid","drawTicks","ticks","y","display","ChartFrameProps","title","description","actions","Element","children","class","ChartFrame","props","local","_el$","_tmpl$","_el$2","firstChild","_el$3","_el$4","_$insert","_$effect","_$className","SeriesChartProps","series","label","data","options","stacked","datasetsFor","filled","map","entry","index","length","pointBackgroundColor","pointRadius","pointHoverRadius","tension","fill","seriesOptions","extra","LineChart","area","_el$5","_tmpl$2","_$createComponent","datasets","BarChart","horizontal","_el$6","dataset","borderRadius","indexAxis","ScatterChart","_el$7","point","BubbleChart","r","_el$8","RadarChart","_el$9","PolarAreaChart","_el$0","DonutChart","cutout","component","_el$1","_","ChartLegend","_el$10","_tmpl$3","each","_el$11","_tmpl$4","_el$12","_$p","_$setStyleProperty","ChartJs","ChartTooltip","_$className","_$createComponent","_$setStyleProperty"],"sources":["../../../../src/components/ui/chart/chart.tsx"],"sourcesContent":["import { For, splitProps, type JSX } from 'solid-js'\nimport { Dynamic } from 'solid-js/web'\nimport { Bar, Bubble, Doughnut, Line, Pie, PolarArea, Radar, Scatter } from 'solid-chartjs'\nimport {\n Chart as ChartJs,\n ArcElement,\n BarElement,\n CategoryScale,\n Filler,\n Legend,\n LineElement,\n LinearScale,\n LogarithmicScale,\n PointElement,\n RadialLinearScale,\n Tooltip as ChartTooltip,\n} from 'chart.js'\nimport type { ChartOptions, ChartType } from 'chart.js'\nimport { cn } from '#lib/utils'\n\n/**\n * Chart.\n *\n * A thin wrapper over Chart.js, themed through the same CSS custom properties as\n * everything else. The wrapper is thin on purpose: a design system's job here is\n * to make a chart *look like the rest of the application* — the palette, the\n * type scale, the tooltip surface, the grid lines — and not to re-implement\n * scales and axes, which is where a hand-rolled chart goes wrong.\n *\n * ## Registration, and why it is here rather than left to the caller\n *\n * Chart.js is tree-shakeable through explicit registration: nothing is bundled\n * until a controller, a scale or a plugin is registered. That is the whole reason\n * it was chosen over a batteries-included charting library, and it only pays off\n * if the registrations are scoped to what a component actually uses.\n *\n * This module registers the **shared** pieces once — scales, elements, tooltip,\n * legend, filler — and nothing else. The controllers are imported per component\n * so a `LineChart` does not carry the radar controller, and a consumer that\n * imports only `LineChart` gets only that. Measured: see the story for the\n * per-component figures the tree-shaking gate publishes.\n *\n * A caller with a chart type this file does not export registers its own\n * controller with `registerChartPiece`, which is the escape hatch rather than a\n * reason to widen the registration above.\n *\n * ## Theming\n *\n * Colours resolve from `--chart-1` through `--chart-5`, which every theme\n * defines, plus `--chart-grid`, `--chart-axis` and `--chart-label`. That means a\n * chart follows the accent axis, the appearance, and the font axis with no\n * per-chart configuration — and a caller that wants a specific series colour\n * passes it explicitly rather than reaching into the theme.\n */\n\n/**\n * Register a piece with Chart.js. The escape hatch for a caller's own chart type.\n *\n * `solid-chartjs` re-exports the typed components but not the registry, so\n * registration comes from `chart.js` itself — which is also the honest place for\n * it, since the registry is Chart.js's global.\n */\nexport function registerChartPiece(piece: Parameters<typeof ChartJs.register>[number]): void {\n ChartJs.register(piece)\n}\n\nChartJs.register(\n CategoryScale,\n LinearScale,\n LogarithmicScale,\n RadialLinearScale,\n PointElement,\n LineElement,\n BarElement,\n ArcElement,\n Filler,\n ChartTooltip,\n Legend\n)\n\n/** The five series colours, in the order a multi-series chart should use them. */\nexport const chartSeriesColors = [\n 'var(--chart-1)',\n 'var(--chart-2)',\n 'var(--chart-3)',\n 'var(--chart-4)',\n 'var(--chart-5)',\n] as const\n\n/**\n * The theme's defaults as Chart.js options.\n *\n * Exported so a caller can spread it and change one thing, rather than\n * restating every colour. Everything a chart draws that is not data — grid,\n * ticks, legend, tooltip — is decided here once, which is what makes two charts\n * in one application look like they came from the same place.\n */\nexport function chartOptions(overrides?: ChartOptions): ChartOptions {\n return {\n responsive: true,\n maintainAspectRatio: false,\n interaction: { mode: 'nearest', intersect: false },\n plugins: {\n legend: {\n labels: {\n color: 'var(--chart-label)',\n boxWidth: 8,\n boxHeight: 8,\n usePointStyle: true,\n pointStyle: 'circle',\n font: { size: 11 },\n },\n },\n tooltip: {\n backgroundColor: 'var(--popover)',\n titleColor: 'var(--popover-foreground)',\n bodyColor: 'var(--popover-foreground)',\n borderColor: 'var(--border)',\n borderWidth: 1,\n padding: 8,\n cornerRadius: 6,\n displayColors: true,\n boxWidth: 8,\n boxHeight: 8,\n usePointStyle: true,\n titleFont: { size: 11, weight: 600 },\n bodyFont: { size: 11 },\n },\n },\n scales: {\n x: {\n border: { color: 'var(--chart-grid)' },\n grid: { color: 'var(--chart-grid)', drawTicks: false },\n ticks: { color: 'var(--chart-axis)', font: { size: 10 } },\n },\n y: {\n border: { display: false },\n grid: { color: 'var(--chart-grid)', drawTicks: false },\n ticks: { color: 'var(--chart-axis)', font: { size: 10 } },\n },\n },\n ...overrides,\n }\n}\n\n/** A chart's frame: a bordered surface with a title and an optional description. */\nexport type ChartFrameProps = {\n /** The chart's title. Required — a chart with no name is not readable. */\n title: string\n /** What the chart shows. Announced to assistive technology, and drawn. */\n description?: string\n /** Trailing controls. */\n actions?: JSX.Element\n children: JSX.Element\n class?: string\n}\n\nexport function ChartFrame(props: ChartFrameProps) {\n const [local] = splitProps(props, ['title', 'description', 'actions', 'children', 'class'])\n\n return (\n <figure class={cn('grid gap-3 rounded-lg border border-border bg-card p-4', local.class)}>\n <figcaption class=\"flex items-start justify-between gap-3\">\n <div>\n <h3 class=\"text-sm font-semibold text-foreground\">{local.title}</h3>\n {local.description}\n </div>\n {local.actions}\n </figcaption>\n {local.children}\n </figure>\n )\n}\n\ntype SeriesChartProps = {\n /** The category labels along the axis. */\n labels: readonly string[]\n /** One entry per series. `data` is aligned to `labels`. */\n series: readonly { label: string; data: readonly number[]; color?: string }[]\n /** Chart.js options, merged over the theme's defaults. */\n options?: ChartOptions\n /** Stack the series. */\n stacked?: boolean\n class?: string\n}\n\n/**\n * The data as Chart.js datasets, with the theme's colours applied in order and\n * the series' own colour winning when it has one.\n *\n * `fill: false` and a 2px border are deliberate: a filled line chart is a\n * different chart, and a 1px line at a 12px label size reads as a grid line.\n */\nfunction datasetsFor(series: SeriesChartProps['series'], filled: boolean) {\n return series.map((entry, index) => ({\n label: entry.label,\n data: [...entry.data],\n borderColor: entry.color ?? chartSeriesColors[index % chartSeriesColors.length],\n backgroundColor: entry.color ?? chartSeriesColors[index % chartSeriesColors.length],\n pointBackgroundColor: entry.color ?? chartSeriesColors[index % chartSeriesColors.length],\n borderWidth: 2,\n pointRadius: 0,\n pointHoverRadius: 4,\n tension: 0.3,\n fill: filled,\n }))\n}\n\nfunction seriesOptions(props: SeriesChartProps, extra?: ChartOptions): ChartOptions {\n return chartOptions({\n ...extra,\n ...(props.stacked\n ? { scales: { ...extra?.scales, x: { stacked: true }, y: { stacked: true } } }\n : {}),\n ...props.options,\n })\n}\n\n/** A line chart. The default for a series over time. */\nexport function LineChart(props: SeriesChartProps & { area?: boolean }) {\n return (\n <div class={cn('h-64', props.class)}>\n <Line\n data={{\n labels: [...props.labels],\n datasets: datasetsFor(props.series, props.area ?? false),\n }}\n options={seriesOptions(props)}\n />\n </div>\n )\n}\n\n/** A bar chart. `stacked` for parts of a whole over categories. */\nexport function BarChart(props: SeriesChartProps & { horizontal?: boolean }) {\n return (\n <div class={cn('h-64', props.class)}>\n <Bar\n data={{\n labels: [...props.labels],\n datasets: datasetsFor(props.series, true).map((dataset) => ({\n ...dataset,\n borderWidth: 0,\n borderRadius: 3,\n })),\n }}\n options={seriesOptions(props, { indexAxis: props.horizontal ? 'y' : 'x' })}\n />\n </div>\n )\n}\n\n/** A scatter plot, for a correlation rather than a series. */\nexport function ScatterChart(props: {\n series: readonly { label: string; data: readonly { x: number; y: number }[]; color?: string }[]\n options?: ChartOptions\n class?: string\n}) {\n return (\n <div class={cn('h-64', props.class)}>\n <Scatter\n data={{\n datasets: props.series.map((entry, index) => ({\n label: entry.label,\n data: entry.data.map((point) => ({ ...point })),\n backgroundColor: entry.color ?? chartSeriesColors[index % chartSeriesColors.length],\n pointRadius: 3,\n pointHoverRadius: 5,\n })),\n }}\n options={chartOptions(props.options)}\n />\n </div>\n )\n}\n\n/** A bubble chart: scatter with a third dimension carried by the radius. */\nexport function BubbleChart(props: {\n series: readonly {\n label: string\n data: readonly { x: number; y: number; r: number }[]\n color?: string\n }[]\n options?: ChartOptions\n class?: string\n}) {\n return (\n <div class={cn('h-64', props.class)}>\n <Bubble\n data={{\n datasets: props.series.map((entry, index) => ({\n label: entry.label,\n data: entry.data.map((point) => ({ ...point })),\n backgroundColor: entry.color ?? chartSeriesColors[index % chartSeriesColors.length],\n })),\n }}\n options={chartOptions(props.options)}\n />\n </div>\n )\n}\n\n/** A radar chart, for a profile across fixed axes. */\nexport function RadarChart(props: SeriesChartProps) {\n return (\n <div class={cn('h-64', props.class)}>\n <Radar\n data={{ labels: [...props.labels], datasets: datasetsFor(props.series, true) }}\n options={seriesOptions(props, { scales: { r: { grid: { color: 'var(--chart-grid)' } } } })}\n />\n </div>\n )\n}\n\n/** A polar area chart: radial bars, for a composition. */\nexport function PolarAreaChart(props: {\n labels: readonly string[]\n data: readonly number[]\n options?: ChartOptions\n class?: string\n}) {\n return (\n <div class={cn('h-64', props.class)}>\n <PolarArea\n data={{\n labels: [...props.labels],\n datasets: [\n {\n data: [...props.data],\n backgroundColor: [...chartSeriesColors],\n borderColor: 'var(--card)',\n borderWidth: 2,\n },\n ],\n }}\n options={chartOptions(props.options)}\n />\n </div>\n )\n}\n\n/**\n * A doughnut or a pie, for a composition with few enough slices to name.\n *\n * Both are one component because the only difference is the hole, and a caller\n * choosing between them is choosing a ratio rather than a chart. `cutout` is the\n * hole's share of the radius: 0 is a pie, 60% is the doughnut most dashboards\n * mean. A composition with more than about six slices should be a bar chart —\n * past that, the smallest slices become unreadable and their labels collide.\n */\nexport function DonutChart(props: {\n labels: readonly string[]\n data: readonly number[]\n /** The hole, as a percentage of the radius. 0 for a pie. */\n cutout?: number\n options?: ChartOptions\n class?: string\n}) {\n // `Dynamic` rather than a local component accessor: Solid's JSX types require\n // a component reference, and an accessor returning one is a call in disguise.\n const component = () => (props.cutout === 0 ? Pie : Doughnut)\n return (\n <div class={cn('h-64', props.class)}>\n <Dynamic\n component={component()}\n data={{\n labels: [...props.labels],\n datasets: [\n {\n data: [...props.data],\n backgroundColor: props.labels.map(\n (_, index) => chartSeriesColors[index % chartSeriesColors.length]\n ),\n borderColor: 'var(--card)',\n borderWidth: 2,\n },\n ],\n }}\n options={chartOptions({\n ...props.options,\n ...(props.cutout === 0 ? {} : { cutout: `${props.cutout ?? 60}%` }),\n })}\n />\n </div>\n )\n}\n\n/** A legend built from the same five colours, for a chart whose legend is elsewhere. */\nexport function ChartLegend(props: {\n series: readonly { label: string; color?: string }[]\n class?: string\n}) {\n return (\n <ul class={cn('flex flex-wrap items-center gap-x-3 gap-y-1', props.class)}>\n <For each={props.series}>\n {(entry, index) => (\n <li class=\"flex items-center gap-1.5 text-2xs text-muted-foreground\">\n <span\n class=\"size-2 shrink-0 rounded-full\"\n style={{\n background: entry.color ?? chartSeriesColors[index() % chartSeriesColors.length],\n }}\n aria-hidden=\"true\"\n />\n {entry.label}\n </li>\n )}\n </For>\n </ul>\n )\n}\n\nexport type { ChartType, ChartOptions }\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { BarChart, BubbleChart, ChartFrame, ChartLegend, DonutChart, LineChart, PolarAreaChart, RadarChart, ScatterChart, chartOptions, chartSeriesColors, registerChartPiece, type ChartFrameProps, type ChartOptions, type ChartType, } from './chart';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,SAAS,GACf,MAAM,SAAS,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { Checkbox as KobalteCheckbox } from '@kobalte/core/checkbox';
2
+ import type { ComponentProps, JSX } from 'solid-js';
3
+ /**
4
+ * Checkbox.
5
+ *
6
+ * Three states: unchecked, checked, and indeterminate. Indeterminate is what a
7
+ * "select all" box shows when only some rows are selected; Kobalte expresses
8
+ * it through `checked="indeterminate"` rather than a second boolean, so there
9
+ * is no way to render a box that is both.
10
+ *
11
+ * The paint is `Control` and the value is a real hidden `Input`, so the control
12
+ * participates in a form submission and in native validation while looking
13
+ * nothing like a browser checkbox. Focus is tracked by the input, which is why
14
+ * the ring lives on the control and reads the input's focus state.
15
+ */
16
+ export type CheckboxProps = Omit<ComponentProps<typeof KobalteCheckbox>, 'children'> & {
17
+ controlClass?: string;
18
+ labelClass?: string;
19
+ descriptionClass?: string;
20
+ /**
21
+ * Replaces the control and label. Omit it to get the default control beside
22
+ * `label` and `description`; supply it to compose the parts yourself.
23
+ */
24
+ children?: JSX.Element;
25
+ };
26
+ export declare function Checkbox(props: CheckboxProps): JSX.Element;
27
+ /**
28
+ * The box's own label. Valid only inside a `<Checkbox>`, for the same reason as
29
+ * `SwitchLabel`: outside its root there is no control to associate with.
30
+ */
31
+ export declare function CheckboxLabel(props: ComponentProps<typeof KobalteCheckbox.Label>): JSX.Element;
32
+ export declare function CheckboxDescription(props: ComponentProps<typeof KobalteCheckbox.Description>): JSX.Element;
33
+ //# sourceMappingURL=checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/checkbox/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAEpE,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAInD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,EAAE,UAAU,CAAC,GAAG;IACrF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CACvB,CAAA;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,eAiD5C;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,eAGhF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,eAAe,CAAC,WAAW,CAAC,eAQ5F"}
@@ -0,0 +1,76 @@
1
+ import { cn } from "../../../lib/utils.js";
2
+ import { createComponent, insert, memo, mergeProps, template } from "solid-js/web";
3
+ import { Check, Minus } from "lucide-solid";
4
+ import { splitProps } from "solid-js";
5
+ import { Checkbox } from "@kobalte/core/checkbox";
6
+ //#region src/components/ui/checkbox/checkbox.tsx
7
+ var _tmpl$ = /*#__PURE__*/ template(`<div class="grid gap-0.5 leading-none">`);
8
+ function Checkbox$1(props) {
9
+ const [local, rest] = splitProps(props, [
10
+ "class",
11
+ "controlClass",
12
+ "labelClass",
13
+ "descriptionClass",
14
+ "children",
15
+ "indeterminate",
16
+ "aria-label",
17
+ "aria-labelledby"
18
+ ]);
19
+ return createComponent(Checkbox, mergeProps({ get ["class"]() {
20
+ return cn("group/checkbox flex items-start gap-2.5", local.class);
21
+ } }, rest, { get children() {
22
+ return [
23
+ createComponent(Checkbox.Input, {
24
+ get ["aria-label"]() {
25
+ return local["aria-label"];
26
+ },
27
+ get ["aria-labelledby"]() {
28
+ return local["aria-labelledby"];
29
+ }
30
+ }),
31
+ createComponent(Checkbox.Control, {
32
+ get ["class"]() {
33
+ return cn("border-input bg-transparent flex size-4 shrink-0 items-center justify-center rounded-sm border", "transition-[color,box-shadow,border-color,background-color] ease-out outline-none", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-primary-subtle", "data-[checked]:bg-primary data-[checked]:border-primary data-[checked]:text-primary-foreground", "data-[indeterminate]:bg-primary data-[indeterminate]:border-primary data-[indeterminate]:text-primary-foreground", "data-[invalid]:border-destructive data-[invalid]:ring-3 data-[invalid]:ring-destructive-subtle", "data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50", local.controlClass);
34
+ },
35
+ get children() {
36
+ return createComponent(Checkbox.Indicator, {
37
+ "class": "flex items-center justify-center",
38
+ get children() {
39
+ return memo(() => !!local.indeterminate)() ? createComponent(Minus, { "class": "size-3" }) : createComponent(Check, { "class": "size-3" });
40
+ }
41
+ });
42
+ }
43
+ }),
44
+ memo(() => local.children ?? (() => {
45
+ var _el$ = _tmpl$();
46
+ insert(_el$, createComponent(Checkbox.Label, { get ["class"]() {
47
+ return cn("text-sm font-medium", local.labelClass);
48
+ } }), null);
49
+ insert(_el$, createComponent(Checkbox.Description, { get ["class"]() {
50
+ return cn("text-muted-foreground text-sm", local.descriptionClass);
51
+ } }), null);
52
+ return _el$;
53
+ })())
54
+ ];
55
+ } }));
56
+ }
57
+ /**
58
+ * The box's own label. Valid only inside a `<Checkbox>`, for the same reason as
59
+ * `SwitchLabel`: outside its root there is no control to associate with.
60
+ */
61
+ function CheckboxLabel(props) {
62
+ const [local, rest] = splitProps(props, ["class"]);
63
+ return createComponent(Checkbox.Label, mergeProps({ get ["class"]() {
64
+ return cn("text-sm font-medium", local.class);
65
+ } }, rest));
66
+ }
67
+ function CheckboxDescription(props) {
68
+ const [local, rest] = splitProps(props, ["class"]);
69
+ return createComponent(Checkbox.Description, mergeProps({ get ["class"]() {
70
+ return cn("text-muted-foreground text-sm", local.class);
71
+ } }, rest));
72
+ }
73
+ //#endregion
74
+ export { Checkbox$1 as Checkbox, CheckboxDescription, CheckboxLabel };
75
+
76
+ //# sourceMappingURL=checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.js","names":["Checkbox","KobalteCheckbox","Check","Minus","ComponentProps","JSX","splitProps","cn","CheckboxProps","Omit","controlClass","labelClass","descriptionClass","children","Element","props","local","rest","_$createComponent","_$mergeProps","class","Input","aria-label","aria-labelledby","Control","Indicator","_$memo","indeterminate","_el$","_tmpl$","_$insert","Label","Description","CheckboxLabel","CheckboxDescription","Checkbox","_$createComponent","KobalteCheckbox","_$mergeProps","_$memo"],"sources":["../../../../src/components/ui/checkbox/checkbox.tsx"],"sourcesContent":["import { Checkbox as KobalteCheckbox } from '@kobalte/core/checkbox'\nimport { Check, Minus } from 'lucide-solid'\nimport type { ComponentProps, JSX } from 'solid-js'\nimport { splitProps } from 'solid-js'\nimport { cn } from '#lib/utils'\n\n/**\n * Checkbox.\n *\n * Three states: unchecked, checked, and indeterminate. Indeterminate is what a\n * \"select all\" box shows when only some rows are selected; Kobalte expresses\n * it through `checked=\"indeterminate\"` rather than a second boolean, so there\n * is no way to render a box that is both.\n *\n * The paint is `Control` and the value is a real hidden `Input`, so the control\n * participates in a form submission and in native validation while looking\n * nothing like a browser checkbox. Focus is tracked by the input, which is why\n * the ring lives on the control and reads the input's focus state.\n */\nexport type CheckboxProps = Omit<ComponentProps<typeof KobalteCheckbox>, 'children'> & {\n controlClass?: string\n labelClass?: string\n descriptionClass?: string\n /**\n * Replaces the control and label. Omit it to get the default control beside\n * `label` and `description`; supply it to compose the parts yourself.\n */\n children?: JSX.Element\n}\n\nexport function Checkbox(props: CheckboxProps) {\n const [local, rest] = splitProps(props, [\n 'class',\n 'controlClass',\n 'labelClass',\n 'descriptionClass',\n 'children',\n 'indeterminate',\n 'aria-label',\n 'aria-labelledby',\n ])\n\n return (\n <KobalteCheckbox class={cn('group/checkbox flex items-start gap-2.5', local.class)} {...rest}>\n {/*\n * The name goes on the input, which is what carries the value and takes\n * focus. On the Root it would land on a plain div and name nothing — the\n * box would announce its state with no subject.\n */}\n <KobalteCheckbox.Input\n aria-label={local['aria-label']}\n aria-labelledby={local['aria-labelledby']}\n />\n <KobalteCheckbox.Control\n class={cn(\n 'border-input bg-transparent flex size-4 shrink-0 items-center justify-center rounded-sm border',\n 'transition-[color,box-shadow,border-color,background-color] ease-out outline-none',\n 'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-primary-subtle',\n 'data-[checked]:bg-primary data-[checked]:border-primary data-[checked]:text-primary-foreground',\n 'data-[indeterminate]:bg-primary data-[indeterminate]:border-primary data-[indeterminate]:text-primary-foreground',\n 'data-[invalid]:border-destructive data-[invalid]:ring-3 data-[invalid]:ring-destructive-subtle',\n 'data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50',\n local.controlClass\n )}\n >\n <KobalteCheckbox.Indicator class=\"flex items-center justify-center\">\n {local.indeterminate ? <Minus class=\"size-3\" /> : <Check class=\"size-3\" />}\n </KobalteCheckbox.Indicator>\n </KobalteCheckbox.Control>\n {local.children ?? (\n <div class=\"grid gap-0.5 leading-none\">\n <KobalteCheckbox.Label class={cn('text-sm font-medium', local.labelClass)} />\n <KobalteCheckbox.Description\n class={cn('text-muted-foreground text-sm', local.descriptionClass)}\n />\n </div>\n )}\n </KobalteCheckbox>\n )\n}\n\n/**\n * The box's own label. Valid only inside a `<Checkbox>`, for the same reason as\n * `SwitchLabel`: outside its root there is no control to associate with.\n */\nexport function CheckboxLabel(props: ComponentProps<typeof KobalteCheckbox.Label>) {\n const [local, rest] = splitProps(props, ['class'])\n return <KobalteCheckbox.Label class={cn('text-sm font-medium', local.class)} {...rest} />\n}\n\nexport function CheckboxDescription(props: ComponentProps<typeof KobalteCheckbox.Description>) {\n const [local, rest] = splitProps(props, ['class'])\n return (\n <KobalteCheckbox.Description\n class={cn('text-muted-foreground text-sm', local.class)}\n {...rest}\n />\n )\n}\n"],"mappings":";;;;;;;AA8BA,SAAgBA,WAASe,OAAsB;CAC7C,MAAM,CAACC,OAAOC,QAAQX,WAAWS,OAAO;EACtC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAiB,CAClB;CAED,OAAAG,gBACGjB,UAAekB,WAAA,EAAA,KAAA,WAAA;EAAA,OAAQZ,GAAG,2CAA2CS,MAAMI,KAAK;CAAC,EAAA,GAAMH,MAAI,EAAA,IAAAJ,WAAA;EAAA,OAAA;GAAAK,gBAMzFjB,SAAgBoB,OAAK;IAAA,KAAA,gBAAA;KAAA,OACRL,MAAM;IAAa;IAAA,KAAA,qBAAA;KAAA,OACdA,MAAM;IAAkB;GAAA,CAAA;GAAAE,gBAE1CjB,SAAgBuB,SAAO;IAAA,KAAA,WAAA;KAAA,OACfjB,GACL,kGACA,qFACA,oFACA,kGACA,oHACA,kGACA,iEACAS,MAAMN,YACR;IAAC;IAAA,IAAAG,WAAA;KAAA,OAAAK,gBAEAjB,SAAgBwB,WAAS;MAAA,SAAA;MAAA,IAAAZ,WAAA;OAAA,OACvBa,WAAA,CAAA,CAAAV,MAAMW,aAAa,CAAA,CAAA,IAAAT,gBAAIf,OAAK,EAAA,SAAA,SAAA,CAAA,IAAAe,gBAAsBhB,OAAK,EAAA,SAAA,SAAA,CAAA;MAAkB;KAAA,CAAA;IAAA;GAAA,CAAA;GAAAwB,WAG7EV,MAAMH,mBAAQ;IAAA,IAAAe,OAAAC,OAAA;IAAAC,OAAAF,MAAAV,gBAEVjB,SAAgB8B,OAAK,EAAA,KAAA,WAAA;KAAA,OAAQxB,GAAG,uBAAuBS,MAAML,UAAU;IAAC,EAAA,CAAA,GAAA,IAAA;IAAAmB,OAAAF,MAAAV,gBACxEjB,SAAgB+B,aAAW,EAAA,KAAA,WAAA;KAAA,OACnBzB,GAAG,iCAAiCS,MAAMJ,gBAAgB;IAAC,EAAA,CAAA,GAAA,IAAA;IAAA,OAAAgB;GAAA,EAAA,CAAA,CAGvE;EAAA;CAAA,EAAA,CAAA,CAAA;AAGP;;;;;AAMA,SAAgBK,cAAclB,OAAqD;CACjF,MAAM,CAACC,OAAOC,QAAQX,WAAWS,OAAO,CAAC,OAAO,CAAC;CACjD,OAAAG,gBAAQjB,SAAgB8B,OAAKZ,WAAA,EAAA,KAAA,WAAA;EAAA,OAAQZ,GAAG,uBAAuBS,MAAMI,KAAK;CAAC,EAAA,GAAMH,IAAI,CAAA;AACvF;AAEA,SAAgBiB,oBAAoBnB,OAA2D;CAC7F,MAAM,CAACC,OAAOC,QAAQX,WAAWS,OAAO,CAAC,OAAO,CAAC;CACjD,OAAAG,gBACGjB,SAAgB+B,aAAWb,WAAA,EAAA,KAAA,WAAA;EAAA,OACnBZ,GAAG,iCAAiCS,MAAMI,KAAK;CAAC,EAAA,GACnDH,IAAI,CAAA;AAGd"}
@@ -0,0 +1,2 @@
1
+ export { Checkbox, CheckboxDescription, CheckboxLabel, type CheckboxProps } from './checkbox';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/checkbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,75 @@
1
+ import { type ComponentProps, type JSX } from 'solid-js';
2
+ /**
3
+ * CodeBlock.
4
+ *
5
+ * A fenced block, rendered as a surface. The library ships no highlighter —
6
+ * syntax colouring is a large dependency with its own theme format, and a
7
+ * component that bundled one would force every consumer to pay for it. This
8
+ * renders the block, its chrome, and its behaviour; a caller that wants
9
+ * highlighting passes the result through `highlight`, which is the seam a
10
+ * Shiki/Pierre/Prism integration plugs into.
11
+ *
12
+ * Four details are the reason this exists rather than a styled `<pre>`:
13
+ *
14
+ * **Copy confirms only on success.** `navigator.clipboard.writeText` rejects
15
+ * outside a secure context, in a sandboxed frame, and when the document is not
16
+ * focused. Flipping to a tick unconditionally confirms a copy that did not
17
+ * happen, and the reader pastes something stale and does not know why. The
18
+ * rejection is caught and the button reports the failure instead.
19
+ *
20
+ * **A tall block repeats its action row at the bottom.** Copying from a block
21
+ * that is taller than the viewport otherwise costs a scroll back to the top and
22
+ * another scroll down to where you were. The threshold is a fixed 480px rather
23
+ * than viewport-relative so the behaviour does not change when the window is
24
+ * resized.
25
+ *
26
+ * **The scroller is focusable and named.** A horizontally scrollable region has
27
+ * to be reachable by keyboard — this is axe's `scrollable-region-focusable`, and
28
+ * a region that scrolls but cannot be focused is a WCAG 2.1.1 failure. It is a
29
+ * `region` with a label rather than a bare `tabindex`, so the tab stop announces
30
+ * what it is.
31
+ *
32
+ * **Resolving a streaming block must not move the reader.** When `complete` is
33
+ * false the block shows the code it has plus a generating indicator; the
34
+ * indicator is inside the scroller's own box and does not add a line, because a
35
+ * block that grows the moment its content resolves shifts everything below it.
36
+ * If a caller's `highlight` changes the line box, that is the caller's height to
37
+ * hold — `lineHeight` is a prop for exactly that reason.
38
+ */
39
+ export type CodeBlockProps = Omit<ComponentProps<'div'>, 'children'> & {
40
+ code: string;
41
+ /** The language, shown in the header and used as the region's label. */
42
+ language?: string;
43
+ /** The code, transformed — highlighted HTML or a component. Omit for plain text. */
44
+ highlight?: (code: string) => JSX.Element;
45
+ /** False while the block is still streaming. Adds a generating indicator. */
46
+ complete?: boolean;
47
+ /** A filename or title, shown instead of the language. */
48
+ title?: string;
49
+ /** Extra header controls, before the copy button. */
50
+ actions?: JSX.Element;
51
+ /** Copy label. Override for a non-English application. */
52
+ copyLabel?: string;
53
+ copiedLabel?: string;
54
+ /** Line height of the rendered code. Set it when `highlight` changes the box. */
55
+ lineHeight?: string;
56
+ /** A line-number gutter. Off by default; a short snippet rarely needs one. */
57
+ showLineNumbers?: boolean;
58
+ /** The height above which the action row is repeated below the block. */
59
+ tallThreshold?: number;
60
+ };
61
+ /** The height a block must exceed before its actions are repeated. */
62
+ export declare const TALL_CODE_BLOCK_PX = 480;
63
+ export declare function CodeBlock(props: CodeBlockProps): JSX.Element;
64
+ /**
65
+ * InlineCode.
66
+ *
67
+ * The `code` inside a sentence. It is a component rather than a class because it
68
+ * has to hold three properties at once: it must not break the line's rhythm
69
+ * (`font-size: 0.9em`, so it tracks the surrounding text), it must wrap rather
70
+ * than overflow a narrow column (`overflow-wrap: anywhere` — an identifier with
71
+ * no spaces is one long token), and it must be legible against whatever surface
72
+ * it lands on, which is why the fill is a token and not a fixed grey.
73
+ */
74
+ export declare function InlineCode(props: ComponentProps<'code'>): JSX.Element;
75
+ //# sourceMappingURL=code-block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/code-block/code-block.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,GAAG,EACT,MAAM,UAAU,CAAA;AAKjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IACrE,IAAI,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oFAAoF;IACpF,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC,OAAO,CAAA;IACzC,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qDAAqD;IACrD,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IACrB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,MAAM,CAAA;AAkBrC,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,eAyH9C;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,eAYvD"}