@cube-dev/ui-kit 0.181.0 → 0.183.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 (1133) hide show
  1. package/dist/CHANGELOG.md +34 -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 +7 -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 +6 -4
  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 +76 -76
  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 +116 -43
  59. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  60. package/dist/components/actions/Menu/MenuSection.js +85 -30
  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 -6
  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 +29 -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.js +414 -155
  115. package/dist/components/content/Item/Item.js.map +1 -1
  116. package/dist/components/content/ItemBadge/ItemBadge.js +173 -59
  117. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  118. package/dist/components/content/ItemCard/ItemCard.js +34 -9
  119. package/dist/components/content/ItemCard/ItemCard.js.map +1 -1
  120. package/dist/components/content/Layout/GridLayout.js +38 -10
  121. package/dist/components/content/Layout/GridLayout.js.map +1 -1
  122. package/dist/components/content/Layout/Layout.js +30 -13
  123. package/dist/components/content/Layout/Layout.js.map +1 -1
  124. package/dist/components/content/Layout/LayoutBlock.js +33 -8
  125. package/dist/components/content/Layout/LayoutBlock.js.map +1 -1
  126. package/dist/components/content/Layout/LayoutCenter.js +48 -11
  127. package/dist/components/content/Layout/LayoutCenter.js.map +1 -1
  128. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  129. package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
  130. package/dist/components/content/Layout/LayoutContent.js +1 -1
  131. package/dist/components/content/Layout/LayoutContent.js.map +1 -1
  132. package/dist/components/content/Layout/LayoutContext.js +30 -21
  133. package/dist/components/content/Layout/LayoutContext.js.map +1 -1
  134. package/dist/components/content/Layout/LayoutFlex.js +33 -8
  135. package/dist/components/content/Layout/LayoutFlex.js.map +1 -1
  136. package/dist/components/content/Layout/LayoutFooter.js +53 -14
  137. package/dist/components/content/Layout/LayoutFooter.js.map +1 -1
  138. package/dist/components/content/Layout/LayoutGrid.js +48 -11
  139. package/dist/components/content/Layout/LayoutGrid.js.map +1 -1
  140. package/dist/components/content/Layout/LayoutHeader.js +211 -57
  141. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  142. package/dist/components/content/Layout/LayoutPane.js +60 -14
  143. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  144. package/dist/components/content/Layout/LayoutPanel.js +59 -17
  145. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  146. package/dist/components/content/Layout/LayoutPanelHeader.js +89 -27
  147. package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
  148. package/dist/components/content/Layout/LayoutToolbar.js +33 -8
  149. package/dist/components/content/Layout/LayoutToolbar.js.map +1 -1
  150. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +206 -119
  151. package/dist/components/content/Layout/hooks/useTinyScrollbar.js.map +1 -1
  152. package/dist/components/content/Layout/index.js +1 -1
  153. package/dist/components/content/Layout/index.js.map +1 -1
  154. package/dist/components/content/Layout/utils.js +1 -1
  155. package/dist/components/content/Layout/utils.js.map +1 -1
  156. package/dist/components/content/Paragraph.js +25 -9
  157. package/dist/components/content/Paragraph.js.map +1 -1
  158. package/dist/components/content/Placeholder/Placeholder.js +52 -14
  159. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  160. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  161. package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
  162. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  163. package/dist/components/content/PrismCode/prismSetup.js.map +1 -1
  164. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +52 -17
  165. package/dist/components/content/PrismDiffCode/PrismDiffCode.js.map +1 -1
  166. package/dist/components/content/Result/Result.js +117 -38
  167. package/dist/components/content/Result/Result.js.map +1 -1
  168. package/dist/components/content/Skeleton/Skeleton.js +26 -17
  169. package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
  170. package/dist/components/content/Tag/Tag.js +68 -13
  171. package/dist/components/content/Tag/Tag.js.map +1 -1
  172. package/dist/components/content/Text.d.ts +14 -14
  173. package/dist/components/content/Text.js +61 -14
  174. package/dist/components/content/Text.js.map +1 -1
  175. package/dist/components/content/TextItem/TextItem.js +37 -16
  176. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  177. package/dist/components/content/Title.js +98 -23
  178. package/dist/components/content/Title.js.map +1 -1
  179. package/dist/components/content/Tree/Tree.js +32 -32
  180. package/dist/components/content/Tree/Tree.js.map +1 -1
  181. package/dist/components/content/Tree/TreeNode.js +10 -10
  182. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  183. package/dist/components/content/Tree/styled.js +1 -1
  184. package/dist/components/content/Tree/styled.js.map +1 -1
  185. package/dist/components/content/Tree/tree-index.js +1 -1
  186. package/dist/components/content/Tree/tree-index.js.map +1 -1
  187. package/dist/components/content/Tree/use-checkbox-tree.js +123 -89
  188. package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
  189. package/dist/components/content/Tree/use-load-data.js +52 -21
  190. package/dist/components/content/Tree/use-load-data.js.map +1 -1
  191. package/dist/components/content/highlightText.js +1 -1
  192. package/dist/components/content/highlightText.js.map +1 -1
  193. package/dist/components/content/use-auto-tooltip.js +1 -1
  194. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  195. package/dist/components/data/DataTable/DataTable.js +31 -31
  196. package/dist/components/data/DataTable/DataTable.js.map +1 -1
  197. package/dist/components/data/ItemTable/ItemTable.js +41 -41
  198. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  199. package/dist/components/data/ItemTable/ItemTableBulkBar.js +11 -11
  200. package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
  201. package/dist/components/data/ItemTable/ItemTableDragPreview.js +41 -4
  202. package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
  203. package/dist/components/data/ItemTable/ItemTableFooter.js +67 -30
  204. package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
  205. package/dist/components/data/ItemTable/ItemTableToolbar.js +95 -28
  206. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
  207. package/dist/components/data/TableBase/ColumnResizer.js +90 -41
  208. package/dist/components/data/TableBase/ColumnResizer.js.map +1 -1
  209. package/dist/components/data/TableBase/RowCollection.js +1 -1
  210. package/dist/components/data/TableBase/RowCollection.js.map +1 -1
  211. package/dist/components/data/TableBase/TableHeaderCell.js +154 -64
  212. package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
  213. package/dist/components/data/TableBase/TableRow.js +211 -69
  214. package/dist/components/data/TableBase/TableRow.js.map +1 -1
  215. package/dist/components/data/TableBase/TableView.js +119 -80
  216. package/dist/components/data/TableBase/TableView.js.map +1 -1
  217. package/dist/components/data/TableBase/column-menu.js +1 -1
  218. package/dist/components/data/TableBase/column-menu.js.map +1 -1
  219. package/dist/components/data/TableBase/column-tint.js +1 -1
  220. package/dist/components/data/TableBase/column-tint.js.map +1 -1
  221. package/dist/components/data/TableBase/row-menu.js +1 -1
  222. package/dist/components/data/TableBase/row-menu.js.map +1 -1
  223. package/dist/components/data/TableBase/styled.js +1 -1
  224. package/dist/components/data/TableBase/styled.js.map +1 -1
  225. package/dist/components/data/TableBase/table-tree.js +1 -1
  226. package/dist/components/data/TableBase/table-tree.js.map +1 -1
  227. package/dist/components/data/TableBase/types.js +1 -1
  228. package/dist/components/data/TableBase/types.js.map +1 -1
  229. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  230. package/dist/components/data/TableBase/use-cell-selection.js.map +1 -1
  231. package/dist/components/data/TableBase/use-column-order.js +56 -12
  232. package/dist/components/data/TableBase/use-column-order.js.map +1 -1
  233. package/dist/components/data/TableBase/use-container-width.js +24 -10
  234. package/dist/components/data/TableBase/use-container-width.js.map +1 -1
  235. package/dist/components/data/TableBase/use-row-move-animation.js +68 -49
  236. package/dist/components/data/TableBase/use-row-move-animation.js.map +1 -1
  237. package/dist/components/data/TableBase/use-scrollability.js +32 -18
  238. package/dist/components/data/TableBase/use-scrollability.js.map +1 -1
  239. package/dist/components/data/TableBase/use-table-columns.js +130 -60
  240. package/dist/components/data/TableBase/use-table-columns.js.map +1 -1
  241. package/dist/components/data/TableBase/use-table-search.js +1 -1
  242. package/dist/components/data/TableBase/use-table-search.js.map +1 -1
  243. package/dist/components/data/TableBase/use-table-selection.js +39 -39
  244. package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
  245. package/dist/components/data/TableBase/use-table-sort.js +132 -68
  246. package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
  247. package/dist/components/data/TableBase/use-table-sorts.js +168 -101
  248. package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
  249. package/dist/components/data/TableBase/use-table-storage.js +2 -2
  250. package/dist/components/data/TableBase/use-table-storage.js.map +1 -1
  251. package/dist/components/data/TableBase/use-table-tree-state.js +181 -86
  252. package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
  253. package/dist/components/fields/Checkbox/Checkbox.js +13 -6
  254. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  255. package/dist/components/fields/Checkbox/CheckboxGroup.js +101 -33
  256. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  257. package/dist/components/fields/Checkbox/context.js +1 -1
  258. package/dist/components/fields/Checkbox/context.js.map +1 -1
  259. package/dist/components/fields/ColorInput/ColorInput.js +329 -150
  260. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  261. package/dist/components/fields/ColorPicker/ColorPicker.js +16 -16
  262. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  263. package/dist/components/fields/ColorSwatch/ColorSwatch.js +52 -13
  264. package/dist/components/fields/ColorSwatch/ColorSwatch.js.map +1 -1
  265. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +90 -28
  266. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  267. package/dist/components/fields/ComboBox/ComboBox.js +216 -134
  268. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  269. package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +21 -1
  270. package/dist/components/fields/CommandTextArea/CommandTextArea.js +26 -7
  271. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  272. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  273. package/dist/components/fields/CommandTextArea/caretPosition.js.map +1 -1
  274. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +88 -49
  275. package/dist/components/fields/CommandTextArea/useCaretAnchor.js.map +1 -1
  276. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  277. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  278. package/dist/components/fields/DatePicker/DateInputBase.js +129 -34
  279. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  280. package/dist/components/fields/DatePicker/DatePicker.js +194 -66
  281. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  282. package/dist/components/fields/DatePicker/DatePickerButton.js +39 -8
  283. package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
  284. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  285. package/dist/components/fields/DatePicker/DatePickerElement.js.map +1 -1
  286. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  287. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  288. package/dist/components/fields/DatePicker/DatePickerSegment.js +109 -29
  289. package/dist/components/fields/DatePicker/DatePickerSegment.js.map +1 -1
  290. package/dist/components/fields/DatePicker/DateRangePicker.js +224 -85
  291. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  292. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +473 -177
  293. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  294. package/dist/components/fields/DatePicker/MonthPicker.js +15 -6
  295. package/dist/components/fields/DatePicker/MonthPicker.js.map +1 -1
  296. package/dist/components/fields/DatePicker/PeriodPicker.js +288 -91
  297. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  298. package/dist/components/fields/DatePicker/QuarterPicker.js +15 -6
  299. package/dist/components/fields/DatePicker/QuarterPicker.js.map +1 -1
  300. package/dist/components/fields/DatePicker/TimeInput.js +15 -7
  301. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  302. package/dist/components/fields/DatePicker/WeekPicker.js +15 -6
  303. package/dist/components/fields/DatePicker/WeekPicker.js.map +1 -1
  304. package/dist/components/fields/DatePicker/YearPicker.js +15 -6
  305. package/dist/components/fields/DatePicker/YearPicker.js.map +1 -1
  306. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  307. package/dist/components/fields/DatePicker/parseDate.js.map +1 -1
  308. package/dist/components/fields/DatePicker/period.js +1 -1
  309. package/dist/components/fields/DatePicker/period.js.map +1 -1
  310. package/dist/components/fields/DatePicker/props.js +1 -1
  311. package/dist/components/fields/DatePicker/props.js.map +1 -1
  312. package/dist/components/fields/DatePicker/utils.js +15 -8
  313. package/dist/components/fields/DatePicker/utils.js.map +1 -1
  314. package/dist/components/fields/FileInput/FileInput.js +3 -3
  315. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  316. package/dist/components/fields/FilterListBox/FilterListBox.js +87 -87
  317. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  318. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +2 -0
  319. package/dist/components/fields/FilterPicker/FilterPicker.js +24 -23
  320. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  321. package/dist/components/fields/Input/Input.js +1 -1
  322. package/dist/components/fields/Input/Input.js.map +1 -1
  323. package/dist/components/fields/ListBox/DraggableListBox.js +23 -10
  324. package/dist/components/fields/ListBox/DraggableListBox.js.map +1 -1
  325. package/dist/components/fields/ListBox/ListBox.js +138 -53
  326. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  327. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +156 -37
  328. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  329. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  330. package/dist/components/fields/ListBoxPopover/listNavigation.js.map +1 -1
  331. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +61 -33
  332. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
  333. package/dist/components/fields/NumberInput/NumberInput.js +123 -33
  334. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  335. package/dist/components/fields/NumberInput/StepButton.js +53 -15
  336. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  337. package/dist/components/fields/PasswordInput/PasswordInput.js +149 -45
  338. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  339. package/dist/components/fields/Picker/Picker.d.ts +2 -0
  340. package/dist/components/fields/Picker/Picker.js +10 -9
  341. package/dist/components/fields/Picker/Picker.js.map +1 -1
  342. package/dist/components/fields/RadioGroup/Radio.js +273 -104
  343. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  344. package/dist/components/fields/RadioGroup/RadioGroup.js +149 -48
  345. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  346. package/dist/components/fields/RadioGroup/context.js +1 -1
  347. package/dist/components/fields/RadioGroup/context.js.map +1 -1
  348. package/dist/components/fields/SearchComboBox/SearchComboBox.js +80 -65
  349. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  350. package/dist/components/fields/SearchInput/SearchInput.js +91 -28
  351. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  352. package/dist/components/fields/Select/Select.d.ts +2 -0
  353. package/dist/components/fields/Select/Select.js +373 -118
  354. package/dist/components/fields/Select/Select.js.map +1 -1
  355. package/dist/components/fields/Slider/Gradation.js +45 -10
  356. package/dist/components/fields/Slider/Gradation.js.map +1 -1
  357. package/dist/components/fields/Slider/HueSlider.js +121 -32
  358. package/dist/components/fields/Slider/HueSlider.js.map +1 -1
  359. package/dist/components/fields/Slider/RangeSlider.js +46 -10
  360. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  361. package/dist/components/fields/Slider/Slider.js +108 -23
  362. package/dist/components/fields/Slider/Slider.js.map +1 -1
  363. package/dist/components/fields/Slider/SliderBase.js +2 -2
  364. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  365. package/dist/components/fields/Slider/SliderThumb.js +96 -37
  366. package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
  367. package/dist/components/fields/Slider/SliderTrack.js +64 -23
  368. package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
  369. package/dist/components/fields/Slider/elements.js +1 -1
  370. package/dist/components/fields/Slider/elements.js.map +1 -1
  371. package/dist/components/fields/Slider/index.js +1 -1
  372. package/dist/components/fields/Switch/Switch.js +190 -66
  373. package/dist/components/fields/Switch/Switch.js.map +1 -1
  374. package/dist/components/fields/TextArea/TextArea.js +137 -47
  375. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  376. package/dist/components/fields/TextInput/TextInput.js +80 -27
  377. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  378. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  379. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  380. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  381. package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -1
  382. package/dist/components/fields/TextInputMapper/TextInputMapper.js +156 -83
  383. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  384. package/dist/components/fields/TriggerActions.js +11 -2
  385. package/dist/components/fields/TriggerActions.js.map +1 -1
  386. package/dist/components/fields/color/ColorPanel.js +237 -59
  387. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  388. package/dist/components/fields/color/channels.js +1 -1
  389. package/dist/components/fields/color/channels.js.map +1 -1
  390. package/dist/components/fields/color/color.js +1 -1
  391. package/dist/components/fields/color/color.js.map +1 -1
  392. package/dist/components/fields/color/context.js +1 -1
  393. package/dist/components/fields/color/context.js.map +1 -1
  394. package/dist/components/form/FieldWrapper/FieldWrapper.js +195 -72
  395. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  396. package/dist/components/form/Form/Field.js +23 -9
  397. package/dist/components/form/Form/Field.js.map +1 -1
  398. package/dist/components/form/Form/Form.js +76 -30
  399. package/dist/components/form/Form/Form.js.map +1 -1
  400. package/dist/components/form/Form/ModernFormRoot.js +294 -81
  401. package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
  402. package/dist/components/form/Form/ResetButton/ResetButton.js +32 -10
  403. package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
  404. package/dist/components/form/Form/SubmitButton/SubmitButton.js +32 -10
  405. package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
  406. package/dist/components/form/Form/SubmitError.js +130 -32
  407. package/dist/components/form/Form/SubmitError.js.map +1 -1
  408. package/dist/components/form/Form/backend.js +1 -1
  409. package/dist/components/form/Form/backend.js.map +1 -1
  410. package/dist/components/form/Form/index.js +1 -1
  411. package/dist/components/form/Form/index.js.map +1 -1
  412. package/dist/components/form/Form/modern/actions.js +140 -45
  413. package/dist/components/form/Form/modern/actions.js.map +1 -1
  414. package/dist/components/form/Form/modern/context.js +1 -1
  415. package/dist/components/form/Form/modern/context.js.map +1 -1
  416. package/dist/components/form/Form/modern/controller.js +1 -1
  417. package/dist/components/form/Form/modern/controller.js.map +1 -1
  418. package/dist/components/form/Form/modern/field-binding.js +1 -1
  419. package/dist/components/form/Form/modern/field-binding.js.map +1 -1
  420. package/dist/components/form/Form/modern/field.js +1 -1
  421. package/dist/components/form/Form/modern/field.js.map +1 -1
  422. package/dist/components/form/Form/modern/react.js +102 -19
  423. package/dist/components/form/Form/modern/react.js.map +1 -1
  424. package/dist/components/form/Form/modern/store.js +13 -3
  425. package/dist/components/form/Form/modern/store.js.map +1 -1
  426. package/dist/components/form/Form/modern/types.d.ts +3 -1
  427. package/dist/components/form/Form/modern/validation.js +1 -1
  428. package/dist/components/form/Form/modern/validation.js.map +1 -1
  429. package/dist/components/form/Form/modern/values.js +1 -1
  430. package/dist/components/form/Form/modern/values.js.map +1 -1
  431. package/dist/components/form/Form/use-field/use-field-binding.js +236 -63
  432. package/dist/components/form/Form/use-field/use-field-binding.js.map +1 -1
  433. package/dist/components/form/Form/use-field/use-field-props.js +106 -61
  434. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  435. package/dist/components/form/Form/use-field/use-field.js +5 -4
  436. package/dist/components/form/Form/use-field/use-field.js.map +1 -1
  437. package/dist/components/form/Form/use-form.js +2 -1
  438. package/dist/components/form/Form/use-form.js.map +1 -1
  439. package/dist/components/form/Form/validation.js +1 -1
  440. package/dist/components/form/Form/validation.js.map +1 -1
  441. package/dist/components/form/Label.js +127 -37
  442. package/dist/components/form/Label.js.map +1 -1
  443. package/dist/components/form/validation/ValidationIndicator.js +20 -5
  444. package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
  445. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  446. package/dist/components/form/validation/resolve-validation-props.js.map +1 -1
  447. package/dist/components/form/validation/use-validation-props.js +36 -10
  448. package/dist/components/form/validation/use-validation-props.js.map +1 -1
  449. package/dist/components/form/wrapper.js +1 -1
  450. package/dist/components/form/wrapper.js.map +1 -1
  451. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +49 -29
  452. package/dist/components/helpers/DisplayTransition/DisplayTransition.js.map +1 -1
  453. package/dist/components/helpers/IconSwitch/IconSwitch.js +8 -8
  454. package/dist/components/helpers/IconSwitch/IconSwitch.js.map +1 -1
  455. package/dist/components/layout/Board/Board.js +27 -9
  456. package/dist/components/layout/Board/Board.js.map +1 -1
  457. package/dist/components/layout/Board/BoardProvider.js +1 -1
  458. package/dist/components/layout/Board/BoardProvider.js.map +1 -1
  459. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  460. package/dist/components/layout/Board/BoardResponsive.js.map +1 -1
  461. package/dist/components/layout/Board/Widget.js +1 -1
  462. package/dist/components/layout/Board/Widget.js.map +1 -1
  463. package/dist/components/layout/Board/WidgetHost.js +159 -121
  464. package/dist/components/layout/Board/WidgetHost.js.map +1 -1
  465. package/dist/components/layout/Board/board-context.js +14 -5
  466. package/dist/components/layout/Board/board-context.js.map +1 -1
  467. package/dist/components/layout/Board/board-store.js +1 -1
  468. package/dist/components/layout/Board/board-store.js.map +1 -1
  469. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  470. package/dist/components/layout/Board/grid-core/calculate.js.map +1 -1
  471. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  472. package/dist/components/layout/Board/grid-core/collision-modes.js.map +1 -1
  473. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  474. package/dist/components/layout/Board/grid-core/collision.js.map +1 -1
  475. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  476. package/dist/components/layout/Board/grid-core/compactors.js.map +1 -1
  477. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  478. package/dist/components/layout/Board/grid-core/constraints.js.map +1 -1
  479. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  480. package/dist/components/layout/Board/grid-core/group-move.js.map +1 -1
  481. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  482. package/dist/components/layout/Board/grid-core/layout.js.map +1 -1
  483. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  484. package/dist/components/layout/Board/grid-core/placement.js.map +1 -1
  485. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  486. package/dist/components/layout/Board/grid-core/sort.js.map +1 -1
  487. package/dist/components/layout/Board/index.js +1 -1
  488. package/dist/components/layout/Board/index.js.map +1 -1
  489. package/dist/components/layout/Board/responsive-utils.js +1 -1
  490. package/dist/components/layout/Board/responsive-utils.js.map +1 -1
  491. package/dist/components/layout/Board/use-board-layout.js +8 -8
  492. package/dist/components/layout/Board/use-board-layout.js.map +1 -1
  493. package/dist/components/layout/Board/use-board-registry.js +257 -257
  494. package/dist/components/layout/Board/use-board-registry.js.map +1 -1
  495. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  496. package/dist/components/layout/Board/use-board-select-modifier-key.js.map +1 -1
  497. package/dist/components/layout/Board/use-board-selection.js +16 -16
  498. package/dist/components/layout/Board/use-board-selection.js.map +1 -1
  499. package/dist/components/layout/Flex.js +29 -7
  500. package/dist/components/layout/Flex.js.map +1 -1
  501. package/dist/components/layout/Flow.js +29 -7
  502. package/dist/components/layout/Flow.js.map +1 -1
  503. package/dist/components/layout/Grid.js +30 -7
  504. package/dist/components/layout/Grid.js.map +1 -1
  505. package/dist/components/layout/Panel.js +9 -9
  506. package/dist/components/layout/Panel.js.map +1 -1
  507. package/dist/components/layout/Prefix.js +59 -16
  508. package/dist/components/layout/Prefix.js.map +1 -1
  509. package/dist/components/layout/ResizablePanel.js +62 -32
  510. package/dist/components/layout/ResizablePanel.js.map +1 -1
  511. package/dist/components/layout/Space.js +55 -11
  512. package/dist/components/layout/Space.js.map +1 -1
  513. package/dist/components/layout/Suffix.js +59 -16
  514. package/dist/components/layout/Suffix.js.map +1 -1
  515. package/dist/components/navigation/Pagination/Pagination.js +394 -164
  516. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  517. package/dist/components/navigation/Pagination/use-pagination.js +69 -26
  518. package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
  519. package/dist/components/navigation/Tabs/DraggableTabList.js +25 -10
  520. package/dist/components/navigation/Tabs/DraggableTabList.js.map +1 -1
  521. package/dist/components/navigation/Tabs/TabButton.js +604 -235
  522. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  523. package/dist/components/navigation/Tabs/TabDropIndicator.js +65 -23
  524. package/dist/components/navigation/Tabs/TabDropIndicator.js.map +1 -1
  525. package/dist/components/navigation/Tabs/TabPanel.js +47 -19
  526. package/dist/components/navigation/Tabs/TabPanel.js.map +1 -1
  527. package/dist/components/navigation/Tabs/TabPicker.js +105 -33
  528. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  529. package/dist/components/navigation/Tabs/Tabs.js +45 -45
  530. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  531. package/dist/components/navigation/Tabs/TabsAction.js +53 -19
  532. package/dist/components/navigation/Tabs/TabsAction.js.map +1 -1
  533. package/dist/components/navigation/Tabs/TabsContext.js +16 -6
  534. package/dist/components/navigation/Tabs/TabsContext.js.map +1 -1
  535. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  536. package/dist/components/navigation/Tabs/popover-placement.js.map +1 -1
  537. package/dist/components/navigation/Tabs/styled.js +1 -1
  538. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  539. package/dist/components/navigation/Tabs/types.js +1 -1
  540. package/dist/components/navigation/Tabs/types.js.map +1 -1
  541. package/dist/components/navigation/Tabs/use-tab-editing.js +50 -13
  542. package/dist/components/navigation/Tabs/use-tab-editing.js.map +1 -1
  543. package/dist/components/navigation/Tabs/use-tab-indicator.js +111 -63
  544. package/dist/components/navigation/Tabs/use-tab-indicator.js.map +1 -1
  545. package/dist/components/organisms/StatsCard/StatsCard.js +54 -14
  546. package/dist/components/organisms/StatsCard/StatsCard.js.map +1 -1
  547. package/dist/components/other/Calendar/Calendar.js +79 -31
  548. package/dist/components/other/Calendar/Calendar.js.map +1 -1
  549. package/dist/components/other/Calendar/CalendarCell.js +66 -20
  550. package/dist/components/other/Calendar/CalendarCell.js.map +1 -1
  551. package/dist/components/other/Calendar/CalendarGrid.js +90 -40
  552. package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
  553. package/dist/components/other/Calendar/CalendarHeader.js +80 -17
  554. package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
  555. package/dist/components/other/Calendar/CalendarPanel.js +568 -144
  556. package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
  557. package/dist/components/other/Calendar/PeriodCalendar.js +425 -134
  558. package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -1
  559. package/dist/components/other/Calendar/PeriodGrid.js +6 -6
  560. package/dist/components/other/Calendar/PeriodGrid.js.map +1 -1
  561. package/dist/components/other/Calendar/RangeCalendar.js +50 -24
  562. package/dist/components/other/Calendar/RangeCalendar.js.map +1 -1
  563. package/dist/components/other/Calendar/styled.js +1 -1
  564. package/dist/components/other/Calendar/styled.js.map +1 -1
  565. package/dist/components/other/CubeLogo/CubeLogo.js +95 -34
  566. package/dist/components/other/CubeLogo/CubeLogo.js.map +1 -1
  567. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  568. package/dist/components/other/NoDataIcon/NoDataIcon.js.map +1 -1
  569. package/dist/components/overlays/AlertDialog/AlertDialog.js +153 -42
  570. package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
  571. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +76 -54
  572. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
  573. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +146 -39
  574. package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
  575. package/dist/components/overlays/Dialog/Dialog.js +26 -10
  576. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  577. package/dist/components/overlays/Dialog/DialogContainer.js +13 -13
  578. package/dist/components/overlays/Dialog/DialogContainer.js.map +1 -1
  579. package/dist/components/overlays/Dialog/DialogForm.d.ts +12 -7
  580. package/dist/components/overlays/Dialog/DialogForm.js +18 -7
  581. package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
  582. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +1 -1
  583. package/dist/components/overlays/Dialog/DialogTrigger.js +214 -59
  584. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  585. package/dist/components/overlays/Dialog/ModernDialogForm.js +350 -0
  586. package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -0
  587. package/dist/components/overlays/Dialog/context.js +1 -1
  588. package/dist/components/overlays/Dialog/context.js.map +1 -1
  589. package/dist/components/overlays/Dialog/index.d.ts +1 -1
  590. package/dist/components/overlays/Dialog/use-dialog-container.js +6 -6
  591. package/dist/components/overlays/Dialog/use-dialog-container.js.map +1 -1
  592. package/dist/components/overlays/Modal/Modal.js +140 -27
  593. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  594. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  595. package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -1
  596. package/dist/components/overlays/Modal/Overlay.js +4 -4
  597. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  598. package/dist/components/overlays/Modal/Popover.js +131 -29
  599. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  600. package/dist/components/overlays/Modal/Tray.js +142 -30
  601. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  602. package/dist/components/overlays/Modal/Underlay.js +36 -7
  603. package/dist/components/overlays/Modal/Underlay.js.map +1 -1
  604. package/dist/components/overlays/Notifications/Notification.js +69 -32
  605. package/dist/components/overlays/Notifications/Notification.js.map +1 -1
  606. package/dist/components/overlays/Notifications/NotificationAction.js +79 -26
  607. package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
  608. package/dist/components/overlays/Notifications/NotificationCard.js +138 -33
  609. package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
  610. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  611. package/dist/components/overlays/Notifications/NotificationContext.js.map +1 -1
  612. package/dist/components/overlays/Notifications/NotificationItem.js +63 -16
  613. package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
  614. package/dist/components/overlays/Notifications/OverlayContainer.js +312 -151
  615. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  616. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  617. package/dist/components/overlays/Notifications/OverlayProvider.js.map +1 -1
  618. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +210 -58
  619. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  620. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  621. package/dist/components/overlays/Notifications/dismissed-storage.js.map +1 -1
  622. package/dist/components/overlays/Notifications/format-relative-time.d.ts +1 -1
  623. package/dist/components/overlays/Notifications/format-relative-time.js +3 -3
  624. package/dist/components/overlays/Notifications/format-relative-time.js.map +1 -1
  625. package/dist/components/overlays/Notifications/index.js +1 -1
  626. package/dist/components/overlays/Notifications/index.js.map +1 -1
  627. package/dist/components/overlays/Notifications/use-notification-state.js +51 -51
  628. package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
  629. package/dist/components/overlays/Notifications/use-notifications.js +12 -12
  630. package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
  631. package/dist/components/overlays/Notifications/use-overlay-timers.js +10 -10
  632. package/dist/components/overlays/Notifications/use-overlay-timers.js.map +1 -1
  633. package/dist/components/overlays/Notifications/use-persistent-notifications.js +24 -5
  634. package/dist/components/overlays/Notifications/use-persistent-notifications.js.map +1 -1
  635. package/dist/components/overlays/Notifications/use-persistent-state.js +145 -43
  636. package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
  637. package/dist/components/overlays/Notifications/use-toast-state.js +25 -25
  638. package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
  639. package/dist/components/overlays/Toast/ToastItem.js +68 -15
  640. package/dist/components/overlays/Toast/ToastItem.js.map +1 -1
  641. package/dist/components/overlays/Toast/index.js +100 -34
  642. package/dist/components/overlays/Toast/index.js.map +1 -1
  643. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  644. package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
  645. package/dist/components/overlays/Toast/useToast.js +9 -9
  646. package/dist/components/overlays/Toast/useToast.js.map +1 -1
  647. package/dist/components/overlays/Tooltip/Tooltip.js +88 -31
  648. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  649. package/dist/components/overlays/Tooltip/TooltipProvider.js +75 -10
  650. package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
  651. package/dist/components/overlays/Tooltip/TooltipTrigger.js +186 -77
  652. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  653. package/dist/components/overlays/Tooltip/context.js +1 -1
  654. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  655. package/dist/components/portal/Portal.js +18 -3
  656. package/dist/components/portal/Portal.js.map +1 -1
  657. package/dist/components/portal/PortalProvider.js +11 -2
  658. package/dist/components/portal/PortalProvider.js.map +1 -1
  659. package/dist/components/portal/usePortal.js +1 -1
  660. package/dist/components/portal/usePortal.js.map +1 -1
  661. package/dist/components/shared/DraggableCollection.js +23 -23
  662. package/dist/components/shared/DraggableCollection.js.map +1 -1
  663. package/dist/components/shared/InvalidIcon.js +1 -1
  664. package/dist/components/shared/InvalidIcon.js.map +1 -1
  665. package/dist/components/shared/ValidIcon.js +1 -1
  666. package/dist/components/shared/ValidIcon.js.map +1 -1
  667. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +156 -48
  668. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  669. package/dist/components/status/Spin/Cube.js +12 -3
  670. package/dist/components/status/Spin/Cube.js.map +1 -1
  671. package/dist/components/status/Spin/InternalSpinner.js +21 -6
  672. package/dist/components/status/Spin/InternalSpinner.js.map +1 -1
  673. package/dist/components/status/Spin/Spin.js +31 -7
  674. package/dist/components/status/Spin/Spin.js.map +1 -1
  675. package/dist/components/status/Spin/SpinsContainer.js +23 -6
  676. package/dist/components/status/Spin/SpinsContainer.js.map +1 -1
  677. package/dist/data/item-themes.js +1 -1
  678. package/dist/data/item-themes.js.map +1 -1
  679. package/dist/data/themes.js +1 -1
  680. package/dist/data/themes.js.map +1 -1
  681. package/dist/eslint-plugin/defaults.generated.js +18 -7
  682. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  683. package/dist/eslint-plugin/index.js +1 -1
  684. package/dist/eslint-plugin/index.js.map +1 -1
  685. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  686. package/dist/eslint-plugin/rules/no-redundant-default-prop.js.map +1 -1
  687. package/dist/i18n/I18nProvider.js +54 -13
  688. package/dist/i18n/I18nProvider.js.map +1 -1
  689. package/dist/i18n/createFormatter.js +1 -1
  690. package/dist/i18n/createFormatter.js.map +1 -1
  691. package/dist/i18n/index.js +1 -1
  692. package/dist/i18n/index.js.map +1 -1
  693. package/dist/i18n/instance.js +1 -1
  694. package/dist/i18n/instance.js.map +1 -1
  695. package/dist/i18n/locales/de-DE/uikit.js +5 -2
  696. package/dist/i18n/locales/en-US/uikit.js +5 -2
  697. package/dist/i18n/locales/en-US/uikit.json.d.ts +15 -5
  698. package/dist/i18n/locales/es-ES/uikit.js +5 -2
  699. package/dist/i18n/locales/es-MX/uikit.js +5 -2
  700. package/dist/i18n/locales/fr-FR/uikit.js +5 -2
  701. package/dist/i18n/locales/it-IT/uikit.js +5 -2
  702. package/dist/i18n/locales/ja-JP/uikit.js +5 -2
  703. package/dist/i18n/locales/nb-NO/uikit.js +5 -2
  704. package/dist/i18n/locales/pt-BR/uikit.js +5 -2
  705. package/dist/i18n/locales/pt-PT/uikit.js +5 -2
  706. package/dist/i18n/locales/sv-SE/uikit.js +5 -2
  707. package/dist/i18n/locales/vi-VN/uikit.js +5 -2
  708. package/dist/i18n/locales.js +1 -1
  709. package/dist/i18n/locales.js.map +1 -1
  710. package/dist/i18n/useFormatter.js +10 -3
  711. package/dist/i18n/useFormatter.js.map +1 -1
  712. package/dist/i18n/useI18n.js +1 -1
  713. package/dist/i18n/useI18n.js.map +1 -1
  714. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  715. package/dist/icons/AdjustmentsHorizontalIcon.js.map +1 -1
  716. package/dist/icons/AdjustmentsIcon.js +1 -1
  717. package/dist/icons/AdjustmentsIcon.js.map +1 -1
  718. package/dist/icons/AiIcon.js +1 -1
  719. package/dist/icons/AiIcon.js.map +1 -1
  720. package/dist/icons/AreaChartIcon.js +1 -1
  721. package/dist/icons/AreaChartIcon.js.map +1 -1
  722. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  723. package/dist/icons/ArrowNarrowDownIcon.js.map +1 -1
  724. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  725. package/dist/icons/ArrowNarrowUpIcon.js.map +1 -1
  726. package/dist/icons/BackwardIcon.js +1 -1
  727. package/dist/icons/BackwardIcon.js.map +1 -1
  728. package/dist/icons/BarChartIcon.js +1 -1
  729. package/dist/icons/BarChartIcon.js.map +1 -1
  730. package/dist/icons/BellFilledIcon.js +1 -1
  731. package/dist/icons/BellFilledIcon.js.map +1 -1
  732. package/dist/icons/BellIcon.js +1 -1
  733. package/dist/icons/BellIcon.js.map +1 -1
  734. package/dist/icons/BooleanIcon.js +1 -1
  735. package/dist/icons/BooleanIcon.js.map +1 -1
  736. package/dist/icons/CalendarEditIcon.js +1 -1
  737. package/dist/icons/CalendarEditIcon.js.map +1 -1
  738. package/dist/icons/CalendarIcon.js +1 -1
  739. package/dist/icons/CalendarIcon.js.map +1 -1
  740. package/dist/icons/CaretDownIcon.js +1 -1
  741. package/dist/icons/CaretDownIcon.js.map +1 -1
  742. package/dist/icons/CaretUpIcon.js +1 -1
  743. package/dist/icons/CaretUpIcon.js.map +1 -1
  744. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  745. package/dist/icons/ChartAreaStackedIcon.js.map +1 -1
  746. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  747. package/dist/icons/ChartAreaStackedPercentageIcon.js.map +1 -1
  748. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  749. package/dist/icons/ChartBarGroupedHorizontalIcon.js.map +1 -1
  750. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  751. package/dist/icons/ChartBarGroupedIcon.js.map +1 -1
  752. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  753. package/dist/icons/ChartBarHorizontalIcon.js.map +1 -1
  754. package/dist/icons/ChartBarLineIcon.js +1 -1
  755. package/dist/icons/ChartBarLineIcon.js.map +1 -1
  756. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  757. package/dist/icons/ChartBarStackedHorizontalIcon.js.map +1 -1
  758. package/dist/icons/ChartBarStackedIcon.js +1 -1
  759. package/dist/icons/ChartBarStackedIcon.js.map +1 -1
  760. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  761. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js.map +1 -1
  762. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  763. package/dist/icons/ChartBarStackedPercentageIcon.js.map +1 -1
  764. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  765. package/dist/icons/ChartBoxPlot2Icon.js.map +1 -1
  766. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  767. package/dist/icons/ChartBoxPlotIcon.js.map +1 -1
  768. package/dist/icons/ChartBubbleIcon.js +1 -1
  769. package/dist/icons/ChartBubbleIcon.js.map +1 -1
  770. package/dist/icons/ChartDonut2Icon.js +1 -1
  771. package/dist/icons/ChartDonut2Icon.js.map +1 -1
  772. package/dist/icons/ChartFunnelIcon.js +1 -1
  773. package/dist/icons/ChartFunnelIcon.js.map +1 -1
  774. package/dist/icons/ChartHeatmapIcon.js +1 -1
  775. package/dist/icons/ChartHeatmapIcon.js.map +1 -1
  776. package/dist/icons/ChartKPIIcon.js +1 -1
  777. package/dist/icons/ChartKPIIcon.js.map +1 -1
  778. package/dist/icons/ChartPie2Icon.js +1 -1
  779. package/dist/icons/ChartPie2Icon.js.map +1 -1
  780. package/dist/icons/ChartScatterIcon.js +1 -1
  781. package/dist/icons/ChartScatterIcon.js.map +1 -1
  782. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  783. package/dist/icons/CheckCircleFilledIcon.js.map +1 -1
  784. package/dist/icons/CheckCircleIcon.js +1 -1
  785. package/dist/icons/CheckCircleIcon.js.map +1 -1
  786. package/dist/icons/CheckIcon.js +1 -1
  787. package/dist/icons/CheckIcon.js.map +1 -1
  788. package/dist/icons/CircleFilledIcon.js +1 -1
  789. package/dist/icons/CircleFilledIcon.js.map +1 -1
  790. package/dist/icons/ClearIcon.js +1 -1
  791. package/dist/icons/ClearIcon.js.map +1 -1
  792. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  793. package/dist/icons/CloseCircleFilledIcon.js.map +1 -1
  794. package/dist/icons/CloseCircleIcon.js +1 -1
  795. package/dist/icons/CloseCircleIcon.js.map +1 -1
  796. package/dist/icons/CloseIcon.js +1 -1
  797. package/dist/icons/CloseIcon.js.map +1 -1
  798. package/dist/icons/CodeIcon.js +1 -1
  799. package/dist/icons/CodeIcon.js.map +1 -1
  800. package/dist/icons/ColumnTotalIcon.js +1 -1
  801. package/dist/icons/ColumnTotalIcon.js.map +1 -1
  802. package/dist/icons/CopyIcon.js +1 -1
  803. package/dist/icons/CopyIcon.js.map +1 -1
  804. package/dist/icons/CountIcon.js +1 -1
  805. package/dist/icons/CountIcon.js.map +1 -1
  806. package/dist/icons/CubeIcon.js +1 -1
  807. package/dist/icons/CubeIcon.js.map +1 -1
  808. package/dist/icons/CubePauseIcon.js +1 -1
  809. package/dist/icons/CubePauseIcon.js.map +1 -1
  810. package/dist/icons/CubePlayIcon.js +1 -1
  811. package/dist/icons/CubePlayIcon.js.map +1 -1
  812. package/dist/icons/CurrencyDollarIcon.js +1 -1
  813. package/dist/icons/CurrencyDollarIcon.js.map +1 -1
  814. package/dist/icons/DangerIcon.js +1 -1
  815. package/dist/icons/DangerIcon.js.map +1 -1
  816. package/dist/icons/DashboardIcon.js +1 -1
  817. package/dist/icons/DashboardIcon.js.map +1 -1
  818. package/dist/icons/DatabaseIcon.js +1 -1
  819. package/dist/icons/DatabaseIcon.js.map +1 -1
  820. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  821. package/dist/icons/DecimalDecreaseIcon.js.map +1 -1
  822. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  823. package/dist/icons/DecimalIncreaseIcon.js.map +1 -1
  824. package/dist/icons/DirectionIcon.js +67 -22
  825. package/dist/icons/DirectionIcon.js.map +1 -1
  826. package/dist/icons/DonutIcon.js +1 -1
  827. package/dist/icons/DonutIcon.js.map +1 -1
  828. package/dist/icons/DownIcon.js +1 -1
  829. package/dist/icons/DownIcon.js.map +1 -1
  830. package/dist/icons/EditIcon.js +1 -1
  831. package/dist/icons/EditIcon.js.map +1 -1
  832. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  833. package/dist/icons/ExclamationCircleFilledIcon.js.map +1 -1
  834. package/dist/icons/ExclamationCircleIcon.js +1 -1
  835. package/dist/icons/ExclamationCircleIcon.js.map +1 -1
  836. package/dist/icons/ExclamationIcon.js +1 -1
  837. package/dist/icons/ExclamationIcon.js.map +1 -1
  838. package/dist/icons/EyeIcon.js +1 -1
  839. package/dist/icons/EyeIcon.js.map +1 -1
  840. package/dist/icons/EyeInvisibleIcon.js +1 -1
  841. package/dist/icons/EyeInvisibleIcon.js.map +1 -1
  842. package/dist/icons/FilterIcon.js +1 -1
  843. package/dist/icons/FilterIcon.js.map +1 -1
  844. package/dist/icons/FolderFilledIcon.js +1 -1
  845. package/dist/icons/FolderFilledIcon.js.map +1 -1
  846. package/dist/icons/FolderIcon.js +1 -1
  847. package/dist/icons/FolderIcon.js.map +1 -1
  848. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  849. package/dist/icons/FolderOpenFilledIcon.js.map +1 -1
  850. package/dist/icons/FolderOpenIcon.js +1 -1
  851. package/dist/icons/FolderOpenIcon.js.map +1 -1
  852. package/dist/icons/ForwardIcon.js +1 -1
  853. package/dist/icons/ForwardIcon.js.map +1 -1
  854. package/dist/icons/GripVerticalIcon.js +1 -1
  855. package/dist/icons/GripVerticalIcon.js.map +1 -1
  856. package/dist/icons/HierarchyIcon.js +1 -1
  857. package/dist/icons/HierarchyIcon.js.map +1 -1
  858. package/dist/icons/HierarchyOpenIcon.js +1 -1
  859. package/dist/icons/HierarchyOpenIcon.js.map +1 -1
  860. package/dist/icons/Icon.js +60 -16
  861. package/dist/icons/Icon.js.map +1 -1
  862. package/dist/icons/InfoCircleIcon.js +1 -1
  863. package/dist/icons/InfoCircleIcon.js.map +1 -1
  864. package/dist/icons/InfoIcon.js +1 -1
  865. package/dist/icons/InfoIcon.js.map +1 -1
  866. package/dist/icons/KeyIcon.js +1 -1
  867. package/dist/icons/KeyIcon.js.map +1 -1
  868. package/dist/icons/LeftIcon.js +1 -1
  869. package/dist/icons/LeftIcon.js.map +1 -1
  870. package/dist/icons/LineChartIcon.js +1 -1
  871. package/dist/icons/LineChartIcon.js.map +1 -1
  872. package/dist/icons/LoadingIcon.js +1 -1
  873. package/dist/icons/LoadingIcon.js.map +1 -1
  874. package/dist/icons/LockFilledIcon.js +1 -1
  875. package/dist/icons/LockFilledIcon.js.map +1 -1
  876. package/dist/icons/LockIcon.js +1 -1
  877. package/dist/icons/LockIcon.js.map +1 -1
  878. package/dist/icons/MoreIcon.js +1 -1
  879. package/dist/icons/MoreIcon.js.map +1 -1
  880. package/dist/icons/NotAllowedIcon.js +1 -1
  881. package/dist/icons/NotAllowedIcon.js.map +1 -1
  882. package/dist/icons/Number123Icon.js +1 -1
  883. package/dist/icons/Number123Icon.js.map +1 -1
  884. package/dist/icons/NumberIcon.js +1 -1
  885. package/dist/icons/NumberIcon.js.map +1 -1
  886. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  887. package/dist/icons/PauseCircleFilledIcon.js.map +1 -1
  888. package/dist/icons/PauseCircleIcon.js +1 -1
  889. package/dist/icons/PauseCircleIcon.js.map +1 -1
  890. package/dist/icons/PauseIcon.js +1 -1
  891. package/dist/icons/PauseIcon.js.map +1 -1
  892. package/dist/icons/PercentageIcon.js +1 -1
  893. package/dist/icons/PercentageIcon.js.map +1 -1
  894. package/dist/icons/PieChartIcon.js +1 -1
  895. package/dist/icons/PieChartIcon.js.map +1 -1
  896. package/dist/icons/PipetteIcon.js +1 -1
  897. package/dist/icons/PipetteIcon.js.map +1 -1
  898. package/dist/icons/PlayCircleIcon.js +1 -1
  899. package/dist/icons/PlayCircleIcon.js.map +1 -1
  900. package/dist/icons/PlayIcon.js +1 -1
  901. package/dist/icons/PlayIcon.js.map +1 -1
  902. package/dist/icons/PlusIcon.js +1 -1
  903. package/dist/icons/PlusIcon.js.map +1 -1
  904. package/dist/icons/ProgressBarIcon.js +1 -1
  905. package/dist/icons/ProgressBarIcon.js.map +1 -1
  906. package/dist/icons/ReloadIcon.js +1 -1
  907. package/dist/icons/ReloadIcon.js.map +1 -1
  908. package/dist/icons/ReportIcon.js +1 -1
  909. package/dist/icons/ReportIcon.js.map +1 -1
  910. package/dist/icons/ReturnIcon.js +1 -1
  911. package/dist/icons/ReturnIcon.js.map +1 -1
  912. package/dist/icons/RightIcon.js +1 -1
  913. package/dist/icons/RightIcon.js.map +1 -1
  914. package/dist/icons/RowTotalsIcon.js +1 -1
  915. package/dist/icons/RowTotalsIcon.js.map +1 -1
  916. package/dist/icons/SchemeIcon.js +1 -1
  917. package/dist/icons/SchemeIcon.js.map +1 -1
  918. package/dist/icons/SearchIcon.js +1 -1
  919. package/dist/icons/SearchIcon.js.map +1 -1
  920. package/dist/icons/SemanticQueryIcon.js +1 -1
  921. package/dist/icons/SemanticQueryIcon.js.map +1 -1
  922. package/dist/icons/SettingsIcon.js +1 -1
  923. package/dist/icons/SettingsIcon.js.map +1 -1
  924. package/dist/icons/ShieldFilledIcon.js +1 -1
  925. package/dist/icons/ShieldFilledIcon.js.map +1 -1
  926. package/dist/icons/ShieldIcon.js +1 -1
  927. package/dist/icons/ShieldIcon.js.map +1 -1
  928. package/dist/icons/SlashIcon.js +1 -1
  929. package/dist/icons/SlashIcon.js.map +1 -1
  930. package/dist/icons/SparklesIcon.js +1 -1
  931. package/dist/icons/SparklesIcon.js.map +1 -1
  932. package/dist/icons/SqlIcon.js +1 -1
  933. package/dist/icons/SqlIcon.js.map +1 -1
  934. package/dist/icons/StatsIcon.js +1 -1
  935. package/dist/icons/StatsIcon.js.map +1 -1
  936. package/dist/icons/StopIcon.js +1 -1
  937. package/dist/icons/StopIcon.js.map +1 -1
  938. package/dist/icons/StringIcon.js +1 -1
  939. package/dist/icons/StringIcon.js.map +1 -1
  940. package/dist/icons/SubtotalsIcon.js +1 -1
  941. package/dist/icons/SubtotalsIcon.js.map +1 -1
  942. package/dist/icons/SwitchIcon.js +1 -1
  943. package/dist/icons/SwitchIcon.js.map +1 -1
  944. package/dist/icons/TableIcon.js +1 -1
  945. package/dist/icons/TableIcon.js.map +1 -1
  946. package/dist/icons/ThumbsDownIcon.js +1 -1
  947. package/dist/icons/ThumbsDownIcon.js.map +1 -1
  948. package/dist/icons/ThumbsUpIcon.js +1 -1
  949. package/dist/icons/ThumbsUpIcon.js.map +1 -1
  950. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  951. package/dist/icons/ThunderboltCrossedIcon.js.map +1 -1
  952. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  953. package/dist/icons/ThunderboltFilledIcon.js.map +1 -1
  954. package/dist/icons/ThunderboltIcon.js +1 -1
  955. package/dist/icons/ThunderboltIcon.js.map +1 -1
  956. package/dist/icons/TimeIcon.js +1 -1
  957. package/dist/icons/TimeIcon.js.map +1 -1
  958. package/dist/icons/TrashIcon.js +1 -1
  959. package/dist/icons/TrashIcon.js.map +1 -1
  960. package/dist/icons/UnlockIcon.js +1 -1
  961. package/dist/icons/UnlockIcon.js.map +1 -1
  962. package/dist/icons/UpIcon.js +1 -1
  963. package/dist/icons/UpIcon.js.map +1 -1
  964. package/dist/icons/UserGroupIcon.js +1 -1
  965. package/dist/icons/UserGroupIcon.js.map +1 -1
  966. package/dist/icons/UserIcon.js +1 -1
  967. package/dist/icons/UserIcon.js.map +1 -1
  968. package/dist/icons/UserLockIcon.js +1 -1
  969. package/dist/icons/UserLockIcon.js.map +1 -1
  970. package/dist/icons/ViewIcon.js +1 -1
  971. package/dist/icons/ViewIcon.js.map +1 -1
  972. package/dist/icons/WarningFilledIcon.js +1 -1
  973. package/dist/icons/WarningFilledIcon.js.map +1 -1
  974. package/dist/icons/WarningIcon.js +1 -1
  975. package/dist/icons/WarningIcon.js.map +1 -1
  976. package/dist/icons/wrap-icon.js +15 -7
  977. package/dist/icons/wrap-icon.js.map +1 -1
  978. package/dist/index.d.ts +22 -22
  979. package/dist/index.js +1 -1
  980. package/dist/index.js.map +1 -1
  981. package/dist/probe/canonicalize.js +2 -2
  982. package/dist/probe/canonicalize.js.map +1 -1
  983. package/dist/probe/css.js +1 -1
  984. package/dist/probe/css.js.map +1 -1
  985. package/dist/probe/index.js +1 -1
  986. package/dist/provider.js +17 -7
  987. package/dist/provider.js.map +1 -1
  988. package/dist/providers/TrackingProvider.js +33 -9
  989. package/dist/providers/TrackingProvider.js.map +1 -1
  990. package/dist/providers/navigationAdapter.default.js +1 -1
  991. package/dist/providers/navigationAdapter.default.js.map +1 -1
  992. package/dist/tokens/all-tokens.js +1 -1
  993. package/dist/tokens/all-tokens.js.map +1 -1
  994. package/dist/tokens/base.js +2 -2
  995. package/dist/tokens/base.js.map +1 -1
  996. package/dist/tokens/color-seed.js +1 -1
  997. package/dist/tokens/color-seed.js.map +1 -1
  998. package/dist/tokens/color-theme.js +18 -3
  999. package/dist/tokens/color-theme.js.map +1 -1
  1000. package/dist/tokens/colors.js +1 -1
  1001. package/dist/tokens/colors.js.map +1 -1
  1002. package/dist/tokens/layout.js +1 -1
  1003. package/dist/tokens/layout.js.map +1 -1
  1004. package/dist/tokens/lazy-styles.js +1 -1
  1005. package/dist/tokens/lazy-styles.js.map +1 -1
  1006. package/dist/tokens/legacy-color.js +1 -1
  1007. package/dist/tokens/legacy-color.js.map +1 -1
  1008. package/dist/tokens/palette-config.js +9 -2
  1009. package/dist/tokens/palette-config.js.map +1 -1
  1010. package/dist/tokens/palette.js +1 -1
  1011. package/dist/tokens/palette.js.map +1 -1
  1012. package/dist/tokens/resolve.js +85 -21
  1013. package/dist/tokens/resolve.js.map +1 -1
  1014. package/dist/tokens/shadows.js +1 -1
  1015. package/dist/tokens/shadows.js.map +1 -1
  1016. package/dist/tokens/sizes.js +1 -1
  1017. package/dist/tokens/sizes.js.map +1 -1
  1018. package/dist/tokens/spacing.js +1 -1
  1019. package/dist/tokens/spacing.js.map +1 -1
  1020. package/dist/tokens/typography.js +1 -1
  1021. package/dist/tokens/typography.js.map +1 -1
  1022. package/dist/utils/ResizeSensor.js +1 -1
  1023. package/dist/utils/ResizeSensor.js.map +1 -1
  1024. package/dist/utils/colors.js +1 -1
  1025. package/dist/utils/colors.js.map +1 -1
  1026. package/dist/utils/dotize.js +1 -1
  1027. package/dist/utils/dotize.js.map +1 -1
  1028. package/dist/utils/is-dev-env.js +1 -1
  1029. package/dist/utils/is-dev-env.js.map +1 -1
  1030. package/dist/utils/modules.js +1 -1
  1031. package/dist/utils/modules.js.map +1 -1
  1032. package/dist/utils/promise.js +1 -1
  1033. package/dist/utils/promise.js.map +1 -1
  1034. package/dist/utils/raf.js +1 -1
  1035. package/dist/utils/raf.js.map +1 -1
  1036. package/dist/utils/random.js +1 -1
  1037. package/dist/utils/random.js.map +1 -1
  1038. package/dist/utils/range.js +1 -1
  1039. package/dist/utils/range.js.map +1 -1
  1040. package/dist/utils/react/RenderCache.js +2 -2
  1041. package/dist/utils/react/RenderCache.js.map +1 -1
  1042. package/dist/utils/react/Slots.js +67 -24
  1043. package/dist/utils/react/Slots.js.map +1 -1
  1044. package/dist/utils/react/chain.js +1 -1
  1045. package/dist/utils/react/chain.js.map +1 -1
  1046. package/dist/utils/react/disabledProps.js +1 -1
  1047. package/dist/utils/react/disabledProps.js.map +1 -1
  1048. package/dist/utils/react/escapePropagation.js +1 -1
  1049. package/dist/utils/react/escapePropagation.js.map +1 -1
  1050. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  1051. package/dist/utils/react/forwardRefWithGenerics.js.map +1 -1
  1052. package/dist/utils/react/index.js +1 -1
  1053. package/dist/utils/react/interactions.js +35 -12
  1054. package/dist/utils/react/interactions.js.map +1 -1
  1055. package/dist/utils/react/isTextOnly.js +1 -1
  1056. package/dist/utils/react/isTextOnly.js.map +1 -1
  1057. package/dist/utils/react/mapProps.js +1 -1
  1058. package/dist/utils/react/mapProps.js.map +1 -1
  1059. package/dist/utils/react/mergeProps.js +1 -1
  1060. package/dist/utils/react/mergeProps.js.map +1 -1
  1061. package/dist/utils/react/nullableValue.js +1 -1
  1062. package/dist/utils/react/nullableValue.js.map +1 -1
  1063. package/dist/utils/react/programmaticFocus.js +1 -1
  1064. package/dist/utils/react/programmaticFocus.js.map +1 -1
  1065. package/dist/utils/react/resolveIcon.js +1 -1
  1066. package/dist/utils/react/resolveIcon.js.map +1 -1
  1067. package/dist/utils/react/sharedStore.js +13 -2
  1068. package/dist/utils/react/sharedStore.js.map +1 -1
  1069. package/dist/utils/react/useBufferedValue.js +5 -5
  1070. package/dist/utils/react/useBufferedValue.js.map +1 -1
  1071. package/dist/utils/react/useCombinedRefs.js +20 -5
  1072. package/dist/utils/react/useCombinedRefs.js.map +1 -1
  1073. package/dist/utils/react/useControlledFocusVisible.js +53 -17
  1074. package/dist/utils/react/useControlledFocusVisible.js.map +1 -1
  1075. package/dist/utils/react/useEventBus.js +43 -18
  1076. package/dist/utils/react/useEventBus.js.map +1 -1
  1077. package/dist/utils/react/useId.js +2 -1
  1078. package/dist/utils/react/useId.js.map +1 -1
  1079. package/dist/utils/react/useIsDarwin.js +29 -16
  1080. package/dist/utils/react/useIsDarwin.js.map +1 -1
  1081. package/dist/utils/react/useKeySymbols.js +23 -9
  1082. package/dist/utils/react/useKeySymbols.js.map +1 -1
  1083. package/dist/utils/react/useLayoutEffect.js +1 -1
  1084. package/dist/utils/react/useLayoutEffect.js.map +1 -1
  1085. package/dist/utils/react/useLocalStorage.js +75 -30
  1086. package/dist/utils/react/useLocalStorage.js.map +1 -1
  1087. package/dist/utils/react/useMergeStyles.js +1 -1
  1088. package/dist/utils/react/useMergeStyles.js.map +1 -1
  1089. package/dist/utils/react/useOverlayEscapeGuard.js +25 -9
  1090. package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
  1091. package/dist/utils/react/usePopoverSync.js +175 -73
  1092. package/dist/utils/react/usePopoverSync.js.map +1 -1
  1093. package/dist/utils/react/useQaProps.js +1 -1
  1094. package/dist/utils/react/useQaProps.js.map +1 -1
  1095. package/dist/utils/react/useScheme.js +1 -1
  1096. package/dist/utils/react/useScheme.js.map +1 -1
  1097. package/dist/utils/react/useViewportSize.js +43 -19
  1098. package/dist/utils/react/useViewportSize.js.map +1 -1
  1099. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  1100. package/dist/utils/react/wrapNodeIfPlain.js.map +1 -1
  1101. package/dist/utils/selection.js +1 -1
  1102. package/dist/utils/selection.js.map +1 -1
  1103. package/dist/utils/styles.js +1 -1
  1104. package/dist/utils/styles.js.map +1 -1
  1105. package/dist/utils/tree.js +1 -1
  1106. package/dist/utils/tree.js.map +1 -1
  1107. package/dist/utils/warnings.js +1 -1
  1108. package/dist/utils/warnings.js.map +1 -1
  1109. package/dist/version.js +2 -2
  1110. package/dist/version.js.map +1 -1
  1111. package/docs/Usage.md +9 -1
  1112. package/docs/components/actions/Button.md +1 -1
  1113. package/docs/components/content/InlineInput.md +1 -1
  1114. package/docs/components/content/Item.md +19 -0
  1115. package/docs/components/fields/ColorInput.md +13 -8
  1116. package/docs/components/fields/ColorPicker.md +13 -8
  1117. package/docs/components/fields/ComboBox.md +16 -12
  1118. package/docs/components/fields/CommandTextArea.md +3 -1
  1119. package/docs/components/fields/FilterListBox.md +24 -19
  1120. package/docs/components/fields/FilterPicker.md +25 -19
  1121. package/docs/components/fields/ListBox.md +36 -26
  1122. package/docs/components/fields/Picker.md +28 -21
  1123. package/docs/components/fields/Select.md +17 -12
  1124. package/docs/components/form/Field.md +2 -2
  1125. package/docs/components/form/Form.md +60 -579
  1126. package/docs/components/form/ModernForm.md +22 -1
  1127. package/docs/components/overlays/Dialog.md +26 -0
  1128. package/docs/components/overlays/DialogForm.md +121 -263
  1129. package/docs/components/overlays/DialogTrigger.md +1 -1
  1130. package/docs/components/overlays/UseDialogContainer.md +11 -13
  1131. package/docs/modern-form-guide.md +22 -1
  1132. package/docs/modern-form-migration.md +1 -1
  1133. package/package.json +7 -2
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useCallback, useEffect, useMemo, useRef } from "react";
4
4
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -57,16 +57,16 @@ function DraggableCollection({ state, listRef, orderedKeys, orientation, onReord
57
57
  });
