@jcsoftdev/ui 0.1.6 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1210) hide show
  1. package/CHANGELOG.md +102 -0
  2. package/README.md +28 -7
  3. package/THIRD_PARTY_NOTICES.md +66 -0
  4. package/dist/ai/attachment/attachment.d.ts +5 -1
  5. package/dist/ai/attachment/attachment.js +18 -7
  6. package/dist/ai/chain-of-thought/chain-of-thought.d.ts +5 -1
  7. package/dist/ai/chain-of-thought/chain-of-thought.js +61 -39
  8. package/dist/ai/chat-list/chat-list.d.ts +5 -1
  9. package/dist/ai/chat-list/chat-list.js +98 -59
  10. package/dist/ai/chat-message/chat-message.d.ts +5 -1
  11. package/dist/ai/chat-message/chat-message.js +31 -11
  12. package/dist/ai/code-block/code-block.d.ts +5 -1
  13. package/dist/ai/code-block/code-block.js +37 -19
  14. package/dist/ai/conversation/conversation.d.ts +5 -1
  15. package/dist/ai/conversation/conversation.js +23 -5
  16. package/dist/ai/internal/disclosure.d.ts +3 -1
  17. package/dist/ai/internal/disclosure.js +7 -3
  18. package/dist/ai/loader/loader.d.ts +5 -1
  19. package/dist/ai/loader/loader.js +6 -4
  20. package/dist/ai/markdown/markdown.d.ts +5 -1
  21. package/dist/ai/markdown/markdown.js +86 -56
  22. package/dist/ai/message-actions/message-actions.js +1 -1
  23. package/dist/ai/prompt-input/prompt-input.d.ts +5 -1
  24. package/dist/ai/prompt-input/prompt-input.js +73 -41
  25. package/dist/ai/source/source.d.ts +5 -1
  26. package/dist/ai/source/source.js +35 -8
  27. package/dist/ai/tool-call/tool-call.d.ts +5 -1
  28. package/dist/ai/tool-call/tool-call.js +43 -21
  29. package/dist/atoms/avatar/avatar.d.ts +7 -3
  30. package/dist/atoms/avatar/avatar.js +54 -7
  31. package/dist/atoms/avatar/index.d.ts +1 -1
  32. package/dist/atoms/avatar-group/avatar-group.d.ts +3 -6
  33. package/dist/atoms/avatar-group/avatar-group.js +8 -2
  34. package/dist/atoms/big-date/big-date.js +2 -2
  35. package/dist/atoms/button/button.d.ts +19 -1
  36. package/dist/atoms/button/button.js +26 -14
  37. package/dist/atoms/button/index.d.ts +1 -1
  38. package/dist/atoms/button/index.js +8 -2
  39. package/dist/atoms/checkbox/checkbox.d.ts +16 -4
  40. package/dist/atoms/checkbox/checkbox.js +103 -15
  41. package/dist/atoms/checkbox/index.d.ts +1 -1
  42. package/dist/atoms/chip/chip.d.ts +2 -0
  43. package/dist/atoms/chip/chip.js +5 -4
  44. package/dist/atoms/chip/index.d.ts +1 -1
  45. package/dist/atoms/chip/index.js +3 -2
  46. package/dist/atoms/icon/icon-map.d.ts +39 -39
  47. package/dist/atoms/icon/icon-map.js +1 -1
  48. package/dist/atoms/icon/icon.d.ts +5 -6
  49. package/dist/atoms/icon/icon.js +3 -3
  50. package/dist/atoms/internal/status-icons.js +1 -1
  51. package/dist/atoms/led/index.d.ts +1 -1
  52. package/dist/atoms/led/led.d.ts +7 -3
  53. package/dist/atoms/led/led.js +25 -11
  54. package/dist/atoms/progress/index.d.ts +1 -1
  55. package/dist/atoms/progress/progress.d.ts +8 -3
  56. package/dist/atoms/progress/progress.js +38 -10
  57. package/dist/atoms/radio-group/index.d.ts +1 -1
  58. package/dist/atoms/radio-group/radio-group-primitive.d.ts +24 -0
  59. package/dist/atoms/radio-group/radio-group-primitive.js +156 -0
  60. package/dist/atoms/radio-group/radio-group.d.ts +8 -4
  61. package/dist/atoms/radio-group/radio-group.js +34 -11
  62. package/dist/atoms/status-dot/index.d.ts +1 -1
  63. package/dist/atoms/status-dot/status-dot.d.ts +7 -3
  64. package/dist/atoms/status-dot/status-dot.js +26 -16
  65. package/dist/atoms/status-pill/index.d.ts +1 -1
  66. package/dist/atoms/status-pill/status-pill.d.ts +7 -3
  67. package/dist/atoms/status-pill/status-pill.js +13 -4
  68. package/dist/atoms/switch/index.d.ts +1 -1
  69. package/dist/atoms/switch/switch.d.ts +15 -4
  70. package/dist/atoms/switch/switch.js +90 -14
  71. package/dist/atoms/trend-chip/index.d.ts +1 -1
  72. package/dist/atoms/trend-chip/trend-chip.d.ts +5 -1
  73. package/dist/atoms/trend-chip/trend-chip.js +13 -4
  74. package/dist/brand/logo-forge.js +1 -1
  75. package/dist/calendar/day-chip/day-chip.d.ts +9 -2
  76. package/dist/calendar/day-chip/day-chip.js +9 -6
  77. package/dist/calendar/day-chip/index.d.ts +1 -1
  78. package/dist/calendar/day-chip/index.js +3 -2
  79. package/dist/calendar/event-block/event-block.d.ts +10 -3
  80. package/dist/calendar/event-block/event-block.js +23 -10
  81. package/dist/calendar/event-block/index.d.ts +1 -1
  82. package/dist/calendar/event-block/index.js +6 -2
  83. package/dist/calendar/month-view/index.d.ts +1 -1
  84. package/dist/calendar/month-view/month-view.d.ts +5 -1
  85. package/dist/calendar/month-view/month-view.js +56 -30
  86. package/dist/calendar/timeline-view/index.d.ts +1 -1
  87. package/dist/calendar/timeline-view/timeline-view.d.ts +5 -1
  88. package/dist/calendar/timeline-view/timeline-view.js +21 -7
  89. package/dist/calendar/week-view/index.d.ts +1 -1
  90. package/dist/calendar/week-view/week-view.d.ts +5 -1
  91. package/dist/calendar/week-view/week-view.js +144 -113
  92. package/dist/charts/bar-chart/bar-race-chart.js +4 -4
  93. package/dist/charts/bubble-map/bubble-map.js +1 -1
  94. package/dist/charts/bullet-chart/bullet-chart.js +2 -2
  95. package/dist/charts/candlestick-chart/candlestick-chart.js +3 -3
  96. package/dist/charts/chart-grid/chart-grid.js +2 -2
  97. package/dist/charts/chord-chart/chord-chart.js +1 -1
  98. package/dist/charts/choropleth-map/choropleth-map.js +1 -1
  99. package/dist/charts/core/axes.js +3 -3
  100. package/dist/charts/core/breadcrumb.js +1 -1
  101. package/dist/charts/core/cartesian/annotations.js +3 -3
  102. package/dist/charts/core/cartesian/cartesian-chart.js +1 -1
  103. package/dist/charts/core/cartesian/category-group-axis.js +1 -1
  104. package/dist/charts/core/cartesian/ink-layer.js +1 -1
  105. package/dist/charts/core/cartesian/marks.js +1 -1
  106. package/dist/charts/core/chart-states.js +2 -2
  107. package/dist/charts/core/distribution/layout.js +1 -1
  108. package/dist/charts/core/distribution/marks.js +2 -2
  109. package/dist/charts/core/distribution/xy-points.js +4 -4
  110. package/dist/charts/core/export-menu.js +1 -1
  111. package/dist/charts/core/legend.js +2 -2
  112. package/dist/charts/core/tooltip.js +3 -3
  113. package/dist/charts/crossfilter/crossfilter.js +4 -4
  114. package/dist/charts/donut-chart/donut-chart.js +1 -1
  115. package/dist/charts/dumbbell-chart/dumbbell-chart.js +5 -5
  116. package/dist/charts/fill-gauge-chart/fill-gauge-chart.js +1 -1
  117. package/dist/charts/funnel-chart/funnel-chart.js +6 -6
  118. package/dist/charts/gantt-chart/gantt-chart.js +7 -7
  119. package/dist/charts/gantt-chart/gantt-marks.js +5 -5
  120. package/dist/charts/gauge-chart/gauge-chart.js +4 -4
  121. package/dist/charts/globe-chart/globe-chart.js +1 -1
  122. package/dist/charts/heatmap-chart/heatmap-grid.js +7 -7
  123. package/dist/charts/hierarchy-morph/hierarchy-morph.js +3 -3
  124. package/dist/charts/histogram/histogram.js +1 -1
  125. package/dist/charts/icicle-chart/icicle-chart.js +2 -2
  126. package/dist/charts/isotype-rows/isotype-rows.js +3 -3
  127. package/dist/charts/lollipop-chart/lollipop-chart.js +1 -1
  128. package/dist/charts/maps/geo/map-data-table.js +3 -3
  129. package/dist/charts/maps/geo/map-legend.js +5 -5
  130. package/dist/charts/maps/geo/map-viewport.js +1 -1
  131. package/dist/charts/parliament-chart/parliament-chart.js +2 -2
  132. package/dist/charts/pictogram-chart/pictogram-chart.js +1 -1
  133. package/dist/charts/polar-area-chart/polar-area-chart.js +2 -2
  134. package/dist/charts/progress-units/progress-units.js +1 -1
  135. package/dist/charts/radar-chart/radar-chart.js +1 -1
  136. package/dist/charts/radial-bar-chart/radial-bar-chart.js +1 -1
  137. package/dist/charts/sankey-chart/sankey-chart.js +5 -5
  138. package/dist/charts/slope-chart/slope-chart.js +1 -1
  139. package/dist/charts/sparkline/sparkline.js +1 -1
  140. package/dist/charts/stock-chart/stock-chart.js +1 -1
  141. package/dist/charts/stock-chart/stock-drawing-layer.js +4 -4
  142. package/dist/charts/stock-chart/stock-plot.js +3 -3
  143. package/dist/charts/stream-graph/stream-graph.js +1 -1
  144. package/dist/charts/sunburst-chart/sunburst-chart.js +1 -1
  145. package/dist/charts/timeline-chart/timeline-chart.js +3 -3
  146. package/dist/charts/tree-chart/tree-card.js +6 -6
  147. package/dist/charts/tree-chart/tree-chart.js +5 -5
  148. package/dist/charts/treemap-chart/treemap-chart.js +3 -3
  149. package/dist/charts/waterfall-chart/waterfall-chart.js +2 -2
  150. package/dist/containers/action-bar/action-bar.d.ts +5 -1
  151. package/dist/containers/action-bar/action-bar.js +26 -8
  152. package/dist/containers/action-bar/index.d.ts +1 -1
  153. package/dist/containers/banner/banner.d.ts +5 -1
  154. package/dist/containers/banner/banner.js +20 -5
  155. package/dist/containers/card/card.js +1 -1
  156. package/dist/containers/carousel/carousel.d.ts +6 -2
  157. package/dist/containers/carousel/carousel.js +38 -20
  158. package/dist/containers/carousel/index.d.ts +1 -1
  159. package/dist/containers/comment/comment.js +1 -1
  160. package/dist/containers/confirm-action/confirm-action.d.ts +5 -1
  161. package/dist/containers/confirm-action/confirm-action.js +30 -9
  162. package/dist/containers/data-grid/chart-panel.js +4 -4
  163. package/dist/containers/data-grid/column-menu.js +12 -12
  164. package/dist/containers/data-grid/data-grid.demos.js +13 -13
  165. package/dist/containers/data-grid/data-grid.js +37 -37
  166. package/dist/containers/data-grid/data-grid.samples.js +1 -1
  167. package/dist/containers/data-grid/filter-builder-editor.js +6 -6
  168. package/dist/containers/data-grid/formula-bar.js +4 -4
  169. package/dist/containers/data-grid/grid-toolbar.js +6 -6
  170. package/dist/containers/data-grid/spreadsheet.demos.d.ts +1 -1
  171. package/dist/containers/data-grid/spreadsheet.demos.js +1 -1
  172. package/dist/containers/data-grid/tool-panel.js +11 -11
  173. package/dist/containers/description-list/description-list.js +1 -1
  174. package/dist/containers/facts/facts.js +2 -2
  175. package/dist/containers/file-tree/file-tree.d.ts +5 -1
  176. package/dist/containers/file-tree/file-tree.js +81 -57
  177. package/dist/containers/file-tree/index.d.ts +1 -1
  178. package/dist/containers/generic-row/generic-row.js +3 -3
  179. package/dist/containers/hbars/hbars.js +5 -5
  180. package/dist/containers/item-card-group/index.d.ts +1 -1
  181. package/dist/containers/item-card-group/item-card-group.d.ts +5 -1
  182. package/dist/containers/item-card-group/item-card-group.js +88 -43
  183. package/dist/containers/kanban/index.d.ts +1 -1
  184. package/dist/containers/kanban/kanban.d.ts +5 -1
  185. package/dist/containers/kanban/kanban.js +74 -23
  186. package/dist/containers/kpi/kpi.d.ts +7 -4
  187. package/dist/containers/kpi/kpi.js +21 -7
  188. package/dist/containers/kpi-group/index.d.ts +1 -1
  189. package/dist/containers/kpi-group/kpi-group.d.ts +5 -1
  190. package/dist/containers/kpi-group/kpi-group.js +55 -27
  191. package/dist/containers/page-header/page-header.js +2 -2
  192. package/dist/containers/responsive-list/responsive-list.d.ts +5 -1
  193. package/dist/containers/responsive-list/responsive-list.js +83 -37
  194. package/dist/containers/settings-layout/settings-layout.js +1 -1
  195. package/dist/containers/settings-row/settings-row.d.ts +5 -1
  196. package/dist/containers/settings-row/settings-row.js +7 -5
  197. package/dist/containers/table/table.js +5 -5
  198. package/dist/containers/timeline/index.d.ts +1 -1
  199. package/dist/containers/timeline/timeline.d.ts +5 -1
  200. package/dist/containers/timeline/timeline.js +65 -14
  201. package/dist/dashboards/layout.js +2 -2
  202. package/dist/forms/accent-picker/accent-picker.d.ts +7 -4
  203. package/dist/forms/accent-picker/accent-picker.js +13 -6
  204. package/dist/forms/accent-picker/index.d.ts +1 -1
  205. package/dist/forms/checkbox-button-group/checkbox-button-group.d.ts +6 -2
  206. package/dist/forms/checkbox-button-group/checkbox-button-group.js +12 -2
  207. package/dist/forms/checkbox-button-group/index.d.ts +1 -1
  208. package/dist/forms/dropzone/dropzone.d.ts +5 -1
  209. package/dist/forms/dropzone/dropzone.js +26 -6
  210. package/dist/forms/dropzone/index.d.ts +1 -1
  211. package/dist/forms/emoji-picker/emoji-picker.d.ts +5 -1
  212. package/dist/forms/emoji-picker/emoji-picker.js +55 -24
  213. package/dist/forms/emoji-picker/index.d.ts +1 -1
  214. package/dist/forms/emoji-reaction-button/emoji-reaction-button.d.ts +9 -2
  215. package/dist/forms/emoji-reaction-button/emoji-reaction-button.js +24 -10
  216. package/dist/forms/emoji-reaction-button/index.d.ts +1 -1
  217. package/dist/forms/field/field.d.ts +7 -4
  218. package/dist/forms/field/field.js +31 -8
  219. package/dist/forms/field/index.d.ts +1 -1
  220. package/dist/forms/inline-select/inline-select.js +1 -1
  221. package/dist/forms/input-icon/index.d.ts +1 -1
  222. package/dist/forms/input-icon/input-icon.d.ts +6 -2
  223. package/dist/forms/input-icon/input-icon.js +7 -4
  224. package/dist/forms/internal/button-option.d.ts +4 -1
  225. package/dist/forms/internal/button-option.js +13 -5
  226. package/dist/forms/native-select/index.d.ts +1 -1
  227. package/dist/forms/native-select/native-select.d.ts +5 -1
  228. package/dist/forms/native-select/native-select.js +8 -3
  229. package/dist/forms/number-stepper/index.d.ts +1 -1
  230. package/dist/forms/number-stepper/index.js +3 -1
  231. package/dist/forms/number-stepper/number-stepper.d.ts +5 -1
  232. package/dist/forms/number-stepper/number-stepper.js +17 -5
  233. package/dist/forms/pin-input/index.d.ts +1 -1
  234. package/dist/forms/pin-input/pin-input.d.ts +5 -1
  235. package/dist/forms/pin-input/pin-input.js +52 -34
  236. package/dist/forms/radio-button-group/index.d.ts +1 -1
  237. package/dist/forms/radio-button-group/radio-button-group.d.ts +6 -2
  238. package/dist/forms/radio-button-group/radio-button-group.js +7 -2
  239. package/dist/forms/rating/index.d.ts +1 -1
  240. package/dist/forms/rating/rating.d.ts +5 -1
  241. package/dist/forms/rating/rating.js +23 -8
  242. package/dist/forms/select/select.js +1 -1
  243. package/dist/forms/slider/index.d.ts +1 -1
  244. package/dist/forms/slider/slider.d.ts +4 -0
  245. package/dist/forms/slider/slider.js +45 -8
  246. package/dist/i18n/strings.d.ts +3 -0
  247. package/dist/i18n/strings.js +4 -2
  248. package/dist/icons/alert-triangle.d.ts +1 -0
  249. package/dist/icons/alert-triangle.js +4 -0
  250. package/dist/icons/archive.d.ts +2 -0
  251. package/dist/icons/archive.js +12 -0
  252. package/dist/icons/armchair.d.ts +2 -0
  253. package/dist/icons/armchair.js +13 -0
  254. package/dist/icons/arrow-down-right.d.ts +2 -0
  255. package/dist/icons/arrow-down-right.js +11 -0
  256. package/dist/icons/arrow-down-to-line.d.ts +2 -0
  257. package/dist/icons/arrow-down-to-line.js +12 -0
  258. package/dist/icons/arrow-down.d.ts +2 -0
  259. package/dist/icons/arrow-down.js +11 -0
  260. package/dist/icons/arrow-left-to-line.d.ts +2 -0
  261. package/dist/icons/arrow-left-to-line.js +12 -0
  262. package/dist/icons/arrow-left.d.ts +2 -0
  263. package/dist/icons/arrow-left.js +11 -0
  264. package/dist/icons/arrow-right-to-line.d.ts +2 -0
  265. package/dist/icons/arrow-right-to-line.js +12 -0
  266. package/dist/icons/arrow-right.d.ts +2 -0
  267. package/dist/icons/arrow-right.js +11 -0
  268. package/dist/icons/arrow-up-from-line.d.ts +2 -0
  269. package/dist/icons/arrow-up-from-line.js +12 -0
  270. package/dist/icons/arrow-up-right.d.ts +2 -0
  271. package/dist/icons/arrow-up-right.js +11 -0
  272. package/dist/icons/arrow-up-to-line.d.ts +2 -0
  273. package/dist/icons/arrow-up-to-line.js +12 -0
  274. package/dist/icons/arrow-up.d.ts +2 -0
  275. package/dist/icons/arrow-up.js +11 -0
  276. package/dist/icons/banknote.d.ts +2 -0
  277. package/dist/icons/banknote.js +12 -0
  278. package/dist/icons/bar-chart2.d.ts +1 -0
  279. package/dist/icons/bar-chart2.js +4 -0
  280. package/dist/icons/bar-chart3.d.ts +1 -0
  281. package/dist/icons/bar-chart3.js +4 -0
  282. package/dist/icons/bell.d.ts +2 -0
  283. package/dist/icons/bell.js +11 -0
  284. package/dist/icons/bold.d.ts +2 -0
  285. package/dist/icons/bold.js +8 -0
  286. package/dist/icons/book-open.d.ts +2 -0
  287. package/dist/icons/book-open.js +11 -0
  288. package/dist/icons/boxes.d.ts +2 -0
  289. package/dist/icons/boxes.js +21 -0
  290. package/dist/icons/brain.d.ts +2 -0
  291. package/dist/icons/brain.js +17 -0
  292. package/dist/icons/calculator.d.ts +2 -0
  293. package/dist/icons/calculator.js +19 -0
  294. package/dist/icons/calendar-check.d.ts +2 -0
  295. package/dist/icons/calendar-check.js +14 -0
  296. package/dist/icons/calendar-clock.d.ts +2 -0
  297. package/dist/icons/calendar-clock.js +15 -0
  298. package/dist/icons/calendar-days.d.ts +2 -0
  299. package/dist/icons/calendar-days.js +19 -0
  300. package/dist/icons/calendar-plus.d.ts +2 -0
  301. package/dist/icons/calendar-plus.js +15 -0
  302. package/dist/icons/calendar-x.d.ts +2 -0
  303. package/dist/icons/calendar-x.js +15 -0
  304. package/dist/icons/calendar.d.ts +2 -0
  305. package/dist/icons/calendar.js +13 -0
  306. package/dist/icons/camera.d.ts +2 -0
  307. package/dist/icons/camera.js +11 -0
  308. package/dist/icons/chart-column.d.ts +2 -0
  309. package/dist/icons/chart-column.js +13 -0
  310. package/dist/icons/chart-no-axes-column.d.ts +2 -0
  311. package/dist/icons/chart-no-axes-column.js +12 -0
  312. package/dist/icons/check-check.d.ts +2 -0
  313. package/dist/icons/check-check.js +11 -0
  314. package/dist/icons/check-circle2.d.ts +1 -0
  315. package/dist/icons/check-circle2.js +4 -0
  316. package/dist/icons/check.d.ts +2 -0
  317. package/dist/icons/check.js +8 -0
  318. package/dist/icons/chevron-down.d.ts +2 -0
  319. package/dist/icons/chevron-down.js +8 -0
  320. package/dist/icons/chevron-left.d.ts +2 -0
  321. package/dist/icons/chevron-left.js +8 -0
  322. package/dist/icons/chevron-right.d.ts +2 -0
  323. package/dist/icons/chevron-right.js +8 -0
  324. package/dist/icons/chevrons-left.d.ts +2 -0
  325. package/dist/icons/chevrons-left.js +11 -0
  326. package/dist/icons/chevrons-right.d.ts +2 -0
  327. package/dist/icons/chevrons-right.js +11 -0
  328. package/dist/icons/chevrons-up-down.d.ts +2 -0
  329. package/dist/icons/chevrons-up-down.js +11 -0
  330. package/dist/icons/circle-alert.d.ts +2 -0
  331. package/dist/icons/circle-alert.js +12 -0
  332. package/dist/icons/circle-check.d.ts +2 -0
  333. package/dist/icons/circle-check.js +11 -0
  334. package/dist/icons/circle-x.d.ts +2 -0
  335. package/dist/icons/circle-x.js +12 -0
  336. package/dist/icons/clipboard-list.d.ts +2 -0
  337. package/dist/icons/clipboard-list.js +15 -0
  338. package/dist/icons/clock.d.ts +2 -0
  339. package/dist/icons/clock.js +11 -0
  340. package/dist/icons/coins.d.ts +2 -0
  341. package/dist/icons/coins.js +13 -0
  342. package/dist/icons/columns-3.d.ts +2 -0
  343. package/dist/icons/columns-3.js +12 -0
  344. package/dist/icons/construction.d.ts +2 -0
  345. package/dist/icons/construction.js +17 -0
  346. package/dist/icons/copy.d.ts +2 -0
  347. package/dist/icons/copy.js +11 -0
  348. package/dist/icons/credit-card.d.ts +2 -0
  349. package/dist/icons/credit-card.js +12 -0
  350. package/dist/icons/download.d.ts +2 -0
  351. package/dist/icons/download.js +12 -0
  352. package/dist/icons/ellipsis-vertical.d.ts +2 -0
  353. package/dist/icons/ellipsis-vertical.js +12 -0
  354. package/dist/icons/external-link.d.ts +2 -0
  355. package/dist/icons/external-link.js +12 -0
  356. package/dist/icons/eye-off.d.ts +2 -0
  357. package/dist/icons/eye-off.js +13 -0
  358. package/dist/icons/face-slightly-smiling-plus.d.ts +2 -0
  359. package/dist/icons/face-slightly-smiling-plus.js +15 -0
  360. package/dist/icons/face-slightly-smiling.d.ts +2 -0
  361. package/dist/icons/face-slightly-smiling.js +13 -0
  362. package/dist/icons/file-code.d.ts +2 -0
  363. package/dist/icons/file-code.js +13 -0
  364. package/dist/icons/file-image.d.ts +2 -0
  365. package/dist/icons/file-image.js +13 -0
  366. package/dist/icons/file-spreadsheet.d.ts +2 -0
  367. package/dist/icons/file-spreadsheet.js +15 -0
  368. package/dist/icons/file-text.d.ts +2 -0
  369. package/dist/icons/file-text.js +14 -0
  370. package/dist/icons/file.d.ts +2 -0
  371. package/dist/icons/file.js +11 -0
  372. package/dist/icons/filter.d.ts +1 -0
  373. package/dist/icons/filter.js +4 -0
  374. package/dist/icons/folder-open.d.ts +2 -0
  375. package/dist/icons/folder-open.js +8 -0
  376. package/dist/icons/folder.d.ts +2 -0
  377. package/dist/icons/folder.js +8 -0
  378. package/dist/icons/funnel.d.ts +2 -0
  379. package/dist/icons/funnel.js +8 -0
  380. package/dist/icons/grip-vertical.d.ts +2 -0
  381. package/dist/icons/grip-vertical.js +15 -0
  382. package/dist/icons/heading-2.d.ts +2 -0
  383. package/dist/icons/heading-2.js +13 -0
  384. package/dist/icons/icon-base.d.ts +14 -0
  385. package/dist/icons/icon-base.js +39 -0
  386. package/dist/icons/inbox.d.ts +2 -0
  387. package/dist/icons/inbox.js +11 -0
  388. package/dist/icons/index.d.ts +145 -0
  389. package/dist/icons/index.js +291 -0
  390. package/dist/icons/info.d.ts +2 -0
  391. package/dist/icons/info.js +12 -0
  392. package/dist/icons/italic.d.ts +2 -0
  393. package/dist/icons/italic.js +12 -0
  394. package/dist/icons/landmark.d.ts +2 -0
  395. package/dist/icons/landmark.js +15 -0
  396. package/dist/icons/layers.d.ts +2 -0
  397. package/dist/icons/layers.js +12 -0
  398. package/dist/icons/layout-dashboard.d.ts +2 -0
  399. package/dist/icons/layout-dashboard.js +13 -0
  400. package/dist/icons/layout-grid.d.ts +2 -0
  401. package/dist/icons/layout-grid.js +13 -0
  402. package/dist/icons/link-2.d.ts +2 -0
  403. package/dist/icons/link-2.js +12 -0
  404. package/dist/icons/list-checks.d.ts +2 -0
  405. package/dist/icons/list-checks.js +14 -0
  406. package/dist/icons/list-filter.d.ts +2 -0
  407. package/dist/icons/list-filter.js +12 -0
  408. package/dist/icons/list-ordered.d.ts +2 -0
  409. package/dist/icons/list-ordered.js +15 -0
  410. package/dist/icons/list.d.ts +2 -0
  411. package/dist/icons/list.js +15 -0
  412. package/dist/icons/loader-circle.d.ts +2 -0
  413. package/dist/icons/loader-circle.js +8 -0
  414. package/dist/icons/lock.d.ts +2 -0
  415. package/dist/icons/lock.js +11 -0
  416. package/dist/icons/log-out.d.ts +2 -0
  417. package/dist/icons/log-out.js +12 -0
  418. package/dist/icons/map-pin.d.ts +2 -0
  419. package/dist/icons/map-pin.js +11 -0
  420. package/dist/icons/menu.d.ts +2 -0
  421. package/dist/icons/menu.js +12 -0
  422. package/dist/icons/message-circle.d.ts +2 -0
  423. package/dist/icons/message-circle.js +8 -0
  424. package/dist/icons/message-square.d.ts +2 -0
  425. package/dist/icons/message-square.js +8 -0
  426. package/dist/icons/minus.d.ts +2 -0
  427. package/dist/icons/minus.js +8 -0
  428. package/dist/icons/moon.d.ts +2 -0
  429. package/dist/icons/moon.js +8 -0
  430. package/dist/icons/move-horizontal.d.ts +2 -0
  431. package/dist/icons/move-horizontal.js +12 -0
  432. package/dist/icons/octagon-x.d.ts +2 -0
  433. package/dist/icons/octagon-x.js +12 -0
  434. package/dist/icons/package.d.ts +2 -0
  435. package/dist/icons/package.js +13 -0
  436. package/dist/icons/panel-right.d.ts +2 -0
  437. package/dist/icons/panel-right.js +11 -0
  438. package/dist/icons/paperclip.d.ts +2 -0
  439. package/dist/icons/paperclip.js +8 -0
  440. package/dist/icons/pause.d.ts +2 -0
  441. package/dist/icons/pause.js +11 -0
  442. package/dist/icons/pen-line.d.ts +2 -0
  443. package/dist/icons/pen-line.js +11 -0
  444. package/dist/icons/pencil.d.ts +2 -0
  445. package/dist/icons/pencil.js +11 -0
  446. package/dist/icons/phone.d.ts +2 -0
  447. package/dist/icons/phone.js +8 -0
  448. package/dist/icons/pin-off.d.ts +2 -0
  449. package/dist/icons/pin-off.js +13 -0
  450. package/dist/icons/play.d.ts +2 -0
  451. package/dist/icons/play.js +8 -0
  452. package/dist/icons/plus.d.ts +2 -0
  453. package/dist/icons/plus.js +11 -0
  454. package/dist/icons/redo-2.d.ts +2 -0
  455. package/dist/icons/redo-2.js +11 -0
  456. package/dist/icons/refresh-cw.d.ts +2 -0
  457. package/dist/icons/refresh-cw.js +13 -0
  458. package/dist/icons/rotate-ccw.d.ts +2 -0
  459. package/dist/icons/rotate-ccw.js +11 -0
  460. package/dist/icons/scan-barcode.d.ts +2 -0
  461. package/dist/icons/scan-barcode.js +16 -0
  462. package/dist/icons/scissors.d.ts +2 -0
  463. package/dist/icons/scissors.js +14 -0
  464. package/dist/icons/scroll-text.d.ts +2 -0
  465. package/dist/icons/scroll-text.js +13 -0
  466. package/dist/icons/search.d.ts +2 -0
  467. package/dist/icons/search.js +11 -0
  468. package/dist/icons/send.d.ts +2 -0
  469. package/dist/icons/send.js +11 -0
  470. package/dist/icons/settings.d.ts +2 -0
  471. package/dist/icons/settings.js +11 -0
  472. package/dist/icons/shield.d.ts +2 -0
  473. package/dist/icons/shield.js +8 -0
  474. package/dist/icons/shopping-bag.d.ts +2 -0
  475. package/dist/icons/shopping-bag.js +12 -0
  476. package/dist/icons/shopping-cart.d.ts +2 -0
  477. package/dist/icons/shopping-cart.js +13 -0
  478. package/dist/icons/sliders-horizontal.d.ts +2 -0
  479. package/dist/icons/sliders-horizontal.js +18 -0
  480. package/dist/icons/smartphone.d.ts +2 -0
  481. package/dist/icons/smartphone.js +11 -0
  482. package/dist/icons/smile-plus.d.ts +1 -0
  483. package/dist/icons/smile-plus.js +4 -0
  484. package/dist/icons/smile.d.ts +1 -0
  485. package/dist/icons/smile.js +4 -0
  486. package/dist/icons/sparkles.d.ts +2 -0
  487. package/dist/icons/sparkles.js +13 -0
  488. package/dist/icons/square.d.ts +2 -0
  489. package/dist/icons/square.js +8 -0
  490. package/dist/icons/star.d.ts +2 -0
  491. package/dist/icons/star.js +8 -0
  492. package/dist/icons/sun.d.ts +2 -0
  493. package/dist/icons/sun.js +18 -0
  494. package/dist/icons/tags.d.ts +2 -0
  495. package/dist/icons/tags.js +12 -0
  496. package/dist/icons/thumbs-down.d.ts +2 -0
  497. package/dist/icons/thumbs-down.js +11 -0
  498. package/dist/icons/thumbs-up.d.ts +2 -0
  499. package/dist/icons/thumbs-up.js +11 -0
  500. package/dist/icons/trash.d.ts +2 -0
  501. package/dist/icons/trash.js +14 -0
  502. package/dist/icons/trash2.d.ts +1 -0
  503. package/dist/icons/trash2.js +4 -0
  504. package/dist/icons/triangle-alert.d.ts +2 -0
  505. package/dist/icons/triangle-alert.js +12 -0
  506. package/dist/icons/truck.d.ts +2 -0
  507. package/dist/icons/truck.js +14 -0
  508. package/dist/icons/underline.d.ts +2 -0
  509. package/dist/icons/underline.js +11 -0
  510. package/dist/icons/undo-2.d.ts +2 -0
  511. package/dist/icons/undo-2.js +11 -0
  512. package/dist/icons/unlink.d.ts +2 -0
  513. package/dist/icons/unlink.js +15 -0
  514. package/dist/icons/upload.d.ts +2 -0
  515. package/dist/icons/upload.js +12 -0
  516. package/dist/icons/user-check.d.ts +2 -0
  517. package/dist/icons/user-check.js +12 -0
  518. package/dist/icons/user-cog.d.ts +2 -0
  519. package/dist/icons/user-cog.js +20 -0
  520. package/dist/icons/user-plus.d.ts +2 -0
  521. package/dist/icons/user-plus.js +13 -0
  522. package/dist/icons/user-round.d.ts +2 -0
  523. package/dist/icons/user-round.js +11 -0
  524. package/dist/icons/user.d.ts +2 -0
  525. package/dist/icons/user.js +11 -0
  526. package/dist/icons/users.d.ts +2 -0
  527. package/dist/icons/users.js +13 -0
  528. package/dist/icons/video.d.ts +2 -0
  529. package/dist/icons/video.js +11 -0
  530. package/dist/icons/wallet.d.ts +2 -0
  531. package/dist/icons/wallet.js +11 -0
  532. package/dist/icons/wrench.d.ts +2 -0
  533. package/dist/icons/wrench.js +8 -0
  534. package/dist/icons/x.d.ts +2 -0
  535. package/dist/icons/x.js +11 -0
  536. package/dist/icons/xcircle.d.ts +1 -0
  537. package/dist/icons/xcircle.js +4 -0
  538. package/dist/icons/xoctagon.d.ts +1 -0
  539. package/dist/icons/xoctagon.js +4 -0
  540. package/dist/navigation/floating-toc/floating-toc.d.ts +5 -1
  541. package/dist/navigation/floating-toc/floating-toc.js +42 -23
  542. package/dist/navigation/floating-toc/index.d.ts +1 -1
  543. package/dist/navigation/segmented/segmented.d.ts +19 -7
  544. package/dist/navigation/segmented/segmented.js +84 -19
  545. package/dist/navigation/stepper/index.d.ts +1 -1
  546. package/dist/navigation/stepper/stepper.d.ts +7 -3
  547. package/dist/navigation/stepper/stepper.js +17 -6
  548. package/dist/navigation/tabs/tabs.d.ts +28 -11
  549. package/dist/navigation/tabs/tabs.js +134 -14
  550. package/dist/overlays/context-menu/context-menu.d.ts +5 -5
  551. package/dist/overlays/context-menu/context-menu.js +5 -8
  552. package/dist/overlays/dialog/dialog.d.ts +11 -6
  553. package/dist/overlays/dialog/dialog.js +18 -10
  554. package/dist/overlays/dialog/index.d.ts +1 -1
  555. package/dist/overlays/dialog/index.js +2 -0
  556. package/dist/overlays/drawer/drawer.d.ts +12 -7
  557. package/dist/overlays/drawer/drawer.js +24 -11
  558. package/dist/overlays/drawer/index.d.ts +1 -1
  559. package/dist/overlays/drawer/index.js +2 -0
  560. package/dist/overlays/dropdown-menu/dropdown-menu.d.ts +26 -10
  561. package/dist/overlays/dropdown-menu/dropdown-menu.js +89 -20
  562. package/dist/overlays/dropdown-menu/index.d.ts +1 -1
  563. package/dist/overlays/dropdown-menu/index.js +12 -0
  564. package/dist/overlays/hover-card/hover-card.d.ts +2 -2
  565. package/dist/overlays/hover-card/hover-card.js +3 -3
  566. package/dist/overlays/popover/index.d.ts +1 -1
  567. package/dist/overlays/popover/index.js +2 -0
  568. package/dist/overlays/popover/popover.d.ts +11 -9
  569. package/dist/overlays/popover/popover.js +6 -3
  570. package/dist/overlays/toaster/index.d.ts +1 -1
  571. package/dist/overlays/toaster/index.js +4 -1
  572. package/dist/overlays/toaster/toast-store.d.ts +39 -0
  573. package/dist/overlays/toaster/toast-store.js +63 -0
  574. package/dist/overlays/toaster/toast.d.ts +11 -0
  575. package/dist/overlays/toaster/toast.js +10 -0
  576. package/dist/overlays/toaster/toaster.d.ts +24 -5
  577. package/dist/overlays/toaster/toaster.js +218 -16
  578. package/dist/palette/command-palette/command-palette.d.ts +6 -2
  579. package/dist/palette/command-palette/command-palette.js +94 -44
  580. package/dist/palette/command-palette/index.d.ts +1 -1
  581. package/dist/primitives/command/command.d.ts +82 -0
  582. package/dist/primitives/command/command.js +488 -0
  583. package/dist/primitives/command/score.d.ts +15 -0
  584. package/dist/primitives/command/score.js +73 -0
  585. package/dist/primitives/command/store.d.ts +89 -0
  586. package/dist/primitives/command/store.js +205 -0
  587. package/dist/primitives/dialog/dialog.d.ts +38 -0
  588. package/dist/primitives/dialog/dialog.js +251 -0
  589. package/dist/primitives/focusable.d.ts +21 -0
  590. package/dist/primitives/focusable.js +59 -0
  591. package/dist/primitives/global-singleton.d.ts +5 -0
  592. package/dist/primitives/global-singleton.js +9 -0
  593. package/dist/primitives/hide-others.d.ts +14 -0
  594. package/dist/primitives/hide-others.js +79 -0
  595. package/dist/primitives/index.d.ts +25 -0
  596. package/dist/primitives/index.js +30 -0
  597. package/dist/primitives/layer-stack.d.ts +8 -0
  598. package/dist/primitives/layer-stack.js +23 -0
  599. package/dist/primitives/menu/grace.d.ts +17 -0
  600. package/dist/primitives/menu/grace.js +27 -0
  601. package/dist/primitives/menu/menu.d.ts +97 -0
  602. package/dist/primitives/menu/menu.js +871 -0
  603. package/dist/primitives/menu/navigation.d.ts +6 -0
  604. package/dist/primitives/menu/navigation.js +12 -0
  605. package/dist/primitives/menu/typeahead.d.ts +6 -0
  606. package/dist/primitives/menu/typeahead.js +16 -0
  607. package/dist/primitives/pointer-events-lock.d.ts +15 -0
  608. package/dist/primitives/pointer-events-lock.js +37 -0
  609. package/dist/primitives/popover/popover.d.ts +33 -0
  610. package/dist/primitives/popover/popover.js +244 -0
  611. package/dist/primitives/popper/geometry.d.ts +67 -0
  612. package/dist/primitives/popper/geometry.js +143 -0
  613. package/dist/primitives/popper/popper.d.ts +44 -0
  614. package/dist/primitives/popper/popper.js +313 -0
  615. package/dist/primitives/portal.d.ts +6 -0
  616. package/dist/primitives/portal.js +20 -0
  617. package/dist/primitives/scroll-lock.d.ts +4 -0
  618. package/dist/primitives/scroll-lock.js +92 -0
  619. package/dist/primitives/use-dismissable-layer.d.ts +37 -0
  620. package/dist/primitives/use-dismissable-layer.js +113 -0
  621. package/dist/primitives/use-focus-scope.d.ts +22 -0
  622. package/dist/primitives/use-focus-scope.js +91 -0
  623. package/dist/primitives/use-layer.d.ts +2 -0
  624. package/dist/primitives/use-layer.js +14 -0
  625. package/dist/primitives/use-presence.d.ts +14 -0
  626. package/dist/primitives/use-presence.js +87 -0
  627. package/dist/rich-text/index.d.ts +1 -1
  628. package/dist/rich-text/rich-text-editor.d.ts +5 -1
  629. package/dist/rich-text/rich-text-editor.js +42 -10
  630. package/dist/shell/app-shell/app-shell.d.ts +3 -4
  631. package/dist/shell/app-shell/app-shell.js +4 -2
  632. package/dist/shell/sidebar/index.d.ts +1 -1
  633. package/dist/shell/sidebar/sidebar.d.ts +5 -1
  634. package/dist/shell/sidebar/sidebar.js +49 -37
  635. package/dist/shell/topbar/index.d.ts +1 -1
  636. package/dist/shell/topbar/topbar.d.ts +5 -1
  637. package/dist/shell/topbar/topbar.js +91 -45
  638. package/dist/showcase/controls-bento.js +2 -2
  639. package/dist/showcase/kit-tiles.js +1 -1
  640. package/dist/showcase/operations-bento.js +1 -1
  641. package/dist/showcase/shell.js +1 -1
  642. package/dist/states/empty-state/empty-state.js +2 -2
  643. package/dist/states/error-state/error-state.js +4 -4
  644. package/dist/states/forbidden-state/forbidden-state.js +2 -2
  645. package/dist/states/offline-banner/offline-banner.js +1 -1
  646. package/dist/utils/class-groups.d.ts +20 -0
  647. package/dist/utils/class-groups.js +809 -0
  648. package/dist/utils/class-merge.d.ts +17 -0
  649. package/dist/utils/class-merge.js +187 -0
  650. package/dist/utils/class-names.d.ts +9 -0
  651. package/dist/utils/class-names.js +0 -0
  652. package/dist/utils/class-tokens.generated.d.ts +8 -0
  653. package/dist/utils/class-tokens.generated.js +98 -0
  654. package/dist/utils/class-validators.d.ts +27 -0
  655. package/dist/utils/class-validators.js +78 -0
  656. package/dist/utils/cn.d.ts +33 -2
  657. package/dist/utils/cn.js +43 -82
  658. package/dist/utils/compose.d.ts +7 -0
  659. package/dist/utils/compose.js +15 -0
  660. package/dist/utils/form-bubble.d.ts +30 -0
  661. package/dist/utils/form-bubble.js +120 -0
  662. package/dist/utils/index.d.ts +2 -1
  663. package/dist/utils/index.js +7 -1
  664. package/dist/utils/roving-focus.d.ts +42 -0
  665. package/dist/utils/roving-focus.js +67 -0
  666. package/dist/utils/slot.d.ts +16 -0
  667. package/dist/utils/slot.js +74 -0
  668. package/dist/utils/use-controllable-state.d.ts +13 -0
  669. package/dist/utils/use-controllable-state.js +32 -0
  670. package/icons/LICENSE-lucide +43 -0
  671. package/icons/README.md +15 -0
  672. package/icons/aliases.json +12 -0
  673. package/icons/svg/archive.svg +5 -0
  674. package/icons/svg/armchair.svg +6 -0
  675. package/icons/svg/arrow-down-right.svg +4 -0
  676. package/icons/svg/arrow-down-to-line.svg +5 -0
  677. package/icons/svg/arrow-down.svg +4 -0
  678. package/icons/svg/arrow-left-to-line.svg +5 -0
  679. package/icons/svg/arrow-left.svg +4 -0
  680. package/icons/svg/arrow-right-to-line.svg +5 -0
  681. package/icons/svg/arrow-right.svg +4 -0
  682. package/icons/svg/arrow-up-from-line.svg +5 -0
  683. package/icons/svg/arrow-up-right.svg +4 -0
  684. package/icons/svg/arrow-up-to-line.svg +5 -0
  685. package/icons/svg/arrow-up.svg +4 -0
  686. package/icons/svg/banknote.svg +5 -0
  687. package/icons/svg/bell.svg +4 -0
  688. package/icons/svg/bold.svg +3 -0
  689. package/icons/svg/book-open.svg +4 -0
  690. package/icons/svg/boxes.svg +14 -0
  691. package/icons/svg/brain.svg +10 -0
  692. package/icons/svg/calculator.svg +12 -0
  693. package/icons/svg/calendar-check.svg +7 -0
  694. package/icons/svg/calendar-clock.svg +8 -0
  695. package/icons/svg/calendar-days.svg +12 -0
  696. package/icons/svg/calendar-plus.svg +8 -0
  697. package/icons/svg/calendar-x.svg +8 -0
  698. package/icons/svg/calendar.svg +6 -0
  699. package/icons/svg/camera.svg +4 -0
  700. package/icons/svg/chart-column.svg +6 -0
  701. package/icons/svg/chart-no-axes-column.svg +5 -0
  702. package/icons/svg/check-check.svg +4 -0
  703. package/icons/svg/check.svg +3 -0
  704. package/icons/svg/chevron-down.svg +3 -0
  705. package/icons/svg/chevron-left.svg +3 -0
  706. package/icons/svg/chevron-right.svg +3 -0
  707. package/icons/svg/chevrons-left.svg +4 -0
  708. package/icons/svg/chevrons-right.svg +4 -0
  709. package/icons/svg/chevrons-up-down.svg +4 -0
  710. package/icons/svg/circle-alert.svg +5 -0
  711. package/icons/svg/circle-check.svg +4 -0
  712. package/icons/svg/circle-x.svg +5 -0
  713. package/icons/svg/clipboard-list.svg +8 -0
  714. package/icons/svg/clock.svg +4 -0
  715. package/icons/svg/coins.svg +6 -0
  716. package/icons/svg/columns-3.svg +5 -0
  717. package/icons/svg/construction.svg +10 -0
  718. package/icons/svg/copy.svg +4 -0
  719. package/icons/svg/credit-card.svg +5 -0
  720. package/icons/svg/download.svg +5 -0
  721. package/icons/svg/ellipsis-vertical.svg +5 -0
  722. package/icons/svg/external-link.svg +5 -0
  723. package/icons/svg/eye-off.svg +6 -0
  724. package/icons/svg/face-slightly-smiling-plus.svg +8 -0
  725. package/icons/svg/face-slightly-smiling.svg +6 -0
  726. package/icons/svg/file-code.svg +6 -0
  727. package/icons/svg/file-image.svg +6 -0
  728. package/icons/svg/file-spreadsheet.svg +8 -0
  729. package/icons/svg/file-text.svg +7 -0
  730. package/icons/svg/file.svg +4 -0
  731. package/icons/svg/folder-open.svg +3 -0
  732. package/icons/svg/folder.svg +3 -0
  733. package/icons/svg/funnel.svg +3 -0
  734. package/icons/svg/grip-vertical.svg +8 -0
  735. package/icons/svg/heading-2.svg +6 -0
  736. package/icons/svg/inbox.svg +4 -0
  737. package/icons/svg/info.svg +5 -0
  738. package/icons/svg/italic.svg +5 -0
  739. package/icons/svg/landmark.svg +8 -0
  740. package/icons/svg/layers.svg +5 -0
  741. package/icons/svg/layout-dashboard.svg +6 -0
  742. package/icons/svg/layout-grid.svg +6 -0
  743. package/icons/svg/link-2.svg +5 -0
  744. package/icons/svg/list-checks.svg +7 -0
  745. package/icons/svg/list-filter.svg +5 -0
  746. package/icons/svg/list-ordered.svg +8 -0
  747. package/icons/svg/list.svg +8 -0
  748. package/icons/svg/loader-circle.svg +3 -0
  749. package/icons/svg/lock.svg +4 -0
  750. package/icons/svg/log-out.svg +5 -0
  751. package/icons/svg/map-pin.svg +4 -0
  752. package/icons/svg/menu.svg +5 -0
  753. package/icons/svg/message-circle.svg +3 -0
  754. package/icons/svg/message-square.svg +3 -0
  755. package/icons/svg/minus.svg +3 -0
  756. package/icons/svg/moon.svg +3 -0
  757. package/icons/svg/move-horizontal.svg +5 -0
  758. package/icons/svg/octagon-x.svg +5 -0
  759. package/icons/svg/package.svg +6 -0
  760. package/icons/svg/panel-right.svg +4 -0
  761. package/icons/svg/paperclip.svg +3 -0
  762. package/icons/svg/pause.svg +4 -0
  763. package/icons/svg/pen-line.svg +4 -0
  764. package/icons/svg/pencil.svg +4 -0
  765. package/icons/svg/phone.svg +3 -0
  766. package/icons/svg/pin-off.svg +6 -0
  767. package/icons/svg/play.svg +3 -0
  768. package/icons/svg/plus.svg +4 -0
  769. package/icons/svg/redo-2.svg +4 -0
  770. package/icons/svg/refresh-cw.svg +6 -0
  771. package/icons/svg/rotate-ccw.svg +4 -0
  772. package/icons/svg/scan-barcode.svg +9 -0
  773. package/icons/svg/scissors.svg +7 -0
  774. package/icons/svg/scroll-text.svg +6 -0
  775. package/icons/svg/search.svg +4 -0
  776. package/icons/svg/send.svg +4 -0
  777. package/icons/svg/settings.svg +4 -0
  778. package/icons/svg/shield.svg +3 -0
  779. package/icons/svg/shopping-bag.svg +5 -0
  780. package/icons/svg/shopping-cart.svg +6 -0
  781. package/icons/svg/sliders-horizontal.svg +11 -0
  782. package/icons/svg/smartphone.svg +4 -0
  783. package/icons/svg/sparkles.svg +6 -0
  784. package/icons/svg/square.svg +3 -0
  785. package/icons/svg/star.svg +3 -0
  786. package/icons/svg/sun.svg +11 -0
  787. package/icons/svg/tags.svg +5 -0
  788. package/icons/svg/thumbs-down.svg +4 -0
  789. package/icons/svg/thumbs-up.svg +4 -0
  790. package/icons/svg/trash.svg +7 -0
  791. package/icons/svg/triangle-alert.svg +5 -0
  792. package/icons/svg/truck.svg +7 -0
  793. package/icons/svg/underline.svg +4 -0
  794. package/icons/svg/undo-2.svg +4 -0
  795. package/icons/svg/unlink.svg +8 -0
  796. package/icons/svg/upload.svg +5 -0
  797. package/icons/svg/user-check.svg +5 -0
  798. package/icons/svg/user-cog.svg +13 -0
  799. package/icons/svg/user-plus.svg +6 -0
  800. package/icons/svg/user-round.svg +4 -0
  801. package/icons/svg/user.svg +4 -0
  802. package/icons/svg/users.svg +6 -0
  803. package/icons/svg/video.svg +4 -0
  804. package/icons/svg/wallet.svg +4 -0
  805. package/icons/svg/wrench.svg +3 -0
  806. package/icons/svg/x.svg +4 -0
  807. package/package.json +26 -24
  808. package/scripts/build-theme.mjs +8 -0
  809. package/src/ai/attachment/attachment.tsx +28 -5
  810. package/src/ai/chain-of-thought/chain-of-thought.tsx +47 -10
  811. package/src/ai/chat-list/chat-list.tsx +55 -10
  812. package/src/ai/chat-message/chat-message.tsx +25 -6
  813. package/src/ai/code-block/code-block.tsx +28 -7
  814. package/src/ai/conversation/conversation.tsx +24 -5
  815. package/src/ai/internal/disclosure.tsx +8 -2
  816. package/src/ai/loader/loader.tsx +14 -3
  817. package/src/ai/markdown/markdown.tsx +80 -35
  818. package/src/ai/message-actions/message-actions.tsx +1 -1
  819. package/src/ai/prompt-input/prompt-input.tsx +50 -10
  820. package/src/ai/source/source.tsx +44 -7
  821. package/src/ai/tool-call/tool-call.tsx +47 -12
  822. package/src/atoms/avatar/avatar.tsx +77 -12
  823. package/src/atoms/avatar/index.ts +1 -1
  824. package/src/atoms/avatar-group/avatar-group.tsx +7 -9
  825. package/src/atoms/big-date/big-date.tsx +2 -2
  826. package/src/atoms/button/button.tsx +42 -14
  827. package/src/atoms/button/index.ts +4 -0
  828. package/src/atoms/checkbox/checkbox.tsx +119 -18
  829. package/src/atoms/checkbox/index.ts +1 -1
  830. package/src/atoms/chip/chip.tsx +4 -3
  831. package/src/atoms/chip/index.ts +1 -1
  832. package/src/atoms/icon/icon-map.ts +4 -4
  833. package/src/atoms/icon/icon.tsx +7 -8
  834. package/src/atoms/internal/status-icons.tsx +1 -1
  835. package/src/atoms/led/index.ts +1 -1
  836. package/src/atoms/led/led.tsx +21 -6
  837. package/src/atoms/progress/index.ts +1 -1
  838. package/src/atoms/progress/progress.tsx +52 -13
  839. package/src/atoms/radio-group/index.ts +1 -0
  840. package/src/atoms/radio-group/radio-group-primitive.tsx +196 -0
  841. package/src/atoms/radio-group/radio-group.tsx +48 -14
  842. package/src/atoms/status-dot/index.ts +1 -0
  843. package/src/atoms/status-dot/status-dot.tsx +18 -5
  844. package/src/atoms/status-pill/index.ts +1 -1
  845. package/src/atoms/status-pill/status-pill.tsx +21 -6
  846. package/src/atoms/switch/index.ts +1 -1
  847. package/src/atoms/switch/switch.tsx +102 -15
  848. package/src/atoms/trend-chip/index.ts +1 -1
  849. package/src/atoms/trend-chip/trend-chip.tsx +17 -4
  850. package/src/brand/logo-forge.tsx +1 -1
  851. package/src/calendar/day-chip/day-chip.tsx +16 -6
  852. package/src/calendar/day-chip/index.ts +1 -1
  853. package/src/calendar/event-block/event-block.tsx +44 -9
  854. package/src/calendar/event-block/index.ts +6 -1
  855. package/src/calendar/month-view/index.ts +1 -1
  856. package/src/calendar/month-view/month-view.tsx +37 -6
  857. package/src/calendar/timeline-view/index.ts +1 -1
  858. package/src/calendar/timeline-view/timeline-view.tsx +26 -7
  859. package/src/calendar/week-view/index.ts +1 -1
  860. package/src/calendar/week-view/week-view.tsx +50 -10
  861. package/src/charts/README.md +1 -1
  862. package/src/charts/bar-chart/bar-race-chart.tsx +4 -4
  863. package/src/charts/bubble-map/bubble-map.tsx +1 -1
  864. package/src/charts/bullet-chart/bullet-chart.tsx +2 -2
  865. package/src/charts/candlestick-chart/candlestick-chart.tsx +3 -3
  866. package/src/charts/chart-grid/chart-grid.tsx +2 -2
  867. package/src/charts/chord-chart/chord-chart.tsx +1 -1
  868. package/src/charts/choropleth-map/choropleth-map.tsx +1 -1
  869. package/src/charts/core/axes.tsx +3 -3
  870. package/src/charts/core/breadcrumb.tsx +1 -1
  871. package/src/charts/core/cartesian/annotations.tsx +3 -3
  872. package/src/charts/core/cartesian/cartesian-chart.tsx +1 -1
  873. package/src/charts/core/cartesian/category-group-axis.tsx +1 -1
  874. package/src/charts/core/cartesian/ink-layer.tsx +1 -1
  875. package/src/charts/core/cartesian/marks.tsx +1 -1
  876. package/src/charts/core/chart-states.tsx +2 -2
  877. package/src/charts/core/distribution/layout.ts +1 -1
  878. package/src/charts/core/distribution/marks.tsx +2 -2
  879. package/src/charts/core/distribution/xy-points.tsx +4 -4
  880. package/src/charts/core/export-menu.tsx +1 -1
  881. package/src/charts/core/legend.tsx +2 -2
  882. package/src/charts/core/tooltip.tsx +3 -3
  883. package/src/charts/crossfilter/crossfilter.tsx +4 -4
  884. package/src/charts/donut-chart/donut-chart.tsx +1 -1
  885. package/src/charts/dumbbell-chart/dumbbell-chart.tsx +5 -5
  886. package/src/charts/fill-gauge-chart/fill-gauge-chart.tsx +1 -1
  887. package/src/charts/funnel-chart/funnel-chart.tsx +6 -6
  888. package/src/charts/gantt-chart/gantt-chart.tsx +7 -7
  889. package/src/charts/gantt-chart/gantt-marks.tsx +6 -6
  890. package/src/charts/gauge-chart/gauge-chart.tsx +4 -4
  891. package/src/charts/globe-chart/globe-chart.tsx +1 -1
  892. package/src/charts/heatmap-chart/heatmap-grid.tsx +7 -7
  893. package/src/charts/hierarchy-morph/hierarchy-morph.tsx +3 -3
  894. package/src/charts/histogram/histogram.tsx +1 -1
  895. package/src/charts/icicle-chart/icicle-chart.tsx +2 -2
  896. package/src/charts/isotype-rows/isotype-rows.tsx +3 -3
  897. package/src/charts/lollipop-chart/lollipop-chart.tsx +1 -1
  898. package/src/charts/maps/geo/map-data-table.tsx +3 -3
  899. package/src/charts/maps/geo/map-legend.tsx +5 -5
  900. package/src/charts/maps/geo/map-viewport.tsx +1 -1
  901. package/src/charts/parliament-chart/parliament-chart.tsx +2 -2
  902. package/src/charts/pictogram-chart/pictogram-chart.tsx +1 -1
  903. package/src/charts/polar-area-chart/polar-area-chart.tsx +2 -2
  904. package/src/charts/progress-units/progress-units.tsx +1 -1
  905. package/src/charts/radar-chart/radar-chart.tsx +1 -1
  906. package/src/charts/radial-bar-chart/radial-bar-chart.tsx +1 -1
  907. package/src/charts/sankey-chart/sankey-chart.tsx +5 -5
  908. package/src/charts/slope-chart/slope-chart.tsx +1 -1
  909. package/src/charts/sparkline/sparkline.tsx +1 -1
  910. package/src/charts/stock-chart/stock-chart.tsx +1 -1
  911. package/src/charts/stock-chart/stock-drawing-layer.tsx +4 -4
  912. package/src/charts/stock-chart/stock-plot.tsx +3 -3
  913. package/src/charts/stream-graph/stream-graph.tsx +1 -1
  914. package/src/charts/sunburst-chart/sunburst-chart.tsx +1 -1
  915. package/src/charts/timeline-chart/timeline-chart.tsx +3 -3
  916. package/src/charts/tree-chart/tree-card.tsx +6 -6
  917. package/src/charts/tree-chart/tree-chart.tsx +5 -5
  918. package/src/charts/treemap-chart/treemap-chart.tsx +3 -3
  919. package/src/charts/waterfall-chart/waterfall-chart.tsx +2 -2
  920. package/src/containers/action-bar/action-bar.tsx +21 -4
  921. package/src/containers/action-bar/index.ts +1 -1
  922. package/src/containers/banner/banner.tsx +19 -5
  923. package/src/containers/card/card.tsx +1 -1
  924. package/src/containers/carousel/carousel.tsx +38 -10
  925. package/src/containers/carousel/index.ts +1 -1
  926. package/src/containers/comment/comment.tsx +1 -1
  927. package/src/containers/confirm-action/confirm-action.tsx +41 -8
  928. package/src/containers/data-grid/chart-panel.tsx +4 -4
  929. package/src/containers/data-grid/column-menu.tsx +14 -14
  930. package/src/containers/data-grid/data-grid.demos.tsx +13 -13
  931. package/src/containers/data-grid/data-grid.samples.tsx +1 -1
  932. package/src/containers/data-grid/data-grid.tsx +38 -38
  933. package/src/containers/data-grid/filter-builder-editor.tsx +6 -6
  934. package/src/containers/data-grid/formula-bar.tsx +4 -4
  935. package/src/containers/data-grid/grid-toolbar.tsx +7 -7
  936. package/src/containers/data-grid/spreadsheet.demos.tsx +1 -1
  937. package/src/containers/data-grid/tool-panel.tsx +11 -11
  938. package/src/containers/description-list/description-list.tsx +1 -1
  939. package/src/containers/facts/facts.tsx +2 -2
  940. package/src/containers/file-tree/file-tree.tsx +30 -9
  941. package/src/containers/file-tree/index.ts +1 -1
  942. package/src/containers/generic-row/generic-row.tsx +3 -3
  943. package/src/containers/hbars/hbars.tsx +5 -5
  944. package/src/containers/item-card-group/index.ts +1 -0
  945. package/src/containers/item-card-group/item-card-group.tsx +65 -13
  946. package/src/containers/kanban/index.ts +1 -1
  947. package/src/containers/kanban/kanban.tsx +67 -11
  948. package/src/containers/kpi/kpi.tsx +26 -8
  949. package/src/containers/kpi-group/index.ts +1 -1
  950. package/src/containers/kpi-group/kpi-group.tsx +37 -8
  951. package/src/containers/page-header/page-header.tsx +2 -2
  952. package/src/containers/responsive-list/responsive-list.tsx +57 -10
  953. package/src/containers/settings-layout/settings-layout.tsx +1 -1
  954. package/src/containers/settings-row/settings-row.tsx +20 -5
  955. package/src/containers/table/table.tsx +5 -5
  956. package/src/containers/timeline/index.ts +1 -0
  957. package/src/containers/timeline/timeline.tsx +68 -12
  958. package/src/dashboards/layout.tsx +2 -2
  959. package/src/forms/accent-picker/accent-picker.tsx +23 -13
  960. package/src/forms/accent-picker/index.ts +1 -0
  961. package/src/forms/checkbox-button-group/checkbox-button-group.tsx +19 -2
  962. package/src/forms/checkbox-button-group/index.ts +1 -0
  963. package/src/forms/dropzone/dropzone.tsx +27 -5
  964. package/src/forms/dropzone/index.ts +1 -0
  965. package/src/forms/emoji-picker/emoji-picker.tsx +50 -10
  966. package/src/forms/emoji-picker/index.ts +1 -1
  967. package/src/forms/emoji-reaction-button/emoji-reaction-button.tsx +35 -8
  968. package/src/forms/emoji-reaction-button/index.ts +2 -0
  969. package/src/forms/field/field.tsx +38 -9
  970. package/src/forms/field/index.ts +1 -1
  971. package/src/forms/inline-select/inline-select.tsx +1 -1
  972. package/src/forms/input-icon/index.ts +1 -1
  973. package/src/forms/input-icon/input-icon.tsx +13 -5
  974. package/src/forms/internal/button-option.tsx +15 -5
  975. package/src/forms/native-select/index.ts +1 -0
  976. package/src/forms/native-select/native-select.tsx +13 -3
  977. package/src/forms/number-stepper/index.ts +5 -1
  978. package/src/forms/number-stepper/number-stepper.tsx +18 -5
  979. package/src/forms/pin-input/index.ts +1 -1
  980. package/src/forms/pin-input/pin-input.tsx +22 -3
  981. package/src/forms/radio-button-group/index.ts +1 -0
  982. package/src/forms/radio-button-group/radio-button-group.tsx +14 -2
  983. package/src/forms/rating/index.ts +1 -1
  984. package/src/forms/rating/rating.tsx +27 -8
  985. package/src/forms/select/select.tsx +1 -1
  986. package/src/forms/slider/index.ts +1 -0
  987. package/src/forms/slider/slider.tsx +46 -6
  988. package/src/i18n/strings.ts +3 -0
  989. package/src/icons/alert-triangle.tsx +3 -0
  990. package/src/icons/archive.tsx +13 -0
  991. package/src/icons/armchair.tsx +14 -0
  992. package/src/icons/arrow-down-right.tsx +12 -0
  993. package/src/icons/arrow-down-to-line.tsx +13 -0
  994. package/src/icons/arrow-down.tsx +12 -0
  995. package/src/icons/arrow-left-to-line.tsx +13 -0
  996. package/src/icons/arrow-left.tsx +12 -0
  997. package/src/icons/arrow-right-to-line.tsx +13 -0
  998. package/src/icons/arrow-right.tsx +12 -0
  999. package/src/icons/arrow-up-from-line.tsx +13 -0
  1000. package/src/icons/arrow-up-right.tsx +12 -0
  1001. package/src/icons/arrow-up-to-line.tsx +13 -0
  1002. package/src/icons/arrow-up.tsx +12 -0
  1003. package/src/icons/banknote.tsx +13 -0
  1004. package/src/icons/bar-chart2.tsx +3 -0
  1005. package/src/icons/bar-chart3.tsx +3 -0
  1006. package/src/icons/bell.tsx +12 -0
  1007. package/src/icons/bold.tsx +11 -0
  1008. package/src/icons/book-open.tsx +12 -0
  1009. package/src/icons/boxes.tsx +22 -0
  1010. package/src/icons/brain.tsx +18 -0
  1011. package/src/icons/calculator.tsx +20 -0
  1012. package/src/icons/calendar-check.tsx +15 -0
  1013. package/src/icons/calendar-clock.tsx +16 -0
  1014. package/src/icons/calendar-days.tsx +20 -0
  1015. package/src/icons/calendar-plus.tsx +16 -0
  1016. package/src/icons/calendar-x.tsx +16 -0
  1017. package/src/icons/calendar.tsx +14 -0
  1018. package/src/icons/camera.tsx +12 -0
  1019. package/src/icons/chart-column.tsx +14 -0
  1020. package/src/icons/chart-no-axes-column.tsx +13 -0
  1021. package/src/icons/check-check.tsx +12 -0
  1022. package/src/icons/check-circle2.tsx +3 -0
  1023. package/src/icons/check.tsx +11 -0
  1024. package/src/icons/chevron-down.tsx +11 -0
  1025. package/src/icons/chevron-left.tsx +11 -0
  1026. package/src/icons/chevron-right.tsx +11 -0
  1027. package/src/icons/chevrons-left.tsx +12 -0
  1028. package/src/icons/chevrons-right.tsx +12 -0
  1029. package/src/icons/chevrons-up-down.tsx +12 -0
  1030. package/src/icons/circle-alert.tsx +13 -0
  1031. package/src/icons/circle-check.tsx +12 -0
  1032. package/src/icons/circle-x.tsx +13 -0
  1033. package/src/icons/clipboard-list.tsx +16 -0
  1034. package/src/icons/clock.tsx +12 -0
  1035. package/src/icons/coins.tsx +14 -0
  1036. package/src/icons/columns-3.tsx +13 -0
  1037. package/src/icons/construction.tsx +18 -0
  1038. package/src/icons/copy.tsx +12 -0
  1039. package/src/icons/credit-card.tsx +13 -0
  1040. package/src/icons/download.tsx +13 -0
  1041. package/src/icons/ellipsis-vertical.tsx +13 -0
  1042. package/src/icons/external-link.tsx +13 -0
  1043. package/src/icons/eye-off.tsx +14 -0
  1044. package/src/icons/face-slightly-smiling-plus.tsx +16 -0
  1045. package/src/icons/face-slightly-smiling.tsx +14 -0
  1046. package/src/icons/file-code.tsx +14 -0
  1047. package/src/icons/file-image.tsx +14 -0
  1048. package/src/icons/file-spreadsheet.tsx +16 -0
  1049. package/src/icons/file-text.tsx +15 -0
  1050. package/src/icons/file.tsx +12 -0
  1051. package/src/icons/filter.tsx +3 -0
  1052. package/src/icons/folder-open.tsx +11 -0
  1053. package/src/icons/folder.tsx +11 -0
  1054. package/src/icons/funnel.tsx +11 -0
  1055. package/src/icons/grip-vertical.tsx +16 -0
  1056. package/src/icons/heading-2.tsx +14 -0
  1057. package/src/icons/icon-base.tsx +51 -0
  1058. package/src/icons/inbox.tsx +12 -0
  1059. package/src/icons/index.ts +146 -0
  1060. package/src/icons/info.tsx +13 -0
  1061. package/src/icons/italic.tsx +13 -0
  1062. package/src/icons/landmark.tsx +16 -0
  1063. package/src/icons/layers.tsx +13 -0
  1064. package/src/icons/layout-dashboard.tsx +14 -0
  1065. package/src/icons/layout-grid.tsx +14 -0
  1066. package/src/icons/link-2.tsx +13 -0
  1067. package/src/icons/list-checks.tsx +15 -0
  1068. package/src/icons/list-filter.tsx +13 -0
  1069. package/src/icons/list-ordered.tsx +16 -0
  1070. package/src/icons/list.tsx +16 -0
  1071. package/src/icons/loader-circle.tsx +11 -0
  1072. package/src/icons/lock.tsx +12 -0
  1073. package/src/icons/log-out.tsx +13 -0
  1074. package/src/icons/map-pin.tsx +12 -0
  1075. package/src/icons/menu.tsx +13 -0
  1076. package/src/icons/message-circle.tsx +11 -0
  1077. package/src/icons/message-square.tsx +11 -0
  1078. package/src/icons/minus.tsx +11 -0
  1079. package/src/icons/moon.tsx +11 -0
  1080. package/src/icons/move-horizontal.tsx +13 -0
  1081. package/src/icons/octagon-x.tsx +13 -0
  1082. package/src/icons/package.tsx +14 -0
  1083. package/src/icons/panel-right.tsx +12 -0
  1084. package/src/icons/paperclip.tsx +11 -0
  1085. package/src/icons/pause.tsx +12 -0
  1086. package/src/icons/pen-line.tsx +12 -0
  1087. package/src/icons/pencil.tsx +12 -0
  1088. package/src/icons/phone.tsx +11 -0
  1089. package/src/icons/pin-off.tsx +14 -0
  1090. package/src/icons/play.tsx +11 -0
  1091. package/src/icons/plus.tsx +12 -0
  1092. package/src/icons/redo-2.tsx +12 -0
  1093. package/src/icons/refresh-cw.tsx +14 -0
  1094. package/src/icons/rotate-ccw.tsx +12 -0
  1095. package/src/icons/scan-barcode.tsx +17 -0
  1096. package/src/icons/scissors.tsx +15 -0
  1097. package/src/icons/scroll-text.tsx +14 -0
  1098. package/src/icons/search.tsx +12 -0
  1099. package/src/icons/send.tsx +12 -0
  1100. package/src/icons/settings.tsx +12 -0
  1101. package/src/icons/shield.tsx +11 -0
  1102. package/src/icons/shopping-bag.tsx +13 -0
  1103. package/src/icons/shopping-cart.tsx +14 -0
  1104. package/src/icons/sliders-horizontal.tsx +19 -0
  1105. package/src/icons/smartphone.tsx +12 -0
  1106. package/src/icons/smile-plus.tsx +3 -0
  1107. package/src/icons/smile.tsx +3 -0
  1108. package/src/icons/sparkles.tsx +14 -0
  1109. package/src/icons/square.tsx +11 -0
  1110. package/src/icons/star.tsx +11 -0
  1111. package/src/icons/sun.tsx +19 -0
  1112. package/src/icons/tags.tsx +13 -0
  1113. package/src/icons/thumbs-down.tsx +12 -0
  1114. package/src/icons/thumbs-up.tsx +12 -0
  1115. package/src/icons/trash.tsx +15 -0
  1116. package/src/icons/trash2.tsx +3 -0
  1117. package/src/icons/triangle-alert.tsx +13 -0
  1118. package/src/icons/truck.tsx +15 -0
  1119. package/src/icons/underline.tsx +12 -0
  1120. package/src/icons/undo-2.tsx +12 -0
  1121. package/src/icons/unlink.tsx +16 -0
  1122. package/src/icons/upload.tsx +13 -0
  1123. package/src/icons/user-check.tsx +13 -0
  1124. package/src/icons/user-cog.tsx +21 -0
  1125. package/src/icons/user-plus.tsx +14 -0
  1126. package/src/icons/user-round.tsx +12 -0
  1127. package/src/icons/user.tsx +12 -0
  1128. package/src/icons/users.tsx +14 -0
  1129. package/src/icons/video.tsx +12 -0
  1130. package/src/icons/wallet.tsx +12 -0
  1131. package/src/icons/wrench.tsx +11 -0
  1132. package/src/icons/x.tsx +12 -0
  1133. package/src/icons/xcircle.tsx +3 -0
  1134. package/src/icons/xoctagon.tsx +3 -0
  1135. package/src/navigation/floating-toc/floating-toc.tsx +25 -5
  1136. package/src/navigation/floating-toc/index.ts +1 -1
  1137. package/src/navigation/segmented/segmented.tsx +106 -18
  1138. package/src/navigation/stepper/index.ts +1 -1
  1139. package/src/navigation/stepper/stepper.tsx +22 -6
  1140. package/src/navigation/tabs/tabs.tsx +190 -23
  1141. package/src/overlays/context-menu/context-menu.tsx +9 -14
  1142. package/src/overlays/dialog/dialog.tsx +24 -12
  1143. package/src/overlays/dialog/index.ts +2 -0
  1144. package/src/overlays/drawer/drawer.tsx +29 -13
  1145. package/src/overlays/drawer/index.ts +2 -0
  1146. package/src/overlays/dropdown-menu/dropdown-menu.tsx +107 -28
  1147. package/src/overlays/dropdown-menu/index.ts +9 -0
  1148. package/src/overlays/hover-card/hover-card.tsx +4 -4
  1149. package/src/overlays/popover/index.ts +1 -0
  1150. package/src/overlays/popover/popover.tsx +10 -7
  1151. package/src/overlays/toaster/index.ts +9 -1
  1152. package/src/overlays/toaster/toast-store.ts +100 -0
  1153. package/src/overlays/toaster/toast.ts +18 -0
  1154. package/src/overlays/toaster/toaster.tsx +277 -18
  1155. package/src/palette/command-palette/command-palette.tsx +65 -15
  1156. package/src/palette/command-palette/index.ts +1 -0
  1157. package/src/primitives/command/command.tsx +621 -0
  1158. package/src/primitives/command/score.ts +104 -0
  1159. package/src/primitives/command/store.ts +280 -0
  1160. package/src/primitives/dialog/dialog.tsx +316 -0
  1161. package/src/primitives/focusable.ts +85 -0
  1162. package/src/primitives/global-singleton.ts +10 -0
  1163. package/src/primitives/hide-others.ts +116 -0
  1164. package/src/primitives/index.ts +42 -0
  1165. package/src/primitives/layer-stack.ts +27 -0
  1166. package/src/primitives/menu/grace.ts +40 -0
  1167. package/src/primitives/menu/menu.tsx +1129 -0
  1168. package/src/primitives/menu/navigation.ts +15 -0
  1169. package/src/primitives/menu/typeahead.ts +22 -0
  1170. package/src/primitives/pointer-events-lock.ts +48 -0
  1171. package/src/primitives/popover/popover.tsx +316 -0
  1172. package/src/primitives/popper/geometry.ts +250 -0
  1173. package/src/primitives/popper/popper.tsx +434 -0
  1174. package/src/primitives/portal.tsx +23 -0
  1175. package/src/primitives/scroll-lock.ts +114 -0
  1176. package/src/primitives/use-dismissable-layer.ts +171 -0
  1177. package/src/primitives/use-focus-scope.ts +127 -0
  1178. package/src/primitives/use-layer.ts +14 -0
  1179. package/src/primitives/use-presence.ts +111 -0
  1180. package/src/rich-text/index.ts +1 -0
  1181. package/src/rich-text/rich-text-editor.tsx +57 -10
  1182. package/src/shell/app-shell/app-shell.tsx +6 -4
  1183. package/src/shell/sidebar/index.ts +1 -0
  1184. package/src/shell/sidebar/sidebar.tsx +32 -6
  1185. package/src/shell/topbar/index.ts +1 -1
  1186. package/src/shell/topbar/topbar.tsx +57 -10
  1187. package/src/showcase/controls-bento.tsx +2 -2
  1188. package/src/showcase/kit-tiles.tsx +1 -1
  1189. package/src/showcase/operations-bento.tsx +1 -1
  1190. package/src/showcase/shell.tsx +1 -1
  1191. package/src/states/empty-state/empty-state.tsx +2 -2
  1192. package/src/states/error-state/error-state.tsx +4 -4
  1193. package/src/states/forbidden-state/forbidden-state.tsx +2 -2
  1194. package/src/states/offline-banner/offline-banner.tsx +1 -1
  1195. package/src/utils/class-groups.ts +851 -0
  1196. package/src/utils/class-merge.ts +248 -0
  1197. package/src/utils/class-names.ts +9 -0
  1198. package/src/utils/class-tokens.generated.ts +101 -0
  1199. package/src/utils/class-validators.ts +69 -0
  1200. package/src/utils/cn.ts +82 -87
  1201. package/src/utils/compose.ts +19 -0
  1202. package/src/utils/form-bubble.tsx +147 -0
  1203. package/src/utils/index.ts +9 -1
  1204. package/src/utils/roving-focus.ts +116 -0
  1205. package/src/utils/slot.tsx +91 -0
  1206. package/src/utils/use-controllable-state.ts +47 -0
  1207. package/styles/Theme.kt +1 -1
  1208. package/styles/theme.css +15 -0
  1209. package/styles/tokens.css +1 -1
  1210. package/tokens/default.json +18 -2
