@cube-dev/ui-kit 0.181.0 → 0.183.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1133) hide show
  1. package/dist/CHANGELOG.md +34 -0
  2. package/dist/_internal/hooks/use-debounced-value.js +48 -31
  3. package/dist/_internal/hooks/use-debounced-value.js.map +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +22 -7
  5. package/dist/_internal/hooks/use-deprecation-warning.js.map +1 -1
  6. package/dist/_internal/hooks/use-event.js +1 -1
  7. package/dist/_internal/hooks/use-event.js.map +1 -1
  8. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  9. package/dist/_internal/hooks/use-is-first-render.js.map +1 -1
  10. package/dist/_internal/hooks/use-sync-ref.js +12 -4
  11. package/dist/_internal/hooks/use-sync-ref.js.map +1 -1
  12. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  13. package/dist/_internal/hooks/use-timer/timer.js.map +1 -1
  14. package/dist/_internal/hooks/use-timer/use-timer.js +90 -20
  15. package/dist/_internal/hooks/use-timer/use-timer.js.map +1 -1
  16. package/dist/_internal/hooks/use-warn.js +4 -4
  17. package/dist/_internal/hooks/use-warn.js.map +1 -1
  18. package/dist/components/Block.js +29 -7
  19. package/dist/components/Block.js.map +1 -1
  20. package/dist/components/CollectionItem.js +1 -1
  21. package/dist/components/CollectionItem.js.map +1 -1
  22. package/dist/components/GlobalStyles.js +33 -9
  23. package/dist/components/GlobalStyles.js.map +1 -1
  24. package/dist/components/GridProvider.js +4 -4
  25. package/dist/components/GridProvider.js.map +1 -1
  26. package/dist/components/HiddenInput.js +1 -1
  27. package/dist/components/HiddenInput.js.map +1 -1
  28. package/dist/components/Root.js +137 -42
  29. package/dist/components/Root.js.map +1 -1
  30. package/dist/components/actions/Action/Action.js +20 -8
  31. package/dist/components/actions/Action/Action.js.map +1 -1
  32. package/dist/components/actions/Banner/Banner.js +91 -22
  33. package/dist/components/actions/Banner/Banner.js.map +1 -1
  34. package/dist/components/actions/Button/Button.js +7 -5
  35. package/dist/components/actions/Button/Button.js.map +1 -1
  36. package/dist/components/actions/ButtonGroup/ButtonGroup.js +15 -5
  37. package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
  38. package/dist/components/actions/ButtonSplit/ButtonSplit.js +6 -4
  39. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
  40. package/dist/components/actions/ButtonSplit/context.js +1 -1
  41. package/dist/components/actions/ButtonSplit/context.js.map +1 -1
  42. package/dist/components/actions/CommandMenu/CommandMenu.js +76 -76
  43. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  44. package/dist/components/actions/CommandMenu/styled.js +1 -1
  45. package/dist/components/actions/CommandMenu/styled.js.map +1 -1
  46. package/dist/components/actions/ItemAction/ItemAction.js +205 -68
  47. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  48. package/dist/components/actions/ItemActionContext.js +26 -7
  49. package/dist/components/actions/ItemActionContext.js.map +1 -1
  50. package/dist/components/actions/ItemActionsWrapper.js +215 -84
  51. package/dist/components/actions/ItemActionsWrapper.js.map +1 -1
  52. package/dist/components/actions/ItemButton/ItemButton.js +2 -2
  53. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  54. package/dist/components/actions/Link/Link.js +16 -7
  55. package/dist/components/actions/Link/Link.js.map +1 -1
  56. package/dist/components/actions/Menu/Menu.js +127 -72
  57. package/dist/components/actions/Menu/Menu.js.map +1 -1
  58. package/dist/components/actions/Menu/MenuItem.js +116 -43
  59. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  60. package/dist/components/actions/Menu/MenuSection.js +85 -30
  61. package/dist/components/actions/Menu/MenuSection.js.map +1 -1
  62. package/dist/components/actions/Menu/MenuTrigger.js +316 -112
  63. package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
  64. package/dist/components/actions/Menu/SubMenuTrigger.js +6 -6
  65. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  66. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  67. package/dist/components/actions/Menu/SubmenuTriggerContext.js.map +1 -1
  68. package/dist/components/actions/Menu/context.js +1 -1
  69. package/dist/components/actions/Menu/context.js.map +1 -1
  70. package/dist/components/actions/Menu/styled.js +1 -1
  71. package/dist/components/actions/Menu/styled.js.map +1 -1
  72. package/dist/components/actions/actions-run.js +1 -1
  73. package/dist/components/actions/actions-run.js.map +1 -1
  74. package/dist/components/actions/index.js +1 -1
  75. package/dist/components/actions/index.js.map +1 -1
  76. package/dist/components/actions/use-action.js +3 -3
  77. package/dist/components/actions/use-action.js.map +1 -1
  78. package/dist/components/actions/use-anchored-menu.js +6 -6
  79. package/dist/components/actions/use-anchored-menu.js.map +1 -1
  80. package/dist/components/actions/use-context-menu.js +12 -12
  81. package/dist/components/actions/use-context-menu.js.map +1 -1
  82. package/dist/components/content/ActiveZone/ActiveZone.js +84 -18
  83. package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
  84. package/dist/components/content/Alert/Alert.js +18 -7
  85. package/dist/components/content/Alert/Alert.js.map +1 -1
  86. package/dist/components/content/Alert/use-alert.js +53 -15
  87. package/dist/components/content/Alert/use-alert.js.map +1 -1
  88. package/dist/components/content/Avatar/Avatar.js +51 -13
  89. package/dist/components/content/Avatar/Avatar.js.map +1 -1
  90. package/dist/components/content/Badge/Badge.js +43 -10
  91. package/dist/components/content/Badge/Badge.js.map +1 -1
  92. package/dist/components/content/Card/Card.js +29 -7
  93. package/dist/components/content/Card/Card.js.map +1 -1
  94. package/dist/components/content/Content.js +29 -7
  95. package/dist/components/content/Content.js.map +1 -1
  96. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +2 -2
  97. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  98. package/dist/components/content/CopySnippet/CopySnippet.js +220 -60
  99. package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
  100. package/dist/components/content/Disclosure/Disclosure.js +453 -194
  101. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  102. package/dist/components/content/Divider.js +52 -14
  103. package/dist/components/content/Divider.js.map +1 -1
  104. package/dist/components/content/Footer.js +29 -7
  105. package/dist/components/content/Footer.js.map +1 -1
  106. package/dist/components/content/Header.js +29 -7
  107. package/dist/components/content/Header.js.map +1 -1
  108. package/dist/components/content/HotKeys/HotKeys.js +55 -27
  109. package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
  110. package/dist/components/content/InfoBadge/InfoBadge.js +8 -8
  111. package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -1
  112. package/dist/components/content/InlineInput/InlineInput.js +429 -188
  113. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  114. package/dist/components/content/Item/Item.js +414 -155
  115. package/dist/components/content/Item/Item.js.map +1 -1
  116. package/dist/components/content/ItemBadge/ItemBadge.js +173 -59
  117. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  118. package/dist/components/content/ItemCard/ItemCard.js +34 -9
  119. package/dist/components/content/ItemCard/ItemCard.js.map +1 -1
  120. package/dist/components/content/Layout/GridLayout.js +38 -10
  121. package/dist/components/content/Layout/GridLayout.js.map +1 -1
  122. package/dist/components/content/Layout/Layout.js +30 -13
  123. package/dist/components/content/Layout/Layout.js.map +1 -1
  124. package/dist/components/content/Layout/LayoutBlock.js +33 -8
  125. package/dist/components/content/Layout/LayoutBlock.js.map +1 -1
  126. package/dist/components/content/Layout/LayoutCenter.js +48 -11
  127. package/dist/components/content/Layout/LayoutCenter.js.map +1 -1
  128. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  129. package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
  130. package/dist/components/content/Layout/LayoutContent.js +1 -1
  131. package/dist/components/content/Layout/LayoutContent.js.map +1 -1
  132. package/dist/components/content/Layout/LayoutContext.js +30 -21
  133. package/dist/components/content/Layout/LayoutContext.js.map +1 -1
  134. package/dist/components/content/Layout/LayoutFlex.js +33 -8
  135. package/dist/components/content/Layout/LayoutFlex.js.map +1 -1
  136. package/dist/components/content/Layout/LayoutFooter.js +53 -14
  137. package/dist/components/content/Layout/LayoutFooter.js.map +1 -1
  138. package/dist/components/content/Layout/LayoutGrid.js +48 -11
  139. package/dist/components/content/Layout/LayoutGrid.js.map +1 -1
  140. package/dist/components/content/Layout/LayoutHeader.js +211 -57
  141. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  142. package/dist/components/content/Layout/LayoutPane.js +60 -14
  143. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  144. package/dist/components/content/Layout/LayoutPanel.js +59 -17
  145. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  146. package/dist/components/content/Layout/LayoutPanelHeader.js +89 -27
  147. package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
  148. package/dist/components/content/Layout/LayoutToolbar.js +33 -8
  149. package/dist/components/content/Layout/LayoutToolbar.js.map +1 -1
  150. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +206 -119
  151. package/dist/components/content/Layout/hooks/useTinyScrollbar.js.map +1 -1
  152. package/dist/components/content/Layout/index.js +1 -1
  153. package/dist/components/content/Layout/index.js.map +1 -1
  154. package/dist/components/content/Layout/utils.js +1 -1
  155. package/dist/components/content/Layout/utils.js.map +1 -1
  156. package/dist/components/content/Paragraph.js +25 -9
  157. package/dist/components/content/Paragraph.js.map +1 -1
  158. package/dist/components/content/Placeholder/Placeholder.js +52 -14
  159. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  160. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  161. package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
  162. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  163. package/dist/components/content/PrismCode/prismSetup.js.map +1 -1
  164. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +52 -17
  165. package/dist/components/content/PrismDiffCode/PrismDiffCode.js.map +1 -1
  166. package/dist/components/content/Result/Result.js +117 -38
  167. package/dist/components/content/Result/Result.js.map +1 -1
  168. package/dist/components/content/Skeleton/Skeleton.js +26 -17
  169. package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
  170. package/dist/components/content/Tag/Tag.js +68 -13
  171. package/dist/components/content/Tag/Tag.js.map +1 -1
  172. package/dist/components/content/Text.d.ts +14 -14
  173. package/dist/components/content/Text.js +61 -14
  174. package/dist/components/content/Text.js.map +1 -1
  175. package/dist/components/content/TextItem/TextItem.js +37 -16
  176. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  177. package/dist/components/content/Title.js +98 -23
  178. package/dist/components/content/Title.js.map +1 -1
  179. package/dist/components/content/Tree/Tree.js +32 -32
  180. package/dist/components/content/Tree/Tree.js.map +1 -1
  181. package/dist/components/content/Tree/TreeNode.js +10 -10
  182. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  183. package/dist/components/content/Tree/styled.js +1 -1
  184. package/dist/components/content/Tree/styled.js.map +1 -1
  185. package/dist/components/content/Tree/tree-index.js +1 -1
  186. package/dist/components/content/Tree/tree-index.js.map +1 -1
  187. package/dist/components/content/Tree/use-checkbox-tree.js +123 -89
  188. package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
  189. package/dist/components/content/Tree/use-load-data.js +52 -21
  190. package/dist/components/content/Tree/use-load-data.js.map +1 -1
  191. package/dist/components/content/highlightText.js +1 -1
  192. package/dist/components/content/highlightText.js.map +1 -1
  193. package/dist/components/content/use-auto-tooltip.js +1 -1
  194. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  195. package/dist/components/data/DataTable/DataTable.js +31 -31
  196. package/dist/components/data/DataTable/DataTable.js.map +1 -1
  197. package/dist/components/data/ItemTable/ItemTable.js +41 -41
  198. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  199. package/dist/components/data/ItemTable/ItemTableBulkBar.js +11 -11
  200. package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
  201. package/dist/components/data/ItemTable/ItemTableDragPreview.js +41 -4
  202. package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
  203. package/dist/components/data/ItemTable/ItemTableFooter.js +67 -30
  204. package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
  205. package/dist/components/data/ItemTable/ItemTableToolbar.js +95 -28
  206. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
  207. package/dist/components/data/TableBase/ColumnResizer.js +90 -41
  208. package/dist/components/data/TableBase/ColumnResizer.js.map +1 -1
  209. package/dist/components/data/TableBase/RowCollection.js +1 -1
  210. package/dist/components/data/TableBase/RowCollection.js.map +1 -1
  211. package/dist/components/data/TableBase/TableHeaderCell.js +154 -64
  212. package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
  213. package/dist/components/data/TableBase/TableRow.js +211 -69
  214. package/dist/components/data/TableBase/TableRow.js.map +1 -1
  215. package/dist/components/data/TableBase/TableView.js +119 -80
  216. package/dist/components/data/TableBase/TableView.js.map +1 -1
  217. package/dist/components/data/TableBase/column-menu.js +1 -1
  218. package/dist/components/data/TableBase/column-menu.js.map +1 -1
  219. package/dist/components/data/TableBase/column-tint.js +1 -1
  220. package/dist/components/data/TableBase/column-tint.js.map +1 -1
  221. package/dist/components/data/TableBase/row-menu.js +1 -1
  222. package/dist/components/data/TableBase/row-menu.js.map +1 -1
  223. package/dist/components/data/TableBase/styled.js +1 -1
  224. package/dist/components/data/TableBase/styled.js.map +1 -1
  225. package/dist/components/data/TableBase/table-tree.js +1 -1
  226. package/dist/components/data/TableBase/table-tree.js.map +1 -1
  227. package/dist/components/data/TableBase/types.js +1 -1
  228. package/dist/components/data/TableBase/types.js.map +1 -1
  229. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  230. package/dist/components/data/TableBase/use-cell-selection.js.map +1 -1
  231. package/dist/components/data/TableBase/use-column-order.js +56 -12
  232. package/dist/components/data/TableBase/use-column-order.js.map +1 -1
  233. package/dist/components/data/TableBase/use-container-width.js +24 -10
  234. package/dist/components/data/TableBase/use-container-width.js.map +1 -1
  235. package/dist/components/data/TableBase/use-row-move-animation.js +68 -49
  236. package/dist/components/data/TableBase/use-row-move-animation.js.map +1 -1
  237. package/dist/components/data/TableBase/use-scrollability.js +32 -18
  238. package/dist/components/data/TableBase/use-scrollability.js.map +1 -1
  239. package/dist/components/data/TableBase/use-table-columns.js +130 -60
  240. package/dist/components/data/TableBase/use-table-columns.js.map +1 -1
  241. package/dist/components/data/TableBase/use-table-search.js +1 -1
  242. package/dist/components/data/TableBase/use-table-search.js.map +1 -1
  243. package/dist/components/data/TableBase/use-table-selection.js +39 -39
  244. package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
  245. package/dist/components/data/TableBase/use-table-sort.js +132 -68
  246. package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
  247. package/dist/components/data/TableBase/use-table-sorts.js +168 -101
  248. package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
  249. package/dist/components/data/TableBase/use-table-storage.js +2 -2
  250. package/dist/components/data/TableBase/use-table-storage.js.map +1 -1
  251. package/dist/components/data/TableBase/use-table-tree-state.js +181 -86
  252. package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
  253. package/dist/components/fields/Checkbox/Checkbox.js +13 -6
  254. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  255. package/dist/components/fields/Checkbox/CheckboxGroup.js +101 -33
  256. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  257. package/dist/components/fields/Checkbox/context.js +1 -1
  258. package/dist/components/fields/Checkbox/context.js.map +1 -1
  259. package/dist/components/fields/ColorInput/ColorInput.js +329 -150
  260. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  261. package/dist/components/fields/ColorPicker/ColorPicker.js +16 -16
  262. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  263. package/dist/components/fields/ColorSwatch/ColorSwatch.js +52 -13
  264. package/dist/components/fields/ColorSwatch/ColorSwatch.js.map +1 -1
  265. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +90 -28
  266. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  267. package/dist/components/fields/ComboBox/ComboBox.js +216 -134
  268. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  269. package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +21 -1
  270. package/dist/components/fields/CommandTextArea/CommandTextArea.js +26 -7
  271. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  272. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  273. package/dist/components/fields/CommandTextArea/caretPosition.js.map +1 -1
  274. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +88 -49
  275. package/dist/components/fields/CommandTextArea/useCaretAnchor.js.map +1 -1
  276. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  277. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  278. package/dist/components/fields/DatePicker/DateInputBase.js +129 -34
  279. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  280. package/dist/components/fields/DatePicker/DatePicker.js +194 -66
  281. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  282. package/dist/components/fields/DatePicker/DatePickerButton.js +39 -8
  283. package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
  284. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  285. package/dist/components/fields/DatePicker/DatePickerElement.js.map +1 -1
  286. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  287. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  288. package/dist/components/fields/DatePicker/DatePickerSegment.js +109 -29
  289. package/dist/components/fields/DatePicker/DatePickerSegment.js.map +1 -1
  290. package/dist/components/fields/DatePicker/DateRangePicker.js +224 -85
  291. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  292. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +473 -177
  293. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  294. package/dist/components/fields/DatePicker/MonthPicker.js +15 -6
  295. package/dist/components/fields/DatePicker/MonthPicker.js.map +1 -1
  296. package/dist/components/fields/DatePicker/PeriodPicker.js +288 -91
  297. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  298. package/dist/components/fields/DatePicker/QuarterPicker.js +15 -6
  299. package/dist/components/fields/DatePicker/QuarterPicker.js.map +1 -1
  300. package/dist/components/fields/DatePicker/TimeInput.js +15 -7
  301. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  302. package/dist/components/fields/DatePicker/WeekPicker.js +15 -6
  303. package/dist/components/fields/DatePicker/WeekPicker.js.map +1 -1
  304. package/dist/components/fields/DatePicker/YearPicker.js +15 -6
  305. package/dist/components/fields/DatePicker/YearPicker.js.map +1 -1
  306. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  307. package/dist/components/fields/DatePicker/parseDate.js.map +1 -1
  308. package/dist/components/fields/DatePicker/period.js +1 -1
  309. package/dist/components/fields/DatePicker/period.js.map +1 -1
  310. package/dist/components/fields/DatePicker/props.js +1 -1
  311. package/dist/components/fields/DatePicker/props.js.map +1 -1
  312. package/dist/components/fields/DatePicker/utils.js +15 -8
  313. package/dist/components/fields/DatePicker/utils.js.map +1 -1
  314. package/dist/components/fields/FileInput/FileInput.js +3 -3
  315. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  316. package/dist/components/fields/FilterListBox/FilterListBox.js +87 -87
  317. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  318. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +2 -0
  319. package/dist/components/fields/FilterPicker/FilterPicker.js +24 -23
  320. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  321. package/dist/components/fields/Input/Input.js +1 -1
  322. package/dist/components/fields/Input/Input.js.map +1 -1
  323. package/dist/components/fields/ListBox/DraggableListBox.js +23 -10
  324. package/dist/components/fields/ListBox/DraggableListBox.js.map +1 -1
  325. package/dist/components/fields/ListBox/ListBox.js +138 -53
  326. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  327. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +156 -37
  328. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  329. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  330. package/dist/components/fields/ListBoxPopover/listNavigation.js.map +1 -1
  331. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +61 -33
  332. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
  333. package/dist/components/fields/NumberInput/NumberInput.js +123 -33
  334. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  335. package/dist/components/fields/NumberInput/StepButton.js +53 -15
  336. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  337. package/dist/components/fields/PasswordInput/PasswordInput.js +149 -45
  338. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  339. package/dist/components/fields/Picker/Picker.d.ts +2 -0
  340. package/dist/components/fields/Picker/Picker.js +10 -9
  341. package/dist/components/fields/Picker/Picker.js.map +1 -1
  342. package/dist/components/fields/RadioGroup/Radio.js +273 -104
  343. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  344. package/dist/components/fields/RadioGroup/RadioGroup.js +149 -48
  345. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  346. package/dist/components/fields/RadioGroup/context.js +1 -1
  347. package/dist/components/fields/RadioGroup/context.js.map +1 -1
  348. package/dist/components/fields/SearchComboBox/SearchComboBox.js +80 -65
  349. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  350. package/dist/components/fields/SearchInput/SearchInput.js +91 -28
  351. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  352. package/dist/components/fields/Select/Select.d.ts +2 -0
  353. package/dist/components/fields/Select/Select.js +373 -118
  354. package/dist/components/fields/Select/Select.js.map +1 -1
  355. package/dist/components/fields/Slider/Gradation.js +45 -10
  356. package/dist/components/fields/Slider/Gradation.js.map +1 -1
  357. package/dist/components/fields/Slider/HueSlider.js +121 -32
  358. package/dist/components/fields/Slider/HueSlider.js.map +1 -1
  359. package/dist/components/fields/Slider/RangeSlider.js +46 -10
  360. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  361. package/dist/components/fields/Slider/Slider.js +108 -23
  362. package/dist/components/fields/Slider/Slider.js.map +1 -1
  363. package/dist/components/fields/Slider/SliderBase.js +2 -2
  364. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  365. package/dist/components/fields/Slider/SliderThumb.js +96 -37
  366. package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
  367. package/dist/components/fields/Slider/SliderTrack.js +64 -23
  368. package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
  369. package/dist/components/fields/Slider/elements.js +1 -1
  370. package/dist/components/fields/Slider/elements.js.map +1 -1
  371. package/dist/components/fields/Slider/index.js +1 -1
  372. package/dist/components/fields/Switch/Switch.js +190 -66
  373. package/dist/components/fields/Switch/Switch.js.map +1 -1
  374. package/dist/components/fields/TextArea/TextArea.js +137 -47
  375. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  376. package/dist/components/fields/TextInput/TextInput.js +80 -27
  377. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  378. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  379. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  380. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  381. package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -1
  382. package/dist/components/fields/TextInputMapper/TextInputMapper.js +156 -83
  383. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  384. package/dist/components/fields/TriggerActions.js +11 -2
  385. package/dist/components/fields/TriggerActions.js.map +1 -1
  386. package/dist/components/fields/color/ColorPanel.js +237 -59
  387. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  388. package/dist/components/fields/color/channels.js +1 -1
  389. package/dist/components/fields/color/channels.js.map +1 -1
  390. package/dist/components/fields/color/color.js +1 -1
  391. package/dist/components/fields/color/color.js.map +1 -1
  392. package/dist/components/fields/color/context.js +1 -1
  393. package/dist/components/fields/color/context.js.map +1 -1
  394. package/dist/components/form/FieldWrapper/FieldWrapper.js +195 -72
  395. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  396. package/dist/components/form/Form/Field.js +23 -9
  397. package/dist/components/form/Form/Field.js.map +1 -1
  398. package/dist/components/form/Form/Form.js +76 -30
  399. package/dist/components/form/Form/Form.js.map +1 -1
  400. package/dist/components/form/Form/ModernFormRoot.js +294 -81
  401. package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
  402. package/dist/components/form/Form/ResetButton/ResetButton.js +32 -10
  403. package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
  404. package/dist/components/form/Form/SubmitButton/SubmitButton.js +32 -10
  405. package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
  406. package/dist/components/form/Form/SubmitError.js +130 -32
  407. package/dist/components/form/Form/SubmitError.js.map +1 -1
  408. package/dist/components/form/Form/backend.js +1 -1
  409. package/dist/components/form/Form/backend.js.map +1 -1
  410. package/dist/components/form/Form/index.js +1 -1
  411. package/dist/components/form/Form/index.js.map +1 -1
  412. package/dist/components/form/Form/modern/actions.js +140 -45
  413. package/dist/components/form/Form/modern/actions.js.map +1 -1
  414. package/dist/components/form/Form/modern/context.js +1 -1
  415. package/dist/components/form/Form/modern/context.js.map +1 -1
  416. package/dist/components/form/Form/modern/controller.js +1 -1
  417. package/dist/components/form/Form/modern/controller.js.map +1 -1
  418. package/dist/components/form/Form/modern/field-binding.js +1 -1
  419. package/dist/components/form/Form/modern/field-binding.js.map +1 -1
  420. package/dist/components/form/Form/modern/field.js +1 -1
  421. package/dist/components/form/Form/modern/field.js.map +1 -1
  422. package/dist/components/form/Form/modern/react.js +102 -19
  423. package/dist/components/form/Form/modern/react.js.map +1 -1
  424. package/dist/components/form/Form/modern/store.js +13 -3
  425. package/dist/components/form/Form/modern/store.js.map +1 -1
  426. package/dist/components/form/Form/modern/types.d.ts +3 -1
  427. package/dist/components/form/Form/modern/validation.js +1 -1
  428. package/dist/components/form/Form/modern/validation.js.map +1 -1
  429. package/dist/components/form/Form/modern/values.js +1 -1
  430. package/dist/components/form/Form/modern/values.js.map +1 -1
  431. package/dist/components/form/Form/use-field/use-field-binding.js +236 -63
  432. package/dist/components/form/Form/use-field/use-field-binding.js.map +1 -1
  433. package/dist/components/form/Form/use-field/use-field-props.js +106 -61
  434. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  435. package/dist/components/form/Form/use-field/use-field.js +5 -4
  436. package/dist/components/form/Form/use-field/use-field.js.map +1 -1
  437. package/dist/components/form/Form/use-form.js +2 -1
  438. package/dist/components/form/Form/use-form.js.map +1 -1
  439. package/dist/components/form/Form/validation.js +1 -1
  440. package/dist/components/form/Form/validation.js.map +1 -1
  441. package/dist/components/form/Label.js +127 -37
  442. package/dist/components/form/Label.js.map +1 -1
  443. package/dist/components/form/validation/ValidationIndicator.js +20 -5
  444. package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
  445. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  446. package/dist/components/form/validation/resolve-validation-props.js.map +1 -1
  447. package/dist/components/form/validation/use-validation-props.js +36 -10
  448. package/dist/components/form/validation/use-validation-props.js.map +1 -1
  449. package/dist/components/form/wrapper.js +1 -1
  450. package/dist/components/form/wrapper.js.map +1 -1
  451. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +49 -29
  452. package/dist/components/helpers/DisplayTransition/DisplayTransition.js.map +1 -1
  453. package/dist/components/helpers/IconSwitch/IconSwitch.js +8 -8
  454. package/dist/components/helpers/IconSwitch/IconSwitch.js.map +1 -1
  455. package/dist/components/layout/Board/Board.js +27 -9
  456. package/dist/components/layout/Board/Board.js.map +1 -1
  457. package/dist/components/layout/Board/BoardProvider.js +1 -1
  458. package/dist/components/layout/Board/BoardProvider.js.map +1 -1
  459. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  460. package/dist/components/layout/Board/BoardResponsive.js.map +1 -1
  461. package/dist/components/layout/Board/Widget.js +1 -1
  462. package/dist/components/layout/Board/Widget.js.map +1 -1
  463. package/dist/components/layout/Board/WidgetHost.js +159 -121
  464. package/dist/components/layout/Board/WidgetHost.js.map +1 -1
  465. package/dist/components/layout/Board/board-context.js +14 -5
  466. package/dist/components/layout/Board/board-context.js.map +1 -1
  467. package/dist/components/layout/Board/board-store.js +1 -1
  468. package/dist/components/layout/Board/board-store.js.map +1 -1
  469. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  470. package/dist/components/layout/Board/grid-core/calculate.js.map +1 -1
  471. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  472. package/dist/components/layout/Board/grid-core/collision-modes.js.map +1 -1
  473. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  474. package/dist/components/layout/Board/grid-core/collision.js.map +1 -1
  475. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  476. package/dist/components/layout/Board/grid-core/compactors.js.map +1 -1
  477. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  478. package/dist/components/layout/Board/grid-core/constraints.js.map +1 -1
  479. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  480. package/dist/components/layout/Board/grid-core/group-move.js.map +1 -1
  481. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  482. package/dist/components/layout/Board/grid-core/layout.js.map +1 -1
  483. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  484. package/dist/components/layout/Board/grid-core/placement.js.map +1 -1
  485. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  486. package/dist/components/layout/Board/grid-core/sort.js.map +1 -1
  487. package/dist/components/layout/Board/index.js +1 -1
  488. package/dist/components/layout/Board/index.js.map +1 -1
  489. package/dist/components/layout/Board/responsive-utils.js +1 -1
  490. package/dist/components/layout/Board/responsive-utils.js.map +1 -1
  491. package/dist/components/layout/Board/use-board-layout.js +8 -8
  492. package/dist/components/layout/Board/use-board-layout.js.map +1 -1
  493. package/dist/components/layout/Board/use-board-registry.js +257 -257
  494. package/dist/components/layout/Board/use-board-registry.js.map +1 -1
  495. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  496. package/dist/components/layout/Board/use-board-select-modifier-key.js.map +1 -1
  497. package/dist/components/layout/Board/use-board-selection.js +16 -16
  498. package/dist/components/layout/Board/use-board-selection.js.map +1 -1
  499. package/dist/components/layout/Flex.js +29 -7
  500. package/dist/components/layout/Flex.js.map +1 -1
  501. package/dist/components/layout/Flow.js +29 -7
  502. package/dist/components/layout/Flow.js.map +1 -1
  503. package/dist/components/layout/Grid.js +30 -7
  504. package/dist/components/layout/Grid.js.map +1 -1
  505. package/dist/components/layout/Panel.js +9 -9
  506. package/dist/components/layout/Panel.js.map +1 -1
  507. package/dist/components/layout/Prefix.js +59 -16
  508. package/dist/components/layout/Prefix.js.map +1 -1
  509. package/dist/components/layout/ResizablePanel.js +62 -32
  510. package/dist/components/layout/ResizablePanel.js.map +1 -1
  511. package/dist/components/layout/Space.js +55 -11
  512. package/dist/components/layout/Space.js.map +1 -1
  513. package/dist/components/layout/Suffix.js +59 -16
  514. package/dist/components/layout/Suffix.js.map +1 -1
  515. package/dist/components/navigation/Pagination/Pagination.js +394 -164
  516. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  517. package/dist/components/navigation/Pagination/use-pagination.js +69 -26
  518. package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
  519. package/dist/components/navigation/Tabs/DraggableTabList.js +25 -10
  520. package/dist/components/navigation/Tabs/DraggableTabList.js.map +1 -1
  521. package/dist/components/navigation/Tabs/TabButton.js +604 -235
  522. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  523. package/dist/components/navigation/Tabs/TabDropIndicator.js +65 -23
  524. package/dist/components/navigation/Tabs/TabDropIndicator.js.map +1 -1
  525. package/dist/components/navigation/Tabs/TabPanel.js +47 -19
  526. package/dist/components/navigation/Tabs/TabPanel.js.map +1 -1
  527. package/dist/components/navigation/Tabs/TabPicker.js +105 -33
  528. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  529. package/dist/components/navigation/Tabs/Tabs.js +45 -45
  530. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  531. package/dist/components/navigation/Tabs/TabsAction.js +53 -19
  532. package/dist/components/navigation/Tabs/TabsAction.js.map +1 -1
  533. package/dist/components/navigation/Tabs/TabsContext.js +16 -6
  534. package/dist/components/navigation/Tabs/TabsContext.js.map +1 -1
  535. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  536. package/dist/components/navigation/Tabs/popover-placement.js.map +1 -1
  537. package/dist/components/navigation/Tabs/styled.js +1 -1
  538. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  539. package/dist/components/navigation/Tabs/types.js +1 -1
  540. package/dist/components/navigation/Tabs/types.js.map +1 -1
  541. package/dist/components/navigation/Tabs/use-tab-editing.js +50 -13
  542. package/dist/components/navigation/Tabs/use-tab-editing.js.map +1 -1
  543. package/dist/components/navigation/Tabs/use-tab-indicator.js +111 -63
  544. package/dist/components/navigation/Tabs/use-tab-indicator.js.map +1 -1
  545. package/dist/components/organisms/StatsCard/StatsCard.js +54 -14
  546. package/dist/components/organisms/StatsCard/StatsCard.js.map +1 -1
  547. package/dist/components/other/Calendar/Calendar.js +79 -31
  548. package/dist/components/other/Calendar/Calendar.js.map +1 -1
  549. package/dist/components/other/Calendar/CalendarCell.js +66 -20
  550. package/dist/components/other/Calendar/CalendarCell.js.map +1 -1
  551. package/dist/components/other/Calendar/CalendarGrid.js +90 -40
  552. package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
  553. package/dist/components/other/Calendar/CalendarHeader.js +80 -17
  554. package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
  555. package/dist/components/other/Calendar/CalendarPanel.js +568 -144
  556. package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
  557. package/dist/components/other/Calendar/PeriodCalendar.js +425 -134
  558. package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -1
  559. package/dist/components/other/Calendar/PeriodGrid.js +6 -6
  560. package/dist/components/other/Calendar/PeriodGrid.js.map +1 -1
  561. package/dist/components/other/Calendar/RangeCalendar.js +50 -24
  562. package/dist/components/other/Calendar/RangeCalendar.js.map +1 -1
  563. package/dist/components/other/Calendar/styled.js +1 -1
  564. package/dist/components/other/Calendar/styled.js.map +1 -1
  565. package/dist/components/other/CubeLogo/CubeLogo.js +95 -34
  566. package/dist/components/other/CubeLogo/CubeLogo.js.map +1 -1
  567. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  568. package/dist/components/other/NoDataIcon/NoDataIcon.js.map +1 -1
  569. package/dist/components/overlays/AlertDialog/AlertDialog.js +153 -42
  570. package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
  571. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +76 -54
  572. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
  573. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +146 -39
  574. package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
  575. package/dist/components/overlays/Dialog/Dialog.js +26 -10
  576. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  577. package/dist/components/overlays/Dialog/DialogContainer.js +13 -13
  578. package/dist/components/overlays/Dialog/DialogContainer.js.map +1 -1
  579. package/dist/components/overlays/Dialog/DialogForm.d.ts +12 -7
  580. package/dist/components/overlays/Dialog/DialogForm.js +18 -7
  581. package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
  582. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +1 -1
  583. package/dist/components/overlays/Dialog/DialogTrigger.js +214 -59
  584. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  585. package/dist/components/overlays/Dialog/ModernDialogForm.js +350 -0
  586. package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -0
  587. package/dist/components/overlays/Dialog/context.js +1 -1
  588. package/dist/components/overlays/Dialog/context.js.map +1 -1
  589. package/dist/components/overlays/Dialog/index.d.ts +1 -1
  590. package/dist/components/overlays/Dialog/use-dialog-container.js +6 -6
  591. package/dist/components/overlays/Dialog/use-dialog-container.js.map +1 -1
  592. package/dist/components/overlays/Modal/Modal.js +140 -27
  593. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  594. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  595. package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -1
  596. package/dist/components/overlays/Modal/Overlay.js +4 -4
  597. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  598. package/dist/components/overlays/Modal/Popover.js +131 -29
  599. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  600. package/dist/components/overlays/Modal/Tray.js +142 -30
  601. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  602. package/dist/components/overlays/Modal/Underlay.js +36 -7
  603. package/dist/components/overlays/Modal/Underlay.js.map +1 -1
  604. package/dist/components/overlays/Notifications/Notification.js +69 -32
  605. package/dist/components/overlays/Notifications/Notification.js.map +1 -1
  606. package/dist/components/overlays/Notifications/NotificationAction.js +79 -26
  607. package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
  608. package/dist/components/overlays/Notifications/NotificationCard.js +138 -33
  609. package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
  610. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  611. package/dist/components/overlays/Notifications/NotificationContext.js.map +1 -1
  612. package/dist/components/overlays/Notifications/NotificationItem.js +63 -16
  613. package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
  614. package/dist/components/overlays/Notifications/OverlayContainer.js +312 -151
  615. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  616. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  617. package/dist/components/overlays/Notifications/OverlayProvider.js.map +1 -1
  618. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +210 -58
  619. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  620. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  621. package/dist/components/overlays/Notifications/dismissed-storage.js.map +1 -1
  622. package/dist/components/overlays/Notifications/format-relative-time.d.ts +1 -1
  623. package/dist/components/overlays/Notifications/format-relative-time.js +3 -3
  624. package/dist/components/overlays/Notifications/format-relative-time.js.map +1 -1
  625. package/dist/components/overlays/Notifications/index.js +1 -1
  626. package/dist/components/overlays/Notifications/index.js.map +1 -1
  627. package/dist/components/overlays/Notifications/use-notification-state.js +51 -51
  628. package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
  629. package/dist/components/overlays/Notifications/use-notifications.js +12 -12
  630. package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
  631. package/dist/components/overlays/Notifications/use-overlay-timers.js +10 -10
  632. package/dist/components/overlays/Notifications/use-overlay-timers.js.map +1 -1
  633. package/dist/components/overlays/Notifications/use-persistent-notifications.js +24 -5
  634. package/dist/components/overlays/Notifications/use-persistent-notifications.js.map +1 -1
  635. package/dist/components/overlays/Notifications/use-persistent-state.js +145 -43
  636. package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
  637. package/dist/components/overlays/Notifications/use-toast-state.js +25 -25
  638. package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
  639. package/dist/components/overlays/Toast/ToastItem.js +68 -15
  640. package/dist/components/overlays/Toast/ToastItem.js.map +1 -1
  641. package/dist/components/overlays/Toast/index.js +100 -34
  642. package/dist/components/overlays/Toast/index.js.map +1 -1
  643. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  644. package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
  645. package/dist/components/overlays/Toast/useToast.js +9 -9
  646. package/dist/components/overlays/Toast/useToast.js.map +1 -1
  647. package/dist/components/overlays/Tooltip/Tooltip.js +88 -31
  648. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  649. package/dist/components/overlays/Tooltip/TooltipProvider.js +75 -10
  650. package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
  651. package/dist/components/overlays/Tooltip/TooltipTrigger.js +186 -77
  652. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  653. package/dist/components/overlays/Tooltip/context.js +1 -1
  654. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  655. package/dist/components/portal/Portal.js +18 -3
  656. package/dist/components/portal/Portal.js.map +1 -1
  657. package/dist/components/portal/PortalProvider.js +11 -2
  658. package/dist/components/portal/PortalProvider.js.map +1 -1
  659. package/dist/components/portal/usePortal.js +1 -1
  660. package/dist/components/portal/usePortal.js.map +1 -1
  661. package/dist/components/shared/DraggableCollection.js +23 -23
  662. package/dist/components/shared/DraggableCollection.js.map +1 -1
  663. package/dist/components/shared/InvalidIcon.js +1 -1
  664. package/dist/components/shared/InvalidIcon.js.map +1 -1
  665. package/dist/components/shared/ValidIcon.js +1 -1
  666. package/dist/components/shared/ValidIcon.js.map +1 -1
  667. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +156 -48
  668. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  669. package/dist/components/status/Spin/Cube.js +12 -3
  670. package/dist/components/status/Spin/Cube.js.map +1 -1
  671. package/dist/components/status/Spin/InternalSpinner.js +21 -6
  672. package/dist/components/status/Spin/InternalSpinner.js.map +1 -1
  673. package/dist/components/status/Spin/Spin.js +31 -7
  674. package/dist/components/status/Spin/Spin.js.map +1 -1
  675. package/dist/components/status/Spin/SpinsContainer.js +23 -6
  676. package/dist/components/status/Spin/SpinsContainer.js.map +1 -1
  677. package/dist/data/item-themes.js +1 -1
  678. package/dist/data/item-themes.js.map +1 -1
  679. package/dist/data/themes.js +1 -1
  680. package/dist/data/themes.js.map +1 -1
  681. package/dist/eslint-plugin/defaults.generated.js +18 -7
  682. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  683. package/dist/eslint-plugin/index.js +1 -1
  684. package/dist/eslint-plugin/index.js.map +1 -1
  685. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  686. package/dist/eslint-plugin/rules/no-redundant-default-prop.js.map +1 -1
  687. package/dist/i18n/I18nProvider.js +54 -13
  688. package/dist/i18n/I18nProvider.js.map +1 -1
  689. package/dist/i18n/createFormatter.js +1 -1
  690. package/dist/i18n/createFormatter.js.map +1 -1
  691. package/dist/i18n/index.js +1 -1
  692. package/dist/i18n/index.js.map +1 -1
  693. package/dist/i18n/instance.js +1 -1
  694. package/dist/i18n/instance.js.map +1 -1
  695. package/dist/i18n/locales/de-DE/uikit.js +5 -2
  696. package/dist/i18n/locales/en-US/uikit.js +5 -2
  697. package/dist/i18n/locales/en-US/uikit.json.d.ts +15 -5
  698. package/dist/i18n/locales/es-ES/uikit.js +5 -2
  699. package/dist/i18n/locales/es-MX/uikit.js +5 -2
  700. package/dist/i18n/locales/fr-FR/uikit.js +5 -2
  701. package/dist/i18n/locales/it-IT/uikit.js +5 -2
  702. package/dist/i18n/locales/ja-JP/uikit.js +5 -2
  703. package/dist/i18n/locales/nb-NO/uikit.js +5 -2
  704. package/dist/i18n/locales/pt-BR/uikit.js +5 -2
  705. package/dist/i18n/locales/pt-PT/uikit.js +5 -2
  706. package/dist/i18n/locales/sv-SE/uikit.js +5 -2
  707. package/dist/i18n/locales/vi-VN/uikit.js +5 -2
  708. package/dist/i18n/locales.js +1 -1
  709. package/dist/i18n/locales.js.map +1 -1
  710. package/dist/i18n/useFormatter.js +10 -3
  711. package/dist/i18n/useFormatter.js.map +1 -1
  712. package/dist/i18n/useI18n.js +1 -1
  713. package/dist/i18n/useI18n.js.map +1 -1
  714. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  715. package/dist/icons/AdjustmentsHorizontalIcon.js.map +1 -1
  716. package/dist/icons/AdjustmentsIcon.js +1 -1
  717. package/dist/icons/AdjustmentsIcon.js.map +1 -1
  718. package/dist/icons/AiIcon.js +1 -1
  719. package/dist/icons/AiIcon.js.map +1 -1
  720. package/dist/icons/AreaChartIcon.js +1 -1
  721. package/dist/icons/AreaChartIcon.js.map +1 -1
  722. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  723. package/dist/icons/ArrowNarrowDownIcon.js.map +1 -1
  724. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  725. package/dist/icons/ArrowNarrowUpIcon.js.map +1 -1
  726. package/dist/icons/BackwardIcon.js +1 -1
  727. package/dist/icons/BackwardIcon.js.map +1 -1
  728. package/dist/icons/BarChartIcon.js +1 -1
  729. package/dist/icons/BarChartIcon.js.map +1 -1
  730. package/dist/icons/BellFilledIcon.js +1 -1
  731. package/dist/icons/BellFilledIcon.js.map +1 -1
  732. package/dist/icons/BellIcon.js +1 -1
  733. package/dist/icons/BellIcon.js.map +1 -1
  734. package/dist/icons/BooleanIcon.js +1 -1
  735. package/dist/icons/BooleanIcon.js.map +1 -1
  736. package/dist/icons/CalendarEditIcon.js +1 -1
  737. package/dist/icons/CalendarEditIcon.js.map +1 -1
  738. package/dist/icons/CalendarIcon.js +1 -1
  739. package/dist/icons/CalendarIcon.js.map +1 -1
  740. package/dist/icons/CaretDownIcon.js +1 -1
  741. package/dist/icons/CaretDownIcon.js.map +1 -1
  742. package/dist/icons/CaretUpIcon.js +1 -1
  743. package/dist/icons/CaretUpIcon.js.map +1 -1
  744. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  745. package/dist/icons/ChartAreaStackedIcon.js.map +1 -1
  746. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  747. package/dist/icons/ChartAreaStackedPercentageIcon.js.map +1 -1
  748. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  749. package/dist/icons/ChartBarGroupedHorizontalIcon.js.map +1 -1
  750. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  751. package/dist/icons/ChartBarGroupedIcon.js.map +1 -1
  752. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  753. package/dist/icons/ChartBarHorizontalIcon.js.map +1 -1
  754. package/dist/icons/ChartBarLineIcon.js +1 -1
  755. package/dist/icons/ChartBarLineIcon.js.map +1 -1
  756. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  757. package/dist/icons/ChartBarStackedHorizontalIcon.js.map +1 -1
  758. package/dist/icons/ChartBarStackedIcon.js +1 -1
  759. package/dist/icons/ChartBarStackedIcon.js.map +1 -1
  760. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  761. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js.map +1 -1
  762. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  763. package/dist/icons/ChartBarStackedPercentageIcon.js.map +1 -1
  764. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  765. package/dist/icons/ChartBoxPlot2Icon.js.map +1 -1
  766. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  767. package/dist/icons/ChartBoxPlotIcon.js.map +1 -1
  768. package/dist/icons/ChartBubbleIcon.js +1 -1
  769. package/dist/icons/ChartBubbleIcon.js.map +1 -1
  770. package/dist/icons/ChartDonut2Icon.js +1 -1
  771. package/dist/icons/ChartDonut2Icon.js.map +1 -1
  772. package/dist/icons/ChartFunnelIcon.js +1 -1
  773. package/dist/icons/ChartFunnelIcon.js.map +1 -1
  774. package/dist/icons/ChartHeatmapIcon.js +1 -1
  775. package/dist/icons/ChartHeatmapIcon.js.map +1 -1
  776. package/dist/icons/ChartKPIIcon.js +1 -1
  777. package/dist/icons/ChartKPIIcon.js.map +1 -1
  778. package/dist/icons/ChartPie2Icon.js +1 -1
  779. package/dist/icons/ChartPie2Icon.js.map +1 -1
  780. package/dist/icons/ChartScatterIcon.js +1 -1
  781. package/dist/icons/ChartScatterIcon.js.map +1 -1
  782. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  783. package/dist/icons/CheckCircleFilledIcon.js.map +1 -1
  784. package/dist/icons/CheckCircleIcon.js +1 -1
  785. package/dist/icons/CheckCircleIcon.js.map +1 -1
  786. package/dist/icons/CheckIcon.js +1 -1
  787. package/dist/icons/CheckIcon.js.map +1 -1
  788. package/dist/icons/CircleFilledIcon.js +1 -1
  789. package/dist/icons/CircleFilledIcon.js.map +1 -1
  790. package/dist/icons/ClearIcon.js +1 -1
  791. package/dist/icons/ClearIcon.js.map +1 -1
  792. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  793. package/dist/icons/CloseCircleFilledIcon.js.map +1 -1
  794. package/dist/icons/CloseCircleIcon.js +1 -1
  795. package/dist/icons/CloseCircleIcon.js.map +1 -1
  796. package/dist/icons/CloseIcon.js +1 -1
  797. package/dist/icons/CloseIcon.js.map +1 -1
  798. package/dist/icons/CodeIcon.js +1 -1
  799. package/dist/icons/CodeIcon.js.map +1 -1
  800. package/dist/icons/ColumnTotalIcon.js +1 -1
  801. package/dist/icons/ColumnTotalIcon.js.map +1 -1
  802. package/dist/icons/CopyIcon.js +1 -1
  803. package/dist/icons/CopyIcon.js.map +1 -1
  804. package/dist/icons/CountIcon.js +1 -1
  805. package/dist/icons/CountIcon.js.map +1 -1
  806. package/dist/icons/CubeIcon.js +1 -1
  807. package/dist/icons/CubeIcon.js.map +1 -1
  808. package/dist/icons/CubePauseIcon.js +1 -1
  809. package/dist/icons/CubePauseIcon.js.map +1 -1
  810. package/dist/icons/CubePlayIcon.js +1 -1
  811. package/dist/icons/CubePlayIcon.js.map +1 -1
  812. package/dist/icons/CurrencyDollarIcon.js +1 -1
  813. package/dist/icons/CurrencyDollarIcon.js.map +1 -1
  814. package/dist/icons/DangerIcon.js +1 -1
  815. package/dist/icons/DangerIcon.js.map +1 -1
  816. package/dist/icons/DashboardIcon.js +1 -1
  817. package/dist/icons/DashboardIcon.js.map +1 -1
  818. package/dist/icons/DatabaseIcon.js +1 -1
  819. package/dist/icons/DatabaseIcon.js.map +1 -1
  820. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  821. package/dist/icons/DecimalDecreaseIcon.js.map +1 -1
  822. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  823. package/dist/icons/DecimalIncreaseIcon.js.map +1 -1
  824. package/dist/icons/DirectionIcon.js +67 -22
  825. package/dist/icons/DirectionIcon.js.map +1 -1
  826. package/dist/icons/DonutIcon.js +1 -1
  827. package/dist/icons/DonutIcon.js.map +1 -1
  828. package/dist/icons/DownIcon.js +1 -1
  829. package/dist/icons/DownIcon.js.map +1 -1
  830. package/dist/icons/EditIcon.js +1 -1
  831. package/dist/icons/EditIcon.js.map +1 -1
  832. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  833. package/dist/icons/ExclamationCircleFilledIcon.js.map +1 -1
  834. package/dist/icons/ExclamationCircleIcon.js +1 -1
  835. package/dist/icons/ExclamationCircleIcon.js.map +1 -1
  836. package/dist/icons/ExclamationIcon.js +1 -1
  837. package/dist/icons/ExclamationIcon.js.map +1 -1
  838. package/dist/icons/EyeIcon.js +1 -1
  839. package/dist/icons/EyeIcon.js.map +1 -1
  840. package/dist/icons/EyeInvisibleIcon.js +1 -1
  841. package/dist/icons/EyeInvisibleIcon.js.map +1 -1
  842. package/dist/icons/FilterIcon.js +1 -1
  843. package/dist/icons/FilterIcon.js.map +1 -1
  844. package/dist/icons/FolderFilledIcon.js +1 -1
  845. package/dist/icons/FolderFilledIcon.js.map +1 -1
  846. package/dist/icons/FolderIcon.js +1 -1
  847. package/dist/icons/FolderIcon.js.map +1 -1
  848. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  849. package/dist/icons/FolderOpenFilledIcon.js.map +1 -1
  850. package/dist/icons/FolderOpenIcon.js +1 -1
  851. package/dist/icons/FolderOpenIcon.js.map +1 -1
  852. package/dist/icons/ForwardIcon.js +1 -1
  853. package/dist/icons/ForwardIcon.js.map +1 -1
  854. package/dist/icons/GripVerticalIcon.js +1 -1
  855. package/dist/icons/GripVerticalIcon.js.map +1 -1
  856. package/dist/icons/HierarchyIcon.js +1 -1
  857. package/dist/icons/HierarchyIcon.js.map +1 -1
  858. package/dist/icons/HierarchyOpenIcon.js +1 -1
  859. package/dist/icons/HierarchyOpenIcon.js.map +1 -1
  860. package/dist/icons/Icon.js +60 -16
  861. package/dist/icons/Icon.js.map +1 -1
  862. package/dist/icons/InfoCircleIcon.js +1 -1
  863. package/dist/icons/InfoCircleIcon.js.map +1 -1
  864. package/dist/icons/InfoIcon.js +1 -1
  865. package/dist/icons/InfoIcon.js.map +1 -1
  866. package/dist/icons/KeyIcon.js +1 -1
  867. package/dist/icons/KeyIcon.js.map +1 -1
  868. package/dist/icons/LeftIcon.js +1 -1
  869. package/dist/icons/LeftIcon.js.map +1 -1
  870. package/dist/icons/LineChartIcon.js +1 -1
  871. package/dist/icons/LineChartIcon.js.map +1 -1
  872. package/dist/icons/LoadingIcon.js +1 -1
  873. package/dist/icons/LoadingIcon.js.map +1 -1
  874. package/dist/icons/LockFilledIcon.js +1 -1
  875. package/dist/icons/LockFilledIcon.js.map +1 -1
  876. package/dist/icons/LockIcon.js +1 -1
  877. package/dist/icons/LockIcon.js.map +1 -1
  878. package/dist/icons/MoreIcon.js +1 -1
  879. package/dist/icons/MoreIcon.js.map +1 -1
  880. package/dist/icons/NotAllowedIcon.js +1 -1
  881. package/dist/icons/NotAllowedIcon.js.map +1 -1
  882. package/dist/icons/Number123Icon.js +1 -1
  883. package/dist/icons/Number123Icon.js.map +1 -1
  884. package/dist/icons/NumberIcon.js +1 -1
  885. package/dist/icons/NumberIcon.js.map +1 -1
  886. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  887. package/dist/icons/PauseCircleFilledIcon.js.map +1 -1
  888. package/dist/icons/PauseCircleIcon.js +1 -1
  889. package/dist/icons/PauseCircleIcon.js.map +1 -1
  890. package/dist/icons/PauseIcon.js +1 -1
  891. package/dist/icons/PauseIcon.js.map +1 -1
  892. package/dist/icons/PercentageIcon.js +1 -1
  893. package/dist/icons/PercentageIcon.js.map +1 -1
  894. package/dist/icons/PieChartIcon.js +1 -1
  895. package/dist/icons/PieChartIcon.js.map +1 -1
  896. package/dist/icons/PipetteIcon.js +1 -1
  897. package/dist/icons/PipetteIcon.js.map +1 -1
  898. package/dist/icons/PlayCircleIcon.js +1 -1
  899. package/dist/icons/PlayCircleIcon.js.map +1 -1
  900. package/dist/icons/PlayIcon.js +1 -1
  901. package/dist/icons/PlayIcon.js.map +1 -1
  902. package/dist/icons/PlusIcon.js +1 -1
  903. package/dist/icons/PlusIcon.js.map +1 -1
  904. package/dist/icons/ProgressBarIcon.js +1 -1
  905. package/dist/icons/ProgressBarIcon.js.map +1 -1
  906. package/dist/icons/ReloadIcon.js +1 -1
  907. package/dist/icons/ReloadIcon.js.map +1 -1
  908. package/dist/icons/ReportIcon.js +1 -1
  909. package/dist/icons/ReportIcon.js.map +1 -1
  910. package/dist/icons/ReturnIcon.js +1 -1
  911. package/dist/icons/ReturnIcon.js.map +1 -1
  912. package/dist/icons/RightIcon.js +1 -1
  913. package/dist/icons/RightIcon.js.map +1 -1
  914. package/dist/icons/RowTotalsIcon.js +1 -1
  915. package/dist/icons/RowTotalsIcon.js.map +1 -1
  916. package/dist/icons/SchemeIcon.js +1 -1
  917. package/dist/icons/SchemeIcon.js.map +1 -1
  918. package/dist/icons/SearchIcon.js +1 -1
  919. package/dist/icons/SearchIcon.js.map +1 -1
  920. package/dist/icons/SemanticQueryIcon.js +1 -1
  921. package/dist/icons/SemanticQueryIcon.js.map +1 -1
  922. package/dist/icons/SettingsIcon.js +1 -1
  923. package/dist/icons/SettingsIcon.js.map +1 -1
  924. package/dist/icons/ShieldFilledIcon.js +1 -1
  925. package/dist/icons/ShieldFilledIcon.js.map +1 -1
  926. package/dist/icons/ShieldIcon.js +1 -1
  927. package/dist/icons/ShieldIcon.js.map +1 -1
  928. package/dist/icons/SlashIcon.js +1 -1
  929. package/dist/icons/SlashIcon.js.map +1 -1
  930. package/dist/icons/SparklesIcon.js +1 -1
  931. package/dist/icons/SparklesIcon.js.map +1 -1
  932. package/dist/icons/SqlIcon.js +1 -1
  933. package/dist/icons/SqlIcon.js.map +1 -1
  934. package/dist/icons/StatsIcon.js +1 -1
  935. package/dist/icons/StatsIcon.js.map +1 -1
  936. package/dist/icons/StopIcon.js +1 -1
  937. package/dist/icons/StopIcon.js.map +1 -1
  938. package/dist/icons/StringIcon.js +1 -1
  939. package/dist/icons/StringIcon.js.map +1 -1
  940. package/dist/icons/SubtotalsIcon.js +1 -1
  941. package/dist/icons/SubtotalsIcon.js.map +1 -1
  942. package/dist/icons/SwitchIcon.js +1 -1
  943. package/dist/icons/SwitchIcon.js.map +1 -1
  944. package/dist/icons/TableIcon.js +1 -1
  945. package/dist/icons/TableIcon.js.map +1 -1
  946. package/dist/icons/ThumbsDownIcon.js +1 -1
  947. package/dist/icons/ThumbsDownIcon.js.map +1 -1
  948. package/dist/icons/ThumbsUpIcon.js +1 -1
  949. package/dist/icons/ThumbsUpIcon.js.map +1 -1
  950. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  951. package/dist/icons/ThunderboltCrossedIcon.js.map +1 -1
  952. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  953. package/dist/icons/ThunderboltFilledIcon.js.map +1 -1
  954. package/dist/icons/ThunderboltIcon.js +1 -1
  955. package/dist/icons/ThunderboltIcon.js.map +1 -1
  956. package/dist/icons/TimeIcon.js +1 -1
  957. package/dist/icons/TimeIcon.js.map +1 -1
  958. package/dist/icons/TrashIcon.js +1 -1
  959. package/dist/icons/TrashIcon.js.map +1 -1
  960. package/dist/icons/UnlockIcon.js +1 -1
  961. package/dist/icons/UnlockIcon.js.map +1 -1
  962. package/dist/icons/UpIcon.js +1 -1
  963. package/dist/icons/UpIcon.js.map +1 -1
  964. package/dist/icons/UserGroupIcon.js +1 -1
  965. package/dist/icons/UserGroupIcon.js.map +1 -1
  966. package/dist/icons/UserIcon.js +1 -1
  967. package/dist/icons/UserIcon.js.map +1 -1
  968. package/dist/icons/UserLockIcon.js +1 -1
  969. package/dist/icons/UserLockIcon.js.map +1 -1
  970. package/dist/icons/ViewIcon.js +1 -1
  971. package/dist/icons/ViewIcon.js.map +1 -1
  972. package/dist/icons/WarningFilledIcon.js +1 -1
  973. package/dist/icons/WarningFilledIcon.js.map +1 -1
  974. package/dist/icons/WarningIcon.js +1 -1
  975. package/dist/icons/WarningIcon.js.map +1 -1
  976. package/dist/icons/wrap-icon.js +15 -7
  977. package/dist/icons/wrap-icon.js.map +1 -1
  978. package/dist/index.d.ts +22 -22
  979. package/dist/index.js +1 -1
  980. package/dist/index.js.map +1 -1
  981. package/dist/probe/canonicalize.js +2 -2
  982. package/dist/probe/canonicalize.js.map +1 -1
  983. package/dist/probe/css.js +1 -1
  984. package/dist/probe/css.js.map +1 -1
  985. package/dist/probe/index.js +1 -1
  986. package/dist/provider.js +17 -7
  987. package/dist/provider.js.map +1 -1
  988. package/dist/providers/TrackingProvider.js +33 -9
  989. package/dist/providers/TrackingProvider.js.map +1 -1
  990. package/dist/providers/navigationAdapter.default.js +1 -1
  991. package/dist/providers/navigationAdapter.default.js.map +1 -1
  992. package/dist/tokens/all-tokens.js +1 -1
  993. package/dist/tokens/all-tokens.js.map +1 -1
  994. package/dist/tokens/base.js +2 -2
  995. package/dist/tokens/base.js.map +1 -1
  996. package/dist/tokens/color-seed.js +1 -1
  997. package/dist/tokens/color-seed.js.map +1 -1
  998. package/dist/tokens/color-theme.js +18 -3
  999. package/dist/tokens/color-theme.js.map +1 -1
  1000. package/dist/tokens/colors.js +1 -1
  1001. package/dist/tokens/colors.js.map +1 -1
  1002. package/dist/tokens/layout.js +1 -1
  1003. package/dist/tokens/layout.js.map +1 -1
  1004. package/dist/tokens/lazy-styles.js +1 -1
  1005. package/dist/tokens/lazy-styles.js.map +1 -1
  1006. package/dist/tokens/legacy-color.js +1 -1
  1007. package/dist/tokens/legacy-color.js.map +1 -1
  1008. package/dist/tokens/palette-config.js +9 -2
  1009. package/dist/tokens/palette-config.js.map +1 -1
  1010. package/dist/tokens/palette.js +1 -1
  1011. package/dist/tokens/palette.js.map +1 -1
  1012. package/dist/tokens/resolve.js +85 -21
  1013. package/dist/tokens/resolve.js.map +1 -1
  1014. package/dist/tokens/shadows.js +1 -1
  1015. package/dist/tokens/shadows.js.map +1 -1
  1016. package/dist/tokens/sizes.js +1 -1
  1017. package/dist/tokens/sizes.js.map +1 -1
  1018. package/dist/tokens/spacing.js +1 -1
  1019. package/dist/tokens/spacing.js.map +1 -1
  1020. package/dist/tokens/typography.js +1 -1
  1021. package/dist/tokens/typography.js.map +1 -1
  1022. package/dist/utils/ResizeSensor.js +1 -1
  1023. package/dist/utils/ResizeSensor.js.map +1 -1
  1024. package/dist/utils/colors.js +1 -1
  1025. package/dist/utils/colors.js.map +1 -1
  1026. package/dist/utils/dotize.js +1 -1
  1027. package/dist/utils/dotize.js.map +1 -1
  1028. package/dist/utils/is-dev-env.js +1 -1
  1029. package/dist/utils/is-dev-env.js.map +1 -1
  1030. package/dist/utils/modules.js +1 -1
  1031. package/dist/utils/modules.js.map +1 -1
  1032. package/dist/utils/promise.js +1 -1
  1033. package/dist/utils/promise.js.map +1 -1
  1034. package/dist/utils/raf.js +1 -1
  1035. package/dist/utils/raf.js.map +1 -1
  1036. package/dist/utils/random.js +1 -1
  1037. package/dist/utils/random.js.map +1 -1
  1038. package/dist/utils/range.js +1 -1
  1039. package/dist/utils/range.js.map +1 -1
  1040. package/dist/utils/react/RenderCache.js +2 -2
  1041. package/dist/utils/react/RenderCache.js.map +1 -1
  1042. package/dist/utils/react/Slots.js +67 -24
  1043. package/dist/utils/react/Slots.js.map +1 -1
  1044. package/dist/utils/react/chain.js +1 -1
  1045. package/dist/utils/react/chain.js.map +1 -1
  1046. package/dist/utils/react/disabledProps.js +1 -1
  1047. package/dist/utils/react/disabledProps.js.map +1 -1
  1048. package/dist/utils/react/escapePropagation.js +1 -1
  1049. package/dist/utils/react/escapePropagation.js.map +1 -1
  1050. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  1051. package/dist/utils/react/forwardRefWithGenerics.js.map +1 -1
  1052. package/dist/utils/react/index.js +1 -1
  1053. package/dist/utils/react/interactions.js +35 -12
  1054. package/dist/utils/react/interactions.js.map +1 -1
  1055. package/dist/utils/react/isTextOnly.js +1 -1
  1056. package/dist/utils/react/isTextOnly.js.map +1 -1
  1057. package/dist/utils/react/mapProps.js +1 -1
  1058. package/dist/utils/react/mapProps.js.map +1 -1
  1059. package/dist/utils/react/mergeProps.js +1 -1
  1060. package/dist/utils/react/mergeProps.js.map +1 -1
  1061. package/dist/utils/react/nullableValue.js +1 -1
  1062. package/dist/utils/react/nullableValue.js.map +1 -1
  1063. package/dist/utils/react/programmaticFocus.js +1 -1
  1064. package/dist/utils/react/programmaticFocus.js.map +1 -1
  1065. package/dist/utils/react/resolveIcon.js +1 -1
  1066. package/dist/utils/react/resolveIcon.js.map +1 -1
  1067. package/dist/utils/react/sharedStore.js +13 -2
  1068. package/dist/utils/react/sharedStore.js.map +1 -1
  1069. package/dist/utils/react/useBufferedValue.js +5 -5
  1070. package/dist/utils/react/useBufferedValue.js.map +1 -1
  1071. package/dist/utils/react/useCombinedRefs.js +20 -5
  1072. package/dist/utils/react/useCombinedRefs.js.map +1 -1
  1073. package/dist/utils/react/useControlledFocusVisible.js +53 -17
  1074. package/dist/utils/react/useControlledFocusVisible.js.map +1 -1
  1075. package/dist/utils/react/useEventBus.js +43 -18
  1076. package/dist/utils/react/useEventBus.js.map +1 -1
  1077. package/dist/utils/react/useId.js +2 -1
  1078. package/dist/utils/react/useId.js.map +1 -1
  1079. package/dist/utils/react/useIsDarwin.js +29 -16
  1080. package/dist/utils/react/useIsDarwin.js.map +1 -1
  1081. package/dist/utils/react/useKeySymbols.js +23 -9
  1082. package/dist/utils/react/useKeySymbols.js.map +1 -1
  1083. package/dist/utils/react/useLayoutEffect.js +1 -1
  1084. package/dist/utils/react/useLayoutEffect.js.map +1 -1
  1085. package/dist/utils/react/useLocalStorage.js +75 -30
  1086. package/dist/utils/react/useLocalStorage.js.map +1 -1
  1087. package/dist/utils/react/useMergeStyles.js +1 -1
  1088. package/dist/utils/react/useMergeStyles.js.map +1 -1
  1089. package/dist/utils/react/useOverlayEscapeGuard.js +25 -9
  1090. package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
  1091. package/dist/utils/react/usePopoverSync.js +175 -73
  1092. package/dist/utils/react/usePopoverSync.js.map +1 -1
  1093. package/dist/utils/react/useQaProps.js +1 -1
  1094. package/dist/utils/react/useQaProps.js.map +1 -1
  1095. package/dist/utils/react/useScheme.js +1 -1
  1096. package/dist/utils/react/useScheme.js.map +1 -1
  1097. package/dist/utils/react/useViewportSize.js +43 -19
  1098. package/dist/utils/react/useViewportSize.js.map +1 -1
  1099. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  1100. package/dist/utils/react/wrapNodeIfPlain.js.map +1 -1
  1101. package/dist/utils/selection.js +1 -1
  1102. package/dist/utils/selection.js.map +1 -1
  1103. package/dist/utils/styles.js +1 -1
  1104. package/dist/utils/styles.js.map +1 -1
  1105. package/dist/utils/tree.js +1 -1
  1106. package/dist/utils/tree.js.map +1 -1
  1107. package/dist/utils/warnings.js +1 -1
  1108. package/dist/utils/warnings.js.map +1 -1
  1109. package/dist/version.js +2 -2
  1110. package/dist/version.js.map +1 -1
  1111. package/docs/Usage.md +9 -1
  1112. package/docs/components/actions/Button.md +1 -1
  1113. package/docs/components/content/InlineInput.md +1 -1
  1114. package/docs/components/content/Item.md +19 -0
  1115. package/docs/components/fields/ColorInput.md +13 -8
  1116. package/docs/components/fields/ColorPicker.md +13 -8
  1117. package/docs/components/fields/ComboBox.md +16 -12
  1118. package/docs/components/fields/CommandTextArea.md +3 -1
  1119. package/docs/components/fields/FilterListBox.md +24 -19
  1120. package/docs/components/fields/FilterPicker.md +25 -19
  1121. package/docs/components/fields/ListBox.md +36 -26
  1122. package/docs/components/fields/Picker.md +28 -21
  1123. package/docs/components/fields/Select.md +17 -12
  1124. package/docs/components/form/Field.md +2 -2
  1125. package/docs/components/form/Form.md +60 -579
  1126. package/docs/components/form/ModernForm.md +22 -1
  1127. package/docs/components/overlays/Dialog.md +26 -0
  1128. package/docs/components/overlays/DialogForm.md +121 -263
  1129. package/docs/components/overlays/DialogTrigger.md +1 -1
  1130. package/docs/components/overlays/UseDialogContainer.md +11 -13
  1131. package/docs/modern-form-guide.md +22 -1
  1132. package/docs/modern-form-migration.md +1 -1
  1133. package/package.json +7 -2
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayProvider.js","names":[],"sources":["../../../../src/components/overlays/Notifications/OverlayProvider.tsx"],"sourcesContent":["import { useMemo, useRef } from 'react';\n\nimport {\n NotificationContext,\n PersistentNotificationsContext,\n ToastContext,\n} from './NotificationContext';\nimport { OverlayContainer } from './OverlayContainer';\nimport { useNotificationState } from './use-notification-state';\nimport { useOverlayTimers } from './use-overlay-timers';\nimport { usePersistentState } from './use-persistent-state';\nimport { useToastState } from './use-toast-state';\n\nimport type { ToastContextValue } from '../Toast/types';\nimport type {\n InternalNotificationContextValue,\n OverlayProviderProps,\n PersistentNotificationsContextValue,\n} from './types';\nimport type { OverlayTimers } from './use-overlay-timers';\n\n// ─── Re-export context hooks for consumers ───────────────────────────\n\nexport { useToastContext, useNotificationContext } from './NotificationContext';\n\n// ─── Constants ───────────────────────────────────────────────────────\n\nconst DEFAULT_MAX_PERSISTENT = 200;\n\n// ─── OverlayProvider ─────────────────────────────────────────────────\n\nexport function OverlayProvider({\n children,\n maxPersistentNotifications = DEFAULT_MAX_PERSISTENT,\n}: OverlayProviderProps) {\n // Shared ref that breaks the circular dependency between state hooks and timers.\n // State hooks need timer methods (start/clear), timer hooks need remove methods.\n // All consumers access the ref only inside useEvent/callbacks (never during\n // render), so it is guaranteed to be populated before first use.\n const timersRef = useRef<OverlayTimers>(null!);\n\n // 1. Persistent state (no dependencies on other hooks)\n const persistent = usePersistentState(maxPersistentNotifications);\n\n // 2. Toast state — accesses timers through the shared ref\n const toast = useToastState(timersRef);\n\n // 3. Notification state — accesses timers through the shared ref\n const notification = useNotificationState(timersRef, persistent);\n\n // 4. Create timers and populate the ref\n const timers = useOverlayTimers({\n toastsRef: toast.toastsRef,\n notificationsRef: notification.notificationsRef,\n removeToast: toast.removeToast,\n removeNotification: notification.removeNotification,\n });\n\n timersRef.current = timers;\n\n // ─── Context Values ───────────────────────────────────────────────\n\n // Only include actually-changing values in deps. All useEvent-based\n // callbacks are referentially stable and omitted.\n const toastContextValue = useMemo<ToastContextValue>(\n () => ({\n addToast: toast.addToast,\n removeToast: toast.removeToast,\n updateToast: toast.updateToast,\n toasts: toast.toasts,\n }),\n [toast.toasts],\n );\n\n const notificationContextValue = useMemo<InternalNotificationContextValue>(\n () => ({\n addNotification: notification.addNotification,\n removeNotification: notification.removeNotification,\n updateNotification: notification.updateNotification,\n notifications: notification.notifications,\n addPersistentItem: persistent.addPersistentItem,\n removePersistentItem: persistent.removePersistentItem,\n removePersistentItemsByOwner: persistent.removePersistentItemsByOwner,\n removeByOwner: notification.removeByOwner,\n }),\n [notification.notifications],\n );\n\n const persistentContextValue = useMemo<PersistentNotificationsContextValue>(\n () => ({\n persistentItems: persistent.persistentItems,\n removePersistentItem: persistent.removePersistentItem,\n clearPersistentItems: persistent.clearPersistentItems,\n markAllAsRead: persistent.markAllAsRead,\n }),\n [persistent.persistentItems],\n );\n\n return (\n <ToastContext.Provider value={toastContextValue}>\n <NotificationContext.Provider value={notificationContextValue}>\n <PersistentNotificationsContext.Provider value={persistentContextValue}>\n {children}\n <OverlayContainer\n toasts={toast.toasts}\n notifications={notification.notifications}\n onToastExitComplete={toast.finalizeToastRemoval}\n onNotificationExitComplete={\n notification.finalizeNotificationRemoval\n }\n onNotificationDismiss={notification.removeNotification}\n onNotificationRestore={notification.restoreNotification}\n onPauseChange={timers.handlePauseChange}\n />\n </PersistentNotificationsContext.Provider>\n </NotificationContext.Provider>\n </ToastContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;AA2BA,MAAM,yBAAyB;AAI/B,SAAgB,gBAAgB,EAC9B,UACA,6BAA6B,0BACN;CAKvB,MAAM,YAAY,OAAsB,KAAM;CAG9C,MAAM,aAAa,mBAAmB,2BAA2B;CAGjE,MAAM,QAAQ,cAAc,UAAU;CAGtC,MAAM,eAAe,qBAAqB,WAAW,WAAW;CAGhE,MAAM,SAAS,iBAAiB;EAC9B,WAAW,MAAM;EACjB,kBAAkB,aAAa;EAC/B,aAAa,MAAM;EACnB,oBAAoB,aAAa;EAClC,CAAC;AAEF,WAAU,UAAU;CAMpB,MAAM,oBAAoB,eACjB;EACL,UAAU,MAAM;EAChB,aAAa,MAAM;EACnB,aAAa,MAAM;EACnB,QAAQ,MAAM;EACf,GACD,CAAC,MAAM,OAAO,CACf;CAED,MAAM,2BAA2B,eACxB;EACL,iBAAiB,aAAa;EAC9B,oBAAoB,aAAa;EACjC,oBAAoB,aAAa;EACjC,eAAe,aAAa;EAC5B,mBAAmB,WAAW;EAC9B,sBAAsB,WAAW;EACjC,8BAA8B,WAAW;EACzC,eAAe,aAAa;EAC7B,GACD,CAAC,aAAa,cAAc,CAC7B;CAED,MAAM,yBAAyB,eACtB;EACL,iBAAiB,WAAW;EAC5B,sBAAsB,WAAW;EACjC,sBAAsB,WAAW;EACjC,eAAe,WAAW;EAC3B,GACD,CAAC,WAAW,gBAAgB,CAC7B;AAED,QACE,oBAAC,aAAa;EAAS,OAAO;YAC5B,oBAAC,oBAAoB;GAAS,OAAO;aACnC,qBAAC,+BAA+B;IAAS,OAAO;eAC7C,UACD,oBAAC;KACC,QAAQ,MAAM;KACd,eAAe,aAAa;KAC5B,qBAAqB,MAAM;KAC3B,4BACE,aAAa;KAEf,uBAAuB,aAAa;KACpC,uBAAuB,aAAa;KACpC,eAAe,OAAO;MACtB;KACsC;IACb;GACT"}
1
+ {"version":3,"file":"OverlayProvider.js","names":["useMemo","useRef","NotificationContext","PersistentNotificationsContext","ToastContext","OverlayContainer","useNotificationState","useOverlayTimers","usePersistentState","useToastState","ToastContextValue","InternalNotificationContextValue","OverlayProviderProps","PersistentNotificationsContextValue","OverlayTimers","useToastContext","useNotificationContext","DEFAULT_MAX_PERSISTENT","OverlayProvider","children","maxPersistentNotifications","timersRef","persistent","toast","notification","timers","toastsRef","notificationsRef","removeToast","removeNotification","current","toastContextValue","addToast","updateToast","toasts","notificationContextValue","addNotification","updateNotification","notifications","addPersistentItem","removePersistentItem","removePersistentItemsByOwner","removeByOwner","persistentContextValue","persistentItems","clearPersistentItems","markAllAsRead","finalizeToastRemoval","finalizeNotificationRemoval","restoreNotification","handlePauseChange"],"sources":["../../../../src/components/overlays/Notifications/OverlayProvider.tsx"],"sourcesContent":["import { useMemo, useRef } from 'react';\n\nimport {\n NotificationContext,\n PersistentNotificationsContext,\n ToastContext,\n} from './NotificationContext';\nimport { OverlayContainer } from './OverlayContainer';\nimport { useNotificationState } from './use-notification-state';\nimport { useOverlayTimers } from './use-overlay-timers';\nimport { usePersistentState } from './use-persistent-state';\nimport { useToastState } from './use-toast-state';\n\nimport type { ToastContextValue } from '../Toast/types';\nimport type {\n InternalNotificationContextValue,\n OverlayProviderProps,\n PersistentNotificationsContextValue,\n} from './types';\nimport type { OverlayTimers } from './use-overlay-timers';\n\n// ─── Re-export context hooks for consumers ───────────────────────────\n\nexport { useToastContext, useNotificationContext } from './NotificationContext';\n\n// ─── Constants ───────────────────────────────────────────────────────\n\nconst DEFAULT_MAX_PERSISTENT = 200;\n\n// ─── OverlayProvider ─────────────────────────────────────────────────\n\nexport function OverlayProvider({\n children,\n maxPersistentNotifications = DEFAULT_MAX_PERSISTENT,\n}: OverlayProviderProps) {\n // Shared ref that breaks the circular dependency between state hooks and timers.\n // State hooks need timer methods (start/clear), timer hooks need remove methods.\n // All consumers access the ref only inside useEvent/callbacks (never during\n // render), so it is guaranteed to be populated before first use.\n const timersRef = useRef<OverlayTimers>(null!);\n\n // 1. Persistent state (no dependencies on other hooks)\n const persistent = usePersistentState(maxPersistentNotifications);\n\n // 2. Toast state — accesses timers through the shared ref\n const toast = useToastState(timersRef);\n\n // 3. Notification state — accesses timers through the shared ref\n const notification = useNotificationState(timersRef, persistent);\n\n // 4. Create timers and populate the ref\n const timers = useOverlayTimers({\n toastsRef: toast.toastsRef,\n notificationsRef: notification.notificationsRef,\n removeToast: toast.removeToast,\n removeNotification: notification.removeNotification,\n });\n\n timersRef.current = timers;\n\n // ─── Context Values ───────────────────────────────────────────────\n\n // Only include actually-changing values in deps. All useEvent-based\n // callbacks are referentially stable and omitted.\n const toastContextValue = useMemo<ToastContextValue>(\n () => ({\n addToast: toast.addToast,\n removeToast: toast.removeToast,\n updateToast: toast.updateToast,\n toasts: toast.toasts,\n }),\n [toast.toasts],\n );\n\n const notificationContextValue = useMemo<InternalNotificationContextValue>(\n () => ({\n addNotification: notification.addNotification,\n removeNotification: notification.removeNotification,\n updateNotification: notification.updateNotification,\n notifications: notification.notifications,\n addPersistentItem: persistent.addPersistentItem,\n removePersistentItem: persistent.removePersistentItem,\n removePersistentItemsByOwner: persistent.removePersistentItemsByOwner,\n removeByOwner: notification.removeByOwner,\n }),\n [notification.notifications],\n );\n\n const persistentContextValue = useMemo<PersistentNotificationsContextValue>(\n () => ({\n persistentItems: persistent.persistentItems,\n removePersistentItem: persistent.removePersistentItem,\n clearPersistentItems: persistent.clearPersistentItems,\n markAllAsRead: persistent.markAllAsRead,\n }),\n [persistent.persistentItems],\n );\n\n return (\n <ToastContext.Provider value={toastContextValue}>\n <NotificationContext.Provider value={notificationContextValue}>\n <PersistentNotificationsContext.Provider value={persistentContextValue}>\n {children}\n <OverlayContainer\n toasts={toast.toasts}\n notifications={notification.notifications}\n onToastExitComplete={toast.finalizeToastRemoval}\n onNotificationExitComplete={\n notification.finalizeNotificationRemoval\n }\n onNotificationDismiss={notification.removeNotification}\n onNotificationRestore={notification.restoreNotification}\n onPauseChange={timers.handlePauseChange}\n />\n </PersistentNotificationsContext.Provider>\n </NotificationContext.Provider>\n </ToastContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;AA2BA,MAAMiB,yBAAyB;AAI/B,SAAgBC,gBAAgB,EAC9BC,UACAC,6BAA6BH,0BACN;CAKvB,MAAMI,YAAYpB,OAAsB,KAAM;CAG9C,MAAMqB,aAAad,mBAAmBY,2BAA2B;CAGjE,MAAMG,QAAQd,cAAcY,UAAU;CAGtC,MAAMG,eAAelB,qBAAqBe,WAAWC,WAAW;CAGhE,MAAMG,SAASlB,iBAAiB;EAC9BmB,WAAWH,MAAMG;EACjBC,kBAAkBH,aAAaG;EAC/BC,aAAaL,MAAMK;EACnBC,oBAAoBL,aAAaK;EAClC,CAAC;AAEFR,WAAUS,UAAUL;CAMpB,MAAMM,oBAAoB/B,eACjB;EACLgC,UAAUT,MAAMS;EAChBJ,aAAaL,MAAMK;EACnBK,aAAaV,MAAMU;EACnBC,QAAQX,MAAMW;EACf,GACD,CAACX,MAAMW,OACT,CAAC;CAED,MAAMC,2BAA2BnC,eACxB;EACLoC,iBAAiBZ,aAAaY;EAC9BP,oBAAoBL,aAAaK;EACjCQ,oBAAoBb,aAAaa;EACjCC,eAAed,aAAac;EAC5BC,mBAAmBjB,WAAWiB;EAC9BC,sBAAsBlB,WAAWkB;EACjCC,8BAA8BnB,WAAWmB;EACzCC,eAAelB,aAAakB;EAC7B,GACD,CAAClB,aAAac,cAChB,CAAC;CAED,MAAMK,yBAAyB3C,eACtB;EACL4C,iBAAiBtB,WAAWsB;EAC5BJ,sBAAsBlB,WAAWkB;EACjCK,sBAAsBvB,WAAWuB;EACjCC,eAAexB,WAAWwB;EAC3B,GACD,CAACxB,WAAWsB,gBACd,CAAC;AAED,QACE,oBAAC,aAAa;EAAS,OAAOb;YAC5B,oBAAC,oBAAoB;GAAS,OAAOI;aACnC,qBAAC,+BAA+B;IAAS,OAAOQ;eAC7CxB,UACD,oBAAC;KACC,QAAQI,MAAMW;KACd,eAAeV,aAAac;KAC5B,qBAAqBf,MAAMwB;KAC3B,4BACEvB,aAAawB;KAEf,uBAAuBxB,aAAaK;KACpC,uBAAuBL,aAAayB;KACpC,eAAexB,OAAOyB;MAAkB;KAEH;IACb;GACR"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { _Text } from "../../content/Text.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -7,6 +7,7 @@ import { NotificationCard } from "./NotificationCard.js";
7
7
  import { Divider } from "../../content/Divider.js";
8
8
  import { formatRelativeTime } from "./format-relative-time.js";
9
9
  import { usePersistentNotifications } from "./use-persistent-notifications.js";
10
+ import { c } from "react-compiler-runtime";
10
11
  import { tasty } from "@tenphi/tasty";
11
12
  import { Fragment, useContext, useEffect, useRef, useState } from "react";
12
13
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -48,80 +49,231 @@ const EmptyStateContainer = tasty({ styles: {
48
49
  * <PersistentNotificationsList emptyState="No notifications" />
49
50
  * ```
50
51
  */
51
- function PersistentNotificationsList({ onDismissItem, onAction, emptyState }) {
52
+ function PersistentNotificationsList(t0) {
53
+ const $ = c(33);
54
+ const { onDismissItem, onAction, emptyState } = t0;
52
55
  const { t } = useI18n();
53
56
  const { items, remove, markAllAsRead } = usePersistentNotifications();
54
- const listAriaLabel = t("notifications.ariaLabel", "Notifications");
55
- const handleDismiss = useEvent((item) => {
56
- remove(item.id);
57
- onDismissItem?.(item);
58
- });
57
+ let t1;
58
+ if ($[0] !== t) {
59
+ t1 = t("notifications.ariaLabel", "Notifications");
60
+ $[0] = t;
61
+ $[1] = t1;
62
+ } else t1 = $[1];
63
+ const listAriaLabel = t1;
64
+ let t2;
65
+ if ($[2] !== onDismissItem || $[3] !== remove) {
66
+ t2 = (item) => {
67
+ remove(item.id);
68
+ onDismissItem?.(item);
69
+ };
70
+ $[2] = onDismissItem;
71
+ $[3] = remove;
72
+ $[4] = t2;
73
+ } else t2 = $[4];
74
+ const handleDismiss = useEvent(t2);
59
75
  const markReadTimerRef = useRef(null);
60
- const [, setTick] = useState(0);
61
- useEffect(() => {
62
- if (items.length === 0) return;
63
- const interval = setInterval(() => {
64
- setTick((t) => t + 1);
65
- }, TIMESTAMP_REFRESH_INTERVAL);
66
- return () => clearInterval(interval);
67
- }, [items.length]);
68
- useEffect(() => {
69
- if (!items.some((i) => !i.isRead)) return;
70
- markReadTimerRef.current = setTimeout(() => {
71
- markAllAsRead();
72
- }, MARK_READ_DELAY);
73
- return () => {
74
- if (markReadTimerRef.current) {
75
- clearTimeout(markReadTimerRef.current);
76
- markReadTimerRef.current = null;
77
- }
76
+ const [now, setNow] = useState(_temp);
77
+ let t3;
78
+ let t4;
79
+ if ($[5] !== items.length) {
80
+ t3 = () => {
81
+ if (items.length === 0) return;
82
+ const interval = setInterval(() => {
83
+ setNow(Date.now());
84
+ }, TIMESTAMP_REFRESH_INTERVAL);
85
+ return () => clearInterval(interval);
78
86
  };
79
- }, [markAllAsRead, items]);
80
- if (items.length === 0) return /* @__PURE__ */ jsx(ListContainer, {
81
- "aria-label": listAriaLabel,
82
- children: /* @__PURE__ */ jsx(EmptyStateContainer, { children: emptyState ?? t("notifications.empty", "No notifications") })
83
- });
84
- return /* @__PURE__ */ jsx(NotificationActionInterceptorContext.Provider, {
85
- value: onAction ?? null,
86
- children: /* @__PURE__ */ jsx(ListContainer, {
87
- "aria-label": listAriaLabel,
88
- children: items.map((item, index) => /* @__PURE__ */ jsxs(Fragment, { children: [index > 0 && /* @__PURE__ */ jsx(Divider, {}), /* @__PURE__ */ jsx(PersistentNotificationListItem, {
89
- item,
87
+ t4 = [items.length];
88
+ $[5] = items.length;
89
+ $[6] = t3;
90
+ $[7] = t4;
91
+ } else {
92
+ t3 = $[6];
93
+ t4 = $[7];
94
+ }
95
+ useEffect(t3, t4);
96
+ let t5;
97
+ let t6;
98
+ if ($[8] !== items || $[9] !== markAllAsRead) {
99
+ t5 = () => {
100
+ if (!items.some(_temp2)) return;
101
+ markReadTimerRef.current = setTimeout(() => {
102
+ markAllAsRead();
103
+ }, MARK_READ_DELAY);
104
+ return () => {
105
+ if (markReadTimerRef.current) {
106
+ clearTimeout(markReadTimerRef.current);
107
+ markReadTimerRef.current = null;
108
+ }
109
+ };
110
+ };
111
+ t6 = [markAllAsRead, items];
112
+ $[8] = items;
113
+ $[9] = markAllAsRead;
114
+ $[10] = t5;
115
+ $[11] = t6;
116
+ } else {
117
+ t5 = $[10];
118
+ t6 = $[11];
119
+ }
120
+ useEffect(t5, t6);
121
+ if (items.length === 0) {
122
+ let t7;
123
+ if ($[12] !== emptyState || $[13] !== t) {
124
+ t7 = emptyState ?? t("notifications.empty", "No notifications");
125
+ $[12] = emptyState;
126
+ $[13] = t;
127
+ $[14] = t7;
128
+ } else t7 = $[14];
129
+ let t8;
130
+ if ($[15] !== t7) {
131
+ t8 = /* @__PURE__ */ jsx(EmptyStateContainer, { children: t7 });
132
+ $[15] = t7;
133
+ $[16] = t8;
134
+ } else t8 = $[16];
135
+ let t9;
136
+ if ($[17] !== listAriaLabel || $[18] !== t8) {
137
+ t9 = /* @__PURE__ */ jsx(ListContainer, {
138
+ "aria-label": listAriaLabel,
139
+ children: t8
140
+ });
141
+ $[17] = listAriaLabel;
142
+ $[18] = t8;
143
+ $[19] = t9;
144
+ } else t9 = $[19];
145
+ return t9;
146
+ }
147
+ const t7 = onAction ?? null;
148
+ let t8;
149
+ if ($[20] !== handleDismiss || $[21] !== items || $[22] !== now) {
150
+ let t9;
151
+ if ($[24] !== handleDismiss || $[25] !== now) {
152
+ t9 = (item_0, index) => /* @__PURE__ */ jsxs(Fragment, { children: [index > 0 && /* @__PURE__ */ jsx(Divider, {}), /* @__PURE__ */ jsx(PersistentNotificationListItem, {
153
+ item: item_0,
154
+ now,
90
155
  onDismiss: handleDismiss
91
- })] }, String(item.id)))
92
- })
93
- });
156
+ })] }, String(item_0.id));
157
+ $[24] = handleDismiss;
158
+ $[25] = now;
159
+ $[26] = t9;
160
+ } else t9 = $[26];
161
+ t8 = items.map(t9);
162
+ $[20] = handleDismiss;
163
+ $[21] = items;
164
+ $[22] = now;
165
+ $[23] = t8;
166
+ } else t8 = $[23];
167
+ let t9;
168
+ if ($[27] !== listAriaLabel || $[28] !== t8) {
169
+ t9 = /* @__PURE__ */ jsx(ListContainer, {
170
+ "aria-label": listAriaLabel,
171
+ children: t8
172
+ });
173
+ $[27] = listAriaLabel;
174
+ $[28] = t8;
175
+ $[29] = t9;
176
+ } else t9 = $[29];
177
+ let t10;
178
+ if ($[30] !== t7 || $[31] !== t9) {
179
+ t10 = /* @__PURE__ */ jsx(NotificationActionInterceptorContext.Provider, {
180
+ value: t7,
181
+ children: t9
182
+ });
183
+ $[30] = t7;
184
+ $[31] = t9;
185
+ $[32] = t10;
186
+ } else t10 = $[32];
187
+ return t10;
188
+ }
189
+ function _temp2(i) {
190
+ return !i.isRead;
191
+ }
192
+ function _temp() {
193
+ return Date.now();
94
194
  }
95
- function PersistentNotificationListItem({ item, onDismiss }) {
195
+ function PersistentNotificationListItem(t0) {
196
+ const $ = c(24);
197
+ const { item, now, onDismiss } = t0;
96
198
  const { t } = useI18n();
97
- const suffix = /* @__PURE__ */ jsx(_Text, {
98
- opacity: .5,
99
- preset: "c2",
100
- children: formatRelativeTime(item.createdAt, t)
101
- });
102
- const handleDismiss = useEvent((_id, _reason) => {
103
- onDismiss?.(item);
104
- });
199
+ let t1;
200
+ if ($[0] !== item.createdAt || $[1] !== now || $[2] !== t) {
201
+ t1 = formatRelativeTime(item.createdAt, t, now);
202
+ $[0] = item.createdAt;
203
+ $[1] = now;
204
+ $[2] = t;
205
+ $[3] = t1;
206
+ } else t1 = $[3];
207
+ let t2;
208
+ if ($[4] !== t1) {
209
+ t2 = /* @__PURE__ */ jsx(_Text, {
210
+ opacity: .5,
211
+ preset: "c2",
212
+ children: t1
213
+ });
214
+ $[4] = t1;
215
+ $[5] = t2;
216
+ } else t2 = $[5];
217
+ const suffix = t2;
218
+ let t3;
219
+ if ($[6] !== item || $[7] !== onDismiss) {
220
+ t3 = (_id, _reason) => {
221
+ onDismiss?.(item);
222
+ };
223
+ $[6] = item;
224
+ $[7] = onDismiss;
225
+ $[8] = t3;
226
+ } else t3 = $[8];
227
+ const handleDismiss = useEvent(t3);
105
228
  const parentInterceptor = useContext(NotificationActionInterceptorContext);
106
- const handleItemAction = useEvent(() => {
107
- parentInterceptor?.();
108
- });
109
- return /* @__PURE__ */ jsx(NotificationActionInterceptorContext.Provider, {
110
- value: handleItemAction,
111
- children: /* @__PURE__ */ jsx(NotificationCard, {
229
+ let t4;
230
+ if ($[9] !== parentInterceptor) {
231
+ t4 = () => {
232
+ parentInterceptor?.();
233
+ };
234
+ $[9] = parentInterceptor;
235
+ $[10] = t4;
236
+ } else t4 = $[10];
237
+ const handleItemAction = useEvent(t4);
238
+ const t5 = !!onDismiss;
239
+ const t6 = onDismiss ? handleDismiss : void 0;
240
+ let t7;
241
+ if ($[11] !== item.actions || $[12] !== item.description || $[13] !== item.icon || $[14] !== item.id || $[15] !== item.theme || $[16] !== item.title || $[17] !== suffix || $[18] !== t5 || $[19] !== t6) {
242
+ t7 = /* @__PURE__ */ jsx(NotificationCard, {
112
243
  qa: "PersistentNotificationItem",
113
244
  theme: item.theme,
114
245
  title: item.title,
115
246
  description: item.description,
116
247
  icon: item.icon,
117
248
  actions: item.actions,
118
- isDismissable: !!onDismiss,
249
+ isDismissable: t5,
119
250
  elevated: false,
120
251
  notificationId: item.id,
121
252
  suffix,
122
- onDismiss: onDismiss ? handleDismiss : void 0
123
- })
124
- });
253
+ onDismiss: t6
254
+ });
255
+ $[11] = item.actions;
256
+ $[12] = item.description;
257
+ $[13] = item.icon;
258
+ $[14] = item.id;
259
+ $[15] = item.theme;
260
+ $[16] = item.title;
261
+ $[17] = suffix;
262
+ $[18] = t5;
263
+ $[19] = t6;
264
+ $[20] = t7;
265
+ } else t7 = $[20];
266
+ let t8;
267
+ if ($[21] !== handleItemAction || $[22] !== t7) {
268
+ t8 = /* @__PURE__ */ jsx(NotificationActionInterceptorContext.Provider, {
269
+ value: handleItemAction,
270
+ children: t7
271
+ });
272
+ $[21] = handleItemAction;
273
+ $[22] = t7;
274
+ $[23] = t8;
275
+ } else t8 = $[23];
276
+ return t8;
125
277
  }
126
278
 
127
279
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"PersistentNotificationsList.js","names":["Text"],"sources":["../../../../src/components/overlays/Notifications/PersistentNotificationsList.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { Fragment, Key, useContext, useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../../../_internal';\nimport { useI18n } from '../../../i18n';\nimport { Divider } from '../../content/Divider';\nimport { Text } from '../../content/Text';\n\nimport { formatRelativeTime } from './format-relative-time';\nimport { NotificationActionInterceptorContext } from './NotificationAction';\nimport { NotificationCard } from './NotificationCard';\nimport { usePersistentNotifications } from './use-persistent-notifications';\n\nimport type {\n DismissReason,\n PersistentNotificationItem,\n PersistentNotificationsListProps,\n} from './types';\n\n// ─── Constants ───────────────────────────────────────────────────────\n\nconst MARK_READ_DELAY = 2000;\n/** Interval (ms) at which relative timestamps refresh while the list is mounted. */\nconst TIMESTAMP_REFRESH_INTERVAL = 10_000;\n\n// ─── Styled Components ──────────────────────────────────────────────\n\nconst ListContainer = tasty({\n qa: 'PersistentNotificationsList',\n role: 'log',\n styles: {\n display: 'flex',\n flow: 'column',\n },\n});\n\nconst EmptyStateContainer = tasty({\n styles: {\n display: 'flex',\n placeItems: 'center',\n placeContent: 'center',\n padding: '4x',\n color: '#dark.5',\n preset: 't3',\n },\n});\n\n// ─── PersistentNotificationsList Component ───────────────────────────\n\n/**\n * Standardized rendering for archived/persistent notifications.\n * Always reads items from the notification context.\n * Composable with app-specific shells (popover, dialog, page section).\n *\n * Marks all items as read after being visible for 2 seconds.\n * Relative timestamps refresh every 10 seconds while the list is mounted.\n *\n * Items are always dismissible. Dismissing an item removes it from the\n * persistent list and marks its ID as \"fully dismissed\" — subsequent triggers\n * with the same ID will be completely ignored (no overlay, no re-archival).\n *\n * @example\n * ```tsx\n * <PersistentNotificationsList emptyState=\"No notifications\" />\n * ```\n */\nexport function PersistentNotificationsList({\n onDismissItem,\n onAction,\n emptyState,\n}: PersistentNotificationsListProps) {\n const { t } = useI18n();\n const { items, remove, markAllAsRead } = usePersistentNotifications();\n const listAriaLabel = t('notifications.ariaLabel', 'Notifications');\n\n // Default dismiss handler removes the item from the persistent list (which\n // also marks the id as \"fully dismissed\" so it won't reappear).\n // If a consumer provides `onDismissItem`, it is called *after* the built-in removal.\n const handleDismiss = useEvent((item: PersistentNotificationItem) => {\n remove(item.id);\n onDismissItem?.(item);\n });\n const markReadTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Tick counter that increments every TIMESTAMP_REFRESH_INTERVAL to force\n // re-render so relative timestamps (e.g. \"5 min ago\") stay up to date.\n const [, setTick] = useState(0);\n\n useEffect(() => {\n if (items.length === 0) return;\n\n const interval = setInterval(() => {\n setTick((t) => t + 1);\n }, TIMESTAMP_REFRESH_INTERVAL);\n\n return () => clearInterval(interval);\n }, [items.length]);\n\n // Mark all persistent notifications as read after a 2s delay.\n // Re-starts the timer whenever items change (e.g. new unread items arrive\n // while the list is already visible).\n useEffect(() => {\n const hasUnread = items.some((i) => !i.isRead);\n\n if (!hasUnread) return;\n\n markReadTimerRef.current = setTimeout(() => {\n markAllAsRead();\n }, MARK_READ_DELAY);\n\n return () => {\n if (markReadTimerRef.current) {\n clearTimeout(markReadTimerRef.current);\n markReadTimerRef.current = null;\n }\n };\n }, [markAllAsRead, items]);\n\n if (items.length === 0) {\n return (\n <ListContainer aria-label={listAriaLabel}>\n <EmptyStateContainer>\n {emptyState ?? t('notifications.empty', 'No notifications')}\n </EmptyStateContainer>\n </ListContainer>\n );\n }\n\n return (\n <NotificationActionInterceptorContext.Provider value={onAction ?? null}>\n <ListContainer aria-label={listAriaLabel}>\n {items.map((item, index) => (\n <Fragment key={String(item.id)}>\n {index > 0 && <Divider />}\n <PersistentNotificationListItem\n item={item}\n onDismiss={handleDismiss}\n />\n </Fragment>\n ))}\n </ListContainer>\n </NotificationActionInterceptorContext.Provider>\n );\n}\n\n// ─── List Item ───────────────────────────────────────────────────────\n\ninterface PersistentNotificationListItemProps {\n item: PersistentNotificationItem;\n onDismiss?: (item: PersistentNotificationItem) => void;\n}\n\nfunction PersistentNotificationListItem({\n item,\n onDismiss,\n}: PersistentNotificationListItemProps) {\n const { t } = useI18n();\n const suffix = (\n <Text opacity={0.5} preset=\"c2\">\n {formatRelativeTime(item.createdAt, t)}\n </Text>\n );\n\n // useEvent keeps the callback stable across re-renders regardless of\n // item reference changes (avoids unnecessary NotificationCard re-renders).\n const handleDismiss = useEvent((_id: Key, _reason: DismissReason) => {\n onDismiss?.(item);\n });\n\n const parentInterceptor = useContext(NotificationActionInterceptorContext);\n\n // Chains with the list-level interceptor (e.g. closing the parent popover).\n // Dismissal itself is handled by NotificationAction via the dismiss context\n // to avoid double-firing onDismiss.\n const handleItemAction = useEvent(() => {\n parentInterceptor?.();\n });\n\n return (\n <NotificationActionInterceptorContext.Provider value={handleItemAction}>\n <NotificationCard\n qa=\"PersistentNotificationItem\"\n theme={item.theme}\n title={item.title}\n description={item.description}\n icon={item.icon}\n actions={item.actions}\n isDismissable={!!onDismiss}\n elevated={false}\n notificationId={item.id}\n suffix={suffix}\n onDismiss={onDismiss ? handleDismiss : undefined}\n />\n </NotificationActionInterceptorContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AAqBA,MAAM,kBAAkB;;AAExB,MAAM,6BAA6B;AAInC,MAAM,gBAAgB,MAAM;CAC1B,IAAI;CACJ,MAAM;CACN,QAAQ;EACN,SAAS;EACT,MAAM;EACP;CACF,CAAC;AAEF,MAAM,sBAAsB,MAAM,EAChC,QAAQ;CACN,SAAS;CACT,YAAY;CACZ,cAAc;CACd,SAAS;CACT,OAAO;CACP,QAAQ;CACT,EACF,CAAC;;;;;;;;;;;;;;;;;;AAqBF,SAAgB,4BAA4B,EAC1C,eACA,UACA,cACmC;CACnC,MAAM,EAAE,MAAM,SAAS;CACvB,MAAM,EAAE,OAAO,QAAQ,kBAAkB,4BAA4B;CACrE,MAAM,gBAAgB,EAAE,2BAA2B,gBAAgB;CAKnE,MAAM,gBAAgB,UAAU,SAAqC;AACnE,SAAO,KAAK,GAAG;AACf,kBAAgB,KAAK;GACrB;CACF,MAAM,mBAAmB,OAA6C,KAAK;CAI3E,MAAM,GAAG,WAAW,SAAS,EAAE;AAE/B,iBAAgB;AACd,MAAI,MAAM,WAAW,EAAG;EAExB,MAAM,WAAW,kBAAkB;AACjC,YAAS,MAAM,IAAI,EAAE;KACpB,2BAA2B;AAE9B,eAAa,cAAc,SAAS;IACnC,CAAC,MAAM,OAAO,CAAC;AAKlB,iBAAgB;AAGd,MAAI,CAFc,MAAM,MAAM,MAAM,CAAC,EAAE,OAAO,CAE9B;AAEhB,mBAAiB,UAAU,iBAAiB;AAC1C,kBAAe;KACd,gBAAgB;AAEnB,eAAa;AACX,OAAI,iBAAiB,SAAS;AAC5B,iBAAa,iBAAiB,QAAQ;AACtC,qBAAiB,UAAU;;;IAG9B,CAAC,eAAe,MAAM,CAAC;AAE1B,KAAI,MAAM,WAAW,EACnB,QACE,oBAAC;EAAc,cAAY;YACzB,oBAAC,iCACE,cAAc,EAAE,uBAAuB,mBAAmB,GACvC;GACR;AAIpB,QACE,oBAAC,qCAAqC;EAAS,OAAO,YAAY;YAChE,oBAAC;GAAc,cAAY;aACxB,MAAM,KAAK,MAAM,UAChB,qBAAC,uBACE,QAAQ,KAAK,oBAAC,YAAU,EACzB,oBAAC;IACO;IACN,WAAW;KACX,KALW,OAAO,KAAK,GAAG,CAMnB,CACX;IACY;GAC8B;;AAWpD,SAAS,+BAA+B,EACtC,MACA,aACsC;CACtC,MAAM,EAAE,MAAM,SAAS;CACvB,MAAM,SACJ,oBAACA;EAAK,SAAS;EAAK,QAAO;YACxB,mBAAmB,KAAK,WAAW,EAAE;GACjC;CAKT,MAAM,gBAAgB,UAAU,KAAU,YAA2B;AACnE,cAAY,KAAK;GACjB;CAEF,MAAM,oBAAoB,WAAW,qCAAqC;CAK1E,MAAM,mBAAmB,eAAe;AACtC,uBAAqB;GACrB;AAEF,QACE,oBAAC,qCAAqC;EAAS,OAAO;YACpD,oBAAC;GACC,IAAG;GACH,OAAO,KAAK;GACZ,OAAO,KAAK;GACZ,aAAa,KAAK;GAClB,MAAM,KAAK;GACX,SAAS,KAAK;GACd,eAAe,CAAC,CAAC;GACjB,UAAU;GACV,gBAAgB,KAAK;GACb;GACR,WAAW,YAAY,gBAAgB;IACvC;GAC4C"}
1
+ {"version":3,"file":"PersistentNotificationsList.js","names":["tasty","Fragment","Key","useContext","useEffect","useRef","useState","useEvent","useI18n","Divider","Text","formatRelativeTime","NotificationActionInterceptorContext","NotificationCard","usePersistentNotifications","DismissReason","PersistentNotificationItem","PersistentNotificationsListProps","MARK_READ_DELAY","TIMESTAMP_REFRESH_INTERVAL","ListContainer","qa","role","styles","display","flow","EmptyStateContainer","placeItems","placeContent","padding","color","preset","PersistentNotificationsList","t0","$","_c","onDismissItem","onAction","emptyState","t","items","remove","markAllAsRead","t1","listAriaLabel","t2","item","id","handleDismiss","markReadTimerRef","now","setNow","_temp","t3","t4","length","interval","setInterval","Date","clearInterval","t5","t6","hasUnread","some","_temp2","current","setTimeout","clearTimeout","t7","t8","t9","item_0","index","String","map","t10","i","isRead","PersistentNotificationListItemProps","onDismiss","PersistentNotificationListItem","createdAt","suffix","_id","_reason","parentInterceptor","handleItemAction","undefined","actions","description","icon","theme","title"],"sources":["../../../../src/components/overlays/Notifications/PersistentNotificationsList.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { Fragment, Key, useContext, useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../../../_internal';\nimport { useI18n } from '../../../i18n';\nimport { Divider } from '../../content/Divider';\nimport { Text } from '../../content/Text';\n\nimport { formatRelativeTime } from './format-relative-time';\nimport { NotificationActionInterceptorContext } from './NotificationAction';\nimport { NotificationCard } from './NotificationCard';\nimport { usePersistentNotifications } from './use-persistent-notifications';\n\nimport type {\n DismissReason,\n PersistentNotificationItem,\n PersistentNotificationsListProps,\n} from './types';\n\n// ─── Constants ───────────────────────────────────────────────────────\n\nconst MARK_READ_DELAY = 2000;\n/** Interval (ms) at which relative timestamps refresh while the list is mounted. */\nconst TIMESTAMP_REFRESH_INTERVAL = 10_000;\n\n// ─── Styled Components ──────────────────────────────────────────────\n\nconst ListContainer = tasty({\n qa: 'PersistentNotificationsList',\n role: 'log',\n styles: {\n display: 'flex',\n flow: 'column',\n },\n});\n\nconst EmptyStateContainer = tasty({\n styles: {\n display: 'flex',\n placeItems: 'center',\n placeContent: 'center',\n padding: '4x',\n color: '#dark.5',\n preset: 't3',\n },\n});\n\n// ─── PersistentNotificationsList Component ───────────────────────────\n\n/**\n * Standardized rendering for archived/persistent notifications.\n * Always reads items from the notification context.\n * Composable with app-specific shells (popover, dialog, page section).\n *\n * Marks all items as read after being visible for 2 seconds.\n * Relative timestamps refresh every 10 seconds while the list is mounted.\n *\n * Items are always dismissible. Dismissing an item removes it from the\n * persistent list and marks its ID as \"fully dismissed\" — subsequent triggers\n * with the same ID will be completely ignored (no overlay, no re-archival).\n *\n * @example\n * ```tsx\n * <PersistentNotificationsList emptyState=\"No notifications\" />\n * ```\n */\nexport function PersistentNotificationsList({\n onDismissItem,\n onAction,\n emptyState,\n}: PersistentNotificationsListProps) {\n const { t } = useI18n();\n const { items, remove, markAllAsRead } = usePersistentNotifications();\n const listAriaLabel = t('notifications.ariaLabel', 'Notifications');\n\n // Default dismiss handler removes the item from the persistent list (which\n // also marks the id as \"fully dismissed\" so it won't reappear).\n // If a consumer provides `onDismissItem`, it is called *after* the built-in removal.\n const handleDismiss = useEvent((item: PersistentNotificationItem) => {\n remove(item.id);\n onDismissItem?.(item);\n });\n const markReadTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Time is a reactive input, so memoized rows also refresh their labels.\n const [now, setNow] = useState(() => Date.now());\n\n useEffect(() => {\n if (items.length === 0) return;\n\n const interval = setInterval(() => {\n setNow(Date.now());\n }, TIMESTAMP_REFRESH_INTERVAL);\n\n return () => clearInterval(interval);\n }, [items.length]);\n\n // Mark all persistent notifications as read after a 2s delay.\n // Re-starts the timer whenever items change (e.g. new unread items arrive\n // while the list is already visible).\n useEffect(() => {\n const hasUnread = items.some((i) => !i.isRead);\n\n if (!hasUnread) return;\n\n markReadTimerRef.current = setTimeout(() => {\n markAllAsRead();\n }, MARK_READ_DELAY);\n\n return () => {\n if (markReadTimerRef.current) {\n clearTimeout(markReadTimerRef.current);\n markReadTimerRef.current = null;\n }\n };\n }, [markAllAsRead, items]);\n\n if (items.length === 0) {\n return (\n <ListContainer aria-label={listAriaLabel}>\n <EmptyStateContainer>\n {emptyState ?? t('notifications.empty', 'No notifications')}\n </EmptyStateContainer>\n </ListContainer>\n );\n }\n\n return (\n <NotificationActionInterceptorContext.Provider value={onAction ?? null}>\n <ListContainer aria-label={listAriaLabel}>\n {items.map((item, index) => (\n <Fragment key={String(item.id)}>\n {index > 0 && <Divider />}\n <PersistentNotificationListItem\n item={item}\n now={now}\n onDismiss={handleDismiss}\n />\n </Fragment>\n ))}\n </ListContainer>\n </NotificationActionInterceptorContext.Provider>\n );\n}\n\n// ─── List Item ───────────────────────────────────────────────────────\n\ninterface PersistentNotificationListItemProps {\n item: PersistentNotificationItem;\n now: number;\n onDismiss?: (item: PersistentNotificationItem) => void;\n}\n\nfunction PersistentNotificationListItem({\n item,\n now,\n onDismiss,\n}: PersistentNotificationListItemProps) {\n const { t } = useI18n();\n const suffix = (\n <Text opacity={0.5} preset=\"c2\">\n {formatRelativeTime(item.createdAt, t, now)}\n </Text>\n );\n\n // useEvent keeps the callback stable across re-renders regardless of\n // item reference changes (avoids unnecessary NotificationCard re-renders).\n const handleDismiss = useEvent((_id: Key, _reason: DismissReason) => {\n onDismiss?.(item);\n });\n\n const parentInterceptor = useContext(NotificationActionInterceptorContext);\n\n // Chains with the list-level interceptor (e.g. closing the parent popover).\n // Dismissal itself is handled by NotificationAction via the dismiss context\n // to avoid double-firing onDismiss.\n const handleItemAction = useEvent(() => {\n parentInterceptor?.();\n });\n\n return (\n <NotificationActionInterceptorContext.Provider value={handleItemAction}>\n <NotificationCard\n qa=\"PersistentNotificationItem\"\n theme={item.theme}\n title={item.title}\n description={item.description}\n icon={item.icon}\n actions={item.actions}\n isDismissable={!!onDismiss}\n elevated={false}\n notificationId={item.id}\n suffix={suffix}\n onDismiss={onDismiss ? handleDismiss : undefined}\n />\n </NotificationActionInterceptorContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;AAqBA,MAAMkB,kBAAkB;;AAExB,MAAMC,6BAA6B;AAInC,MAAMC,gBAAgBpB,MAAM;CAC1BqB,IAAI;CACJC,MAAM;CACNC,QAAQ;EACNC,SAAS;EACTC,MAAM;EACR;CACD,CAAC;AAEF,MAAMC,sBAAsB1B,MAAM,EAChCuB,QAAQ;CACNC,SAAS;CACTG,YAAY;CACZC,cAAc;CACdC,SAAS;CACTC,OAAO;CACPC,QAAQ;CACV,EACD,CAAC;;;;;;;;;;;;;;;;;;AAqBF,SAAOC,4BAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAqC,MAAA,EAAAC,eAAAC,UAAAC,eAAAL;CAK1C,MAAA,EAAAM,MAAc/B,SAAS;CACvB,MAAA,EAAAgC,OAAAC,QAAAC,kBAAyC5B,4BAA4B;CAAC,IAAA6B;AAAA,KAAAT,EAAA,OAAAK,GAAA;AAChDI,OAAAJ,EAAE,2BAA2B,gBAAgB;AAAAL,IAAA,KAAAK;AAAAL,IAAA,KAAAS;OAAAA,MAAAT,EAAA;CAAnE,MAAAU,gBAAsBD;CAA8C,IAAAE;AAAA,KAAAX,EAAA,OAAAE,iBAAAF,EAAA,OAAAO,QAAA;AAKrCI,QAAAC,SAAA;AAC7BL,UAAOK,KAAIC,GAAI;AACfX,mBAAgBU,KAAK;;AACtBZ,IAAA,KAAAE;AAAAF,IAAA,KAAAO;AAAAP,IAAA,KAAAW;OAAAA,MAAAX,EAAA;CAHD,MAAAc,gBAAsBzC,SAASsC,GAG7B;CACF,MAAAI,mBAAyB5C,OAA6C,KAAK;CAG3E,MAAA,CAAA6C,KAAAC,UAAsB7C,SAAS8C,MAAiB;CAAC,IAAAC;CAAA,IAAAC;AAAA,KAAApB,EAAA,OAAAM,MAAAe,QAAA;AAEvCF,aAAA;AACR,OAAIb,MAAKe,WAAY,EAAC;GAEtB,MAAAC,WAAiBC,kBAAY;AAC3BN,WAAOO,KAAIR,KAAM,CAAC;MACjB/B,2BAA2B;AAAC,gBAElBwC,cAAcH,SAAS;;AACnCF,OAAA,CAACd,MAAKe,OAAQ;AAAArB,IAAA,KAAAM,MAAAe;AAAArB,IAAA,KAAAmB;AAAAnB,IAAA,KAAAoB;QAAA;AAAAD,OAAAnB,EAAA;AAAAoB,OAAApB,EAAA;;AARjB9B,WAAUiD,IAQPC,GAAe;CAAA,IAAAM;CAAA,IAAAC;AAAA,KAAA3B,EAAA,OAAAM,SAAAN,EAAA,OAAAQ,eAAA;AAKRkB,aAAA;AAGR,OAAI,CAFcpB,MAAKuB,KAAMC,OAAiB,CAEhC;AAEdf,oBAAgBgB,UAAWC,iBAAW;AACpCxB,mBAAe;MACdxB,gBAFqB;AAAA,gBAIjB;AACL,QAAI+B,iBAAgBgB,SAAQ;AAC1BE,kBAAalB,iBAAgBgB,QAAS;AACtChB,sBAAgBgB,UAAW;;;;AAG9BJ,OAAA,CAACnB,eAAeF,MAAM;AAAAN,IAAA,KAAAM;AAAAN,IAAA,KAAAQ;AAAAR,IAAA,MAAA0B;AAAA1B,IAAA,MAAA2B;QAAA;AAAAD,OAAA1B,EAAA;AAAA2B,OAAA3B,EAAA;;AAfzB9B,WAAUwD,IAePC,GAAuB;AAE1B,KAAIrB,MAAKe,WAAY,GAAC;EAAA,IAAAa;AAAA,MAAAlC,EAAA,QAAAI,cAAAJ,EAAA,QAAAK,GAAA;AAIb6B,QAAA9B,cAAcC,EAAE,uBAAuB,mBAAmB;AAAAL,KAAA,MAAAI;AAAAJ,KAAA,MAAAK;AAAAL,KAAA,MAAAkC;QAAAA,MAAAlC,EAAA;EAAA,IAAAmC;AAAA,MAAAnC,EAAA,QAAAkC,IAAA;AAD7DC,QAAA,oBAAC,iCACED,KACmB;AAAAlC,KAAA,MAAAkC;AAAAlC,KAAA,MAAAmC;QAAAA,MAAAnC,EAAA;EAAA,IAAAoC;AAAA,MAAApC,EAAA,QAAAU,iBAAAV,EAAA,QAAAmC,IAAA;AAHxBC,QAAA,oBAAC;IAA0B1B,cAAAA;cACzByB;KAGc;AAAAnC,KAAA,MAAAU;AAAAV,KAAA,MAAAmC;AAAAnC,KAAA,MAAAoC;QAAAA,MAAApC,EAAA;AAAA,SAJhBoC;;CASoD,MAAAF,KAAA/B,YAAA;CAAgB,IAAAgC;AAAA,KAAAnC,EAAA,QAAAc,iBAAAd,EAAA,QAAAM,SAAAN,EAAA,QAAAgB,KAAA;EAAA,IAAAoB;AAAA,MAAApC,EAAA,QAAAc,iBAAAd,EAAA,QAAAgB,KAAA;AAEvDoB,SAAAC,QAAAC,UACT,qBAAC,uBACEA,QAAQ,KAAK,oBAAC,YAAS,EACxB,oBAAC;IACO1B,MAAAA;IACDI;IACMF,WAAAA;KAEf,KAPeyB,OAAO3B,OAAIC,GAAG,CAQ9B;AAAAb,KAAA,MAAAc;AAAAd,KAAA,MAAAgB;AAAAhB,KAAA,MAAAoC;QAAAA,MAAApC,EAAA;AATAmC,OAAA7B,MAAKkC,IAAKJ,GAST;AAAApC,IAAA,MAAAc;AAAAd,IAAA,MAAAM;AAAAN,IAAA,MAAAgB;AAAAhB,IAAA,MAAAmC;OAAAA,MAAAnC,EAAA;CAAA,IAAAoC;AAAA,KAAApC,EAAA,QAAAU,iBAAAV,EAAA,QAAAmC,IAAA;AAVJC,OAAA,oBAAC;GAA0B1B,cAAAA;aACxByB;IAUa;AAAAnC,IAAA,MAAAU;AAAAV,IAAA,MAAAmC;AAAAnC,IAAA,MAAAoC;OAAAA,MAAApC,EAAA;CAAA,IAAAyC;AAAA,KAAAzC,EAAA,QAAAkC,MAAAlC,EAAA,QAAAoC,IAAA;AAZlBK,QAAA,oBAAA,qCAAA;GAAsD,OAAAP;aACpDE;IAY8C;AAAApC,IAAA,MAAAkC;AAAAlC,IAAA,MAAAoC;AAAApC,IAAA,MAAAyC;OAAAA,OAAAzC,EAAA;AAAA,QAbhDyC;;AA9DG,SAAAX,OAAAY,GAAA;AAAA,QAmCiC,CAACA,EAACC;;AAnCnC,SAAAzB,QAAA;AAAA,QAmBgCM,KAAIR,KAAM;;AAoEjD,SAAA8B,+BAAA/C,IAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAwC,MAAA,EAAAW,MAAAI,KAAA6B,cAAA9C;CAKtC,MAAA,EAAAM,MAAc/B,SAAS;CAAC,IAAAmC;AAAA,KAAAT,EAAA,OAAAY,KAAAmC,aAAA/C,EAAA,OAAAgB,OAAAhB,EAAA,OAAAK,GAAA;AAGnBI,OAAAhC,mBAAmBmC,KAAImC,WAAY1C,GAAGW,IAAI;AAAAhB,IAAA,KAAAY,KAAAmC;AAAA/C,IAAA,KAAAgB;AAAAhB,IAAA,KAAAK;AAAAL,IAAA,KAAAS;OAAAA,MAAAT,EAAA;CAAA,IAAAW;AAAA,KAAAX,EAAA,OAAAS,IAAA;AAD7CE,OAAA,oBAAC;GAAc,SAAA;GAAY,QAAA;aACxBF;IACI;AAAAT,IAAA,KAAAS;AAAAT,IAAA,KAAAW;OAAAA,MAAAX,EAAA;CAHT,MAAAgD,SACErC;CAGA,IAAAQ;AAAA,KAAAnB,EAAA,OAAAY,QAAAZ,EAAA,OAAA6C,WAAA;AAI6B1B,QAAA8B,KAAAC,YAAA;AAC7BL,eAAYjC,KAAK;;AAClBZ,IAAA,KAAAY;AAAAZ,IAAA,KAAA6C;AAAA7C,IAAA,KAAAmB;OAAAA,MAAAnB,EAAA;CAFD,MAAAc,gBAAsBzC,SAAS8C,GAE7B;CAEF,MAAAgC,oBAA0BlF,WAAWS,qCAAqC;CAAC,IAAA0C;AAAA,KAAApB,EAAA,OAAAmD,mBAAA;AAKzC/B,aAAA;AAChC+B,wBAAqB;;AACtBnD,IAAA,KAAAmD;AAAAnD,IAAA,MAAAoB;OAAAA,MAAApB,EAAA;CAFD,MAAAoD,mBAAyB/E,SAAS+C,GAEhC;CAWmB,MAAAM,KAAA,CAAC,CAACmB;CAIN,MAAAlB,KAAAkB,YAAA/B,gBAAAuC;CAAqC,IAAAnB;AAAA,KAAAlC,EAAA,QAAAY,KAAA0C,WAAAtD,EAAA,QAAAY,KAAA2C,eAAAvD,EAAA,QAAAY,KAAA4C,QAAAxD,EAAA,QAAAY,KAAAC,MAAAb,EAAA,QAAAY,KAAA6C,SAAAzD,EAAA,QAAAY,KAAA8C,SAAA1D,EAAA,QAAAgD,UAAAhD,EAAA,QAAA0B,MAAA1B,EAAA,QAAA2B,IAAA;AAXlDO,OAAA,oBAAC;GACI,IAAA;GACI,OAAAtB,KAAI6C;GACJ,OAAA7C,KAAI8C;GACE,aAAA9C,KAAI2C;GACX,MAAA3C,KAAI4C;GACD,SAAA5C,KAAI0C;GACE,eAAA5B;GACL,UAAA;GACM,gBAAAd,KAAIC;GACZmC;GACG,WAAArB;IACX;AAAA3B,IAAA,MAAAY,KAAA0C;AAAAtD,IAAA,MAAAY,KAAA2C;AAAAvD,IAAA,MAAAY,KAAA4C;AAAAxD,IAAA,MAAAY,KAAAC;AAAAb,IAAA,MAAAY,KAAA6C;AAAAzD,IAAA,MAAAY,KAAA8C;AAAA1D,IAAA,MAAAgD;AAAAhD,IAAA,MAAA0B;AAAA1B,IAAA,MAAA2B;AAAA3B,IAAA,MAAAkC;OAAAA,MAAAlC,EAAA;CAAA,IAAAmC;AAAA,KAAAnC,EAAA,QAAAoD,oBAAApD,EAAA,QAAAkC,IAAA;AAbJC,OAAA,oBAAA,qCAAA;GAAsDiB,OAAAA;aACpDlB;IAa8C;AAAAlC,IAAA,MAAAoD;AAAApD,IAAA,MAAAkC;AAAAlC,IAAA,MAAAmC;OAAAA,MAAAnC,EAAA;AAAA,QAdhDmC"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
2
2
  //#region src/components/overlays/Notifications/dismissed-storage.ts
3
3
  const STORAGE_KEY = "cube-ui-dismissed-notifications";
4
4
  const TTL_MS = 864e5;
@@ -1 +1 @@
1
- {"version":3,"file":"dismissed-storage.js","names":[],"sources":["../../../../src/components/overlays/Notifications/dismissed-storage.ts"],"sourcesContent":["import type { Key } from 'react';\n\nconst STORAGE_KEY = 'cube-ui-dismissed-notifications';\nconst TTL_MS = 86_400_000; // 24 hours\n\ntype DismissedMap = Record<string, number>;\n\nfunction readMap(): DismissedMap {\n try {\n const raw = localStorage.getItem(STORAGE_KEY);\n\n if (!raw) return {};\n\n return JSON.parse(raw) as DismissedMap;\n } catch {\n return {};\n }\n}\n\nfunction writeMap(map: DismissedMap): void {\n try {\n localStorage.setItem(STORAGE_KEY, JSON.stringify(map));\n } catch {\n // SSR, private browsing, or quota exceeded — silently ignore\n }\n}\n\nexport function saveDismissedId(id: Key): void {\n const map = readMap();\n\n map[String(id)] = Date.now();\n writeMap(map);\n}\n\n/**\n * Reads the dismissed-IDs map from localStorage, removes entries older than\n * 24 hours, writes the cleaned map back, and returns the remaining valid IDs.\n */\nexport function cleanupAndGetValidIds(): Set<string> {\n const map = readMap();\n const now = Date.now();\n const validIds = new Set<string>();\n let changed = false;\n\n for (const [id, timestamp] of Object.entries(map)) {\n if (now - timestamp > TTL_MS) {\n delete map[id];\n changed = true;\n } else {\n validIds.add(id);\n }\n }\n\n if (changed) {\n writeMap(map);\n }\n\n return validIds;\n}\n"],"mappings":";;AAEA,MAAM,cAAc;AACpB,MAAM,SAAS;AAIf,SAAS,UAAwB;AAC/B,KAAI;EACF,MAAM,MAAM,aAAa,QAAQ,YAAY;AAE7C,MAAI,CAAC,IAAK,QAAO,EAAE;AAEnB,SAAO,KAAK,MAAM,IAAI;SAChB;AACN,SAAO,EAAE;;;AAIb,SAAS,SAAS,KAAyB;AACzC,KAAI;AACF,eAAa,QAAQ,aAAa,KAAK,UAAU,IAAI,CAAC;SAChD;;AAKV,SAAgB,gBAAgB,IAAe;CAC7C,MAAM,MAAM,SAAS;AAErB,KAAI,OAAO,GAAG,IAAI,KAAK,KAAK;AAC5B,UAAS,IAAI;;;;;;AAOf,SAAgB,wBAAqC;CACnD,MAAM,MAAM,SAAS;CACrB,MAAM,MAAM,KAAK,KAAK;CACtB,MAAM,2BAAW,IAAI,KAAa;CAClC,IAAI,UAAU;AAEd,MAAK,MAAM,CAAC,IAAI,cAAc,OAAO,QAAQ,IAAI,CAC/C,KAAI,MAAM,YAAY,QAAQ;AAC5B,SAAO,IAAI;AACX,YAAU;OAEV,UAAS,IAAI,GAAG;AAIpB,KAAI,QACF,UAAS,IAAI;AAGf,QAAO"}
1
+ {"version":3,"file":"dismissed-storage.js","names":["Key","STORAGE_KEY","TTL_MS","DismissedMap","Record","readMap","raw","localStorage","getItem","JSON","parse","writeMap","map","setItem","stringify","saveDismissedId","id","String","Date","now","cleanupAndGetValidIds","Set","validIds","changed","timestamp","Object","entries","add"],"sources":["../../../../src/components/overlays/Notifications/dismissed-storage.ts"],"sourcesContent":["import type { Key } from 'react';\n\nconst STORAGE_KEY = 'cube-ui-dismissed-notifications';\nconst TTL_MS = 86_400_000; // 24 hours\n\ntype DismissedMap = Record<string, number>;\n\nfunction readMap(): DismissedMap {\n try {\n const raw = localStorage.getItem(STORAGE_KEY);\n\n if (!raw) return {};\n\n return JSON.parse(raw) as DismissedMap;\n } catch {\n return {};\n }\n}\n\nfunction writeMap(map: DismissedMap): void {\n try {\n localStorage.setItem(STORAGE_KEY, JSON.stringify(map));\n } catch {\n // SSR, private browsing, or quota exceeded — silently ignore\n }\n}\n\nexport function saveDismissedId(id: Key): void {\n const map = readMap();\n\n map[String(id)] = Date.now();\n writeMap(map);\n}\n\n/**\n * Reads the dismissed-IDs map from localStorage, removes entries older than\n * 24 hours, writes the cleaned map back, and returns the remaining valid IDs.\n */\nexport function cleanupAndGetValidIds(): Set<string> {\n const map = readMap();\n const now = Date.now();\n const validIds = new Set<string>();\n let changed = false;\n\n for (const [id, timestamp] of Object.entries(map)) {\n if (now - timestamp > TTL_MS) {\n delete map[id];\n changed = true;\n } else {\n validIds.add(id);\n }\n }\n\n if (changed) {\n writeMap(map);\n }\n\n return validIds;\n}\n"],"mappings":";;AAEA,MAAMC,cAAc;AACpB,MAAMC,SAAS;AAIf,SAASG,UAAwB;AAC/B,KAAI;EACF,MAAMC,MAAMC,aAAaC,QAAQP,YAAY;AAE7C,MAAI,CAACK,IAAK,QAAO,EAAE;AAEnB,SAAOG,KAAKC,MAAMJ,IAAI;SAChB;AACN,SAAO,EAAE;;;AAIb,SAASK,SAASC,KAAyB;AACzC,KAAI;AACFL,eAAaM,QAAQZ,aAAaQ,KAAKK,UAAUF,IAAI,CAAC;SAChD;;AAKV,SAAgBG,gBAAgBC,IAAe;CAC7C,MAAMJ,MAAMP,SAAS;AAErBO,KAAIK,OAAOD,GAAG,IAAIE,KAAKC,KAAK;AAC5BR,UAASC,IAAI;;;;;;AAOf,SAAgBQ,wBAAqC;CACnD,MAAMR,MAAMP,SAAS;CACrB,MAAMc,MAAMD,KAAKC,KAAK;CACtB,MAAMG,2BAAW,IAAID,KAAa;CAClC,IAAIE,UAAU;AAEd,MAAK,MAAM,CAACP,IAAIQ,cAAcC,OAAOC,QAAQd,IAAI,CAC/C,KAAIO,MAAMK,YAAYtB,QAAQ;AAC5B,SAAOU,IAAII;AACXO,YAAU;OAEVD,UAASK,IAAIX,GAAG;AAIpB,KAAIO,QACFZ,UAASC,IAAI;AAGf,QAAOU"}
@@ -19,7 +19,7 @@ import { TFunction } from "i18next";
19
19
  * in so the string reacts to the active language. When omitted (non-component
20
20
  * callers), English defaults are used.
21
21
  */
22
- declare function formatRelativeTime(timestamp: number, t?: TFunction): string;
22
+ declare function formatRelativeTime(timestamp: number, t?: TFunction, now?: number): string;
23
23
  //#endregion
24
24
  export { formatRelativeTime };
25
25
  //# sourceMappingURL=format-relative-time.d.ts.map
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
2
2
  //#region src/components/overlays/Notifications/format-relative-time.ts
3
3
  /**
4
4
  * Lightweight relative time formatter.
@@ -17,12 +17,12 @@
17
17
  * in so the string reacts to the active language. When omitted (non-component
18
18
  * callers), English defaults are used.
19
19
  */
20
- function formatRelativeTime(timestamp, t) {
20
+ function formatRelativeTime(timestamp, t, now = Date.now()) {
21
21
  const translate = (key, defaultValue, count) => {
22
22
  if (t) return t(key, defaultValue, count != null ? { count } : void 0);
23
23
  return count != null ? defaultValue.replace("{{count}}", String(count)) : defaultValue;
24
24
  };
25
- const diffMs = Date.now() - timestamp;
25
+ const diffMs = now - timestamp;
26
26
  if (diffMs < 0) return translate("relativeTime.justNow", "just now");
27
27
  const diffSeconds = Math.floor(diffMs / 1e3);
28
28
  const diffMinutes = Math.floor(diffSeconds / 60);
@@ -1 +1 @@
1
- {"version":3,"file":"format-relative-time.js","names":[],"sources":["../../../../src/components/overlays/Notifications/format-relative-time.ts"],"sourcesContent":["import type { TFunction } from 'i18next';\n\n/**\n * Lightweight relative time formatter.\n *\n * Output format (English source; localized via the `uikit` bundle's\n * `relativeTime.*` keys):\n * - `just now` (< 1 minute)\n * - `N min ago` (1–59 minutes)\n * - `N h ago` (1–23 hours)\n * - `N d ago` (1–6 days)\n * - `N w ago` (1–4 weeks)\n * - `N mo ago` (1–11 months)\n * - `N y ago` (1+ years)\n *\n * `t` is the UI Kit translation function (from `useI18n`), passed\n * in so the string reacts to the active language. When omitted (non-component\n * callers), English defaults are used.\n */\nexport function formatRelativeTime(timestamp: number, t?: TFunction): string {\n const translate = (\n key: string,\n defaultValue: string,\n count?: number,\n ): string => {\n if (t) {\n return t(key, defaultValue, count != null ? { count } : undefined);\n }\n\n return count != null\n ? defaultValue.replace('{{count}}', String(count))\n : defaultValue;\n };\n\n const now = Date.now();\n const diffMs = now - timestamp;\n\n if (diffMs < 0) {\n return translate('relativeTime.justNow', 'just now');\n }\n\n const diffSeconds = Math.floor(diffMs / 1000);\n const diffMinutes = Math.floor(diffSeconds / 60);\n const diffHours = Math.floor(diffMinutes / 60);\n const diffDays = Math.floor(diffHours / 24);\n\n if (diffMinutes < 1) {\n return translate('relativeTime.justNow', 'just now');\n }\n\n if (diffHours < 1) {\n return translate('relativeTime.minAgo', '{{count}} min ago', diffMinutes);\n }\n\n if (diffDays < 1) {\n return translate('relativeTime.hoursAgo', '{{count}} h ago', diffHours);\n }\n\n if (diffDays < 7) {\n return translate('relativeTime.daysAgo', '{{count}} d ago', diffDays);\n }\n\n const diffWeeks = Math.floor(diffDays / 7);\n\n if (diffDays < 30) {\n return translate('relativeTime.weeksAgo', '{{count}} w ago', diffWeeks);\n }\n\n const diffMonths = Math.floor(diffDays / 30);\n\n if (diffDays < 365) {\n return translate('relativeTime.monthsAgo', '{{count}} mo ago', diffMonths);\n }\n\n const diffYears = Math.floor(diffDays / 365);\n\n return translate('relativeTime.yearsAgo', '{{count}} y ago', diffYears);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAmBA,SAAgB,mBAAmB,WAAmB,GAAuB;CAC3E,MAAM,aACJ,KACA,cACA,UACW;AACX,MAAI,EACF,QAAO,EAAE,KAAK,cAAc,SAAS,OAAO,EAAE,OAAO,GAAG,OAAU;AAGpE,SAAO,SAAS,OACZ,aAAa,QAAQ,aAAa,OAAO,MAAM,CAAC,GAChD;;CAIN,MAAM,SADM,KAAK,KAAK,GACD;AAErB,KAAI,SAAS,EACX,QAAO,UAAU,wBAAwB,WAAW;CAGtD,MAAM,cAAc,KAAK,MAAM,SAAS,IAAK;CAC7C,MAAM,cAAc,KAAK,MAAM,cAAc,GAAG;CAChD,MAAM,YAAY,KAAK,MAAM,cAAc,GAAG;CAC9C,MAAM,WAAW,KAAK,MAAM,YAAY,GAAG;AAE3C,KAAI,cAAc,EAChB,QAAO,UAAU,wBAAwB,WAAW;AAGtD,KAAI,YAAY,EACd,QAAO,UAAU,uBAAuB,qBAAqB,YAAY;AAG3E,KAAI,WAAW,EACb,QAAO,UAAU,yBAAyB,mBAAmB,UAAU;AAGzE,KAAI,WAAW,EACb,QAAO,UAAU,wBAAwB,mBAAmB,SAAS;CAGvE,MAAM,YAAY,KAAK,MAAM,WAAW,EAAE;AAE1C,KAAI,WAAW,GACb,QAAO,UAAU,yBAAyB,mBAAmB,UAAU;CAGzE,MAAM,aAAa,KAAK,MAAM,WAAW,GAAG;AAE5C,KAAI,WAAW,IACb,QAAO,UAAU,0BAA0B,oBAAoB,WAAW;AAK5E,QAAO,UAAU,yBAAyB,mBAFxB,KAAK,MAAM,WAAW,IAAI,CAE2B"}
1
+ {"version":3,"file":"format-relative-time.js","names":["TFunction","formatRelativeTime","timestamp","t","now","Date","translate","key","defaultValue","count","undefined","replace","String","diffMs","diffSeconds","Math","floor","diffMinutes","diffHours","diffDays","diffWeeks","diffMonths","diffYears"],"sources":["../../../../src/components/overlays/Notifications/format-relative-time.ts"],"sourcesContent":["import type { TFunction } from 'i18next';\n\n/**\n * Lightweight relative time formatter.\n *\n * Output format (English source; localized via the `uikit` bundle's\n * `relativeTime.*` keys):\n * - `just now` (< 1 minute)\n * - `N min ago` (1–59 minutes)\n * - `N h ago` (1–23 hours)\n * - `N d ago` (1–6 days)\n * - `N w ago` (1–4 weeks)\n * - `N mo ago` (1–11 months)\n * - `N y ago` (1+ years)\n *\n * `t` is the UI Kit translation function (from `useI18n`), passed\n * in so the string reacts to the active language. When omitted (non-component\n * callers), English defaults are used.\n */\nexport function formatRelativeTime(\n timestamp: number,\n t?: TFunction,\n now = Date.now(),\n): string {\n const translate = (\n key: string,\n defaultValue: string,\n count?: number,\n ): string => {\n if (t) {\n return t(key, defaultValue, count != null ? { count } : undefined);\n }\n\n return count != null\n ? defaultValue.replace('{{count}}', String(count))\n : defaultValue;\n };\n\n const diffMs = now - timestamp;\n\n if (diffMs < 0) {\n return translate('relativeTime.justNow', 'just now');\n }\n\n const diffSeconds = Math.floor(diffMs / 1000);\n const diffMinutes = Math.floor(diffSeconds / 60);\n const diffHours = Math.floor(diffMinutes / 60);\n const diffDays = Math.floor(diffHours / 24);\n\n if (diffMinutes < 1) {\n return translate('relativeTime.justNow', 'just now');\n }\n\n if (diffHours < 1) {\n return translate('relativeTime.minAgo', '{{count}} min ago', diffMinutes);\n }\n\n if (diffDays < 1) {\n return translate('relativeTime.hoursAgo', '{{count}} h ago', diffHours);\n }\n\n if (diffDays < 7) {\n return translate('relativeTime.daysAgo', '{{count}} d ago', diffDays);\n }\n\n const diffWeeks = Math.floor(diffDays / 7);\n\n if (diffDays < 30) {\n return translate('relativeTime.weeksAgo', '{{count}} w ago', diffWeeks);\n }\n\n const diffMonths = Math.floor(diffDays / 30);\n\n if (diffDays < 365) {\n return translate('relativeTime.monthsAgo', '{{count}} mo ago', diffMonths);\n }\n\n const diffYears = Math.floor(diffDays / 365);\n\n return translate('relativeTime.yearsAgo', '{{count}} y ago', diffYears);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAmBA,SAAgBC,mBACdC,WACAC,GACAC,MAAMC,KAAKD,KAAK,EACR;CACR,MAAME,aACJC,KACAC,cACAC,UACW;AACX,MAAIN,EACF,QAAOA,EAAEI,KAAKC,cAAcC,SAAS,OAAO,EAAEA,OAAO,GAAGC,OAAU;AAGpE,SAAOD,SAAS,OACZD,aAAaG,QAAQ,aAAaC,OAAOH,MAAM,CAAC,GAChDD;;CAGN,MAAMK,SAAST,MAAMF;AAErB,KAAIW,SAAS,EACX,QAAOP,UAAU,wBAAwB,WAAW;CAGtD,MAAMQ,cAAcC,KAAKC,MAAMH,SAAS,IAAK;CAC7C,MAAMI,cAAcF,KAAKC,MAAMF,cAAc,GAAG;CAChD,MAAMI,YAAYH,KAAKC,MAAMC,cAAc,GAAG;CAC9C,MAAME,WAAWJ,KAAKC,MAAME,YAAY,GAAG;AAE3C,KAAID,cAAc,EAChB,QAAOX,UAAU,wBAAwB,WAAW;AAGtD,KAAIY,YAAY,EACd,QAAOZ,UAAU,uBAAuB,qBAAqBW,YAAY;AAG3E,KAAIE,WAAW,EACb,QAAOb,UAAU,yBAAyB,mBAAmBY,UAAU;AAGzE,KAAIC,WAAW,EACb,QAAOb,UAAU,wBAAwB,mBAAmBa,SAAS;CAGvE,MAAMC,YAAYL,KAAKC,MAAMG,WAAW,EAAE;AAE1C,KAAIA,WAAW,GACb,QAAOb,UAAU,yBAAyB,mBAAmBc,UAAU;CAGzE,MAAMC,aAAaN,KAAKC,MAAMG,WAAW,GAAG;AAE5C,KAAIA,WAAW,IACb,QAAOb,UAAU,0BAA0B,oBAAoBe,WAAW;AAK5E,QAAOf,UAAU,yBAAyB,mBAFxBS,KAAKC,MAAMG,WAAW,IAAI,CAE2B"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
2
2
  import { useToastContext } from "./NotificationContext.js";
3
3
  import { NotificationAction } from "./NotificationAction.js";
4
4
  import { NotificationCard } from "./NotificationCard.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["NotificationBase"],"sources":["../../../../src/components/overlays/Notifications/index.ts"],"sourcesContent":["// ─── Components ──────────────────────────────────────────────────────\n\nimport { Notification as NotificationBase } from './Notification';\nimport { NotificationAction } from './NotificationAction';\n\nexport { NotificationAction } from './NotificationAction';\nexport { NotificationCard } from './NotificationCard';\nexport type { NotificationCardProps } from './NotificationCard';\nexport { NotificationItem } from './NotificationItem';\nexport type { NotificationItemProps } from './NotificationItem';\nexport { PersistentNotificationsList } from './PersistentNotificationsList';\n\n// ─── Provider ────────────────────────────────────────────────────────\n\nexport { OverlayProvider } from './OverlayProvider';\n\n// useToastContext is re-exported for Toast module backward compatibility\nexport { useToastContext } from './NotificationContext';\n\n// ─── Hooks ───────────────────────────────────────────────────────────\n\nexport { useNotifications } from './use-notifications';\nexport {\n usePersistentNotifications,\n useNotificationsCount,\n} from './use-persistent-notifications';\n\n// ─── Utilities ───────────────────────────────────────────────────────\n\nexport { formatRelativeTime } from './format-relative-time';\n\n// ─── Types ───────────────────────────────────────────────────────────\n\nexport type {\n NotificationType,\n DismissReason,\n NotificationBaseOptions,\n OverlayNotificationOptions,\n StoredNotificationOptions,\n NotificationOptions,\n NotificationActionProps,\n NotificationHandle,\n NotificationsApi,\n PersistentNotificationItem,\n PersistentNotificationsListProps,\n OverlayProviderProps,\n NotificationProps,\n} from './types';\n\n// ─── Compound Notification Component ─────────────────────────────────\n\n/**\n * Declarative Notification component with compound API.\n *\n * @example\n * ```tsx\n * // Declarative usage\n * <Notification\n * id=\"release:new-version\"\n * theme=\"warning\"\n * title=\"New release available\"\n * description=\"2.0.0 can be installed now.\"\n * actions={\n * <>\n * <Notification.Action>Later</Notification.Action>\n * <Notification.Action onPress={() => openUpgradeDialog()}>\n * Upgrade\n * </Notification.Action>\n * </>\n * }\n * />\n * ```\n */\nexport const Notification = Object.assign(NotificationBase, {\n Action: NotificationAction,\n});\n\nexport type NotificationComponent = typeof Notification;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEA,MAAa,eAAe,OAAO,OAAOA,gBAAkB,EAC1D,QAAQ,oBACT,CAAC"}
1
+ {"version":3,"file":"index.js","names":["Notification","NotificationBase","NotificationAction","NotificationCard","NotificationCardProps","NotificationItem","NotificationItemProps","PersistentNotificationsList","OverlayProvider","useToastContext","useNotifications","usePersistentNotifications","useNotificationsCount","formatRelativeTime","NotificationType","DismissReason","NotificationBaseOptions","OverlayNotificationOptions","StoredNotificationOptions","NotificationOptions","NotificationActionProps","NotificationHandle","NotificationsApi","PersistentNotificationItem","PersistentNotificationsListProps","OverlayProviderProps","NotificationProps","Object","assign","Action","NotificationComponent"],"sources":["../../../../src/components/overlays/Notifications/index.ts"],"sourcesContent":["// ─── Components ──────────────────────────────────────────────────────\n\nimport { Notification as NotificationBase } from './Notification';\nimport { NotificationAction } from './NotificationAction';\n\nexport { NotificationAction } from './NotificationAction';\nexport { NotificationCard } from './NotificationCard';\nexport type { NotificationCardProps } from './NotificationCard';\nexport { NotificationItem } from './NotificationItem';\nexport type { NotificationItemProps } from './NotificationItem';\nexport { PersistentNotificationsList } from './PersistentNotificationsList';\n\n// ─── Provider ────────────────────────────────────────────────────────\n\nexport { OverlayProvider } from './OverlayProvider';\n\n// useToastContext is re-exported for Toast module backward compatibility\nexport { useToastContext } from './NotificationContext';\n\n// ─── Hooks ───────────────────────────────────────────────────────────\n\nexport { useNotifications } from './use-notifications';\nexport {\n usePersistentNotifications,\n useNotificationsCount,\n} from './use-persistent-notifications';\n\n// ─── Utilities ───────────────────────────────────────────────────────\n\nexport { formatRelativeTime } from './format-relative-time';\n\n// ─── Types ───────────────────────────────────────────────────────────\n\nexport type {\n NotificationType,\n DismissReason,\n NotificationBaseOptions,\n OverlayNotificationOptions,\n StoredNotificationOptions,\n NotificationOptions,\n NotificationActionProps,\n NotificationHandle,\n NotificationsApi,\n PersistentNotificationItem,\n PersistentNotificationsListProps,\n OverlayProviderProps,\n NotificationProps,\n} from './types';\n\n// ─── Compound Notification Component ─────────────────────────────────\n\n/**\n * Declarative Notification component with compound API.\n *\n * @example\n * ```tsx\n * // Declarative usage\n * <Notification\n * id=\"release:new-version\"\n * theme=\"warning\"\n * title=\"New release available\"\n * description=\"2.0.0 can be installed now.\"\n * actions={\n * <>\n * <Notification.Action>Later</Notification.Action>\n * <Notification.Action onPress={() => openUpgradeDialog()}>\n * Upgrade\n * </Notification.Action>\n * </>\n * }\n * />\n * ```\n */\nexport const Notification = Object.assign(NotificationBase, {\n Action: NotificationAction,\n});\n\nexport type NotificationComponent = typeof Notification;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEA,MAAaA,eAAe2B,OAAOC,OAAO3B,gBAAkB,EAC1D4B,QAAQ3B,oBACT,CAAC"}