@cube-dev/ui-kit 0.182.0 → 0.184.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1160) hide show
  1. package/dist/CHANGELOG.md +40 -0
  2. package/dist/_internal/hooks/use-debounced-value.js +48 -31
  3. package/dist/_internal/hooks/use-debounced-value.js.map +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +22 -7
  5. package/dist/_internal/hooks/use-deprecation-warning.js.map +1 -1
  6. package/dist/_internal/hooks/use-event.js +1 -1
  7. package/dist/_internal/hooks/use-event.js.map +1 -1
  8. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  9. package/dist/_internal/hooks/use-is-first-render.js.map +1 -1
  10. package/dist/_internal/hooks/use-sync-ref.js +12 -4
  11. package/dist/_internal/hooks/use-sync-ref.js.map +1 -1
  12. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  13. package/dist/_internal/hooks/use-timer/timer.js.map +1 -1
  14. package/dist/_internal/hooks/use-timer/use-timer.js +90 -20
  15. package/dist/_internal/hooks/use-timer/use-timer.js.map +1 -1
  16. package/dist/_internal/hooks/use-warn.js +4 -4
  17. package/dist/_internal/hooks/use-warn.js.map +1 -1
  18. package/dist/components/Block.js +29 -7
  19. package/dist/components/Block.js.map +1 -1
  20. package/dist/components/CollectionItem.js +1 -1
  21. package/dist/components/CollectionItem.js.map +1 -1
  22. package/dist/components/GlobalStyles.js +33 -9
  23. package/dist/components/GlobalStyles.js.map +1 -1
  24. package/dist/components/GridProvider.js +4 -4
  25. package/dist/components/GridProvider.js.map +1 -1
  26. package/dist/components/HiddenInput.js +1 -1
  27. package/dist/components/HiddenInput.js.map +1 -1
  28. package/dist/components/Root.js +137 -42
  29. package/dist/components/Root.js.map +1 -1
  30. package/dist/components/actions/Action/Action.js +20 -8
  31. package/dist/components/actions/Action/Action.js.map +1 -1
  32. package/dist/components/actions/Banner/Banner.js +91 -22
  33. package/dist/components/actions/Banner/Banner.js.map +1 -1
  34. package/dist/components/actions/Button/Button.js +5 -5
  35. package/dist/components/actions/Button/Button.js.map +1 -1
  36. package/dist/components/actions/ButtonGroup/ButtonGroup.js +15 -5
  37. package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
  38. package/dist/components/actions/ButtonSplit/ButtonSplit.js +2 -1
  39. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
  40. package/dist/components/actions/ButtonSplit/context.js +1 -1
  41. package/dist/components/actions/ButtonSplit/context.js.map +1 -1
  42. package/dist/components/actions/CommandMenu/CommandMenu.js +73 -80
  43. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  44. package/dist/components/actions/CommandMenu/styled.js +1 -1
  45. package/dist/components/actions/CommandMenu/styled.js.map +1 -1
  46. package/dist/components/actions/ItemAction/ItemAction.js +205 -68
  47. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  48. package/dist/components/actions/ItemActionContext.js +26 -7
  49. package/dist/components/actions/ItemActionContext.js.map +1 -1
  50. package/dist/components/actions/ItemActionsWrapper.js +215 -84
  51. package/dist/components/actions/ItemActionsWrapper.js.map +1 -1
  52. package/dist/components/actions/ItemButton/ItemButton.js +2 -2
  53. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  54. package/dist/components/actions/Link/Link.js +16 -7
  55. package/dist/components/actions/Link/Link.js.map +1 -1
  56. package/dist/components/actions/Menu/Menu.js +127 -72
  57. package/dist/components/actions/Menu/Menu.js.map +1 -1
  58. package/dist/components/actions/Menu/MenuItem.js +120 -43
  59. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  60. package/dist/components/actions/Menu/MenuSection.js +79 -31
  61. package/dist/components/actions/Menu/MenuSection.js.map +1 -1
  62. package/dist/components/actions/Menu/MenuTrigger.js +316 -112
  63. package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
  64. package/dist/components/actions/Menu/SubMenuTrigger.js +6 -12
  65. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  66. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  67. package/dist/components/actions/Menu/SubmenuTriggerContext.js.map +1 -1
  68. package/dist/components/actions/Menu/context.js +1 -1
  69. package/dist/components/actions/Menu/context.js.map +1 -1
  70. package/dist/components/actions/Menu/styled.js +1 -1
  71. package/dist/components/actions/Menu/styled.js.map +1 -1
  72. package/dist/components/actions/actions-run.js +1 -1
  73. package/dist/components/actions/actions-run.js.map +1 -1
  74. package/dist/components/actions/index.js +1 -1
  75. package/dist/components/actions/index.js.map +1 -1
  76. package/dist/components/actions/use-action.js +3 -3
  77. package/dist/components/actions/use-action.js.map +1 -1
  78. package/dist/components/actions/use-anchored-menu.js +6 -6
  79. package/dist/components/actions/use-anchored-menu.js.map +1 -1
  80. package/dist/components/actions/use-context-menu.js +12 -12
  81. package/dist/components/actions/use-context-menu.js.map +1 -1
  82. package/dist/components/content/ActiveZone/ActiveZone.js +84 -18
  83. package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
  84. package/dist/components/content/Alert/Alert.js +18 -7
  85. package/dist/components/content/Alert/Alert.js.map +1 -1
  86. package/dist/components/content/Alert/use-alert.js +53 -15
  87. package/dist/components/content/Alert/use-alert.js.map +1 -1
  88. package/dist/components/content/Avatar/Avatar.js +51 -13
  89. package/dist/components/content/Avatar/Avatar.js.map +1 -1
  90. package/dist/components/content/Badge/Badge.js +43 -10
  91. package/dist/components/content/Badge/Badge.js.map +1 -1
  92. package/dist/components/content/Card/Card.js +29 -7
  93. package/dist/components/content/Card/Card.js.map +1 -1
  94. package/dist/components/content/Content.js +30 -7
  95. package/dist/components/content/Content.js.map +1 -1
  96. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +2 -2
  97. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  98. package/dist/components/content/CopySnippet/CopySnippet.js +220 -60
  99. package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
  100. package/dist/components/content/Disclosure/Disclosure.js +453 -194
  101. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  102. package/dist/components/content/Divider.js +52 -14
  103. package/dist/components/content/Divider.js.map +1 -1
  104. package/dist/components/content/Footer.js +29 -7
  105. package/dist/components/content/Footer.js.map +1 -1
  106. package/dist/components/content/Header.js +29 -7
  107. package/dist/components/content/Header.js.map +1 -1
  108. package/dist/components/content/HotKeys/HotKeys.js +55 -27
  109. package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
  110. package/dist/components/content/InfoBadge/InfoBadge.js +8 -8
  111. package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -1
  112. package/dist/components/content/InlineInput/InlineInput.js +429 -188
  113. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  114. package/dist/components/content/Item/Item.d.ts +27 -2
  115. package/dist/components/content/Item/Item.js +418 -152
  116. package/dist/components/content/Item/Item.js.map +1 -1
  117. package/dist/components/content/ItemBadge/ItemBadge.js +173 -59
  118. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  119. package/dist/components/content/ItemCard/ItemCard.js +34 -9
  120. package/dist/components/content/ItemCard/ItemCard.js.map +1 -1
  121. package/dist/components/content/Layout/GridLayout.js +38 -10
  122. package/dist/components/content/Layout/GridLayout.js.map +1 -1
  123. package/dist/components/content/Layout/Layout.js +30 -13
  124. package/dist/components/content/Layout/Layout.js.map +1 -1
  125. package/dist/components/content/Layout/LayoutBlock.js +33 -8
  126. package/dist/components/content/Layout/LayoutBlock.js.map +1 -1
  127. package/dist/components/content/Layout/LayoutCenter.js +48 -11
  128. package/dist/components/content/Layout/LayoutCenter.js.map +1 -1
  129. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  130. package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
  131. package/dist/components/content/Layout/LayoutContent.js +1 -1
  132. package/dist/components/content/Layout/LayoutContent.js.map +1 -1
  133. package/dist/components/content/Layout/LayoutContext.js +30 -21
  134. package/dist/components/content/Layout/LayoutContext.js.map +1 -1
  135. package/dist/components/content/Layout/LayoutFlex.js +33 -8
  136. package/dist/components/content/Layout/LayoutFlex.js.map +1 -1
  137. package/dist/components/content/Layout/LayoutFooter.js +53 -14
  138. package/dist/components/content/Layout/LayoutFooter.js.map +1 -1
  139. package/dist/components/content/Layout/LayoutGrid.js +48 -11
  140. package/dist/components/content/Layout/LayoutGrid.js.map +1 -1
  141. package/dist/components/content/Layout/LayoutHeader.js +216 -57
  142. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  143. package/dist/components/content/Layout/LayoutPane.js +60 -14
  144. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  145. package/dist/components/content/Layout/LayoutPanel.js +59 -17
  146. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  147. package/dist/components/content/Layout/LayoutPanelHeader.js +89 -27
  148. package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
  149. package/dist/components/content/Layout/LayoutToolbar.js +33 -8
  150. package/dist/components/content/Layout/LayoutToolbar.js.map +1 -1
  151. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +206 -119
  152. package/dist/components/content/Layout/hooks/useTinyScrollbar.js.map +1 -1
  153. package/dist/components/content/Layout/index.js +1 -1
  154. package/dist/components/content/Layout/index.js.map +1 -1
  155. package/dist/components/content/Layout/utils.js +1 -1
  156. package/dist/components/content/Layout/utils.js.map +1 -1
  157. package/dist/components/content/Paragraph.js +25 -9
  158. package/dist/components/content/Paragraph.js.map +1 -1
  159. package/dist/components/content/Placeholder/Placeholder.js +52 -14
  160. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  161. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  162. package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
  163. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  164. package/dist/components/content/PrismCode/prismSetup.js.map +1 -1
  165. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +52 -17
  166. package/dist/components/content/PrismDiffCode/PrismDiffCode.js.map +1 -1
  167. package/dist/components/content/Result/Result.js +117 -38
  168. package/dist/components/content/Result/Result.js.map +1 -1
  169. package/dist/components/content/Skeleton/Skeleton.js +26 -17
  170. package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
  171. package/dist/components/content/Tag/Tag.d.ts +6 -1
  172. package/dist/components/content/Tag/Tag.js +68 -13
  173. package/dist/components/content/Tag/Tag.js.map +1 -1
  174. package/dist/components/content/Text.js +61 -14
  175. package/dist/components/content/Text.js.map +1 -1
  176. package/dist/components/content/TextItem/TextItem.js +37 -16
  177. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  178. package/dist/components/content/Title.js +98 -23
  179. package/dist/components/content/Title.js.map +1 -1
  180. package/dist/components/content/Tree/Tree.js +32 -32
  181. package/dist/components/content/Tree/Tree.js.map +1 -1
  182. package/dist/components/content/Tree/TreeNode.js +10 -10
  183. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  184. package/dist/components/content/Tree/styled.js +1 -1
  185. package/dist/components/content/Tree/styled.js.map +1 -1
  186. package/dist/components/content/Tree/tree-index.js +1 -1
  187. package/dist/components/content/Tree/tree-index.js.map +1 -1
  188. package/dist/components/content/Tree/use-checkbox-tree.js +123 -89
  189. package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
  190. package/dist/components/content/Tree/use-load-data.js +52 -21
  191. package/dist/components/content/Tree/use-load-data.js.map +1 -1
  192. package/dist/components/content/highlightText.js +1 -1
  193. package/dist/components/content/highlightText.js.map +1 -1
  194. package/dist/components/content/use-auto-tooltip.d.ts +1 -1
  195. package/dist/components/content/use-auto-tooltip.js +231 -125
  196. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  197. package/dist/components/data/DataTable/DataTable.js +31 -31
  198. package/dist/components/data/DataTable/DataTable.js.map +1 -1
  199. package/dist/components/data/ItemTable/ItemTable.js +41 -41
  200. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  201. package/dist/components/data/ItemTable/ItemTableBulkBar.js +11 -11
  202. package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
  203. package/dist/components/data/ItemTable/ItemTableDragPreview.js +41 -4
  204. package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
  205. package/dist/components/data/ItemTable/ItemTableFooter.js +67 -30
  206. package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
  207. package/dist/components/data/ItemTable/ItemTableToolbar.js +95 -28
  208. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
  209. package/dist/components/data/TableBase/ColumnResizer.js +90 -41
  210. package/dist/components/data/TableBase/ColumnResizer.js.map +1 -1
  211. package/dist/components/data/TableBase/RowCollection.js +1 -1
  212. package/dist/components/data/TableBase/RowCollection.js.map +1 -1
  213. package/dist/components/data/TableBase/TableHeaderCell.js +154 -64
  214. package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
  215. package/dist/components/data/TableBase/TableRow.js +211 -69
  216. package/dist/components/data/TableBase/TableRow.js.map +1 -1
  217. package/dist/components/data/TableBase/TableView.js +119 -80
  218. package/dist/components/data/TableBase/TableView.js.map +1 -1
  219. package/dist/components/data/TableBase/column-menu.js +1 -1
  220. package/dist/components/data/TableBase/column-menu.js.map +1 -1
  221. package/dist/components/data/TableBase/column-tint.js +1 -1
  222. package/dist/components/data/TableBase/column-tint.js.map +1 -1
  223. package/dist/components/data/TableBase/row-menu.js +1 -1
  224. package/dist/components/data/TableBase/row-menu.js.map +1 -1
  225. package/dist/components/data/TableBase/styled.d.ts +1 -0
  226. package/dist/components/data/TableBase/styled.js +1 -1
  227. package/dist/components/data/TableBase/styled.js.map +1 -1
  228. package/dist/components/data/TableBase/table-tree.js +1 -1
  229. package/dist/components/data/TableBase/table-tree.js.map +1 -1
  230. package/dist/components/data/TableBase/types.js +1 -1
  231. package/dist/components/data/TableBase/types.js.map +1 -1
  232. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  233. package/dist/components/data/TableBase/use-cell-selection.js.map +1 -1
  234. package/dist/components/data/TableBase/use-column-order.js +56 -12
  235. package/dist/components/data/TableBase/use-column-order.js.map +1 -1
  236. package/dist/components/data/TableBase/use-container-width.js +24 -10
  237. package/dist/components/data/TableBase/use-container-width.js.map +1 -1
  238. package/dist/components/data/TableBase/use-row-move-animation.js +68 -49
  239. package/dist/components/data/TableBase/use-row-move-animation.js.map +1 -1
  240. package/dist/components/data/TableBase/use-scrollability.js +32 -18
  241. package/dist/components/data/TableBase/use-scrollability.js.map +1 -1
  242. package/dist/components/data/TableBase/use-table-columns.js +130 -60
  243. package/dist/components/data/TableBase/use-table-columns.js.map +1 -1
  244. package/dist/components/data/TableBase/use-table-search.js +1 -1
  245. package/dist/components/data/TableBase/use-table-search.js.map +1 -1
  246. package/dist/components/data/TableBase/use-table-selection.js +39 -39
  247. package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
  248. package/dist/components/data/TableBase/use-table-sort.js +132 -68
  249. package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
  250. package/dist/components/data/TableBase/use-table-sorts.js +168 -101
  251. package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
  252. package/dist/components/data/TableBase/use-table-storage.js +2 -2
  253. package/dist/components/data/TableBase/use-table-storage.js.map +1 -1
  254. package/dist/components/data/TableBase/use-table-tree-state.js +181 -86
  255. package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
  256. package/dist/components/fields/Checkbox/Checkbox.d.ts +8 -0
  257. package/dist/components/fields/Checkbox/Checkbox.js +58 -39
  258. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  259. package/dist/components/fields/Checkbox/CheckboxGroup.js +101 -33
  260. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  261. package/dist/components/fields/Checkbox/context.js +1 -1
  262. package/dist/components/fields/Checkbox/context.js.map +1 -1
  263. package/dist/components/fields/ColorInput/ColorInput.d.ts +17 -1
  264. package/dist/components/fields/ColorInput/ColorInput.js +334 -152
  265. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  266. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +18 -2
  267. package/dist/components/fields/ColorPicker/ColorPicker.js +18 -17
  268. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  269. package/dist/components/fields/ColorSwatch/ColorSwatch.js +52 -13
  270. package/dist/components/fields/ColorSwatch/ColorSwatch.js.map +1 -1
  271. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +90 -28
  272. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  273. package/dist/components/fields/ComboBox/ComboBox.js +216 -134
  274. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  275. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  276. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  277. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  278. package/dist/components/fields/CommandTextArea/caretPosition.js.map +1 -1
  279. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +88 -49
  280. package/dist/components/fields/CommandTextArea/useCaretAnchor.js.map +1 -1
  281. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  282. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  283. package/dist/components/fields/DatePicker/DateInputBase.js +129 -34
  284. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  285. package/dist/components/fields/DatePicker/DatePicker.d.ts +17 -1
  286. package/dist/components/fields/DatePicker/DatePicker.js +200 -71
  287. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  288. package/dist/components/fields/DatePicker/DatePickerButton.js +39 -8
  289. package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
  290. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  291. package/dist/components/fields/DatePicker/DatePickerElement.js.map +1 -1
  292. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  293. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  294. package/dist/components/fields/DatePicker/DatePickerSegment.js +109 -29
  295. package/dist/components/fields/DatePicker/DatePickerSegment.js.map +1 -1
  296. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +17 -2
  297. package/dist/components/fields/DatePicker/DateRangePicker.js +230 -90
  298. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  299. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +17 -2
  300. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +481 -180
  301. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  302. package/dist/components/fields/DatePicker/MonthPicker.js +15 -6
  303. package/dist/components/fields/DatePicker/MonthPicker.js.map +1 -1
  304. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +17 -1
  305. package/dist/components/fields/DatePicker/PeriodPicker.js +294 -93
  306. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  307. package/dist/components/fields/DatePicker/QuarterPicker.js +15 -6
  308. package/dist/components/fields/DatePicker/QuarterPicker.js.map +1 -1
  309. package/dist/components/fields/DatePicker/TimeInput.js +15 -7
  310. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  311. package/dist/components/fields/DatePicker/WeekPicker.js +15 -6
  312. package/dist/components/fields/DatePicker/WeekPicker.js.map +1 -1
  313. package/dist/components/fields/DatePicker/YearPicker.js +15 -6
  314. package/dist/components/fields/DatePicker/YearPicker.js.map +1 -1
  315. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  316. package/dist/components/fields/DatePicker/parseDate.js.map +1 -1
  317. package/dist/components/fields/DatePicker/period.js +1 -1
  318. package/dist/components/fields/DatePicker/period.js.map +1 -1
  319. package/dist/components/fields/DatePicker/props.js +1 -1
  320. package/dist/components/fields/DatePicker/props.js.map +1 -1
  321. package/dist/components/fields/DatePicker/utils.js +15 -8
  322. package/dist/components/fields/DatePicker/utils.js.map +1 -1
  323. package/dist/components/fields/FileInput/FileInput.js +3 -3
  324. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  325. package/dist/components/fields/FilterListBox/FilterListBox.js +87 -87
  326. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  327. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +11 -2
  328. package/dist/components/fields/FilterPicker/FilterPicker.js +24 -23
  329. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  330. package/dist/components/fields/Input/Input.js +1 -1
  331. package/dist/components/fields/Input/Input.js.map +1 -1
  332. package/dist/components/fields/ListBox/DraggableListBox.js +23 -10
  333. package/dist/components/fields/ListBox/DraggableListBox.js.map +1 -1
  334. package/dist/components/fields/ListBox/ListBox.js +138 -53
  335. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  336. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +156 -37
  337. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  338. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  339. package/dist/components/fields/ListBoxPopover/listNavigation.js.map +1 -1
  340. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +61 -33
  341. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
  342. package/dist/components/fields/NumberInput/NumberInput.js +123 -33
  343. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  344. package/dist/components/fields/NumberInput/StepButton.js +53 -15
  345. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  346. package/dist/components/fields/PasswordInput/PasswordInput.js +149 -45
  347. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  348. package/dist/components/fields/Picker/Picker.d.ts +20 -3
  349. package/dist/components/fields/Picker/Picker.js +11 -10
  350. package/dist/components/fields/Picker/Picker.js.map +1 -1
  351. package/dist/components/fields/RadioGroup/Radio.d.ts +10 -2
  352. package/dist/components/fields/RadioGroup/Radio.js +275 -104
  353. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  354. package/dist/components/fields/RadioGroup/RadioGroup.js +149 -48
  355. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  356. package/dist/components/fields/RadioGroup/context.js +1 -1
  357. package/dist/components/fields/RadioGroup/context.js.map +1 -1
  358. package/dist/components/fields/SearchComboBox/SearchComboBox.js +80 -65
  359. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  360. package/dist/components/fields/SearchInput/SearchInput.js +91 -28
  361. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  362. package/dist/components/fields/Select/Select.d.ts +24 -3
  363. package/dist/components/fields/Select/Select.js +376 -121
  364. package/dist/components/fields/Select/Select.js.map +1 -1
  365. package/dist/components/fields/Slider/Gradation.js +45 -10
  366. package/dist/components/fields/Slider/Gradation.js.map +1 -1
  367. package/dist/components/fields/Slider/HueSlider.js +121 -32
  368. package/dist/components/fields/Slider/HueSlider.js.map +1 -1
  369. package/dist/components/fields/Slider/RangeSlider.js +46 -10
  370. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  371. package/dist/components/fields/Slider/Slider.js +108 -23
  372. package/dist/components/fields/Slider/Slider.js.map +1 -1
  373. package/dist/components/fields/Slider/SliderBase.js +2 -2
  374. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  375. package/dist/components/fields/Slider/SliderThumb.js +96 -37
  376. package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
  377. package/dist/components/fields/Slider/SliderTrack.js +64 -23
  378. package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
  379. package/dist/components/fields/Slider/elements.js +1 -1
  380. package/dist/components/fields/Slider/elements.js.map +1 -1
  381. package/dist/components/fields/Slider/index.js +1 -1
  382. package/dist/components/fields/Switch/Switch.js +190 -66
  383. package/dist/components/fields/Switch/Switch.js.map +1 -1
  384. package/dist/components/fields/TextArea/TextArea.js +137 -47
  385. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  386. package/dist/components/fields/TextInput/TextInput.js +80 -27
  387. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  388. package/dist/components/fields/TextInput/TextInputBase.js +2 -2
  389. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  390. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  391. package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -1
  392. package/dist/components/fields/TextInputMapper/TextInputMapper.js +156 -83
  393. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  394. package/dist/components/fields/TriggerActions.js +11 -2
  395. package/dist/components/fields/TriggerActions.js.map +1 -1
  396. package/dist/components/fields/color/ColorPanel.js +237 -59
  397. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  398. package/dist/components/fields/color/channels.js +1 -1
  399. package/dist/components/fields/color/channels.js.map +1 -1
  400. package/dist/components/fields/color/color.js +1 -1
  401. package/dist/components/fields/color/color.js.map +1 -1
  402. package/dist/components/fields/color/context.js +1 -1
  403. package/dist/components/fields/color/context.js.map +1 -1
  404. package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +1 -1
  405. package/dist/components/form/FieldWrapper/FieldWrapper.js +197 -72
  406. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  407. package/dist/components/form/FieldWrapper/types.d.ts +1 -1
  408. package/dist/components/form/Form/Field.js +28 -12
  409. package/dist/components/form/Form/Field.js.map +1 -1
  410. package/dist/components/form/Form/Form.js +95 -34
  411. package/dist/components/form/Form/Form.js.map +1 -1
  412. package/dist/components/form/Form/ModernFormRoot.js +294 -81
  413. package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
  414. package/dist/components/form/Form/ResetButton/ResetButton.js +32 -10
  415. package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
  416. package/dist/components/form/Form/SubmitButton/SubmitButton.js +32 -10
  417. package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
  418. package/dist/components/form/Form/SubmitError.js +130 -32
  419. package/dist/components/form/Form/SubmitError.js.map +1 -1
  420. package/dist/components/form/Form/backend.js +1 -1
  421. package/dist/components/form/Form/backend.js.map +1 -1
  422. package/dist/components/form/Form/index.js +1 -1
  423. package/dist/components/form/Form/index.js.map +1 -1
  424. package/dist/components/form/Form/modern/actions.js +140 -45
  425. package/dist/components/form/Form/modern/actions.js.map +1 -1
  426. package/dist/components/form/Form/modern/context.js +1 -1
  427. package/dist/components/form/Form/modern/context.js.map +1 -1
  428. package/dist/components/form/Form/modern/controller.js +1 -1
  429. package/dist/components/form/Form/modern/controller.js.map +1 -1
  430. package/dist/components/form/Form/modern/field-binding.js +1 -1
  431. package/dist/components/form/Form/modern/field-binding.js.map +1 -1
  432. package/dist/components/form/Form/modern/field.js +1 -1
  433. package/dist/components/form/Form/modern/field.js.map +1 -1
  434. package/dist/components/form/Form/modern/react.js +102 -19
  435. package/dist/components/form/Form/modern/react.js.map +1 -1
  436. package/dist/components/form/Form/modern/store.js +13 -3
  437. package/dist/components/form/Form/modern/store.js.map +1 -1
  438. package/dist/components/form/Form/modern/types.d.ts +3 -1
  439. package/dist/components/form/Form/modern/validation.js +1 -1
  440. package/dist/components/form/Form/modern/validation.js.map +1 -1
  441. package/dist/components/form/Form/modern/values.js +1 -1
  442. package/dist/components/form/Form/modern/values.js.map +1 -1
  443. package/dist/components/form/Form/use-field/use-field-binding.js +236 -63
  444. package/dist/components/form/Form/use-field/use-field-binding.js.map +1 -1
  445. package/dist/components/form/Form/use-field/use-field-props.js +106 -61
  446. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  447. package/dist/components/form/Form/use-field/use-field.js +5 -4
  448. package/dist/components/form/Form/use-field/use-field.js.map +1 -1
  449. package/dist/components/form/Form/use-form.js +2 -1
  450. package/dist/components/form/Form/use-form.js.map +1 -1
  451. package/dist/components/form/Form/validation.js +1 -1
  452. package/dist/components/form/Form/validation.js.map +1 -1
  453. package/dist/components/form/Label.js +127 -37
  454. package/dist/components/form/Label.js.map +1 -1
  455. package/dist/components/form/legacy-tooltip.js +28 -0
  456. package/dist/components/form/legacy-tooltip.js.map +1 -0
  457. package/dist/components/form/validation/ValidationIndicator.js +20 -5
  458. package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
  459. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  460. package/dist/components/form/validation/resolve-validation-props.js.map +1 -1
  461. package/dist/components/form/validation/use-validation-props.js +36 -10
  462. package/dist/components/form/validation/use-validation-props.js.map +1 -1
  463. package/dist/components/form/wrapper.js +5 -3
  464. package/dist/components/form/wrapper.js.map +1 -1
  465. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +49 -29
  466. package/dist/components/helpers/DisplayTransition/DisplayTransition.js.map +1 -1
  467. package/dist/components/helpers/IconSwitch/IconSwitch.js +8 -8
  468. package/dist/components/helpers/IconSwitch/IconSwitch.js.map +1 -1
  469. package/dist/components/layout/Board/Board.js +27 -9
  470. package/dist/components/layout/Board/Board.js.map +1 -1
  471. package/dist/components/layout/Board/BoardProvider.js +1 -1
  472. package/dist/components/layout/Board/BoardProvider.js.map +1 -1
  473. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  474. package/dist/components/layout/Board/BoardResponsive.js.map +1 -1
  475. package/dist/components/layout/Board/Widget.js +1 -1
  476. package/dist/components/layout/Board/Widget.js.map +1 -1
  477. package/dist/components/layout/Board/WidgetHost.js +159 -121
  478. package/dist/components/layout/Board/WidgetHost.js.map +1 -1
  479. package/dist/components/layout/Board/board-context.js +14 -5
  480. package/dist/components/layout/Board/board-context.js.map +1 -1
  481. package/dist/components/layout/Board/board-store.js +1 -1
  482. package/dist/components/layout/Board/board-store.js.map +1 -1
  483. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  484. package/dist/components/layout/Board/grid-core/calculate.js.map +1 -1
  485. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  486. package/dist/components/layout/Board/grid-core/collision-modes.js.map +1 -1
  487. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  488. package/dist/components/layout/Board/grid-core/collision.js.map +1 -1
  489. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  490. package/dist/components/layout/Board/grid-core/compactors.js.map +1 -1
  491. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  492. package/dist/components/layout/Board/grid-core/constraints.js.map +1 -1
  493. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  494. package/dist/components/layout/Board/grid-core/group-move.js.map +1 -1
  495. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  496. package/dist/components/layout/Board/grid-core/layout.js.map +1 -1
  497. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  498. package/dist/components/layout/Board/grid-core/placement.js.map +1 -1
  499. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  500. package/dist/components/layout/Board/grid-core/sort.js.map +1 -1
  501. package/dist/components/layout/Board/index.js +1 -1
  502. package/dist/components/layout/Board/index.js.map +1 -1
  503. package/dist/components/layout/Board/responsive-utils.js +1 -1
  504. package/dist/components/layout/Board/responsive-utils.js.map +1 -1
  505. package/dist/components/layout/Board/use-board-layout.js +8 -8
  506. package/dist/components/layout/Board/use-board-layout.js.map +1 -1
  507. package/dist/components/layout/Board/use-board-registry.js +257 -257
  508. package/dist/components/layout/Board/use-board-registry.js.map +1 -1
  509. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  510. package/dist/components/layout/Board/use-board-select-modifier-key.js.map +1 -1
  511. package/dist/components/layout/Board/use-board-selection.js +16 -16
  512. package/dist/components/layout/Board/use-board-selection.js.map +1 -1
  513. package/dist/components/layout/Flex.js +29 -7
  514. package/dist/components/layout/Flex.js.map +1 -1
  515. package/dist/components/layout/Flow.js +29 -7
  516. package/dist/components/layout/Flow.js.map +1 -1
  517. package/dist/components/layout/Grid.js +30 -7
  518. package/dist/components/layout/Grid.js.map +1 -1
  519. package/dist/components/layout/Panel.js +9 -9
  520. package/dist/components/layout/Panel.js.map +1 -1
  521. package/dist/components/layout/Prefix.js +59 -16
  522. package/dist/components/layout/Prefix.js.map +1 -1
  523. package/dist/components/layout/ResizablePanel.js +62 -32
  524. package/dist/components/layout/ResizablePanel.js.map +1 -1
  525. package/dist/components/layout/Space.js +55 -11
  526. package/dist/components/layout/Space.js.map +1 -1
  527. package/dist/components/layout/Suffix.js +59 -16
  528. package/dist/components/layout/Suffix.js.map +1 -1
  529. package/dist/components/navigation/Pagination/Pagination.js +394 -164
  530. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  531. package/dist/components/navigation/Pagination/use-pagination.js +69 -26
  532. package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
  533. package/dist/components/navigation/Tabs/DraggableTabList.js +25 -10
  534. package/dist/components/navigation/Tabs/DraggableTabList.js.map +1 -1
  535. package/dist/components/navigation/Tabs/TabButton.js +625 -235
  536. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  537. package/dist/components/navigation/Tabs/TabDropIndicator.js +65 -23
  538. package/dist/components/navigation/Tabs/TabDropIndicator.js.map +1 -1
  539. package/dist/components/navigation/Tabs/TabPanel.js +47 -19
  540. package/dist/components/navigation/Tabs/TabPanel.js.map +1 -1
  541. package/dist/components/navigation/Tabs/TabPicker.js +106 -33
  542. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  543. package/dist/components/navigation/Tabs/Tabs.js +45 -45
  544. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  545. package/dist/components/navigation/Tabs/TabsAction.js +53 -19
  546. package/dist/components/navigation/Tabs/TabsAction.js.map +1 -1
  547. package/dist/components/navigation/Tabs/TabsContext.js +16 -6
  548. package/dist/components/navigation/Tabs/TabsContext.js.map +1 -1
  549. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  550. package/dist/components/navigation/Tabs/popover-placement.js.map +1 -1
  551. package/dist/components/navigation/Tabs/styled.js +2 -2
  552. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  553. package/dist/components/navigation/Tabs/types.js +1 -1
  554. package/dist/components/navigation/Tabs/types.js.map +1 -1
  555. package/dist/components/navigation/Tabs/use-tab-editing.js +50 -13
  556. package/dist/components/navigation/Tabs/use-tab-editing.js.map +1 -1
  557. package/dist/components/navigation/Tabs/use-tab-indicator.js +111 -63
  558. package/dist/components/navigation/Tabs/use-tab-indicator.js.map +1 -1
  559. package/dist/components/organisms/StatsCard/StatsCard.js +54 -14
  560. package/dist/components/organisms/StatsCard/StatsCard.js.map +1 -1
  561. package/dist/components/other/Calendar/Calendar.js +79 -31
  562. package/dist/components/other/Calendar/Calendar.js.map +1 -1
  563. package/dist/components/other/Calendar/CalendarCell.js +66 -20
  564. package/dist/components/other/Calendar/CalendarCell.js.map +1 -1
  565. package/dist/components/other/Calendar/CalendarGrid.js +90 -40
  566. package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
  567. package/dist/components/other/Calendar/CalendarHeader.js +80 -17
  568. package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
  569. package/dist/components/other/Calendar/CalendarPanel.js +568 -144
  570. package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
  571. package/dist/components/other/Calendar/PeriodCalendar.js +425 -134
  572. package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -1
  573. package/dist/components/other/Calendar/PeriodGrid.js +6 -6
  574. package/dist/components/other/Calendar/PeriodGrid.js.map +1 -1
  575. package/dist/components/other/Calendar/RangeCalendar.js +50 -24
  576. package/dist/components/other/Calendar/RangeCalendar.js.map +1 -1
  577. package/dist/components/other/Calendar/styled.js +1 -1
  578. package/dist/components/other/Calendar/styled.js.map +1 -1
  579. package/dist/components/other/CubeLogo/CubeLogo.js +95 -34
  580. package/dist/components/other/CubeLogo/CubeLogo.js.map +1 -1
  581. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  582. package/dist/components/other/NoDataIcon/NoDataIcon.js.map +1 -1
  583. package/dist/components/overlays/AlertDialog/AlertDialog.js +153 -42
  584. package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
  585. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +76 -54
  586. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
  587. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +146 -39
  588. package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
  589. package/dist/components/overlays/Dialog/Dialog.js +43 -18
  590. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  591. package/dist/components/overlays/Dialog/DialogContainer.js +13 -13
  592. package/dist/components/overlays/Dialog/DialogContainer.js.map +1 -1
  593. package/dist/components/overlays/Dialog/DialogForm.d.ts +12 -7
  594. package/dist/components/overlays/Dialog/DialogForm.js +22 -10
  595. package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
  596. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +1 -1
  597. package/dist/components/overlays/Dialog/DialogTrigger.js +214 -59
  598. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  599. package/dist/components/overlays/Dialog/ModernDialogForm.js +357 -0
  600. package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -0
  601. package/dist/components/overlays/Dialog/context.js +1 -1
  602. package/dist/components/overlays/Dialog/context.js.map +1 -1
  603. package/dist/components/overlays/Dialog/index.d.ts +1 -1
  604. package/dist/components/overlays/Dialog/use-content-overflow.js +68 -0
  605. package/dist/components/overlays/Dialog/use-content-overflow.js.map +1 -0
  606. package/dist/components/overlays/Dialog/use-dialog-container.js +6 -6
  607. package/dist/components/overlays/Dialog/use-dialog-container.js.map +1 -1
  608. package/dist/components/overlays/Modal/Modal.js +140 -27
  609. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  610. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  611. package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -1
  612. package/dist/components/overlays/Modal/Overlay.js +4 -4
  613. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  614. package/dist/components/overlays/Modal/Popover.js +131 -29
  615. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  616. package/dist/components/overlays/Modal/Tray.js +142 -30
  617. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  618. package/dist/components/overlays/Modal/Underlay.js +36 -7
  619. package/dist/components/overlays/Modal/Underlay.js.map +1 -1
  620. package/dist/components/overlays/Notifications/Notification.js +69 -32
  621. package/dist/components/overlays/Notifications/Notification.js.map +1 -1
  622. package/dist/components/overlays/Notifications/NotificationAction.js +79 -26
  623. package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
  624. package/dist/components/overlays/Notifications/NotificationCard.js +138 -33
  625. package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
  626. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  627. package/dist/components/overlays/Notifications/NotificationContext.js.map +1 -1
  628. package/dist/components/overlays/Notifications/NotificationItem.js +63 -16
  629. package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
  630. package/dist/components/overlays/Notifications/OverlayContainer.js +312 -151
  631. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  632. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  633. package/dist/components/overlays/Notifications/OverlayProvider.js.map +1 -1
  634. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +210 -58
  635. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  636. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  637. package/dist/components/overlays/Notifications/dismissed-storage.js.map +1 -1
  638. package/dist/components/overlays/Notifications/format-relative-time.d.ts +1 -1
  639. package/dist/components/overlays/Notifications/format-relative-time.js +3 -3
  640. package/dist/components/overlays/Notifications/format-relative-time.js.map +1 -1
  641. package/dist/components/overlays/Notifications/index.js +1 -1
  642. package/dist/components/overlays/Notifications/index.js.map +1 -1
  643. package/dist/components/overlays/Notifications/use-notification-state.js +51 -51
  644. package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
  645. package/dist/components/overlays/Notifications/use-notifications.js +12 -12
  646. package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
  647. package/dist/components/overlays/Notifications/use-overlay-timers.js +10 -10
  648. package/dist/components/overlays/Notifications/use-overlay-timers.js.map +1 -1
  649. package/dist/components/overlays/Notifications/use-persistent-notifications.js +24 -5
  650. package/dist/components/overlays/Notifications/use-persistent-notifications.js.map +1 -1
  651. package/dist/components/overlays/Notifications/use-persistent-state.js +145 -43
  652. package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
  653. package/dist/components/overlays/Notifications/use-toast-state.js +25 -25
  654. package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
  655. package/dist/components/overlays/Toast/ToastItem.js +68 -15
  656. package/dist/components/overlays/Toast/ToastItem.js.map +1 -1
  657. package/dist/components/overlays/Toast/index.js +100 -34
  658. package/dist/components/overlays/Toast/index.js.map +1 -1
  659. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  660. package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
  661. package/dist/components/overlays/Toast/useToast.js +9 -9
  662. package/dist/components/overlays/Toast/useToast.js.map +1 -1
  663. package/dist/components/overlays/Tooltip/Tooltip.js +88 -31
  664. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  665. package/dist/components/overlays/Tooltip/TooltipProvider.js +75 -10
  666. package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
  667. package/dist/components/overlays/Tooltip/TooltipTrigger.js +189 -77
  668. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  669. package/dist/components/overlays/Tooltip/context.js +1 -1
  670. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  671. package/dist/components/overlays/Tooltip/split-trigger-props.d.ts +16 -0
  672. package/dist/components/overlays/Tooltip/split-trigger-props.js +54 -0
  673. package/dist/components/overlays/Tooltip/split-trigger-props.js.map +1 -0
  674. package/dist/components/portal/Portal.js +18 -3
  675. package/dist/components/portal/Portal.js.map +1 -1
  676. package/dist/components/portal/PortalProvider.js +11 -2
  677. package/dist/components/portal/PortalProvider.js.map +1 -1
  678. package/dist/components/portal/usePortal.js +1 -1
  679. package/dist/components/portal/usePortal.js.map +1 -1
  680. package/dist/components/shared/DraggableCollection.js +23 -23
  681. package/dist/components/shared/DraggableCollection.js.map +1 -1
  682. package/dist/components/shared/InvalidIcon.js +1 -1
  683. package/dist/components/shared/InvalidIcon.js.map +1 -1
  684. package/dist/components/shared/ValidIcon.js +1 -1
  685. package/dist/components/shared/ValidIcon.js.map +1 -1
  686. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +156 -48
  687. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  688. package/dist/components/status/Spin/Cube.js +12 -3
  689. package/dist/components/status/Spin/Cube.js.map +1 -1
  690. package/dist/components/status/Spin/InternalSpinner.js +21 -6
  691. package/dist/components/status/Spin/InternalSpinner.js.map +1 -1
  692. package/dist/components/status/Spin/Spin.js +31 -7
  693. package/dist/components/status/Spin/Spin.js.map +1 -1
  694. package/dist/components/status/Spin/SpinsContainer.js +23 -6
  695. package/dist/components/status/Spin/SpinsContainer.js.map +1 -1
  696. package/dist/data/item-themes.d.ts +1 -1
  697. package/dist/data/item-themes.js +7 -1
  698. package/dist/data/item-themes.js.map +1 -1
  699. package/dist/data/themes.js +1 -1
  700. package/dist/data/themes.js.map +1 -1
  701. package/dist/eslint-plugin/defaults.generated.js +15 -5
  702. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  703. package/dist/eslint-plugin/index.js +1 -1
  704. package/dist/eslint-plugin/index.js.map +1 -1
  705. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  706. package/dist/eslint-plugin/rules/no-redundant-default-prop.js.map +1 -1
  707. package/dist/i18n/I18nProvider.js +54 -13
  708. package/dist/i18n/I18nProvider.js.map +1 -1
  709. package/dist/i18n/createFormatter.js +1 -1
  710. package/dist/i18n/createFormatter.js.map +1 -1
  711. package/dist/i18n/index.js +1 -1
  712. package/dist/i18n/index.js.map +1 -1
  713. package/dist/i18n/instance.js +1 -1
  714. package/dist/i18n/instance.js.map +1 -1
  715. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  716. package/dist/i18n/locales/en-US/uikit.js +1 -1
  717. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  718. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  719. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  720. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  721. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  722. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  723. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  724. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  725. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  726. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  727. package/dist/i18n/locales.js +1 -1
  728. package/dist/i18n/locales.js.map +1 -1
  729. package/dist/i18n/useFormatter.js +10 -3
  730. package/dist/i18n/useFormatter.js.map +1 -1
  731. package/dist/i18n/useI18n.js +1 -1
  732. package/dist/i18n/useI18n.js.map +1 -1
  733. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  734. package/dist/icons/AdjustmentsHorizontalIcon.js.map +1 -1
  735. package/dist/icons/AdjustmentsIcon.js +1 -1
  736. package/dist/icons/AdjustmentsIcon.js.map +1 -1
  737. package/dist/icons/AiIcon.js +1 -1
  738. package/dist/icons/AiIcon.js.map +1 -1
  739. package/dist/icons/AreaChartIcon.js +1 -1
  740. package/dist/icons/AreaChartIcon.js.map +1 -1
  741. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  742. package/dist/icons/ArrowNarrowDownIcon.js.map +1 -1
  743. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  744. package/dist/icons/ArrowNarrowUpIcon.js.map +1 -1
  745. package/dist/icons/BackwardIcon.js +1 -1
  746. package/dist/icons/BackwardIcon.js.map +1 -1
  747. package/dist/icons/BarChartIcon.js +1 -1
  748. package/dist/icons/BarChartIcon.js.map +1 -1
  749. package/dist/icons/BellFilledIcon.js +1 -1
  750. package/dist/icons/BellFilledIcon.js.map +1 -1
  751. package/dist/icons/BellIcon.js +1 -1
  752. package/dist/icons/BellIcon.js.map +1 -1
  753. package/dist/icons/BooleanIcon.js +1 -1
  754. package/dist/icons/BooleanIcon.js.map +1 -1
  755. package/dist/icons/CalendarEditIcon.js +1 -1
  756. package/dist/icons/CalendarEditIcon.js.map +1 -1
  757. package/dist/icons/CalendarIcon.js +1 -1
  758. package/dist/icons/CalendarIcon.js.map +1 -1
  759. package/dist/icons/CaretDownIcon.js +1 -1
  760. package/dist/icons/CaretDownIcon.js.map +1 -1
  761. package/dist/icons/CaretUpIcon.js +1 -1
  762. package/dist/icons/CaretUpIcon.js.map +1 -1
  763. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  764. package/dist/icons/ChartAreaStackedIcon.js.map +1 -1
  765. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  766. package/dist/icons/ChartAreaStackedPercentageIcon.js.map +1 -1
  767. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  768. package/dist/icons/ChartBarGroupedHorizontalIcon.js.map +1 -1
  769. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  770. package/dist/icons/ChartBarGroupedIcon.js.map +1 -1
  771. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  772. package/dist/icons/ChartBarHorizontalIcon.js.map +1 -1
  773. package/dist/icons/ChartBarLineIcon.js +1 -1
  774. package/dist/icons/ChartBarLineIcon.js.map +1 -1
  775. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  776. package/dist/icons/ChartBarStackedHorizontalIcon.js.map +1 -1
  777. package/dist/icons/ChartBarStackedIcon.js +1 -1
  778. package/dist/icons/ChartBarStackedIcon.js.map +1 -1
  779. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  780. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js.map +1 -1
  781. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  782. package/dist/icons/ChartBarStackedPercentageIcon.js.map +1 -1
  783. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  784. package/dist/icons/ChartBoxPlot2Icon.js.map +1 -1
  785. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  786. package/dist/icons/ChartBoxPlotIcon.js.map +1 -1
  787. package/dist/icons/ChartBubbleIcon.js +1 -1
  788. package/dist/icons/ChartBubbleIcon.js.map +1 -1
  789. package/dist/icons/ChartDonut2Icon.js +1 -1
  790. package/dist/icons/ChartDonut2Icon.js.map +1 -1
  791. package/dist/icons/ChartFunnelIcon.js +1 -1
  792. package/dist/icons/ChartFunnelIcon.js.map +1 -1
  793. package/dist/icons/ChartHeatmapIcon.js +1 -1
  794. package/dist/icons/ChartHeatmapIcon.js.map +1 -1
  795. package/dist/icons/ChartKPIIcon.js +1 -1
  796. package/dist/icons/ChartKPIIcon.js.map +1 -1
  797. package/dist/icons/ChartPie2Icon.js +1 -1
  798. package/dist/icons/ChartPie2Icon.js.map +1 -1
  799. package/dist/icons/ChartScatterIcon.js +1 -1
  800. package/dist/icons/ChartScatterIcon.js.map +1 -1
  801. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  802. package/dist/icons/CheckCircleFilledIcon.js.map +1 -1
  803. package/dist/icons/CheckCircleIcon.js +1 -1
  804. package/dist/icons/CheckCircleIcon.js.map +1 -1
  805. package/dist/icons/CheckIcon.js +1 -1
  806. package/dist/icons/CheckIcon.js.map +1 -1
  807. package/dist/icons/CircleFilledIcon.js +1 -1
  808. package/dist/icons/CircleFilledIcon.js.map +1 -1
  809. package/dist/icons/ClearIcon.js +1 -1
  810. package/dist/icons/ClearIcon.js.map +1 -1
  811. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  812. package/dist/icons/CloseCircleFilledIcon.js.map +1 -1
  813. package/dist/icons/CloseCircleIcon.js +1 -1
  814. package/dist/icons/CloseCircleIcon.js.map +1 -1
  815. package/dist/icons/CloseIcon.js +1 -1
  816. package/dist/icons/CloseIcon.js.map +1 -1
  817. package/dist/icons/CodeIcon.js +1 -1
  818. package/dist/icons/CodeIcon.js.map +1 -1
  819. package/dist/icons/ColumnTotalIcon.js +1 -1
  820. package/dist/icons/ColumnTotalIcon.js.map +1 -1
  821. package/dist/icons/CopyIcon.js +1 -1
  822. package/dist/icons/CopyIcon.js.map +1 -1
  823. package/dist/icons/CountIcon.js +1 -1
  824. package/dist/icons/CountIcon.js.map +1 -1
  825. package/dist/icons/CubeIcon.js +1 -1
  826. package/dist/icons/CubeIcon.js.map +1 -1
  827. package/dist/icons/CubePauseIcon.js +1 -1
  828. package/dist/icons/CubePauseIcon.js.map +1 -1
  829. package/dist/icons/CubePlayIcon.js +1 -1
  830. package/dist/icons/CubePlayIcon.js.map +1 -1
  831. package/dist/icons/CurrencyDollarIcon.js +1 -1
  832. package/dist/icons/CurrencyDollarIcon.js.map +1 -1
  833. package/dist/icons/DangerIcon.js +1 -1
  834. package/dist/icons/DangerIcon.js.map +1 -1
  835. package/dist/icons/DashboardIcon.js +1 -1
  836. package/dist/icons/DashboardIcon.js.map +1 -1
  837. package/dist/icons/DatabaseIcon.js +1 -1
  838. package/dist/icons/DatabaseIcon.js.map +1 -1
  839. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  840. package/dist/icons/DecimalDecreaseIcon.js.map +1 -1
  841. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  842. package/dist/icons/DecimalIncreaseIcon.js.map +1 -1
  843. package/dist/icons/DirectionIcon.js +67 -22
  844. package/dist/icons/DirectionIcon.js.map +1 -1
  845. package/dist/icons/DonutIcon.js +1 -1
  846. package/dist/icons/DonutIcon.js.map +1 -1
  847. package/dist/icons/DownIcon.js +1 -1
  848. package/dist/icons/DownIcon.js.map +1 -1
  849. package/dist/icons/EditIcon.js +1 -1
  850. package/dist/icons/EditIcon.js.map +1 -1
  851. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  852. package/dist/icons/ExclamationCircleFilledIcon.js.map +1 -1
  853. package/dist/icons/ExclamationCircleIcon.js +1 -1
  854. package/dist/icons/ExclamationCircleIcon.js.map +1 -1
  855. package/dist/icons/ExclamationIcon.js +1 -1
  856. package/dist/icons/ExclamationIcon.js.map +1 -1
  857. package/dist/icons/EyeIcon.js +1 -1
  858. package/dist/icons/EyeIcon.js.map +1 -1
  859. package/dist/icons/EyeInvisibleIcon.js +1 -1
  860. package/dist/icons/EyeInvisibleIcon.js.map +1 -1
  861. package/dist/icons/FilterIcon.js +1 -1
  862. package/dist/icons/FilterIcon.js.map +1 -1
  863. package/dist/icons/FolderFilledIcon.js +1 -1
  864. package/dist/icons/FolderFilledIcon.js.map +1 -1
  865. package/dist/icons/FolderIcon.js +1 -1
  866. package/dist/icons/FolderIcon.js.map +1 -1
  867. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  868. package/dist/icons/FolderOpenFilledIcon.js.map +1 -1
  869. package/dist/icons/FolderOpenIcon.js +1 -1
  870. package/dist/icons/FolderOpenIcon.js.map +1 -1
  871. package/dist/icons/ForwardIcon.js +1 -1
  872. package/dist/icons/ForwardIcon.js.map +1 -1
  873. package/dist/icons/GripVerticalIcon.js +1 -1
  874. package/dist/icons/GripVerticalIcon.js.map +1 -1
  875. package/dist/icons/HierarchyIcon.js +1 -1
  876. package/dist/icons/HierarchyIcon.js.map +1 -1
  877. package/dist/icons/HierarchyOpenIcon.js +1 -1
  878. package/dist/icons/HierarchyOpenIcon.js.map +1 -1
  879. package/dist/icons/Icon.js +60 -16
  880. package/dist/icons/Icon.js.map +1 -1
  881. package/dist/icons/InfoCircleIcon.js +1 -1
  882. package/dist/icons/InfoCircleIcon.js.map +1 -1
  883. package/dist/icons/InfoIcon.js +1 -1
  884. package/dist/icons/InfoIcon.js.map +1 -1
  885. package/dist/icons/KeyIcon.js +1 -1
  886. package/dist/icons/KeyIcon.js.map +1 -1
  887. package/dist/icons/LeftIcon.js +1 -1
  888. package/dist/icons/LeftIcon.js.map +1 -1
  889. package/dist/icons/LineChartIcon.js +1 -1
  890. package/dist/icons/LineChartIcon.js.map +1 -1
  891. package/dist/icons/LoadingIcon.js +1 -1
  892. package/dist/icons/LoadingIcon.js.map +1 -1
  893. package/dist/icons/LockFilledIcon.js +1 -1
  894. package/dist/icons/LockFilledIcon.js.map +1 -1
  895. package/dist/icons/LockIcon.js +1 -1
  896. package/dist/icons/LockIcon.js.map +1 -1
  897. package/dist/icons/MoreIcon.js +1 -1
  898. package/dist/icons/MoreIcon.js.map +1 -1
  899. package/dist/icons/NotAllowedIcon.js +1 -1
  900. package/dist/icons/NotAllowedIcon.js.map +1 -1
  901. package/dist/icons/Number123Icon.js +1 -1
  902. package/dist/icons/Number123Icon.js.map +1 -1
  903. package/dist/icons/NumberIcon.js +1 -1
  904. package/dist/icons/NumberIcon.js.map +1 -1
  905. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  906. package/dist/icons/PauseCircleFilledIcon.js.map +1 -1
  907. package/dist/icons/PauseCircleIcon.js +1 -1
  908. package/dist/icons/PauseCircleIcon.js.map +1 -1
  909. package/dist/icons/PauseIcon.js +1 -1
  910. package/dist/icons/PauseIcon.js.map +1 -1
  911. package/dist/icons/PercentageIcon.js +1 -1
  912. package/dist/icons/PercentageIcon.js.map +1 -1
  913. package/dist/icons/PieChartIcon.js +1 -1
  914. package/dist/icons/PieChartIcon.js.map +1 -1
  915. package/dist/icons/PipetteIcon.js +1 -1
  916. package/dist/icons/PipetteIcon.js.map +1 -1
  917. package/dist/icons/PlayCircleIcon.js +1 -1
  918. package/dist/icons/PlayCircleIcon.js.map +1 -1
  919. package/dist/icons/PlayIcon.js +1 -1
  920. package/dist/icons/PlayIcon.js.map +1 -1
  921. package/dist/icons/PlusIcon.js +1 -1
  922. package/dist/icons/PlusIcon.js.map +1 -1
  923. package/dist/icons/ProgressBarIcon.js +1 -1
  924. package/dist/icons/ProgressBarIcon.js.map +1 -1
  925. package/dist/icons/ReloadIcon.js +1 -1
  926. package/dist/icons/ReloadIcon.js.map +1 -1
  927. package/dist/icons/ReportIcon.js +1 -1
  928. package/dist/icons/ReportIcon.js.map +1 -1
  929. package/dist/icons/ReturnIcon.js +1 -1
  930. package/dist/icons/ReturnIcon.js.map +1 -1
  931. package/dist/icons/RightIcon.js +1 -1
  932. package/dist/icons/RightIcon.js.map +1 -1
  933. package/dist/icons/RowTotalsIcon.js +1 -1
  934. package/dist/icons/RowTotalsIcon.js.map +1 -1
  935. package/dist/icons/SchemeIcon.js +1 -1
  936. package/dist/icons/SchemeIcon.js.map +1 -1
  937. package/dist/icons/SearchIcon.js +1 -1
  938. package/dist/icons/SearchIcon.js.map +1 -1
  939. package/dist/icons/SemanticQueryIcon.js +1 -1
  940. package/dist/icons/SemanticQueryIcon.js.map +1 -1
  941. package/dist/icons/SettingsIcon.js +1 -1
  942. package/dist/icons/SettingsIcon.js.map +1 -1
  943. package/dist/icons/ShieldFilledIcon.js +1 -1
  944. package/dist/icons/ShieldFilledIcon.js.map +1 -1
  945. package/dist/icons/ShieldIcon.js +1 -1
  946. package/dist/icons/ShieldIcon.js.map +1 -1
  947. package/dist/icons/SlashIcon.js +1 -1
  948. package/dist/icons/SlashIcon.js.map +1 -1
  949. package/dist/icons/SparklesIcon.js +1 -1
  950. package/dist/icons/SparklesIcon.js.map +1 -1
  951. package/dist/icons/SqlIcon.js +1 -1
  952. package/dist/icons/SqlIcon.js.map +1 -1
  953. package/dist/icons/StatsIcon.js +1 -1
  954. package/dist/icons/StatsIcon.js.map +1 -1
  955. package/dist/icons/StopIcon.js +1 -1
  956. package/dist/icons/StopIcon.js.map +1 -1
  957. package/dist/icons/StringIcon.js +1 -1
  958. package/dist/icons/StringIcon.js.map +1 -1
  959. package/dist/icons/SubtotalsIcon.js +1 -1
  960. package/dist/icons/SubtotalsIcon.js.map +1 -1
  961. package/dist/icons/SwitchIcon.js +1 -1
  962. package/dist/icons/SwitchIcon.js.map +1 -1
  963. package/dist/icons/TableIcon.js +1 -1
  964. package/dist/icons/TableIcon.js.map +1 -1
  965. package/dist/icons/ThumbsDownIcon.js +1 -1
  966. package/dist/icons/ThumbsDownIcon.js.map +1 -1
  967. package/dist/icons/ThumbsUpIcon.js +1 -1
  968. package/dist/icons/ThumbsUpIcon.js.map +1 -1
  969. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  970. package/dist/icons/ThunderboltCrossedIcon.js.map +1 -1
  971. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  972. package/dist/icons/ThunderboltFilledIcon.js.map +1 -1
  973. package/dist/icons/ThunderboltIcon.js +1 -1
  974. package/dist/icons/ThunderboltIcon.js.map +1 -1
  975. package/dist/icons/TimeIcon.js +1 -1
  976. package/dist/icons/TimeIcon.js.map +1 -1
  977. package/dist/icons/TrashIcon.js +1 -1
  978. package/dist/icons/TrashIcon.js.map +1 -1
  979. package/dist/icons/UnlockIcon.js +1 -1
  980. package/dist/icons/UnlockIcon.js.map +1 -1
  981. package/dist/icons/UpIcon.js +1 -1
  982. package/dist/icons/UpIcon.js.map +1 -1
  983. package/dist/icons/UserGroupIcon.js +1 -1
  984. package/dist/icons/UserGroupIcon.js.map +1 -1
  985. package/dist/icons/UserIcon.js +1 -1
  986. package/dist/icons/UserIcon.js.map +1 -1
  987. package/dist/icons/UserLockIcon.js +1 -1
  988. package/dist/icons/UserLockIcon.js.map +1 -1
  989. package/dist/icons/ViewIcon.js +1 -1
  990. package/dist/icons/ViewIcon.js.map +1 -1
  991. package/dist/icons/WarningFilledIcon.js +1 -1
  992. package/dist/icons/WarningFilledIcon.js.map +1 -1
  993. package/dist/icons/WarningIcon.js +1 -1
  994. package/dist/icons/WarningIcon.js.map +1 -1
  995. package/dist/icons/wrap-icon.js +15 -7
  996. package/dist/icons/wrap-icon.js.map +1 -1
  997. package/dist/index.d.ts +22 -22
  998. package/dist/index.js +1 -1
  999. package/dist/index.js.map +1 -1
  1000. package/dist/probe/canonicalize.js +2 -2
  1001. package/dist/probe/canonicalize.js.map +1 -1
  1002. package/dist/probe/css.js +1 -1
  1003. package/dist/probe/css.js.map +1 -1
  1004. package/dist/probe/index.js +1 -1
  1005. package/dist/provider.js +17 -7
  1006. package/dist/provider.js.map +1 -1
  1007. package/dist/providers/TrackingProvider.js +33 -9
  1008. package/dist/providers/TrackingProvider.js.map +1 -1
  1009. package/dist/providers/navigationAdapter.default.js +1 -1
  1010. package/dist/providers/navigationAdapter.default.js.map +1 -1
  1011. package/dist/shared/form.d.ts +9 -2
  1012. package/dist/tokens/all-tokens.js +1 -1
  1013. package/dist/tokens/all-tokens.js.map +1 -1
  1014. package/dist/tokens/base.js +1 -1
  1015. package/dist/tokens/base.js.map +1 -1
  1016. package/dist/tokens/color-seed.js +1 -1
  1017. package/dist/tokens/color-seed.js.map +1 -1
  1018. package/dist/tokens/color-theme.js +18 -3
  1019. package/dist/tokens/color-theme.js.map +1 -1
  1020. package/dist/tokens/colors.js +1 -1
  1021. package/dist/tokens/colors.js.map +1 -1
  1022. package/dist/tokens/layout.js +1 -1
  1023. package/dist/tokens/layout.js.map +1 -1
  1024. package/dist/tokens/lazy-styles.js +1 -1
  1025. package/dist/tokens/lazy-styles.js.map +1 -1
  1026. package/dist/tokens/legacy-color.js +1 -1
  1027. package/dist/tokens/legacy-color.js.map +1 -1
  1028. package/dist/tokens/palette-config.js +9 -2
  1029. package/dist/tokens/palette-config.js.map +1 -1
  1030. package/dist/tokens/palette.js +1 -1
  1031. package/dist/tokens/palette.js.map +1 -1
  1032. package/dist/tokens/resolve.js +85 -21
  1033. package/dist/tokens/resolve.js.map +1 -1
  1034. package/dist/tokens/shadows.js +1 -1
  1035. package/dist/tokens/shadows.js.map +1 -1
  1036. package/dist/tokens/sizes.js +1 -1
  1037. package/dist/tokens/sizes.js.map +1 -1
  1038. package/dist/tokens/spacing.js +1 -1
  1039. package/dist/tokens/spacing.js.map +1 -1
  1040. package/dist/tokens/typography.js +1 -1
  1041. package/dist/tokens/typography.js.map +1 -1
  1042. package/dist/utils/ResizeSensor.js +1 -1
  1043. package/dist/utils/ResizeSensor.js.map +1 -1
  1044. package/dist/utils/colors.js +1 -1
  1045. package/dist/utils/colors.js.map +1 -1
  1046. package/dist/utils/dotize.js +1 -1
  1047. package/dist/utils/dotize.js.map +1 -1
  1048. package/dist/utils/is-dev-env.js +1 -1
  1049. package/dist/utils/is-dev-env.js.map +1 -1
  1050. package/dist/utils/modules.js +1 -1
  1051. package/dist/utils/modules.js.map +1 -1
  1052. package/dist/utils/promise.js +1 -1
  1053. package/dist/utils/promise.js.map +1 -1
  1054. package/dist/utils/raf.js +1 -1
  1055. package/dist/utils/raf.js.map +1 -1
  1056. package/dist/utils/random.js +1 -1
  1057. package/dist/utils/random.js.map +1 -1
  1058. package/dist/utils/range.js +1 -1
  1059. package/dist/utils/range.js.map +1 -1
  1060. package/dist/utils/react/RenderCache.js +2 -2
  1061. package/dist/utils/react/RenderCache.js.map +1 -1
  1062. package/dist/utils/react/Slots.js +67 -24
  1063. package/dist/utils/react/Slots.js.map +1 -1
  1064. package/dist/utils/react/chain.js +1 -1
  1065. package/dist/utils/react/chain.js.map +1 -1
  1066. package/dist/utils/react/disabledProps.js +1 -1
  1067. package/dist/utils/react/disabledProps.js.map +1 -1
  1068. package/dist/utils/react/escapePropagation.js +1 -1
  1069. package/dist/utils/react/escapePropagation.js.map +1 -1
  1070. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  1071. package/dist/utils/react/forwardRefWithGenerics.js.map +1 -1
  1072. package/dist/utils/react/index.js +1 -1
  1073. package/dist/utils/react/interactions.js +35 -12
  1074. package/dist/utils/react/interactions.js.map +1 -1
  1075. package/dist/utils/react/isTextOnly.js +1 -1
  1076. package/dist/utils/react/isTextOnly.js.map +1 -1
  1077. package/dist/utils/react/mapProps.js +1 -1
  1078. package/dist/utils/react/mapProps.js.map +1 -1
  1079. package/dist/utils/react/mergeProps.js +1 -1
  1080. package/dist/utils/react/mergeProps.js.map +1 -1
  1081. package/dist/utils/react/nullableValue.js +1 -1
  1082. package/dist/utils/react/nullableValue.js.map +1 -1
  1083. package/dist/utils/react/programmaticFocus.js +1 -1
  1084. package/dist/utils/react/programmaticFocus.js.map +1 -1
  1085. package/dist/utils/react/resolveIcon.js +1 -1
  1086. package/dist/utils/react/resolveIcon.js.map +1 -1
  1087. package/dist/utils/react/sharedStore.js +13 -2
  1088. package/dist/utils/react/sharedStore.js.map +1 -1
  1089. package/dist/utils/react/useBufferedValue.js +5 -5
  1090. package/dist/utils/react/useBufferedValue.js.map +1 -1
  1091. package/dist/utils/react/useCombinedRefs.js +20 -5
  1092. package/dist/utils/react/useCombinedRefs.js.map +1 -1
  1093. package/dist/utils/react/useControlledFocusVisible.js +53 -17
  1094. package/dist/utils/react/useControlledFocusVisible.js.map +1 -1
  1095. package/dist/utils/react/useEventBus.js +43 -18
  1096. package/dist/utils/react/useEventBus.js.map +1 -1
  1097. package/dist/utils/react/useId.js +2 -1
  1098. package/dist/utils/react/useId.js.map +1 -1
  1099. package/dist/utils/react/useIsDarwin.js +29 -16
  1100. package/dist/utils/react/useIsDarwin.js.map +1 -1
  1101. package/dist/utils/react/useKeySymbols.js +23 -9
  1102. package/dist/utils/react/useKeySymbols.js.map +1 -1
  1103. package/dist/utils/react/useLayoutEffect.js +1 -1
  1104. package/dist/utils/react/useLayoutEffect.js.map +1 -1
  1105. package/dist/utils/react/useLocalStorage.js +75 -30
  1106. package/dist/utils/react/useLocalStorage.js.map +1 -1
  1107. package/dist/utils/react/useMergeStyles.js +1 -1
  1108. package/dist/utils/react/useMergeStyles.js.map +1 -1
  1109. package/dist/utils/react/useOverlayEscapeGuard.js +25 -9
  1110. package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
  1111. package/dist/utils/react/usePopoverSync.js +175 -73
  1112. package/dist/utils/react/usePopoverSync.js.map +1 -1
  1113. package/dist/utils/react/useQaProps.js +1 -1
  1114. package/dist/utils/react/useQaProps.js.map +1 -1
  1115. package/dist/utils/react/useScheme.js +1 -1
  1116. package/dist/utils/react/useScheme.js.map +1 -1
  1117. package/dist/utils/react/useViewportSize.js +43 -19
  1118. package/dist/utils/react/useViewportSize.js.map +1 -1
  1119. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  1120. package/dist/utils/react/wrapNodeIfPlain.js.map +1 -1
  1121. package/dist/utils/selection.js +1 -1
  1122. package/dist/utils/selection.js.map +1 -1
  1123. package/dist/utils/styles.js +1 -1
  1124. package/dist/utils/styles.js.map +1 -1
  1125. package/dist/utils/tree.js +1 -1
  1126. package/dist/utils/tree.js.map +1 -1
  1127. package/dist/utils/warnings.js +1 -1
  1128. package/dist/utils/warnings.js.map +1 -1
  1129. package/dist/version.js +2 -2
  1130. package/dist/version.js.map +1 -1
  1131. package/docs/FieldProperties.md +2 -2
  1132. package/docs/Usage.md +9 -1
  1133. package/docs/components/actions/ButtonSplit.md +2 -0
  1134. package/docs/components/content/InfoBadge.md +1 -1
  1135. package/docs/components/content/InlineInput.md +1 -1
  1136. package/docs/components/content/Layout.md +1 -1
  1137. package/docs/components/content/Tag.md +10 -2
  1138. package/docs/components/fields/Checkbox.md +11 -0
  1139. package/docs/components/fields/ColorInput.md +15 -8
  1140. package/docs/components/fields/ColorPicker.md +16 -9
  1141. package/docs/components/fields/ComboBox.md +16 -12
  1142. package/docs/components/fields/DatePicker.md +2 -0
  1143. package/docs/components/fields/FilterListBox.md +24 -19
  1144. package/docs/components/fields/FilterPicker.md +27 -20
  1145. package/docs/components/fields/ListBox.md +36 -26
  1146. package/docs/components/fields/PeriodPicker.md +2 -0
  1147. package/docs/components/fields/Picker.md +30 -22
  1148. package/docs/components/fields/RadioGroup.md +2 -2
  1149. package/docs/components/fields/Select.md +21 -12
  1150. package/docs/components/form/Field.md +4 -4
  1151. package/docs/components/form/Form.md +61 -578
  1152. package/docs/components/form/ModernForm.md +22 -1
  1153. package/docs/components/navigation/Tabs.md +3 -3
  1154. package/docs/components/overlays/Dialog.md +30 -3
  1155. package/docs/components/overlays/DialogForm.md +122 -263
  1156. package/docs/components/overlays/DialogTrigger.md +1 -1
  1157. package/docs/components/overlays/UseDialogContainer.md +11 -13
  1158. package/docs/modern-form-guide.md +22 -1
  1159. package/docs/modern-form-migration.md +1 -1
  1160. package/package.json +7 -2