@@ -27,7 +27,7 @@ export function thinTicks(ticks: readonly AxisTick[], gap = 10): AxisTick[] {
27
27
  return ticks.filter((_, index) => index % every === 0);
28
28
  }
29
29
 
30
- const TEXT = "fill-ink-3 font-medium text-[11px] tabular-nums";
30
+ const TEXT = "fill-ink-3 font-medium text-fs-110 tabular-nums";
31
31
 
32
32
  export interface GridLinesProps {
33
33
  ticks: readonly AxisTick[];
@@ -120,7 +120,7 @@ export const AxisLeft = memo(function AxisLeft({ ticks, offset, title, color }:
120
120
  x={-10}
121
121
  y={-16}
122
122
  textAnchor="end"
123
- className="fill-ink-3 font-bold text-[10.5px]"
123
+ className="fill-ink-3 font-bold text-fs-105"
124
124
  style={color ? { fill: color } : undefined}
125
125
  >
126
126
  {title}
@@ -152,7 +152,7 @@ export const AxisRight = memo(function AxisRight({ ticks, offset, title, color }
152
152
  x={10}
153
153
  y={-16}
154
154
  textAnchor="start"
155
- className="fill-ink-3 font-bold text-[10.5px]"
155
+ className="fill-ink-3 font-bold text-fs-105"
156
156
  style={color ? { fill: color } : undefined}
157
157
  >
158
158
  {title}
@@ -23,7 +23,7 @@ export interface ChartBreadcrumbProps {
23
23
  export function ChartBreadcrumb({ items, onSelect, label, className }: ChartBreadcrumbProps) {
24
24
  return (
25
25
  <nav aria-label={label} className={cn("min-w-0", className)}>
26
- <ol className="m-0 flex list-none flex-wrap items-center gap-1 p-0 text-[12px]">
26
+ <ol className="m-0 flex list-none flex-wrap items-center gap-1 p-0 text-fs-120">
27
27
  {items.map((item, index) => {
28
28
  const current = index === items.length - 1;
29
29
  return (
@@ -36,7 +36,7 @@ function Pill({
36
36
  y={y}
37
37
  dy="0.35em"
38
38
  textAnchor="middle"
39
- className="font-bold text-[10.5px]"
39
+ className="font-bold text-fs-105"
40
40
  style={{ fill: ink }}
41
41
  >
42
42
  {text}
@@ -86,7 +86,7 @@ export const AnnotationLayer = memo(function AnnotationLayer({
86
86
  paintOrder="stroke"
87
87
  strokeWidth={3}
88
88
  strokeLinejoin="round"
89
- className="stroke-surface font-bold text-[11px]"
89
+ className="stroke-surface font-bold text-fs-110"
90
90
  style={{ fill: ink }}
91
91
  >
92
92
  {note.label}
@@ -111,7 +111,7 @@ export const AnnotationLayer = memo(function AnnotationLayer({
111
111
  <text
112
112
  x={(horizontal ? 0 : note.from) + 6}
113
113
  y={(horizontal ? note.from : 0) + 13}
114
- className="font-bold text-[10.5px]"
114
+ className="font-bold text-fs-105"
115
115
  style={{ fill: ink }}
116
116
  >
117
117
  {note.label}
@@ -1202,7 +1202,7 @@ function CartesianPlot({
1202
1202
  <button
1203
1203
  type="button"
1204
1204
  onClick={() => onRangeChange(null)}
1205
- className="absolute top-0 right-0 inline-flex h-7 cursor-pointer items-center gap-1 rounded-button border-0 bg-surface-2 px-3 font-semibold text-[12px] text-ink-2 hover:bg-sunken hover:text-ink"
1205
+ className="absolute top-0 right-0 inline-flex h-7 cursor-pointer items-center gap-1 rounded-button border-0 bg-surface-2 px-3 font-semibold text-fs-120 text-ink-2 hover:bg-sunken hover:text-ink"
1206
1206
  >
1207
1207
  <svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24">
1208
1208
  <path
@@ -31,7 +31,7 @@ export function CategoryGroupAxis({
31
31
  x={span.center}
32
32
  y={19}
33
33
  textAnchor="middle"
34
- className="font-bold text-[12px]"
34
+ className="font-bold text-fs-120"
35
35
  style={{ fill: "var(--ink-2)" }}
36
36
  >
37
37
  {fit(span.label, span.to - span.from - 8)}
@@ -410,7 +410,7 @@ function Ruler({
410
410
  }
411
411
 
412
412
  const buttonClass =
413
- "inline-flex h-7 cursor-pointer items-center rounded-button border-0 px-3 font-semibold text-[12px] outline-none focus-visible:outline-2 focus-visible:outline-accent-ink disabled:cursor-not-allowed disabled:opacity-40";
413
+ "inline-flex h-7 cursor-pointer items-center rounded-button border-0 px-3 font-semibold text-fs-120 outline-none focus-visible:outline-2 focus-visible:outline-accent-ink disabled:cursor-not-allowed disabled:opacity-40";
414
414
 
415
415
  /** Buttons for the ruler and pen tools plus undo, redo and clear. Place it next to the chart. */
416
416
  export function ChartInkToolbar({ ink, className }: { ink: ChartInk; className?: string }) {
@@ -146,7 +146,7 @@ export const DataLabels = memo(function DataLabels({ geometry, dimmed }: DataLab
146
146
  strokeWidth={label.inside ? 0 : 3}
147
147
  strokeLinejoin="round"
148
148
  className={cn(
149
- "font-bold text-[10.5px] tabular-nums",
149
+ "font-bold text-fs-105 tabular-nums",
150
150
  label.inside ? "fill-surface" : "fill-ink-2 stroke-surface",
151
151
  )}
152
152
  >
@@ -48,7 +48,7 @@ export function ChartSkeleton({ height, label, shape = "bars", className }: Char
48
48
  {SKELETON_BARS.map((ratio) => (
49
49
  <span
50
50
  key={ratio}
51
- className="flex-1 rounded-t-[6px] bg-surface-2"
51
+ className="flex-1 rounded-t-chip bg-surface-2"
52
52
  style={{ height: `${ratio * 100}%` }}
53
53
  />
54
54
  ))}
@@ -83,7 +83,7 @@ export function ChartEmpty({ height, label, className }: ChartEmptyProps) {
83
83
  strokeLinecap="round"
84
84
  />
85
85
  </svg>
86
- <p className="m-0 font-semibold text-[13px] text-ink-3">{label}</p>
86
+ <p className="m-0 font-semibold text-fs-130 text-ink-3">{label}</p>
87
87
  </div>
88
88
  );
89
89
  }
@@ -297,6 +297,6 @@ export function tooltipFit(width: number): { containerWidth: number; className?:
297
297
  if (width >= 480) return { containerWidth: width };
298
298
  return {
299
299
  containerWidth: width * 1.2,
300
- className: "min-w-[112px] max-w-[calc(50cqw-16px)]",
300
+ className: "min-w-28 max-w-[calc(50cqw-16px)]",
301
301
  };
302
302
  }
@@ -7,7 +7,7 @@ import type { DistributionLabels } from "./labels.js";
7
7
  import type { CategoryLayout, XYLayout } from "./layout.js";
8
8
  import type { BoxStats } from "./stats.js";
9
9
 
10
- const TITLE = "fill-ink-3 font-bold text-[10.5px]";
10
+ const TITLE = "fill-ink-3 font-bold text-fs-105";
11
11
 
12
12
  /** Gridlines along the value axis plus both axes of a `categoryLayout`. */
13
13
  export const CategoryAxes = memo(function CategoryAxes({
@@ -39,7 +39,7 @@ export const CategoryAxes = memo(function CategoryAxes({
39
39
  y={tick.position}
40
40
  dy="0.34em"
41
41
  textAnchor="end"
42
- className="fill-ink-2 font-semibold text-[12px]"
42
+ className="fill-ink-2 font-semibold text-fs-120"
43
43
  >
44
44
  {tick.label}
45
45
  </text>
@@ -316,7 +316,7 @@ function SizeKey({
316
316
  }));
317
317
  const box = maxRadius * 2 + 2;
318
318
  return (
319
- <div className="flex flex-wrap items-center gap-x-3 gap-y-1 px-2 text-[12px] text-ink-3">
319
+ <div className="flex flex-wrap items-center gap-x-3 gap-y-1 px-2 text-fs-120 text-ink-3">
320
320
  <span className="font-semibold">{label}</span>
321
321
  <div className="flex flex-wrap items-end gap-x-3 gap-y-1">
322
322
  {steps.map((step) => (
@@ -980,7 +980,7 @@ function XYPointPlot({
980
980
  x={Math.min(trend.x2, innerWidth) - 4}
981
981
  y={trend.y2 - 8}
982
982
  textAnchor="end"
983
- className="font-bold text-[10.5px] tabular-nums"
983
+ className="font-bold text-fs-105 tabular-nums"
984
984
  style={{ fill: trend.series.color }}
985
985
  >
986
986
  {`R² ${formatNumber(trend.fit.r2, { maximumFractionDigits: 2 })}`}
@@ -1004,7 +1004,7 @@ function XYPointPlot({
1004
1004
  dy="0.34em"
1005
1005
  textAnchor={inside ? "middle" : "start"}
1006
1006
  className={cn(
1007
- "pointer-events-none font-semibold text-[11px] transition-opacity duration-150",
1007
+ "pointer-events-none font-semibold text-fs-110 transition-opacity duration-150",
1008
1008
  inside ? "fill-ink" : "fill-ink-2",
1009
1009
  )}
1010
1010
  style={{ opacity: isDimmed(point.series.id) ? 0.2 : 1 }}
@@ -1107,7 +1107,7 @@ function XYPointPlot({
1107
1107
  x={left ? 8 : innerWidth - 8}
1108
1108
  y={top ? 16 : innerHeight - 8}
1109
1109
  textAnchor={left ? "start" : "end"}
1110
- className="font-bold text-[11px]"
1110
+ className="font-bold text-fs-110"
1111
1111
  style={{ fill: tone ? TONE_COLORS[tone].ink : "var(--ink-3)" }}
1112
1112
  >
1113
1113
  {truncateLabel(text, half(innerWidth))}
@@ -58,7 +58,7 @@ export function ExportMenu({
58
58
  type="button"
59
59
  aria-label={`${texts.export} ${texts[kind]}`}
60
60
  onClick={() => run(kind)}
61
- className="cursor-pointer rounded-button px-2 py-1 font-semibold text-[11.5px] text-ink-3 outline-none hover:bg-surface hover:text-ink focus-visible:outline-2 focus-visible:outline-accent-ink"
61
+ className="cursor-pointer rounded-button px-2 py-1 font-semibold text-fs-115 text-ink-3 outline-none hover:bg-surface hover:text-ink focus-visible:outline-2 focus-visible:outline-accent-ink"
62
62
  >
63
63
  {texts[kind]}
64
64
  </button>
@@ -42,7 +42,7 @@ function Swatch({ color, shape = "square" }: { color: string; shape?: LegendShap
42
42
  return (
43
43
  <span
44
44
  aria-hidden="true"
45
- className={cn("size-2.5 shrink-0", shape === "dot" ? "rounded-pill" : "rounded-[3px]")}
45
+ className={cn("size-2.5 shrink-0", shape === "dot" ? "rounded-pill" : "rounded-xs")}
46
46
  style={{ background: color }}
47
47
  />
48
48
  );
@@ -78,7 +78,7 @@ export function ChartLegend({
78
78
  </>
79
79
  );
80
80
  const itemClass = cn(
81
- "inline-flex max-w-[220px] items-center gap-1.5 rounded-pill px-2 py-1 font-semibold text-[12px] text-ink-2 transition-[opacity,background-color] duration-150",
81
+ "inline-flex max-w-[220px] items-center gap-1.5 rounded-pill px-2 py-1 font-semibold text-fs-120 text-ink-2 transition-[opacity,background-color] duration-150",
82
82
  item.hidden && "opacity-45 [&>span:last-child]:line-through",
83
83
  );
84
84
  return (
@@ -65,7 +65,7 @@ export function ChartTooltip({
65
65
  ref={ref}
66
66
  aria-hidden="true"
67
67
  className={cn(
68
- "pointer-events-none absolute top-0 left-0 z-10 min-w-[120px] rounded-popover surface-overlay px-3 py-2.5 text-[12px] shadow-overlay",
68
+ "pointer-events-none absolute top-0 left-0 z-10 min-w-30 rounded-popover surface-overlay px-3 py-2.5 text-fs-120 shadow-overlay",
69
69
  "motion-safe:transition-transform motion-safe:duration-100 motion-safe:ease-out",
70
70
  className,
71
71
  )}
@@ -74,7 +74,7 @@ export function ChartTooltip({
74
74
  transform: `translate3d(${Math.round(left)}px, ${Math.round(y)}px, 0) translateY(-50%)`,
75
75
  }}
76
76
  >
77
- {title ? <div className="mb-1.5 font-bold text-[12px] text-ink">{title}</div> : null}
77
+ {title ? <div className="mb-1.5 font-bold text-fs-120 text-ink">{title}</div> : null}
78
78
  {body ? <div className="text-ink-2 leading-snug">{body}</div> : null}
79
79
  <div className="flex flex-col gap-1">
80
80
  {rows.map((row) => (
@@ -93,7 +93,7 @@ export function ChartTooltip({
93
93
  "size-2.5 shrink-0",
94
94
  row.shape === "line" || row.shape === "dashed" || row.shape === "dot"
95
95
  ? "rounded-pill"
96
- : "rounded-[3px]",
96
+ : "rounded-xs",
97
97
  )}
98
98
  style={{ background: row.color }}
99
99
  />
@@ -170,8 +170,8 @@ function ChartHeader({
170
170
  const own = owned.some((id) => xf.filters[id] != null);
171
171
  return (
172
172
  <div className="mb-1 flex min-w-0 flex-wrap items-baseline justify-between gap-x-3 gap-y-1">
173
- <h3 className="m-0 min-w-0 truncate font-bold text-[13px] text-ink">{title}</h3>
174
- <div className="flex shrink-0 items-center gap-2 font-semibold text-[12px] text-ink-3 tabular-nums">
173
+ <h3 className="m-0 min-w-0 truncate font-bold text-fs-130 text-ink">{title}</h3>
174
+ <div className="flex shrink-0 items-center gap-2 font-semibold text-fs-120 text-ink-3 tabular-nums">
175
175
  <span aria-live="polite">{labels.count(records, xf.total)}</span>
176
176
  {own ? (
177
177
  <button
@@ -179,7 +179,7 @@ function ChartHeader({
179
179
  onClick={() => {
180
180
  for (const id of owned) xf.clear(id);
181
181
  }}
182
- className="cursor-pointer rounded-button border-0 bg-surface-2 px-2 py-0.5 font-semibold text-[11px] text-ink-2 hover:text-ink"
182
+ className="cursor-pointer rounded-button border-0 bg-surface-2 px-2 py-0.5 font-semibold text-fs-110 text-ink-2 hover:text-ink"
183
183
  >
184
184
  {labels.clear}
185
185
  </button>
@@ -484,7 +484,7 @@ export function CrossfilterSummary({
484
484
  <button
485
485
  type="button"
486
486
  onClick={() => xf.clear()}
487
- className="cursor-pointer rounded-button border-0 bg-surface-2 px-3 py-1 font-semibold text-[12px] text-ink-2 hover:text-ink"
487
+ className="cursor-pointer rounded-button border-0 bg-surface-2 px-3 py-1 font-semibold text-fs-120 text-ink-2 hover:text-ink"
488
488
  >
489
489
  {labels.clearAll}
490
490
  </button>
@@ -616,7 +616,7 @@ function DonutPlot({
616
616
  x={label.x}
617
617
  y={label.y}
618
618
  textAnchor={label.side > 0 ? "start" : "end"}
619
- className="text-[11px]"
619
+ className="text-fs-110"
620
620
  >
621
621
  {label.lines === 2 ? (
622
622
  <>
@@ -579,7 +579,7 @@ function DumbbellPlot({
579
579
  {showValues ? (
580
580
  <g
581
581
  data-fade=""
582
- className="font-bold text-[11px] tabular-nums"
582
+ className="font-bold text-fs-110 tabular-nums"
583
583
  style={{ fill: "var(--ink-2)", opacity: dimmed ? 0.4 : 1 }}
584
584
  >
585
585
  {row.values.map((value, index) => (
@@ -602,7 +602,7 @@ function DumbbellPlot({
602
602
  x={cx}
603
603
  y={-10}
604
604
  textAnchor="middle"
605
- className="font-bold text-[12px] tabular-nums"
605
+ className="font-bold text-fs-120 tabular-nums"
606
606
  style={{ fill: deltaColor(row), opacity: dimmed ? 0.4 : 1 }}
607
607
  >
608
608
  {changeText(row, delta, fmt)}
@@ -632,7 +632,7 @@ function DumbbellPlot({
632
632
  y={cy}
633
633
  dy="0.34em"
634
634
  textAnchor="end"
635
- className="font-semibold text-[12px]"
635
+ className="font-semibold text-fs-120"
636
636
  style={{
637
637
  fill: active === i ? "var(--ink)" : "var(--ink-2)",
638
638
  opacity: dimmed ? 0.5 : 1,
@@ -643,7 +643,7 @@ function DumbbellPlot({
643
643
  {showValues ? (
644
644
  <g
645
645
  data-fade=""
646
- className="font-bold text-[11px] tabular-nums"
646
+ className="font-bold text-fs-110 tabular-nums"
647
647
  style={{ fill: "var(--ink-2)", opacity: dimmed ? 0.4 : 1 }}
648
648
  >
649
649
  {row.values.length === 2 ? (
@@ -681,7 +681,7 @@ function DumbbellPlot({
681
681
  y={cy}
682
682
  dy="0.34em"
683
683
  textAnchor="end"
684
- className="font-bold text-[12px] tabular-nums"
684
+ className="font-bold text-fs-120 tabular-nums"
685
685
  style={{ fill: deltaColor(row), opacity: dimmed ? 0.4 : 1 }}
686
686
  >
687
687
  {changeText(row, delta, fmt)}
@@ -147,7 +147,7 @@ export function FillGaugeChart({
147
147
  <div
148
148
  key={item.id}
149
149
  aria-hidden="true"
150
- className="absolute truncate px-1 text-center font-semibold text-[12px] text-ink-2"
150
+ className="absolute truncate px-1 text-center font-semibold text-fs-120 text-ink-2"
151
151
  style={{
152
152
  left: column * cellWidth,
153
153
  top: blockTop(row) + size + 2,
@@ -375,12 +375,12 @@ function FunnelPlot({
375
375
  strokeDasharray="2 3"
376
376
  style={{ stroke: "var(--ink-3)", strokeOpacity: 0.5 }}
377
377
  />
378
- <text x={x} y={shape.cy - 3} className="fill-ink-2 font-medium text-[11px]">
378
+ <text x={x} y={shape.cy - 3} className="fill-ink-2 font-medium text-fs-110">
379
379
  {truncate(datum.name, maxChars)}
380
380
  </text>
381
- <text x={x} y={shape.cy + 12} className="text-[12px]">
381
+ <text x={x} y={shape.cy + 12} className="text-fs-120">
382
382
  <tspan className="fill-ink font-bold tabular-nums">{format(datum.value)}</tspan>
383
- <tspan className="fill-ink-3 text-[11px] tabular-nums">
383
+ <tspan className="fill-ink-3 text-fs-110 tabular-nums">
384
384
  {" "}
385
385
  {formatPercent(shape.stage.ofFirst, { decimals: 0 })}
386
386
  </tspan>
@@ -401,7 +401,7 @@ function FunnelPlot({
401
401
  x={shape.cx}
402
402
  y={16}
403
403
  textAnchor="middle"
404
- className="fill-ink-2 font-medium text-[11px]"
404
+ className="fill-ink-2 font-medium text-fs-110"
405
405
  >
406
406
  {truncate(datum.name, maxChars)}
407
407
  </text>
@@ -409,7 +409,7 @@ function FunnelPlot({
409
409
  x={shape.cx}
410
410
  y={32}
411
411
  textAnchor="middle"
412
- className="fill-ink font-bold text-[12px] tabular-nums"
412
+ className="fill-ink font-bold text-fs-120 tabular-nums"
413
413
  >
414
414
  {truncate(format(datum.value), maxChars + 2)}
415
415
  </text>
@@ -443,7 +443,7 @@ function FunnelPlot({
443
443
  x={x}
444
444
  y={y + 4}
445
445
  textAnchor="middle"
446
- className={cn("fill-ink-2 font-bold text-[10.5px] tabular-nums")}
446
+ className={cn("fill-ink-2 font-bold text-fs-105 tabular-nums")}
447
447
  >
448
448
  {formatPercent(conversion, { decimals: 0 })}
449
449
  </text>
@@ -983,7 +983,7 @@ function GanttBody({
983
983
  aria-label={texts.zoomLevels[level]}
984
984
  onClick={() => onZoom(level)}
985
985
  className={cn(
986
- "cursor-pointer rounded-button px-2 py-1 font-semibold text-[11.5px] outline-none focus-visible:outline-2 focus-visible:outline-accent-ink @md/chart:px-3",
986
+ "cursor-pointer rounded-button px-2 py-1 font-semibold text-fs-115 outline-none focus-visible:outline-2 focus-visible:outline-accent-ink @md/chart:px-3",
987
987
  zoom === level ? "bg-surface text-ink shadow-xs" : "text-ink-3 hover:text-ink",
988
988
  )}
989
989
  >
@@ -997,7 +997,7 @@ function GanttBody({
997
997
  ))}
998
998
  </fieldset>
999
999
  {critical || baselines ? (
1000
- <ul className="m-0 hidden min-w-0 list-none items-center gap-3 p-0 text-[11.5px] text-ink-3 @xl/chart:flex">
1000
+ <ul className="m-0 hidden min-w-0 list-none items-center gap-3 p-0 text-fs-115 text-ink-3 @xl/chart:flex">
1001
1001
  {critical ? (
1002
1002
  <li className="flex items-center gap-1.5 whitespace-nowrap">
1003
1003
  <span
@@ -1077,7 +1077,7 @@ function GanttBody({
1077
1077
  <button
1078
1078
  type="button"
1079
1079
  onClick={() => scrollToTime(todayTime, true)}
1080
- className="shrink-0 cursor-pointer rounded-button border-divider bg-surface-control px-3 py-1 font-semibold text-[11.5px] text-ink-2 outline-none hover:bg-surface-2 focus-visible:outline-2 focus-visible:outline-accent-ink"
1080
+ className="shrink-0 cursor-pointer rounded-button border-divider bg-surface-control px-3 py-1 font-semibold text-fs-115 text-ink-2 outline-none hover:bg-surface-2 focus-visible:outline-2 focus-visible:outline-accent-ink"
1081
1081
  >
1082
1082
  {texts.today}
1083
1083
  </button>
@@ -1109,7 +1109,7 @@ function GanttBody({
1109
1109
  >
1110
1110
  <div
1111
1111
  aria-hidden="true"
1112
- className="flex w-full items-center font-semibold text-[11px] text-ink-3"
1112
+ className="flex w-full items-center font-semibold text-fs-110 text-ink-3"
1113
1113
  style={{ height: HEADER_HEIGHT / 2 }}
1114
1114
  >
1115
1115
  <span className="min-w-0 flex-1 truncate px-3">{texts.tasks}</span>
@@ -1174,7 +1174,7 @@ function GanttBody({
1174
1174
  }
1175
1175
  }}
1176
1176
  className={cn(
1177
- "flex items-center text-[12px] outline-none focus-visible:bg-accent-soft focus-visible:shadow-[inset_2px_0_0_var(--accent-word)]",
1177
+ "flex items-center text-fs-120 outline-none focus-visible:bg-accent-soft focus-visible:shadow-[inset_2px_0_0_var(--accent-word)]",
1178
1178
  activeIndex === i && "bg-[var(--chart-grid)]",
1179
1179
  )}
1180
1180
  style={{ height: rowHeight, boxShadow: "inset 0 -1px 0 var(--chart-grid)" }}
@@ -1218,7 +1218,7 @@ function GanttBody({
1218
1218
  {row.task.milestone && !row.parent ? (
1219
1219
  <span
1220
1220
  aria-hidden="true"
1221
- className="size-2 shrink-0 rotate-45 rounded-[1px]"
1221
+ className="size-2 shrink-0 rotate-45 rounded-xs"
1222
1222
  style={{ background: row.task.color ?? "var(--ink)" }}
1223
1223
  />
1224
1224
  ) : null}
@@ -1235,7 +1235,7 @@ function GanttBody({
1235
1235
  <span
1236
1236
  key={column}
1237
1237
  aria-hidden="true"
1238
- className="shrink-0 truncate pr-3 text-right text-[11.5px] text-ink-3 tabular-nums"
1238
+ className="shrink-0 truncate pr-3 text-right text-fs-115 text-ink-3 tabular-nums"
1239
1239
  style={{ width: COLUMN_WIDTH[column] }}
1240
1240
  >
1241
1241
  {column === "start"
@@ -118,7 +118,7 @@ export const TimelineHeader = memo(function TimelineHeader({
118
118
  x={x}
119
119
  y={HEADER_ROW / 2}
120
120
  dy="0.34em"
121
- className="fill-ink-2 font-semibold text-[11.5px]"
121
+ className="fill-ink-2 font-semibold text-fs-115"
122
122
  >
123
123
  {cell.label}
124
124
  </text>
@@ -150,7 +150,7 @@ export const TimelineHeader = memo(function TimelineHeader({
150
150
  y={HEADER_ROW + HEADER_ROW / 2}
151
151
  dy="0.34em"
152
152
  textAnchor="middle"
153
- className="fill-ink-3 font-medium text-[10.5px] tabular-nums"
153
+ className="fill-ink-3 font-medium text-fs-105 tabular-nums"
154
154
  >
155
155
  {cell.label}
156
156
  </text>
@@ -172,7 +172,7 @@ export const TimelineHeader = memo(function TimelineHeader({
172
172
  y={8}
173
173
  dy="0.34em"
174
174
  textAnchor="middle"
175
- className="font-bold text-[10px]"
175
+ className="font-bold text-fs-100"
176
176
  style={{ fill: "var(--surface)" }}
177
177
  >
178
178
  {todayLabel}
@@ -512,8 +512,8 @@ function BarLabel({
512
512
  textAnchor={end ? "end" : undefined}
513
513
  className={
514
514
  outside
515
- ? `pointer-events-none fill-ink-2 text-[11px] ${strong ? "font-bold" : "font-medium"}`
516
- : "pointer-events-none font-semibold text-[11px]"
515
+ ? `pointer-events-none fill-ink-2 text-fs-110 ${strong ? "font-bold" : "font-medium"}`
516
+ : "pointer-events-none font-semibold text-fs-110"
517
517
  }
518
518
  style={outside ? undefined : { fill: onFill ? "var(--surface)" : "var(--ink)" }}
519
519
  >
@@ -698,7 +698,7 @@ export const AnnotationLayer = memo(function AnnotationLayer({
698
698
  x={item.x0 + 10}
699
699
  y={y + 7.5}
700
700
  dy="0.34em"
701
- className="fill-ink font-semibold text-[10.5px]"
701
+ className="fill-ink font-semibold text-fs-105"
702
702
  >
703
703
  {item.label}
704
704
  </text>
@@ -472,7 +472,7 @@ function GaugePlot({
472
472
  textAnchor="middle"
473
473
  dominantBaseline="central"
474
474
  {...DECORATIVE}
475
- className="fill-ink-3 font-medium text-[10px] tabular-nums"
475
+ className="fill-ink-3 font-medium text-fs-100 tabular-nums"
476
476
  >
477
477
  {format(tick.v)}
478
478
  </text>
@@ -501,7 +501,7 @@ function GaugePlot({
501
501
  x={minPoint.x}
502
502
  y={minPoint.y + band / 2 + 15}
503
503
  textAnchor="middle"
504
- className="fill-ink-3 font-semibold text-[11px] tabular-nums"
504
+ className="fill-ink-3 font-semibold text-fs-110 tabular-nums"
505
505
  >
506
506
  {format(min)}
507
507
  </text>
@@ -509,7 +509,7 @@ function GaugePlot({
509
509
  x={maxPoint.x}
510
510
  y={maxPoint.y + band / 2 + 15}
511
511
  textAnchor="middle"
512
- className="fill-ink-3 font-semibold text-[11px] tabular-nums"
512
+ className="fill-ink-3 font-semibold text-fs-110 tabular-nums"
513
513
  >
514
514
  {format(max)}
515
515
  </text>
@@ -540,7 +540,7 @@ function GaugePlot({
540
540
  <text
541
541
  x={cx}
542
542
  y={labelY}
543
- className="font-bold text-[11px]"
543
+ className="font-bold text-fs-110"
544
544
  style={{ fill: valueColor }}
545
545
  >
546
546
  {active.label}
@@ -547,7 +547,7 @@ function GlobePlot({
547
547
  const activeRegion = hover?.kind === "region" ? regions[hover.index] : undefined;
548
548
  const activePoint = hover?.kind === "point" ? points[hover.index] : undefined;
549
549
  const buttonClass =
550
- "inline-flex h-7 cursor-pointer items-center rounded-button border-0 bg-surface-2 px-3 font-semibold text-[12px] text-ink-2 outline-none hover:bg-sunken hover:text-ink focus-visible:outline-2 focus-visible:outline-accent-ink";
550
+ "inline-flex h-7 cursor-pointer items-center rounded-button border-0 bg-surface-2 px-3 font-semibold text-fs-120 text-ink-2 outline-none hover:bg-sunken hover:text-ink focus-visible:outline-2 focus-visible:outline-accent-ink";
551
551
 
552
552
  return (
553
553
  <div className="relative" style={{ width, height }}>
@@ -338,7 +338,7 @@ export function HeatmapGrid({
338
338
  textAnchor="end"
339
339
  dominantBaseline="central"
340
340
  className={cn(
341
- "select-none text-[11px] transition-[fill] duration-150",
341
+ "select-none text-fs-110 transition-[fill] duration-150",
342
342
  lit?.row === row ? "fill-ink font-bold" : "fill-ink-3 font-semibold",
343
343
  )}
344
344
  >
@@ -354,7 +354,7 @@ export function HeatmapGrid({
354
354
  y={TOP - 8}
355
355
  textAnchor={square && !honeycomb ? "start" : "middle"}
356
356
  className={cn(
357
- "select-none text-[11px] transition-[fill] duration-150",
357
+ "select-none text-fs-110 transition-[fill] duration-150",
358
358
  lit?.column === index ? "fill-ink font-bold" : "fill-ink-3 font-semibold",
359
359
  )}
360
360
  >
@@ -393,7 +393,7 @@ export function HeatmapGrid({
393
393
  y={c.y}
394
394
  textAnchor="middle"
395
395
  dominantBaseline="central"
396
- className="pointer-events-none select-none font-bold text-[11px] tabular-nums"
396
+ className="pointer-events-none select-none font-bold text-fs-110 tabular-nums"
397
397
  style={{ fill: inkOn(stop?.strength ?? 0) }}
398
398
  >
399
399
  {text}
@@ -428,7 +428,7 @@ export function HeatmapGrid({
428
428
  y={y + ch / 2}
429
429
  textAnchor="middle"
430
430
  dominantBaseline="central"
431
- className="pointer-events-none select-none font-bold text-[11px] tabular-nums"
431
+ className="pointer-events-none select-none font-bold text-fs-110 tabular-nums"
432
432
  style={{
433
433
  fill: inkOn(stop?.strength ?? 0),
434
434
  opacity: dimmed ? 0.5 : 1,
@@ -550,7 +550,7 @@ export function HeatmapLegend({
550
550
  }: HeatmapLegendProps) {
551
551
  if (ranges && ranges.length > 0) {
552
552
  return (
553
- <ul className="@md/chart:-order-1 m-0 flex list-none flex-wrap @md/chart:justify-end gap-x-3 gap-y-1 p-0 text-[12px]">
553
+ <ul className="@md/chart:-order-1 m-0 flex list-none flex-wrap @md/chart:justify-end gap-x-3 gap-y-1 p-0 text-fs-120">
554
554
  {ranges.map((range, index) => (
555
555
  <li
556
556
  key={range.label}
@@ -558,7 +558,7 @@ export function HeatmapLegend({
558
558
  >
559
559
  <span
560
560
  aria-hidden="true"
561
- className="size-2.5 shrink-0 rounded-[3px]"
561
+ className="size-2.5 shrink-0 rounded-xs"
562
562
  style={{
563
563
  background: rangeColor(range, index, ranges.length).color,
564
564
  }}
@@ -572,7 +572,7 @@ export function HeatmapLegend({
572
572
  return (
573
573
  <div
574
574
  aria-hidden="true"
575
- className="@md/chart:-order-1 flex w-full max-w-[260px] @md/chart:self-end flex-col gap-1 text-[11px] text-ink-3 tabular-nums"
575
+ className="@md/chart:-order-1 flex w-full max-w-[260px] @md/chart:self-end flex-col gap-1 text-fs-110 text-ink-3 tabular-nums"
576
576
  >
577
577
  <span
578
578
  className="h-2 w-full rounded-pill"
@@ -157,7 +157,7 @@ export function HierarchyMorph({
157
157
  aria-pressed={current === option}
158
158
  onClick={() => choose(option)}
159
159
  className={cn(
160
- "cursor-pointer rounded-button border px-3 py-1 text-[12px] font-semibold outline-none focus-visible:outline-2 focus-visible:outline-accent-ink focus-visible:outline-offset-2",
160
+ "cursor-pointer rounded-button border px-3 py-1 text-fs-120 font-semibold outline-none focus-visible:outline-2 focus-visible:outline-accent-ink focus-visible:outline-offset-2",
161
161
  current === option
162
162
  ? "border-transparent bg-accent-soft text-accent-ink"
163
163
  : "border-line bg-transparent text-ink-3 hover:text-ink",
@@ -383,7 +383,7 @@ function MorphPlot({
383
383
  x={slot.x}
384
384
  y={slot.y}
385
385
  dominantBaseline="central"
386
- className={cn("text-[11px]", slot.group ? "font-bold" : "font-semibold")}
386
+ className={cn("text-fs-110", slot.group ? "font-bold" : "font-semibold")}
387
387
  style={{ fill: inkOn(strength), opacity: treemapOpacity }}
388
388
  >
389
389
  {treemapText}
@@ -395,7 +395,7 @@ function MorphPlot({
395
395
  y={shape.sectorCenter.y}
396
396
  textAnchor="middle"
397
397
  dominantBaseline="central"
398
- className="font-semibold text-[11px]"
398
+ className="font-semibold text-fs-110"
399
399
  style={{ fill: inkOn(strength), opacity: sectorOpacity }}
400
400
  >
401
401
  {sectorText}
@@ -161,7 +161,7 @@ export function Histogram({
161
161
  type="button"
162
162
  aria-pressed={exploded}
163
163
  onClick={() => setExploded(!exploded)}
164
- className="inline-flex min-h-8 items-center gap-2 rounded-button border-divider bg-surface-control px-3 font-semibold text-[12px] text-ink-2 transition-colors hover:bg-surface-2 aria-pressed:border-accent aria-pressed:text-ink"
164
+ className="inline-flex min-h-8 items-center gap-2 rounded-button border-divider bg-surface-control px-3 font-semibold text-fs-120 text-ink-2 transition-colors hover:bg-surface-2 aria-pressed:border-accent aria-pressed:text-ink"
165
165
  >
166
166
  {exploded ? labels.bars : labels.explode}
167
167
  </button>