@cube-dev/ui-kit 0.182.0 → 0.184.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 (1160) hide show
  1. package/dist/CHANGELOG.md +40 -0
  2. package/dist/_internal/hooks/use-debounced-value.js +48 -31
  3. package/dist/_internal/hooks/use-debounced-value.js.map +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +22 -7
  5. package/dist/_internal/hooks/use-deprecation-warning.js.map +1 -1
  6. package/dist/_internal/hooks/use-event.js +1 -1
  7. package/dist/_internal/hooks/use-event.js.map +1 -1
  8. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  9. package/dist/_internal/hooks/use-is-first-render.js.map +1 -1
  10. package/dist/_internal/hooks/use-sync-ref.js +12 -4
  11. package/dist/_internal/hooks/use-sync-ref.js.map +1 -1
  12. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  13. package/dist/_internal/hooks/use-timer/timer.js.map +1 -1
  14. package/dist/_internal/hooks/use-timer/use-timer.js +90 -20
  15. package/dist/_internal/hooks/use-timer/use-timer.js.map +1 -1
  16. package/dist/_internal/hooks/use-warn.js +4 -4
  17. package/dist/_internal/hooks/use-warn.js.map +1 -1
  18. package/dist/components/Block.js +29 -7
  19. package/dist/components/Block.js.map +1 -1
  20. package/dist/components/CollectionItem.js +1 -1
  21. package/dist/components/CollectionItem.js.map +1 -1
  22. package/dist/components/GlobalStyles.js +33 -9
  23. package/dist/components/GlobalStyles.js.map +1 -1
  24. package/dist/components/GridProvider.js +4 -4
  25. package/dist/components/GridProvider.js.map +1 -1
  26. package/dist/components/HiddenInput.js +1 -1
  27. package/dist/components/HiddenInput.js.map +1 -1
  28. package/dist/components/Root.js +137 -42
  29. package/dist/components/Root.js.map +1 -1
  30. package/dist/components/actions/Action/Action.js +20 -8
  31. package/dist/components/actions/Action/Action.js.map +1 -1
  32. package/dist/components/actions/Banner/Banner.js +91 -22
  33. package/dist/components/actions/Banner/Banner.js.map +1 -1
  34. package/dist/components/actions/Button/Button.js +5 -5
  35. package/dist/components/actions/Button/Button.js.map +1 -1
  36. package/dist/components/actions/ButtonGroup/ButtonGroup.js +15 -5
  37. package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
  38. package/dist/components/actions/ButtonSplit/ButtonSplit.js +2 -1
  39. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
  40. package/dist/components/actions/ButtonSplit/context.js +1 -1
  41. package/dist/components/actions/ButtonSplit/context.js.map +1 -1
  42. package/dist/components/actions/CommandMenu/CommandMenu.js +73 -80
  43. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  44. package/dist/components/actions/CommandMenu/styled.js +1 -1
  45. package/dist/components/actions/CommandMenu/styled.js.map +1 -1
  46. package/dist/components/actions/ItemAction/ItemAction.js +205 -68
  47. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  48. package/dist/components/actions/ItemActionContext.js +26 -7
  49. package/dist/components/actions/ItemActionContext.js.map +1 -1
  50. package/dist/components/actions/ItemActionsWrapper.js +215 -84
  51. package/dist/components/actions/ItemActionsWrapper.js.map +1 -1
  52. package/dist/components/actions/ItemButton/ItemButton.js +2 -2
  53. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  54. package/dist/components/actions/Link/Link.js +16 -7
  55. package/dist/components/actions/Link/Link.js.map +1 -1
  56. package/dist/components/actions/Menu/Menu.js +127 -72
  57. package/dist/components/actions/Menu/Menu.js.map +1 -1
  58. package/dist/components/actions/Menu/MenuItem.js +120 -43
  59. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  60. package/dist/components/actions/Menu/MenuSection.js +79 -31
  61. package/dist/components/actions/Menu/MenuSection.js.map +1 -1
  62. package/dist/components/actions/Menu/MenuTrigger.js +316 -112
  63. package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
  64. package/dist/components/actions/Menu/SubMenuTrigger.js +6 -12
  65. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  66. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  67. package/dist/components/actions/Menu/SubmenuTriggerContext.js.map +1 -1
  68. package/dist/components/actions/Menu/context.js +1 -1
  69. package/dist/components/actions/Menu/context.js.map +1 -1
  70. package/dist/components/actions/Menu/styled.js +1 -1
  71. package/dist/components/actions/Menu/styled.js.map +1 -1
  72. package/dist/components/actions/actions-run.js +1 -1
  73. package/dist/components/actions/actions-run.js.map +1 -1
  74. package/dist/components/actions/index.js +1 -1
  75. package/dist/components/actions/index.js.map +1 -1
  76. package/dist/components/actions/use-action.js +3 -3
  77. package/dist/components/actions/use-action.js.map +1 -1
  78. package/dist/components/actions/use-anchored-menu.js +6 -6
  79. package/dist/components/actions/use-anchored-menu.js.map +1 -1
  80. package/dist/components/actions/use-context-menu.js +12 -12
  81. package/dist/components/actions/use-context-menu.js.map +1 -1
  82. package/dist/components/content/ActiveZone/ActiveZone.js +84 -18
  83. package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
  84. package/dist/components/content/Alert/Alert.js +18 -7
  85. package/dist/components/content/Alert/Alert.js.map +1 -1
  86. package/dist/components/content/Alert/use-alert.js +53 -15
  87. package/dist/components/content/Alert/use-alert.js.map +1 -1
  88. package/dist/components/content/Avatar/Avatar.js +51 -13
  89. package/dist/components/content/Avatar/Avatar.js.map +1 -1
  90. package/dist/components/content/Badge/Badge.js +43 -10
  91. package/dist/components/content/Badge/Badge.js.map +1 -1
  92. package/dist/components/content/Card/Card.js +29 -7
  93. package/dist/components/content/Card/Card.js.map +1 -1
  94. package/dist/components/content/Content.js +30 -7
  95. package/dist/components/content/Content.js.map +1 -1
  96. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +2 -2
  97. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  98. package/dist/components/content/CopySnippet/CopySnippet.js +220 -60
  99. package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
  100. package/dist/components/content/Disclosure/Disclosure.js +453 -194
  101. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  102. package/dist/components/content/Divider.js +52 -14
  103. package/dist/components/content/Divider.js.map +1 -1
  104. package/dist/components/content/Footer.js +29 -7
  105. package/dist/components/content/Footer.js.map +1 -1
  106. package/dist/components/content/Header.js +29 -7
  107. package/dist/components/content/Header.js.map +1 -1
  108. package/dist/components/content/HotKeys/HotKeys.js +55 -27
  109. package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
  110. package/dist/components/content/InfoBadge/InfoBadge.js +8 -8
  111. package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -1
  112. package/dist/components/content/InlineInput/InlineInput.js +429 -188
  113. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  114. package/dist/components/content/Item/Item.d.ts +27 -2
  115. package/dist/components/content/Item/Item.js +418 -152
  116. package/dist/components/content/Item/Item.js.map +1 -1
  117. package/dist/components/content/ItemBadge/ItemBadge.js +173 -59
  118. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  119. package/dist/components/content/ItemCard/ItemCard.js +34 -9
  120. package/dist/components/content/ItemCard/ItemCard.js.map +1 -1
  121. package/dist/components/content/Layout/GridLayout.js +38 -10
  122. package/dist/components/content/Layout/GridLayout.js.map +1 -1
  123. package/dist/components/content/Layout/Layout.js +30 -13
  124. package/dist/components/content/Layout/Layout.js.map +1 -1
  125. package/dist/components/content/Layout/LayoutBlock.js +33 -8
  126. package/dist/components/content/Layout/LayoutBlock.js.map +1 -1
  127. package/dist/components/content/Layout/LayoutCenter.js +48 -11
  128. package/dist/components/content/Layout/LayoutCenter.js.map +1 -1
  129. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  130. package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
  131. package/dist/components/content/Layout/LayoutContent.js +1 -1
  132. package/dist/components/content/Layout/LayoutContent.js.map +1 -1
  133. package/dist/components/content/Layout/LayoutContext.js +30 -21
  134. package/dist/components/content/Layout/LayoutContext.js.map +1 -1
  135. package/dist/components/content/Layout/LayoutFlex.js +33 -8
  136. package/dist/components/content/Layout/LayoutFlex.js.map +1 -1
  137. package/dist/components/content/Layout/LayoutFooter.js +53 -14
  138. package/dist/components/content/Layout/LayoutFooter.js.map +1 -1
  139. package/dist/components/content/Layout/LayoutGrid.js +48 -11
  140. package/dist/components/content/Layout/LayoutGrid.js.map +1 -1
  141. package/dist/components/content/Layout/LayoutHeader.js +216 -57
  142. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  143. package/dist/components/content/Layout/LayoutPane.js +60 -14
  144. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  145. package/dist/components/content/Layout/LayoutPanel.js +59 -17
  146. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  147. package/dist/components/content/Layout/LayoutPanelHeader.js +89 -27
  148. package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
  149. package/dist/components/content/Layout/LayoutToolbar.js +33 -8
  150. package/dist/components/content/Layout/LayoutToolbar.js.map +1 -1
  151. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +206 -119
  152. package/dist/components/content/Layout/hooks/useTinyScrollbar.js.map +1 -1
  153. package/dist/components/content/Layout/index.js +1 -1
  154. package/dist/components/content/Layout/index.js.map +1 -1
  155. package/dist/components/content/Layout/utils.js +1 -1
  156. package/dist/components/content/Layout/utils.js.map +1 -1
  157. package/dist/components/content/Paragraph.js +25 -9
  158. package/dist/components/content/Paragraph.js.map +1 -1
  159. package/dist/components/content/Placeholder/Placeholder.js +52 -14
  160. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  161. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  162. package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
  163. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  164. package/dist/components/content/PrismCode/prismSetup.js.map +1 -1
  165. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +52 -17
  166. package/dist/components/content/PrismDiffCode/PrismDiffCode.js.map +1 -1
  167. package/dist/components/content/Result/Result.js +117 -38
  168. package/dist/components/content/Result/Result.js.map +1 -1
  169. package/dist/components/content/Skeleton/Skeleton.js +26 -17
  170. package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
  171. package/dist/components/content/Tag/Tag.d.ts +6 -1
  172. package/dist/components/content/Tag/Tag.js +68 -13
  173. package/dist/components/content/Tag/Tag.js.map +1 -1
  174. package/dist/components/content/Text.js +61 -14
  175. package/dist/components/content/Text.js.map +1 -1
  176. package/dist/components/content/TextItem/TextItem.js +37 -16
  177. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  178. package/dist/components/content/Title.js +98 -23
  179. package/dist/components/content/Title.js.map +1 -1
  180. package/dist/components/content/Tree/Tree.js +32 -32
  181. package/dist/components/content/Tree/Tree.js.map +1 -1
  182. package/dist/components/content/Tree/TreeNode.js +10 -10
  183. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  184. package/dist/components/content/Tree/styled.js +1 -1
  185. package/dist/components/content/Tree/styled.js.map +1 -1
  186. package/dist/components/content/Tree/tree-index.js +1 -1
  187. package/dist/components/content/Tree/tree-index.js.map +1 -1
  188. package/dist/components/content/Tree/use-checkbox-tree.js +123 -89
  189. package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
  190. package/dist/components/content/Tree/use-load-data.js +52 -21
  191. package/dist/components/content/Tree/use-load-data.js.map +1 -1
  192. package/dist/components/content/highlightText.js +1 -1
  193. package/dist/components/content/highlightText.js.map +1 -1
  194. package/dist/components/content/use-auto-tooltip.d.ts +1 -1
  195. package/dist/components/content/use-auto-tooltip.js +231 -125
  196. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  197. package/dist/components/data/DataTable/DataTable.js +31 -31
  198. package/dist/components/data/DataTable/DataTable.js.map +1 -1
  199. package/dist/components/data/ItemTable/ItemTable.js +41 -41
  200. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  201. package/dist/components/data/ItemTable/ItemTableBulkBar.js +11 -11
  202. package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
  203. package/dist/components/data/ItemTable/ItemTableDragPreview.js +41 -4
  204. package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
  205. package/dist/components/data/ItemTable/ItemTableFooter.js +67 -30
  206. package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
  207. package/dist/components/data/ItemTable/ItemTableToolbar.js +95 -28
  208. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
  209. package/dist/components/data/TableBase/ColumnResizer.js +90 -41
  210. package/dist/components/data/TableBase/ColumnResizer.js.map +1 -1
  211. package/dist/components/data/TableBase/RowCollection.js +1 -1
  212. package/dist/components/data/TableBase/RowCollection.js.map +1 -1
  213. package/dist/components/data/TableBase/TableHeaderCell.js +154 -64
  214. package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
  215. package/dist/components/data/TableBase/TableRow.js +211 -69
  216. package/dist/components/data/TableBase/TableRow.js.map +1 -1
  217. package/dist/components/data/TableBase/TableView.js +119 -80
  218. package/dist/components/data/TableBase/TableView.js.map +1 -1
  219. package/dist/components/data/TableBase/column-menu.js +1 -1
  220. package/dist/components/data/TableBase/column-menu.js.map +1 -1
  221. package/dist/components/data/TableBase/column-tint.js +1 -1
  222. package/dist/components/data/TableBase/column-tint.js.map +1 -1
  223. package/dist/components/data/TableBase/row-menu.js +1 -1
  224. package/dist/components/data/TableBase/row-menu.js.map +1 -1
  225. package/dist/components/data/TableBase/styled.d.ts +1 -0
  226. package/dist/components/data/TableBase/styled.js +1 -1
  227. package/dist/components/data/TableBase/styled.js.map +1 -1
  228. package/dist/components/data/TableBase/table-tree.js +1 -1
  229. package/dist/components/data/TableBase/table-tree.js.map +1 -1
  230. package/dist/components/data/TableBase/types.js +1 -1
  231. package/dist/components/data/TableBase/types.js.map +1 -1
  232. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  233. package/dist/components/data/TableBase/use-cell-selection.js.map +1 -1
  234. package/dist/components/data/TableBase/use-column-order.js +56 -12
  235. package/dist/components/data/TableBase/use-column-order.js.map +1 -1
  236. package/dist/components/data/TableBase/use-container-width.js +24 -10
  237. package/dist/components/data/TableBase/use-container-width.js.map +1 -1
  238. package/dist/components/data/TableBase/use-row-move-animation.js +68 -49
  239. package/dist/components/data/TableBase/use-row-move-animation.js.map +1 -1
  240. package/dist/components/data/TableBase/use-scrollability.js +32 -18
  241. package/dist/components/data/TableBase/use-scrollability.js.map +1 -1
  242. package/dist/components/data/TableBase/use-table-columns.js +130 -60
  243. package/dist/components/data/TableBase/use-table-columns.js.map +1 -1
  244. package/dist/components/data/TableBase/use-table-search.js +1 -1
  245. package/dist/components/data/TableBase/use-table-search.js.map +1 -1
  246. package/dist/components/data/TableBase/use-table-selection.js +39 -39
  247. package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
  248. package/dist/components/data/TableBase/use-table-sort.js +132 -68
  249. package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
  250. package/dist/components/data/TableBase/use-table-sorts.js +168 -101
  251. package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
  252. package/dist/components/data/TableBase/use-table-storage.js +2 -2
  253. package/dist/components/data/TableBase/use-table-storage.js.map +1 -1
  254. package/dist/components/data/TableBase/use-table-tree-state.js +181 -86
  255. package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
  256. package/dist/components/fields/Checkbox/Checkbox.d.ts +8 -0
  257. package/dist/components/fields/Checkbox/Checkbox.js +58 -39
  258. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  259. package/dist/components/fields/Checkbox/CheckboxGroup.js +101 -33
  260. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  261. package/dist/components/fields/Checkbox/context.js +1 -1
  262. package/dist/components/fields/Checkbox/context.js.map +1 -1
  263. package/dist/components/fields/ColorInput/ColorInput.d.ts +17 -1
  264. package/dist/components/fields/ColorInput/ColorInput.js +334 -152
  265. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  266. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +18 -2
  267. package/dist/components/fields/ColorPicker/ColorPicker.js +18 -17
  268. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  269. package/dist/components/fields/ColorSwatch/ColorSwatch.js +52 -13
  270. package/dist/components/fields/ColorSwatch/ColorSwatch.js.map +1 -1
  271. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +90 -28
  272. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  273. package/dist/components/fields/ComboBox/ComboBox.js +216 -134
  274. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  275. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  276. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  277. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  278. package/dist/components/fields/CommandTextArea/caretPosition.js.map +1 -1
  279. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +88 -49
  280. package/dist/components/fields/CommandTextArea/useCaretAnchor.js.map +1 -1
  281. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  282. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  283. package/dist/components/fields/DatePicker/DateInputBase.js +129 -34
  284. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  285. package/dist/components/fields/DatePicker/DatePicker.d.ts +17 -1
  286. package/dist/components/fields/DatePicker/DatePicker.js +200 -71
  287. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  288. package/dist/components/fields/DatePicker/DatePickerButton.js +39 -8
  289. package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
  290. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  291. package/dist/components/fields/DatePicker/DatePickerElement.js.map +1 -1
  292. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  293. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  294. package/dist/components/fields/DatePicker/DatePickerSegment.js +109 -29
  295. package/dist/components/fields/DatePicker/DatePickerSegment.js.map +1 -1
  296. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +17 -2
  297. package/dist/components/fields/DatePicker/DateRangePicker.js +230 -90
  298. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  299. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +17 -2
  300. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +481 -180
  301. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  302. package/dist/components/fields/DatePicker/MonthPicker.js +15 -6
  303. package/dist/components/fields/DatePicker/MonthPicker.js.map +1 -1
  304. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +17 -1
  305. package/dist/components/fields/DatePicker/PeriodPicker.js +294 -93
  306. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  307. package/dist/components/fields/DatePicker/QuarterPicker.js +15 -6
  308. package/dist/components/fields/DatePicker/QuarterPicker.js.map +1 -1
  309. package/dist/components/fields/DatePicker/TimeInput.js +15 -7
  310. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  311. package/dist/components/fields/DatePicker/WeekPicker.js +15 -6
  312. package/dist/components/fields/DatePicker/WeekPicker.js.map +1 -1
  313. package/dist/components/fields/DatePicker/YearPicker.js +15 -6
  314. package/dist/components/fields/DatePicker/YearPicker.js.map +1 -1
  315. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  316. package/dist/components/fields/DatePicker/parseDate.js.map +1 -1
  317. package/dist/components/fields/DatePicker/period.js +1 -1
  318. package/dist/components/fields/DatePicker/period.js.map +1 -1
  319. package/dist/components/fields/DatePicker/props.js +1 -1
  320. package/dist/components/fields/DatePicker/props.js.map +1 -1
  321. package/dist/components/fields/DatePicker/utils.js +15 -8
  322. package/dist/components/fields/DatePicker/utils.js.map +1 -1
  323. package/dist/components/fields/FileInput/FileInput.js +3 -3
  324. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  325. package/dist/components/fields/FilterListBox/FilterListBox.js +87 -87
  326. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  327. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +11 -2
  328. package/dist/components/fields/FilterPicker/FilterPicker.js +24 -23
  329. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  330. package/dist/components/fields/Input/Input.js +1 -1
  331. package/dist/components/fields/Input/Input.js.map +1 -1
  332. package/dist/components/fields/ListBox/DraggableListBox.js +23 -10
  333. package/dist/components/fields/ListBox/DraggableListBox.js.map +1 -1
  334. package/dist/components/fields/ListBox/ListBox.js +138 -53
  335. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  336. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +156 -37
  337. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  338. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  339. package/dist/components/fields/ListBoxPopover/listNavigation.js.map +1 -1
  340. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +61 -33
  341. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
  342. package/dist/components/fields/NumberInput/NumberInput.js +123 -33
  343. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  344. package/dist/components/fields/NumberInput/StepButton.js +53 -15
  345. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  346. package/dist/components/fields/PasswordInput/PasswordInput.js +149 -45
  347. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  348. package/dist/components/fields/Picker/Picker.d.ts +20 -3
  349. package/dist/components/fields/Picker/Picker.js +11 -10
  350. package/dist/components/fields/Picker/Picker.js.map +1 -1
  351. package/dist/components/fields/RadioGroup/Radio.d.ts +10 -2
  352. package/dist/components/fields/RadioGroup/Radio.js +275 -104
  353. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  354. package/dist/components/fields/RadioGroup/RadioGroup.js +149 -48
  355. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  356. package/dist/components/fields/RadioGroup/context.js +1 -1
  357. package/dist/components/fields/RadioGroup/context.js.map +1 -1
  358. package/dist/components/fields/SearchComboBox/SearchComboBox.js +80 -65
  359. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  360. package/dist/components/fields/SearchInput/SearchInput.js +91 -28
  361. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  362. package/dist/components/fields/Select/Select.d.ts +24 -3
  363. package/dist/components/fields/Select/Select.js +376 -121
  364. package/dist/components/fields/Select/Select.js.map +1 -1
  365. package/dist/components/fields/Slider/Gradation.js +45 -10
  366. package/dist/components/fields/Slider/Gradation.js.map +1 -1
  367. package/dist/components/fields/Slider/HueSlider.js +121 -32
  368. package/dist/components/fields/Slider/HueSlider.js.map +1 -1
  369. package/dist/components/fields/Slider/RangeSlider.js +46 -10
  370. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  371. package/dist/components/fields/Slider/Slider.js +108 -23
  372. package/dist/components/fields/Slider/Slider.js.map +1 -1
  373. package/dist/components/fields/Slider/SliderBase.js +2 -2
  374. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  375. package/dist/components/fields/Slider/SliderThumb.js +96 -37
  376. package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
  377. package/dist/components/fields/Slider/SliderTrack.js +64 -23
  378. package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
  379. package/dist/components/fields/Slider/elements.js +1 -1
  380. package/dist/components/fields/Slider/elements.js.map +1 -1
  381. package/dist/components/fields/Slider/index.js +1 -1
  382. package/dist/components/fields/Switch/Switch.js +190 -66
  383. package/dist/components/fields/Switch/Switch.js.map +1 -1
  384. package/dist/components/fields/TextArea/TextArea.js +137 -47
  385. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  386. package/dist/components/fields/TextInput/TextInput.js +80 -27
  387. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  388. package/dist/components/fields/TextInput/TextInputBase.js +2 -2
  389. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  390. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  391. package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -1
  392. package/dist/components/fields/TextInputMapper/TextInputMapper.js +156 -83
  393. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  394. package/dist/components/fields/TriggerActions.js +11 -2
  395. package/dist/components/fields/TriggerActions.js.map +1 -1
  396. package/dist/components/fields/color/ColorPanel.js +237 -59
  397. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  398. package/dist/components/fields/color/channels.js +1 -1
  399. package/dist/components/fields/color/channels.js.map +1 -1
  400. package/dist/components/fields/color/color.js +1 -1
  401. package/dist/components/fields/color/color.js.map +1 -1
  402. package/dist/components/fields/color/context.js +1 -1
  403. package/dist/components/fields/color/context.js.map +1 -1
  404. package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +1 -1
  405. package/dist/components/form/FieldWrapper/FieldWrapper.js +197 -72
  406. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  407. package/dist/components/form/FieldWrapper/types.d.ts +1 -1
  408. package/dist/components/form/Form/Field.js +28 -12
  409. package/dist/components/form/Form/Field.js.map +1 -1
  410. package/dist/components/form/Form/Form.js +95 -34
  411. package/dist/components/form/Form/Form.js.map +1 -1
  412. package/dist/components/form/Form/ModernFormRoot.js +294 -81
  413. package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
  414. package/dist/components/form/Form/ResetButton/ResetButton.js +32 -10
  415. package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
  416. package/dist/components/form/Form/SubmitButton/SubmitButton.js +32 -10
  417. package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
  418. package/dist/components/form/Form/SubmitError.js +130 -32
  419. package/dist/components/form/Form/SubmitError.js.map +1 -1
  420. package/dist/components/form/Form/backend.js +1 -1
  421. package/dist/components/form/Form/backend.js.map +1 -1
  422. package/dist/components/form/Form/index.js +1 -1
  423. package/dist/components/form/Form/index.js.map +1 -1
  424. package/dist/components/form/Form/modern/actions.js +140 -45
  425. package/dist/components/form/Form/modern/actions.js.map +1 -1
  426. package/dist/components/form/Form/modern/context.js +1 -1
  427. package/dist/components/form/Form/modern/context.js.map +1 -1
  428. package/dist/components/form/Form/modern/controller.js +1 -1
  429. package/dist/components/form/Form/modern/controller.js.map +1 -1
  430. package/dist/components/form/Form/modern/field-binding.js +1 -1
  431. package/dist/components/form/Form/modern/field-binding.js.map +1 -1
  432. package/dist/components/form/Form/modern/field.js +1 -1
  433. package/dist/components/form/Form/modern/field.js.map +1 -1
  434. package/dist/components/form/Form/modern/react.js +102 -19
  435. package/dist/components/form/Form/modern/react.js.map +1 -1
  436. package/dist/components/form/Form/modern/store.js +13 -3
  437. package/dist/components/form/Form/modern/store.js.map +1 -1
  438. package/dist/components/form/Form/modern/types.d.ts +3 -1
  439. package/dist/components/form/Form/modern/validation.js +1 -1
  440. package/dist/components/form/Form/modern/validation.js.map +1 -1
  441. package/dist/components/form/Form/modern/values.js +1 -1
  442. package/dist/components/form/Form/modern/values.js.map +1 -1
  443. package/dist/components/form/Form/use-field/use-field-binding.js +236 -63
  444. package/dist/components/form/Form/use-field/use-field-binding.js.map +1 -1
  445. package/dist/components/form/Form/use-field/use-field-props.js +106 -61
  446. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  447. package/dist/components/form/Form/use-field/use-field.js +5 -4
  448. package/dist/components/form/Form/use-field/use-field.js.map +1 -1
  449. package/dist/components/form/Form/use-form.js +2 -1
  450. package/dist/components/form/Form/use-form.js.map +1 -1
  451. package/dist/components/form/Form/validation.js +1 -1
  452. package/dist/components/form/Form/validation.js.map +1 -1
  453. package/dist/components/form/Label.js +127 -37
  454. package/dist/components/form/Label.js.map +1 -1
  455. package/dist/components/form/legacy-tooltip.js +28 -0
  456. package/dist/components/form/legacy-tooltip.js.map +1 -0
  457. package/dist/components/form/validation/ValidationIndicator.js +20 -5
  458. package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
  459. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  460. package/dist/components/form/validation/resolve-validation-props.js.map +1 -1
  461. package/dist/components/form/validation/use-validation-props.js +36 -10
  462. package/dist/components/form/validation/use-validation-props.js.map +1 -1
  463. package/dist/components/form/wrapper.js +5 -3
  464. package/dist/components/form/wrapper.js.map +1 -1
  465. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +49 -29
  466. package/dist/components/helpers/DisplayTransition/DisplayTransition.js.map +1 -1
  467. package/dist/components/helpers/IconSwitch/IconSwitch.js +8 -8
  468. package/dist/components/helpers/IconSwitch/IconSwitch.js.map +1 -1
  469. package/dist/components/layout/Board/Board.js +27 -9
  470. package/dist/components/layout/Board/Board.js.map +1 -1
  471. package/dist/components/layout/Board/BoardProvider.js +1 -1
  472. package/dist/components/layout/Board/BoardProvider.js.map +1 -1
  473. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  474. package/dist/components/layout/Board/BoardResponsive.js.map +1 -1
  475. package/dist/components/layout/Board/Widget.js +1 -1
  476. package/dist/components/layout/Board/Widget.js.map +1 -1
  477. package/dist/components/layout/Board/WidgetHost.js +159 -121
  478. package/dist/components/layout/Board/WidgetHost.js.map +1 -1
  479. package/dist/components/layout/Board/board-context.js +14 -5
  480. package/dist/components/layout/Board/board-context.js.map +1 -1
  481. package/dist/components/layout/Board/board-store.js +1 -1
  482. package/dist/components/layout/Board/board-store.js.map +1 -1
  483. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  484. package/dist/components/layout/Board/grid-core/calculate.js.map +1 -1
  485. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  486. package/dist/components/layout/Board/grid-core/collision-modes.js.map +1 -1
  487. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  488. package/dist/components/layout/Board/grid-core/collision.js.map +1 -1
  489. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  490. package/dist/components/layout/Board/grid-core/compactors.js.map +1 -1
  491. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  492. package/dist/components/layout/Board/grid-core/constraints.js.map +1 -1
  493. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  494. package/dist/components/layout/Board/grid-core/group-move.js.map +1 -1
  495. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  496. package/dist/components/layout/Board/grid-core/layout.js.map +1 -1
  497. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  498. package/dist/components/layout/Board/grid-core/placement.js.map +1 -1
  499. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  500. package/dist/components/layout/Board/grid-core/sort.js.map +1 -1
  501. package/dist/components/layout/Board/index.js +1 -1
  502. package/dist/components/layout/Board/index.js.map +1 -1
  503. package/dist/components/layout/Board/responsive-utils.js +1 -1
  504. package/dist/components/layout/Board/responsive-utils.js.map +1 -1
  505. package/dist/components/layout/Board/use-board-layout.js +8 -8
  506. package/dist/components/layout/Board/use-board-layout.js.map +1 -1
  507. package/dist/components/layout/Board/use-board-registry.js +257 -257
  508. package/dist/components/layout/Board/use-board-registry.js.map +1 -1
  509. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  510. package/dist/components/layout/Board/use-board-select-modifier-key.js.map +1 -1
  511. package/dist/components/layout/Board/use-board-selection.js +16 -16
  512. package/dist/components/layout/Board/use-board-selection.js.map +1 -1
  513. package/dist/components/layout/Flex.js +29 -7
  514. package/dist/components/layout/Flex.js.map +1 -1
  515. package/dist/components/layout/Flow.js +29 -7
  516. package/dist/components/layout/Flow.js.map +1 -1
  517. package/dist/components/layout/Grid.js +30 -7
  518. package/dist/components/layout/Grid.js.map +1 -1
  519. package/dist/components/layout/Panel.js +9 -9
  520. package/dist/components/layout/Panel.js.map +1 -1
  521. package/dist/components/layout/Prefix.js +59 -16
  522. package/dist/components/layout/Prefix.js.map +1 -1
  523. package/dist/components/layout/ResizablePanel.js +62 -32
  524. package/dist/components/layout/ResizablePanel.js.map +1 -1
  525. package/dist/components/layout/Space.js +55 -11
  526. package/dist/components/layout/Space.js.map +1 -1
  527. package/dist/components/layout/Suffix.js +59 -16
  528. package/dist/components/layout/Suffix.js.map +1 -1
  529. package/dist/components/navigation/Pagination/Pagination.js +394 -164
  530. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  531. package/dist/components/navigation/Pagination/use-pagination.js +69 -26
  532. package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
  533. package/dist/components/navigation/Tabs/DraggableTabList.js +25 -10
  534. package/dist/components/navigation/Tabs/DraggableTabList.js.map +1 -1
  535. package/dist/components/navigation/Tabs/TabButton.js +625 -235
  536. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  537. package/dist/components/navigation/Tabs/TabDropIndicator.js +65 -23
  538. package/dist/components/navigation/Tabs/TabDropIndicator.js.map +1 -1
  539. package/dist/components/navigation/Tabs/TabPanel.js +47 -19
  540. package/dist/components/navigation/Tabs/TabPanel.js.map +1 -1
  541. package/dist/components/navigation/Tabs/TabPicker.js +106 -33
  542. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  543. package/dist/components/navigation/Tabs/Tabs.js +45 -45
  544. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  545. package/dist/components/navigation/Tabs/TabsAction.js +53 -19
  546. package/dist/components/navigation/Tabs/TabsAction.js.map +1 -1
  547. package/dist/components/navigation/Tabs/TabsContext.js +16 -6
  548. package/dist/components/navigation/Tabs/TabsContext.js.map +1 -1
  549. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  550. package/dist/components/navigation/Tabs/popover-placement.js.map +1 -1
  551. package/dist/components/navigation/Tabs/styled.js +2 -2
  552. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  553. package/dist/components/navigation/Tabs/types.js +1 -1
  554. package/dist/components/navigation/Tabs/types.js.map +1 -1
  555. package/dist/components/navigation/Tabs/use-tab-editing.js +50 -13
  556. package/dist/components/navigation/Tabs/use-tab-editing.js.map +1 -1
  557. package/dist/components/navigation/Tabs/use-tab-indicator.js +111 -63
  558. package/dist/components/navigation/Tabs/use-tab-indicator.js.map +1 -1
  559. package/dist/components/organisms/StatsCard/StatsCard.js +54 -14
  560. package/dist/components/organisms/StatsCard/StatsCard.js.map +1 -1
  561. package/dist/components/other/Calendar/Calendar.js +79 -31
  562. package/dist/components/other/Calendar/Calendar.js.map +1 -1
  563. package/dist/components/other/Calendar/CalendarCell.js +66 -20
  564. package/dist/components/other/Calendar/CalendarCell.js.map +1 -1
  565. package/dist/components/other/Calendar/CalendarGrid.js +90 -40
  566. package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
  567. package/dist/components/other/Calendar/CalendarHeader.js +80 -17
  568. package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
  569. package/dist/components/other/Calendar/CalendarPanel.js +568 -144
  570. package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
  571. package/dist/components/other/Calendar/PeriodCalendar.js +425 -134
  572. package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -1
  573. package/dist/components/other/Calendar/PeriodGrid.js +6 -6
  574. package/dist/components/other/Calendar/PeriodGrid.js.map +1 -1
  575. package/dist/components/other/Calendar/RangeCalendar.js +50 -24
  576. package/dist/components/other/Calendar/RangeCalendar.js.map +1 -1
  577. package/dist/components/other/Calendar/styled.js +1 -1
  578. package/dist/components/other/Calendar/styled.js.map +1 -1
  579. package/dist/components/other/CubeLogo/CubeLogo.js +95 -34
  580. package/dist/components/other/CubeLogo/CubeLogo.js.map +1 -1
  581. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  582. package/dist/components/other/NoDataIcon/NoDataIcon.js.map +1 -1
  583. package/dist/components/overlays/AlertDialog/AlertDialog.js +153 -42
  584. package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
  585. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +76 -54
  586. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
  587. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +146 -39
  588. package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
  589. package/dist/components/overlays/Dialog/Dialog.js +43 -18
  590. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  591. package/dist/components/overlays/Dialog/DialogContainer.js +13 -13
  592. package/dist/components/overlays/Dialog/DialogContainer.js.map +1 -1
  593. package/dist/components/overlays/Dialog/DialogForm.d.ts +12 -7
  594. package/dist/components/overlays/Dialog/DialogForm.js +22 -10
  595. package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
  596. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +1 -1
  597. package/dist/components/overlays/Dialog/DialogTrigger.js +214 -59
  598. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  599. package/dist/components/overlays/Dialog/ModernDialogForm.js +357 -0
  600. package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -0
  601. package/dist/components/overlays/Dialog/context.js +1 -1
  602. package/dist/components/overlays/Dialog/context.js.map +1 -1
  603. package/dist/components/overlays/Dialog/index.d.ts +1 -1
  604. package/dist/components/overlays/Dialog/use-content-overflow.js +68 -0
  605. package/dist/components/overlays/Dialog/use-content-overflow.js.map +1 -0
  606. package/dist/components/overlays/Dialog/use-dialog-container.js +6 -6
  607. package/dist/components/overlays/Dialog/use-dialog-container.js.map +1 -1
  608. package/dist/components/overlays/Modal/Modal.js +140 -27
  609. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  610. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  611. package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -1
  612. package/dist/components/overlays/Modal/Overlay.js +4 -4
  613. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  614. package/dist/components/overlays/Modal/Popover.js +131 -29
  615. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  616. package/dist/components/overlays/Modal/Tray.js +142 -30
  617. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  618. package/dist/components/overlays/Modal/Underlay.js +36 -7
  619. package/dist/components/overlays/Modal/Underlay.js.map +1 -1
  620. package/dist/components/overlays/Notifications/Notification.js +69 -32
  621. package/dist/components/overlays/Notifications/Notification.js.map +1 -1
  622. package/dist/components/overlays/Notifications/NotificationAction.js +79 -26
  623. package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
  624. package/dist/components/overlays/Notifications/NotificationCard.js +138 -33
  625. package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
  626. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  627. package/dist/components/overlays/Notifications/NotificationContext.js.map +1 -1
  628. package/dist/components/overlays/Notifications/NotificationItem.js +63 -16
  629. package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
  630. package/dist/components/overlays/Notifications/OverlayContainer.js +312 -151
  631. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  632. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  633. package/dist/components/overlays/Notifications/OverlayProvider.js.map +1 -1
  634. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +210 -58
  635. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  636. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  637. package/dist/components/overlays/Notifications/dismissed-storage.js.map +1 -1
  638. package/dist/components/overlays/Notifications/format-relative-time.d.ts +1 -1
  639. package/dist/components/overlays/Notifications/format-relative-time.js +3 -3
  640. package/dist/components/overlays/Notifications/format-relative-time.js.map +1 -1
  641. package/dist/components/overlays/Notifications/index.js +1 -1
  642. package/dist/components/overlays/Notifications/index.js.map +1 -1
  643. package/dist/components/overlays/Notifications/use-notification-state.js +51 -51
  644. package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
  645. package/dist/components/overlays/Notifications/use-notifications.js +12 -12
  646. package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
  647. package/dist/components/overlays/Notifications/use-overlay-timers.js +10 -10
  648. package/dist/components/overlays/Notifications/use-overlay-timers.js.map +1 -1
  649. package/dist/components/overlays/Notifications/use-persistent-notifications.js +24 -5
  650. package/dist/components/overlays/Notifications/use-persistent-notifications.js.map +1 -1
  651. package/dist/components/overlays/Notifications/use-persistent-state.js +145 -43
  652. package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
  653. package/dist/components/overlays/Notifications/use-toast-state.js +25 -25
  654. package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
  655. package/dist/components/overlays/Toast/ToastItem.js +68 -15
  656. package/dist/components/overlays/Toast/ToastItem.js.map +1 -1
  657. package/dist/components/overlays/Toast/index.js +100 -34
  658. package/dist/components/overlays/Toast/index.js.map +1 -1
  659. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  660. package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
  661. package/dist/components/overlays/Toast/useToast.js +9 -9
  662. package/dist/components/overlays/Toast/useToast.js.map +1 -1
  663. package/dist/components/overlays/Tooltip/Tooltip.js +88 -31
  664. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  665. package/dist/components/overlays/Tooltip/TooltipProvider.js +75 -10
  666. package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
  667. package/dist/components/overlays/Tooltip/TooltipTrigger.js +189 -77
  668. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  669. package/dist/components/overlays/Tooltip/context.js +1 -1
  670. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  671. package/dist/components/overlays/Tooltip/split-trigger-props.d.ts +16 -0
  672. package/dist/components/overlays/Tooltip/split-trigger-props.js +54 -0
  673. package/dist/components/overlays/Tooltip/split-trigger-props.js.map +1 -0
  674. package/dist/components/portal/Portal.js +18 -3
  675. package/dist/components/portal/Portal.js.map +1 -1
  676. package/dist/components/portal/PortalProvider.js +11 -2
  677. package/dist/components/portal/PortalProvider.js.map +1 -1
  678. package/dist/components/portal/usePortal.js +1 -1
  679. package/dist/components/portal/usePortal.js.map +1 -1
  680. package/dist/components/shared/DraggableCollection.js +23 -23
  681. package/dist/components/shared/DraggableCollection.js.map +1 -1
  682. package/dist/components/shared/InvalidIcon.js +1 -1
  683. package/dist/components/shared/InvalidIcon.js.map +1 -1
  684. package/dist/components/shared/ValidIcon.js +1 -1
  685. package/dist/components/shared/ValidIcon.js.map +1 -1
  686. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +156 -48
  687. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  688. package/dist/components/status/Spin/Cube.js +12 -3
  689. package/dist/components/status/Spin/Cube.js.map +1 -1
  690. package/dist/components/status/Spin/InternalSpinner.js +21 -6
  691. package/dist/components/status/Spin/InternalSpinner.js.map +1 -1
  692. package/dist/components/status/Spin/Spin.js +31 -7
  693. package/dist/components/status/Spin/Spin.js.map +1 -1
  694. package/dist/components/status/Spin/SpinsContainer.js +23 -6
  695. package/dist/components/status/Spin/SpinsContainer.js.map +1 -1
  696. package/dist/data/item-themes.d.ts +1 -1
  697. package/dist/data/item-themes.js +7 -1
  698. package/dist/data/item-themes.js.map +1 -1
  699. package/dist/data/themes.js +1 -1
  700. package/dist/data/themes.js.map +1 -1
  701. package/dist/eslint-plugin/defaults.generated.js +15 -5
  702. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  703. package/dist/eslint-plugin/index.js +1 -1
  704. package/dist/eslint-plugin/index.js.map +1 -1
  705. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  706. package/dist/eslint-plugin/rules/no-redundant-default-prop.js.map +1 -1
  707. package/dist/i18n/I18nProvider.js +54 -13
  708. package/dist/i18n/I18nProvider.js.map +1 -1
  709. package/dist/i18n/createFormatter.js +1 -1
  710. package/dist/i18n/createFormatter.js.map +1 -1
  711. package/dist/i18n/index.js +1 -1
  712. package/dist/i18n/index.js.map +1 -1
  713. package/dist/i18n/instance.js +1 -1
  714. package/dist/i18n/instance.js.map +1 -1
  715. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  716. package/dist/i18n/locales/en-US/uikit.js +1 -1
  717. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  718. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  719. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  720. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  721. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  722. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  723. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  724. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  725. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  726. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  727. package/dist/i18n/locales.js +1 -1
  728. package/dist/i18n/locales.js.map +1 -1
  729. package/dist/i18n/useFormatter.js +10 -3
  730. package/dist/i18n/useFormatter.js.map +1 -1
  731. package/dist/i18n/useI18n.js +1 -1
  732. package/dist/i18n/useI18n.js.map +1 -1
  733. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  734. package/dist/icons/AdjustmentsHorizontalIcon.js.map +1 -1
  735. package/dist/icons/AdjustmentsIcon.js +1 -1
  736. package/dist/icons/AdjustmentsIcon.js.map +1 -1
  737. package/dist/icons/AiIcon.js +1 -1
  738. package/dist/icons/AiIcon.js.map +1 -1
  739. package/dist/icons/AreaChartIcon.js +1 -1
  740. package/dist/icons/AreaChartIcon.js.map +1 -1
  741. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  742. package/dist/icons/ArrowNarrowDownIcon.js.map +1 -1
  743. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  744. package/dist/icons/ArrowNarrowUpIcon.js.map +1 -1
  745. package/dist/icons/BackwardIcon.js +1 -1
  746. package/dist/icons/BackwardIcon.js.map +1 -1
  747. package/dist/icons/BarChartIcon.js +1 -1
  748. package/dist/icons/BarChartIcon.js.map +1 -1
  749. package/dist/icons/BellFilledIcon.js +1 -1
  750. package/dist/icons/BellFilledIcon.js.map +1 -1
  751. package/dist/icons/BellIcon.js +1 -1
  752. package/dist/icons/BellIcon.js.map +1 -1
  753. package/dist/icons/BooleanIcon.js +1 -1
  754. package/dist/icons/BooleanIcon.js.map +1 -1
  755. package/dist/icons/CalendarEditIcon.js +1 -1
  756. package/dist/icons/CalendarEditIcon.js.map +1 -1
  757. package/dist/icons/CalendarIcon.js +1 -1
  758. package/dist/icons/CalendarIcon.js.map +1 -1
  759. package/dist/icons/CaretDownIcon.js +1 -1
  760. package/dist/icons/CaretDownIcon.js.map +1 -1
  761. package/dist/icons/CaretUpIcon.js +1 -1
  762. package/dist/icons/CaretUpIcon.js.map +1 -1
  763. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  764. package/dist/icons/ChartAreaStackedIcon.js.map +1 -1
  765. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  766. package/dist/icons/ChartAreaStackedPercentageIcon.js.map +1 -1
  767. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  768. package/dist/icons/ChartBarGroupedHorizontalIcon.js.map +1 -1
  769. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  770. package/dist/icons/ChartBarGroupedIcon.js.map +1 -1
  771. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  772. package/dist/icons/ChartBarHorizontalIcon.js.map +1 -1
  773. package/dist/icons/ChartBarLineIcon.js +1 -1
  774. package/dist/icons/ChartBarLineIcon.js.map +1 -1
  775. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  776. package/dist/icons/ChartBarStackedHorizontalIcon.js.map +1 -1
  777. package/dist/icons/ChartBarStackedIcon.js +1 -1
  778. package/dist/icons/ChartBarStackedIcon.js.map +1 -1
  779. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  780. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js.map +1 -1
  781. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  782. package/dist/icons/ChartBarStackedPercentageIcon.js.map +1 -1
  783. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  784. package/dist/icons/ChartBoxPlot2Icon.js.map +1 -1
  785. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  786. package/dist/icons/ChartBoxPlotIcon.js.map +1 -1
  787. package/dist/icons/ChartBubbleIcon.js +1 -1
  788. package/dist/icons/ChartBubbleIcon.js.map +1 -1
  789. package/dist/icons/ChartDonut2Icon.js +1 -1
  790. package/dist/icons/ChartDonut2Icon.js.map +1 -1
  791. package/dist/icons/ChartFunnelIcon.js +1 -1
  792. package/dist/icons/ChartFunnelIcon.js.map +1 -1
  793. package/dist/icons/ChartHeatmapIcon.js +1 -1
  794. package/dist/icons/ChartHeatmapIcon.js.map +1 -1
  795. package/dist/icons/ChartKPIIcon.js +1 -1
  796. package/dist/icons/ChartKPIIcon.js.map +1 -1
  797. package/dist/icons/ChartPie2Icon.js +1 -1
  798. package/dist/icons/ChartPie2Icon.js.map +1 -1
  799. package/dist/icons/ChartScatterIcon.js +1 -1
  800. package/dist/icons/ChartScatterIcon.js.map +1 -1
  801. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  802. package/dist/icons/CheckCircleFilledIcon.js.map +1 -1
  803. package/dist/icons/CheckCircleIcon.js +1 -1
  804. package/dist/icons/CheckCircleIcon.js.map +1 -1
  805. package/dist/icons/CheckIcon.js +1 -1
  806. package/dist/icons/CheckIcon.js.map +1 -1
  807. package/dist/icons/CircleFilledIcon.js +1 -1
  808. package/dist/icons/CircleFilledIcon.js.map +1 -1
  809. package/dist/icons/ClearIcon.js +1 -1
  810. package/dist/icons/ClearIcon.js.map +1 -1
  811. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  812. package/dist/icons/CloseCircleFilledIcon.js.map +1 -1
  813. package/dist/icons/CloseCircleIcon.js +1 -1
  814. package/dist/icons/CloseCircleIcon.js.map +1 -1
  815. package/dist/icons/CloseIcon.js +1 -1
  816. package/dist/icons/CloseIcon.js.map +1 -1
  817. package/dist/icons/CodeIcon.js +1 -1
  818. package/dist/icons/CodeIcon.js.map +1 -1
  819. package/dist/icons/ColumnTotalIcon.js +1 -1
  820. package/dist/icons/ColumnTotalIcon.js.map +1 -1
  821. package/dist/icons/CopyIcon.js +1 -1
  822. package/dist/icons/CopyIcon.js.map +1 -1
  823. package/dist/icons/CountIcon.js +1 -1
  824. package/dist/icons/CountIcon.js.map +1 -1
  825. package/dist/icons/CubeIcon.js +1 -1
  826. package/dist/icons/CubeIcon.js.map +1 -1
  827. package/dist/icons/CubePauseIcon.js +1 -1
  828. package/dist/icons/CubePauseIcon.js.map +1 -1
  829. package/dist/icons/CubePlayIcon.js +1 -1
  830. package/dist/icons/CubePlayIcon.js.map +1 -1
  831. package/dist/icons/CurrencyDollarIcon.js +1 -1
  832. package/dist/icons/CurrencyDollarIcon.js.map +1 -1
  833. package/dist/icons/DangerIcon.js +1 -1
  834. package/dist/icons/DangerIcon.js.map +1 -1
  835. package/dist/icons/DashboardIcon.js +1 -1
  836. package/dist/icons/DashboardIcon.js.map +1 -1
  837. package/dist/icons/DatabaseIcon.js +1 -1
  838. package/dist/icons/DatabaseIcon.js.map +1 -1
  839. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  840. package/dist/icons/DecimalDecreaseIcon.js.map +1 -1
  841. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  842. package/dist/icons/DecimalIncreaseIcon.js.map +1 -1
  843. package/dist/icons/DirectionIcon.js +67 -22
  844. package/dist/icons/DirectionIcon.js.map +1 -1
  845. package/dist/icons/DonutIcon.js +1 -1
  846. package/dist/icons/DonutIcon.js.map +1 -1
  847. package/dist/icons/DownIcon.js +1 -1
  848. package/dist/icons/DownIcon.js.map +1 -1
  849. package/dist/icons/EditIcon.js +1 -1
  850. package/dist/icons/EditIcon.js.map +1 -1
  851. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  852. package/dist/icons/ExclamationCircleFilledIcon.js.map +1 -1
  853. package/dist/icons/ExclamationCircleIcon.js +1 -1
  854. package/dist/icons/ExclamationCircleIcon.js.map +1 -1
  855. package/dist/icons/ExclamationIcon.js +1 -1
  856. package/dist/icons/ExclamationIcon.js.map +1 -1
  857. package/dist/icons/EyeIcon.js +1 -1
  858. package/dist/icons/EyeIcon.js.map +1 -1
  859. package/dist/icons/EyeInvisibleIcon.js +1 -1
  860. package/dist/icons/EyeInvisibleIcon.js.map +1 -1
  861. package/dist/icons/FilterIcon.js +1 -1
  862. package/dist/icons/FilterIcon.js.map +1 -1
  863. package/dist/icons/FolderFilledIcon.js +1 -1
  864. package/dist/icons/FolderFilledIcon.js.map +1 -1
  865. package/dist/icons/FolderIcon.js +1 -1
  866. package/dist/icons/FolderIcon.js.map +1 -1
  867. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  868. package/dist/icons/FolderOpenFilledIcon.js.map +1 -1
  869. package/dist/icons/FolderOpenIcon.js +1 -1
  870. package/dist/icons/FolderOpenIcon.js.map +1 -1
  871. package/dist/icons/ForwardIcon.js +1 -1
  872. package/dist/icons/ForwardIcon.js.map +1 -1
  873. package/dist/icons/GripVerticalIcon.js +1 -1
  874. package/dist/icons/GripVerticalIcon.js.map +1 -1
  875. package/dist/icons/HierarchyIcon.js +1 -1
  876. package/dist/icons/HierarchyIcon.js.map +1 -1
  877. package/dist/icons/HierarchyOpenIcon.js +1 -1
  878. package/dist/icons/HierarchyOpenIcon.js.map +1 -1
  879. package/dist/icons/Icon.js +60 -16
  880. package/dist/icons/Icon.js.map +1 -1
  881. package/dist/icons/InfoCircleIcon.js +1 -1
  882. package/dist/icons/InfoCircleIcon.js.map +1 -1
  883. package/dist/icons/InfoIcon.js +1 -1
  884. package/dist/icons/InfoIcon.js.map +1 -1
  885. package/dist/icons/KeyIcon.js +1 -1
  886. package/dist/icons/KeyIcon.js.map +1 -1
  887. package/dist/icons/LeftIcon.js +1 -1
  888. package/dist/icons/LeftIcon.js.map +1 -1
  889. package/dist/icons/LineChartIcon.js +1 -1
  890. package/dist/icons/LineChartIcon.js.map +1 -1
  891. package/dist/icons/LoadingIcon.js +1 -1
  892. package/dist/icons/LoadingIcon.js.map +1 -1
  893. package/dist/icons/LockFilledIcon.js +1 -1
  894. package/dist/icons/LockFilledIcon.js.map +1 -1
  895. package/dist/icons/LockIcon.js +1 -1
  896. package/dist/icons/LockIcon.js.map +1 -1
  897. package/dist/icons/MoreIcon.js +1 -1
  898. package/dist/icons/MoreIcon.js.map +1 -1
  899. package/dist/icons/NotAllowedIcon.js +1 -1
  900. package/dist/icons/NotAllowedIcon.js.map +1 -1
  901. package/dist/icons/Number123Icon.js +1 -1
  902. package/dist/icons/Number123Icon.js.map +1 -1
  903. package/dist/icons/NumberIcon.js +1 -1
  904. package/dist/icons/NumberIcon.js.map +1 -1
  905. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  906. package/dist/icons/PauseCircleFilledIcon.js.map +1 -1
  907. package/dist/icons/PauseCircleIcon.js +1 -1
  908. package/dist/icons/PauseCircleIcon.js.map +1 -1
  909. package/dist/icons/PauseIcon.js +1 -1
  910. package/dist/icons/PauseIcon.js.map +1 -1
  911. package/dist/icons/PercentageIcon.js +1 -1
  912. package/dist/icons/PercentageIcon.js.map +1 -1
  913. package/dist/icons/PieChartIcon.js +1 -1
  914. package/dist/icons/PieChartIcon.js.map +1 -1
  915. package/dist/icons/PipetteIcon.js +1 -1
  916. package/dist/icons/PipetteIcon.js.map +1 -1
  917. package/dist/icons/PlayCircleIcon.js +1 -1
  918. package/dist/icons/PlayCircleIcon.js.map +1 -1
  919. package/dist/icons/PlayIcon.js +1 -1
  920. package/dist/icons/PlayIcon.js.map +1 -1
  921. package/dist/icons/PlusIcon.js +1 -1
  922. package/dist/icons/PlusIcon.js.map +1 -1
  923. package/dist/icons/ProgressBarIcon.js +1 -1
  924. package/dist/icons/ProgressBarIcon.js.map +1 -1
  925. package/dist/icons/ReloadIcon.js +1 -1
  926. package/dist/icons/ReloadIcon.js.map +1 -1
  927. package/dist/icons/ReportIcon.js +1 -1
  928. package/dist/icons/ReportIcon.js.map +1 -1
  929. package/dist/icons/ReturnIcon.js +1 -1
  930. package/dist/icons/ReturnIcon.js.map +1 -1
  931. package/dist/icons/RightIcon.js +1 -1
  932. package/dist/icons/RightIcon.js.map +1 -1
  933. package/dist/icons/RowTotalsIcon.js +1 -1
  934. package/dist/icons/RowTotalsIcon.js.map +1 -1
  935. package/dist/icons/SchemeIcon.js +1 -1
  936. package/dist/icons/SchemeIcon.js.map +1 -1
  937. package/dist/icons/SearchIcon.js +1 -1
  938. package/dist/icons/SearchIcon.js.map +1 -1
  939. package/dist/icons/SemanticQueryIcon.js +1 -1
  940. package/dist/icons/SemanticQueryIcon.js.map +1 -1
  941. package/dist/icons/SettingsIcon.js +1 -1
  942. package/dist/icons/SettingsIcon.js.map +1 -1
  943. package/dist/icons/ShieldFilledIcon.js +1 -1
  944. package/dist/icons/ShieldFilledIcon.js.map +1 -1
  945. package/dist/icons/ShieldIcon.js +1 -1
  946. package/dist/icons/ShieldIcon.js.map +1 -1
  947. package/dist/icons/SlashIcon.js +1 -1
  948. package/dist/icons/SlashIcon.js.map +1 -1
  949. package/dist/icons/SparklesIcon.js +1 -1
  950. package/dist/icons/SparklesIcon.js.map +1 -1
  951. package/dist/icons/SqlIcon.js +1 -1
  952. package/dist/icons/SqlIcon.js.map +1 -1
  953. package/dist/icons/StatsIcon.js +1 -1
  954. package/dist/icons/StatsIcon.js.map +1 -1
  955. package/dist/icons/StopIcon.js +1 -1
  956. package/dist/icons/StopIcon.js.map +1 -1
  957. package/dist/icons/StringIcon.js +1 -1
  958. package/dist/icons/StringIcon.js.map +1 -1
  959. package/dist/icons/SubtotalsIcon.js +1 -1
  960. package/dist/icons/SubtotalsIcon.js.map +1 -1
  961. package/dist/icons/SwitchIcon.js +1 -1
  962. package/dist/icons/SwitchIcon.js.map +1 -1
  963. package/dist/icons/TableIcon.js +1 -1
  964. package/dist/icons/TableIcon.js.map +1 -1
  965. package/dist/icons/ThumbsDownIcon.js +1 -1
  966. package/dist/icons/ThumbsDownIcon.js.map +1 -1
  967. package/dist/icons/ThumbsUpIcon.js +1 -1
  968. package/dist/icons/ThumbsUpIcon.js.map +1 -1
  969. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  970. package/dist/icons/ThunderboltCrossedIcon.js.map +1 -1
  971. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  972. package/dist/icons/ThunderboltFilledIcon.js.map +1 -1
  973. package/dist/icons/ThunderboltIcon.js +1 -1
  974. package/dist/icons/ThunderboltIcon.js.map +1 -1
  975. package/dist/icons/TimeIcon.js +1 -1
  976. package/dist/icons/TimeIcon.js.map +1 -1
  977. package/dist/icons/TrashIcon.js +1 -1
  978. package/dist/icons/TrashIcon.js.map +1 -1
  979. package/dist/icons/UnlockIcon.js +1 -1
  980. package/dist/icons/UnlockIcon.js.map +1 -1
  981. package/dist/icons/UpIcon.js +1 -1
  982. package/dist/icons/UpIcon.js.map +1 -1
  983. package/dist/icons/UserGroupIcon.js +1 -1
  984. package/dist/icons/UserGroupIcon.js.map +1 -1
  985. package/dist/icons/UserIcon.js +1 -1
  986. package/dist/icons/UserIcon.js.map +1 -1
  987. package/dist/icons/UserLockIcon.js +1 -1
  988. package/dist/icons/UserLockIcon.js.map +1 -1
  989. package/dist/icons/ViewIcon.js +1 -1
  990. package/dist/icons/ViewIcon.js.map +1 -1
  991. package/dist/icons/WarningFilledIcon.js +1 -1
  992. package/dist/icons/WarningFilledIcon.js.map +1 -1
  993. package/dist/icons/WarningIcon.js +1 -1
  994. package/dist/icons/WarningIcon.js.map +1 -1
  995. package/dist/icons/wrap-icon.js +15 -7
  996. package/dist/icons/wrap-icon.js.map +1 -1
  997. package/dist/index.d.ts +22 -22
  998. package/dist/index.js +1 -1
  999. package/dist/index.js.map +1 -1
  1000. package/dist/probe/canonicalize.js +2 -2
  1001. package/dist/probe/canonicalize.js.map +1 -1
  1002. package/dist/probe/css.js +1 -1
  1003. package/dist/probe/css.js.map +1 -1
  1004. package/dist/probe/index.js +1 -1
  1005. package/dist/provider.js +17 -7
  1006. package/dist/provider.js.map +1 -1
  1007. package/dist/providers/TrackingProvider.js +33 -9
  1008. package/dist/providers/TrackingProvider.js.map +1 -1
  1009. package/dist/providers/navigationAdapter.default.js +1 -1
  1010. package/dist/providers/navigationAdapter.default.js.map +1 -1
  1011. package/dist/shared/form.d.ts +9 -2
  1012. package/dist/tokens/all-tokens.js +1 -1
  1013. package/dist/tokens/all-tokens.js.map +1 -1
  1014. package/dist/tokens/base.js +1 -1
  1015. package/dist/tokens/base.js.map +1 -1
  1016. package/dist/tokens/color-seed.js +1 -1
  1017. package/dist/tokens/color-seed.js.map +1 -1
  1018. package/dist/tokens/color-theme.js +18 -3
  1019. package/dist/tokens/color-theme.js.map +1 -1
  1020. package/dist/tokens/colors.js +1 -1
  1021. package/dist/tokens/colors.js.map +1 -1
  1022. package/dist/tokens/layout.js +1 -1
  1023. package/dist/tokens/layout.js.map +1 -1
  1024. package/dist/tokens/lazy-styles.js +1 -1
  1025. package/dist/tokens/lazy-styles.js.map +1 -1
  1026. package/dist/tokens/legacy-color.js +1 -1
  1027. package/dist/tokens/legacy-color.js.map +1 -1
  1028. package/dist/tokens/palette-config.js +9 -2
  1029. package/dist/tokens/palette-config.js.map +1 -1
  1030. package/dist/tokens/palette.js +1 -1
  1031. package/dist/tokens/palette.js.map +1 -1
  1032. package/dist/tokens/resolve.js +85 -21
  1033. package/dist/tokens/resolve.js.map +1 -1
  1034. package/dist/tokens/shadows.js +1 -1
  1035. package/dist/tokens/shadows.js.map +1 -1
  1036. package/dist/tokens/sizes.js +1 -1
  1037. package/dist/tokens/sizes.js.map +1 -1
  1038. package/dist/tokens/spacing.js +1 -1
  1039. package/dist/tokens/spacing.js.map +1 -1
  1040. package/dist/tokens/typography.js +1 -1
  1041. package/dist/tokens/typography.js.map +1 -1
  1042. package/dist/utils/ResizeSensor.js +1 -1
  1043. package/dist/utils/ResizeSensor.js.map +1 -1
  1044. package/dist/utils/colors.js +1 -1
  1045. package/dist/utils/colors.js.map +1 -1
  1046. package/dist/utils/dotize.js +1 -1
  1047. package/dist/utils/dotize.js.map +1 -1
  1048. package/dist/utils/is-dev-env.js +1 -1
  1049. package/dist/utils/is-dev-env.js.map +1 -1
  1050. package/dist/utils/modules.js +1 -1
  1051. package/dist/utils/modules.js.map +1 -1
  1052. package/dist/utils/promise.js +1 -1
  1053. package/dist/utils/promise.js.map +1 -1
  1054. package/dist/utils/raf.js +1 -1
  1055. package/dist/utils/raf.js.map +1 -1
  1056. package/dist/utils/random.js +1 -1
  1057. package/dist/utils/random.js.map +1 -1
  1058. package/dist/utils/range.js +1 -1
  1059. package/dist/utils/range.js.map +1 -1
  1060. package/dist/utils/react/RenderCache.js +2 -2
  1061. package/dist/utils/react/RenderCache.js.map +1 -1
  1062. package/dist/utils/react/Slots.js +67 -24
  1063. package/dist/utils/react/Slots.js.map +1 -1
  1064. package/dist/utils/react/chain.js +1 -1
  1065. package/dist/utils/react/chain.js.map +1 -1
  1066. package/dist/utils/react/disabledProps.js +1 -1
  1067. package/dist/utils/react/disabledProps.js.map +1 -1
  1068. package/dist/utils/react/escapePropagation.js +1 -1
  1069. package/dist/utils/react/escapePropagation.js.map +1 -1
  1070. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  1071. package/dist/utils/react/forwardRefWithGenerics.js.map +1 -1
  1072. package/dist/utils/react/index.js +1 -1
  1073. package/dist/utils/react/interactions.js +35 -12
  1074. package/dist/utils/react/interactions.js.map +1 -1
  1075. package/dist/utils/react/isTextOnly.js +1 -1
  1076. package/dist/utils/react/isTextOnly.js.map +1 -1
  1077. package/dist/utils/react/mapProps.js +1 -1
  1078. package/dist/utils/react/mapProps.js.map +1 -1
  1079. package/dist/utils/react/mergeProps.js +1 -1
  1080. package/dist/utils/react/mergeProps.js.map +1 -1
  1081. package/dist/utils/react/nullableValue.js +1 -1
  1082. package/dist/utils/react/nullableValue.js.map +1 -1
  1083. package/dist/utils/react/programmaticFocus.js +1 -1
  1084. package/dist/utils/react/programmaticFocus.js.map +1 -1
  1085. package/dist/utils/react/resolveIcon.js +1 -1
  1086. package/dist/utils/react/resolveIcon.js.map +1 -1
  1087. package/dist/utils/react/sharedStore.js +13 -2
  1088. package/dist/utils/react/sharedStore.js.map +1 -1
  1089. package/dist/utils/react/useBufferedValue.js +5 -5
  1090. package/dist/utils/react/useBufferedValue.js.map +1 -1
  1091. package/dist/utils/react/useCombinedRefs.js +20 -5
  1092. package/dist/utils/react/useCombinedRefs.js.map +1 -1
  1093. package/dist/utils/react/useControlledFocusVisible.js +53 -17
  1094. package/dist/utils/react/useControlledFocusVisible.js.map +1 -1
  1095. package/dist/utils/react/useEventBus.js +43 -18
  1096. package/dist/utils/react/useEventBus.js.map +1 -1
  1097. package/dist/utils/react/useId.js +2 -1
  1098. package/dist/utils/react/useId.js.map +1 -1
  1099. package/dist/utils/react/useIsDarwin.js +29 -16
  1100. package/dist/utils/react/useIsDarwin.js.map +1 -1
  1101. package/dist/utils/react/useKeySymbols.js +23 -9
  1102. package/dist/utils/react/useKeySymbols.js.map +1 -1
  1103. package/dist/utils/react/useLayoutEffect.js +1 -1
  1104. package/dist/utils/react/useLayoutEffect.js.map +1 -1
  1105. package/dist/utils/react/useLocalStorage.js +75 -30
  1106. package/dist/utils/react/useLocalStorage.js.map +1 -1
  1107. package/dist/utils/react/useMergeStyles.js +1 -1
  1108. package/dist/utils/react/useMergeStyles.js.map +1 -1
  1109. package/dist/utils/react/useOverlayEscapeGuard.js +25 -9
  1110. package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
  1111. package/dist/utils/react/usePopoverSync.js +175 -73
  1112. package/dist/utils/react/usePopoverSync.js.map +1 -1
  1113. package/dist/utils/react/useQaProps.js +1 -1
  1114. package/dist/utils/react/useQaProps.js.map +1 -1
  1115. package/dist/utils/react/useScheme.js +1 -1
  1116. package/dist/utils/react/useScheme.js.map +1 -1
  1117. package/dist/utils/react/useViewportSize.js +43 -19
  1118. package/dist/utils/react/useViewportSize.js.map +1 -1
  1119. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  1120. package/dist/utils/react/wrapNodeIfPlain.js.map +1 -1
  1121. package/dist/utils/selection.js +1 -1
  1122. package/dist/utils/selection.js.map +1 -1
  1123. package/dist/utils/styles.js +1 -1
  1124. package/dist/utils/styles.js.map +1 -1
  1125. package/dist/utils/tree.js +1 -1
  1126. package/dist/utils/tree.js.map +1 -1
  1127. package/dist/utils/warnings.js +1 -1
  1128. package/dist/utils/warnings.js.map +1 -1
  1129. package/dist/version.js +2 -2
  1130. package/dist/version.js.map +1 -1
  1131. package/docs/FieldProperties.md +2 -2
  1132. package/docs/Usage.md +9 -1
  1133. package/docs/components/actions/ButtonSplit.md +2 -0
  1134. package/docs/components/content/InfoBadge.md +1 -1
  1135. package/docs/components/content/InlineInput.md +1 -1
  1136. package/docs/components/content/Layout.md +1 -1
  1137. package/docs/components/content/Tag.md +10 -2
  1138. package/docs/components/fields/Checkbox.md +11 -0
  1139. package/docs/components/fields/ColorInput.md +15 -8
  1140. package/docs/components/fields/ColorPicker.md +16 -9
  1141. package/docs/components/fields/ComboBox.md +16 -12
  1142. package/docs/components/fields/DatePicker.md +2 -0
  1143. package/docs/components/fields/FilterListBox.md +24 -19
  1144. package/docs/components/fields/FilterPicker.md +27 -20
  1145. package/docs/components/fields/ListBox.md +36 -26
  1146. package/docs/components/fields/PeriodPicker.md +2 -0
  1147. package/docs/components/fields/Picker.md +30 -22
  1148. package/docs/components/fields/RadioGroup.md +2 -2
  1149. package/docs/components/fields/Select.md +21 -12
  1150. package/docs/components/form/Field.md +4 -4
  1151. package/docs/components/form/Form.md +61 -578
  1152. package/docs/components/form/ModernForm.md +22 -1
  1153. package/docs/components/navigation/Tabs.md +3 -3
  1154. package/docs/components/overlays/Dialog.md +30 -3
  1155. package/docs/components/overlays/DialogForm.md +122 -263
  1156. package/docs/components/overlays/DialogTrigger.md +1 -1
  1157. package/docs/components/overlays/UseDialogContainer.md +11 -13
  1158. package/docs/modern-form-guide.md +22 -1
  1159. package/docs/modern-form-migration.md +1 -1
  1160. package/package.json +7 -2