@@ -1,8 +1,9 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.182.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
2
2
  import { useToastContext } from "../Notifications/NotificationContext.js";
3
3
  import { useProgressToast } from "./useProgressToast.js";
4
4
  import { getThemeIcon, useToast } from "./useToast.js";
5
5
  import { ToastItem } from "./ToastItem.js";
6
+ import { c } from "react-compiler-runtime";
6
7
  import { useEffect, useRef } from "react";
7
8
 
8
9
  //#region src/components/overlays/Toast/index.ts
@@ -19,37 +20,83 @@ import { useEffect, useRef } from "react";
19
20
  * ```
20
21
  */
21
22
  function Toast(props) {
22
- const { children, ...toastData } = props;
23
+ const $ = c(22);
24
+ let children;
25
+ let toastData;
26
+ if ($[0] !== props) {
27
+ ({children, ...toastData} = props);
28
+ $[0] = props;
29
+ $[1] = children;
30
+ $[2] = toastData;
31
+ } else {
32
+ children = $[1];
33
+ toastData = $[2];
34
+ }
23
35
  const { addToast, removeToast, updateToast } = useToastContext();
24
36
  const toastIdRef = useRef(null);
25
- useEffect(() => {
26
- toastIdRef.current = addToast({
27
- ...toastData,
28
- title: toastData.title ?? children,
29
- duration: null
30
- }, true);
31
- return () => {
32
- if (toastIdRef.current != null) {
33
- removeToast(toastIdRef.current);
34
- toastIdRef.current = null;
35
- }
37
+ let t0;
38
+ if ($[3] !== addToast || $[4] !== children || $[5] !== removeToast || $[6] !== toastData) {
39
+ t0 = () => {
40
+ toastIdRef.current = addToast({
41
+ ...toastData,
42
+ title: toastData.title ?? children,
43
+ duration: null
44
+ }, true);
45
+ return () => {
46
+ if (toastIdRef.current != null) {
47
+ removeToast(toastIdRef.current);
48
+ toastIdRef.current = null;
49
+ }
50
+ };
36
51
  };
37
- }, []);
38
- useEffect(() => {
39
- if (toastIdRef.current != null) updateToast(toastIdRef.current, {
40
- ...toastData,
41
- title: toastData.title ?? children
42
- });
43
- }, [
44
- children,
45
- toastData.title,
46
- toastData.description,
47
- toastData.theme,
48
- toastData.icon,
49
- toastData.isLoading,
50
- toastData.id,
51
- updateToast
52
- ]);
52
+ $[3] = addToast;
53
+ $[4] = children;
54
+ $[5] = removeToast;
55
+ $[6] = toastData;
56
+ $[7] = t0;
57
+ } else t0 = $[7];
58
+ let t1;
59
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
60
+ t1 = [];
61
+ $[8] = t1;
62
+ } else t1 = $[8];
63
+ useEffect(t0, t1);
64
+ let t2;
65
+ if ($[9] !== children || $[10] !== toastData || $[11] !== updateToast) {
66
+ t2 = () => {
67
+ if (toastIdRef.current != null) updateToast(toastIdRef.current, {
68
+ ...toastData,
69
+ title: toastData.title ?? children
70
+ });
71
+ };
72
+ $[9] = children;
73
+ $[10] = toastData;
74
+ $[11] = updateToast;
75
+ $[12] = t2;
76
+ } else t2 = $[12];
77
+ let t3;
78
+ if ($[13] !== children || $[14] !== toastData.description || $[15] !== toastData.icon || $[16] !== toastData.id || $[17] !== toastData.isLoading || $[18] !== toastData.theme || $[19] !== toastData.title || $[20] !== updateToast) {
79
+ t3 = [
80
+ children,
81
+ toastData.title,
82
+ toastData.description,
83
+ toastData.theme,
84
+ toastData.icon,
85
+ toastData.isLoading,
86
+ toastData.id,
87
+ updateToast
88
+ ];
89
+ $[13] = children;
90
+ $[14] = toastData.description;
91
+ $[15] = toastData.icon;
92
+ $[16] = toastData.id;
93
+ $[17] = toastData.isLoading;
94
+ $[18] = toastData.theme;
95
+ $[19] = toastData.title;
96
+ $[20] = updateToast;
97
+ $[21] = t3;
98
+ } else t3 = $[21];
99
+ useEffect(t2, t3);
53
100
  return null;
54
101
  }
55
102
  /**
@@ -66,11 +113,30 @@ function Toast(props) {
66
113
  * ```