58
58
  const getItems = useCallback((keys) => {
59
59
  dragKeysRef.current = [...keys];
60
- return [...keys].map((key) => {
61
- const item = state.collection.getItem(key);
62
- return { "text/plain": item?.textValue || String(key) };
60
+ return [...keys].map((key_0) => {
61
+ const item = state.collection.getItem(key_0);
62
+ return { "text/plain": item?.textValue || String(key_0) };
63
63
  });
64
64
  }, [state.collection]);
65
- const dragSelectionManager = useMemo(() => new Proxy(state.selectionManager, { get(target, prop) {
65
+ const dragSelectionManager = useMemo(() => new Proxy(state.selectionManager, { get(target_0, prop) {
66
66
  if (prop === "selectedKeys") return /* @__PURE__ */ new Set();
67
67
  if (prop === "isSelected") return () => false;
68
- const value = Reflect.get(target, prop);
69
- return typeof value === "function" ? value.bind(target) : value;
68
+ const value = Reflect.get(target_0, prop);
69
+ return typeof value === "function" ? value.bind(target_0) : value;
70
70
  } }), [state.selectionManager]);
71
71
  const previewRef = useRef(null);
72
72
  const dragState = useDraggableCollectionState({
@@ -80,10 +80,10 @@ function DraggableCollection({ state, listRef, orderedKeys, orientation, onReord
80
80
  getItems,
81
81
  getAllowedDropOperations
82
82
  }, dragState, listRef);
83
- const handleItemDrop = useEvent((e) => {
83
+ const handleItemDrop = useEvent((e_0) => {
84
84
  if (!onItemDrop) return;
85
- const keys = [...e.dropOperation === "cancel" ? [] : dragKeysRef.current];
86
- onItemDrop(e.target.key, keys);
85
+ const keys_0 = [...e_0.dropOperation === "cancel" ? [] : dragKeysRef.current];
86
+ onItemDrop(e_0.target.key, keys_0);
87
87
  });
88
88
  const dragKeysRef = useRef([]);
89
89
  const dropState = useDroppableCollectionState({
@@ -91,7 +91,7 @@ function DraggableCollection({ state, listRef, orderedKeys, orientation, onReord
91
91
  selectionManager: state.selectionManager,
92
92
  onReorder: onReorder ? handleReorder : void 0,
93
93
  onItemDrop: onItemDrop ? handleItemDrop : void 0,
94
- shouldAcceptItemDrop: shouldAcceptItemDrop ? (target) => shouldAcceptItemDrop(target.key) : void 0
94
+ shouldAcceptItemDrop: shouldAcceptItemDrop ? (target_1) => shouldAcceptItemDrop(target_1.key) : void 0
95
95
  });
96
96
  const { collectionProps } = useDroppableCollection({
97
97
  keyboardDelegate: useMemo(() => new ListKeyboardDelegate({
@@ -118,8 +118,8 @@ function DraggableCollection({ state, listRef, orderedKeys, orientation, onReord
118
118
  endDragRef.current = dragState.endDrag;
119
119
  useEffect(() => {
120
120
  if (!isDragActive) return;
121
- const handleEscape = (e) => {
122
- if (e.key === "Escape") endDragRef.current({
121
+ const handleEscape = (e_1) => {
122
+ if (e_1.key === "Escape") endDragRef.current({
123
123
  type: "cancel",
124
124
  x: 0,
125
125
  y: 0,
@@ -130,10 +130,10 @@ function DraggableCollection({ state, listRef, orderedKeys, orientation, onReord
130
130
  document.addEventListener("keydown", handleEscape, true);
131
131
  return () => document.removeEventListener("keydown", handleEscape, true);
132
132
  }, [isDragActive]);
133
- return /* @__PURE__ */ jsxs(Fragment$1, { children: [children(dragState, dropState, mergeProps(collectionProps, { onKeyDownCapture: useEvent((e) => {
134
- if (!e.altKey || !onReorder) return;
135
- const target = e.target;
136
- if (target instanceof HTMLInputElement || target instanceof HTMLTextAreaElement || target.isContentEditable) return;
133
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [children(dragState, dropState, mergeProps(collectionProps, { onKeyDownCapture: useEvent((e_2) => {
134
+ if (!e_2.altKey || !onReorder) return;
135
+ const target_2 = e_2.target;
136
+ if (target_2 instanceof HTMLInputElement || target_2 instanceof HTMLTextAreaElement || target_2.isContentEditable) return;
137
137
  const moveKeys = orientation === "vertical" ? {
138
138
  backward: "ArrowUp",
139
139
  forward: "ArrowDown"
@@ -141,18 +141,18 @@ function DraggableCollection({ state, listRef, orderedKeys, orientation, onReord
141
141
  backward: "ArrowLeft",
142
142
  forward: "ArrowRight"
143
143
  };
144
- const direction = e.key === moveKeys.backward ? -1 : e.key === moveKeys.forward ? 1 : 0;
144
+ const direction = e_2.key === moveKeys.backward ? -1 : e_2.key === moveKeys.forward ? 1 : 0;
145
145
  if (direction === 0) return;
146
- e.preventDefault();
147
- e.stopPropagation();
146
+ e_2.preventDefault();
147
+ e_2.stopPropagation();
148
148
  const focusedKey = String(state.selectionManager.focusedKey);
149
149
  const idx = orderedKeys.indexOf(focusedKey);
150
150
  if (idx === -1) return;
151
151
  const targetIdx = idx + direction;
152
152
  if (targetIdx < 0 || targetIdx >= orderedKeys.length) return;
153
- const newKeys = [...orderedKeys];
154
- [newKeys[idx], newKeys[targetIdx]] = [newKeys[targetIdx], newKeys[idx]];
155
- onReorder(newKeys);
153
+ const newKeys_0 = [...orderedKeys];
154
+ [newKeys_0[idx], newKeys_0[targetIdx]] = [newKeys_0[targetIdx], newKeys_0[idx]];
155
+ onReorder(newKeys_0);
156
156
  }) })), renderPreview ? /* @__PURE__ */ jsx(DragPreview, {
157
157
  ref: previewRef,
158
158
  children: () => renderPreview(dragKeysRef.current)
@@ -1 +1 @@
1
- {"version":3,"file":"DraggableCollection.js","names":[],"sources":["../../../src/components/shared/DraggableCollection.tsx"],"sourcesContent":["import {\n KeyboardEvent,\n ReactNode,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport {\n DragItem,\n DragPreview,\n DragPreviewRenderer,\n DroppableCollectionReorderEvent,\n ListDropTargetDelegate,\n ListKeyboardDelegate,\n mergeProps,\n useDraggableCollection,\n useDroppableCollection,\n} from 'react-aria';\nimport {\n DraggableCollectionState,\n DroppableCollectionState,\n useDraggableCollectionState,\n useDroppableCollectionState,\n} from 'react-stately';\n\nimport { useEvent } from '../../_internal/hooks';\n\nimport type { Collection, DropOperation, Key, Node } from '@react-types/shared';\n\nconst getAllowedDropOperations = (): DropOperation[] => ['move'];\n\n/**\n * Creates a no-op mock of DraggableCollectionState.\n * Used to satisfy useDraggableItem when drag is disabled (Rules of Hooks).\n */\nexport function createMockDragState(\n collection: Collection<Node<any>>,\n selectionManager: Record<string, any>,\n): DraggableCollectionState {\n return {\n collection,\n selectionManager,\n isDragging: () => false,\n getKeysForDrag: () => new Set<Key>(),\n draggedKey: null,\n draggingKeys: new Set<Key>(),\n getAllowedDropOperations: () => [],\n preview: null,\n isDisabled: false,\n startDrag: () => {},\n endDrag: () => {},\n } as DraggableCollectionState;\n}\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface DraggableCollectionProps {\n state: {\n collection: Collection<Node<any>>;\n selectionManager: { selectedKeys: Set<Key> } & Record<string, any>;\n disabledKeys: Set<Key>;\n };\n listRef: RefObject<HTMLElement | null>;\n orderedKeys: string[];\n orientation: 'horizontal' | 'vertical';\n onReorder?: (newOrder: string[]) => void;\n /**\n * Dropping *onto* an item rather than between items — a row that is a folder,\n * a tab that is a group. Mutually exclusive with reordering in practice: a\n * collection that accepts item drops usually has a meaningful order already.\n */\n onItemDrop?: (targetKey: Key, draggedKeys: Key[]) => void;\n /** Which items may receive a drop. Without it, none may. */\n shouldAcceptItemDrop?: (targetKey: Key) => boolean;\n /**\n * The image dragged under the cursor. Receives the keys being dragged rather\n * than React Aria's serialized `DragItem`s, because a caller that wants to\n * render an icon needs the record, not its `text/plain` form.\n *\n * Without one the browser drags a screenshot of the source element, which for\n * a full-width table row is a page-wide slab.\n */\n renderPreview?: (keys: Key[]) => ReactNode;\n /** Render function receiving drag/drop states and merged collection+keyboard props */\n children: (\n dragState: DraggableCollectionState,\n dropState: DroppableCollectionState,\n collectionProps: Record<string, unknown>,\n ) => ReactNode;\n}\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * Generic wrapper that enables drag-and-drop reordering for a collection.\n *\n * Used by both DraggableTabList (horizontal) and DraggableListBox (vertical).\n * Encapsulates all drag/drop hook calls so they are only invoked when\n * reordering is actually enabled.\n */\nexport function DraggableCollection({\n state,\n listRef,\n orderedKeys,\n orientation,\n onReorder,\n onItemDrop,\n shouldAcceptItemDrop,\n renderPreview,\n children,\n}: DraggableCollectionProps) {\n const handleReorder = useEvent((e: DroppableCollectionReorderEvent) => {\n if (!onReorder) return;\n\n const { target, keys: movableKeys } = e;\n const { dropPosition, key: targetKey } = target;\n const movableKey = [...movableKeys][0] as string;\n\n const movableIndex = orderedKeys.indexOf(movableKey);\n const targetIndex = orderedKeys.indexOf(String(targetKey));\n\n if (movableIndex === -1 || targetIndex === -1) return;\n\n const newKeys =\n movableIndex !== targetIndex\n ? orderedKeys.reduce((arr, key, i) => {\n if (i === movableIndex) {\n return arr;\n }\n\n if (i === targetIndex) {\n if (dropPosition === 'before') {\n arr.push(movableKey);\n arr.push(key);\n } else {\n arr.push(key);\n arr.push(movableKey);\n }\n } else {\n arr.push(key);\n }\n\n return arr;\n }, [] as string[])\n : orderedKeys;\n\n onReorder(newKeys);\n });\n\n const getItems = useCallback(\n (keys: Set<Key>): DragItem[] => {\n dragKeysRef.current = [...keys];\n\n return [...keys].map((key) => {\n const item = state.collection.getItem(key);\n return {\n 'text/plain': item?.textValue || String(key),\n };\n });\n },\n [state.collection],\n );\n\n // Proxy selectionManager to hide selection from react-aria's drag logic.\n // Without this, react-aria drags ALL selected items when any selected item\n // is grabbed (hardcoded in useDraggableCollectionState → internal getKeys).\n // The proxy intercepts `selectedKeys` and `isSelected` so every item looks\n // unselected for drag, while all other methods (isDisabled, setFocusedKey, …)\n // delegate to the real manager. `bind(target)` preserves `this` for methods\n // that live on the prototype chain.\n const dragSelectionManager = useMemo(\n () =>\n new Proxy(state.selectionManager, {\n get(target, prop) {\n if (prop === 'selectedKeys') return new Set<Key>();\n if (prop === 'isSelected') return () => false;\n const value = Reflect.get(target, prop);\n return typeof value === 'function' ? value.bind(target) : value;\n },\n }),\n [state.selectionManager],\n );\n\n const previewRef = useRef<DragPreviewRenderer>(null);\n\n const dragState = useDraggableCollectionState({\n collection: state.collection,\n selectionManager: dragSelectionManager,\n getItems,\n getAllowedDropOperations,\n preview: renderPreview ? previewRef : undefined,\n });\n\n useDraggableCollection(\n {\n getItems,\n getAllowedDropOperations,\n },\n dragState,\n listRef,\n );\n\n const handleItemDrop = useEvent((e: any) => {\n if (!onItemDrop) return;\n\n const keys = [...(e.dropOperation === 'cancel' ? [] : dragKeysRef.current)];\n\n onItemDrop(e.target.key, keys);\n });\n\n // The keys being dragged, captured at drag start: by the time the drop lands\n // React Aria has already cleared them from the drag state.\n const dragKeysRef = useRef<Key[]>([]);\n\n const dropState = useDroppableCollectionState({\n collection: state.collection,\n selectionManager: state.selectionManager,\n onReorder: onReorder ? handleReorder : undefined,\n onItemDrop: onItemDrop ? handleItemDrop : undefined,\n // `'on'` is only offered for items that accept it; everything else falls\n // back to reordering, or to nothing.\n shouldAcceptItemDrop: shouldAcceptItemDrop\n ? (target: any) => shouldAcceptItemDrop(target.key)\n : undefined,\n });\n\n const keyboardDelegate = useMemo(\n () =>\n new ListKeyboardDelegate({\n collection: state.collection,\n disabledKeys: state.disabledKeys,\n ref: listRef,\n orientation,\n }),\n [state.collection, state.disabledKeys, listRef, orientation],\n );\n\n const dropTargetDelegate = useMemo(\n () =>\n new ListDropTargetDelegate(state.collection, listRef, {\n orientation,\n }),\n [state.collection, listRef, orientation],\n );\n\n const { collectionProps } = useDroppableCollection(\n {\n keyboardDelegate,\n dropTargetDelegate,\n onReorder: onReorder ? handleReorder : undefined,\n onItemDrop: onItemDrop ? handleItemDrop : undefined,\n },\n dropState,\n listRef,\n );\n\n // Force-cancel drag on Escape. Native HTML5 drag cancels visually, but some\n // browsers (Safari) don't fire `dragend` synchronously, leaving react-aria's\n // `isDragging` stale until a second keypress.\n const isDragActive = dragState.draggingKeys.size > 0;\n const endDragRef = useRef(dragState.endDrag);\n endDragRef.current = dragState.endDrag;\n\n useEffect(() => {\n if (!isDragActive) return;\n\n const handleEscape = (e: globalThis.KeyboardEvent) => {\n if (e.key === 'Escape') {\n endDragRef.current({\n type: 'cancel',\n x: 0,\n y: 0,\n dropOperation: 'cancel',\n isInternal: false,\n });\n }\n };\n\n document.addEventListener('keydown', handleEscape, true);\n\n return () => document.removeEventListener('keydown', handleEscape, true);\n }, [isDragActive]);\n\n // Alt+Arrow keyboard shortcut for reordering.\n // Uses capture phase so we read focusedKey BEFORE react-aria moves focus.\n // Skip when the event originates from a text input — Alt+Arrow is\n // word-by-word cursor navigation on macOS.\n const handleKeyDownCapture = useEvent((e: KeyboardEvent) => {\n if (!e.altKey || !onReorder) return;\n\n const target = e.target as HTMLElement;\n\n if (\n target instanceof HTMLInputElement ||\n target instanceof HTMLTextAreaElement ||\n target.isContentEditable\n ) {\n return;\n }\n\n const moveKeys =\n orientation === 'vertical'\n ? { backward: 'ArrowUp', forward: 'ArrowDown' }\n : { backward: 'ArrowLeft', forward: 'ArrowRight' };\n\n const direction =\n e.key === moveKeys.backward ? -1 : e.key === moveKeys.forward ? 1 : 0;\n\n if (direction === 0) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n const focusedKey = String(state.selectionManager.focusedKey);\n const idx = orderedKeys.indexOf(focusedKey);\n\n if (idx === -1) return;\n\n const targetIdx = idx + direction;\n\n if (targetIdx < 0 || targetIdx >= orderedKeys.length) return;\n\n const newKeys = [...orderedKeys];\n [newKeys[idx], newKeys[targetIdx]] = [newKeys[targetIdx], newKeys[idx]];\n onReorder(newKeys);\n });\n\n return (\n <>\n {children(\n dragState,\n dropState,\n mergeProps(collectionProps, { onKeyDownCapture: handleKeyDownCapture }),\n )}\n {renderPreview ? (\n // Rendered off-screen by React Aria and snapshotted at drag start. The\n // keys come from the ref rather than the `DragItem`s the render\n // function is handed, which only carry `text/plain`.\n <DragPreview ref={previewRef}>\n {() => renderPreview(dragKeysRef.current)}\n </DragPreview>\n ) : null}\n </>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DraggableCollection.js","names":["KeyboardEvent","ReactNode","RefObject","useCallback","useEffect","useMemo","useRef","DragItem","DragPreview","DragPreviewRenderer","DroppableCollectionReorderEvent","ListDropTargetDelegate","ListKeyboardDelegate","mergeProps","useDraggableCollection","useDroppableCollection","DraggableCollectionState","DroppableCollectionState","useDraggableCollectionState","useDroppableCollectionState","useEvent","Collection","DropOperation","Key","Node","getAllowedDropOperations","createMockDragState","collection","selectionManager","Record","isDragging","getKeysForDrag","Set","draggedKey","draggingKeys","preview","isDisabled","startDrag","endDrag","DraggableCollectionProps","state","selectedKeys","disabledKeys","listRef","HTMLElement","orderedKeys","orientation","onReorder","newOrder","onItemDrop","targetKey","draggedKeys","shouldAcceptItemDrop","renderPreview","keys","children","dragState","dropState","collectionProps","DraggableCollection","handleReorder","e","target","movableKeys","dropPosition","key","movableKey","movableIndex","indexOf","targetIndex","String","newKeys","reduce","arr","i","push","getItems","dragKeysRef","current","map","item","getItem","textValue","dragSelectionManager","Proxy","get","prop","value","Reflect","bind","previewRef","undefined","handleItemDrop","dropOperation","keyboardDelegate","ref","dropTargetDelegate","isDragActive","size","endDragRef","handleEscape","globalThis","type","x","y","isInternal","document","addEventListener","removeEventListener","handleKeyDownCapture","altKey","HTMLInputElement","HTMLTextAreaElement","isContentEditable","moveKeys","backward","forward","direction","preventDefault","stopPropagation","focusedKey","idx","targetIdx","length","onKeyDownCapture"],"sources":["../../../src/components/shared/DraggableCollection.tsx"],"sourcesContent":["import {\n KeyboardEvent,\n ReactNode,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport {\n DragItem,\n DragPreview,\n DragPreviewRenderer,\n DroppableCollectionReorderEvent,\n ListDropTargetDelegate,\n ListKeyboardDelegate,\n mergeProps,\n useDraggableCollection,\n useDroppableCollection,\n} from 'react-aria';\nimport {\n DraggableCollectionState,\n DroppableCollectionState,\n useDraggableCollectionState,\n useDroppableCollectionState,\n} from 'react-stately';\n\nimport { useEvent } from '../../_internal/hooks';\n\nimport type { Collection, DropOperation, Key, Node } from '@react-types/shared';\n\nconst getAllowedDropOperations = (): DropOperation[] => ['move'];\n\n/**\n * Creates a no-op mock of DraggableCollectionState.\n * Used to satisfy useDraggableItem when drag is disabled (Rules of Hooks).\n */\nexport function createMockDragState(\n collection: Collection<Node<any>>,\n selectionManager: Record<string, any>,\n): DraggableCollectionState {\n return {\n collection,\n selectionManager,\n isDragging: () => false,\n getKeysForDrag: () => new Set<Key>(),\n draggedKey: null,\n draggingKeys: new Set<Key>(),\n getAllowedDropOperations: () => [],\n preview: null,\n isDisabled: false,\n startDrag: () => {},\n endDrag: () => {},\n } as DraggableCollectionState;\n}\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface DraggableCollectionProps {\n state: {\n collection: Collection<Node<any>>;\n selectionManager: { selectedKeys: Set<Key> } & Record<string, any>;\n disabledKeys: Set<Key>;\n };\n listRef: RefObject<HTMLElement | null>;\n orderedKeys: string[];\n orientation: 'horizontal' | 'vertical';\n onReorder?: (newOrder: string[]) => void;\n /**\n * Dropping *onto* an item rather than between items — a row that is a folder,\n * a tab that is a group. Mutually exclusive with reordering in practice: a\n * collection that accepts item drops usually has a meaningful order already.\n */\n onItemDrop?: (targetKey: Key, draggedKeys: Key[]) => void;\n /** Which items may receive a drop. Without it, none may. */\n shouldAcceptItemDrop?: (targetKey: Key) => boolean;\n /**\n * The image dragged under the cursor. Receives the keys being dragged rather\n * than React Aria's serialized `DragItem`s, because a caller that wants to\n * render an icon needs the record, not its `text/plain` form.\n *\n * Without one the browser drags a screenshot of the source element, which for\n * a full-width table row is a page-wide slab.\n */\n renderPreview?: (keys: Key[]) => ReactNode;\n /** Render function receiving drag/drop states and merged collection+keyboard props */\n children: (\n dragState: DraggableCollectionState,\n dropState: DroppableCollectionState,\n collectionProps: Record<string, unknown>,\n ) => ReactNode;\n}\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * Generic wrapper that enables drag-and-drop reordering for a collection.\n *\n * Used by both DraggableTabList (horizontal) and DraggableListBox (vertical).\n * Encapsulates all drag/drop hook calls so they are only invoked when\n * reordering is actually enabled.\n */\nexport function DraggableCollection({\n state,\n listRef,\n orderedKeys,\n orientation,\n onReorder,\n onItemDrop,\n shouldAcceptItemDrop,\n renderPreview,\n children,\n}: DraggableCollectionProps) {\n const handleReorder = useEvent((e: DroppableCollectionReorderEvent) => {\n if (!onReorder) return;\n\n const { target, keys: movableKeys } = e;\n const { dropPosition, key: targetKey } = target;\n const movableKey = [...movableKeys][0] as string;\n\n const movableIndex = orderedKeys.indexOf(movableKey);\n const targetIndex = orderedKeys.indexOf(String(targetKey));\n\n if (movableIndex === -1 || targetIndex === -1) return;\n\n const newKeys =\n movableIndex !== targetIndex\n ? orderedKeys.reduce((arr, key, i) => {\n if (i === movableIndex) {\n return arr;\n }\n\n if (i === targetIndex) {\n if (dropPosition === 'before') {\n arr.push(movableKey);\n arr.push(key);\n } else {\n arr.push(key);\n arr.push(movableKey);\n }\n } else {\n arr.push(key);\n }\n\n return arr;\n }, [] as string[])\n : orderedKeys;\n\n onReorder(newKeys);\n });\n\n const getItems = useCallback(\n (keys: Set<Key>): DragItem[] => {\n dragKeysRef.current = [...keys];\n\n return [...keys].map((key) => {\n const item = state.collection.getItem(key);\n return {\n 'text/plain': item?.textValue || String(key),\n };\n });\n },\n [state.collection],\n );\n\n // Proxy selectionManager to hide selection from react-aria's drag logic.\n // Without this, react-aria drags ALL selected items when any selected item\n // is grabbed (hardcoded in useDraggableCollectionState → internal getKeys).\n // The proxy intercepts `selectedKeys` and `isSelected` so every item looks\n // unselected for drag, while all other methods (isDisabled, setFocusedKey, …)\n // delegate to the real manager. `bind(target)` preserves `this` for methods\n // that live on the prototype chain.\n const dragSelectionManager = useMemo(\n () =>\n new Proxy(state.selectionManager, {\n get(target, prop) {\n if (prop === 'selectedKeys') return new Set<Key>();\n if (prop === 'isSelected') return () => false;\n const value = Reflect.get(target, prop);\n return typeof value === 'function' ? value.bind(target) : value;\n },\n }),\n [state.selectionManager],\n );\n\n const previewRef = useRef<DragPreviewRenderer>(null);\n\n const dragState = useDraggableCollectionState({\n collection: state.collection,\n selectionManager: dragSelectionManager,\n getItems,\n getAllowedDropOperations,\n preview: renderPreview ? previewRef : undefined,\n });\n\n useDraggableCollection(\n {\n getItems,\n getAllowedDropOperations,\n },\n dragState,\n listRef,\n );\n\n const handleItemDrop = useEvent((e: any) => {\n if (!onItemDrop) return;\n\n const keys = [...(e.dropOperation === 'cancel' ? [] : dragKeysRef.current)];\n\n onItemDrop(e.target.key, keys);\n });\n\n // The keys being dragged, captured at drag start: by the time the drop lands\n // React Aria has already cleared them from the drag state.\n const dragKeysRef = useRef<Key[]>([]);\n\n const dropState = useDroppableCollectionState({\n collection: state.collection,\n selectionManager: state.selectionManager,\n onReorder: onReorder ? handleReorder : undefined,\n onItemDrop: onItemDrop ? handleItemDrop : undefined,\n // `'on'` is only offered for items that accept it; everything else falls\n // back to reordering, or to nothing.\n shouldAcceptItemDrop: shouldAcceptItemDrop\n ? (target: any) => shouldAcceptItemDrop(target.key)\n : undefined,\n });\n\n const keyboardDelegate = useMemo(\n () =>\n new ListKeyboardDelegate({\n collection: state.collection,\n disabledKeys: state.disabledKeys,\n ref: listRef,\n orientation,\n }),\n [state.collection, state.disabledKeys, listRef, orientation],\n );\n\n const dropTargetDelegate = useMemo(\n () =>\n new ListDropTargetDelegate(state.collection, listRef, {\n orientation,\n }),\n [state.collection, listRef, orientation],\n );\n\n const { collectionProps } = useDroppableCollection(\n {\n keyboardDelegate,\n dropTargetDelegate,\n onReorder: onReorder ? handleReorder : undefined,\n onItemDrop: onItemDrop ? handleItemDrop : undefined,\n },\n dropState,\n listRef,\n );\n\n // Force-cancel drag on Escape. Native HTML5 drag cancels visually, but some\n // browsers (Safari) don't fire `dragend` synchronously, leaving react-aria's\n // `isDragging` stale until a second keypress.\n const isDragActive = dragState.draggingKeys.size > 0;\n const endDragRef = useRef(dragState.endDrag);\n endDragRef.current = dragState.endDrag;\n\n useEffect(() => {\n if (!isDragActive) return;\n\n const handleEscape = (e: globalThis.KeyboardEvent) => {\n if (e.key === 'Escape') {\n endDragRef.current({\n type: 'cancel',\n x: 0,\n y: 0,\n dropOperation: 'cancel',\n isInternal: false,\n });\n }\n };\n\n document.addEventListener('keydown', handleEscape, true);\n\n return () => document.removeEventListener('keydown', handleEscape, true);\n }, [isDragActive]);\n\n // Alt+Arrow keyboard shortcut for reordering.\n // Uses capture phase so we read focusedKey BEFORE react-aria moves focus.\n // Skip when the event originates from a text input — Alt+Arrow is\n // word-by-word cursor navigation on macOS.\n const handleKeyDownCapture = useEvent((e: KeyboardEvent) => {\n if (!e.altKey || !onReorder) return;\n\n const target = e.target as HTMLElement;\n\n if (\n target instanceof HTMLInputElement ||\n target instanceof HTMLTextAreaElement ||\n target.isContentEditable\n ) {\n return;\n }\n\n const moveKeys =\n orientation === 'vertical'\n ? { backward: 'ArrowUp', forward: 'ArrowDown' }\n : { backward: 'ArrowLeft', forward: 'ArrowRight' };\n\n const direction =\n e.key === moveKeys.backward ? -1 : e.key === moveKeys.forward ? 1 : 0;\n\n if (direction === 0) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n const focusedKey = String(state.selectionManager.focusedKey);\n const idx = orderedKeys.indexOf(focusedKey);\n\n if (idx === -1) return;\n\n const targetIdx = idx + direction;\n\n if (targetIdx < 0 || targetIdx >= orderedKeys.length) return;\n\n const newKeys = [...orderedKeys];\n [newKeys[idx], newKeys[targetIdx]] = [newKeys[targetIdx], newKeys[idx]];\n onReorder(newKeys);\n });\n\n return (\n <>\n {children(\n dragState,\n dropState,\n mergeProps(collectionProps, { onKeyDownCapture: handleKeyDownCapture }),\n )}\n {renderPreview ? (\n // Rendered off-screen by React Aria and snapshotted at drag start. The\n // keys come from the ref rather than the `DragItem`s the render\n // function is handed, which only carry `text/plain`.\n <DragPreview ref={previewRef}>\n {() => renderPreview(dragKeysRef.current)}\n </DragPreview>\n ) : null}\n </>\n );\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
2
2
  import { WarningIcon } from "../../icons/WarningIcon.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
@@ -1 +1 @@
1
- {"version":3,"file":"InvalidIcon.js","names":[],"sources":["../../../src/components/shared/InvalidIcon.tsx"],"sourcesContent":["import { WarningIcon } from '../../icons/WarningIcon';\n\nexport const InvalidIcon = (\n <WarningIcon data-element=\"ValidationIcon\" color=\"#danger\" />\n);\n"],"mappings":";;;;;AAEA,MAAa,cACX,oBAAC;CAAY,gBAAa;CAAiB,OAAM;EAAY"}
1
+ {"version":3,"file":"InvalidIcon.js","names":["WarningIcon","InvalidIcon"],"sources":["../../../src/components/shared/InvalidIcon.tsx"],"sourcesContent":["import { WarningIcon } from '../../icons/WarningIcon';\n\nexport const InvalidIcon = (\n <WarningIcon data-element=\"ValidationIcon\" color=\"#danger\" />\n);\n"],"mappings":";;;;;AAEA,MAAaC,cACX,oBAAC;CAAY,gBAAa;CAAiB,OAAM;EAClD"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
2
2
  import { CheckIcon } from "../../icons/CheckIcon.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
@@ -1 +1 @@
1
- {"version":3,"file":"ValidIcon.js","names":[],"sources":["../../../src/components/shared/ValidIcon.tsx"],"sourcesContent":["import { CheckIcon } from '../../icons/CheckIcon';\n\nexport const ValidIcon = (\n <CheckIcon data-element=\"ValidationIcon\" color=\"#success\" />\n);\n"],"mappings":";;;;;AAEA,MAAa,YACX,oBAAC;CAAU,gBAAa;CAAiB,OAAM;EAAa"}
1
+ {"version":3,"file":"ValidIcon.js","names":["CheckIcon","ValidIcon"],"sources":["../../../src/components/shared/ValidIcon.tsx"],"sourcesContent":["import { CheckIcon } from '../../icons/CheckIcon';\n\nexport const ValidIcon = (\n <CheckIcon data-element=\"ValidationIcon\" color=\"#success\" />\n);\n"],"mappings":";;;;;AAEA,MAAaC,YACX,oBAAC;CAAU,gBAAa;CAAiB,OAAM;EAChD"}
@@ -1,7 +1,8 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
3
3
  import { Block } from "../../Block.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
5
+ import { c } from "react-compiler-runtime";
5
6
  import { tasty } from "@tenphi/tasty";
6
7
  import { useRef } from "react";
7
8
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -120,64 +121,171 @@ const CubeElement = tasty({
120
121
  * the server and the client, i.e. a hydration mismatch on every render.
121
122
  */
122
123
  function useTimelineSyncedAnimation(ref, isAnimated) {
123
- useLayoutEffect$1(() => {
124
- const element = ref.current;
125
- if (!isAnimated || !element?.getAnimations) return;
126
- for (const animation of element.getAnimations()) if (animation.timeline === element.ownerDocument.timeline) animation.startTime = 0;
127
- }, [isAnimated]);
124
+ const $ = c(5);
125
+ let t0;
126
+ if ($[0] !== isAnimated || $[1] !== ref) {
127
+ t0 = () => {
128
+ const element = ref.current;
129
+ if (!isAnimated || !element?.getAnimations) return;
130
+ for (const animation of element.getAnimations()) if (animation.timeline === element.ownerDocument.timeline) animation.startTime = 0;
131
+ };
132
+ $[0] = isAnimated;
133
+ $[1] = ref;
134
+ $[2] = t0;
135
+ } else t0 = $[2];
136
+ let t1;
137
+ if ($[3] !== isAnimated) {
138
+ t1 = [isAnimated];
139
+ $[3] = isAnimated;
140
+ $[4] = t1;
141
+ } else t1 = $[4];
142
+ useLayoutEffect$1(t0, t1);
128
143
  }
129
- function Cube({ index, style }) {
144
+ function Cube(t0) {
145
+ const $ = c(8);
146
+ const { index, style } = t0;
130
147
  const ref = useRef(null);
131
148
  useTimelineSyncedAnimation(ref, index != null);
132
- return /* @__PURE__ */ jsxs(CubeElement, {
133
- ref,
134
- mods: index != null ? { index } : void 0,
135
- style,
136
- viewBox: "0 0 36 41",
137
- fill: "none",
138
- xmlns: "http://www.w3.org/2000/svg",
139
- role: "presentation",
140
- "aria-hidden": "true",
141
- children: [
142
- /* @__PURE__ */ jsx("path", {
143
- fill: "var(--loading-face-1-color)",
144
- d: "M35.899 10.351l-18 10.25L.1 10.25l18-10.25L35.9 10.351z"
145
- }),
146
- /* @__PURE__ */ jsx("path", {
147
- fill: "var(--loading-face-2-color)",
148
- d: "M18 41L0 30.75l.101-20.5L18 20.5"
149
- }),
150
- /* @__PURE__ */ jsx("path", {
151
- fill: "var(--loading-face-3-color)",
152
- d: "M36 30.75L18 41V20.6l17.899-10.25L36 30.75z"
153
- })
154
- ]
155
- });
149
+ let t1;
150
+ if ($[0] !== index) {
151
+ t1 = index != null ? { index } : void 0;
152
+ $[0] = index;
153
+ $[1] = t1;
154
+ } else t1 = $[1];
155
+ let t2;
156
+ let t3;
157
+ let t4;
158
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
159
+ t2 = /* @__PURE__ */ jsx("path", {
160
+ fill: "var(--loading-face-1-color)",
161
+ d: "M35.899 10.351l-18 10.25L.1 10.25l18-10.25L35.9 10.351z"
162
+ });
163
+ t3 = /* @__PURE__ */ jsx("path", {
164
+ fill: "var(--loading-face-2-color)",
165
+ d: "M18 41L0 30.75l.101-20.5L18 20.5"
166
+ });
167
+ t4 = /* @__PURE__ */ jsx("path", {
168
+ fill: "var(--loading-face-3-color)",
169
+ d: "M36 30.75L18 41V20.6l17.899-10.25L36 30.75z"
170
+ });
171
+ $[2] = t2;
172
+ $[3] = t3;
173
+ $[4] = t4;
174
+ } else {
175
+ t2 = $[2];
176
+ t3 = $[3];
177
+ t4 = $[4];
178
+ }
179
+ let t5;
180
+ if ($[5] !== style || $[6] !== t1) {
181
+ t5 = /* @__PURE__ */ jsxs(CubeElement, {
182
+ ref,
183
+ mods: t1,
184
+ style,
185
+ viewBox: "0 0 36 41",
186
+ fill: "none",
187
+ xmlns: "http://www.w3.org/2000/svg",
188
+ role: "presentation",
189
+ "aria-hidden": "true",
190
+ children: [
191
+ t2,
192
+ t3,
193
+ t4
194
+ ]
195
+ });
196
+ $[5] = style;
197
+ $[6] = t1;
198
+ $[7] = t5;
199
+ } else t5 = $[7];
200
+ return t5;
156
201
  }
157
202
  const SIZE_MAP = {
158
203
  small: 32,
159
204
  medium: 64,
160
205
  large: 96
161
206
  };
162
- function LoadingAnimation({ size = "medium", ...props }) {
207
+ function LoadingAnimation(t0) {
208
+ const $ = c(17);
209
+ let props;
210
+ let t1;
211
+ if ($[0] !== t0) {
212
+ ({size: t1, ...props} = t0);
213
+ $[0] = t0;
214
+ $[1] = props;
215
+ $[2] = t1;
216
+ } else {
217
+ props = $[1];
218
+ t1 = $[2];
219
+ }
220
+ const size = t1 === void 0 ? "medium" : t1;
163
221
  const { t } = useI18n();
164
222
  const numSize = SIZE_MAP[size] || size || SIZE_MAP.medium;
165
- return /* @__PURE__ */ jsxs(Block, {
166
- role: "img",
167
- "aria-label": t("loadingAnimation.ariaLabel", "Loading animation"),
168
- width: numSize,
169
- height: numSize * 1.1388888889,
170
- style: { position: "relative" },
171
- ...props,
172
- children: [
173
- /* @__PURE__ */ jsx(Cube, { style: { transform: "translate(0%, 72.5%)" } }),
174
- /* @__PURE__ */ jsx(Cube, { style: { transform: "translate(98%, 72.5%)" } }),
175
- /* @__PURE__ */ jsx(Cube, { style: { transform: "translate(49%, 96.5%)" } }),
176
- /* @__PURE__ */ jsx(Cube, { index: 0 }),
177
- /* @__PURE__ */ jsx(Cube, { index: 1 }),
178
- /* @__PURE__ */ jsx(Cube, { index: 2 })
179
- ]
180
- });
223
+ let t2;
224
+ if ($[3] !== t) {
225
+ t2 = t("loadingAnimation.ariaLabel", "Loading animation");
226
+ $[3] = t;
227
+ $[4] = t2;
228
+ } else t2 = $[4];
229
+ const t3 = numSize * 1.1388888889;
230
+ let t4;
231
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
232
+ t4 = { position: "relative" };
233
+ $[5] = t4;
234
+ } else t4 = $[5];
235
+ let t5;
236
+ if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
237
+ t5 = /* @__PURE__ */ jsx(Cube, { style: { transform: "translate(0%, 72.5%)" } });
238
+ $[6] = t5;
239
+ } else t5 = $[6];
240
+ let t6;
241
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
242
+ t6 = /* @__PURE__ */ jsx(Cube, { style: { transform: "translate(98%, 72.5%)" } });
243
+ $[7] = t6;
244
+ } else t6 = $[7];
245
+ let t10;
246
+ let t7;
247
+ let t8;
248
+ let t9;
249
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
250
+ t7 = /* @__PURE__ */ jsx(Cube, { style: { transform: "translate(49%, 96.5%)" } });
251
+ t8 = /* @__PURE__ */ jsx(Cube, { index: 0 });
252
+ t9 = /* @__PURE__ */ jsx(Cube, { index: 1 });
253
+ t10 = /* @__PURE__ */ jsx(Cube, { index: 2 });
254
+ $[8] = t10;
255
+ $[9] = t7;
256
+ $[10] = t8;
257
+ $[11] = t9;
258
+ } else {
259
+ t10 = $[8];
260
+ t7 = $[9];
261
+ t8 = $[10];
262
+ t9 = $[11];
263
+ }
264
+ let t11;
265
+ if ($[12] !== numSize || $[13] !== props || $[14] !== t2 || $[15] !== t3) {
266
+ t11 = /* @__PURE__ */ jsxs(Block, {
267
+ role: "img",
268
+ "aria-label": t2,
269
+ width: numSize,
270
+ height: t3,
271
+ style: t4,
272
+ ...props,
273
+ children: [
274
+ t5,
275
+ t6,
276
+ t7,
277
+ t8,
278
+ t9,
279
+ t10
280
+ ]
281
+ });
282
+ $[12] = numSize;
283
+ $[13] = props;
284
+ $[14] = t2;
285
+ $[15] = t3;
286
+ $[16] = t11;
287
+ } else t11 = $[16];
288
+ return t11;
181
289
  }
182
290
 
183
291
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingAnimation.js","names":[],"sources":["../../../../src/components/status/LoadingAnimation/LoadingAnimation.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { CSSProperties, RefObject, useRef } from 'react';\n\nimport { useI18n } from '../../../i18n';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { Block, CubeBlockProps } from '../../Block';\n\nconst CubeElement = tasty({\n as: 'svg',\n styles: {\n display: 'block',\n position: 'absolute',\n width: '50%',\n height: '50%',\n\n // The three visible faces of the cube get their colors via the SVG\n // `fill=\"…\"` attribute on each `<path>` (see the JSX below), NOT via a\n // tasty `fill` style. Tasty's `fill` is a typed shorthand for\n // `background-color` — applying it to an SVG `<path>` would inject\n // `background-color: …` which paths simply ignore (this was the\n // \"invisible cube\" bug). Pointing the SVG `fill` attribute at the\n // adaptive `--loading-face-N-color` CSS variables published by Glaze\n // (defined in `src/tokens/palette.ts`) keeps the three faces driven by\n // the design system without going through a style property tasty would\n // re-route to the wrong CSS slot.\n //\n // Those three tokens are the kit's shared isometric-cube ramp — `NoDataIcon`\n // draws its crate from the same ones — and they are pinned by a WCAG floor\n // against `surface` rather than by a tone delta, so the faces hold the same\n // separation in light, dark, and high contrast. See the recipe's comment for\n // why that matters.\n\n animationName: {\n '': 'none',\n 'index=0': 'dice0',\n 'index=1': 'dice1',\n 'index=2': 'dice2',\n },\n animationDuration: {\n '': '0s',\n 'index=0 | index=1 | index=2': '2s',\n },\n animationIterationCount: {\n '': 1,\n 'index=0 | index=1 | index=2': 'infinite',\n },\n animationTimingFunction: {\n '': 'ease',\n 'index=0 | index=1 | index=2': 'ease',\n },\n zIndex: {\n '': 0,\n 'index=0 | index=1 | index=2': 0,\n },\n\n '@keyframes': {\n dice0: {\n from: { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n '25%': { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n '50%': { transform: 'translate(0%, 25%)', zIndex: 0 },\n '51%': { zIndex: 1 },\n '75%': { zIndex: 1 },\n to: { transform: 'translate(0%, 25%)', zIndex: 1 },\n },\n dice1: {\n from: { transform: 'translate(0%, 25%)', zIndex: 3 },\n '25%': { transform: 'translate(49%, 49%)', zIndex: 3 },\n '75%': { transform: 'translate(49%, 49%)', zIndex: 2 },\n to: { transform: 'translate(98%, 25%)', zIndex: 1 },\n },\n dice2: {\n from: { transform: 'translate(98%, 25%)', zIndex: 1 },\n '50%': { transform: 'translate(98%, 25%)', zIndex: 0 },\n '75%': { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n to: { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n },\n },\n },\n});\n\n/**\n * Phase-lock a cube's `dice*` animation to the document timeline.\n *\n * A page under load mounts these animations at whatever moment each level of\n * the tree resolves — a route shell, then a panel, then the table inside it —\n * and every wrapper that appears around a running `LoadingAnimation` remounts\n * it. A CSS animation is created with its start time at \"now\", so each of\n * those events snapped the cubes back to the first frame: the visible symptom\n * is a loader that keeps stuttering back to the start while the page settles.\n *\n * Moving the start time to 0 puts it at the origin of the document timeline,\n * so the cube's position is a function of the timeline's current reading and\n * nothing else. Two consequences: a remount picks up exactly where the removed\n * element was, and every instance in the document runs in lockstep, because\n * they all read the same clock.\n *\n * Done through the animation object in a layout effect (before the first paint\n * of the new element) rather than through a negative `animation-delay`: the\n * delay would have to be computed during render from `Date.now()`, which is\n * both a different clock than the one the animation runs on — so the phase\n * would be off by the render-to-paint gap — and a value that differs between\n * the server and the client, i.e. a hydration mismatch on every render.\n */\nfunction useTimelineSyncedAnimation(\n ref: RefObject<SVGSVGElement | null>,\n isAnimated: boolean,\n) {\n useLayoutEffect(() => {\n const element = ref.current;\n\n // `getAnimations` is absent in jsdom, where there is nothing to sync.\n if (!isAnimated || !element?.getAnimations) return;\n\n for (const animation of element.getAnimations()) {\n // These elements carry nothing but the `dice*` animation, and it always\n // runs on the document timeline — the one timeline an explicit numeric\n // start time is meaningful against.\n if (animation.timeline === element.ownerDocument.timeline) {\n animation.startTime = 0;\n }\n }\n }, [isAnimated]);\n}\n\ninterface CubeProps {\n index?: 0 | 1 | 2;\n style?: CSSProperties;\n}\n\nfunction Cube({ index, style }: CubeProps) {\n const ref = useRef<SVGSVGElement>(null);\n\n useTimelineSyncedAnimation(ref, index != null);\n\n return (\n <CubeElement\n ref={ref}\n mods={index != null ? { index } : undefined}\n style={style}\n viewBox=\"0 0 36 41\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"presentation\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"var(--loading-face-1-color)\"\n d=\"M35.899 10.351l-18 10.25L.1 10.25l18-10.25L35.9 10.351z\"\n />\n <path\n fill=\"var(--loading-face-2-color)\"\n d=\"M18 41L0 30.75l.101-20.5L18 20.5\"\n />\n <path\n fill=\"var(--loading-face-3-color)\"\n d=\"M36 30.75L18 41V20.6l17.899-10.25L36 30.75z\"\n />\n </CubeElement>\n );\n}\n\nconst SIZE_MAP = {\n small: 32,\n medium: 64,\n large: 96,\n};\n\nexport interface CubeLoadingAnimationProps extends CubeBlockProps {\n size?: 'small' | 'medium' | 'large' | number;\n}\n\nexport function LoadingAnimation({\n size = 'medium',\n ...props\n}: CubeLoadingAnimationProps) {\n const { t } = useI18n();\n const numSize: number = SIZE_MAP[size] || size || SIZE_MAP.medium;\n\n return (\n <Block\n role=\"img\"\n aria-label={t('loadingAnimation.ariaLabel', 'Loading animation')}\n width={numSize}\n height={numSize * 1.1388888889}\n style={{ position: 'relative' }}\n {...props}\n >\n <Cube style={{ transform: 'translate(0%, 72.5%)' }} />\n <Cube style={{ transform: 'translate(98%, 72.5%)' }} />\n <Cube style={{ transform: 'translate(49%, 96.5%)' }} />\n <Cube index={0} />\n <Cube index={1} />\n <Cube index={2} />\n </Block>\n );\n}\n"],"mappings":";;;;;;;;;AAOA,MAAM,cAAc,MAAM;CACxB,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,UAAU;EACV,OAAO;EACP,QAAQ;EAmBR,eAAe;GACb,IAAI;GACJ,WAAW;GACX,WAAW;GACX,WAAW;GACZ;EACD,mBAAmB;GACjB,IAAI;GACJ,+BAA+B;GAChC;EACD,yBAAyB;GACvB,IAAI;GACJ,+BAA+B;GAChC;EACD,yBAAyB;GACvB,IAAI;GACJ,+BAA+B;GAChC;EACD,QAAQ;GACN,IAAI;GACJ,+BAA+B;GAChC;EAED,cAAc;GACZ,OAAO;IACL,MAAM;KAAE,WAAW;KAAwB,QAAQ;KAAG;IACtD,OAAO;KAAE,WAAW;KAAwB,QAAQ;KAAG;IACvD,OAAO;KAAE,WAAW;KAAsB,QAAQ;KAAG;IACrD,OAAO,EAAE,QAAQ,GAAG;IACpB,OAAO,EAAE,QAAQ,GAAG;IACpB,IAAI;KAAE,WAAW;KAAsB,QAAQ;KAAG;IACnD;GACD,OAAO;IACL,MAAM;KAAE,WAAW;KAAsB,QAAQ;KAAG;IACpD,OAAO;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACtD,OAAO;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACtD,IAAI;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACpD;GACD,OAAO;IACL,MAAM;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACrD,OAAO;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACtD,OAAO;KAAE,WAAW;KAAwB,QAAQ;KAAG;IACvD,IAAI;KAAE,WAAW;KAAwB,QAAQ;KAAG;IACrD;GACF;EACF;CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AAyBF,SAAS,2BACP,KACA,YACA;AACA,yBAAsB;EACpB,MAAM,UAAU,IAAI;AAGpB,MAAI,CAAC,cAAc,CAAC,SAAS,cAAe;AAE5C,OAAK,MAAM,aAAa,QAAQ,eAAe,CAI7C,KAAI,UAAU,aAAa,QAAQ,cAAc,SAC/C,WAAU,YAAY;IAGzB,CAAC,WAAW,CAAC;;AAQlB,SAAS,KAAK,EAAE,OAAO,SAAoB;CACzC,MAAM,MAAM,OAAsB,KAAK;AAEvC,4BAA2B,KAAK,SAAS,KAAK;AAE9C,QACE,qBAAC;EACM;EACL,MAAM,SAAS,OAAO,EAAE,OAAO,GAAG;EAC3B;EACP,SAAQ;EACR,MAAK;EACL,OAAM;EACN,MAAK;EACL,eAAY;;GAEZ,oBAAC;IACC,MAAK;IACL,GAAE;KACF;GACF,oBAAC;IACC,MAAK;IACL,GAAE;KACF;GACF,oBAAC;IACC,MAAK;IACL,GAAE;KACF;;GACU;;AAIlB,MAAM,WAAW;CACf,OAAO;CACP,QAAQ;CACR,OAAO;CACR;AAMD,SAAgB,iBAAiB,EAC/B,OAAO,UACP,GAAG,SACyB;CAC5B,MAAM,EAAE,MAAM,SAAS;CACvB,MAAM,UAAkB,SAAS,SAAS,QAAQ,SAAS;AAE3D,QACE,qBAAC;EACC,MAAK;EACL,cAAY,EAAE,8BAA8B,oBAAoB;EAChE,OAAO;EACP,QAAQ,UAAU;EAClB,OAAO,EAAE,UAAU,YAAY;EAC/B,GAAI;;GAEJ,oBAAC,QAAK,OAAO,EAAE,WAAW,wBAAwB,GAAI;GACtD,oBAAC,QAAK,OAAO,EAAE,WAAW,yBAAyB,GAAI;GACvD,oBAAC,QAAK,OAAO,EAAE,WAAW,yBAAyB,GAAI;GACvD,oBAAC,QAAK,OAAO,IAAK;GAClB,oBAAC,QAAK,OAAO,IAAK;GAClB,oBAAC,QAAK,OAAO,IAAK;;GACZ"}
1
+ {"version":3,"file":"LoadingAnimation.js","names":["tasty","CSSProperties","RefObject","useRef","useI18n","useLayoutEffect","Block","CubeBlockProps","CubeElement","as","styles","display","position","width","height","animationName","animationDuration","animationIterationCount","animationTimingFunction","zIndex","dice0","from","transform","to","dice1","dice2","useTimelineSyncedAnimation","ref","isAnimated","$","_c","t0","element","current","getAnimations","animation","timeline","ownerDocument","startTime","t1","CubeProps","index","style","Cube","undefined","t2","t3","t4","Symbol","for","t5","SIZE_MAP","small","medium","large","CubeLoadingAnimationProps","size","LoadingAnimation","props","t","numSize","t6","t10","t7","t8","t9","t11"],"sources":["../../../../src/components/status/LoadingAnimation/LoadingAnimation.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { CSSProperties, RefObject, useRef } from 'react';\n\nimport { useI18n } from '../../../i18n';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { Block, CubeBlockProps } from '../../Block';\n\nconst CubeElement = tasty({\n as: 'svg',\n styles: {\n display: 'block',\n position: 'absolute',\n width: '50%',\n height: '50%',\n\n // The three visible faces of the cube get their colors via the SVG\n // `fill=\"…\"` attribute on each `<path>` (see the JSX below), NOT via a\n // tasty `fill` style. Tasty's `fill` is a typed shorthand for\n // `background-color` — applying it to an SVG `<path>` would inject\n // `background-color: …` which paths simply ignore (this was the\n // \"invisible cube\" bug). Pointing the SVG `fill` attribute at the\n // adaptive `--loading-face-N-color` CSS variables published by Glaze\n // (defined in `src/tokens/palette.ts`) keeps the three faces driven by\n // the design system without going through a style property tasty would\n // re-route to the wrong CSS slot.\n //\n // Those three tokens are the kit's shared isometric-cube ramp — `NoDataIcon`\n // draws its crate from the same ones — and they are pinned by a WCAG floor\n // against `surface` rather than by a tone delta, so the faces hold the same\n // separation in light, dark, and high contrast. See the recipe's comment for\n // why that matters.\n\n animationName: {\n '': 'none',\n 'index=0': 'dice0',\n 'index=1': 'dice1',\n 'index=2': 'dice2',\n },\n animationDuration: {\n '': '0s',\n 'index=0 | index=1 | index=2': '2s',\n },\n animationIterationCount: {\n '': 1,\n 'index=0 | index=1 | index=2': 'infinite',\n },\n animationTimingFunction: {\n '': 'ease',\n 'index=0 | index=1 | index=2': 'ease',\n },\n zIndex: {\n '': 0,\n 'index=0 | index=1 | index=2': 0,\n },\n\n '@keyframes': {\n dice0: {\n from: { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n '25%': { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n '50%': { transform: 'translate(0%, 25%)', zIndex: 0 },\n '51%': { zIndex: 1 },\n '75%': { zIndex: 1 },\n to: { transform: 'translate(0%, 25%)', zIndex: 1 },\n },\n dice1: {\n from: { transform: 'translate(0%, 25%)', zIndex: 3 },\n '25%': { transform: 'translate(49%, 49%)', zIndex: 3 },\n '75%': { transform: 'translate(49%, 49%)', zIndex: 2 },\n to: { transform: 'translate(98%, 25%)', zIndex: 1 },\n },\n dice2: {\n from: { transform: 'translate(98%, 25%)', zIndex: 1 },\n '50%': { transform: 'translate(98%, 25%)', zIndex: 0 },\n '75%': { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n to: { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n },\n },\n },\n});\n\n/**\n * Phase-lock a cube's `dice*` animation to the document timeline.\n *\n * A page under load mounts these animations at whatever moment each level of\n * the tree resolves — a route shell, then a panel, then the table inside it —\n * and every wrapper that appears around a running `LoadingAnimation` remounts\n * it. A CSS animation is created with its start time at \"now\", so each of\n * those events snapped the cubes back to the first frame: the visible symptom\n * is a loader that keeps stuttering back to the start while the page settles.\n *\n * Moving the start time to 0 puts it at the origin of the document timeline,\n * so the cube's position is a function of the timeline's current reading and\n * nothing else. Two consequences: a remount picks up exactly where the removed\n * element was, and every instance in the document runs in lockstep, because\n * they all read the same clock.\n *\n * Done through the animation object in a layout effect (before the first paint\n * of the new element) rather than through a negative `animation-delay`: the\n * delay would have to be computed during render from `Date.now()`, which is\n * both a different clock than the one the animation runs on — so the phase\n * would be off by the render-to-paint gap — and a value that differs between\n * the server and the client, i.e. a hydration mismatch on every render.\n */\nfunction useTimelineSyncedAnimation(\n ref: RefObject<SVGSVGElement | null>,\n isAnimated: boolean,\n) {\n useLayoutEffect(() => {\n const element = ref.current;\n\n // `getAnimations` is absent in jsdom, where there is nothing to sync.\n if (!isAnimated || !element?.getAnimations) return;\n\n for (const animation of element.getAnimations()) {\n // These elements carry nothing but the `dice*` animation, and it always\n // runs on the document timeline — the one timeline an explicit numeric\n // start time is meaningful against.\n if (animation.timeline === element.ownerDocument.timeline) {\n animation.startTime = 0;\n }\n }\n }, [isAnimated]);\n}\n\ninterface CubeProps {\n index?: 0 | 1 | 2;\n style?: CSSProperties;\n}\n\nfunction Cube({ index, style }: CubeProps) {\n const ref = useRef<SVGSVGElement>(null);\n\n useTimelineSyncedAnimation(ref, index != null);\n\n return (\n <CubeElement\n ref={ref}\n mods={index != null ? { index } : undefined}\n style={style}\n viewBox=\"0 0 36 41\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"presentation\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"var(--loading-face-1-color)\"\n d=\"M35.899 10.351l-18 10.25L.1 10.25l18-10.25L35.9 10.351z\"\n />\n <path\n fill=\"var(--loading-face-2-color)\"\n d=\"M18 41L0 30.75l.101-20.5L18 20.5\"\n />\n <path\n fill=\"var(--loading-face-3-color)\"\n d=\"M36 30.75L18 41V20.6l17.899-10.25L36 30.75z\"\n />\n </CubeElement>\n );\n}\n\nconst SIZE_MAP = {\n small: 32,\n medium: 64,\n large: 96,\n};\n\nexport interface CubeLoadingAnimationProps extends CubeBlockProps {\n size?: 'small' | 'medium' | 'large' | number;\n}\n\nexport function LoadingAnimation({\n size = 'medium',\n ...props\n}: CubeLoadingAnimationProps) {\n const { t } = useI18n();\n const numSize: number = SIZE_MAP[size] || size || SIZE_MAP.medium;\n\n return (\n <Block\n role=\"img\"\n aria-label={t('loadingAnimation.ariaLabel', 'Loading animation')}\n width={numSize}\n height={numSize * 1.1388888889}\n style={{ position: 'relative' }}\n {...props}\n >\n <Cube style={{ transform: 'translate(0%, 72.5%)' }} />\n <Cube style={{ transform: 'translate(98%, 72.5%)' }} />\n <Cube style={{ transform: 'translate(49%, 96.5%)' }} />\n <Cube index={0} />\n <Cube index={1} />\n <Cube index={2} />\n </Block>\n );\n}\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
2
+ import { c } from "react-compiler-runtime";
2
3
  import { tasty } from "@tenphi/tasty";
3
4
  import { memo } from "react";
4
5
  import { jsx } from "react/jsx-runtime";
@@ -96,8 +97,16 @@ const CubeElement = tasty({
96
97
  }
97
98
  }
98
99
  });
99
- const Cube = memo(function Cube({ $position }) {
100
- return /* @__PURE__ */ jsx(CubeElement, { mods: { position: $position } });
100
+ const Cube = memo(function Cube(t0) {
101
+ const $ = c(2);
102
+ const { $position } = t0;
103
+ let t1;
104
+ if ($[0] !== $position) {
105
+ t1 = /* @__PURE__ */ jsx(CubeElement, { mods: { position: $position } });
106
+ $[0] = $position;
107
+ $[1] = t1;
108
+ } else t1 = $[1];
109
+ return t1;
101
110
  });
102
111
 
103
112
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"Cube.js","names":[],"sources":["../../../../src/components/status/Spin/Cube.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { memo } from 'react';\n\nimport { SpinCubeProps } from './types';\n\nconst CubeElement = tasty({\n role: 'presentation',\n styles: {\n '$cube-border-width': '(4 / 100 * $cube-spin-size)',\n '$cube-border-compensation': '(-1 * $cube-border-width)',\n '$cube-size': '((100% - 2 * $cube-border-width) / 2)',\n\n boxSizing: 'content-box',\n position: 'absolute',\n top: '$cube-border-compensation',\n left: '$cube-border-compensation',\n width: '$cube-size',\n height: '$cube-size',\n border: '$cube-border-width solid #clear',\n overflow: 'hidden',\n contain: 'size layout style paint',\n pointerEvents: 'none',\n userSelect: 'none',\n\n animationName: {\n '': 'none',\n 'position=top': 'cube-spin-top',\n 'position=right': 'cube-spin-right',\n 'position=bottom': 'cube-spin-bottom',\n },\n animationDuration: '2.2s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'cubic-bezier(0.5, 0.05, 0.3, 0.95)',\n animationPlayState: {\n '': 'running',\n '@media(prefers-reduced-motion)': 'paused',\n },\n\n '&::before': {\n '$cube-round-radius': '(4 / 100 * $cube-spin-size)',\n content: '\"\"',\n display: 'block',\n width: '100%',\n height: '100%',\n radius: '$cube-round-radius',\n fill: {\n 'position=top': '#7a77ff',\n 'position=right': '#727290',\n 'position=bottom': '#ff6492',\n },\n },\n\n '@keyframes': {\n 'cube-spin-top': {\n '0%': { transform: 'translate(0%, 0)' },\n '8%': { transform: 'translate(100%, 0)' },\n '17%': { transform: 'translate(100%, 0)' },\n '25%': { transform: 'translate(100%, 0)' },\n '33%': { transform: 'translate(100%, 100%)' },\n '42%': { transform: 'translate(100%, 100%)' },\n '50%': { transform: 'translate(100%, 100%)' },\n '58%': { transform: 'translate(0, 100%)' },\n '67%': { transform: 'translate(0, 100%)' },\n '75%': { transform: 'translate(0, 100%)' },\n '83%': { transform: 'translate(0, 0)' },\n '92%': { transform: 'translate(0, 0)' },\n '100%': { transform: 'translate(0, 0)' },\n },\n 'cube-spin-right': {\n '0%': { transform: 'translate(100%, 100%)' },\n '8%': { transform: 'translate(100%, 100%)' },\n '17%': { transform: 'translate(100%, 100%)' },\n '25%': { transform: 'translate(0, 100%)' },\n '33%': { transform: 'translate(0, 100%)' },\n '42%': { transform: 'translate(0, 100%)' },\n '50%': { transform: 'translate(0, 0)' },\n '58%': { transform: 'translate(0, 0)' },\n '67%': { transform: 'translate(0, 0)' },\n '75%': { transform: 'translate(100%, 0)' },\n '83%': { transform: 'translate(100%, 0)' },\n '92%': { transform: 'translate(100%, 0)' },\n '100%': { transform: 'translate(100%, 100%)' },\n },\n 'cube-spin-bottom': {\n '0%': { transform: 'translate(0, 100%)' },\n '8%': { transform: 'translate(0, 100%)' },\n '17%': { transform: 'translate(0, 0)' },\n '25%': { transform: 'translate(0, 0)' },\n '33%': { transform: 'translate(0, 0)' },\n '42%': { transform: 'translate(100%, 0)' },\n '50%': { transform: 'translate(100%, 0)' },\n '58%': { transform: 'translate(100%, 0)' },\n '67%': { transform: 'translate(100%, 100%)' },\n '75%': { transform: 'translate(100%, 100%)' },\n '83%': { transform: 'translate(100%, 100%)' },\n '92%': { transform: 'translate(0, 100%)' },\n '100%': { transform: 'translate(0, 100%)' },\n },\n },\n },\n});\n\nexport const Cube = memo(function Cube({ $position }: SpinCubeProps) {\n return <CubeElement mods={{ position: $position }} />;\n});\n"],"mappings":";;;;;;AAKA,MAAM,cAAc,MAAM;CACxB,MAAM;CACN,QAAQ;EACN,sBAAsB;EACtB,6BAA6B;EAC7B,cAAc;EAEd,WAAW;EACX,UAAU;EACV,KAAK;EACL,MAAM;EACN,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,UAAU;EACV,SAAS;EACT,eAAe;EACf,YAAY;EAEZ,eAAe;GACb,IAAI;GACJ,gBAAgB;GAChB,kBAAkB;GAClB,mBAAmB;GACpB;EACD,mBAAmB;EACnB,yBAAyB;EACzB,yBAAyB;EACzB,oBAAoB;GAClB,IAAI;GACJ,kCAAkC;GACnC;EAED,aAAa;GACX,sBAAsB;GACtB,SAAS;GACT,SAAS;GACT,OAAO;GACP,QAAQ;GACR,QAAQ;GACR,MAAM;IACJ,gBAAgB;IAChB,kBAAkB;IAClB,mBAAmB;IACpB;GACF;EAED,cAAc;GACZ,iBAAiB;IACf,MAAM,EAAE,WAAW,oBAAoB;IACvC,MAAM,EAAE,WAAW,sBAAsB;IACzC,OAAO,EAAE,WAAW,sBAAsB;IAC1C,OAAO,EAAE,WAAW,sBAAsB;IAC1C,OAAO,EAAE,WAAW,yBAAyB;IAC7C,OAAO,EAAE,WAAW,yBAAyB;IAC7C,OAAO,EAAE,WAAW,yBAAyB;IAC7C,OAAO,EAAE,WAAW,sBAAsB;IAC1C,OAAO,EAAE,WAAW,sBAAsB;IAC1C,OAAO,EAAE,WAAW,sBAAsB;IAC1C,OAAO,EAAE,WAAW,mBAAmB;IACvC,OAAO,EAAE,WAAW,mBAAmB;IACvC,QAAQ,EAAE,WAAW,mBAAmB;IACzC;GACD,mBAAmB;IACjB,MAAM,EAAE,WAAW,yBAAyB;IAC5C,MAAM,EAAE,WAAW,yBAAyB;IAC5C,OAAO,EAAE,WAAW,yBAAyB;IAC7C,OAAO,EAAE,WAAW,sBAAsB;IAC1C,OAAO,EAAE,WAAW,sBAAsB;IAC1C,OAAO,EAAE,WAAW,sBAAsB;IAC1C,OAAO,EAAE,WAAW,mBAAmB;IACvC,OAAO,EAAE,WAAW,mBAAmB;IACvC,OAAO,EAAE,WAAW,mBAAmB;IACvC,OAAO,EAAE,WAAW,sBAAsB;IAC1C,OAAO,EAAE,WAAW,sBAAsB;IAC1C,OAAO,EAAE,WAAW,sBAAsB;IAC1C,QAAQ,EAAE,WAAW,yBAAyB;IAC/C;GACD,oBAAoB;IAClB,MAAM,EAAE,WAAW,sBAAsB;IACzC,MAAM,EAAE,WAAW,sBAAsB;IACzC,OAAO,EAAE,WAAW,mBAAmB;IACvC,OAAO,EAAE,WAAW,mBAAmB;IACvC,OAAO,EAAE,WAAW,mBAAmB;IACvC,OAAO,EAAE,WAAW,sBAAsB;IAC1C,OAAO,EAAE,WAAW,sBAAsB;IAC1C,OAAO,EAAE,WAAW,sBAAsB;IAC1C,OAAO,EAAE,WAAW,yBAAyB;IAC7C,OAAO,EAAE,WAAW,yBAAyB;IAC7C,OAAO,EAAE,WAAW,yBAAyB;IAC7C,OAAO,EAAE,WAAW,sBAAsB;IAC1C,QAAQ,EAAE,WAAW,sBAAsB;IAC5C;GACF;EACF;CACF,CAAC;AAEF,MAAa,OAAO,KAAK,SAAS,KAAK,EAAE,aAA4B;AACnE,QAAO,oBAAC,eAAY,MAAM,EAAE,UAAU,WAAW,GAAI;EACrD"}
1
+ {"version":3,"file":"Cube.js","names":["tasty","memo","SpinCubeProps","CubeElement","role","styles","boxSizing","position","top","left","width","height","border","overflow","contain","pointerEvents","userSelect","animationName","animationDuration","animationIterationCount","animationTimingFunction","animationPlayState","content","display","radius","fill","transform","Cube","t0","$","_c","$position","t1"],"sources":["../../../../src/components/status/Spin/Cube.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { memo } from 'react';\n\nimport { SpinCubeProps } from './types';\n\nconst CubeElement = tasty({\n role: 'presentation',\n styles: {\n '$cube-border-width': '(4 / 100 * $cube-spin-size)',\n '$cube-border-compensation': '(-1 * $cube-border-width)',\n '$cube-size': '((100% - 2 * $cube-border-width) / 2)',\n\n boxSizing: 'content-box',\n position: 'absolute',\n top: '$cube-border-compensation',\n left: '$cube-border-compensation',\n width: '$cube-size',\n height: '$cube-size',\n border: '$cube-border-width solid #clear',\n overflow: 'hidden',\n contain: 'size layout style paint',\n pointerEvents: 'none',\n userSelect: 'none',\n\n animationName: {\n '': 'none',\n 'position=top': 'cube-spin-top',\n 'position=right': 'cube-spin-right',\n 'position=bottom': 'cube-spin-bottom',\n },\n animationDuration: '2.2s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'cubic-bezier(0.5, 0.05, 0.3, 0.95)',\n animationPlayState: {\n '': 'running',\n '@media(prefers-reduced-motion)': 'paused',\n },\n\n '&::before': {\n '$cube-round-radius': '(4 / 100 * $cube-spin-size)',\n content: '\"\"',\n display: 'block',\n width: '100%',\n height: '100%',\n radius: '$cube-round-radius',\n fill: {\n 'position=top': '#7a77ff',\n 'position=right': '#727290',\n 'position=bottom': '#ff6492',\n },\n },\n\n '@keyframes': {\n 'cube-spin-top': {\n '0%': { transform: 'translate(0%, 0)' },\n '8%': { transform: 'translate(100%, 0)' },\n '17%': { transform: 'translate(100%, 0)' },\n '25%': { transform: 'translate(100%, 0)' },\n '33%': { transform: 'translate(100%, 100%)' },\n '42%': { transform: 'translate(100%, 100%)' },\n '50%': { transform: 'translate(100%, 100%)' },\n '58%': { transform: 'translate(0, 100%)' },\n '67%': { transform: 'translate(0, 100%)' },\n '75%': { transform: 'translate(0, 100%)' },\n '83%': { transform: 'translate(0, 0)' },\n '92%': { transform: 'translate(0, 0)' },\n '100%': { transform: 'translate(0, 0)' },\n },\n 'cube-spin-right': {\n '0%': { transform: 'translate(100%, 100%)' },\n '8%': { transform: 'translate(100%, 100%)' },\n '17%': { transform: 'translate(100%, 100%)' },\n '25%': { transform: 'translate(0, 100%)' },\n '33%': { transform: 'translate(0, 100%)' },\n '42%': { transform: 'translate(0, 100%)' },\n '50%': { transform: 'translate(0, 0)' },\n '58%': { transform: 'translate(0, 0)' },\n '67%': { transform: 'translate(0, 0)' },\n '75%': { transform: 'translate(100%, 0)' },\n '83%': { transform: 'translate(100%, 0)' },\n '92%': { transform: 'translate(100%, 0)' },\n '100%': { transform: 'translate(100%, 100%)' },\n },\n 'cube-spin-bottom': {\n '0%': { transform: 'translate(0, 100%)' },\n '8%': { transform: 'translate(0, 100%)' },\n '17%': { transform: 'translate(0, 0)' },\n '25%': { transform: 'translate(0, 0)' },\n '33%': { transform: 'translate(0, 0)' },\n '42%': { transform: 'translate(100%, 0)' },\n '50%': { transform: 'translate(100%, 0)' },\n '58%': { transform: 'translate(100%, 0)' },\n '67%': { transform: 'translate(100%, 100%)' },\n '75%': { transform: 'translate(100%, 100%)' },\n '83%': { transform: 'translate(100%, 100%)' },\n '92%': { transform: 'translate(0, 100%)' },\n '100%': { transform: 'translate(0, 100%)' },\n },\n },\n },\n});\n\nexport const Cube = memo(function Cube({ $position }: SpinCubeProps) {\n return <CubeElement mods={{ position: $position }} />;\n});\n"],"mappings":";;;;;;;AAKA,MAAMG,cAAcH,MAAM;CACxBI,MAAM;CACNC,QAAQ;EACN,sBAAsB;EACtB,6BAA6B;EAC7B,cAAc;EAEdC,WAAW;EACXC,UAAU;EACVC,KAAK;EACLC,MAAM;EACNC,OAAO;EACPC,QAAQ;EACRC,QAAQ;EACRC,UAAU;EACVC,SAAS;EACTC,eAAe;EACfC,YAAY;EAEZC,eAAe;GACb,IAAI;GACJ,gBAAgB;GAChB,kBAAkB;GAClB,mBAAmB;GACpB;EACDC,mBAAmB;EACnBC,yBAAyB;EACzBC,yBAAyB;EACzBC,oBAAoB;GAClB,IAAI;GACJ,kCAAkC;GACnC;EAED,aAAa;GACX,sBAAsB;GACtBC,SAAS;GACTC,SAAS;GACTb,OAAO;GACPC,QAAQ;GACRa,QAAQ;GACRC,MAAM;IACJ,gBAAgB;IAChB,kBAAkB;IAClB,mBAAmB;IACrB;GACD;EAED,cAAc;GACZ,iBAAiB;IACf,MAAM,EAAEC,WAAW,oBAAoB;IACvC,MAAM,EAAEA,WAAW,sBAAsB;IACzC,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,yBAAyB;IAC7C,OAAO,EAAEA,WAAW,yBAAyB;IAC7C,OAAO,EAAEA,WAAW,yBAAyB;IAC7C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,mBAAmB;IACvC,OAAO,EAAEA,WAAW,mBAAmB;IACvC,QAAQ,EAAEA,WAAW,mBAAkB;IACxC;GACD,mBAAmB;IACjB,MAAM,EAAEA,WAAW,yBAAyB;IAC5C,MAAM,EAAEA,WAAW,yBAAyB;IAC5C,OAAO,EAAEA,WAAW,yBAAyB;IAC7C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,mBAAmB;IACvC,OAAO,EAAEA,WAAW,mBAAmB;IACvC,OAAO,EAAEA,WAAW,mBAAmB;IACvC,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,QAAQ,EAAEA,WAAW,yBAAwB;IAC9C;GACD,oBAAoB;IAClB,MAAM,EAAEA,WAAW,sBAAsB;IACzC,MAAM,EAAEA,WAAW,sBAAsB;IACzC,OAAO,EAAEA,WAAW,mBAAmB;IACvC,OAAO,EAAEA,WAAW,mBAAmB;IACvC,OAAO,EAAEA,WAAW,mBAAmB;IACvC,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,OAAO,EAAEA,WAAW,yBAAyB;IAC7C,OAAO,EAAEA,WAAW,yBAAyB;IAC7C,OAAO,EAAEA,WAAW,yBAAyB;IAC7C,OAAO,EAAEA,WAAW,sBAAsB;IAC1C,QAAQ,EAAEA,WAAW,sBAAqB;IAC5C;GACF;EACF;CACD,CAAC;AAEF,MAAaC,OAAO1B,KAAK,SAAA0B,KAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAc,MAAA,EAAAC,cAAAH;CAA4B,IAAAI;AAAA,KAAAH,EAAA,OAAAE,WAAA;AAC1DC,OAAA,oBAAC,eAAkB,MAAA,EAAAzB,UAAYwB,WAAU,GAAK;AAAAF,IAAA,KAAAE;AAAAF,IAAA,KAAAG;OAAAA,MAAAH,EAAA;AAAA,QAA9CG;EACP"}
@@ -1,6 +1,7 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
2
2
  import { Cube } from "./Cube.js";
3
3
  import { SpinsContainer } from "./SpinsContainer.js";
4
+ import { c } from "react-compiler-runtime";
4
5
  import { tasty } from "@tenphi/tasty";
5
6
  import { memo } from "react";
6
7
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -11,15 +12,29 @@ const SpinsBox = tasty({ styles: {
11
12
  blockSize: "100%"
12
13
  } });
13
14
  const InternalSpinner = memo(function InternalSpinner(props) {
15
+ const $ = c(4);
14
16
  const { size } = props;
15
- return /* @__PURE__ */ jsx(SpinsContainer, {
16
- ownSize: CUBE_SIZE_MAP[size],
17
- children: /* @__PURE__ */ jsxs(SpinsBox, { children: [
17
+ const t0 = CUBE_SIZE_MAP[size];
18
+ let t1;
19
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
20
+ t1 = /* @__PURE__ */ jsxs(SpinsBox, { children: [
18
21
  /* @__PURE__ */ jsx(Cube, { $position: "top" }),
19
22
  /* @__PURE__ */ jsx(Cube, { $position: "right" }),
20
23
  /* @__PURE__ */ jsx(Cube, { $position: "bottom" })
21
- ] })
22
- }, size);
24
+ ] });
25
+ $[0] = t1;
26
+ } else t1 = $[0];
27
+ let t2;
28
+ if ($[1] !== size || $[2] !== t0) {
29
+ t2 = /* @__PURE__ */ jsx(SpinsContainer, {
30
+ ownSize: t0,
31
+ children: t1
32
+ }, size);
33
+ $[1] = size;
34
+ $[2] = t0;
35
+ $[3] = t2;
36
+ } else t2 = $[3];
37
+ return t2;
23
38
  });
24
39
  const CUBE_SIZE_MAP = {
25
40
  small: 24,
@@ -1 +1 @@
1
- {"version":3,"file":"InternalSpinner.js","names":[],"sources":["../../../../src/components/status/Spin/InternalSpinner.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { memo } from 'react';\n\nimport { Cube } from './Cube';\nimport { SpinsContainer } from './SpinsContainer';\nimport { InternalSpinnerProps, SpinSize } from './types';\n\nconst SpinsBox = tasty({ styles: { position: 'relative', blockSize: '100%' } });\n\nexport const InternalSpinner = memo(function InternalSpinner(\n props: InternalSpinnerProps,\n) {\n const { size } = props;\n\n return (\n // Even though using size as a key resets the animation, it helps safari to resize the cubes.\n <SpinsContainer key={size} ownSize={CUBE_SIZE_MAP[size]}>\n <SpinsBox>\n <Cube $position=\"top\" />\n <Cube $position=\"right\" />\n <Cube $position=\"bottom\" />\n </SpinsBox>\n </SpinsContainer>\n );\n});\n\nconst CUBE_SIZE_MAP: Record<SpinSize, number> = {\n small: 24,\n default: 32,\n large: 48,\n};\n"],"mappings":";;;;;;;;AAOA,MAAM,WAAW,MAAM,EAAE,QAAQ;CAAE,UAAU;CAAY,WAAW;CAAQ,EAAE,CAAC;AAE/E,MAAa,kBAAkB,KAAK,SAAS,gBAC3C,OACA;CACA,MAAM,EAAE,SAAS;AAEjB,QAEE,oBAAC;EAA0B,SAAS,cAAc;YAChD,qBAAC;GACC,oBAAC,QAAK,WAAU,QAAQ;GACxB,oBAAC,QAAK,WAAU,UAAU;GAC1B,oBAAC,QAAK,WAAU,WAAW;MAClB;IALQ,KAMJ;EAEnB;AAEF,MAAM,gBAA0C;CAC9C,OAAO;CACP,SAAS;CACT,OAAO;CACR"}
1
+ {"version":3,"file":"InternalSpinner.js","names":["tasty","memo","Cube","SpinsContainer","InternalSpinnerProps","SpinSize","SpinsBox","styles","position","blockSize","InternalSpinner","props","$","_c","size","t0","CUBE_SIZE_MAP","t1","Symbol","for","t2","Record","small","default","large"],"sources":["../../../../src/components/status/Spin/InternalSpinner.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { memo } from 'react';\n\nimport { Cube } from './Cube';\nimport { SpinsContainer } from './SpinsContainer';\nimport { InternalSpinnerProps, SpinSize } from './types';\n\nconst SpinsBox = tasty({ styles: { position: 'relative', blockSize: '100%' } });\n\nexport const InternalSpinner = memo(function InternalSpinner(\n props: InternalSpinnerProps,\n) {\n const { size } = props;\n\n return (\n // Even though using size as a key resets the animation, it helps safari to resize the cubes.\n <SpinsContainer key={size} ownSize={CUBE_SIZE_MAP[size]}>\n <SpinsBox>\n <Cube $position=\"top\" />\n <Cube $position=\"right\" />\n <Cube $position=\"bottom\" />\n </SpinsBox>\n </SpinsContainer>\n );\n});\n\nconst CUBE_SIZE_MAP: Record<SpinSize, number> = {\n small: 24,\n default: 32,\n large: 48,\n};\n"],"mappings":";;;;;;;;;AAOA,MAAMM,WAAWN,MAAM,EAAEO,QAAQ;CAAEC,UAAU;CAAYC,WAAW;CAAO,EAAG,CAAC;AAE/E,MAAaC,kBAAkBT,KAAK,SAAAS,gBAAAC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAGlC,MAAA,EAAAC,SAAiBH;CAIqB,MAAAI,KAAAC,cAAcF;CAAK,IAAAG;AAAA,KAAAL,EAAA,OAAAM,OAAAC,IAAA,4BAAA,EAAA;AACrDF,OAAA,qBAAC;GACC,oBAAC,QAAe,WAAA,QAChB;uBAAC,QAAe,WAAA,UAChB;uBAAC,QAAe,WAAA,WAClB;MAAW;AAAAL,IAAA,KAAAK;OAAAA,MAAAL,EAAA;CAAA,IAAAQ;AAAA,KAAAR,EAAA,OAAAE,QAAAF,EAAA,OAAAG,IAAA;AALbK,OAAA,oBAAC;GAAmC,SAAAL;aAClCE;KADmBH,KAMJ;AAAAF,IAAA,KAAAE;AAAAF,IAAA,KAAAG;AAAAH,IAAA,KAAAQ;OAAAA,MAAAR,EAAA;AAAA,QANjBQ;EAQF;AAEF,MAAMJ,gBAA0C;CAC9CM,OAAO;CACPC,SAAS;CACTC,OAAO;CACR"}