@@ -1 +1 @@
1
- {"version":3,"file":"useScheme.js","names":[],"sources":["../../../src/utils/react/useScheme.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\n/**\n * The ambient viewing conditions — the color scheme and the contrast tier the\n * document is showing right now.\n *\n * This module is the single owner of the definition: it builds the `@dark` /\n * `@hc` predefined states that `src/components/Root.tsx` registers with tasty,\n * *and* it answers the same question in JS. One definition, two readers, so the\n * CSS and the JS answers cannot drift apart.\n *\n * **For styling, do not use this.** `{ '': light, '@dark': dark, '@hc': hc }` is\n * the answer, and branching styles in JS gives up the conditionality that lets a\n * scheme flip repaint without a re-render. Two cases the state map cannot serve:\n *\n * 1. **Surfaces the stylesheet does not reach** — a Vega spec, a CodeMirror or\n * Monaco theme, a third-party iframe. They take values, not CSS, so `@dark`\n * never applies and the branch has to happen in JS.\n * 2. **Control state that is not styling** — seeding or labelling a control from\n * the ambient condition, e.g. a Light/Dark or Normal/High-contrast preview\n * selector that starts on whatever the page is already showing.\n *\n * Root-level only, and deliberately not a generic state reader: tasty's state\n * vocabulary mixes element-local states (`hovered`, `pressed`, `disabled`) with\n * ambient ones (`@media(…)`, `@root(…)`), and only the ambient half is\n * answerable without an element. Evaluating the state language in JS would mean\n * a second implementation of the state algebra to keep in agreement with the CSS\n * one, for a question almost every caller asks about the root anyway.\n */\n\n// ============================================================================\n// The definition\n// ============================================================================\n\n/**\n * The `data-*` attribute names the opt-in uses, and the media queries it falls\n * back to. `@root(scheme=dark)` compiles to `:root[data-scheme=\"dark\"]`, hence\n * the `data-` prefix on the DOM side and the bare key on the tasty side.\n */\nconst SCHEME_KEY = 'scheme';\nconst CONTRAST_KEY = 'contrast';\nconst SCHEME_ATTR = `data-${SCHEME_KEY}`;\nconst CONTRAST_ATTR = `data-${CONTRAST_KEY}`;\nconst DARK_QUERY = '(prefers-color-scheme: dark)';\nconst HIGH_CONTRAST_QUERY = '(prefers-contrast: more)';\n\n/**\n * The `@dark` / `@hc` state aliases, in tasty's DSL — registered globally by\n * `<Root>` via `setGlobalPredefinedStates()`.\n *\n * The attribute opt-in wins over the system preference, and the fallback is\n * gated on the attribute being *absent* (`!@root(scheme)`) rather than on it\n * being some other value — so `<html data-scheme=\"light\">` stays light inside a\n * dark OS, which is the whole point of an opt-in. {@link resolveScheme} and\n * {@link resolveHighContrast} read the same way.\n */\nexport const AMBIENT_PREDEFINED_STATES = {\n '@dark': `@root(${SCHEME_KEY}=dark) | (!@root(${SCHEME_KEY}) & @media${DARK_QUERY})`,\n '@hc': `@root(${CONTRAST_KEY}=high) | (!@root(${CONTRAST_KEY}) & @media${HIGH_CONTRAST_QUERY})`,\n} as const;\n\n/** The color scheme the document resolves to — the two arms of the `@dark` state. */\nexport type ColorScheme = 'light' | 'dark';\n\n// ============================================================================\n// Reading\n// ============================================================================\n\n/**\n * `matchMedia` is called per read rather than cached, so a test that stubs it\n * takes effect immediately. Missing (older jsdom, non-DOM runtimes) reads as\n * \"no preference\", which lands on the light / normal-contrast defaults.\n */\nfunction mediaMatches(query: string): boolean {\n return typeof window !== 'undefined' &&\n typeof window.matchMedia === 'function'\n ? window.matchMedia(query).matches\n : false;\n}\n\nfunction rootAttribute(name: string): string | null {\n return typeof document === 'undefined'\n ? null\n : document.documentElement.getAttribute(name);\n}\n\n/**\n * The document's current color scheme, read once — the JS answer to `@dark`.\n *\n * Outside React (a chart spec built in a module, an editor theme registered at\n * import time). In React use {@link useScheme}, which also re-renders on change.\n * Returns `'light'` with no DOM.\n */\nexport function resolveScheme(): ColorScheme {\n const attribute = rootAttribute(SCHEME_ATTR);\n\n if (attribute !== null) {\n return attribute === 'dark' ? 'dark' : 'light';\n }\n\n return mediaMatches(DARK_QUERY) ? 'dark' : 'light';\n}\n\n/**\n * Whether the document is showing the high-contrast tier, read once — the JS\n * answer to `@hc`.\n *\n * Note this is an *ambient* condition, not the theme's `contrastLevel`: the\n * level is a `PaletteConfig` seed the app supplies (read it with\n * `getPaletteConfig()`), while this is the tier the viewer asked for.\n * Returns `false` with no DOM.\n */\nexport function resolveHighContrast(): boolean {\n const attribute = rootAttribute(CONTRAST_ATTR);\n\n if (attribute !== null) {\n return attribute === 'high';\n }\n\n return mediaMatches(HIGH_CONTRAST_QUERY);\n}\n\n// ============================================================================\n// Watching\n// ============================================================================\n\nconst listeners = new Set<() => void>();\n\nlet stopWatching: (() => void) | null = null;\n\nfunction notify() {\n listeners.forEach((listener) => listener());\n}\n\n/**\n * Both inputs have to be watched, because either can decide the answer: the\n * attribute when the opt-in is set, the media query otherwise — an attribute flip\n * is invisible to `matchMedia` and a system flip is invisible to a\n * `MutationObserver`. One observer and one pair of query listeners are shared by\n * every subscriber, and torn down when the last one leaves.\n */\nfunction startWatching(): () => void {\n if (typeof document === 'undefined') {\n return () => {};\n }\n\n const teardowns: (() => void)[] = [];\n\n // Guarded rather than assumed: jsdom ships neither `matchMedia` nor a\n // `MediaQueryList` in every version, and a consumer's unit tests are exactly\n // where a hook like this gets mounted. Losing one source of change is a stale\n // value; throwing is a broken render.\n if (\n typeof window !== 'undefined' &&\n typeof window.matchMedia === 'function'\n ) {\n for (const query of [DARK_QUERY, HIGH_CONTRAST_QUERY]) {\n const list = window.matchMedia(query);\n\n if (typeof list?.addEventListener !== 'function') continue;\n\n list.addEventListener('change', notify);\n teardowns.push(() => list.removeEventListener('change', notify));\n }\n }\n\n if (typeof MutationObserver === 'function' && document.documentElement) {\n const observer = new MutationObserver(notify);\n\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: [SCHEME_ATTR, CONTRAST_ATTR],\n });\n\n teardowns.push(() => observer.disconnect());\n }\n\n return () => teardowns.forEach((teardown) => teardown());\n}\n\n/**\n * Subscribe to ambient condition changes — either the scheme or the contrast\n * tier. Returns an unsubscribe function.\n *\n * The listener takes no argument: re-read with {@link resolveScheme} /\n * {@link resolveHighContrast}, which is what the hooks below do. For non-React\n * consumers that own a surface the stylesheet cannot reach — re-theming a Monaco\n * instance, re-rendering a chart.\n */\nexport function subscribeScheme(listener: () => void): () => void {\n listeners.add(listener);\n\n if (!stopWatching) {\n stopWatching = startWatching();\n }\n\n return () => {\n listeners.delete(listener);\n\n if (!listeners.size && stopWatching) {\n stopWatching();\n stopWatching = null;\n }\n };\n}\n\n// ============================================================================\n// React bindings\n// ============================================================================\n\n/**\n * Snapshots are primitives, so React bails out on an unchanged value and no\n * memoization is needed — a contrast change re-runs a `useScheme()` reader's\n * `getSnapshot` and stops there.\n */\nconst getServerScheme = (): ColorScheme => 'light';\nconst getServerHighContrast = () => false;\n\n/**\n * The document's color scheme, kept live — `'light'` or `'dark'`.\n *\n * ```tsx\n * const scheme = useScheme();\n *\n * <VegaChart spec={useMemo(() => buildSpec(scheme), [scheme])} />;\n * ```\n *\n * Follows both the `<html data-scheme>` opt-in and `prefers-color-scheme`,\n * exactly as the `@dark` state does. Under SSR it renders `'light'` and\n * re-renders with the real value after hydration.\n */\nexport function useScheme(): ColorScheme {\n return useSyncExternalStore(subscribeScheme, resolveScheme, getServerScheme);\n}\n\n/**\n * Whether the document is showing the high-contrast tier, kept live — the hook\n * form of {@link resolveHighContrast}, following `<html data-contrast>` and\n * `prefers-contrast` exactly as the `@hc` state does.\n *\n * Under SSR it renders `false` and re-renders with the real value after\n * hydration.\n */\nexport function useHighContrast(): boolean {\n return useSyncExternalStore(\n subscribeScheme,\n resolveHighContrast,\n getServerHighContrast,\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,MAAM,aAAa;AACnB,MAAM,eAAe;AACrB,MAAM,cAAc,QAAQ;AAC5B,MAAM,gBAAgB,QAAQ;AAC9B,MAAM,aAAa;AACnB,MAAM,sBAAsB;;;;;;;;;;;AAY5B,MAAa,4BAA4B;CACvC,SAAS,SAAS,WAAW,mBAAmB,WAAW,YAAY,WAAW;CAClF,OAAO,SAAS,aAAa,mBAAmB,aAAa,YAAY,oBAAoB;CAC9F;;;;;;AAcD,SAAS,aAAa,OAAwB;AAC5C,QAAO,OAAO,WAAW,eACvB,OAAO,OAAO,eAAe,aAC3B,OAAO,WAAW,MAAM,CAAC,UACzB;;AAGN,SAAS,cAAc,MAA6B;AAClD,QAAO,OAAO,aAAa,cACvB,OACA,SAAS,gBAAgB,aAAa,KAAK;;;;;;;;;AAUjD,SAAgB,gBAA6B;CAC3C,MAAM,YAAY,cAAc,YAAY;AAE5C,KAAI,cAAc,KAChB,QAAO,cAAc,SAAS,SAAS;AAGzC,QAAO,aAAa,WAAW,GAAG,SAAS;;;;;;;;;;;AAY7C,SAAgB,sBAA+B;CAC7C,MAAM,YAAY,cAAc,cAAc;AAE9C,KAAI,cAAc,KAChB,QAAO,cAAc;AAGvB,QAAO,aAAa,oBAAoB;;AAO1C,MAAM,4BAAY,IAAI,KAAiB;AAEvC,IAAI,eAAoC;AAExC,SAAS,SAAS;AAChB,WAAU,SAAS,aAAa,UAAU,CAAC;;;;;;;;;AAU7C,SAAS,gBAA4B;AACnC,KAAI,OAAO,aAAa,YACtB,cAAa;CAGf,MAAM,YAA4B,EAAE;AAMpC,KACE,OAAO,WAAW,eAClB,OAAO,OAAO,eAAe,WAE7B,MAAK,MAAM,SAAS,CAAC,YAAY,oBAAoB,EAAE;EACrD,MAAM,OAAO,OAAO,WAAW,MAAM;AAErC,MAAI,OAAO,MAAM,qBAAqB,WAAY;AAElD,OAAK,iBAAiB,UAAU,OAAO;AACvC,YAAU,WAAW,KAAK,oBAAoB,UAAU,OAAO,CAAC;;AAIpE,KAAI,OAAO,qBAAqB,cAAc,SAAS,iBAAiB;EACtE,MAAM,WAAW,IAAI,iBAAiB,OAAO;AAE7C,WAAS,QAAQ,SAAS,iBAAiB;GACzC,YAAY;GACZ,iBAAiB,CAAC,aAAa,cAAc;GAC9C,CAAC;AAEF,YAAU,WAAW,SAAS,YAAY,CAAC;;AAG7C,cAAa,UAAU,SAAS,aAAa,UAAU,CAAC;;;;;;;;;;;AAY1D,SAAgB,gBAAgB,UAAkC;AAChE,WAAU,IAAI,SAAS;AAEvB,KAAI,CAAC,aACH,gBAAe,eAAe;AAGhC,cAAa;AACX,YAAU,OAAO,SAAS;AAE1B,MAAI,CAAC,UAAU,QAAQ,cAAc;AACnC,iBAAc;AACd,kBAAe;;;;;;;;;AAcrB,MAAM,wBAAqC;AAC3C,MAAM,8BAA8B;;;;;;;;;;;;;;AAepC,SAAgB,YAAyB;AACvC,QAAO,qBAAqB,iBAAiB,eAAe,gBAAgB;;;;;;;;;;AAW9E,SAAgB,kBAA2B;AACzC,QAAO,qBACL,iBACA,qBACA,sBACD"}
1
+ {"version":3,"file":"useScheme.js","names":["useSyncExternalStore","SCHEME_KEY","CONTRAST_KEY","SCHEME_ATTR","CONTRAST_ATTR","DARK_QUERY","HIGH_CONTRAST_QUERY","AMBIENT_PREDEFINED_STATES","const","ColorScheme","mediaMatches","query","window","matchMedia","matches","rootAttribute","name","document","documentElement","getAttribute","resolveScheme","attribute","resolveHighContrast","listeners","Set","stopWatching","notify","forEach","listener","startWatching","teardowns","list","addEventListener","push","removeEventListener","MutationObserver","observer","observe","attributes","attributeFilter","disconnect","teardown","subscribeScheme","add","delete","size","getServerScheme","getServerHighContrast","useScheme","useHighContrast"],"sources":["../../../src/utils/react/useScheme.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\n/**\n * The ambient viewing conditions — the color scheme and the contrast tier the\n * document is showing right now.\n *\n * This module is the single owner of the definition: it builds the `@dark` /\n * `@hc` predefined states that `src/components/Root.tsx` registers with tasty,\n * *and* it answers the same question in JS. One definition, two readers, so the\n * CSS and the JS answers cannot drift apart.\n *\n * **For styling, do not use this.** `{ '': light, '@dark': dark, '@hc': hc }` is\n * the answer, and branching styles in JS gives up the conditionality that lets a\n * scheme flip repaint without a re-render. Two cases the state map cannot serve:\n *\n * 1. **Surfaces the stylesheet does not reach** — a Vega spec, a CodeMirror or\n * Monaco theme, a third-party iframe. They take values, not CSS, so `@dark`\n * never applies and the branch has to happen in JS.\n * 2. **Control state that is not styling** — seeding or labelling a control from\n * the ambient condition, e.g. a Light/Dark or Normal/High-contrast preview\n * selector that starts on whatever the page is already showing.\n *\n * Root-level only, and deliberately not a generic state reader: tasty's state\n * vocabulary mixes element-local states (`hovered`, `pressed`, `disabled`) with\n * ambient ones (`@media(…)`, `@root(…)`), and only the ambient half is\n * answerable without an element. Evaluating the state language in JS would mean\n * a second implementation of the state algebra to keep in agreement with the CSS\n * one, for a question almost every caller asks about the root anyway.\n */\n\n// ============================================================================\n// The definition\n// ============================================================================\n\n/**\n * The `data-*` attribute names the opt-in uses, and the media queries it falls\n * back to. `@root(scheme=dark)` compiles to `:root[data-scheme=\"dark\"]`, hence\n * the `data-` prefix on the DOM side and the bare key on the tasty side.\n */\nconst SCHEME_KEY = 'scheme';\nconst CONTRAST_KEY = 'contrast';\nconst SCHEME_ATTR = `data-${SCHEME_KEY}`;\nconst CONTRAST_ATTR = `data-${CONTRAST_KEY}`;\nconst DARK_QUERY = '(prefers-color-scheme: dark)';\nconst HIGH_CONTRAST_QUERY = '(prefers-contrast: more)';\n\n/**\n * The `@dark` / `@hc` state aliases, in tasty's DSL — registered globally by\n * `<Root>` via `setGlobalPredefinedStates()`.\n *\n * The attribute opt-in wins over the system preference, and the fallback is\n * gated on the attribute being *absent* (`!@root(scheme)`) rather than on it\n * being some other value — so `<html data-scheme=\"light\">` stays light inside a\n * dark OS, which is the whole point of an opt-in. {@link resolveScheme} and\n * {@link resolveHighContrast} read the same way.\n */\nexport const AMBIENT_PREDEFINED_STATES = {\n '@dark': `@root(${SCHEME_KEY}=dark) | (!@root(${SCHEME_KEY}) & @media${DARK_QUERY})`,\n '@hc': `@root(${CONTRAST_KEY}=high) | (!@root(${CONTRAST_KEY}) & @media${HIGH_CONTRAST_QUERY})`,\n} as const;\n\n/** The color scheme the document resolves to — the two arms of the `@dark` state. */\nexport type ColorScheme = 'light' | 'dark';\n\n// ============================================================================\n// Reading\n// ============================================================================\n\n/**\n * `matchMedia` is called per read rather than cached, so a test that stubs it\n * takes effect immediately. Missing (older jsdom, non-DOM runtimes) reads as\n * \"no preference\", which lands on the light / normal-contrast defaults.\n */\nfunction mediaMatches(query: string): boolean {\n return typeof window !== 'undefined' &&\n typeof window.matchMedia === 'function'\n ? window.matchMedia(query).matches\n : false;\n}\n\nfunction rootAttribute(name: string): string | null {\n return typeof document === 'undefined'\n ? null\n : document.documentElement.getAttribute(name);\n}\n\n/**\n * The document's current color scheme, read once — the JS answer to `@dark`.\n *\n * Outside React (a chart spec built in a module, an editor theme registered at\n * import time). In React use {@link useScheme}, which also re-renders on change.\n * Returns `'light'` with no DOM.\n */\nexport function resolveScheme(): ColorScheme {\n const attribute = rootAttribute(SCHEME_ATTR);\n\n if (attribute !== null) {\n return attribute === 'dark' ? 'dark' : 'light';\n }\n\n return mediaMatches(DARK_QUERY) ? 'dark' : 'light';\n}\n\n/**\n * Whether the document is showing the high-contrast tier, read once — the JS\n * answer to `@hc`.\n *\n * Note this is an *ambient* condition, not the theme's `contrastLevel`: the\n * level is a `PaletteConfig` seed the app supplies (read it with\n * `getPaletteConfig()`), while this is the tier the viewer asked for.\n * Returns `false` with no DOM.\n */\nexport function resolveHighContrast(): boolean {\n const attribute = rootAttribute(CONTRAST_ATTR);\n\n if (attribute !== null) {\n return attribute === 'high';\n }\n\n return mediaMatches(HIGH_CONTRAST_QUERY);\n}\n\n// ============================================================================\n// Watching\n// ============================================================================\n\nconst listeners = new Set<() => void>();\n\nlet stopWatching: (() => void) | null = null;\n\nfunction notify() {\n listeners.forEach((listener) => listener());\n}\n\n/**\n * Both inputs have to be watched, because either can decide the answer: the\n * attribute when the opt-in is set, the media query otherwise — an attribute flip\n * is invisible to `matchMedia` and a system flip is invisible to a\n * `MutationObserver`. One observer and one pair of query listeners are shared by\n * every subscriber, and torn down when the last one leaves.\n */\nfunction startWatching(): () => void {\n if (typeof document === 'undefined') {\n return () => {};\n }\n\n const teardowns: (() => void)[] = [];\n\n // Guarded rather than assumed: jsdom ships neither `matchMedia` nor a\n // `MediaQueryList` in every version, and a consumer's unit tests are exactly\n // where a hook like this gets mounted. Losing one source of change is a stale\n // value; throwing is a broken render.\n if (\n typeof window !== 'undefined' &&\n typeof window.matchMedia === 'function'\n ) {\n for (const query of [DARK_QUERY, HIGH_CONTRAST_QUERY]) {\n const list = window.matchMedia(query);\n\n if (typeof list?.addEventListener !== 'function') continue;\n\n list.addEventListener('change', notify);\n teardowns.push(() => list.removeEventListener('change', notify));\n }\n }\n\n if (typeof MutationObserver === 'function' && document.documentElement) {\n const observer = new MutationObserver(notify);\n\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: [SCHEME_ATTR, CONTRAST_ATTR],\n });\n\n teardowns.push(() => observer.disconnect());\n }\n\n return () => teardowns.forEach((teardown) => teardown());\n}\n\n/**\n * Subscribe to ambient condition changes — either the scheme or the contrast\n * tier. Returns an unsubscribe function.\n *\n * The listener takes no argument: re-read with {@link resolveScheme} /\n * {@link resolveHighContrast}, which is what the hooks below do. For non-React\n * consumers that own a surface the stylesheet cannot reach — re-theming a Monaco\n * instance, re-rendering a chart.\n */\nexport function subscribeScheme(listener: () => void): () => void {\n listeners.add(listener);\n\n if (!stopWatching) {\n stopWatching = startWatching();\n }\n\n return () => {\n listeners.delete(listener);\n\n if (!listeners.size && stopWatching) {\n stopWatching();\n stopWatching = null;\n }\n };\n}\n\n// ============================================================================\n// React bindings\n// ============================================================================\n\n/**\n * Snapshots are primitives, so React bails out on an unchanged value and no\n * memoization is needed — a contrast change re-runs a `useScheme()` reader's\n * `getSnapshot` and stops there.\n */\nconst getServerScheme = (): ColorScheme => 'light';\nconst getServerHighContrast = () => false;\n\n/**\n * The document's color scheme, kept live — `'light'` or `'dark'`.\n *\n * ```tsx\n * const scheme = useScheme();\n *\n * <VegaChart spec={useMemo(() => buildSpec(scheme), [scheme])} />;\n * ```\n *\n * Follows both the `<html data-scheme>` opt-in and `prefers-color-scheme`,\n * exactly as the `@dark` state does. Under SSR it renders `'light'` and\n * re-renders with the real value after hydration.\n */\nexport function useScheme(): ColorScheme {\n return useSyncExternalStore(subscribeScheme, resolveScheme, getServerScheme);\n}\n\n/**\n * Whether the document is showing the high-contrast tier, kept live — the hook\n * form of {@link resolveHighContrast}, following `<html data-contrast>` and\n * `prefers-contrast` exactly as the `@hc` state does.\n *\n * Under SSR it renders `false` and re-renders with the real value after\n * hydration.\n */\nexport function useHighContrast(): boolean {\n return useSyncExternalStore(\n subscribeScheme,\n resolveHighContrast,\n getServerHighContrast,\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,MAAMC,aAAa;AACnB,MAAMC,eAAe;AACrB,MAAMC,cAAc,QAAQF;AAC5B,MAAMG,gBAAgB,QAAQF;AAC9B,MAAMG,aAAa;AACnB,MAAMC,sBAAsB;;;;;;;;;;;AAY5B,MAAaC,4BAA4B;CACvC,SAAS,SAASN,WAAU,mBAAoBA,WAAU,YAAaI,WAAU;CACjF,OAAO,SAASH,aAAY,mBAAoBA,aAAY,YAAaI,oBAAmB;CAC7F;;;;;;AAcD,SAASI,aAAaC,OAAwB;AAC5C,QAAO,OAAOC,WAAW,eACvB,OAAOA,OAAOC,eAAe,aAC3BD,OAAOC,WAAWF,MAAM,CAACG,UACzB;;AAGN,SAASC,cAAcC,MAA6B;AAClD,QAAO,OAAOC,aAAa,cACvB,OACAA,SAASC,gBAAgBC,aAAaH,KAAK;;;;;;;;;AAUjD,SAAgBI,gBAA6B;CAC3C,MAAMC,YAAYN,cAAcZ,YAAY;AAE5C,KAAIkB,cAAc,KAChB,QAAOA,cAAc,SAAS,SAAS;AAGzC,QAAOX,aAAaL,WAAW,GAAG,SAAS;;;;;;;;;;;AAY7C,SAAgBiB,sBAA+B;CAC7C,MAAMD,YAAYN,cAAcX,cAAc;AAE9C,KAAIiB,cAAc,KAChB,QAAOA,cAAc;AAGvB,QAAOX,aAAaJ,oBAAoB;;AAO1C,MAAMiB,4BAAY,IAAIC,KAAiB;AAEvC,IAAIC,eAAoC;AAExC,SAASC,SAAS;AAChBH,WAAUI,SAASC,aAAaA,UAAU,CAAC;;;;;;;;;AAU7C,SAASC,gBAA4B;AACnC,KAAI,OAAOZ,aAAa,YACtB,cAAa;CAGf,MAAMa,YAA4B,EAAE;AAMpC,KACE,OAAOlB,WAAW,eAClB,OAAOA,OAAOC,eAAe,WAE7B,MAAK,MAAMF,SAAS,CAACN,YAAYC,oBAAoB,EAAE;EACrD,MAAMyB,OAAOnB,OAAOC,WAAWF,MAAM;AAErC,MAAI,OAAOoB,MAAMC,qBAAqB,WAAY;AAElDD,OAAKC,iBAAiB,UAAUN,OAAO;AACvCI,YAAUG,WAAWF,KAAKG,oBAAoB,UAAUR,OAAO,CAAC;;AAIpE,KAAI,OAAOS,qBAAqB,cAAclB,SAASC,iBAAiB;EACtE,MAAMkB,WAAW,IAAID,iBAAiBT,OAAO;AAE7CU,WAASC,QAAQpB,SAASC,iBAAiB;GACzCoB,YAAY;GACZC,iBAAiB,CAACpC,aAAaC,cAAa;GAC7C,CAAC;AAEF0B,YAAUG,WAAWG,SAASI,YAAY,CAAC;;AAG7C,cAAaV,UAAUH,SAASc,aAAaA,UAAU,CAAC;;;;;;;;;;;AAY1D,SAAgBC,gBAAgBd,UAAkC;AAChEL,WAAUoB,IAAIf,SAAS;AAEvB,KAAI,CAACH,aACHA,gBAAeI,eAAe;AAGhC,cAAa;AACXN,YAAUqB,OAAOhB,SAAS;AAE1B,MAAI,CAACL,UAAUsB,QAAQpB,cAAc;AACnCA,iBAAc;AACdA,kBAAe;;;;;;;;;AAcrB,MAAMqB,wBAAqC;AAC3C,MAAMC,8BAA8B;;;;;;;;;;;;;;AAepC,SAAOC,YAAA;AAAA,QACEhD,qBAAqB0C,iBAAiBtB,eAAe0B,gBAAgB;;;;;;;;;;AAW9E,SAAOG,kBAAA;AAAA,QACEjD,qBACL0C,iBACApB,qBACAyB,sBACD"}
@@ -1,29 +1,53 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.182.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
2
+ import { c } from "react-compiler-runtime";
2
3
  import { useEffect, useState } from "react";
3
4
 
4
5
  //#region src/utils/react/useViewportSize.ts
5
6
  let visualViewport = typeof window !== "undefined" && window.visualViewport;
6
- function useViewportSize(params = {}) {
7
- const { isDisabled } = params;
8
- let [size, setSize] = useState(() => getViewportSize());
9
- useEffect(() => {
10
- if (isDisabled) return;
11
- let onResize = () => {
12
- setSize((size) => {
13
- let newSize = getViewportSize();
14
- if (newSize.width === size.width && newSize.height === size.height) return size;
15
- return newSize;
16
- });
7
+ function useViewportSize(t0) {
8
+ const $ = c(5);
9
+ let t1;
10
+ if ($[0] !== t0) {
11
+ t1 = t0 === void 0 ? {} : t0;
12
+ $[0] = t0;
13
+ $[1] = t1;
14
+ } else t1 = $[1];
15
+ const { isDisabled } = t1;
16
+ const [size, setSize] = useState(_temp);
17
+ let t2;
18
+ let t3;
19
+ if ($[2] !== isDisabled) {
20
+ t2 = () => {
21
+ if (isDisabled) return;
22
+ const onResize = () => {
23
+ setSize(_temp2);
24
+ };
25
+ if (!visualViewport) window.addEventListener("resize", onResize);
26
+ else visualViewport.addEventListener("resize", onResize);
27
+ return () => {
28
+ if (!visualViewport) window.removeEventListener("resize", onResize);
29
+ else visualViewport.removeEventListener("resize", onResize);
30
+ };
17
31
  };
18
- if (!visualViewport) window.addEventListener("resize", onResize);
19
- else visualViewport.addEventListener("resize", onResize);
20
- return () => {
21
- if (!visualViewport) window.removeEventListener("resize", onResize);
22
- else visualViewport.removeEventListener("resize", onResize);
23
- };
24
- }, [isDisabled]);
32
+ t3 = [isDisabled];
33
+ $[2] = isDisabled;
34
+ $[3] = t2;
35
+ $[4] = t3;
36
+ } else {
37
+ t2 = $[3];
38
+ t3 = $[4];
39
+ }
40
+ useEffect(t2, t3);
25
41
  return size;
26
42
  }
43
+ function _temp2(size_0) {
44
+ const newSize = getViewportSize();
45
+ if (newSize.width === size_0.width && newSize.height === size_0.height) return size_0;
46
+ return newSize;
47
+ }
48
+ function _temp() {
49
+ return getViewportSize();
50
+ }
27
51
  function getViewportSize() {
28
52
  return {
29
53
  width: visualViewport && visualViewport.width || (typeof window !== "undefined" ? window.innerWidth : 0),
@@ -1 +1 @@
1
- {"version":3,"file":"useViewportSize.js","names":[],"sources":["../../../src/utils/react/useViewportSize.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\ninterface ViewportSize {\n width: number;\n height: number;\n}\n\nlet visualViewport = typeof window !== 'undefined' && window.visualViewport;\n\nexport type ViewportSizeParams = {\n isDisabled?: boolean;\n};\nexport function useViewportSize(params: ViewportSizeParams = {}): ViewportSize {\n const { isDisabled } = params;\n\n let [size, setSize] = useState(() => getViewportSize());\n\n useEffect(() => {\n if (isDisabled) {\n return;\n }\n // Use visualViewport api to track available height even on iOS virtual keyboard opening\n let onResize = () => {\n setSize((size) => {\n let newSize = getViewportSize();\n if (newSize.width === size.width && newSize.height === size.height) {\n return size;\n }\n return newSize;\n });\n };\n\n if (!visualViewport) {\n window.addEventListener('resize', onResize);\n } else {\n visualViewport.addEventListener('resize', onResize);\n }\n\n return () => {\n if (!visualViewport) {\n window.removeEventListener('resize', onResize);\n } else {\n visualViewport.removeEventListener('resize', onResize);\n }\n };\n }, [isDisabled]);\n\n return size;\n}\n\nfunction getViewportSize(): ViewportSize {\n return {\n width:\n (visualViewport && visualViewport.width) ||\n (typeof window !== 'undefined' ? window.innerWidth : 0),\n height:\n (visualViewport && visualViewport.height) ||\n (typeof window !== 'undefined' ? window.innerHeight : 0),\n };\n}\n"],"mappings":";;;;AAOA,IAAI,iBAAiB,OAAO,WAAW,eAAe,OAAO;AAK7D,SAAgB,gBAAgB,SAA6B,EAAE,EAAgB;CAC7E,MAAM,EAAE,eAAe;CAEvB,IAAI,CAAC,MAAM,WAAW,eAAe,iBAAiB,CAAC;AAEvD,iBAAgB;AACd,MAAI,WACF;EAGF,IAAI,iBAAiB;AACnB,YAAS,SAAS;IAChB,IAAI,UAAU,iBAAiB;AAC/B,QAAI,QAAQ,UAAU,KAAK,SAAS,QAAQ,WAAW,KAAK,OAC1D,QAAO;AAET,WAAO;KACP;;AAGJ,MAAI,CAAC,eACH,QAAO,iBAAiB,UAAU,SAAS;MAE3C,gBAAe,iBAAiB,UAAU,SAAS;AAGrD,eAAa;AACX,OAAI,CAAC,eACH,QAAO,oBAAoB,UAAU,SAAS;OAE9C,gBAAe,oBAAoB,UAAU,SAAS;;IAGzD,CAAC,WAAW,CAAC;AAEhB,QAAO;;AAGT,SAAS,kBAAgC;AACvC,QAAO;EACL,OACG,kBAAkB,eAAe,UACjC,OAAO,WAAW,cAAc,OAAO,aAAa;EACvD,QACG,kBAAkB,eAAe,WACjC,OAAO,WAAW,cAAc,OAAO,cAAc;EACzD"}
1
+ {"version":3,"file":"useViewportSize.js","names":["useEffect","useState","ViewportSize","width","height","visualViewport","window","ViewportSizeParams","isDisabled","useViewportSize","t0","$","_c","t1","undefined","params","size","setSize","_temp","t2","t3","onResize","_temp2","addEventListener","removeEventListener","size_0","newSize","getViewportSize","innerWidth","innerHeight"],"sources":["../../../src/utils/react/useViewportSize.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\ninterface ViewportSize {\n width: number;\n height: number;\n}\n\nlet visualViewport = typeof window !== 'undefined' && window.visualViewport;\n\nexport type ViewportSizeParams = {\n isDisabled?: boolean;\n};\nexport function useViewportSize(params: ViewportSizeParams = {}): ViewportSize {\n const { isDisabled } = params;\n\n let [size, setSize] = useState(() => getViewportSize());\n\n useEffect(() => {\n if (isDisabled) {\n return;\n }\n // Use visualViewport api to track available height even on iOS virtual keyboard opening\n let onResize = () => {\n setSize((size) => {\n let newSize = getViewportSize();\n if (newSize.width === size.width && newSize.height === size.height) {\n return size;\n }\n return newSize;\n });\n };\n\n if (!visualViewport) {\n window.addEventListener('resize', onResize);\n } else {\n visualViewport.addEventListener('resize', onResize);\n }\n\n return () => {\n if (!visualViewport) {\n window.removeEventListener('resize', onResize);\n } else {\n visualViewport.removeEventListener('resize', onResize);\n }\n };\n }, [isDisabled]);\n\n return size;\n}\n\nfunction getViewportSize(): ViewportSize {\n return {\n width:\n (visualViewport && visualViewport.width) ||\n (typeof window !== 'undefined' ? window.innerWidth : 0),\n height:\n (visualViewport && visualViewport.height) ||\n (typeof window !== 'undefined' ? window.innerHeight : 0),\n };\n}\n"],"mappings":";;;;;AAOA,IAAIK,iBAAiB,OAAOC,WAAW,eAAeA,OAAOD;AAK7D,SAAOI,gBAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;AAAA,KAAAF,EAAA,OAAAD,IAAA;AAAyBG,OAAAH,OAAAI,SAAA,EAA+B,GAA/BJ;AAA+BC,IAAA,KAAAD;AAAAC,IAAA,KAAAE;OAAAA,MAAAF,EAAA;CAC7D,MAAA,EAAAH,eAD8BK;CAG9B,MAAA,CAAAG,MAAAC,WAAsBhB,SAASiB,MAAwB;CAAC,IAAAC;CAAA,IAAAC;AAAA,KAAAT,EAAA,OAAAH,YAAA;AAE9CW,aAAA;AACR,OAAIX,WAAU;GAId,MAAAa,iBAAe;AACbJ,YAAQK,OAMN;;AAGJ,OAAI,CAACjB,eACHC,QAAMiB,iBAAkB,UAAUF,SAAS;OAE3ChB,gBAAckB,iBAAkB,UAAUF,SAAS;AACpD,gBAEM;AACL,QAAI,CAAChB,eACHC,QAAMkB,oBAAqB,UAAUH,SAAS;QAE9ChB,gBAAcmB,oBAAqB,UAAUH,SAAS;;;AAGzDD,OAAA,CAACZ,WAAW;AAAAG,IAAA,KAAAH;AAAAG,IAAA,KAAAQ;AAAAR,IAAA,KAAAS;QAAA;AAAAD,OAAAR,EAAA;AAAAS,OAAAT,EAAA;;AA5BfX,WAAUmB,IA4BPC,GAAa;AAAA,QAETJ;;AAnCF,SAAAM,OAAAG,QAAA;CAYC,MAAAC,UAAcC,iBAAiB;AAC/B,KAAID,QAAOvB,UAAWa,OAAIb,SAAUuB,QAAOtB,WAAYY,OAAIZ,OAAO,QACzDY;AACR,QACMU;;AAhBR,SAAAR,QAAA;AAAA,QAGgCS,iBAAiB;;AAmCxD,SAASA,kBAAgC;AACvC,QAAO;EACLxB,OACGE,kBAAkBA,eAAeF,UACjC,OAAOG,WAAW,cAAcA,OAAOsB,aAAa;EACvDxB,QACGC,kBAAkBA,eAAeD,WACjC,OAAOE,WAAW,cAAcA,OAAOuB,cAAc;EACzD"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.182.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
2
2
  import { isValidElement } from "react";
3
3
  import { isFragment } from "react-is";
4
4
 
@@ -1 +1 @@
1
- {"version":3,"file":"wrapNodeIfPlain.js","names":[],"sources":["../../../src/utils/react/wrapNodeIfPlain.ts"],"sourcesContent":["import { isValidElement, ReactNode } from 'react';\nimport { isFragment } from 'react-is';\n\nexport function wrapNodeIfPlain(children: ReactNode, render: () => ReactNode) {\n const childrenIsFragment =\n children && (Array.isArray(children) || isFragment(children));\n\n if (!children || (!childrenIsFragment && isValidElement(children))) {\n return children;\n }\n\n return render();\n}\n"],"mappings":";;;;;AAGA,SAAgB,gBAAgB,UAAqB,QAAyB;CAC5E,MAAM,qBACJ,aAAa,MAAM,QAAQ,SAAS,IAAI,WAAW,SAAS;AAE9D,KAAI,CAAC,YAAa,CAAC,sBAAsB,eAAe,SAAS,CAC/D,QAAO;AAGT,QAAO,QAAQ"}
1
+ {"version":3,"file":"wrapNodeIfPlain.js","names":["isValidElement","ReactNode","isFragment","wrapNodeIfPlain","children","render","childrenIsFragment","Array","isArray"],"sources":["../../../src/utils/react/wrapNodeIfPlain.ts"],"sourcesContent":["import { isValidElement, ReactNode } from 'react';\nimport { isFragment } from 'react-is';\n\nexport function wrapNodeIfPlain(children: ReactNode, render: () => ReactNode) {\n const childrenIsFragment =\n children && (Array.isArray(children) || isFragment(children));\n\n if (!children || (!childrenIsFragment && isValidElement(children))) {\n return children;\n }\n\n return render();\n}\n"],"mappings":";;;;;AAGA,SAAgBG,gBAAgBC,UAAqBC,QAAyB;CAC5E,MAAMC,qBACJF,aAAaG,MAAMC,QAAQJ,SAAS,IAAIF,WAAWE,SAAS;AAE9D,KAAI,CAACA,YAAa,CAACE,sBAAsBN,eAAeI,SAAU,CAChE,QAAOA;AAGT,QAAOC,QAAQ"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.182.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
2
2
  //#region src/utils/selection.ts
3
3
  /**
4
4
  * Deduplicate/toggle keys in a selection: if a key appears twice it is
@@ -1 +1 @@
1
- {"version":3,"file":"selection.js","names":[],"sources":["../../src/utils/selection.ts"],"sourcesContent":["import { Key } from 'react-aria';\n\n/**\n * Deduplicate/toggle keys in a selection: if a key appears twice it is\n * removed (toggled off), otherwise it is kept (selected).\n */\nexport function processSelectionArray(iterable: Iterable<Key>): string[] {\n const resultSet = new Set<string>();\n for (const key of iterable) {\n const nKey = String(key);\n if (resultSet.has(nKey)) {\n resultSet.delete(nKey);\n } else {\n resultSet.add(nKey);\n }\n }\n return Array.from(resultSet);\n}\n"],"mappings":";;;;;;AAMA,SAAgB,sBAAsB,UAAmC;CACvE,MAAM,4BAAY,IAAI,KAAa;AACnC,MAAK,MAAM,OAAO,UAAU;EAC1B,MAAM,OAAO,OAAO,IAAI;AACxB,MAAI,UAAU,IAAI,KAAK,CACrB,WAAU,OAAO,KAAK;MAEtB,WAAU,IAAI,KAAK;;AAGvB,QAAO,MAAM,KAAK,UAAU"}
1
+ {"version":3,"file":"selection.js","names":["Key","processSelectionArray","iterable","Iterable","resultSet","Set","key","nKey","String","has","delete","add","Array","from"],"sources":["../../src/utils/selection.ts"],"sourcesContent":["import { Key } from 'react-aria';\n\n/**\n * Deduplicate/toggle keys in a selection: if a key appears twice it is\n * removed (toggled off), otherwise it is kept (selected).\n */\nexport function processSelectionArray(iterable: Iterable<Key>): string[] {\n const resultSet = new Set<string>();\n for (const key of iterable) {\n const nKey = String(key);\n if (resultSet.has(nKey)) {\n resultSet.delete(nKey);\n } else {\n resultSet.add(nKey);\n }\n }\n return Array.from(resultSet);\n}\n"],"mappings":";;;;;;AAMA,SAAgBC,sBAAsBC,UAAmC;CACvE,MAAME,4BAAY,IAAIC,KAAa;AACnC,MAAK,MAAMC,OAAOJ,UAAU;EAC1B,MAAMK,OAAOC,OAAOF,IAAI;AACxB,MAAIF,UAAUK,IAAIF,KAAK,CACrBH,WAAUM,OAAOH,KAAK;MAEtBH,WAAUO,IAAIJ,KAAK;;AAGvB,QAAOK,MAAMC,KAAKT,UAAU"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.182.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
2
2
  //#region src/utils/styles.ts
3
3
  /**
4
4
  * Split properties into style and non-style properties.
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":[],"sources":["../../src/utils/styles.ts"],"sourcesContent":["import type { Styles } from '@tenphi/tasty';\n\n/**\n * Split properties into style and non-style properties.\n * Collects style-related props from `props` (based on `styleList`)\n * and merges them with `defaultStyles` and `props.styles`.\n *\n * @param props - Component prop map.\n * @param styleList - List of style property names to extract.\n * @param defaultStyles - Default style map of the component.\n * @param propMap - Props-to-style alias map (e.g. `{ bg: 'fill' }`).\n * @param ignoreList - Properties to skip during extraction.\n */\nexport function extractStyles(\n props: object,\n styleList: readonly string[] = [],\n defaultStyles?: Styles,\n propMap?: Record<string, string>,\n ignoreList: readonly string[] = [],\n): Styles {\n const ignoreSet = new Set(ignoreList);\n const styleSet = new Set(styleList);\n const record = props as Record<string, unknown>;\n\n const styles: Styles = {\n ...defaultStyles,\n ...(!ignoreSet.has('styles') &&\n record.styles &&\n typeof record.styles === 'object'\n ? (record.styles as Styles)\n : undefined),\n };\n\n for (const prop of Object.keys(record)) {\n if (ignoreSet.has(prop)) continue;\n\n const styleName = propMap?.[prop] ?? prop;\n\n if (styleSet.has(styleName)) {\n styles[styleName] = record[prop] as Styles[keyof Styles];\n }\n }\n\n return styles;\n}\n"],"mappings":";;;;;;;;;;;;;AAaA,SAAgB,cACd,OACA,YAA+B,EAAE,EACjC,eACA,SACA,aAAgC,EAAE,EAC1B;CACR,MAAM,YAAY,IAAI,IAAI,WAAW;CACrC,MAAM,WAAW,IAAI,IAAI,UAAU;CACnC,MAAM,SAAS;CAEf,MAAM,SAAiB;EACrB,GAAG;EACH,GAAI,CAAC,UAAU,IAAI,SAAS,IAC5B,OAAO,UACP,OAAO,OAAO,WAAW,WACpB,OAAO,SACR;EACL;AAED,MAAK,MAAM,QAAQ,OAAO,KAAK,OAAO,EAAE;AACtC,MAAI,UAAU,IAAI,KAAK,CAAE;EAEzB,MAAM,YAAY,UAAU,SAAS;AAErC,MAAI,SAAS,IAAI,UAAU,CACzB,QAAO,aAAa,OAAO;;AAI/B,QAAO"}
1
+ {"version":3,"file":"styles.js","names":["Styles","extractStyles","props","styleList","defaultStyles","propMap","Record","ignoreList","ignoreSet","Set","styleSet","record","styles","has","undefined","prop","Object","keys","styleName"],"sources":["../../src/utils/styles.ts"],"sourcesContent":["import type { Styles } from '@tenphi/tasty';\n\n/**\n * Split properties into style and non-style properties.\n * Collects style-related props from `props` (based on `styleList`)\n * and merges them with `defaultStyles` and `props.styles`.\n *\n * @param props - Component prop map.\n * @param styleList - List of style property names to extract.\n * @param defaultStyles - Default style map of the component.\n * @param propMap - Props-to-style alias map (e.g. `{ bg: 'fill' }`).\n * @param ignoreList - Properties to skip during extraction.\n */\nexport function extractStyles(\n props: object,\n styleList: readonly string[] = [],\n defaultStyles?: Styles,\n propMap?: Record<string, string>,\n ignoreList: readonly string[] = [],\n): Styles {\n const ignoreSet = new Set(ignoreList);\n const styleSet = new Set(styleList);\n const record = props as Record<string, unknown>;\n\n const styles: Styles = {\n ...defaultStyles,\n ...(!ignoreSet.has('styles') &&\n record.styles &&\n typeof record.styles === 'object'\n ? (record.styles as Styles)\n : undefined),\n };\n\n for (const prop of Object.keys(record)) {\n if (ignoreSet.has(prop)) continue;\n\n const styleName = propMap?.[prop] ?? prop;\n\n if (styleSet.has(styleName)) {\n styles[styleName] = record[prop] as Styles[keyof Styles];\n }\n }\n\n return styles;\n}\n"],"mappings":";;;;;;;;;;;;;AAaA,SAAgBC,cACdC,OACAC,YAA+B,EAAE,EACjCC,eACAC,SACAE,aAAgC,EAAE,EAC1B;CACR,MAAMC,YAAY,IAAIC,IAAIF,WAAW;CACrC,MAAMG,WAAW,IAAID,IAAIN,UAAU;CACnC,MAAMQ,SAAST;CAEf,MAAMU,SAAiB;EACrB,GAAGR;EACH,GAAI,CAACI,UAAUK,IAAI,SAAS,IAC5BF,OAAOC,UACP,OAAOD,OAAOC,WAAW,WACpBD,OAAOC,SACRE;EACL;AAED,MAAK,MAAMC,QAAQC,OAAOC,KAAKN,OAAO,EAAE;AACtC,MAAIH,UAAUK,IAAIE,KAAK,CAAE;EAEzB,MAAMG,YAAYb,UAAUU,SAASA;AAErC,MAAIL,SAASG,IAAIK,UAAU,CACzBN,QAAOM,aAAaP,OAAOI;;AAI/B,QAAOH"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.182.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
2
2
  //#region src/utils/tree.ts
3
3
  function toFlatTree(tree, includingFolders) {
4
4
  return tree.reduce((result, node) => {
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","names":[],"sources":["../../src/utils/tree.ts"],"sourcesContent":["export function toFlatTree(tree, includingFolders) {\n return tree.reduce((result, node) => {\n if (!node.isLeaf) {\n result = [\n ...result,\n ...(includingFolders ? [node] : []),\n ...toFlatTree(node.children || [], includingFolders),\n ];\n } else {\n result.push(node);\n }\n return result;\n }, []);\n}\n"],"mappings":";;AAAA,SAAgB,WAAW,MAAM,kBAAkB;AACjD,QAAO,KAAK,QAAQ,QAAQ,SAAS;AACnC,MAAI,CAAC,KAAK,OACR,UAAS;GACP,GAAG;GACH,GAAI,mBAAmB,CAAC,KAAK,GAAG,EAAE;GAClC,GAAG,WAAW,KAAK,YAAY,EAAE,EAAE,iBAAiB;GACrD;MAED,QAAO,KAAK,KAAK;AAEnB,SAAO;IACN,EAAE,CAAC"}
1
+ {"version":3,"file":"tree.js","names":["toFlatTree","tree","includingFolders","reduce","result","node","isLeaf","children","push"],"sources":["../../src/utils/tree.ts"],"sourcesContent":["export function toFlatTree(tree, includingFolders) {\n return tree.reduce((result, node) => {\n if (!node.isLeaf) {\n result = [\n ...result,\n ...(includingFolders ? [node] : []),\n ...toFlatTree(node.children || [], includingFolders),\n ];\n } else {\n result.push(node);\n }\n return result;\n }, []);\n}\n"],"mappings":";;AAAA,SAAgBA,WAAWC,MAAMC,kBAAkB;AACjD,QAAOD,KAAKE,QAAQC,QAAQC,SAAS;AACnC,MAAI,CAACA,KAAKC,OACRF,UAAS;GACP,GAAGA;GACH,GAAIF,mBAAmB,CAACG,KAAK,GAAG,EAAE;GAClC,GAAGL,WAAWK,KAAKE,YAAY,EAAE,EAAEL,iBAAiB;GACrD;MAEDE,QAAOI,KAAKH,KAAK;AAEnB,SAAOD;IACN,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.182.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
2
2
  import { isDevEnvOrTest } from "./is-dev-env.js";
3
3
 
4
4
  //#region src/utils/warnings.ts
@@ -1 +1 @@
1
- {"version":3,"file":"warnings.js","names":[],"sources":["../../src/utils/warnings.ts"],"sourcesContent":["import { isDevEnvOrTest } from './is-dev-env';\n\nconst SUGGESTED_PROP_MAP = {\n disabled: 'isDisabled',\n loading: 'isLoading',\n selected: 'isSelected',\n};\n\nconst PREFIX = 'CubeUIKit';\n\nexport function propDeprecationWarning(name, props, propList) {\n propList.forEach((prop) => {\n if (prop in props) {\n const suggestion = SUGGESTED_PROP_MAP[prop];\n\n warn(\n `\"${prop}\" property of \"${name}\" component is deprecated.${\n suggestion ? ` Use \"${suggestion}\" property instead.` : ''\n }`,\n );\n }\n });\n}\n\nexport function warn(...args) {\n if (isDevEnvOrTest()) {\n console.warn(`${PREFIX}:`, ...args);\n }\n}\n\nexport function deprecationWarning(\n condition: any,\n {\n property,\n name,\n betterAlternative,\n reason,\n }: {\n property: string;\n name: string;\n betterAlternative: (() => string) | string;\n reason?: (() => string) | string;\n },\n) {\n if (condition) return;\n\n if (!isDevEnvOrTest()) return;\n\n // we can make deprecations even better if we add the md syntax in the console.\n // anyway, everything down below will be stripped in the production build\n console.group(`⚠️ ${PREFIX}: Deprecation in ${name}`);\n warn(\n `\"${property}\" is deprecated, consider better alternative: ${\n typeof betterAlternative === 'function'\n ? (betterAlternative as () => string)()\n : betterAlternative\n }`,\n );\n reason &&\n warn(\n `Reason: ${\n typeof reason === 'function' ? (reason as () => string)() : reason\n }`,\n );\n console.groupEnd();\n}\n"],"mappings":";;;;AAEA,MAAM,qBAAqB;CACzB,UAAU;CACV,SAAS;CACT,UAAU;CACX;AAED,MAAM,SAAS;AAEf,SAAgB,uBAAuB,MAAM,OAAO,UAAU;AAC5D,UAAS,SAAS,SAAS;AACzB,MAAI,QAAQ,OAAO;GACjB,MAAM,aAAa,mBAAmB;AAEtC,QACE,IAAI,KAAK,iBAAiB,KAAK,4BAC7B,aAAa,SAAS,WAAW,uBAAuB,KAE3D;;GAEH;;AAGJ,SAAgB,KAAK,GAAG,MAAM;AAC5B,KAAI,gBAAgB,CAClB,SAAQ,KAAK,GAAG,OAAO,IAAI,GAAG,KAAK;;AAIvC,SAAgB,mBACd,WACA,EACE,UACA,MACA,mBACA,UAOF;AACA,KAAI,UAAW;AAEf,KAAI,CAAC,gBAAgB,CAAE;AAIvB,SAAQ,MAAM,MAAM,OAAO,mBAAmB,OAAO;AACrD,MACE,IAAI,SAAS,gDACX,OAAO,sBAAsB,aACxB,mBAAoC,GACrC,oBAEP;AACD,WACE,KACE,WACE,OAAO,WAAW,aAAc,QAAyB,GAAG,SAE/D;AACH,SAAQ,UAAU"}
1
+ {"version":3,"file":"warnings.js","names":["isDevEnvOrTest","SUGGESTED_PROP_MAP","disabled","loading","selected","PREFIX","propDeprecationWarning","name","props","propList","forEach","prop","suggestion","warn","args","console","deprecationWarning","condition","property","betterAlternative","reason","group","groupEnd"],"sources":["../../src/utils/warnings.ts"],"sourcesContent":["import { isDevEnvOrTest } from './is-dev-env';\n\nconst SUGGESTED_PROP_MAP = {\n disabled: 'isDisabled',\n loading: 'isLoading',\n selected: 'isSelected',\n};\n\nconst PREFIX = 'CubeUIKit';\n\nexport function propDeprecationWarning(name, props, propList) {\n propList.forEach((prop) => {\n if (prop in props) {\n const suggestion = SUGGESTED_PROP_MAP[prop];\n\n warn(\n `\"${prop}\" property of \"${name}\" component is deprecated.${\n suggestion ? ` Use \"${suggestion}\" property instead.` : ''\n }`,\n );\n }\n });\n}\n\nexport function warn(...args) {\n if (isDevEnvOrTest()) {\n console.warn(`${PREFIX}:`, ...args);\n }\n}\n\nexport function deprecationWarning(\n condition: any,\n {\n property,\n name,\n betterAlternative,\n reason,\n }: {\n property: string;\n name: string;\n betterAlternative: (() => string) | string;\n reason?: (() => string) | string;\n },\n) {\n if (condition) return;\n\n if (!isDevEnvOrTest()) return;\n\n // we can make deprecations even better if we add the md syntax in the console.\n // anyway, everything down below will be stripped in the production build\n console.group(`⚠️ ${PREFIX}: Deprecation in ${name}`);\n warn(\n `\"${property}\" is deprecated, consider better alternative: ${\n typeof betterAlternative === 'function'\n ? (betterAlternative as () => string)()\n : betterAlternative\n }`,\n );\n reason &&\n warn(\n `Reason: ${\n typeof reason === 'function' ? (reason as () => string)() : reason\n }`,\n );\n console.groupEnd();\n}\n"],"mappings":";;;;AAEA,MAAMC,qBAAqB;CACzBC,UAAU;CACVC,SAAS;CACTC,UAAU;CACX;AAED,MAAMC,SAAS;AAEf,SAAgBC,uBAAuBC,MAAMC,OAAOC,UAAU;AAC5DA,UAASC,SAASC,SAAS;AACzB,MAAIA,QAAQH,OAAO;GACjB,MAAMI,aAAaX,mBAAmBU;AAEtCE,QACE,IAAIF,KAAI,iBAAkBJ,KAAI,4BAC5BK,aAAa,SAASA,WAAU,uBAAwB,KAE3D;;GAEH;;AAGJ,SAAgBC,KAAK,GAAGC,MAAM;AAC5B,KAAId,gBAAgB,CAClBe,SAAQF,KAAK,GAAGR,OAAM,IAAK,GAAGS,KAAK;;AAIvC,SAAgBE,mBACdC,WACA,EACEC,UACAX,MACAY,mBACAC,UAOF;AACA,KAAIH,UAAW;AAEf,KAAI,CAACjB,gBAAgB,CAAE;AAIvBe,SAAQM,MAAM,MAAMhB,OAAM,mBAAoBE,OAAO;AACrDM,MACE,IAAIK,SAAQ,gDACV,OAAOC,sBAAsB,aACxBA,mBAAoC,GACrCA,oBAEP;AACDC,WACEP,KACE,WACE,OAAOO,WAAW,aAAcA,QAAyB,GAAGA,SAE/D;AACHL,SAAQO,UAAU"}
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.182.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
2
2
  //#region src/version.ts
3
- const VERSION = "0.182.0";
3
+ const VERSION = "0.184.0";
4
4
  const TASTY_VERSION = "3.9.2";
5
5
  if (typeof window !== "undefined") {
6
6
  const version = VERSION;
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","names":[],"sources":["../src/version.ts"],"sourcesContent":["declare global {\n interface Window {\n CubeUIKit: {\n version: string;\n tastyVersion: string;\n };\n }\n\n /** Replaced at build time by tsdown `define` */\n const __UIKIT_VERSION__: string;\n /** Replaced at build time by tsdown `define` */\n const __TASTY_VERSION__: string;\n}\n\n// eslint-disable-next-line no-undef -- replaced at build time by tsdown `define`\nexport const VERSION: string = __UIKIT_VERSION__;\n// eslint-disable-next-line no-undef -- replaced at build time by tsdown `define`\nexport const TASTY_VERSION: string = __TASTY_VERSION__;\n\nif (typeof window !== 'undefined') {\n const version = VERSION;\n const tastyVersion = TASTY_VERSION;\n\n // Ensure CubeUIKit is defined on window in a way bundlers recognize\n window.CubeUIKit = window.CubeUIKit || { version, tastyVersion };\n\n // Check for multiple versions\n if (window.CubeUIKit.version && window.CubeUIKit.version !== version) {\n console.error('More than one version of CubeUIKit is loaded', {\n loadedVersions: [window.CubeUIKit.version, version],\n });\n } else {\n window.CubeUIKit.version = version;\n window.CubeUIKit.tastyVersion = tastyVersion;\n }\n}\n"],"mappings":";;AAeA,MAAa;AAEb,MAAa;AAEb,IAAI,OAAO,WAAW,aAAa;CACjC,MAAM,UAAU;CAChB,MAAM,eAAe;AAGrB,QAAO,YAAY,OAAO,aAAa;EAAE;EAAS;EAAc;AAGhE,KAAI,OAAO,UAAU,WAAW,OAAO,UAAU,YAAY,QAC3D,SAAQ,MAAM,gDAAgD,EAC5D,gBAAgB,CAAC,OAAO,UAAU,SAAS,QAAQ,EACpD,CAAC;MACG;AACL,SAAO,UAAU,UAAU;AAC3B,SAAO,UAAU,eAAe"}
1
+ {"version":3,"file":"version.js","names":["global","Window","CubeUIKit","version","tastyVersion","__UIKIT_VERSION__","__TASTY_VERSION__","VERSION","TASTY_VERSION","window","console","error","loadedVersions"],"sources":["../src/version.ts"],"sourcesContent":["declare global {\n interface Window {\n CubeUIKit: {\n version: string;\n tastyVersion: string;\n };\n }\n\n /** Replaced at build time by tsdown `define` */\n const __UIKIT_VERSION__: string;\n /** Replaced at build time by tsdown `define` */\n const __TASTY_VERSION__: string;\n}\n\n// eslint-disable-next-line no-undef -- replaced at build time by tsdown `define`\nexport const VERSION: string = __UIKIT_VERSION__;\n// eslint-disable-next-line no-undef -- replaced at build time by tsdown `define`\nexport const TASTY_VERSION: string = __TASTY_VERSION__;\n\nif (typeof window !== 'undefined') {\n const version = VERSION;\n const tastyVersion = TASTY_VERSION;\n\n // Ensure CubeUIKit is defined on window in a way bundlers recognize\n window.CubeUIKit = window.CubeUIKit || { version, tastyVersion };\n\n // Check for multiple versions\n if (window.CubeUIKit.version && window.CubeUIKit.version !== version) {\n console.error('More than one version of CubeUIKit is loaded', {\n loadedVersions: [window.CubeUIKit.version, version],\n });\n } else {\n window.CubeUIKit.version = version;\n window.CubeUIKit.tastyVersion = tastyVersion;\n }\n}\n"],"mappings":";;AAeA,MAAaO;AAEb,MAAaC;AAEb,IAAI,OAAOC,WAAW,aAAa;CACjC,MAAMN,UAAUI;CAChB,MAAMH,eAAeI;AAGrBC,QAAOP,YAAYO,OAAOP,aAAa;EAAEC;EAASC;EAAc;AAGhE,KAAIK,OAAOP,UAAUC,WAAWM,OAAOP,UAAUC,YAAYA,QAC3DO,SAAQC,MAAM,gDAAgD,EAC5DC,gBAAgB,CAACH,OAAOP,UAAUC,SAASA,QAAO,EACnD,CAAC;MACG;AACLM,SAAOP,UAAUC,UAAUA;AAC3BM,SAAOP,UAAUE,eAAeA"}
@@ -23,7 +23,7 @@ For modern forms, follow the [use-case guide](./components/form/ModernForm.md).
23
23
  - **`labelPosition`** `'top' | 'side' | 'split'` (default: `top`) — Position of the label relative to the input.
24
24
  - **`description`** `ReactNode` — Description text placed below the label.
25
25
  - **`extra`** `ReactNode` — Additional content displayed next to the label.
26
- - **`tooltip`** `ReactNode` — Tooltip shown inside the label.
26
+ - **`labelTooltip`** `ReactNode` — Content of an info badge shown next to the label. Only rendered when the field has a label. (Formerly `tooltip`. On most fields `tooltip` is gone; on `Select` and `Checkbox` it is the control's own tooltip, as on `Item` and `Button`.)
27
27
  - **`labelSuffix`** `ReactNode` — Content displayed after the label text.
28
28
  - **`labelProps`** `object` — Additional HTML props passed to the label element.
29
29
  - **`labelStyles`** `Styles` — Tasty styles for the label element.
@@ -132,7 +132,7 @@ function ExampleForm() {
132
132
  <Select
133
133
  name="role"
134
134
  label="Role"
135
- tooltip="Your primary role in the organization"
135
+ labelTooltip="Your primary role in the organization"
136
136
  necessityIndicator="label"
137
137
  isRequired
138
138
  >
package/docs/Usage.md CHANGED
@@ -11,6 +11,12 @@ For styling engine internals see the [Tasty documentation](./tasty/usage.md). Ta
11
11
  - **injector.md** — Low-level style injector: `inject()`, `injectGlobal()`, deduplication, SSR.
12
12
  - **tasty-static.md** — Zero-runtime `tastyStatic()`, Babel plugin, Next.js/Vite integration.
13
13
 
14
+ ## React Compiler
15
+
16
+ UI Kit ships components optimized with React Compiler and supports React 18 and 19. Your application does not need to enable Compiler to use this build. Adoption is incremental: functions with known compatibility diagnostics remain unoptimized, and the legacy form's mutable render paths are explicitly excluded.
17
+
18
+ Compiling UI Kit does not make mutable legacy form reads in your application reactive. When enabling Compiler in an application, migrate those consumers to the modern Form subscriptions (`Form.useValue`, `Form.useSelector`, or `Form.Subscribe`) or keep the affected consumer components uncompiled with `"use no memo"`. Forms without an explicit instance still use the legacy implementation.
19
+
14
20
  ## Units
15
21
 
16
22
  Tasty provides custom units that map to CSS custom properties defined on the Root component. Use these instead of raw pixel values to keep styling consistent.
@@ -456,6 +462,8 @@ DataTable also accepts nested column definitions for already-shaped pivot result
456
462
 
457
463
  ## Form System
458
464
 
465
+ UI Kit provides modern and legacy implementations. **Use the modern API for new forms.** Existing callers remain on the legacy implementation until explicitly migrated.
466
+
459
467
  ### Modern forms
460
468
 
461
469
  For a new modern form, create a typed controller, put defaults on the controller, and bind inputs with `name`. Modern names accept strings and nested tuples; `field` is an optional typed binding:
@@ -478,7 +486,7 @@ Inputs subscribe to their own values and errors. For other reactive UI, use `For
478
486
 
479
487
  ### Legacy forms
480
488
 
481
- `Form.useForm()` and roots without a modern controller keep the legacy backend. `DialogForm` and `Form.Item` still use this contract. See [Form](./components/form/Form.md) and [FormInstance](./components/form/FormInstance.md) for legacy instance methods, defaults, and dot notation.
489
+ `Form.useForm()` and roots without a modern controller keep the legacy backend. `DialogForm` also supports modern controllers; `Form.Item` remains legacy-only. See [FormInstance (legacy)](./components/form/FormInstance.md) for legacy instance methods, defaults, and dot notation.
482
490
 
483
491
  ### Shared field integration
484
492
 
@@ -60,6 +60,8 @@ Pass an `actions` array to automatically render an action button and a trigger b
60
60
 
61
61
  Each action object requires `key` and `label`, and inherits all other props from `Menu.Item` (`icon`, `rightIcon`, `description`, `descriptionPlacement`, `prefix`, `suffix`, `hotkeys`, `textValue`, `isDisabled`, `qa`, `styles`, etc.).
62
62
 
63
+ The action button shows the current action's `icon`, `label` and `tooltip`, so an action's tooltip appears both on its menu item and on the action button while that action is selected. `actionProps.tooltip` overrides it.
64
+
63
65
  ```jsx
64
66
  import { Button } from '@cube-dev/ui-kit';
65
67
 
@@ -10,7 +10,7 @@ The badge contains its own press events, which lets it sit inside a bigger click
10
10
  - Link a piece of UI to its documentation page
11
11
  - Any place that used to render a bare info icon wrapped in a tooltip by hand
12
12
 
13
- Every field's `tooltip` prop already renders an `InfoBadge` next to the label, so reach for this component only when you need an info icon outside of a field.
13
+ Every field's `labelTooltip` prop already renders an `InfoBadge` next to the label, so reach for this component only when you need an info icon outside of a field.
14
14
 
15
15
  ## Properties
16
16
 
@@ -12,7 +12,7 @@ Unlike `TextInput`, `InlineInput` is intentionally **not** a form field. It mana
12
12
 
13
13
  ## When Not to Use
14
14
 
15
- - **Form fields**: Use `TextInput` (with `<Form>` + `Field`) for inputs that need validation rules
15
+ - **Form fields**: Use `TextInput` with a modern `<Form form={form}>` for inputs that need validation rules
16
16
  - **Multi-line text**: Single-line only in this version (multiline planned)
17
17
  - **Complex inputs**: Use a proper input component when you need masks, prefixes/suffixes, or rich validation
18
18
 
@@ -108,7 +108,7 @@ A semantic page header with title, breadcrumbs, subtitle, and action areas.
108
108
  />
109
109
  ```
110
110
 
111
- - **`title`** `ReactNode` — Page/section title
111
+ - **`title`** `ReactNode` — Page/section title. A string title that runs out of room is truncated and shown in full in a tooltip; when the title and `extra` both overflow, they share the shortfall
112
112
  - **`level`** `1-6` (default: `3`) — Heading level for accessibility
113
113
  - **`breadcrumbs`** `[label, href][]` — Navigation breadcrumbs
114
114
  - **`subtitle`** `ReactNode` — Text below the title
@@ -23,7 +23,7 @@ Tags are compact, inline elements used to label, categorize, or organize items.
23
23
 
24
24
  ### Properties
25
25
 
26
- - **`theme`** `'default' | 'danger' | 'success' | 'warning' | 'note' | 'special'` (default: `default`) — Visual theme of the tag
26
+ - **`theme`** `'default' | 'primary' | 'danger' | 'success' | 'warning' | 'note' | 'special'` (default: `default`) — Visual theme of the tag
27
27
  - **`size`** `string` (default: `inline`) — Size of the tag
28
28
  - **`isClosable`** `boolean` (default: `false`) — Whether the tag can be closed
29
29
  - **`onClose`** `() => void` — Handler called when close button is pressed
@@ -64,9 +64,17 @@ Available themes:
64
64
  - **Note**: Violet, informational content
65
65
  - **Success**: Green, positive states or completed actions
66
66
  - **Danger**: Red, errors or destructive actions
67
- - **Special**: Purple, highlighted or premium features
67
+ - **Primary**: Soft brand purple, for chips that reference a primary-colored entity
68
+ - **Special**: Solid brand purple, for highlighted or premium features
68
69
  - **Disabled**: Gray, inactive or unavailable items
69
70
 
71
+ `primary` and `special` are the same brand hue at two weights. `primary` is the soft card — pale fill, tinted border, colored text — matching `note`, `success`, `danger` and `warning` in everything but hue, so reach for it when a chip should sit quietly beside its content. `special` is a solid fill with white text, which carries far more weight on the page.
72
+
73
+ ```jsx
74
+ <Tag theme="primary">Claimed by Group A</Tag>
75
+ <Tag theme="special">Premium</Tag>
76
+ ```
77
+
70
78
  ### With Icons
71
79
 
72
80
  Icons can be added to provide additional visual context:
@@ -24,6 +24,7 @@ Checkboxes allow users to select multiple items from a list of individual items,
24
24
  - **`onChange`** `function` — Callback fired when the checkbox value changes
25
25
  - **`onFocus`** `function` — Callback fired when the checkbox receives focus
26
26
  - **`onBlur`** `function` — Callback fired when the checkbox loses focus
27
+ - **`tooltip`** `string | TooltipProviderProps` — Tooltip shown on hover over the box and its inline label, in or out of a group, including while disabled. A string, or `TooltipProvider` props such as `title` and `placement`. It also opens when the checkbox takes keyboard focus, and describes its input to screen readers. The info badge next to a field label is `labelTooltip`
27
28
 
28
29
  ### Base Properties
29
30
 
@@ -100,6 +101,16 @@ The `mods` property accepts the following modifiers you can override:
100
101
  </Checkbox>
101
102
  ```
102
103
 
104
+ ### With a Tooltip
105
+
106
+ A disabled checkbox still shows its tooltip, which makes it a good place to say why the option is unavailable.
107
+
108
+ ```jsx
109
+ <Checkbox isDisabled tooltip="Available on the Team plan">
110
+ Single sign-on
111
+ </Checkbox>
112
+ ```
113
+
103
114
  ### With Validation
104
115
 
105
116
  ```jsx
@@ -30,6 +30,8 @@ Reach for a `RadioGroup` or `Picker` of swatches instead when the choice is limi
30
30
  - **`defaultOpen`** `boolean` (default: `false`) — Whether the popover is open initially
31
31
  - **`onOpenChange`** `(isOpen: boolean) => void` — Fired when the popover opens or closes
32
32
  - **`shouldFlip`** `boolean` (default: `true`) — Whether the popover may flip to the other side of the input
33
+ - **`placement`** `Placement` (default: `bottom right`) — Placement of the popover relative to the anchor, as a React Aria placement string (e.g. `'bottom start'`, `'top end'`)
34
+ - **`targetRef`** `RefObject<HTMLElement | null>` — The element the popover visually attaches to. Defaults to the field wrapper; use it to anchor the popover to an outer container so sibling controls' popovers line up
33
35
  - **`onFocus`** `(event: FocusEvent) => void` — Fired when the text input receives focus
34
36
  - **`onBlur`** `(event: FocusEvent) => void` — Fired when the text input loses focus
35
37
 
@@ -153,14 +155,19 @@ const [color, setColor] = useState('#7a4dbf');
153
155
  ### Inside a form
154
156
 
155
157
  ```jsx
156
- <Form onSubmit={onSubmit}>
157
- <ColorInput
158
- name="accent"
159
- label="Accent color"
160
- format="oklch"
161
- rules={[{ required: true, message: 'Pick an accent color' }]}
162
- />
163
- </Form>
158
+ function Example() {
159
+ const form = Form.useController();
160
+ return (
161
+ <Form form={form} onSubmit={onSubmit}>
162
+ <ColorInput
163
+ name="accent"
164
+ label="Accent color"
165
+ format="oklch"
166
+ rules={[{ required: true, message: 'Pick an accent color' }]}
167
+ />
168
+ </Form>
169
+ );
170
+ }
164
171
  ```
165
172
 
166
173
  ### Opening on a specific space
@@ -28,13 +28,15 @@ Use [ColorInput](./ColorInput.md) instead when the color has to be readable and
28
28
  - **`type`** `CubeItemProps['type']` (default: `outline`) — Visual type of the trigger
29
29
  - **`theme`** `CubeItemProps['theme']` (default: `default`) — Theme of the trigger
30
30
  - **`size`** `CubeItemProps['size']` — Size of the trigger
31
- - **`triggerTooltip`** `CubeItemProps['tooltip']` — Tooltip for the trigger, separate from the field tooltip
31
+ - **`triggerTooltip`** `CubeItemProps['tooltip']` — Tooltip for the trigger, separate from `labelTooltip`
32
32
  - **`swatches`** `Array<string | { color: string; label?: string }>` — Colors to offer under the editor, as a [ColorSwatchGroup](./ColorSwatchGroup.md)
33
33
  - **`swatchColumns`** `number` — How many swatches per row. Defaults to a single row
34
34
  - **`isOpen`** `boolean` — Whether the popover is open (controlled)
35
35
  - **`defaultOpen`** `boolean` (default: `false`) — Whether the popover is open initially
36
36
  - **`onOpenChange`** `(isOpen: boolean) => void` — Fired when the popover opens or closes
37
37
  - **`shouldFlip`** `boolean` (default: `true`) — Whether the popover may flip to the other side of the trigger
38
+ - **`placement`** `Placement` (default: `bottom start`) — Placement of the popover relative to the anchor, as a React Aria placement string (e.g. `'bottom start'`, `'top end'`)
39
+ - **`targetRef`** `RefObject<HTMLElement | null>` — The element the popover visually attaches to. Defaults to the trigger; use it to anchor the popover to an outer container so sibling controls' popovers line up
38
40
 
39
41
  There is no `formatMode`: with no text to reconcile, `format` alone decides how the value is written. Everything else about the color model — the notations it reads, the gamut handling, the three spaces — is identical to `ColorInput` and documented there.
40
42
 
@@ -125,14 +127,19 @@ Give it an `aria-label` when you do: with no visible text, that is the only thin
125
127
  ### Inside a form
126
128
 
127
129
  ```jsx
128
- <Form onSubmit={onSubmit}>
129
- <ColorPicker
130
- name="accent"
131
- label="Accent color"
132
- format="oklch"
133
- rules={[{ required: true, message: 'Pick an accent color' }]}
134
- />
135
- </Form>
130
+ function Example() {
131
+ const form = Form.useController();
132
+ return (
133
+ <Form form={form} onSubmit={onSubmit}>
134
+ <ColorPicker
135
+ name="accent"
136
+ label="Accent color"
137
+ format="oklch"
138
+ rules={[{ required: true, message: 'Pick an accent color' }]}
139
+ />
140
+ </Form>
141
+ );
142
+ }
136
143
  ```
137
144
 
138
145
  ## Accessibility
@@ -663,18 +663,22 @@ This component supports all [Field properties](../../FieldProperties.md) when us
663
663
  ### Form Example
664
664
 
665
665
  ```jsx
666
- <Form>
667
- <ComboBox
668
- name="country"
669
- label="Country"
670
- isRequired
671
- validationBehavior="native"
672
- >
673
- <ComboBox.Item key="us">United States</ComboBox.Item>
674
- <ComboBox.Item key="uk">United Kingdom</ComboBox.Item>
675
- <ComboBox.Item key="ca">Canada</ComboBox.Item>
676
- </ComboBox>
677
- </Form>
666
+ function Example() {
667
+ const form = Form.useController();
668
+ return (
669
+ <Form form={form}>
670
+ <ComboBox
671
+ name="country"
672
+ label="Country"
673
+ isRequired
674
+ >
675
+ <ComboBox.Item key="us">United States</ComboBox.Item>
676
+ <ComboBox.Item key="uk">United Kingdom</ComboBox.Item>
677
+ <ComboBox.Item key="ca">Canada</ComboBox.Item>
678
+ </ComboBox>
679
+ </Form>
680
+ );
681
+ }
678
682
  ```
679
683
 
680
684
  ## Suggested Improvements
@@ -26,6 +26,8 @@ A date picker combines a text input with a calendar interface, allowing users to
26
26
  - **`useLocale`** `boolean` (default: `undefined`) — Date segment formatting. Leave unset for the kit's own segment order; `true` uses the active locale's order; `false` forces `en-US`. Note that unset and `false` are **not** the same — unset applies extra segment formatting that `false` skips
27
27
  - **`maxVisibleMonths`** `number` (default: `1`) — Maximum number of months to display in calendar
28
28
  - **`shouldFlip`** `boolean` (default: `true`) — Whether the calendar popover should flip to fit in the viewport
29
+ - **`placement`** `Placement` (default: `bottom right`) — Placement of the popover relative to the anchor, as a React Aria placement string (e.g. `'bottom start'`, `'top end'`)
30
+ - **`targetRef`** `RefObject<HTMLElement | null>` — The element the popover visually attaches to. Defaults to the field wrapper; use it to anchor the popover to an outer container so sibling controls' popovers line up
29
31
  - **`isOpen`** `boolean` — Whether the calendar popover is open (controlled)
30
32
  - **`defaultOpen`** `boolean` — Whether the calendar popover is open by default (uncontrolled)
31
33
  - **`isDateUnavailable`** `(date: DateValue) => boolean` — Callback to mark specific dates as unavailable
@@ -535,25 +535,30 @@ const categories = [
535
535
  This component supports all [Field properties](../../FieldProperties.md) when used within a Form. The component automatically handles form validation, field states, and integrates with form submission.
536
536
 
537
537
  ```jsx
538
- <Form onSubmit={handleSubmit}>
539
- <FilterListBox
540
- name="skills"
541
- label="Technical Skills"
542
- isRequired
543
- selectionMode="multiple"
544
- searchPlaceholder="Search skills..."
545
- rules={[{ required: true, min: 2 }]}
546
- >
547
- <FilterListBox.Section title="Frontend">
548
- <FilterListBox.Item key="react">React</FilterListBox.Item>
549
- <FilterListBox.Item key="vue">Vue.js</FilterListBox.Item>
550
- </FilterListBox.Section>
551
- <FilterListBox.Section title="Backend">
552
- <FilterListBox.Item key="nodejs">Node.js</FilterListBox.Item>
553
- <FilterListBox.Item key="python">Python</FilterListBox.Item>
554
- </FilterListBox.Section>
555
- </FilterListBox>
556
- </Form>
538
+ function Example() {
539
+ const form = Form.useController();
540
+ return (
541
+ <Form form={form} onSubmit={handleSubmit}>
542
+ <FilterListBox
543
+ name="skills"
544
+ label="Technical Skills"
545
+ isRequired
546
+ selectionMode="multiple"
547
+ searchPlaceholder="Search skills..."
548
+ rules={[{ required: true, min: 2 }]}
549
+ >
550
+ <FilterListBox.Section title="Frontend">
551
+ <FilterListBox.Item key="react">React</FilterListBox.Item>
552
+ <FilterListBox.Item key="vue">Vue.js</FilterListBox.Item>
553
+ </FilterListBox.Section>
554
+ <FilterListBox.Section title="Backend">
555
+ <FilterListBox.Item key="nodejs">Node.js</FilterListBox.Item>
556
+ <FilterListBox.Item key="python">Python</FilterListBox.Item>
557
+ </FilterListBox.Section>
558
+ </FilterListBox>
559
+ </Form>
560
+ );
561
+ }
557
562
  ```
558
563
 
559
564
  ## Advanced Features