67
114
  */
68
115
  function ToastProgress(props) {
69
- const { children, ...progressOptions } = props;
70
- useProgressToast({
71
- ...progressOptions,
72
- title: progressOptions.title ?? children
73
- });
116
+ const $ = c(6);
117
+ let children;
118
+ let progressOptions;
119
+ if ($[0] !== props) {
120
+ ({children, ...progressOptions} = props);
121
+ $[0] = props;
122
+ $[1] = children;
123
+ $[2] = progressOptions;
124
+ } else {
125
+ children = $[1];
126
+ progressOptions = $[2];
127
+ }
128
+ const t0 = progressOptions.title ?? children;
129
+ let t1;
130
+ if ($[3] !== progressOptions || $[4] !== t0) {
131
+ t1 = {
132
+ ...progressOptions,
133
+ title: t0
134
+ };
135
+ $[3] = progressOptions;
136
+ $[4] = t0;
137
+ $[5] = t1;
138
+ } else t1 = $[5];
139
+ useProgressToast(t1);
74
140
  return null;
75
141
  }
76
142
  Toast.Progress = ToastProgress;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/overlays/Toast/index.ts"],"sourcesContent":["// Declarative Toast component\nimport { Key, ReactNode, useEffect, useRef } from 'react';\n\nimport { useToastContext } from './ToastProvider';\nimport { ProgressToastOptions, ToastData } from './types';\nimport { useProgressToast } from './useProgressToast';\n\nexport { useToastContext } from './ToastProvider';\nexport { ToastItem } from './ToastItem';\nexport type { ToastItemProps } from './ToastItem';\nexport { useToast, getThemeIcon } from './useToast';\nexport { useProgressToast } from './useProgressToast';\nexport type {\n ToastData,\n ToastType,\n ToastApi,\n ProgressToastOptions,\n ProgressToastEmpty,\n} from './types';\n\nexport interface ToastProps extends Omit<ToastData, 'duration'> {\n /** Primary content */\n children?: ReactNode;\n /** Duration is ignored for declarative toasts - they stay visible while mounted */\n}\n\n/**\n * Declarative Toast component that shows a toast while mounted.\n *\n * @example\n * ```tsx\n * // Simple toast (visible while mounted)\n * <Toast theme=\"success\">Saved successfully</Toast>\n *\n * // With description\n * <Toast title=\"Success\" description=\"Changes saved\" theme=\"success\" />\n * ```\n */\nexport function Toast(props: ToastProps): null {\n const { children, ...toastData } = props;\n const { addToast, removeToast, updateToast } = useToastContext();\n const toastIdRef = useRef<Key | null>(null);\n\n useEffect(() => {\n // Add toast on mount\n // Icon is auto-resolved by ToastItem based on theme/isLoading\n toastIdRef.current = addToast(\n {\n ...toastData,\n title: toastData.title ?? children,\n duration: null, // Persistent while mounted\n },\n true, // isProgress = true (persistent)\n );\n\n return () => {\n // Remove toast on unmount\n if (toastIdRef.current != null) {\n removeToast(toastIdRef.current);\n toastIdRef.current = null;\n }\n };\n }, []);\n\n // Update toast when props change\n useEffect(() => {\n if (toastIdRef.current != null) {\n updateToast(toastIdRef.current, {\n ...toastData,\n title: toastData.title ?? children,\n });\n }\n }, [\n children,\n toastData.title,\n toastData.description,\n toastData.theme,\n toastData.icon,\n toastData.isLoading,\n toastData.id,\n // Note: itemProps is intentionally excluded - it's an object that would cause\n // unnecessary re-runs. Users needing dynamic itemProps should remount the component.\n updateToast,\n ]);\n\n return null;\n}\n\nexport interface ToastProgressProps extends ProgressToastOptions {\n /** Primary content (alternative to title) */\n children?: ReactNode;\n}\n\n/**\n * Declarative Progress Toast component.\n *\n * @example\n * ```tsx\n * <Toast.Progress\n * {...(isLoading\n * ? { isLoading: true, title: 'Saving...' }\n * : { isLoading: false, title: 'Saved!', theme: 'success' }\n * )}\n * />\n * ```\n */\nfunction ToastProgress(props: ToastProgressProps): null {\n const { children, ...progressOptions } = props;\n\n useProgressToast({\n ...progressOptions,\n title: progressOptions.title ?? children,\n });\n\n return null;\n}\n\nToast.Progress = ToastProgress;\n\n// Type for compound component\nexport type ToastComponent = typeof Toast & {\n Progress: typeof ToastProgress;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAsCA,SAAgB,MAAM,OAAyB;CAC7C,MAAM,EAAE,UAAU,GAAG,cAAc;CACnC,MAAM,EAAE,UAAU,aAAa,gBAAgB,iBAAiB;CAChE,MAAM,aAAa,OAAmB,KAAK;AAE3C,iBAAgB;AAGd,aAAW,UAAU,SACnB;GACE,GAAG;GACH,OAAO,UAAU,SAAS;GAC1B,UAAU;GACX,EACD,KACD;AAED,eAAa;AAEX,OAAI,WAAW,WAAW,MAAM;AAC9B,gBAAY,WAAW,QAAQ;AAC/B,eAAW,UAAU;;;IAGxB,EAAE,CAAC;AAGN,iBAAgB;AACd,MAAI,WAAW,WAAW,KACxB,aAAY,WAAW,SAAS;GAC9B,GAAG;GACH,OAAO,UAAU,SAAS;GAC3B,CAAC;IAEH;EACD;EACA,UAAU;EACV,UAAU;EACV,UAAU;EACV,UAAU;EACV,UAAU;EACV,UAAU;EAGV;EACD,CAAC;AAEF,QAAO;;;;;;;;;;;;;;;AAqBT,SAAS,cAAc,OAAiC;CACtD,MAAM,EAAE,UAAU,GAAG,oBAAoB;AAEzC,kBAAiB;EACf,GAAG;EACH,OAAO,gBAAgB,SAAS;EACjC,CAAC;AAEF,QAAO;;AAGT,MAAM,WAAW"}
1
+ {"version":3,"file":"index.js","names":["Key","ReactNode","useEffect","useRef","useToastContext","ProgressToastOptions","ToastData","useProgressToast","ToastItem","ToastItemProps","useToast","getThemeIcon","ToastType","ToastApi","ProgressToastEmpty","ToastProps","Omit","children","Toast","props","$","_c","toastData","addToast","removeToast","updateToast","toastIdRef","t0","current","title","duration","t1","Symbol","for","t2","t3","description","icon","id","isLoading","theme","ToastProgressProps","ToastProgress","progressOptions","Progress","ToastComponent"],"sources":["../../../../src/components/overlays/Toast/index.ts"],"sourcesContent":["// Declarative Toast component\nimport { Key, ReactNode, useEffect, useRef } from 'react';\n\nimport { useToastContext } from './ToastProvider';\nimport { ProgressToastOptions, ToastData } from './types';\nimport { useProgressToast } from './useProgressToast';\n\nexport { useToastContext } from './ToastProvider';\nexport { ToastItem } from './ToastItem';\nexport type { ToastItemProps } from './ToastItem';\nexport { useToast, getThemeIcon } from './useToast';\nexport { useProgressToast } from './useProgressToast';\nexport type {\n ToastData,\n ToastType,\n ToastApi,\n ProgressToastOptions,\n ProgressToastEmpty,\n} from './types';\n\nexport interface ToastProps extends Omit<ToastData, 'duration'> {\n /** Primary content */\n children?: ReactNode;\n /** Duration is ignored for declarative toasts - they stay visible while mounted */\n}\n\n/**\n * Declarative Toast component that shows a toast while mounted.\n *\n * @example\n * ```tsx\n * // Simple toast (visible while mounted)\n * <Toast theme=\"success\">Saved successfully</Toast>\n *\n * // With description\n * <Toast title=\"Success\" description=\"Changes saved\" theme=\"success\" />\n * ```\n */\nexport function Toast(props: ToastProps): null {\n const { children, ...toastData } = props;\n const { addToast, removeToast, updateToast } = useToastContext();\n const toastIdRef = useRef<Key | null>(null);\n\n useEffect(() => {\n // Add toast on mount\n // Icon is auto-resolved by ToastItem based on theme/isLoading\n toastIdRef.current = addToast(\n {\n ...toastData,\n title: toastData.title ?? children,\n duration: null, // Persistent while mounted\n },\n true, // isProgress = true (persistent)\n );\n\n return () => {\n // Remove toast on unmount\n if (toastIdRef.current != null) {\n removeToast(toastIdRef.current);\n toastIdRef.current = null;\n }\n };\n }, []);\n\n // Update toast when props change\n useEffect(() => {\n if (toastIdRef.current != null) {\n updateToast(toastIdRef.current, {\n ...toastData,\n title: toastData.title ?? children,\n });\n }\n }, [\n children,\n toastData.title,\n toastData.description,\n toastData.theme,\n toastData.icon,\n toastData.isLoading,\n toastData.id,\n // Note: itemProps is intentionally excluded - it's an object that would cause\n // unnecessary re-runs. Users needing dynamic itemProps should remount the component.\n updateToast,\n ]);\n\n return null;\n}\n\nexport interface ToastProgressProps extends ProgressToastOptions {\n /** Primary content (alternative to title) */\n children?: ReactNode;\n}\n\n/**\n * Declarative Progress Toast component.\n *\n * @example\n * ```tsx\n * <Toast.Progress\n * {...(isLoading\n * ? { isLoading: true, title: 'Saving...' }\n * : { isLoading: false, title: 'Saved!', theme: 'success' }\n * )}\n * />\n * ```\n */\nfunction ToastProgress(props: ToastProgressProps): null {\n const { children, ...progressOptions } = props;\n\n useProgressToast({\n ...progressOptions,\n title: progressOptions.title ?? children,\n });\n\n return null;\n}\n\nToast.Progress = ToastProgress;\n\n// Type for compound component\nexport type ToastComponent = typeof Toast & {\n Progress: typeof ToastProgress;\n};\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.182.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -1 +1 @@
1
- {"version":3,"file":"useProgressToast.js","names":[],"sources":["../../../../src/components/overlays/Toast/useProgressToast.tsx"],"sourcesContent":["import { Key, useEffect, useRef } from 'react';\n\nimport { useEvent } from '../../../_internal';\nimport { useI18n } from '../../../i18n';\nimport { ItemAction } from '../../actions/ItemAction/ItemAction';\n\nimport { useToastContext } from './ToastProvider';\n\nimport type {\n ProgressToastEmpty,\n ProgressToastOptions,\n ToastData,\n} from './types';\n\nconst RESULT_DURATION = 3000;\n\n/**\n * Check if the options represent an \"empty\" value (null, undefined, false, or empty object).\n * When empty, the hook should immediately remove any existing toast.\n */\nfunction isEmptyOptions(\n options: ProgressToastOptions | ProgressToastEmpty,\n): options is ProgressToastEmpty {\n if (options == null || options === false) return true;\n if (typeof options === 'object' && Object.keys(options).length === 0)\n return true;\n return false;\n}\n\n// Get string value for comparison (only strings are compared for re-show logic)\nfunction getStringValue(value: unknown): string | undefined {\n return typeof value === 'string' ? value : undefined;\n}\n\n/**\n * Hook to display a progress toast that persists while loading.\n *\n * @example\n * ```tsx\n * useProgressToast(\n * isLoading\n * ? { isLoading: true, title: 'Saving...', icon: <Spinner /> }\n * : { isLoading: false, title: 'Saved!', icon: <IconCheck />, theme: 'success' }\n * );\n *\n * // Or with error handling:\n * useProgressToast(\n * isLoading\n * ? { isLoading: true, title: 'Saving...', icon: <Spinner /> }\n * : isError\n * ? { isLoading: false, title: 'Error', description: errorMessage, theme: 'danger' }\n * : { isLoading: false, title: 'Saved!', theme: 'success' }\n * );\n *\n * // Pass empty value to immediately remove any existing toast:\n * useProgressToast(shouldShow ? { isLoading: true, title: 'Loading...' } : null);\n *\n * // Or call with no argument to dismiss:\n * useProgressToast();\n * ```\n */\nexport function useProgressToast(\n options?: ProgressToastOptions | ProgressToastEmpty,\n): void {\n const { addToast, removeToast, updateToast } = useToastContext();\n const { t } = useI18n();\n\n const toastIdRef = useRef<Key | null>(null);\n const wasLoadingRef = useRef<boolean | null>(null);\n const hideTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const isFirstRenderRef = useRef(true);\n const optionsRef = useRef(options);\n const hasBeenLoadingRef = useRef(false);\n const hiddenByUserRef = useRef(false);\n\n // Track previous string values for re-show comparison\n const prevThemeRef = useRef<string | undefined>(undefined);\n const prevTitleRef = useRef<string | undefined>(undefined);\n const prevDescriptionRef = useRef<string | undefined>(undefined);\n\n // Always update optionsRef to latest\n optionsRef.current = options;\n\n // Clear any pending hide timer\n const clearHideTimer = () => {\n if (hideTimerRef.current) {\n clearTimeout(hideTimerRef.current);\n hideTimerRef.current = null;\n }\n };\n\n // Check if current options are empty\n const isEmpty = isEmptyOptions(options);\n\n // Extract values only when options are not empty\n const isLoading = isEmpty ? false : options.isLoading;\n const isDismissable = isEmpty ? false : !!options.isDismissable;\n const currentTheme = isEmpty ? undefined : options.theme;\n const currentTitle = isEmpty ? undefined : getStringValue(options.title);\n const currentDescription = isEmpty\n ? undefined\n : getStringValue(options.description);\n\n const handleHide = useEvent(() => {\n if (toastIdRef.current != null) {\n removeToast(toastIdRef.current);\n toastIdRef.current = null;\n }\n\n hiddenByUserRef.current = true;\n });\n\n useEffect(() => {\n const wasLoading = wasLoadingRef.current;\n const isFirstRender = isFirstRenderRef.current;\n const currentOptions = optionsRef.current;\n const currentIsEmpty = isEmptyOptions(currentOptions);\n\n // Handle empty options - immediately remove any existing toast\n if (currentIsEmpty) {\n clearHideTimer();\n\n if (toastIdRef.current != null) {\n removeToast(toastIdRef.current);\n toastIdRef.current = null;\n }\n\n // Reset loading gate so the next cycle requires isLoading again\n hasBeenLoadingRef.current = false;\n hiddenByUserRef.current = false;\n wasLoadingRef.current = null;\n isFirstRenderRef.current = false;\n prevThemeRef.current = undefined;\n prevTitleRef.current = undefined;\n prevDescriptionRef.current = undefined;\n return;\n }\n\n // From here, we know options is a valid ProgressToastOptions\n const {\n isLoading: currentIsLoading,\n isDismissable: _isDismissable,\n ...currentToastData\n } = currentOptions;\n\n // Check if meaningful data changed (only string values)\n const themeChanged = currentTheme !== prevThemeRef.current;\n const titleChanged = currentTitle !== prevTitleRef.current;\n const descriptionChanged =\n currentDescription !== prevDescriptionRef.current;\n const dataChanged = themeChanged || titleChanged || descriptionChanged;\n\n const hideAction =\n isDismissable && currentIsLoading ? (\n <ItemAction isSelected type=\"outline\" onPress={handleHide}>\n {t('toast.hide', 'Hide')}\n </ItemAction>\n ) : null;\n\n const mergedActions = hideAction ? (\n <>\n {currentToastData.actions}\n {hideAction}\n </>\n ) : (\n currentToastData.actions\n );\n\n const toastData: ToastData = {\n title: undefined,\n description: undefined,\n theme: undefined,\n icon: undefined,\n itemProps: undefined,\n ...currentToastData,\n actions: mergedActions,\n isLoading: currentIsLoading,\n duration: null,\n };\n\n // Show a new toast or update an existing one in-place (no exit/enter animation).\n const showToast = () => {\n if (toastIdRef.current != null) {\n updateToast(toastIdRef.current, toastData);\n } else {\n toastIdRef.current = addToast(toastData, true);\n }\n };\n\n // Show/update toast and schedule removal after RESULT_DURATION.\n const showToastWithTimer = () => {\n showToast();\n\n hideTimerRef.current = setTimeout(() => {\n if (toastIdRef.current != null) {\n removeToast(toastIdRef.current);\n toastIdRef.current = null;\n }\n }, RESULT_DURATION);\n };\n\n if (currentIsLoading) {\n // Starting or continuing loading\n hasBeenLoadingRef.current = true;\n clearHideTimer();\n\n if (hiddenByUserRef.current) {\n // User dismissed the loading toast; don't re-show during this loading cycle.\n } else if (toastIdRef.current == null) {\n // Create new toast\n showToast();\n } else if (dataChanged) {\n // Toast exists but data changed (e.g., switching back to loading from another state)\n showToast();\n }\n } else if (wasLoading === true && !currentIsLoading) {\n // Transitioning from loading to not loading\n hiddenByUserRef.current = false;\n clearHideTimer();\n\n if (currentTitle) {\n // Show result toast with timer\n showToastWithTimer();\n } else {\n // No content - just remove the loading toast immediately\n if (toastIdRef.current != null) {\n removeToast(toastIdRef.current);\n toastIdRef.current = null;\n }\n }\n } else if (\n !currentIsLoading &&\n !isFirstRender &&\n hasBeenLoadingRef.current &&\n dataChanged &&\n toastIdRef.current != null\n ) {\n // Not loading, data changed while toast is still visible — update it.\n if (currentTitle) {\n clearHideTimer();\n showToastWithTimer();\n } else {\n clearHideTimer();\n removeToast(toastIdRef.current);\n toastIdRef.current = null;\n }\n }\n\n // Update refs for next comparison\n wasLoadingRef.current = currentIsLoading;\n isFirstRenderRef.current = false;\n prevThemeRef.current = currentTheme;\n prevTitleRef.current = currentTitle;\n prevDescriptionRef.current = currentDescription;\n }, [\n isEmpty,\n isLoading,\n isDismissable,\n currentTheme,\n currentTitle,\n currentDescription,\n addToast,\n removeToast,\n updateToast,\n handleHide,\n t,\n ]);\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n clearHideTimer();\n\n if (toastIdRef.current != null) {\n removeToast(toastIdRef.current);\n toastIdRef.current = null;\n }\n };\n }, [removeToast]);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useProgressToast.js","names":["Key","useEffect","useRef","useEvent","useI18n","ItemAction","useToastContext","ProgressToastEmpty","ProgressToastOptions","ToastData","RESULT_DURATION","isEmptyOptions","options","Object","keys","length","getStringValue","value","undefined","useProgressToast","addToast","removeToast","updateToast","t","toastIdRef","wasLoadingRef","hideTimerRef","ReturnType","setTimeout","isFirstRenderRef","optionsRef","hasBeenLoadingRef","hiddenByUserRef","prevThemeRef","prevTitleRef","prevDescriptionRef","current","clearHideTimer","clearTimeout","isEmpty","isLoading","isDismissable","currentTheme","theme","currentTitle","title","currentDescription","description","handleHide","wasLoading","isFirstRender","currentOptions","currentIsEmpty","currentIsLoading","_isDismissable","currentToastData","themeChanged","titleChanged","descriptionChanged","dataChanged","hideAction","mergedActions","actions","toastData","icon","itemProps","duration","showToast","showToastWithTimer"],"sources":["../../../../src/components/overlays/Toast/useProgressToast.tsx"],"sourcesContent":["import { Key, useEffect, useRef } from 'react';\n\nimport { useEvent } from '../../../_internal';\nimport { useI18n } from '../../../i18n';\nimport { ItemAction } from '../../actions/ItemAction/ItemAction';\n\nimport { useToastContext } from './ToastProvider';\n\nimport type {\n ProgressToastEmpty,\n ProgressToastOptions,\n ToastData,\n} from './types';\n\nconst RESULT_DURATION = 3000;\n\n/**\n * Check if the options represent an \"empty\" value (null, undefined, false, or empty object).\n * When empty, the hook should immediately remove any existing toast.\n */\nfunction isEmptyOptions(\n options: ProgressToastOptions | ProgressToastEmpty,\n): options is ProgressToastEmpty {\n if (options == null || options === false) return true;\n if (typeof options === 'object' && Object.keys(options).length === 0)\n return true;\n return false;\n}\n\n// Get string value for comparison (only strings are compared for re-show logic)\nfunction getStringValue(value: unknown): string | undefined {\n return typeof value === 'string' ? value : undefined;\n}\n\n/**\n * Hook to display a progress toast that persists while loading.\n *\n * @example\n * ```tsx\n * useProgressToast(\n * isLoading\n * ? { isLoading: true, title: 'Saving...', icon: <Spinner /> }\n * : { isLoading: false, title: 'Saved!', icon: <IconCheck />, theme: 'success' }\n * );\n *\n * // Or with error handling:\n * useProgressToast(\n * isLoading\n * ? { isLoading: true, title: 'Saving...', icon: <Spinner /> }\n * : isError\n * ? { isLoading: false, title: 'Error', description: errorMessage, theme: 'danger' }\n * : { isLoading: false, title: 'Saved!', theme: 'success' }\n * );\n *\n * // Pass empty value to immediately remove any existing toast:\n * useProgressToast(shouldShow ? { isLoading: true, title: 'Loading...' } : null);\n *\n * // Or call with no argument to dismiss:\n * useProgressToast();\n * ```\n */\nexport function useProgressToast(\n options?: ProgressToastOptions | ProgressToastEmpty,\n): void {\n const { addToast, removeToast, updateToast } = useToastContext();\n const { t } = useI18n();\n\n const toastIdRef = useRef<Key | null>(null);\n const wasLoadingRef = useRef<boolean | null>(null);\n const hideTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const isFirstRenderRef = useRef(true);\n const optionsRef = useRef(options);\n const hasBeenLoadingRef = useRef(false);\n const hiddenByUserRef = useRef(false);\n\n // Track previous string values for re-show comparison\n const prevThemeRef = useRef<string | undefined>(undefined);\n const prevTitleRef = useRef<string | undefined>(undefined);\n const prevDescriptionRef = useRef<string | undefined>(undefined);\n\n // Always update optionsRef to latest\n optionsRef.current = options;\n\n // Clear any pending hide timer\n const clearHideTimer = () => {\n if (hideTimerRef.current) {\n clearTimeout(hideTimerRef.current);\n hideTimerRef.current = null;\n }\n };\n\n // Check if current options are empty\n const isEmpty = isEmptyOptions(options);\n\n // Extract values only when options are not empty\n const isLoading = isEmpty ? false : options.isLoading;\n const isDismissable = isEmpty ? false : !!options.isDismissable;\n const currentTheme = isEmpty ? undefined : options.theme;\n const currentTitle = isEmpty ? undefined : getStringValue(options.title);\n const currentDescription = isEmpty\n ? undefined\n : getStringValue(options.description);\n\n const handleHide = useEvent(() => {\n if (toastIdRef.current != null) {\n removeToast(toastIdRef.current);\n toastIdRef.current = null;\n }\n\n hiddenByUserRef.current = true;\n });\n\n useEffect(() => {\n const wasLoading = wasLoadingRef.current;\n const isFirstRender = isFirstRenderRef.current;\n const currentOptions = optionsRef.current;\n const currentIsEmpty = isEmptyOptions(currentOptions);\n\n // Handle empty options - immediately remove any existing toast\n if (currentIsEmpty) {\n clearHideTimer();\n\n if (toastIdRef.current != null) {\n removeToast(toastIdRef.current);\n toastIdRef.current = null;\n }\n\n // Reset loading gate so the next cycle requires isLoading again\n hasBeenLoadingRef.current = false;\n hiddenByUserRef.current = false;\n wasLoadingRef.current = null;\n isFirstRenderRef.current = false;\n prevThemeRef.current = undefined;\n prevTitleRef.current = undefined;\n prevDescriptionRef.current = undefined;\n return;\n }\n\n // From here, we know options is a valid ProgressToastOptions\n const {\n isLoading: currentIsLoading,\n isDismissable: _isDismissable,\n ...currentToastData\n } = currentOptions;\n\n // Check if meaningful data changed (only string values)\n const themeChanged = currentTheme !== prevThemeRef.current;\n const titleChanged = currentTitle !== prevTitleRef.current;\n const descriptionChanged =\n currentDescription !== prevDescriptionRef.current;\n const dataChanged = themeChanged || titleChanged || descriptionChanged;\n\n const hideAction =\n isDismissable && currentIsLoading ? (\n <ItemAction isSelected type=\"outline\" onPress={handleHide}>\n {t('toast.hide', 'Hide')}\n </ItemAction>\n ) : null;\n\n const mergedActions = hideAction ? (\n <>\n {currentToastData.actions}\n {hideAction}\n </>\n ) : (\n currentToastData.actions\n );\n\n const toastData: ToastData = {\n title: undefined,\n description: undefined,\n theme: undefined,\n icon: undefined,\n itemProps: undefined,\n ...currentToastData,\n actions: mergedActions,\n isLoading: currentIsLoading,\n duration: null,\n };\n\n // Show a new toast or update an existing one in-place (no exit/enter animation).\n const showToast = () => {\n if (toastIdRef.current != null) {\n updateToast(toastIdRef.current, toastData);\n } else {\n toastIdRef.current = addToast(toastData, true);\n }\n };\n\n // Show/update toast and schedule removal after RESULT_DURATION.\n const showToastWithTimer = () => {\n showToast();\n\n hideTimerRef.current = setTimeout(() => {\n if (toastIdRef.current != null) {\n removeToast(toastIdRef.current);\n toastIdRef.current = null;\n }\n }, RESULT_DURATION);\n };\n\n if (currentIsLoading) {\n // Starting or continuing loading\n hasBeenLoadingRef.current = true;\n clearHideTimer();\n\n if (hiddenByUserRef.current) {\n // User dismissed the loading toast; don't re-show during this loading cycle.\n } else if (toastIdRef.current == null) {\n // Create new toast\n showToast();\n } else if (dataChanged) {\n // Toast exists but data changed (e.g., switching back to loading from another state)\n showToast();\n }\n } else if (wasLoading === true && !currentIsLoading) {\n // Transitioning from loading to not loading\n hiddenByUserRef.current = false;\n clearHideTimer();\n\n if (currentTitle) {\n // Show result toast with timer\n showToastWithTimer();\n } else {\n // No content - just remove the loading toast immediately\n if (toastIdRef.current != null) {\n removeToast(toastIdRef.current);\n toastIdRef.current = null;\n }\n }\n } else if (\n !currentIsLoading &&\n !isFirstRender &&\n hasBeenLoadingRef.current &&\n dataChanged &&\n toastIdRef.current != null\n ) {\n // Not loading, data changed while toast is still visible — update it.\n if (currentTitle) {\n clearHideTimer();\n showToastWithTimer();\n } else {\n clearHideTimer();\n removeToast(toastIdRef.current);\n toastIdRef.current = null;\n }\n }\n\n // Update refs for next comparison\n wasLoadingRef.current = currentIsLoading;\n isFirstRenderRef.current = false;\n prevThemeRef.current = currentTheme;\n prevTitleRef.current = currentTitle;\n prevDescriptionRef.current = currentDescription;\n }, [\n isEmpty,\n isLoading,\n isDismissable,\n currentTheme,\n currentTitle,\n currentDescription,\n addToast,\n removeToast,\n updateToast,\n handleHide,\n t,\n ]);\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n clearHideTimer();\n\n if (toastIdRef.current != null) {\n removeToast(toastIdRef.current);\n toastIdRef.current = null;\n }\n };\n }, [removeToast]);\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.182.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
2
2
  import { CheckIcon } from "../../../icons/CheckIcon.js";
3
3
  import { InfoCircleIcon } from "../../../icons/InfoCircleIcon.js";
4
4
  import { useToastContext } from "../Notifications/NotificationContext.js";
@@ -65,17 +65,17 @@ function useToast() {
65
65
  const toast = (data) => {
66
66
  return addToast(normalizeToastData(data));
67
67
  };
68
- toast.success = (data) => {
69
- return addToast(normalizeToastData(data, "success"));
68
+ toast.success = (data_0) => {
69
+ return addToast(normalizeToastData(data_0, "success"));
70
70
  };
71
- toast.danger = (data) => {
72
- return addToast(normalizeToastData(data, "danger"));
71
+ toast.danger = (data_1) => {
72
+ return addToast(normalizeToastData(data_1, "danger"));
73
73
  };
74
- toast.warning = (data) => {
75
- return addToast(normalizeToastData(data, "warning"));
74
+ toast.warning = (data_2) => {
75
+ return addToast(normalizeToastData(data_2, "warning"));
76
76
  };
77
- toast.note = (data) => {
78
- return addToast(normalizeToastData(data, "note"));
77
+ toast.note = (data_3) => {
78
+ return addToast(normalizeToastData(data_3, "note"));
79
79
  };
80
80
  toast.remove = (id) => {
81
81
  removeToast(id);
@@ -1 +1 @@
1
- {"version":3,"file":"useToast.js","names":[],"sources":["../../../../src/components/overlays/Toast/useToast.tsx"],"sourcesContent":["import { isValidElement, Key, ReactNode, useMemo } from 'react';\nimport { isFragment } from 'react-is';\n\nimport { CheckIcon } from '../../../icons/CheckIcon';\nimport { DangerIcon } from '../../../icons/DangerIcon';\nimport { InfoCircleIcon } from '../../../icons/InfoCircleIcon';\nimport { WarningIcon } from '../../../icons/WarningIcon';\n\nimport { useToastContext } from './ToastProvider';\n\nimport type { ToastApi, ToastData, ToastType } from './types';\n\n// Default icons for each theme\nconst THEME_ICONS: Partial<Record<ToastType, ReactNode>> = {\n success: <CheckIcon />,\n danger: <DangerIcon />,\n warning: <WarningIcon />,\n note: <InfoCircleIcon />,\n};\n\n/**\n * Get the appropriate icon for a toast based on theme and loading state.\n * - When loading, returns the provided icon as-is (loading indicator is separate)\n * - When not loading, returns the provided icon or falls back to theme-based default\n */\nexport function getThemeIcon(\n theme: ToastType | undefined,\n icon: ReactNode | undefined,\n isLoading?: boolean,\n): ReactNode | undefined {\n // When loading, don't apply theme icons (loading indicator is shown separately)\n if (isLoading) return icon;\n\n // If icon is explicitly provided, use it\n if (icon !== undefined) return icon;\n\n // Apply theme-based default icon\n return theme ? THEME_ICONS[theme] : undefined;\n}\n\nfunction isToastData(data: ToastData | ReactNode): data is ToastData {\n // ReactNode includes: ReactElement | string | number | boolean | null | undefined | Iterable<ReactNode>\n const isReactNode =\n isValidElement(data) ||\n isFragment(data) ||\n typeof data === 'string' ||\n typeof data === 'number' ||\n typeof data === 'boolean' ||\n data === null ||\n data === undefined ||\n Array.isArray(data);\n\n return !isReactNode;\n}\n\nfunction normalizeToastData(\n data: ToastData | ReactNode,\n defaultTheme?: ToastType,\n): ToastData {\n if (isToastData(data)) {\n return {\n ...data,\n theme: data.theme ?? defaultTheme,\n };\n }\n\n // String or ReactNode passed directly - use as title\n return {\n title: data,\n theme: defaultTheme,\n };\n}\n\n/**\n * Hook to display toast notifications.\n *\n * @example\n * ```tsx\n * const toast = useToast();\n *\n * // String shorthand\n * toast.success('Copied to clipboard');\n *\n * // Object with options\n * toast.success({\n * title: 'Success',\n * description: 'File copied to clipboard',\n * icon: <CustomIcon />,\n * duration: 3000,\n * });\n *\n * // Methods: toast(), toast.success(), toast.danger(), toast.warning(), toast.note()\n * ```\n */\nexport function useToast(): ToastApi {\n const { addToast, removeToast } = useToastContext();\n\n const api = useMemo<ToastApi>(() => {\n const toast = (data: ToastData | ReactNode): Key => {\n return addToast(normalizeToastData(data));\n };\n\n toast.success = (data: ToastData | ReactNode): Key => {\n return addToast(normalizeToastData(data, 'success'));\n };\n\n toast.danger = (data: ToastData | ReactNode): Key => {\n return addToast(normalizeToastData(data, 'danger'));\n };\n\n toast.warning = (data: ToastData | ReactNode): Key => {\n return addToast(normalizeToastData(data, 'warning'));\n };\n\n toast.note = (data: ToastData | ReactNode): Key => {\n return addToast(normalizeToastData(data, 'note'));\n };\n\n toast.remove = (id: Key): void => {\n removeToast(id);\n };\n\n return toast;\n }, [addToast, removeToast]);\n\n return api;\n}\n"],"mappings":";;;;;;;;;;;AAaA,MAAM,cAAqD;CACzD,SAAS,oBAAC,cAAY;CACtB,QAAQ,oBAAC,eAAa;CACtB,SAAS,oBAAC,gBAAc;CACxB,MAAM,oBAAC,mBAAiB;CACzB;;;;;;AAOD,SAAgB,aACd,OACA,MACA,WACuB;AAEvB,KAAI,UAAW,QAAO;AAGtB,KAAI,SAAS,OAAW,QAAO;AAG/B,QAAO,QAAQ,YAAY,SAAS;;AAGtC,SAAS,YAAY,MAAgD;AAYnE,QAAO,EATL,eAAe,KAAK,IACpB,WAAW,KAAK,IAChB,OAAO,SAAS,YAChB,OAAO,SAAS,YAChB,OAAO,SAAS,aAChB,SAAS,QACT,SAAS,UACT,MAAM,QAAQ,KAAK;;AAKvB,SAAS,mBACP,MACA,cACW;AACX,KAAI,YAAY,KAAK,CACnB,QAAO;EACL,GAAG;EACH,OAAO,KAAK,SAAS;EACtB;AAIH,QAAO;EACL,OAAO;EACP,OAAO;EACR;;;;;;;;;;;;;;;;;;;;;;;AAwBH,SAAgB,WAAqB;CACnC,MAAM,EAAE,UAAU,gBAAgB,iBAAiB;AA8BnD,QA5BY,cAAwB;EAClC,MAAM,SAAS,SAAqC;AAClD,UAAO,SAAS,mBAAmB,KAAK,CAAC;;AAG3C,QAAM,WAAW,SAAqC;AACpD,UAAO,SAAS,mBAAmB,MAAM,UAAU,CAAC;;AAGtD,QAAM,UAAU,SAAqC;AACnD,UAAO,SAAS,mBAAmB,MAAM,SAAS,CAAC;;AAGrD,QAAM,WAAW,SAAqC;AACpD,UAAO,SAAS,mBAAmB,MAAM,UAAU,CAAC;;AAGtD,QAAM,QAAQ,SAAqC;AACjD,UAAO,SAAS,mBAAmB,MAAM,OAAO,CAAC;;AAGnD,QAAM,UAAU,OAAkB;AAChC,eAAY,GAAG;;AAGjB,SAAO;IACN,CAAC,UAAU,YAAY,CAAC"}
1
+ {"version":3,"file":"useToast.js","names":["isValidElement","Key","ReactNode","useMemo","isFragment","CheckIcon","DangerIcon","InfoCircleIcon","WarningIcon","useToastContext","ToastApi","ToastData","ToastType","THEME_ICONS","Partial","Record","success","danger","warning","note","getThemeIcon","theme","icon","isLoading","undefined","isToastData","data","isReactNode","Array","isArray","normalizeToastData","defaultTheme","title","useToast","addToast","removeToast","api","toast","remove","id"],"sources":["../../../../src/components/overlays/Toast/useToast.tsx"],"sourcesContent":["import { isValidElement, Key, ReactNode, useMemo } from 'react';\nimport { isFragment } from 'react-is';\n\nimport { CheckIcon } from '../../../icons/CheckIcon';\nimport { DangerIcon } from '../../../icons/DangerIcon';\nimport { InfoCircleIcon } from '../../../icons/InfoCircleIcon';\nimport { WarningIcon } from '../../../icons/WarningIcon';\n\nimport { useToastContext } from './ToastProvider';\n\nimport type { ToastApi, ToastData, ToastType } from './types';\n\n// Default icons for each theme\nconst THEME_ICONS: Partial<Record<ToastType, ReactNode>> = {\n success: <CheckIcon />,\n danger: <DangerIcon />,\n warning: <WarningIcon />,\n note: <InfoCircleIcon />,\n};\n\n/**\n * Get the appropriate icon for a toast based on theme and loading state.\n * - When loading, returns the provided icon as-is (loading indicator is separate)\n * - When not loading, returns the provided icon or falls back to theme-based default\n */\nexport function getThemeIcon(\n theme: ToastType | undefined,\n icon: ReactNode | undefined,\n isLoading?: boolean,\n): ReactNode | undefined {\n // When loading, don't apply theme icons (loading indicator is shown separately)\n if (isLoading) return icon;\n\n // If icon is explicitly provided, use it\n if (icon !== undefined) return icon;\n\n // Apply theme-based default icon\n return theme ? THEME_ICONS[theme] : undefined;\n}\n\nfunction isToastData(data: ToastData | ReactNode): data is ToastData {\n // ReactNode includes: ReactElement | string | number | boolean | null | undefined | Iterable<ReactNode>\n const isReactNode =\n isValidElement(data) ||\n isFragment(data) ||\n typeof data === 'string' ||\n typeof data === 'number' ||\n typeof data === 'boolean' ||\n data === null ||\n data === undefined ||\n Array.isArray(data);\n\n return !isReactNode;\n}\n\nfunction normalizeToastData(\n data: ToastData | ReactNode,\n defaultTheme?: ToastType,\n): ToastData {\n if (isToastData(data)) {\n return {\n ...data,\n theme: data.theme ?? defaultTheme,\n };\n }\n\n // String or ReactNode passed directly - use as title\n return {\n title: data,\n theme: defaultTheme,\n };\n}\n\n/**\n * Hook to display toast notifications.\n *\n * @example\n * ```tsx\n * const toast = useToast();\n *\n * // String shorthand\n * toast.success('Copied to clipboard');\n *\n * // Object with options\n * toast.success({\n * title: 'Success',\n * description: 'File copied to clipboard',\n * icon: <CustomIcon />,\n * duration: 3000,\n * });\n *\n * // Methods: toast(), toast.success(), toast.danger(), toast.warning(), toast.note()\n * ```\n */\nexport function useToast(): ToastApi {\n const { addToast, removeToast } = useToastContext();\n\n const api = useMemo<ToastApi>(() => {\n const toast = (data: ToastData | ReactNode): Key => {\n return addToast(normalizeToastData(data));\n };\n\n toast.success = (data: ToastData | ReactNode): Key => {\n return addToast(normalizeToastData(data, 'success'));\n };\n\n toast.danger = (data: ToastData | ReactNode): Key => {\n return addToast(normalizeToastData(data, 'danger'));\n };\n\n toast.warning = (data: ToastData | ReactNode): Key => {\n return addToast(normalizeToastData(data, 'warning'));\n };\n\n toast.note = (data: ToastData | ReactNode): Key => {\n return addToast(normalizeToastData(data, 'note'));\n };\n\n toast.remove = (id: Key): void => {\n removeToast(id);\n };\n\n return toast;\n }, [addToast, removeToast]);\n\n return api;\n}\n"],"mappings":";;;;;;;;;;;AAaA,MAAMa,cAAqD;CACzDG,SAAS,oBAAC,cAAY;CACtBC,QAAQ,oBAAC,eAAa;CACtBC,SAAS,oBAAC,gBAAc;CACxBC,MAAM,oBAAC,mBAAc;CACtB;;;;;;AAOD,SAAgBC,aACdC,OACAC,MACAC,WACuB;AAEvB,KAAIA,UAAW,QAAOD;AAGtB,KAAIA,SAASE,OAAW,QAAOF;AAG/B,QAAOD,QAAQR,YAAYQ,SAASG;;AAGtC,SAASC,YAAYC,MAAgD;AAYnE,QAAO,EATL1B,eAAe0B,KAAK,IACpBtB,WAAWsB,KAAK,IAChB,OAAOA,SAAS,YAChB,OAAOA,SAAS,YAChB,OAAOA,SAAS,aAChBA,SAAS,QACTA,SAASF,UACTI,MAAMC,QAAQH,KAAK;;AAKvB,SAASI,mBACPJ,MACAK,cACW;AACX,KAAIN,YAAYC,KAAK,CACnB,QAAO;EACL,GAAGA;EACHL,OAAOK,KAAKL,SAASU;EACtB;AAIH,QAAO;EACLC,OAAON;EACPL,OAAOU;EACR;;;;;;;;;;;;;;;;;;;;;;;AAwBH,SAAgBE,WAAqB;CACnC,MAAM,EAAEC,UAAUC,gBAAgB1B,iBAAiB;AA8BnD,QA5BYN,cAAwB;EAClC,MAAMkC,SAASX,SAAqC;AAClD,UAAOQ,SAASJ,mBAAmBJ,KAAK,CAAC;;AAG3CW,QAAMrB,WAAWU,WAAqC;AACpD,UAAOQ,SAASJ,mBAAmBJ,QAAM,UAAU,CAAC;;AAGtDW,QAAMpB,UAAUS,WAAqC;AACnD,UAAOQ,SAASJ,mBAAmBJ,QAAM,SAAS,CAAC;;AAGrDW,QAAMnB,WAAWQ,WAAqC;AACpD,UAAOQ,SAASJ,mBAAmBJ,QAAM,UAAU,CAAC;;AAGtDW,QAAMlB,QAAQO,WAAqC;AACjD,UAAOQ,SAASJ,mBAAmBJ,QAAM,OAAO,CAAC;;AAGnDW,QAAMC,UAAUC,OAAkB;AAChCJ,eAAYI,GAAG;;AAGjB,SAAOF;IACN,CAACH,UAAUC,YAAY,CAAC"}
@@ -1,11 +1,12 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.182.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
4
4
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
5
5
  import { mergeRefs } from "../../../utils/react/useCombinedRefs.js";
6
6
  import { TooltipContext } from "./context.js";
7
+ import { c } from "react-compiler-runtime";
7
8
  import { CONTAINER_STYLES, tasty } from "@tenphi/tasty";
8
- import { forwardRef, useContext, useImperativeHandle, useMemo, useRef } from "react";
9
+ import { forwardRef, useContext, useImperativeHandle, useRef } from "react";
9
10
  import { jsx, jsxs } from "react/jsx-runtime";
10
11
  import { useTooltip } from "react-aria";
11
12
  import { createDOMRef } from "@react-spectrum/utils";
@@ -101,53 +102,109 @@ const TooltipTipElement = tasty({ styles: {
101
102
  transition: "theme"
102
103
  } });
103
104
  function Tooltip(props, ref) {
105
+ const $ = c(29);
104
106
  let { ref: overlayRef, transitionRef, arrowProps, state, overlayProps, minOffset, minScale, isMaterial: isMaterialContext, isLight: isLightContext, phase, isShown, updatePosition, ...tooltipProviderProps } = useContext(TooltipContext);
105
107
  const defaultRef = useRef(null);
106
- const combinedRef = mergeRefs(transitionRef, overlayRef ?? defaultRef);
108
+ const t0 = overlayRef ?? defaultRef;
109
+ let t1;
110
+ if ($[0] !== t0 || $[1] !== transitionRef) {
111
+ t1 = mergeRefs(transitionRef, t0);
112
+ $[0] = t0;
113
+ $[1] = transitionRef;
114
+ $[2] = t1;
115
+ } else t1 = $[2];
116
+ const combinedRef = t1;
107
117
  const finalOverlayRef = overlayRef ?? defaultRef;
108
118
  props = mergeProps$1(props, tooltipProviderProps);
109
- let { placement = "top", isOpen, tipStyles, showIcon, isMaterial = isMaterialContext, isLight = isLightContext, ...otherProps } = props;
119
+ const { placement: t2, isOpen, tipStyles, showIcon, isMaterial: t3, isLight: t4, ...otherProps } = props;
120
+ const placement = t2 === void 0 ? "top" : t2;
121
+ const isMaterial = t3 === void 0 ? isMaterialContext : t3;
122
+ const isLight = t4 === void 0 ? isLightContext : t4;
110
123
  const styles = extractStyles(otherProps, CONTAINER_STYLES);
111
- let { tooltipProps } = useTooltip({
124
+ const { tooltipProps } = useTooltip({
112
125
  ...props,
113
126
  isDismissable: false
114
127
  }, state);
115
- useImperativeHandle(ref, () => createDOMRef(finalOverlayRef));
128
+ let t5;
129
+ if ($[3] !== finalOverlayRef) {
130
+ t5 = () => createDOMRef(finalOverlayRef);
131
+ $[3] = finalOverlayRef;
132
+ $[4] = t5;
133
+ } else t5 = $[4];
134
+ useImperativeHandle(ref, t5);
116
135
  if (typeof minOffset === "number") minOffset = `${minOffset}px`;
117
136
  if (typeof minScale === "number") minScale = String(minScale);
118
137
  const placementDirection = placement?.split(" ")[0] || placement || "top";
119
- const mods = useMemo(() => {
120
- return {
138
+ const t6 = isShown ?? isOpen;
139
+ let t7;
140
+ if ($[5] !== isLight || $[6] !== isMaterial || $[7] !== t6) {
141
+ t7 = {
121
142
  material: isMaterial,
122
143
  light: isLight,
123
- open: isShown ?? isOpen
144
+ open: t6
124
145
  };
125
- }, [
126
- isMaterial,
127
- isShown,
128
- isOpen,
129
- isLight
130
- ]);
131
- useLayoutEffect$1(() => {
132
- updatePosition?.();
133
- }, []);
134
- return /* @__PURE__ */ jsxs(TooltipElement, {
135
- ...tooltipProps,
136
- ...overlayProps,
137
- ref: combinedRef,
138
- styles,
139
- mods,
140
- "data-min-offset": minOffset,
141
- "data-min-scale": minScale,
142
- "data-placement": placementDirection,
143
- "data-phase": phase,
144
- children: [props.children, /* @__PURE__ */ jsx(TooltipTipElement, {
146
+ $[5] = isLight;
147
+ $[6] = isMaterial;
148
+ $[7] = t6;
149
+ $[8] = t7;
150
+ } else t7 = $[8];
151
+ const mods = t7;
152
+ let t8;
153
+ if ($[9] !== updatePosition) {
154
+ t8 = () => {
155
+ updatePosition?.();
156
+ };
157
+ $[9] = updatePosition;
158
+ $[10] = t8;
159
+ } else t8 = $[10];
160
+ let t9;
161
+ if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
162
+ t9 = [];
163
+ $[11] = t9;
164
+ } else t9 = $[11];
165
+ useLayoutEffect$1(t8, t9);
166
+ let t10;
167
+ if ($[12] !== arrowProps || $[13] !== mods || $[14] !== placementDirection || $[15] !== tipStyles) {
168
+ t10 = /* @__PURE__ */ jsx(TooltipTipElement, {
145
169
  "data-placement": placementDirection,
146
170
  styles: tipStyles,
147
171
  mods,
148
172
  ...arrowProps
149
- })]
150
- });
173
+ });
174
+ $[12] = arrowProps;
175
+ $[13] = mods;
176
+ $[14] = placementDirection;
177
+ $[15] = tipStyles;
178
+ $[16] = t10;
179
+ } else t10 = $[16];
180
+ let t11;
181
+ if ($[17] !== combinedRef || $[18] !== minOffset || $[19] !== minScale || $[20] !== mods || $[21] !== overlayProps || $[22] !== phase || $[23] !== placementDirection || $[24] !== props.children || $[25] !== styles || $[26] !== t10 || $[27] !== tooltipProps) {
182
+ t11 = /* @__PURE__ */ jsxs(TooltipElement, {
183
+ ...tooltipProps,
184
+ ...overlayProps,
185
+ ref: combinedRef,
186
+ styles,
187
+ mods,
188
+ "data-min-offset": minOffset,
189
+ "data-min-scale": minScale,
190
+ "data-placement": placementDirection,
191
+ "data-phase": phase,
192
+ children: [props.children, t10]
193
+ });
194
+ $[17] = combinedRef;
195
+ $[18] = minOffset;
196
+ $[19] = minScale;
197
+ $[20] = mods;
198
+ $[21] = overlayProps;
199
+ $[22] = phase;
200
+ $[23] = placementDirection;
201
+ $[24] = props.children;
202
+ $[25] = styles;
203
+ $[26] = t10;
204
+ $[27] = tooltipProps;
205
+ $[28] = t11;
206
+ } else t11 = $[28];
207
+ return t11;
151
208
  }
152
209
  /**
153
210
  * Display container for Tooltip content. Has a directional arrow dependent on its placement.
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","names":["mergeProps"],"sources":["../../../../src/components/overlays/Tooltip/Tooltip.tsx"],"sourcesContent":["import { createDOMRef } from '@react-spectrum/utils';\nimport { DOMRefValue } from '@react-types/shared';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n useContext,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react';\nimport { AriaTooltipProps, useTooltip } from 'react-aria';\n\nimport { PlacementAxis } from '../../../shared';\nimport { mergeProps, mergeRefs, useLayoutEffect } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\n\nimport { TooltipContext } from './context';\n\nexport type { AriaTooltipProps };\n\nconst TooltipElement = tasty({\n styles: {\n display: 'block',\n // The DEFAULT (dark) tooltip is intentionally scheme-invariant:\n // `#surface-inverse.85` + `#white` keep it the \"always dark\" tooltip in\n // light, dark, and high-contrast schemes — matching the legacy `#dark.85`\n // + `#white` design.\n //\n // The `light` variant uses the adaptive surface tokens (`#surface` +\n // `#surface-text-soft`) so it follows the page scheme. This restores the\n // softer legacy `#dark-02` look in light mode (cr≈9.2) and stays AA-safe\n // in dark mode (the previous fixed `#surface-inverse` was much darker\n // than the legacy `#dark-02`, and pairing the fixed `#white` fill with\n // the adaptive `#surface-text-soft` text — the LEGACY_ALIASES port of\n // `#dark-02` — would collapse to cr≈1.8 in dark schemes; using `#surface`\n // for the fill keeps both ends of the pair adapting together).\n fill: {\n '': '#surface-inverse.85',\n light: '#surface',\n },\n color: {\n '': '#white',\n light: '#surface-text-soft',\n },\n width: 'initial min(36x, (100dvw - 4x)) max-content',\n radius: true,\n padding: '.75x 1x',\n preset: 't4',\n backdropFilter: 'blur(.5x)',\n whiteSpace: 'pre-line',\n // The tooltip is width-capped (`min(36x, …)`) with `max-width: max-content`,\n // so a run with no spaces — a URL, a token, an identifier, an error string —\n // stays on one line and spills straight out of the bubble. `anywhere` breaks\n // it at the cap instead. It inherits, so tooltip children wrap too.\n overflowWrap: 'anywhere',\n pointerEvents: {\n '': 'none',\n material: 'auto',\n },\n filter: {\n '': false,\n light: 'drop-shadow(0 0 1px #surface-text-soft.2)',\n },\n transition:\n 'translate $transition ease-out, scale $transition ease-out, theme $transition ease-out',\n translate: {\n '': '0 0',\n 'open & [data-placement=\"top\"]': '0 0',\n '!open & [data-placement=\"top\"]': '0 1x',\n 'open & [data-placement=\"bottom\"]': '0 0',\n '!open & [data-placement=\"bottom\"]': '0 -1x',\n 'open & [data-placement=\"left\"]': '0 0',\n '!open & [data-placement=\"left\"]': '1x 0',\n 'open & [data-placement=\"right\"]': '0 0',\n '!open & [data-placement=\"right\"]': '-1x 0',\n },\n transformOrigin: {\n '': 'top center',\n '[data-placement=\"top\"]': 'bottom center',\n '[data-placement=\"left\"]': 'right center',\n '[data-placement=\"right\"]': 'left center',\n },\n scale: {\n '': '1 1',\n '!open': '1 .8',\n '!open & ([data-placement=\"left\"] | [data-placement=\"right\"])': '.8 1',\n },\n opacity: {\n '': 1,\n '!open': 0.001,\n },\n },\n});\n\nconst TooltipTipElement = tasty({\n styles: {\n position: 'absolute',\n width: '1px',\n height: '1px',\n border: '.5x #clear',\n borderTop: {\n '': '.5x solid #surface-inverse.85',\n light: '.5x solid #surface',\n },\n borderBottom: '0',\n top: {\n '': 'initial',\n '[data-placement=\"left\"] | [data-placement=\"right\"]': '50%',\n '[data-placement=\"top\"]': '100%',\n },\n left: {\n '': 'initial',\n '[data-placement=\"top\"] | [data-placement=\"bottom\"]': '50%',\n '[data-placement=\"left\"]': '100%',\n },\n right: {\n '': 'initial',\n '[data-placement=\"right\"]': '100%',\n },\n bottom: {\n '': 'initial',\n '[data-placement=\"bottom\"]': '100%',\n },\n transform: {\n '': 'translate((-.375x - 1px), 0)',\n '[data-placement=\"bottom\"]':\n 'translate((-.375x - 1px), 0) rotate(180deg)',\n '[data-placement=\"left\"]': 'translate(-.25x, -.25x) rotate(270deg)',\n '[data-placement=\"right\"]': 'translate(.25x, -.25x) rotate(90deg)',\n },\n transition: 'theme',\n },\n});\n\nexport interface CubeTooltipProps\n extends BaseProps,\n ContainerStyleProps,\n AriaTooltipProps {\n tipStyles?: Styles;\n showIcon?: boolean;\n placement?: PlacementAxis;\n isMaterial?: boolean;\n isOpen?: boolean;\n isLight?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n shouldFlip?: boolean;\n}\n\nfunction Tooltip(\n props: CubeTooltipProps,\n ref: ForwardedRef<DOMRefValue<HTMLDivElement>>,\n) {\n let {\n ref: overlayRef,\n transitionRef,\n arrowProps,\n state,\n overlayProps,\n minOffset,\n minScale,\n isMaterial: isMaterialContext,\n isLight: isLightContext,\n phase,\n isShown,\n updatePosition,\n ...tooltipProviderProps\n } = useContext(TooltipContext);\n\n const defaultRef = useRef<HTMLDivElement>(null);\n const combinedRef = mergeRefs(transitionRef, overlayRef ?? defaultRef);\n const finalOverlayRef = overlayRef ?? defaultRef;\n\n props = mergeProps(props, tooltipProviderProps);\n\n let {\n placement = 'top',\n isOpen,\n tipStyles,\n showIcon,\n isMaterial = isMaterialContext,\n isLight = isLightContext,\n ...otherProps\n } = props;\n\n const styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n let { tooltipProps } = useTooltip({ ...props, isDismissable: false }, state);\n\n // Sync ref with overlayRef from context.\n useImperativeHandle(ref, () => createDOMRef(finalOverlayRef));\n\n if (typeof minOffset === 'number') {\n minOffset = `${minOffset}px`;\n }\n\n if (typeof minScale === 'number') {\n minScale = String(minScale);\n }\n\n // Extract primary placement direction for consistent styling\n const placementDirection = placement?.split(' ')[0] || placement || 'top';\n\n const mods = useMemo(() => {\n return {\n material: isMaterial,\n light: isLight,\n open: isShown ?? isOpen,\n };\n }, [isMaterial, isShown, isOpen, isLight]);\n\n // Update position when tooltip becomes visible\n useLayoutEffect(() => {\n updatePosition?.();\n }, []);\n\n return (\n <TooltipElement\n {...tooltipProps}\n {...overlayProps}\n ref={combinedRef}\n styles={styles}\n mods={mods}\n data-min-offset={minOffset}\n data-min-scale={minScale}\n data-placement={placementDirection}\n data-phase={phase}\n >\n {props.children}\n <TooltipTipElement\n data-placement={placementDirection}\n styles={tipStyles}\n mods={mods}\n {...arrowProps}\n />\n </TooltipElement>\n );\n}\n\n/**\n * Display container for Tooltip content. Has a directional arrow dependent on its placement.\n */\nlet _Tooltip = forwardRef(Tooltip);\n\n_Tooltip.displayName = 'Tooltip';\n\nexport { _Tooltip as Tooltip };\n"],"mappings":";;;;;;;;;;;;;AA2BA,MAAM,iBAAiB,MAAM,EAC3B,QAAQ;CACN,SAAS;CAcT,MAAM;EACJ,IAAI;EACJ,OAAO;EACR;CACD,OAAO;EACL,IAAI;EACJ,OAAO;EACR;CACD,OAAO;CACP,QAAQ;CACR,SAAS;CACT,QAAQ;CACR,gBAAgB;CAChB,YAAY;CAKZ,cAAc;CACd,eAAe;EACb,IAAI;EACJ,UAAU;EACX;CACD,QAAQ;EACN,IAAI;EACJ,OAAO;EACR;CACD,YACE;CACF,WAAW;EACT,IAAI;EACJ,mCAAiC;EACjC,oCAAkC;EAClC,sCAAoC;EACpC,uCAAqC;EACrC,oCAAkC;EAClC,qCAAmC;EACnC,qCAAmC;EACnC,sCAAoC;EACrC;CACD,iBAAiB;EACf,IAAI;EACJ,4BAA0B;EAC1B,6BAA2B;EAC3B,8BAA4B;EAC7B;CACD,OAAO;EACL,IAAI;EACJ,SAAS;EACT,oEAAgE;EACjE;CACD,SAAS;EACP,IAAI;EACJ,SAAS;EACV;CACF,EACF,CAAC;AAEF,MAAM,oBAAoB,MAAM,EAC9B,QAAQ;CACN,UAAU;CACV,OAAO;CACP,QAAQ;CACR,QAAQ;CACR,WAAW;EACT,IAAI;EACJ,OAAO;EACR;CACD,cAAc;CACd,KAAK;EACH,IAAI;EACJ,0DAAsD;EACtD,4BAA0B;EAC3B;CACD,MAAM;EACJ,IAAI;EACJ,0DAAsD;EACtD,6BAA2B;EAC5B;CACD,OAAO;EACL,IAAI;EACJ,8BAA4B;EAC7B;CACD,QAAQ;EACN,IAAI;EACJ,+BAA6B;EAC9B;CACD,WAAW;EACT,IAAI;EACJ,+BACE;EACF,6BAA2B;EAC3B,8BAA4B;EAC7B;CACD,YAAY;CACb,EACF,CAAC;AAiBF,SAAS,QACP,OACA,KACA;CACA,IAAI,EACF,KAAK,YACL,eACA,YACA,OACA,cACA,WACA,UACA,YAAY,mBACZ,SAAS,gBACT,OACA,SACA,gBACA,GAAG,yBACD,WAAW,eAAe;CAE9B,MAAM,aAAa,OAAuB,KAAK;CAC/C,MAAM,cAAc,UAAU,eAAe,cAAc,WAAW;CACtE,MAAM,kBAAkB,cAAc;AAEtC,SAAQA,aAAW,OAAO,qBAAqB;CAE/C,IAAI,EACF,YAAY,OACZ,QACA,WACA,UACA,aAAa,mBACb,UAAU,gBACV,GAAG,eACD;CAEJ,MAAM,SAAS,cAAc,YAAY,iBAAiB;CAE1D,IAAI,EAAE,iBAAiB,WAAW;EAAE,GAAG;EAAO,eAAe;EAAO,EAAE,MAAM;AAG5E,qBAAoB,WAAW,aAAa,gBAAgB,CAAC;AAE7D,KAAI,OAAO,cAAc,SACvB,aAAY,GAAG,UAAU;AAG3B,KAAI,OAAO,aAAa,SACtB,YAAW,OAAO,SAAS;CAI7B,MAAM,qBAAqB,WAAW,MAAM,IAAI,CAAC,MAAM,aAAa;CAEpE,MAAM,OAAO,cAAc;AACzB,SAAO;GACL,UAAU;GACV,OAAO;GACP,MAAM,WAAW;GAClB;IACA;EAAC;EAAY;EAAS;EAAQ;EAAQ,CAAC;AAG1C,yBAAsB;AACpB,oBAAkB;IACjB,EAAE,CAAC;AAEN,QACE,qBAAC;EACC,GAAI;EACJ,GAAI;EACJ,KAAK;EACG;EACF;EACN,mBAAiB;EACjB,kBAAgB;EAChB,kBAAgB;EAChB,cAAY;aAEX,MAAM,UACP,oBAAC;GACC,kBAAgB;GAChB,QAAQ;GACF;GACN,GAAI;IACJ;GACa;;;;;AAOrB,IAAI,WAAW,WAAW,QAAQ;AAElC,SAAS,cAAc"}
1
+ {"version":3,"file":"Tooltip.js","names":["createDOMRef","DOMRefValue","BaseProps","CONTAINER_STYLES","ContainerStyleProps","Styles","tasty","ForwardedRef","forwardRef","useContext","useImperativeHandle","useMemo","useRef","AriaTooltipProps","useTooltip","PlacementAxis","mergeProps","mergeRefs","useLayoutEffect","extractStyles","TooltipContext","TooltipElement","styles","display","fill","light","color","width","radius","padding","preset","backdropFilter","whiteSpace","overflowWrap","pointerEvents","material","filter","transition","translate","transformOrigin","scale","opacity","TooltipTipElement","position","height","border","borderTop","borderBottom","top","left","right","bottom","transform","CubeTooltipProps","tipStyles","showIcon","placement","isMaterial","isOpen","isLight","onOpenChange","defaultOpen","shouldFlip","Tooltip","props","ref","$","_c","overlayRef","transitionRef","arrowProps","state","overlayProps","minOffset","minScale","isMaterialContext","isLightContext","phase","isShown","updatePosition","tooltipProviderProps","defaultRef","t0","t1","combinedRef","finalOverlayRef","t2","t3","t4","otherProps","undefined","tooltipProps","isDismissable","t5","String","placementDirection","split","t6","t7","open","mods","t8","t9","Symbol","for","t10","t11","children","_Tooltip","displayName"],"sources":["../../../../src/components/overlays/Tooltip/Tooltip.tsx"],"sourcesContent":["import { createDOMRef } from '@react-spectrum/utils';\nimport { DOMRefValue } from '@react-types/shared';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n useContext,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react';\nimport { AriaTooltipProps, useTooltip } from 'react-aria';\n\nimport { PlacementAxis } from '../../../shared';\nimport { mergeProps, mergeRefs, useLayoutEffect } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\n\nimport { TooltipContext } from './context';\n\nexport type { AriaTooltipProps };\n\nconst TooltipElement = tasty({\n styles: {\n display: 'block',\n // The DEFAULT (dark) tooltip is intentionally scheme-invariant:\n // `#surface-inverse.85` + `#white` keep it the \"always dark\" tooltip in\n // light, dark, and high-contrast schemes — matching the legacy `#dark.85`\n // + `#white` design.\n //\n // The `light` variant uses the adaptive surface tokens (`#surface` +\n // `#surface-text-soft`) so it follows the page scheme. This restores the\n // softer legacy `#dark-02` look in light mode (cr≈9.2) and stays AA-safe\n // in dark mode (the previous fixed `#surface-inverse` was much darker\n // than the legacy `#dark-02`, and pairing the fixed `#white` fill with\n // the adaptive `#surface-text-soft` text — the LEGACY_ALIASES port of\n // `#dark-02` — would collapse to cr≈1.8 in dark schemes; using `#surface`\n // for the fill keeps both ends of the pair adapting together).\n fill: {\n '': '#surface-inverse.85',\n light: '#surface',\n },\n color: {\n '': '#white',\n light: '#surface-text-soft',\n },\n width: 'initial min(36x, (100dvw - 4x)) max-content',\n radius: true,\n padding: '.75x 1x',\n preset: 't4',\n backdropFilter: 'blur(.5x)',\n whiteSpace: 'pre-line',\n // The tooltip is width-capped (`min(36x, …)`) with `max-width: max-content`,\n // so a run with no spaces — a URL, a token, an identifier, an error string —\n // stays on one line and spills straight out of the bubble. `anywhere` breaks\n // it at the cap instead. It inherits, so tooltip children wrap too.\n overflowWrap: 'anywhere',\n pointerEvents: {\n '': 'none',\n material: 'auto',\n },\n filter: {\n '': false,\n light: 'drop-shadow(0 0 1px #surface-text-soft.2)',\n },\n transition:\n 'translate $transition ease-out, scale $transition ease-out, theme $transition ease-out',\n translate: {\n '': '0 0',\n 'open & [data-placement=\"top\"]': '0 0',\n '!open & [data-placement=\"top\"]': '0 1x',\n 'open & [data-placement=\"bottom\"]': '0 0',\n '!open & [data-placement=\"bottom\"]': '0 -1x',\n 'open & [data-placement=\"left\"]': '0 0',\n '!open & [data-placement=\"left\"]': '1x 0',\n 'open & [data-placement=\"right\"]': '0 0',\n '!open & [data-placement=\"right\"]': '-1x 0',\n },\n transformOrigin: {\n '': 'top center',\n '[data-placement=\"top\"]': 'bottom center',\n '[data-placement=\"left\"]': 'right center',\n '[data-placement=\"right\"]': 'left center',\n },\n scale: {\n '': '1 1',\n '!open': '1 .8',\n '!open & ([data-placement=\"left\"] | [data-placement=\"right\"])': '.8 1',\n },\n opacity: {\n '': 1,\n '!open': 0.001,\n },\n },\n});\n\nconst TooltipTipElement = tasty({\n styles: {\n position: 'absolute',\n width: '1px',\n height: '1px',\n border: '.5x #clear',\n borderTop: {\n '': '.5x solid #surface-inverse.85',\n light: '.5x solid #surface',\n },\n borderBottom: '0',\n top: {\n '': 'initial',\n '[data-placement=\"left\"] | [data-placement=\"right\"]': '50%',\n '[data-placement=\"top\"]': '100%',\n },\n left: {\n '': 'initial',\n '[data-placement=\"top\"] | [data-placement=\"bottom\"]': '50%',\n '[data-placement=\"left\"]': '100%',\n },\n right: {\n '': 'initial',\n '[data-placement=\"right\"]': '100%',\n },\n bottom: {\n '': 'initial',\n '[data-placement=\"bottom\"]': '100%',\n },\n transform: {\n '': 'translate((-.375x - 1px), 0)',\n '[data-placement=\"bottom\"]':\n 'translate((-.375x - 1px), 0) rotate(180deg)',\n '[data-placement=\"left\"]': 'translate(-.25x, -.25x) rotate(270deg)',\n '[data-placement=\"right\"]': 'translate(.25x, -.25x) rotate(90deg)',\n },\n transition: 'theme',\n },\n});\n\nexport interface CubeTooltipProps\n extends BaseProps,\n ContainerStyleProps,\n AriaTooltipProps {\n tipStyles?: Styles;\n showIcon?: boolean;\n placement?: PlacementAxis;\n isMaterial?: boolean;\n isOpen?: boolean;\n isLight?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n shouldFlip?: boolean;\n}\n\nfunction Tooltip(\n props: CubeTooltipProps,\n ref: ForwardedRef<DOMRefValue<HTMLDivElement>>,\n) {\n let {\n ref: overlayRef,\n transitionRef,\n arrowProps,\n state,\n overlayProps,\n minOffset,\n minScale,\n isMaterial: isMaterialContext,\n isLight: isLightContext,\n phase,\n isShown,\n updatePosition,\n ...tooltipProviderProps\n } = useContext(TooltipContext);\n\n const defaultRef = useRef<HTMLDivElement>(null);\n const combinedRef = mergeRefs(transitionRef, overlayRef ?? defaultRef);\n const finalOverlayRef = overlayRef ?? defaultRef;\n\n props = mergeProps(props, tooltipProviderProps);\n\n let {\n placement = 'top',\n isOpen,\n tipStyles,\n showIcon,\n isMaterial = isMaterialContext,\n isLight = isLightContext,\n ...otherProps\n } = props;\n\n const styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n let { tooltipProps } = useTooltip({ ...props, isDismissable: false }, state);\n\n // Sync ref with overlayRef from context.\n useImperativeHandle(ref, () => createDOMRef(finalOverlayRef));\n\n if (typeof minOffset === 'number') {\n minOffset = `${minOffset}px`;\n }\n\n if (typeof minScale === 'number') {\n minScale = String(minScale);\n }\n\n // Extract primary placement direction for consistent styling\n const placementDirection = placement?.split(' ')[0] || placement || 'top';\n\n const mods = useMemo(() => {\n return {\n material: isMaterial,\n light: isLight,\n open: isShown ?? isOpen,\n };\n }, [isMaterial, isShown, isOpen, isLight]);\n\n // Update position when tooltip becomes visible\n useLayoutEffect(() => {\n updatePosition?.();\n }, []);\n\n return (\n <TooltipElement\n {...tooltipProps}\n {...overlayProps}\n ref={combinedRef}\n styles={styles}\n mods={mods}\n data-min-offset={minOffset}\n data-min-scale={minScale}\n data-placement={placementDirection}\n data-phase={phase}\n >\n {props.children}\n <TooltipTipElement\n data-placement={placementDirection}\n styles={tipStyles}\n mods={mods}\n {...arrowProps}\n />\n </TooltipElement>\n );\n}\n\n/**\n * Display container for Tooltip content. Has a directional arrow dependent on its placement.\n */\nlet _Tooltip = forwardRef(Tooltip);\n\n_Tooltip.displayName = 'Tooltip';\n\nexport { _Tooltip as Tooltip };\n"],"mappings":"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"}