@cube-dev/ui-kit 0.197.0 → 0.198.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 (1662) hide show
  1. package/dist/CHANGELOG.md +48 -9
  2. package/dist/_internal/hooks/use-debounced-value.js +2 -3
  3. package/dist/_internal/hooks/use-debounced-value.js.map +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +2 -3
  5. package/dist/_internal/hooks/use-deprecation-warning.js.map +1 -1
  6. package/dist/_internal/hooks/use-event.js +2 -3
  7. package/dist/_internal/hooks/use-event.js.map +1 -1
  8. package/dist/_internal/hooks/use-is-first-render.js +2 -3
  9. package/dist/_internal/hooks/use-is-first-render.js.map +1 -1
  10. package/dist/_internal/hooks/use-sync-ref.js +2 -3
  11. package/dist/_internal/hooks/use-sync-ref.js.map +1 -1
  12. package/dist/_internal/hooks/use-timer/timer.js +2 -2
  13. package/dist/_internal/hooks/use-timer/timer.js.map +1 -1
  14. package/dist/_internal/hooks/use-timer/use-timer.js +2 -3
  15. package/dist/_internal/hooks/use-timer/use-timer.js.map +1 -1
  16. package/dist/_internal/hooks/use-warn.js +2 -3
  17. package/dist/_internal/hooks/use-warn.js.map +1 -1
  18. package/dist/components/Block.d.ts +2 -5
  19. package/dist/components/Block.js +2 -3
  20. package/dist/components/Block.js.map +1 -1
  21. package/dist/components/CollectionItem.d.ts +4 -5
  22. package/dist/components/CollectionItem.js +4 -5
  23. package/dist/components/CollectionItem.js.map +1 -1
  24. package/dist/components/GlobalStyles.js +4 -5
  25. package/dist/components/GlobalStyles.js.map +1 -1
  26. package/dist/components/GridProvider.d.ts +2 -5
  27. package/dist/components/GridProvider.js +4 -4
  28. package/dist/components/GridProvider.js.map +1 -1
  29. package/dist/components/HiddenInput.js +2 -3
  30. package/dist/components/HiddenInput.js.map +1 -1
  31. package/dist/components/Root.d.ts +2 -5
  32. package/dist/components/Root.js +2 -3
  33. package/dist/components/Root.js.map +1 -1
  34. package/dist/components/actions/Action/Action.d.ts +2 -6
  35. package/dist/components/actions/Action/Action.js +2 -3
  36. package/dist/components/actions/Action/Action.js.map +1 -1
  37. package/dist/components/actions/Banner/Banner.d.ts +9 -12
  38. package/dist/components/actions/Banner/Banner.js +3 -4
  39. package/dist/components/actions/Banner/Banner.js.map +1 -1
  40. package/dist/components/actions/Banner/index.d.ts +2 -1
  41. package/dist/components/actions/Button/Button.d.ts +4 -7
  42. package/dist/components/actions/Button/Button.js +2 -3
  43. package/dist/components/actions/Button/Button.js.map +1 -1
  44. package/dist/components/actions/Button/index.d.ts +2 -1
  45. package/dist/components/actions/ButtonGroup/ButtonGroup.d.ts +1 -4
  46. package/dist/components/actions/ButtonGroup/ButtonGroup.js +2 -3
  47. package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
  48. package/dist/components/actions/ButtonSplit/ButtonSplit.d.ts +3 -6
  49. package/dist/components/actions/ButtonSplit/ButtonSplit.js +5 -5
  50. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
  51. package/dist/components/actions/ButtonSplit/context.d.ts +3 -6
  52. package/dist/components/actions/ButtonSplit/context.js +2 -3
  53. package/dist/components/actions/ButtonSplit/context.js.map +1 -1
  54. package/dist/components/actions/ButtonSplit/index.d.ts +2 -1
  55. package/dist/components/actions/CommandMenu/CommandMenu.d.ts +6 -9
  56. package/dist/components/actions/CommandMenu/CommandMenu.js +89 -76
  57. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  58. package/dist/components/actions/CommandMenu/index.d.ts +2 -1
  59. package/dist/components/actions/CommandMenu/styled.js +3 -4
  60. package/dist/components/actions/CommandMenu/styled.js.map +1 -1
  61. package/dist/components/actions/ItemAction/ItemAction.d.ts +3 -6
  62. package/dist/components/actions/ItemAction/ItemAction.js +11 -9
  63. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  64. package/dist/components/actions/ItemAction/index.d.ts +2 -1
  65. package/dist/components/actions/ItemActionContext.d.ts +5 -14
  66. package/dist/components/actions/ItemActionContext.js +2 -3
  67. package/dist/components/actions/ItemActionContext.js.map +1 -1
  68. package/dist/components/actions/ItemActionsWrapper.js +2 -3
  69. package/dist/components/actions/ItemActionsWrapper.js.map +1 -1
  70. package/dist/components/actions/ItemButton/ItemButton.d.ts +6 -9
  71. package/dist/components/actions/ItemButton/ItemButton.js +4 -5
  72. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  73. package/dist/components/actions/ItemButton/index.d.ts +2 -1
  74. package/dist/components/actions/Link/Link.d.ts +1 -5
  75. package/dist/components/actions/Link/Link.js +2 -3
  76. package/dist/components/actions/Link/Link.js.map +1 -1
  77. package/dist/components/actions/Menu/Menu.d.ts +7 -10
  78. package/dist/components/actions/Menu/Menu.js +9 -8
  79. package/dist/components/actions/Menu/Menu.js.map +1 -1
  80. package/dist/components/actions/Menu/MenuCollectionItem.d.ts +3 -4
  81. package/dist/components/actions/Menu/MenuCollectionItem.js +4 -5
  82. package/dist/components/actions/Menu/MenuCollectionItem.js.map +1 -1
  83. package/dist/components/actions/Menu/MenuItem.d.ts +5 -8
  84. package/dist/components/actions/Menu/MenuItem.js +4 -4
  85. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  86. package/dist/components/actions/Menu/MenuSection.d.ts +4 -7
  87. package/dist/components/actions/Menu/MenuSection.js +2 -3
  88. package/dist/components/actions/Menu/MenuSection.js.map +1 -1
  89. package/dist/components/actions/Menu/MenuTrigger.d.ts +4 -6
  90. package/dist/components/actions/Menu/MenuTrigger.js +5 -6
  91. package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
  92. package/dist/components/actions/Menu/SubMenuTrigger.d.ts +3 -5
  93. package/dist/components/actions/Menu/SubMenuTrigger.js +3 -4
  94. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  95. package/dist/components/actions/Menu/SubmenuTriggerContext.js +2 -3
  96. package/dist/components/actions/Menu/SubmenuTriggerContext.js.map +1 -1
  97. package/dist/components/actions/Menu/context.d.ts +3 -5
  98. package/dist/components/actions/Menu/context.js +2 -3
  99. package/dist/components/actions/Menu/context.js.map +1 -1
  100. package/dist/components/actions/Menu/index.d.ts +4 -3
  101. package/dist/components/actions/Menu/styled.js +3 -4
  102. package/dist/components/actions/Menu/styled.js.map +1 -1
  103. package/dist/components/actions/actions-run.js +2 -2
  104. package/dist/components/actions/actions-run.js.map +1 -1
  105. package/dist/components/actions/index.d.ts +8 -11
  106. package/dist/components/actions/index.js +8 -9
  107. package/dist/components/actions/index.js.map +1 -1
  108. package/dist/components/actions/use-action.d.ts +10 -27
  109. package/dist/components/actions/use-action.js +15 -7
  110. package/dist/components/actions/use-action.js.map +1 -1
  111. package/dist/components/actions/use-anchored-menu.d.ts +3 -5
  112. package/dist/components/actions/use-anchored-menu.js +5 -5
  113. package/dist/components/actions/use-anchored-menu.js.map +1 -1
  114. package/dist/components/actions/use-context-menu.d.ts +4 -5
  115. package/dist/components/actions/use-context-menu.js +9 -7
  116. package/dist/components/actions/use-context-menu.js.map +1 -1
  117. package/dist/components/content/ActiveZone/ActiveZone.d.ts +3 -5
  118. package/dist/components/content/ActiveZone/ActiveZone.js +3 -4
  119. package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
  120. package/dist/components/content/Alert/Alert.d.ts +1 -4
  121. package/dist/components/content/Alert/Alert.js +3 -3
  122. package/dist/components/content/Alert/Alert.js.map +1 -1
  123. package/dist/components/content/Alert/index.d.ts +2 -1
  124. package/dist/components/content/Alert/types.d.ts +2 -4
  125. package/dist/components/content/Alert/use-alert.js +2 -3
  126. package/dist/components/content/Alert/use-alert.js.map +1 -1
  127. package/dist/components/content/Avatar/Avatar.d.ts +2 -5
  128. package/dist/components/content/Avatar/Avatar.js +2 -3
  129. package/dist/components/content/Avatar/Avatar.js.map +1 -1
  130. package/dist/components/content/Badge/Badge.d.ts +5 -7
  131. package/dist/components/content/Badge/Badge.js +4 -5
  132. package/dist/components/content/Badge/Badge.js.map +1 -1
  133. package/dist/components/content/Card/Card.d.ts +2 -5
  134. package/dist/components/content/Card/Card.js +2 -3
  135. package/dist/components/content/Card/Card.js.map +1 -1
  136. package/dist/components/content/Content.d.ts +2 -5
  137. package/dist/components/content/Content.js +2 -3
  138. package/dist/components/content/Content.js.map +1 -1
  139. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.d.ts +3 -5
  140. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +3 -4
  141. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  142. package/dist/components/content/CopyPasteBlock/index.d.ts +2 -1
  143. package/dist/components/content/CopySnippet/CopySnippet.d.ts +529 -526
  144. package/dist/components/content/CopySnippet/CopySnippet.js +5 -6
  145. package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
  146. package/dist/components/content/CopySnippet/index.d.ts +2 -1
  147. package/dist/components/content/Disclosure/Disclosure.d.ts +12 -14
  148. package/dist/components/content/Disclosure/Disclosure.js +8 -7
  149. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  150. package/dist/components/content/Disclosure/index.d.ts +2 -1
  151. package/dist/components/content/Divider.d.ts +2 -5
  152. package/dist/components/content/Divider.js +4 -4
  153. package/dist/components/content/Divider.js.map +1 -1
  154. package/dist/components/content/Footer.d.ts +2 -5
  155. package/dist/components/content/Footer.js +2 -3
  156. package/dist/components/content/Footer.js.map +1 -1
  157. package/dist/components/content/Header.d.ts +2 -5
  158. package/dist/components/content/Header.js +2 -3
  159. package/dist/components/content/Header.js.map +1 -1
  160. package/dist/components/content/HotKeys/HotKeys.d.ts +3 -5
  161. package/dist/components/content/HotKeys/HotKeys.js +4 -5
  162. package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
  163. package/dist/components/content/HotKeys/index.d.ts +2 -1
  164. package/dist/components/content/InfoBadge/InfoBadge.d.ts +4 -6
  165. package/dist/components/content/InfoBadge/InfoBadge.js +2 -3
  166. package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -1
  167. package/dist/components/content/InlineInput/InlineInput.d.ts +4 -7
  168. package/dist/components/content/InlineInput/InlineInput.js +5 -5
  169. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  170. package/dist/components/content/InlineInput/index.d.ts +2 -1
  171. package/dist/components/content/Item/Item.d.ts +4 -7
  172. package/dist/components/content/Item/Item.js +4 -5
  173. package/dist/components/content/Item/Item.js.map +1 -1
  174. package/dist/components/content/Item/ItemWithNativeLinks.js +2 -3
  175. package/dist/components/content/Item/ItemWithNativeLinks.js.map +1 -1
  176. package/dist/components/content/Item/index.d.ts +2 -1
  177. package/dist/components/content/ItemBadge/ItemBadge.d.ts +3 -5
  178. package/dist/components/content/ItemBadge/ItemBadge.js +2 -3
  179. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  180. package/dist/components/content/ItemBadge/index.d.ts +2 -1
  181. package/dist/components/content/ItemCard/ItemCard.d.ts +5 -8
  182. package/dist/components/content/ItemCard/ItemCard.js +3 -4
  183. package/dist/components/content/ItemCard/ItemCard.js.map +1 -1
  184. package/dist/components/content/Layout/GridLayout.d.ts +12 -13
  185. package/dist/components/content/Layout/GridLayout.js +13 -14
  186. package/dist/components/content/Layout/GridLayout.js.map +1 -1
  187. package/dist/components/content/Layout/Layout.d.ts +1 -3
  188. package/dist/components/content/Layout/Layout.js +28 -17
  189. package/dist/components/content/Layout/Layout.js.map +1 -1
  190. package/dist/components/content/Layout/LayoutBlock.d.ts +3 -5
  191. package/dist/components/content/Layout/LayoutBlock.js +4 -5
  192. package/dist/components/content/Layout/LayoutBlock.js.map +1 -1
  193. package/dist/components/content/Layout/LayoutCenter.d.ts +3 -5
  194. package/dist/components/content/Layout/LayoutCenter.js +4 -5
  195. package/dist/components/content/Layout/LayoutCenter.js.map +1 -1
  196. package/dist/components/content/Layout/LayoutContainer.d.ts +3 -5
  197. package/dist/components/content/Layout/LayoutContainer.js +5 -5
  198. package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
  199. package/dist/components/content/Layout/LayoutContent.d.ts +4 -6
  200. package/dist/components/content/Layout/LayoutContent.js +3 -4
  201. package/dist/components/content/Layout/LayoutContent.js.map +1 -1
  202. package/dist/components/content/Layout/LayoutContext.d.ts +1 -3
  203. package/dist/components/content/Layout/LayoutContext.js +2 -3
  204. package/dist/components/content/Layout/LayoutContext.js.map +1 -1
  205. package/dist/components/content/Layout/LayoutFlex.d.ts +3 -5
  206. package/dist/components/content/Layout/LayoutFlex.js +4 -5
  207. package/dist/components/content/Layout/LayoutFlex.js.map +1 -1
  208. package/dist/components/content/Layout/LayoutFooter.d.ts +3 -5
  209. package/dist/components/content/Layout/LayoutFooter.js +4 -5
  210. package/dist/components/content/Layout/LayoutFooter.js.map +1 -1
  211. package/dist/components/content/Layout/LayoutGrid.d.ts +3 -5
  212. package/dist/components/content/Layout/LayoutGrid.js +4 -5
  213. package/dist/components/content/Layout/LayoutGrid.js.map +1 -1
  214. package/dist/components/content/Layout/LayoutHeader.d.ts +3 -5
  215. package/dist/components/content/Layout/LayoutHeader.js +6 -6
  216. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  217. package/dist/components/content/Layout/LayoutPane.d.ts +4 -6
  218. package/dist/components/content/Layout/LayoutPane.js +7 -8
  219. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  220. package/dist/components/content/Layout/LayoutPanel.d.ts +20 -6
  221. package/dist/components/content/Layout/LayoutPanel.js +32 -21
  222. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  223. package/dist/components/content/Layout/LayoutPanelHeader.d.ts +4 -6
  224. package/dist/components/content/Layout/LayoutPanelHeader.js +4 -5
  225. package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
  226. package/dist/components/content/Layout/LayoutPanelTransition.js +54 -51
  227. package/dist/components/content/Layout/LayoutPanelTransition.js.map +1 -1
  228. package/dist/components/content/Layout/LayoutToolbar.d.ts +3 -5
  229. package/dist/components/content/Layout/LayoutToolbar.js +4 -5
  230. package/dist/components/content/Layout/LayoutToolbar.js.map +1 -1
  231. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +2 -3
  232. package/dist/components/content/Layout/hooks/useTinyScrollbar.js.map +1 -1
  233. package/dist/components/content/Layout/index.d.ts +13 -14
  234. package/dist/components/content/Layout/index.js +17 -18
  235. package/dist/components/content/Layout/index.js.map +1 -1
  236. package/dist/components/content/Layout/utils.js +2 -2
  237. package/dist/components/content/Layout/utils.js.map +1 -1
  238. package/dist/components/content/Paragraph.d.ts +2 -5
  239. package/dist/components/content/Paragraph.js +3 -4
  240. package/dist/components/content/Paragraph.js.map +1 -1
  241. package/dist/components/content/Placeholder/Placeholder.d.ts +2 -5
  242. package/dist/components/content/Placeholder/Placeholder.js +2 -3
  243. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  244. package/dist/components/content/PrismCode/PrismCode.d.ts +3 -5
  245. package/dist/components/content/PrismCode/PrismCode.js +4 -5
  246. package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
  247. package/dist/components/content/PrismCode/prismSetup.js +3 -4
  248. package/dist/components/content/PrismCode/prismSetup.js.map +1 -1
  249. package/dist/components/content/PrismDiffCode/PrismDiffCode.d.ts +2 -9
  250. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +3 -4
  251. package/dist/components/content/PrismDiffCode/PrismDiffCode.js.map +1 -1
  252. package/dist/components/content/Result/Result.d.ts +9 -12
  253. package/dist/components/content/Result/Result.js +4 -5
  254. package/dist/components/content/Result/Result.js.map +1 -1
  255. package/dist/components/content/Skeleton/Skeleton.d.ts +13 -61
  256. package/dist/components/content/Skeleton/Skeleton.js +2 -3
  257. package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
  258. package/dist/components/content/Tag/Tag.d.ts +4 -6
  259. package/dist/components/content/Tag/Tag.js +4 -5
  260. package/dist/components/content/Tag/Tag.js.map +1 -1
  261. package/dist/components/content/Text.d.ts +1347 -1350
  262. package/dist/components/content/Text.js +3 -4
  263. package/dist/components/content/Text.js.map +1 -1
  264. package/dist/components/content/TextItem/TextItem.d.ts +6 -5
  265. package/dist/components/content/TextItem/TextItem.js +2 -3
  266. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  267. package/dist/components/content/TextItem/index.d.ts +2 -1
  268. package/dist/components/content/Title.d.ts +5 -7
  269. package/dist/components/content/Title.js +3 -4
  270. package/dist/components/content/Title.js.map +1 -1
  271. package/dist/components/content/Tree/Tree.d.ts +1 -4
  272. package/dist/components/content/Tree/Tree.js +4 -4
  273. package/dist/components/content/Tree/Tree.js.map +1 -1
  274. package/dist/components/content/Tree/TreeNode.js +5 -6
  275. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  276. package/dist/components/content/Tree/index.d.ts +2 -1
  277. package/dist/components/content/Tree/styled.js +18 -4
  278. package/dist/components/content/Tree/styled.js.map +1 -1
  279. package/dist/components/content/Tree/tree-index.js +2 -2
  280. package/dist/components/content/Tree/tree-index.js.map +1 -1
  281. package/dist/components/content/Tree/types.d.ts +11 -13
  282. package/dist/components/content/Tree/use-checkbox-tree.js +2 -3
  283. package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
  284. package/dist/components/content/Tree/use-load-data.js +2 -3
  285. package/dist/components/content/Tree/use-load-data.js.map +1 -1
  286. package/dist/components/content/highlightText.js +3 -4
  287. package/dist/components/content/highlightText.js.map +1 -1
  288. package/dist/components/content/use-auto-tooltip.d.ts +1 -3
  289. package/dist/components/content/use-auto-tooltip.js +2 -3
  290. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  291. package/dist/components/data/DataTable/DataTable.d.ts +1 -2
  292. package/dist/components/data/DataTable/DataTable.js +35 -25
  293. package/dist/components/data/DataTable/DataTable.js.map +1 -1
  294. package/dist/components/data/DataTable/index.d.ts +2 -1
  295. package/dist/components/data/DataTable/types.d.ts +4 -6
  296. package/dist/components/data/ItemTable/ItemTable.d.ts +6 -4
  297. package/dist/components/data/ItemTable/ItemTable.js +8 -5
  298. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  299. package/dist/components/data/ItemTable/ItemTableBulkBar.d.ts +2 -5
  300. package/dist/components/data/ItemTable/ItemTableBulkBar.js +8 -4
  301. package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
  302. package/dist/components/data/ItemTable/ItemTableDragPreview.js +3 -4
  303. package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
  304. package/dist/components/data/ItemTable/ItemTableFooter.js +8 -4
  305. package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
  306. package/dist/components/data/ItemTable/ItemTableToolbar.d.ts +4 -15
  307. package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -3
  308. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
  309. package/dist/components/data/ItemTable/index.d.ts +2 -1
  310. package/dist/components/data/ItemTable/types.d.ts +6 -6
  311. package/dist/components/data/ItemTable/use-item-table-column-widths.js +4 -4
  312. package/dist/components/data/ItemTable/use-item-table-column-widths.js.map +1 -1
  313. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +2 -3
  314. package/dist/components/data/ItemTable/use-item-table-drag-drop.js.map +1 -1
  315. package/dist/components/data/ItemTable/use-item-table-pagination.js +2 -3
  316. package/dist/components/data/ItemTable/use-item-table-pagination.js.map +1 -1
  317. package/dist/components/data/ItemTable/use-item-table-selection.js +2 -3
  318. package/dist/components/data/ItemTable/use-item-table-selection.js.map +1 -1
  319. package/dist/components/data/ItemTable/use-item-table-sort.js +2 -3
  320. package/dist/components/data/ItemTable/use-item-table-sort.js.map +1 -1
  321. package/dist/components/data/ItemTable/use-item-table-tree-model.js +2 -3
  322. package/dist/components/data/ItemTable/use-item-table-tree-model.js.map +1 -1
  323. package/dist/components/data/TableBase/ColumnResizer.js +2 -3
  324. package/dist/components/data/TableBase/ColumnResizer.js.map +1 -1
  325. package/dist/components/data/TableBase/RowCollection.d.ts +2 -0
  326. package/dist/components/data/TableBase/RowCollection.js +2 -2
  327. package/dist/components/data/TableBase/RowCollection.js.map +1 -1
  328. package/dist/components/data/TableBase/TableHeaderCell.js +2 -3
  329. package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
  330. package/dist/components/data/TableBase/TableRow.js +2 -3
  331. package/dist/components/data/TableBase/TableRow.js.map +1 -1
  332. package/dist/components/data/TableBase/TableView.d.ts +2 -3
  333. package/dist/components/data/TableBase/TableView.js +25 -15
  334. package/dist/components/data/TableBase/TableView.js.map +1 -1
  335. package/dist/components/data/TableBase/TreeGridTable.js +9 -9
  336. package/dist/components/data/TableBase/TreeGridTable.js.map +1 -1
  337. package/dist/components/data/TableBase/column-header.js +2 -3
  338. package/dist/components/data/TableBase/column-header.js.map +1 -1
  339. package/dist/components/data/TableBase/column-menu.d.ts +3 -6
  340. package/dist/components/data/TableBase/column-menu.js +3 -4
  341. package/dist/components/data/TableBase/column-menu.js.map +1 -1
  342. package/dist/components/data/TableBase/column-styles.js +2 -3
  343. package/dist/components/data/TableBase/column-styles.js.map +1 -1
  344. package/dist/components/data/TableBase/column-tint.js +4 -5
  345. package/dist/components/data/TableBase/column-tint.js.map +1 -1
  346. package/dist/components/data/TableBase/index.d.ts +2 -1
  347. package/dist/components/data/TableBase/row-menu.js +2 -3
  348. package/dist/components/data/TableBase/row-menu.js.map +1 -1
  349. package/dist/components/data/TableBase/styled.d.ts +1 -3
  350. package/dist/components/data/TableBase/styled.js +168 -4
  351. package/dist/components/data/TableBase/styled.js.map +1 -1
  352. package/dist/components/data/TableBase/table-tree.d.ts +2 -0
  353. package/dist/components/data/TableBase/table-tree.js +2 -2
  354. package/dist/components/data/TableBase/table-tree.js.map +1 -1
  355. package/dist/components/data/TableBase/types.d.ts +30 -26
  356. package/dist/components/data/TableBase/types.js +2 -2
  357. package/dist/components/data/TableBase/types.js.map +1 -1
  358. package/dist/components/data/TableBase/use-cell-selection.d.ts +1 -2
  359. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  360. package/dist/components/data/TableBase/use-cell-selection.js.map +1 -1
  361. package/dist/components/data/TableBase/use-column-menu.js +4 -5
  362. package/dist/components/data/TableBase/use-column-menu.js.map +1 -1
  363. package/dist/components/data/TableBase/use-column-order.js +3 -4
  364. package/dist/components/data/TableBase/use-column-order.js.map +1 -1
  365. package/dist/components/data/TableBase/use-column-window.js +3 -4
  366. package/dist/components/data/TableBase/use-column-window.js.map +1 -1
  367. package/dist/components/data/TableBase/use-container-width.js +2 -3
  368. package/dist/components/data/TableBase/use-container-width.js.map +1 -1
  369. package/dist/components/data/TableBase/use-row-move-animation.js +3 -7
  370. package/dist/components/data/TableBase/use-row-move-animation.js.map +1 -1
  371. package/dist/components/data/TableBase/use-scrollability.js +2 -3
  372. package/dist/components/data/TableBase/use-scrollability.js.map +1 -1
  373. package/dist/components/data/TableBase/use-table-columns.js +4 -8
  374. package/dist/components/data/TableBase/use-table-columns.js.map +1 -1
  375. package/dist/components/data/TableBase/use-table-search.js +2 -3
  376. package/dist/components/data/TableBase/use-table-search.js.map +1 -1
  377. package/dist/components/data/TableBase/use-table-selection.d.ts +1 -0
  378. package/dist/components/data/TableBase/use-table-selection.js +7 -6
  379. package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
  380. package/dist/components/data/TableBase/use-table-sort.js +2 -3
  381. package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
  382. package/dist/components/data/TableBase/use-table-sorts.js +2 -3
  383. package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
  384. package/dist/components/data/TableBase/use-table-storage.d.ts +1 -3
  385. package/dist/components/data/TableBase/use-table-storage.js +4 -4
  386. package/dist/components/data/TableBase/use-table-storage.js.map +1 -1
  387. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +3 -4
  388. package/dist/components/data/TableBase/use-table-tooltip-refresh.js.map +1 -1
  389. package/dist/components/data/TableBase/use-table-tree-state.js +2 -3
  390. package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
  391. package/dist/components/data/index.d.ts +4 -3
  392. package/dist/components/fields/Checkbox/Checkbox.d.ts +7 -10
  393. package/dist/components/fields/Checkbox/Checkbox.js +39 -36
  394. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  395. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +4 -6
  396. package/dist/components/fields/Checkbox/CheckboxGroup.js +16 -16
  397. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  398. package/dist/components/fields/Checkbox/context.js +2 -3
  399. package/dist/components/fields/Checkbox/context.js.map +1 -1
  400. package/dist/components/fields/Checkbox/index.d.ts +3 -2
  401. package/dist/components/fields/ColorInput/ColorInput.d.ts +3 -6
  402. package/dist/components/fields/ColorInput/ColorInput.js +2 -3
  403. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  404. package/dist/components/fields/ColorInput/index.d.ts +2 -1
  405. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +3 -6
  406. package/dist/components/fields/ColorPicker/ColorPicker.js +321 -118
  407. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  408. package/dist/components/fields/ColorPicker/index.d.ts +2 -1
  409. package/dist/components/fields/ColorSwatch/ColorSwatch.d.ts +2 -5
  410. package/dist/components/fields/ColorSwatch/ColorSwatch.js +14 -3
  411. package/dist/components/fields/ColorSwatch/ColorSwatch.js.map +1 -1
  412. package/dist/components/fields/ColorSwatch/index.d.ts +2 -1
  413. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +3 -6
  414. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +235 -72
  415. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  416. package/dist/components/fields/ColorSwatchGroup/index.d.ts +2 -1
  417. package/dist/components/fields/ComboBox/ComboBox.d.ts +5 -6
  418. package/dist/components/fields/ComboBox/ComboBox.js +48 -45
  419. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  420. package/dist/components/fields/ComboBox/comboBoxOptions.js +2 -3
  421. package/dist/components/fields/ComboBox/comboBoxOptions.js.map +1 -1
  422. package/dist/components/fields/ComboBox/index.d.ts +2 -1
  423. package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +10 -9
  424. package/dist/components/fields/CommandTextArea/CommandTextArea.js +7 -7
  425. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  426. package/dist/components/fields/CommandTextArea/caretPosition.js +2 -2
  427. package/dist/components/fields/CommandTextArea/caretPosition.js.map +1 -1
  428. package/dist/components/fields/CommandTextArea/index.d.ts +2 -1
  429. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +2 -3
  430. package/dist/components/fields/CommandTextArea/useCaretAnchor.js.map +1 -1
  431. package/dist/components/fields/DatePicker/DateInput.d.ts +2 -3
  432. package/dist/components/fields/DatePicker/DateInput.js +10 -8
  433. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  434. package/dist/components/fields/DatePicker/DateInputBase.js +53 -44
  435. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  436. package/dist/components/fields/DatePicker/DatePicker.d.ts +3 -6
  437. package/dist/components/fields/DatePicker/DatePicker.js +28 -26
  438. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  439. package/dist/components/fields/DatePicker/DatePickerButton.js +2 -3
  440. package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
  441. package/dist/components/fields/DatePicker/DatePickerElement.js +2 -3
  442. package/dist/components/fields/DatePicker/DatePickerElement.js.map +1 -1
  443. package/dist/components/fields/DatePicker/DatePickerInput.js +2 -3
  444. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  445. package/dist/components/fields/DatePicker/DatePickerSegment.js +2 -3
  446. package/dist/components/fields/DatePicker/DatePickerSegment.js.map +1 -1
  447. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +2 -3
  448. package/dist/components/fields/DatePicker/DateRangePicker.js +29 -27
  449. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  450. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +2 -3
  451. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +110 -110
  452. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  453. package/dist/components/fields/DatePicker/MonthPicker.d.ts +3 -6
  454. package/dist/components/fields/DatePicker/MonthPicker.js +3 -4
  455. package/dist/components/fields/DatePicker/MonthPicker.js.map +1 -1
  456. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +2 -4
  457. package/dist/components/fields/DatePicker/PeriodPicker.js +14 -14
  458. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  459. package/dist/components/fields/DatePicker/QuarterPicker.d.ts +3 -6
  460. package/dist/components/fields/DatePicker/QuarterPicker.js +3 -4
  461. package/dist/components/fields/DatePicker/QuarterPicker.js.map +1 -1
  462. package/dist/components/fields/DatePicker/TimeInput.d.ts +3 -6
  463. package/dist/components/fields/DatePicker/TimeInput.js +10 -8
  464. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  465. package/dist/components/fields/DatePicker/WeekPicker.d.ts +3 -6
  466. package/dist/components/fields/DatePicker/WeekPicker.js +3 -4
  467. package/dist/components/fields/DatePicker/WeekPicker.js.map +1 -1
  468. package/dist/components/fields/DatePicker/YearPicker.d.ts +3 -6
  469. package/dist/components/fields/DatePicker/YearPicker.js +3 -4
  470. package/dist/components/fields/DatePicker/YearPicker.js.map +1 -1
  471. package/dist/components/fields/DatePicker/index.d.ts +10 -9
  472. package/dist/components/fields/DatePicker/parseDate.d.ts +1 -4
  473. package/dist/components/fields/DatePicker/parseDate.js +2 -3
  474. package/dist/components/fields/DatePicker/parseDate.js.map +1 -1
  475. package/dist/components/fields/DatePicker/period.d.ts +5 -7
  476. package/dist/components/fields/DatePicker/period.js +3 -4
  477. package/dist/components/fields/DatePicker/period.js.map +1 -1
  478. package/dist/components/fields/DatePicker/props.js +2 -2
  479. package/dist/components/fields/DatePicker/props.js.map +1 -1
  480. package/dist/components/fields/DatePicker/types.d.ts +2 -4
  481. package/dist/components/fields/DatePicker/utils.js +14 -11
  482. package/dist/components/fields/DatePicker/utils.js.map +1 -1
  483. package/dist/components/fields/FileInput/FileInput.d.ts +3 -5
  484. package/dist/components/fields/FileInput/FileInput.js +290 -107
  485. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  486. package/dist/components/fields/FilterListBox/FilterListBox.d.ts +4 -5
  487. package/dist/components/fields/FilterListBox/FilterListBox.js +24 -19
  488. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  489. package/dist/components/fields/FilterListBox/index.d.ts +2 -1
  490. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +3 -5
  491. package/dist/components/fields/FilterPicker/FilterPicker.js +12 -10
  492. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  493. package/dist/components/fields/FilterPicker/index.d.ts +2 -1
  494. package/dist/components/fields/Input/Input.d.ts +6 -7
  495. package/dist/components/fields/Input/Input.js +6 -7
  496. package/dist/components/fields/Input/Input.js.map +1 -1
  497. package/dist/components/fields/Input/index.d.ts +2 -1
  498. package/dist/components/fields/ListBox/DraggableListBox.js +2 -3
  499. package/dist/components/fields/ListBox/DraggableListBox.js.map +1 -1
  500. package/dist/components/fields/ListBox/ListBox.d.ts +5 -7
  501. package/dist/components/fields/ListBox/ListBox.js +30 -26
  502. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  503. package/dist/components/fields/ListBox/index.d.ts +2 -1
  504. package/dist/components/fields/ListBox/optionId.js +2 -2
  505. package/dist/components/fields/ListBox/optionId.js.map +1 -1
  506. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +3 -4
  507. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  508. package/dist/components/fields/ListBoxPopover/index.d.ts +2 -1
  509. package/dist/components/fields/ListBoxPopover/listNavigation.d.ts +2 -4
  510. package/dist/components/fields/ListBoxPopover/listNavigation.js +2 -2
  511. package/dist/components/fields/ListBoxPopover/listNavigation.js.map +1 -1
  512. package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +4 -12
  513. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +2 -3
  514. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
  515. package/dist/components/fields/NumberInput/NumberInput.d.ts +4 -6
  516. package/dist/components/fields/NumberInput/NumberInput.js +114 -110
  517. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  518. package/dist/components/fields/NumberInput/StepButton.js +2 -3
  519. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  520. package/dist/components/fields/PasswordInput/PasswordInput.d.ts +3 -5
  521. package/dist/components/fields/PasswordInput/PasswordInput.js +4 -4
  522. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  523. package/dist/components/fields/Picker/Picker.d.ts +3 -5
  524. package/dist/components/fields/Picker/Picker.js +12 -10
  525. package/dist/components/fields/Picker/Picker.js.map +1 -1
  526. package/dist/components/fields/Picker/index.d.ts +2 -1
  527. package/dist/components/fields/RadioGroup/Radio.d.ts +397 -398
  528. package/dist/components/fields/RadioGroup/Radio.js +60 -65
  529. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  530. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +5 -7
  531. package/dist/components/fields/RadioGroup/RadioGroup.js +19 -19
  532. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  533. package/dist/components/fields/RadioGroup/context.js +2 -3
  534. package/dist/components/fields/RadioGroup/context.js.map +1 -1
  535. package/dist/components/fields/RadioGroup/index.d.ts +3 -2
  536. package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +5 -6
  537. package/dist/components/fields/SearchComboBox/SearchComboBox.js +16 -16
  538. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  539. package/dist/components/fields/SearchComboBox/index.d.ts +2 -1
  540. package/dist/components/fields/SearchInput/SearchInput.d.ts +4 -6
  541. package/dist/components/fields/SearchInput/SearchInput.js +48 -49
  542. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  543. package/dist/components/fields/SearchInput/index.d.ts +2 -1
  544. package/dist/components/fields/Select/Select.d.ts +9 -29
  545. package/dist/components/fields/Select/Select.js +12 -10
  546. package/dist/components/fields/Select/Select.js.map +1 -1
  547. package/dist/components/fields/Select/index.d.ts +2 -1
  548. package/dist/components/fields/Slider/Gradation.js +2 -3
  549. package/dist/components/fields/Slider/Gradation.js.map +1 -1
  550. package/dist/components/fields/Slider/HueSlider.d.ts +3 -6
  551. package/dist/components/fields/Slider/HueSlider.js +5 -6
  552. package/dist/components/fields/Slider/HueSlider.js.map +1 -1
  553. package/dist/components/fields/Slider/RangeSlider.d.ts +3 -6
  554. package/dist/components/fields/Slider/RangeSlider.js +4 -5
  555. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  556. package/dist/components/fields/Slider/Slider.d.ts +3 -6
  557. package/dist/components/fields/Slider/Slider.js +4 -5
  558. package/dist/components/fields/Slider/Slider.js.map +1 -1
  559. package/dist/components/fields/Slider/SliderBase.js +296 -88
  560. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  561. package/dist/components/fields/Slider/SliderThumb.js +2 -3
  562. package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
  563. package/dist/components/fields/Slider/SliderTrack.js +2 -3
  564. package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
  565. package/dist/components/fields/Slider/elements.js +2 -3
  566. package/dist/components/fields/Slider/elements.js.map +1 -1
  567. package/dist/components/fields/Slider/index.d.ts +4 -4
  568. package/dist/components/fields/Slider/index.js +5 -6
  569. package/dist/components/fields/Slider/types.d.ts +2 -3
  570. package/dist/components/fields/Switch/Switch.d.ts +4 -6
  571. package/dist/components/fields/Switch/Switch.js +78 -70
  572. package/dist/components/fields/Switch/Switch.js.map +1 -1
  573. package/dist/components/fields/TagInput/TagInput.d.ts +5 -6
  574. package/dist/components/fields/TagInput/TagInput.js +411 -998
  575. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  576. package/dist/components/fields/TagInput/TagList.js +3 -4
  577. package/dist/components/fields/TagInput/TagList.js.map +1 -1
  578. package/dist/components/fields/TagInput/index.d.ts +2 -1
  579. package/dist/components/fields/TagInput/useActiveOption.js +2 -3
  580. package/dist/components/fields/TagInput/useActiveOption.js.map +1 -1
  581. package/dist/components/fields/TagInput/useTagError.js +2 -3
  582. package/dist/components/fields/TagInput/useTagError.js.map +1 -1
  583. package/dist/components/fields/TextArea/TextArea.d.ts +4 -6
  584. package/dist/components/fields/TextArea/TextArea.js +4 -4
  585. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  586. package/dist/components/fields/TextArea/index.d.ts +2 -1
  587. package/dist/components/fields/TextInput/TextInput.d.ts +4 -6
  588. package/dist/components/fields/TextInput/TextInput.js +3 -3
  589. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  590. package/dist/components/fields/TextInput/TextInputBase.d.ts +6 -8
  591. package/dist/components/fields/TextInput/TextInputBase.js +10 -9
  592. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  593. package/dist/components/fields/TextInput/displayed-validation.js +2 -3
  594. package/dist/components/fields/TextInput/displayed-validation.js.map +1 -1
  595. package/dist/components/fields/TextInput/index.d.ts +2 -1
  596. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +2 -3
  597. package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -1
  598. package/dist/components/fields/TextInputMapper/TextInputMapper.d.ts +4 -6
  599. package/dist/components/fields/TextInputMapper/TextInputMapper.js +8 -10
  600. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  601. package/dist/components/fields/TextInputMapper/index.d.ts +2 -1
  602. package/dist/components/fields/TriggerActions.js +3 -4
  603. package/dist/components/fields/TriggerActions.js.map +1 -1
  604. package/dist/components/fields/color/ColorPanel.js +4 -5
  605. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  606. package/dist/components/fields/color/channels.d.ts +2 -4
  607. package/dist/components/fields/color/channels.js +2 -3
  608. package/dist/components/fields/color/channels.js.map +1 -1
  609. package/dist/components/fields/color/color.d.ts +4 -5
  610. package/dist/components/fields/color/color.js +3 -4
  611. package/dist/components/fields/color/color.js.map +1 -1
  612. package/dist/components/fields/color/context.js +2 -3
  613. package/dist/components/fields/color/context.js.map +1 -1
  614. package/dist/components/fields/color/index.d.ts +2 -1
  615. package/dist/components/fields/index.d.ts +27 -26
  616. package/dist/components/fields/option-origin-press.js +2 -2
  617. package/dist/components/fields/option-origin-press.js.map +1 -1
  618. package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +15 -19
  619. package/dist/components/form/FieldWrapper/FieldWrapper.js +123 -123
  620. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  621. package/dist/components/form/FieldWrapper/field-description.js +2 -3
  622. package/dist/components/form/FieldWrapper/field-description.js.map +1 -1
  623. package/dist/components/form/FieldWrapper/index.d.ts +2 -1
  624. package/dist/components/form/FieldWrapper/types.d.ts +20 -12
  625. package/dist/components/form/Form/Field.d.ts +2 -5
  626. package/dist/components/form/Form/Field.js +2 -3
  627. package/dist/components/form/Form/Field.js.map +1 -1
  628. package/dist/components/form/Form/Form.d.ts +6 -12
  629. package/dist/components/form/Form/Form.js +5 -6
  630. package/dist/components/form/Form/Form.js.map +1 -1
  631. package/dist/components/form/Form/ModernFormRoot.d.ts +1 -3
  632. package/dist/components/form/Form/ModernFormRoot.js +3 -4
  633. package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
  634. package/dist/components/form/Form/ResetButton/ResetButton.d.ts +3 -6
  635. package/dist/components/form/Form/ResetButton/ResetButton.js +3 -4
  636. package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
  637. package/dist/components/form/Form/ResetButton/index.d.ts +2 -1
  638. package/dist/components/form/Form/SubmitButton/SubmitButton.d.ts +3 -6
  639. package/dist/components/form/Form/SubmitButton/SubmitButton.js +3 -4
  640. package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
  641. package/dist/components/form/Form/SubmitButton/index.d.ts +2 -1
  642. package/dist/components/form/Form/SubmitError.d.ts +3 -5
  643. package/dist/components/form/Form/SubmitError.js +3 -4
  644. package/dist/components/form/Form/SubmitError.js.map +1 -1
  645. package/dist/components/form/Form/backend.d.ts +3 -5
  646. package/dist/components/form/Form/backend.js +2 -2
  647. package/dist/components/form/Form/backend.js.map +1 -1
  648. package/dist/components/form/Form/index.d.ts +7 -10
  649. package/dist/components/form/Form/index.js +7 -8
  650. package/dist/components/form/Form/index.js.map +1 -1
  651. package/dist/components/form/Form/modern/actions.js +2 -3
  652. package/dist/components/form/Form/modern/actions.js.map +1 -1
  653. package/dist/components/form/Form/modern/context.d.ts +2 -4
  654. package/dist/components/form/Form/modern/context.js +2 -3
  655. package/dist/components/form/Form/modern/context.js.map +1 -1
  656. package/dist/components/form/Form/modern/controller.d.ts +9 -11
  657. package/dist/components/form/Form/modern/controller.js +2 -3
  658. package/dist/components/form/Form/modern/controller.js.map +1 -1
  659. package/dist/components/form/Form/modern/field-binding.js +2 -3
  660. package/dist/components/form/Form/modern/field-binding.js.map +1 -1
  661. package/dist/components/form/Form/modern/field.d.ts +4 -5
  662. package/dist/components/form/Form/modern/field.js +2 -3
  663. package/dist/components/form/Form/modern/field.js.map +1 -1
  664. package/dist/components/form/Form/modern/path-types.d.ts +4 -5
  665. package/dist/components/form/Form/modern/react.d.ts +7 -10
  666. package/dist/components/form/Form/modern/react.js +2 -3
  667. package/dist/components/form/Form/modern/react.js.map +1 -1
  668. package/dist/components/form/Form/modern/read-types.d.ts +3 -4
  669. package/dist/components/form/Form/modern/store.js +2 -3
  670. package/dist/components/form/Form/modern/store.js.map +1 -1
  671. package/dist/components/form/Form/modern/types.d.ts +18 -20
  672. package/dist/components/form/Form/modern/validation.d.ts +2 -4
  673. package/dist/components/form/Form/modern/validation.js +2 -3
  674. package/dist/components/form/Form/modern/validation.js.map +1 -1
  675. package/dist/components/form/Form/modern/values.d.ts +1 -2
  676. package/dist/components/form/Form/modern/values.js +2 -2
  677. package/dist/components/form/Form/modern/values.js.map +1 -1
  678. package/dist/components/form/Form/reset-unbound-controls.js +3 -5
  679. package/dist/components/form/Form/reset-unbound-controls.js.map +1 -1
  680. package/dist/components/form/Form/types.d.ts +4 -6
  681. package/dist/components/form/Form/use-field/index.d.ts +2 -1
  682. package/dist/components/form/Form/use-field/types.d.ts +6 -6
  683. package/dist/components/form/Form/use-field/use-field-binding.js +2 -3
  684. package/dist/components/form/Form/use-field/use-field-binding.js.map +1 -1
  685. package/dist/components/form/Form/use-field/use-field-props.d.ts +11 -9
  686. package/dist/components/form/Form/use-field/use-field-props.js +48 -42
  687. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  688. package/dist/components/form/Form/use-field/use-field.d.ts +2 -4
  689. package/dist/components/form/Form/use-field/use-field.js +2 -3
  690. package/dist/components/form/Form/use-field/use-field.js.map +1 -1
  691. package/dist/components/form/Form/use-form.d.ts +5 -6
  692. package/dist/components/form/Form/use-form.js +3 -4
  693. package/dist/components/form/Form/use-form.js.map +1 -1
  694. package/dist/components/form/Form/validation.js +2 -3
  695. package/dist/components/form/Form/validation.js.map +1 -1
  696. package/dist/components/form/Label.d.ts +7 -9
  697. package/dist/components/form/Label.js +3 -4
  698. package/dist/components/form/Label.js.map +1 -1
  699. package/dist/components/form/field-chrome.js +46 -6
  700. package/dist/components/form/field-chrome.js.map +1 -1
  701. package/dist/components/form/index.d.ts +6 -5
  702. package/dist/components/form/legacy-tooltip.js +2 -3
  703. package/dist/components/form/legacy-tooltip.js.map +1 -1
  704. package/dist/components/form/validation/ValidationIndicator.d.ts +4 -10
  705. package/dist/components/form/validation/ValidationIndicator.js +2 -3
  706. package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
  707. package/dist/components/form/validation/index.d.ts +2 -1
  708. package/dist/components/form/validation/resolve-validation-props.d.ts +6 -17
  709. package/dist/components/form/validation/resolve-validation-props.js +2 -2
  710. package/dist/components/form/validation/resolve-validation-props.js.map +1 -1
  711. package/dist/components/form/validation/use-validation-props.d.ts +1 -3
  712. package/dist/components/form/validation/use-validation-props.js +2 -3
  713. package/dist/components/form/validation/use-validation-props.js.map +1 -1
  714. package/dist/components/form/wrapper.d.ts +23 -9
  715. package/dist/components/form/wrapper.js +20 -11
  716. package/dist/components/form/wrapper.js.map +1 -1
  717. package/dist/components/helpers/DisplayTransition/DisplayTransition.d.ts +22 -25
  718. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +16 -16
  719. package/dist/components/helpers/DisplayTransition/DisplayTransition.js.map +1 -1
  720. package/dist/components/helpers/IconSwitch/IconSwitch.d.ts +3 -5
  721. package/dist/components/helpers/IconSwitch/IconSwitch.js +2 -3
  722. package/dist/components/helpers/IconSwitch/IconSwitch.js.map +1 -1
  723. package/dist/components/layout/Flex.d.ts +2 -5
  724. package/dist/components/layout/Flex.js +2 -3
  725. package/dist/components/layout/Flex.js.map +1 -1
  726. package/dist/components/layout/Flow.d.ts +2 -5
  727. package/dist/components/layout/Flow.js +2 -3
  728. package/dist/components/layout/Flow.js.map +1 -1
  729. package/dist/components/layout/Grid.d.ts +2 -5
  730. package/dist/components/layout/Grid.js +2 -3
  731. package/dist/components/layout/Grid.js.map +1 -1
  732. package/dist/components/layout/Panel.d.ts +3 -5
  733. package/dist/components/layout/Panel.js +22 -22
  734. package/dist/components/layout/Panel.js.map +1 -1
  735. package/dist/components/layout/Prefix.d.ts +2 -5
  736. package/dist/components/layout/Prefix.js +2 -3
  737. package/dist/components/layout/Prefix.js.map +1 -1
  738. package/dist/components/layout/ResizablePanel.d.ts +3 -5
  739. package/dist/components/layout/ResizablePanel.js +4 -5
  740. package/dist/components/layout/ResizablePanel.js.map +1 -1
  741. package/dist/components/layout/Space.d.ts +2 -5
  742. package/dist/components/layout/Space.js +2 -3
  743. package/dist/components/layout/Space.js.map +1 -1
  744. package/dist/components/layout/Suffix.d.ts +2 -5
  745. package/dist/components/layout/Suffix.js +2 -3
  746. package/dist/components/layout/Suffix.js.map +1 -1
  747. package/dist/components/navigation/Pagination/Pagination.d.ts +2 -4
  748. package/dist/components/navigation/Pagination/Pagination.js +9 -5
  749. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  750. package/dist/components/navigation/Pagination/index.d.ts +3 -2
  751. package/dist/components/navigation/Pagination/types.d.ts +4 -6
  752. package/dist/components/navigation/Pagination/use-pagination.d.ts +11 -16
  753. package/dist/components/navigation/Pagination/use-pagination.js +2 -3
  754. package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
  755. package/dist/components/navigation/Tabs/BoardDragActiveProvider.d.ts +2 -5
  756. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +2 -3
  757. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js.map +1 -1
  758. package/dist/components/navigation/Tabs/DraggableTabList.js +2 -3
  759. package/dist/components/navigation/Tabs/DraggableTabList.js.map +1 -1
  760. package/dist/components/navigation/Tabs/TabButton.js +4 -5
  761. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  762. package/dist/components/navigation/Tabs/TabDropIndicator.js +2 -3
  763. package/dist/components/navigation/Tabs/TabDropIndicator.js.map +1 -1
  764. package/dist/components/navigation/Tabs/TabPanel.js +3 -4
  765. package/dist/components/navigation/Tabs/TabPanel.js.map +1 -1
  766. package/dist/components/navigation/Tabs/TabPicker.js +2 -3
  767. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  768. package/dist/components/navigation/Tabs/Tabs.d.ts +4 -7
  769. package/dist/components/navigation/Tabs/Tabs.js +5 -5
  770. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  771. package/dist/components/navigation/Tabs/TabsAction.d.ts +2 -6
  772. package/dist/components/navigation/Tabs/TabsAction.js +3 -4
  773. package/dist/components/navigation/Tabs/TabsAction.js.map +1 -1
  774. package/dist/components/navigation/Tabs/TabsContext.js +2 -3
  775. package/dist/components/navigation/Tabs/TabsContext.js.map +1 -1
  776. package/dist/components/navigation/Tabs/index.d.ts +2 -1
  777. package/dist/components/navigation/Tabs/popover-placement.js +2 -2
  778. package/dist/components/navigation/Tabs/popover-placement.js.map +1 -1
  779. package/dist/components/navigation/Tabs/styled.js +3 -4
  780. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  781. package/dist/components/navigation/Tabs/types.d.ts +15 -16
  782. package/dist/components/navigation/Tabs/types.js +2 -2
  783. package/dist/components/navigation/Tabs/types.js.map +1 -1
  784. package/dist/components/navigation/Tabs/use-tab-editing.js +2 -3
  785. package/dist/components/navigation/Tabs/use-tab-editing.js.map +1 -1
  786. package/dist/components/navigation/Tabs/use-tab-indicator.js +2 -3
  787. package/dist/components/navigation/Tabs/use-tab-indicator.js.map +1 -1
  788. package/dist/components/navigation/index.d.ts +3 -2
  789. package/dist/components/organisms/StatsCard/StatsCard.d.ts +2 -10
  790. package/dist/components/organisms/StatsCard/StatsCard.js +4 -5
  791. package/dist/components/organisms/StatsCard/StatsCard.js.map +1 -1
  792. package/dist/components/other/Calendar/Calendar.js +3 -4
  793. package/dist/components/other/Calendar/Calendar.js.map +1 -1
  794. package/dist/components/other/Calendar/CalendarCell.js +2 -3
  795. package/dist/components/other/Calendar/CalendarCell.js.map +1 -1
  796. package/dist/components/other/Calendar/CalendarGrid.js +2 -3
  797. package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
  798. package/dist/components/other/Calendar/CalendarHeader.js +3 -4
  799. package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
  800. package/dist/components/other/Calendar/CalendarPanel.js +2 -3
  801. package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
  802. package/dist/components/other/Calendar/PeriodCalendar.js +2 -3
  803. package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -1
  804. package/dist/components/other/Calendar/PeriodGrid.js +2 -3
  805. package/dist/components/other/Calendar/PeriodGrid.js.map +1 -1
  806. package/dist/components/other/Calendar/RangeCalendar.js +3 -4
  807. package/dist/components/other/Calendar/RangeCalendar.js.map +1 -1
  808. package/dist/components/other/Calendar/styled.js +2 -3
  809. package/dist/components/other/Calendar/styled.js.map +1 -1
  810. package/dist/components/other/CubeLogo/CubeLogo.d.ts +3 -6
  811. package/dist/components/other/CubeLogo/CubeLogo.js +2 -3
  812. package/dist/components/other/CubeLogo/CubeLogo.js.map +1 -1
  813. package/dist/components/other/NoDataIcon/NoDataIcon.d.ts +2 -5
  814. package/dist/components/other/NoDataIcon/NoDataIcon.js +2 -3
  815. package/dist/components/other/NoDataIcon/NoDataIcon.js.map +1 -1
  816. package/dist/components/other/NoDataIcon/index.d.ts +2 -1
  817. package/dist/components/overlays/AlertDialog/AlertDialog.d.ts +4 -6
  818. package/dist/components/overlays/AlertDialog/AlertDialog.js +4 -5
  819. package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
  820. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.d.ts +3 -6
  821. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +3 -5
  822. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
  823. package/dist/components/overlays/AlertDialog/AlertDialogZone.d.ts +1 -2
  824. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +3 -4
  825. package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
  826. package/dist/components/overlays/AlertDialog/index.d.ts +3 -2
  827. package/dist/components/overlays/AlertDialog/types.d.ts +5 -10
  828. package/dist/components/overlays/Dialog/Dialog.d.ts +6 -6
  829. package/dist/components/overlays/Dialog/Dialog.js +95 -33
  830. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  831. package/dist/components/overlays/Dialog/DialogContainer.d.ts +2 -5
  832. package/dist/components/overlays/Dialog/DialogContainer.js +4 -5
  833. package/dist/components/overlays/Dialog/DialogContainer.js.map +1 -1
  834. package/dist/components/overlays/Dialog/DialogForm.d.ts +5 -7
  835. package/dist/components/overlays/Dialog/DialogForm.js +5 -6
  836. package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
  837. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +3 -6
  838. package/dist/components/overlays/Dialog/DialogTrigger.js +5 -6
  839. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  840. package/dist/components/overlays/Dialog/ModernDialogForm.js +5 -6
  841. package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -1
  842. package/dist/components/overlays/Dialog/context.js +12 -4
  843. package/dist/components/overlays/Dialog/context.js.map +1 -1
  844. package/dist/components/overlays/Dialog/default-button-text.js +2 -2
  845. package/dist/components/overlays/Dialog/default-button-text.js.map +1 -1
  846. package/dist/components/overlays/Dialog/index.d.ts +2 -1
  847. package/dist/components/overlays/Dialog/use-content-overflow.js +2 -3
  848. package/dist/components/overlays/Dialog/use-content-overflow.js.map +1 -1
  849. package/dist/components/overlays/Dialog/use-dialog-container.d.ts +2 -5
  850. package/dist/components/overlays/Dialog/use-dialog-container.js +2 -3
  851. package/dist/components/overlays/Dialog/use-dialog-container.js.map +1 -1
  852. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +2 -3
  853. package/dist/components/overlays/Dialog/use-dialog-open-sync.js.map +1 -1
  854. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +386 -0
  855. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js.map +1 -0
  856. package/dist/components/overlays/Modal/Modal.d.ts +1 -2
  857. package/dist/components/overlays/Modal/Modal.js +5 -6
  858. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  859. package/dist/components/overlays/Modal/OpenTransitionContext.js +2 -3
  860. package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -1
  861. package/dist/components/overlays/Modal/Overlay.js +35 -14
  862. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  863. package/dist/components/overlays/Modal/Popover.js +4 -5
  864. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  865. package/dist/components/overlays/Modal/Tray.js +5 -6
  866. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  867. package/dist/components/overlays/Modal/Underlay.js +3 -4
  868. package/dist/components/overlays/Modal/Underlay.js.map +1 -1
  869. package/dist/components/overlays/Modal/index.d.ts +2 -1
  870. package/dist/components/overlays/Modal/modal-containment.js +2 -3
  871. package/dist/components/overlays/Modal/modal-containment.js.map +1 -1
  872. package/dist/components/overlays/Modal/types.d.ts +1 -3
  873. package/dist/components/overlays/Notifications/Notification.d.ts +1 -3
  874. package/dist/components/overlays/Notifications/Notification.js +4 -4
  875. package/dist/components/overlays/Notifications/Notification.js.map +1 -1
  876. package/dist/components/overlays/Notifications/NotificationAction.d.ts +1 -10
  877. package/dist/components/overlays/Notifications/NotificationAction.js +2 -3
  878. package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
  879. package/dist/components/overlays/Notifications/NotificationCard.d.ts +2 -18
  880. package/dist/components/overlays/Notifications/NotificationCard.js +3 -4
  881. package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
  882. package/dist/components/overlays/Notifications/NotificationContext.d.ts +1 -4
  883. package/dist/components/overlays/Notifications/NotificationContext.js +2 -3
  884. package/dist/components/overlays/Notifications/NotificationContext.js.map +1 -1
  885. package/dist/components/overlays/Notifications/NotificationItem.d.ts +2 -9
  886. package/dist/components/overlays/Notifications/NotificationItem.js +2 -3
  887. package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
  888. package/dist/components/overlays/Notifications/OverlayContainer.js +6 -8
  889. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  890. package/dist/components/overlays/Notifications/OverlayProvider.d.ts +1 -7
  891. package/dist/components/overlays/Notifications/OverlayProvider.js +3 -4
  892. package/dist/components/overlays/Notifications/OverlayProvider.js.map +1 -1
  893. package/dist/components/overlays/Notifications/PersistentNotificationsList.d.ts +1 -8
  894. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +3 -4
  895. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  896. package/dist/components/overlays/Notifications/dismissed-storage.js +2 -2
  897. package/dist/components/overlays/Notifications/dismissed-storage.js.map +1 -1
  898. package/dist/components/overlays/Notifications/format-relative-time.d.ts +1 -3
  899. package/dist/components/overlays/Notifications/format-relative-time.js +2 -2
  900. package/dist/components/overlays/Notifications/format-relative-time.js.map +1 -1
  901. package/dist/components/overlays/Notifications/index.d.ts +3 -4
  902. package/dist/components/overlays/Notifications/index.js +4 -5
  903. package/dist/components/overlays/Notifications/index.js.map +1 -1
  904. package/dist/components/overlays/Notifications/types.d.ts +14 -16
  905. package/dist/components/overlays/Notifications/use-notification-state.js +3 -4
  906. package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
  907. package/dist/components/overlays/Notifications/use-notifications.d.ts +1 -3
  908. package/dist/components/overlays/Notifications/use-notifications.js +8 -7
  909. package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
  910. package/dist/components/overlays/Notifications/use-overlay-timers.js +2 -3
  911. package/dist/components/overlays/Notifications/use-overlay-timers.js.map +1 -1
  912. package/dist/components/overlays/Notifications/use-persistent-notifications.d.ts +2 -4
  913. package/dist/components/overlays/Notifications/use-persistent-notifications.js +2 -3
  914. package/dist/components/overlays/Notifications/use-persistent-notifications.js.map +1 -1
  915. package/dist/components/overlays/Notifications/use-persistent-state.js +2 -3
  916. package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
  917. package/dist/components/overlays/Notifications/use-toast-state.js +2 -3
  918. package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
  919. package/dist/components/overlays/Toast/ToastItem.d.ts +3 -6
  920. package/dist/components/overlays/Toast/ToastItem.js +3 -4
  921. package/dist/components/overlays/Toast/ToastItem.js.map +1 -1
  922. package/dist/components/overlays/Toast/ToastProvider.d.ts +2 -1
  923. package/dist/components/overlays/Toast/index.d.ts +6 -7
  924. package/dist/components/overlays/Toast/index.js +3 -4
  925. package/dist/components/overlays/Toast/index.js.map +1 -1
  926. package/dist/components/overlays/Toast/types.d.ts +8 -10
  927. package/dist/components/overlays/Toast/useProgressToast.d.ts +1 -3
  928. package/dist/components/overlays/Toast/useProgressToast.js +11 -10
  929. package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
  930. package/dist/components/overlays/Toast/useToast.d.ts +2 -4
  931. package/dist/components/overlays/Toast/useToast.js +2 -3
  932. package/dist/components/overlays/Toast/useToast.js.map +1 -1
  933. package/dist/components/overlays/Tooltip/Tooltip.d.ts +3 -5
  934. package/dist/components/overlays/Tooltip/Tooltip.js +3 -4
  935. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  936. package/dist/components/overlays/Tooltip/TooltipProvider.d.ts +2 -4
  937. package/dist/components/overlays/Tooltip/TooltipProvider.js +3 -4
  938. package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
  939. package/dist/components/overlays/Tooltip/TooltipTrigger.d.ts +3 -6
  940. package/dist/components/overlays/Tooltip/TooltipTrigger.js +4 -5
  941. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  942. package/dist/components/overlays/Tooltip/context.js +2 -3
  943. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  944. package/dist/components/overlays/Tooltip/split-trigger-props.d.ts +2 -3
  945. package/dist/components/overlays/Tooltip/split-trigger-props.js +2 -3
  946. package/dist/components/overlays/Tooltip/split-trigger-props.js.map +1 -1
  947. package/dist/components/portal/Portal.d.ts +1 -4
  948. package/dist/components/portal/Portal.js +2 -3
  949. package/dist/components/portal/Portal.js.map +1 -1
  950. package/dist/components/portal/PortalProvider.js +2 -3
  951. package/dist/components/portal/PortalProvider.js.map +1 -1
  952. package/dist/components/portal/index.d.ts +2 -1
  953. package/dist/components/portal/types.d.ts +1 -3
  954. package/dist/components/portal/usePortal.js +2 -3
  955. package/dist/components/portal/usePortal.js.map +1 -1
  956. package/dist/components/shared/DraggableCollection.js +15 -15
  957. package/dist/components/shared/DraggableCollection.js.map +1 -1
  958. package/dist/components/shared/InvalidIcon.js +2 -3
  959. package/dist/components/shared/InvalidIcon.js.map +1 -1
  960. package/dist/components/shared/ValidIcon.js +2 -3
  961. package/dist/components/shared/ValidIcon.js.map +1 -1
  962. package/dist/components/status/LoadingAnimation/LoadingAnimation.d.ts +2 -8
  963. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +2 -3
  964. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  965. package/dist/components/status/LoadingAnimation/index.d.ts +2 -1
  966. package/dist/components/status/Spin/Cube.js +2 -3
  967. package/dist/components/status/Spin/Cube.js.map +1 -1
  968. package/dist/components/status/Spin/InternalSpinner.js +2 -3
  969. package/dist/components/status/Spin/InternalSpinner.js.map +1 -1
  970. package/dist/components/status/Spin/Spin.d.ts +1 -4
  971. package/dist/components/status/Spin/Spin.js +2 -3
  972. package/dist/components/status/Spin/Spin.js.map +1 -1
  973. package/dist/components/status/Spin/SpinsContainer.js +2 -3
  974. package/dist/components/status/Spin/SpinsContainer.js.map +1 -1
  975. package/dist/components/status/Spin/index.d.ts +2 -1
  976. package/dist/components/status/Spin/types.d.ts +2 -4
  977. package/dist/components/status/index.d.ts +2 -1
  978. package/dist/data/item-themes.d.ts +1 -3
  979. package/dist/data/item-themes.js +3 -3
  980. package/dist/data/item-themes.js.map +1 -1
  981. package/dist/data/themes.d.ts +9 -9
  982. package/dist/data/themes.js +10 -10
  983. package/dist/data/themes.js.map +1 -1
  984. package/dist/eslint-plugin/defaults.generated.d.ts +1 -3
  985. package/dist/eslint-plugin/defaults.generated.js +3 -8
  986. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  987. package/dist/eslint-plugin/index.d.ts +0 -1
  988. package/dist/eslint-plugin/index.js +2 -3
  989. package/dist/eslint-plugin/index.js.map +1 -1
  990. package/dist/eslint-plugin/rules/no-redundant-default-prop.d.ts +2 -4
  991. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +2 -3
  992. package/dist/eslint-plugin/rules/no-redundant-default-prop.js.map +1 -1
  993. package/dist/eslint-plugin/types.d.ts +17 -10
  994. package/dist/i18n/I18nProvider.d.ts +2 -9
  995. package/dist/i18n/I18nProvider.js +2 -3
  996. package/dist/i18n/I18nProvider.js.map +1 -1
  997. package/dist/i18n/createFormatter.d.ts +6 -7
  998. package/dist/i18n/createFormatter.js +2 -2
  999. package/dist/i18n/createFormatter.js.map +1 -1
  1000. package/dist/i18n/index.d.ts +2 -4
  1001. package/dist/i18n/index.js +3 -4
  1002. package/dist/i18n/index.js.map +1 -1
  1003. package/dist/i18n/instance.d.ts +5 -6
  1004. package/dist/i18n/instance.js +3 -4
  1005. package/dist/i18n/instance.js.map +1 -1
  1006. package/dist/i18n/locales/de-DE/uikit.js +2 -2
  1007. package/dist/i18n/locales/en-US/uikit.js +2 -2
  1008. package/dist/i18n/locales/en-US/uikit.json.d.ts +41 -41
  1009. package/dist/i18n/locales/es-ES/uikit.js +2 -2
  1010. package/dist/i18n/locales/es-MX/uikit.js +2 -2
  1011. package/dist/i18n/locales/fr-FR/uikit.js +2 -2
  1012. package/dist/i18n/locales/it-IT/uikit.js +2 -2
  1013. package/dist/i18n/locales/ja-JP/uikit.js +2 -2
  1014. package/dist/i18n/locales/nb-NO/uikit.js +2 -2
  1015. package/dist/i18n/locales/pt-BR/uikit.js +2 -2
  1016. package/dist/i18n/locales/pt-PT/uikit.js +2 -2
  1017. package/dist/i18n/locales/sv-SE/uikit.js +2 -2
  1018. package/dist/i18n/locales/vi-VN/uikit.js +2 -2
  1019. package/dist/i18n/locales.d.ts +4 -5
  1020. package/dist/i18n/locales.js +2 -2
  1021. package/dist/i18n/locales.js.map +1 -1
  1022. package/dist/i18n/namespace.d.ts +1 -2
  1023. package/dist/i18n/namespace.js +2 -2
  1024. package/dist/i18n/useFormatter.d.ts +1 -3
  1025. package/dist/i18n/useFormatter.js +2 -3
  1026. package/dist/i18n/useFormatter.js.map +1 -1
  1027. package/dist/i18n/useI18n.js +2 -3
  1028. package/dist/i18n/useI18n.js.map +1 -1
  1029. package/dist/icons/AdjustmentsHorizontalIcon.d.ts +2 -5
  1030. package/dist/icons/AdjustmentsHorizontalIcon.js +2 -3
  1031. package/dist/icons/AdjustmentsHorizontalIcon.js.map +1 -1
  1032. package/dist/icons/AdjustmentsIcon.d.ts +2 -5
  1033. package/dist/icons/AdjustmentsIcon.js +2 -3
  1034. package/dist/icons/AdjustmentsIcon.js.map +1 -1
  1035. package/dist/icons/AiIcon.d.ts +2 -5
  1036. package/dist/icons/AiIcon.js +2 -3
  1037. package/dist/icons/AiIcon.js.map +1 -1
  1038. package/dist/icons/AreaChartIcon.d.ts +2 -5
  1039. package/dist/icons/AreaChartIcon.js +2 -3
  1040. package/dist/icons/AreaChartIcon.js.map +1 -1
  1041. package/dist/icons/ArrowNarrowDownIcon.d.ts +2 -5
  1042. package/dist/icons/ArrowNarrowDownIcon.js +2 -3
  1043. package/dist/icons/ArrowNarrowDownIcon.js.map +1 -1
  1044. package/dist/icons/ArrowNarrowUpIcon.d.ts +2 -5
  1045. package/dist/icons/ArrowNarrowUpIcon.js +2 -3
  1046. package/dist/icons/ArrowNarrowUpIcon.js.map +1 -1
  1047. package/dist/icons/BackwardIcon.d.ts +2 -5
  1048. package/dist/icons/BackwardIcon.js +2 -3
  1049. package/dist/icons/BackwardIcon.js.map +1 -1
  1050. package/dist/icons/BarChartIcon.d.ts +2 -5
  1051. package/dist/icons/BarChartIcon.js +2 -3
  1052. package/dist/icons/BarChartIcon.js.map +1 -1
  1053. package/dist/icons/BellFilledIcon.d.ts +2 -5
  1054. package/dist/icons/BellFilledIcon.js +2 -3
  1055. package/dist/icons/BellFilledIcon.js.map +1 -1
  1056. package/dist/icons/BellIcon.d.ts +2 -5
  1057. package/dist/icons/BellIcon.js +2 -3
  1058. package/dist/icons/BellIcon.js.map +1 -1
  1059. package/dist/icons/BooleanIcon.d.ts +2 -5
  1060. package/dist/icons/BooleanIcon.js +2 -3
  1061. package/dist/icons/BooleanIcon.js.map +1 -1
  1062. package/dist/icons/CalendarEditIcon.d.ts +2 -5
  1063. package/dist/icons/CalendarEditIcon.js +2 -3
  1064. package/dist/icons/CalendarEditIcon.js.map +1 -1
  1065. package/dist/icons/CalendarIcon.d.ts +2 -5
  1066. package/dist/icons/CalendarIcon.js +2 -3
  1067. package/dist/icons/CalendarIcon.js.map +1 -1
  1068. package/dist/icons/CaretDownIcon.d.ts +2 -5
  1069. package/dist/icons/CaretDownIcon.js +2 -3
  1070. package/dist/icons/CaretDownIcon.js.map +1 -1
  1071. package/dist/icons/CaretUpIcon.d.ts +2 -5
  1072. package/dist/icons/CaretUpIcon.js +2 -3
  1073. package/dist/icons/CaretUpIcon.js.map +1 -1
  1074. package/dist/icons/ChartAreaStackedIcon.d.ts +2 -5
  1075. package/dist/icons/ChartAreaStackedIcon.js +2 -3
  1076. package/dist/icons/ChartAreaStackedIcon.js.map +1 -1
  1077. package/dist/icons/ChartAreaStackedPercentageIcon.d.ts +2 -5
  1078. package/dist/icons/ChartAreaStackedPercentageIcon.js +2 -3
  1079. package/dist/icons/ChartAreaStackedPercentageIcon.js.map +1 -1
  1080. package/dist/icons/ChartBarGroupedHorizontalIcon.d.ts +2 -5
  1081. package/dist/icons/ChartBarGroupedHorizontalIcon.js +2 -3
  1082. package/dist/icons/ChartBarGroupedHorizontalIcon.js.map +1 -1
  1083. package/dist/icons/ChartBarGroupedIcon.d.ts +2 -5
  1084. package/dist/icons/ChartBarGroupedIcon.js +2 -3
  1085. package/dist/icons/ChartBarGroupedIcon.js.map +1 -1
  1086. package/dist/icons/ChartBarHorizontalIcon.d.ts +2 -5
  1087. package/dist/icons/ChartBarHorizontalIcon.js +2 -3
  1088. package/dist/icons/ChartBarHorizontalIcon.js.map +1 -1
  1089. package/dist/icons/ChartBarLineIcon.d.ts +2 -5
  1090. package/dist/icons/ChartBarLineIcon.js +2 -3
  1091. package/dist/icons/ChartBarLineIcon.js.map +1 -1
  1092. package/dist/icons/ChartBarStackedHorizontalIcon.d.ts +2 -5
  1093. package/dist/icons/ChartBarStackedHorizontalIcon.js +2 -3
  1094. package/dist/icons/ChartBarStackedHorizontalIcon.js.map +1 -1
  1095. package/dist/icons/ChartBarStackedIcon.d.ts +2 -5
  1096. package/dist/icons/ChartBarStackedIcon.js +2 -3
  1097. package/dist/icons/ChartBarStackedIcon.js.map +1 -1
  1098. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.d.ts +2 -5
  1099. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +2 -3
  1100. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js.map +1 -1
  1101. package/dist/icons/ChartBarStackedPercentageIcon.d.ts +2 -5
  1102. package/dist/icons/ChartBarStackedPercentageIcon.js +2 -3
  1103. package/dist/icons/ChartBarStackedPercentageIcon.js.map +1 -1
  1104. package/dist/icons/ChartBoxPlot2Icon.d.ts +2 -5
  1105. package/dist/icons/ChartBoxPlot2Icon.js +2 -3
  1106. package/dist/icons/ChartBoxPlot2Icon.js.map +1 -1
  1107. package/dist/icons/ChartBoxPlotIcon.d.ts +2 -5
  1108. package/dist/icons/ChartBoxPlotIcon.js +2 -3
  1109. package/dist/icons/ChartBoxPlotIcon.js.map +1 -1
  1110. package/dist/icons/ChartBubbleIcon.d.ts +2 -5
  1111. package/dist/icons/ChartBubbleIcon.js +2 -3
  1112. package/dist/icons/ChartBubbleIcon.js.map +1 -1
  1113. package/dist/icons/ChartDonut2Icon.d.ts +2 -5
  1114. package/dist/icons/ChartDonut2Icon.js +2 -3
  1115. package/dist/icons/ChartDonut2Icon.js.map +1 -1
  1116. package/dist/icons/ChartFunnelIcon.d.ts +2 -5
  1117. package/dist/icons/ChartFunnelIcon.js +2 -3
  1118. package/dist/icons/ChartFunnelIcon.js.map +1 -1
  1119. package/dist/icons/ChartHeatmapIcon.d.ts +2 -5
  1120. package/dist/icons/ChartHeatmapIcon.js +2 -3
  1121. package/dist/icons/ChartHeatmapIcon.js.map +1 -1
  1122. package/dist/icons/ChartKPIIcon.d.ts +2 -5
  1123. package/dist/icons/ChartKPIIcon.js +2 -3
  1124. package/dist/icons/ChartKPIIcon.js.map +1 -1
  1125. package/dist/icons/ChartPie2Icon.d.ts +2 -5
  1126. package/dist/icons/ChartPie2Icon.js +2 -3
  1127. package/dist/icons/ChartPie2Icon.js.map +1 -1
  1128. package/dist/icons/ChartScatterIcon.d.ts +2 -5
  1129. package/dist/icons/ChartScatterIcon.js +2 -3
  1130. package/dist/icons/ChartScatterIcon.js.map +1 -1
  1131. package/dist/icons/CheckCircleFilledIcon.d.ts +2 -5
  1132. package/dist/icons/CheckCircleFilledIcon.js +2 -3
  1133. package/dist/icons/CheckCircleFilledIcon.js.map +1 -1
  1134. package/dist/icons/CheckCircleIcon.d.ts +2 -5
  1135. package/dist/icons/CheckCircleIcon.js +2 -3
  1136. package/dist/icons/CheckCircleIcon.js.map +1 -1
  1137. package/dist/icons/CheckIcon.d.ts +2 -5
  1138. package/dist/icons/CheckIcon.js +2 -3
  1139. package/dist/icons/CheckIcon.js.map +1 -1
  1140. package/dist/icons/CircleFilledIcon.d.ts +2 -5
  1141. package/dist/icons/CircleFilledIcon.js +2 -3
  1142. package/dist/icons/CircleFilledIcon.js.map +1 -1
  1143. package/dist/icons/ClearIcon.d.ts +2 -5
  1144. package/dist/icons/ClearIcon.js +2 -3
  1145. package/dist/icons/ClearIcon.js.map +1 -1
  1146. package/dist/icons/CloseCircleFilledIcon.d.ts +2 -5
  1147. package/dist/icons/CloseCircleFilledIcon.js +2 -3
  1148. package/dist/icons/CloseCircleFilledIcon.js.map +1 -1
  1149. package/dist/icons/CloseCircleIcon.d.ts +2 -5
  1150. package/dist/icons/CloseCircleIcon.js +2 -3
  1151. package/dist/icons/CloseCircleIcon.js.map +1 -1
  1152. package/dist/icons/CloseIcon.d.ts +2 -5
  1153. package/dist/icons/CloseIcon.js +2 -3
  1154. package/dist/icons/CloseIcon.js.map +1 -1
  1155. package/dist/icons/CodeIcon.d.ts +2 -5
  1156. package/dist/icons/CodeIcon.js +2 -3
  1157. package/dist/icons/CodeIcon.js.map +1 -1
  1158. package/dist/icons/ColumnTotalIcon.d.ts +2 -5
  1159. package/dist/icons/ColumnTotalIcon.js +2 -3
  1160. package/dist/icons/ColumnTotalIcon.js.map +1 -1
  1161. package/dist/icons/CopyIcon.d.ts +2 -5
  1162. package/dist/icons/CopyIcon.js +2 -3
  1163. package/dist/icons/CopyIcon.js.map +1 -1
  1164. package/dist/icons/CountIcon.d.ts +2 -5
  1165. package/dist/icons/CountIcon.js +2 -3
  1166. package/dist/icons/CountIcon.js.map +1 -1
  1167. package/dist/icons/CubeIcon.d.ts +2 -5
  1168. package/dist/icons/CubeIcon.js +2 -3
  1169. package/dist/icons/CubeIcon.js.map +1 -1
  1170. package/dist/icons/CubePauseIcon.d.ts +2 -5
  1171. package/dist/icons/CubePauseIcon.js +2 -3
  1172. package/dist/icons/CubePauseIcon.js.map +1 -1
  1173. package/dist/icons/CubePlayIcon.d.ts +2 -5
  1174. package/dist/icons/CubePlayIcon.js +2 -3
  1175. package/dist/icons/CubePlayIcon.js.map +1 -1
  1176. package/dist/icons/CurrencyDollarIcon.d.ts +2 -5
  1177. package/dist/icons/CurrencyDollarIcon.js +2 -3
  1178. package/dist/icons/CurrencyDollarIcon.js.map +1 -1
  1179. package/dist/icons/DangerIcon.d.ts +2 -5
  1180. package/dist/icons/DangerIcon.js +2 -3
  1181. package/dist/icons/DangerIcon.js.map +1 -1
  1182. package/dist/icons/DashboardIcon.d.ts +2 -5
  1183. package/dist/icons/DashboardIcon.js +2 -3
  1184. package/dist/icons/DashboardIcon.js.map +1 -1
  1185. package/dist/icons/DatabaseIcon.d.ts +2 -5
  1186. package/dist/icons/DatabaseIcon.js +2 -3
  1187. package/dist/icons/DatabaseIcon.js.map +1 -1
  1188. package/dist/icons/DecimalDecreaseIcon.d.ts +2 -5
  1189. package/dist/icons/DecimalDecreaseIcon.js +2 -3
  1190. package/dist/icons/DecimalDecreaseIcon.js.map +1 -1
  1191. package/dist/icons/DecimalIncreaseIcon.d.ts +2 -5
  1192. package/dist/icons/DecimalIncreaseIcon.js +2 -3
  1193. package/dist/icons/DecimalIncreaseIcon.js.map +1 -1
  1194. package/dist/icons/DirectionIcon.d.ts +3 -5
  1195. package/dist/icons/DirectionIcon.js +2 -3
  1196. package/dist/icons/DirectionIcon.js.map +1 -1
  1197. package/dist/icons/DonutIcon.d.ts +2 -5
  1198. package/dist/icons/DonutIcon.js +2 -3
  1199. package/dist/icons/DonutIcon.js.map +1 -1
  1200. package/dist/icons/DownIcon.d.ts +2 -5
  1201. package/dist/icons/DownIcon.js +2 -3
  1202. package/dist/icons/DownIcon.js.map +1 -1
  1203. package/dist/icons/EditIcon.d.ts +2 -5
  1204. package/dist/icons/EditIcon.js +2 -3
  1205. package/dist/icons/EditIcon.js.map +1 -1
  1206. package/dist/icons/ExclamationCircleFilledIcon.d.ts +2 -5
  1207. package/dist/icons/ExclamationCircleFilledIcon.js +2 -3
  1208. package/dist/icons/ExclamationCircleFilledIcon.js.map +1 -1
  1209. package/dist/icons/ExclamationCircleIcon.d.ts +2 -5
  1210. package/dist/icons/ExclamationCircleIcon.js +2 -3
  1211. package/dist/icons/ExclamationCircleIcon.js.map +1 -1
  1212. package/dist/icons/ExclamationIcon.d.ts +2 -5
  1213. package/dist/icons/ExclamationIcon.js +2 -3
  1214. package/dist/icons/ExclamationIcon.js.map +1 -1
  1215. package/dist/icons/EyeIcon.d.ts +2 -5
  1216. package/dist/icons/EyeIcon.js +2 -3
  1217. package/dist/icons/EyeIcon.js.map +1 -1
  1218. package/dist/icons/EyeInvisibleIcon.d.ts +2 -5
  1219. package/dist/icons/EyeInvisibleIcon.js +2 -3
  1220. package/dist/icons/EyeInvisibleIcon.js.map +1 -1
  1221. package/dist/icons/FilterIcon.d.ts +2 -5
  1222. package/dist/icons/FilterIcon.js +2 -3
  1223. package/dist/icons/FilterIcon.js.map +1 -1
  1224. package/dist/icons/FolderFilledIcon.d.ts +2 -5
  1225. package/dist/icons/FolderFilledIcon.js +2 -3
  1226. package/dist/icons/FolderFilledIcon.js.map +1 -1
  1227. package/dist/icons/FolderIcon.d.ts +2 -5
  1228. package/dist/icons/FolderIcon.js +2 -3
  1229. package/dist/icons/FolderIcon.js.map +1 -1
  1230. package/dist/icons/FolderOpenFilledIcon.d.ts +2 -5
  1231. package/dist/icons/FolderOpenFilledIcon.js +2 -3
  1232. package/dist/icons/FolderOpenFilledIcon.js.map +1 -1
  1233. package/dist/icons/FolderOpenIcon.d.ts +2 -5
  1234. package/dist/icons/FolderOpenIcon.js +2 -3
  1235. package/dist/icons/FolderOpenIcon.js.map +1 -1
  1236. package/dist/icons/ForwardIcon.d.ts +2 -5
  1237. package/dist/icons/ForwardIcon.js +2 -3
  1238. package/dist/icons/ForwardIcon.js.map +1 -1
  1239. package/dist/icons/GripVerticalIcon.d.ts +2 -5
  1240. package/dist/icons/GripVerticalIcon.js +2 -3
  1241. package/dist/icons/GripVerticalIcon.js.map +1 -1
  1242. package/dist/icons/HierarchyIcon.d.ts +2 -5
  1243. package/dist/icons/HierarchyIcon.js +2 -3
  1244. package/dist/icons/HierarchyIcon.js.map +1 -1
  1245. package/dist/icons/HierarchyOpenIcon.d.ts +2 -5
  1246. package/dist/icons/HierarchyOpenIcon.js +2 -3
  1247. package/dist/icons/HierarchyOpenIcon.js.map +1 -1
  1248. package/dist/icons/Icon.d.ts +2 -5
  1249. package/dist/icons/Icon.js +2 -3
  1250. package/dist/icons/Icon.js.map +1 -1
  1251. package/dist/icons/InfoCircleIcon.d.ts +2 -5
  1252. package/dist/icons/InfoCircleIcon.js +2 -3
  1253. package/dist/icons/InfoCircleIcon.js.map +1 -1
  1254. package/dist/icons/InfoIcon.d.ts +2 -5
  1255. package/dist/icons/InfoIcon.js +2 -3
  1256. package/dist/icons/InfoIcon.js.map +1 -1
  1257. package/dist/icons/KeyIcon.d.ts +2 -5
  1258. package/dist/icons/KeyIcon.js +2 -3
  1259. package/dist/icons/KeyIcon.js.map +1 -1
  1260. package/dist/icons/LeftIcon.d.ts +2 -5
  1261. package/dist/icons/LeftIcon.js +2 -3
  1262. package/dist/icons/LeftIcon.js.map +1 -1
  1263. package/dist/icons/LineChartIcon.d.ts +2 -5
  1264. package/dist/icons/LineChartIcon.js +2 -3
  1265. package/dist/icons/LineChartIcon.js.map +1 -1
  1266. package/dist/icons/LoadingIcon.d.ts +2 -5
  1267. package/dist/icons/LoadingIcon.js +2 -3
  1268. package/dist/icons/LoadingIcon.js.map +1 -1
  1269. package/dist/icons/LockFilledIcon.d.ts +2 -5
  1270. package/dist/icons/LockFilledIcon.js +2 -3
  1271. package/dist/icons/LockFilledIcon.js.map +1 -1
  1272. package/dist/icons/LockIcon.d.ts +2 -5
  1273. package/dist/icons/LockIcon.js +2 -3
  1274. package/dist/icons/LockIcon.js.map +1 -1
  1275. package/dist/icons/MoreIcon.d.ts +2 -5
  1276. package/dist/icons/MoreIcon.js +2 -3
  1277. package/dist/icons/MoreIcon.js.map +1 -1
  1278. package/dist/icons/NotAllowedIcon.d.ts +2 -5
  1279. package/dist/icons/NotAllowedIcon.js +2 -3
  1280. package/dist/icons/NotAllowedIcon.js.map +1 -1
  1281. package/dist/icons/Number123Icon.d.ts +2 -5
  1282. package/dist/icons/Number123Icon.js +2 -3
  1283. package/dist/icons/Number123Icon.js.map +1 -1
  1284. package/dist/icons/NumberIcon.d.ts +2 -5
  1285. package/dist/icons/NumberIcon.js +2 -3
  1286. package/dist/icons/NumberIcon.js.map +1 -1
  1287. package/dist/icons/PauseCircleFilledIcon.d.ts +2 -5
  1288. package/dist/icons/PauseCircleFilledIcon.js +2 -3
  1289. package/dist/icons/PauseCircleFilledIcon.js.map +1 -1
  1290. package/dist/icons/PauseCircleIcon.d.ts +2 -5
  1291. package/dist/icons/PauseCircleIcon.js +2 -3
  1292. package/dist/icons/PauseCircleIcon.js.map +1 -1
  1293. package/dist/icons/PauseIcon.d.ts +2 -5
  1294. package/dist/icons/PauseIcon.js +2 -3
  1295. package/dist/icons/PauseIcon.js.map +1 -1
  1296. package/dist/icons/PercentageIcon.d.ts +2 -5
  1297. package/dist/icons/PercentageIcon.js +2 -3
  1298. package/dist/icons/PercentageIcon.js.map +1 -1
  1299. package/dist/icons/PieChartIcon.d.ts +2 -5
  1300. package/dist/icons/PieChartIcon.js +2 -3
  1301. package/dist/icons/PieChartIcon.js.map +1 -1
  1302. package/dist/icons/PipetteIcon.d.ts +2 -5
  1303. package/dist/icons/PipetteIcon.js +2 -3
  1304. package/dist/icons/PipetteIcon.js.map +1 -1
  1305. package/dist/icons/PlayCircleIcon.d.ts +2 -5
  1306. package/dist/icons/PlayCircleIcon.js +2 -3
  1307. package/dist/icons/PlayCircleIcon.js.map +1 -1
  1308. package/dist/icons/PlayIcon.d.ts +2 -5
  1309. package/dist/icons/PlayIcon.js +2 -3
  1310. package/dist/icons/PlayIcon.js.map +1 -1
  1311. package/dist/icons/PlusIcon.d.ts +2 -5
  1312. package/dist/icons/PlusIcon.js +2 -3
  1313. package/dist/icons/PlusIcon.js.map +1 -1
  1314. package/dist/icons/ProgressBarIcon.d.ts +2 -5
  1315. package/dist/icons/ProgressBarIcon.js +2 -3
  1316. package/dist/icons/ProgressBarIcon.js.map +1 -1
  1317. package/dist/icons/ReloadIcon.d.ts +2 -5
  1318. package/dist/icons/ReloadIcon.js +2 -3
  1319. package/dist/icons/ReloadIcon.js.map +1 -1
  1320. package/dist/icons/ReportIcon.d.ts +2 -5
  1321. package/dist/icons/ReportIcon.js +2 -3
  1322. package/dist/icons/ReportIcon.js.map +1 -1
  1323. package/dist/icons/ReturnIcon.d.ts +2 -5
  1324. package/dist/icons/ReturnIcon.js +2 -3
  1325. package/dist/icons/ReturnIcon.js.map +1 -1
  1326. package/dist/icons/RightIcon.d.ts +2 -5
  1327. package/dist/icons/RightIcon.js +2 -3
  1328. package/dist/icons/RightIcon.js.map +1 -1
  1329. package/dist/icons/RowTotalsIcon.d.ts +2 -5
  1330. package/dist/icons/RowTotalsIcon.js +2 -3
  1331. package/dist/icons/RowTotalsIcon.js.map +1 -1
  1332. package/dist/icons/SchemeIcon.d.ts +2 -5
  1333. package/dist/icons/SchemeIcon.js +2 -3
  1334. package/dist/icons/SchemeIcon.js.map +1 -1
  1335. package/dist/icons/SearchIcon.d.ts +2 -5
  1336. package/dist/icons/SearchIcon.js +2 -3
  1337. package/dist/icons/SearchIcon.js.map +1 -1
  1338. package/dist/icons/SemanticQueryIcon.d.ts +2 -5
  1339. package/dist/icons/SemanticQueryIcon.js +2 -3
  1340. package/dist/icons/SemanticQueryIcon.js.map +1 -1
  1341. package/dist/icons/SettingsIcon.d.ts +2 -5
  1342. package/dist/icons/SettingsIcon.js +2 -3
  1343. package/dist/icons/SettingsIcon.js.map +1 -1
  1344. package/dist/icons/ShieldFilledIcon.d.ts +2 -5
  1345. package/dist/icons/ShieldFilledIcon.js +2 -3
  1346. package/dist/icons/ShieldFilledIcon.js.map +1 -1
  1347. package/dist/icons/ShieldIcon.d.ts +2 -5
  1348. package/dist/icons/ShieldIcon.js +2 -3
  1349. package/dist/icons/ShieldIcon.js.map +1 -1
  1350. package/dist/icons/SlashIcon.d.ts +2 -5
  1351. package/dist/icons/SlashIcon.js +2 -3
  1352. package/dist/icons/SlashIcon.js.map +1 -1
  1353. package/dist/icons/SparklesIcon.d.ts +2 -5
  1354. package/dist/icons/SparklesIcon.js +2 -3
  1355. package/dist/icons/SparklesIcon.js.map +1 -1
  1356. package/dist/icons/SqlIcon.d.ts +2 -5
  1357. package/dist/icons/SqlIcon.js +2 -3
  1358. package/dist/icons/SqlIcon.js.map +1 -1
  1359. package/dist/icons/StatsIcon.d.ts +2 -5
  1360. package/dist/icons/StatsIcon.js +2 -3
  1361. package/dist/icons/StatsIcon.js.map +1 -1
  1362. package/dist/icons/StopIcon.d.ts +2 -5
  1363. package/dist/icons/StopIcon.js +2 -3
  1364. package/dist/icons/StopIcon.js.map +1 -1
  1365. package/dist/icons/StringIcon.d.ts +2 -5
  1366. package/dist/icons/StringIcon.js +2 -3
  1367. package/dist/icons/StringIcon.js.map +1 -1
  1368. package/dist/icons/SubtotalsIcon.d.ts +2 -5
  1369. package/dist/icons/SubtotalsIcon.js +2 -3
  1370. package/dist/icons/SubtotalsIcon.js.map +1 -1
  1371. package/dist/icons/SwitchIcon.d.ts +2 -5
  1372. package/dist/icons/SwitchIcon.js +2 -3
  1373. package/dist/icons/SwitchIcon.js.map +1 -1
  1374. package/dist/icons/TableIcon.d.ts +2 -5
  1375. package/dist/icons/TableIcon.js +2 -3
  1376. package/dist/icons/TableIcon.js.map +1 -1
  1377. package/dist/icons/ThumbsDownIcon.d.ts +2 -5
  1378. package/dist/icons/ThumbsDownIcon.js +2 -3
  1379. package/dist/icons/ThumbsDownIcon.js.map +1 -1
  1380. package/dist/icons/ThumbsUpIcon.d.ts +2 -5
  1381. package/dist/icons/ThumbsUpIcon.js +2 -3
  1382. package/dist/icons/ThumbsUpIcon.js.map +1 -1
  1383. package/dist/icons/ThunderboltCrossedIcon.d.ts +2 -5
  1384. package/dist/icons/ThunderboltCrossedIcon.js +2 -3
  1385. package/dist/icons/ThunderboltCrossedIcon.js.map +1 -1
  1386. package/dist/icons/ThunderboltFilledIcon.d.ts +2 -5
  1387. package/dist/icons/ThunderboltFilledIcon.js +2 -3
  1388. package/dist/icons/ThunderboltFilledIcon.js.map +1 -1
  1389. package/dist/icons/ThunderboltIcon.d.ts +2 -5
  1390. package/dist/icons/ThunderboltIcon.js +2 -3
  1391. package/dist/icons/ThunderboltIcon.js.map +1 -1
  1392. package/dist/icons/TimeIcon.d.ts +2 -5
  1393. package/dist/icons/TimeIcon.js +2 -3
  1394. package/dist/icons/TimeIcon.js.map +1 -1
  1395. package/dist/icons/TrashIcon.d.ts +2 -5
  1396. package/dist/icons/TrashIcon.js +2 -3
  1397. package/dist/icons/TrashIcon.js.map +1 -1
  1398. package/dist/icons/UnlockIcon.d.ts +2 -5
  1399. package/dist/icons/UnlockIcon.js +2 -3
  1400. package/dist/icons/UnlockIcon.js.map +1 -1
  1401. package/dist/icons/UpIcon.d.ts +2 -5
  1402. package/dist/icons/UpIcon.js +2 -3
  1403. package/dist/icons/UpIcon.js.map +1 -1
  1404. package/dist/icons/UserGroupIcon.d.ts +2 -5
  1405. package/dist/icons/UserGroupIcon.js +2 -3
  1406. package/dist/icons/UserGroupIcon.js.map +1 -1
  1407. package/dist/icons/UserIcon.d.ts +2 -5
  1408. package/dist/icons/UserIcon.js +2 -3
  1409. package/dist/icons/UserIcon.js.map +1 -1
  1410. package/dist/icons/UserLockIcon.d.ts +2 -5
  1411. package/dist/icons/UserLockIcon.js +2 -3
  1412. package/dist/icons/UserLockIcon.js.map +1 -1
  1413. package/dist/icons/ViewIcon.d.ts +2 -5
  1414. package/dist/icons/ViewIcon.js +2 -3
  1415. package/dist/icons/ViewIcon.js.map +1 -1
  1416. package/dist/icons/WarningFilledIcon.d.ts +2 -5
  1417. package/dist/icons/WarningFilledIcon.js +2 -3
  1418. package/dist/icons/WarningFilledIcon.js.map +1 -1
  1419. package/dist/icons/WarningIcon.d.ts +2 -5
  1420. package/dist/icons/WarningIcon.js +2 -3
  1421. package/dist/icons/WarningIcon.js.map +1 -1
  1422. package/dist/icons/index.d.ts +2 -1
  1423. package/dist/icons/wrap-icon.d.ts +2 -5
  1424. package/dist/icons/wrap-icon.js +2 -3
  1425. package/dist/icons/wrap-icon.js.map +1 -1
  1426. package/dist/index.d.ts +59 -61
  1427. package/dist/index.js +59 -64
  1428. package/dist/index.js.map +1 -1
  1429. package/dist/node_modules/.pnpm/csstype@3.1.2/node_modules/csstype/index.d.ts +3 -4
  1430. package/dist/probe/canonicalize.d.ts +3 -4
  1431. package/dist/probe/canonicalize.js +2 -2
  1432. package/dist/probe/canonicalize.js.map +1 -1
  1433. package/dist/probe/css.d.ts +4 -5
  1434. package/dist/probe/css.js +2 -3
  1435. package/dist/probe/css.js.map +1 -1
  1436. package/dist/probe/index.js +2 -3
  1437. package/dist/props.d.ts +1 -2
  1438. package/dist/provider.d.ts +3 -6
  1439. package/dist/provider.js +2 -3
  1440. package/dist/provider.js.map +1 -1
  1441. package/dist/providers/TrackingProvider.d.ts +1 -3
  1442. package/dist/providers/TrackingProvider.js +3 -4
  1443. package/dist/providers/TrackingProvider.js.map +1 -1
  1444. package/dist/providers/navigation-url.js +2 -2
  1445. package/dist/providers/navigation-url.js.map +1 -1
  1446. package/dist/providers/navigation.types.d.ts +7 -8
  1447. package/dist/providers/navigationAdapter.default.d.ts +1 -3
  1448. package/dist/providers/navigationAdapter.default.js +6 -4
  1449. package/dist/providers/navigationAdapter.default.js.map +1 -1
  1450. package/dist/providers/use-navigation.js +2 -3
  1451. package/dist/providers/use-navigation.js.map +1 -1
  1452. package/dist/shared/form.d.ts +33 -23
  1453. package/dist/shared/index.d.ts +4 -5
  1454. package/dist/tokens/all-tokens.d.ts +2 -4
  1455. package/dist/tokens/all-tokens.js +2 -3
  1456. package/dist/tokens/all-tokens.js.map +1 -1
  1457. package/dist/tokens/base.d.ts +1 -3
  1458. package/dist/tokens/base.js +38 -2
  1459. package/dist/tokens/base.js.map +1 -1
  1460. package/dist/tokens/color-seed.d.ts +2 -3
  1461. package/dist/tokens/color-seed.js +2 -3
  1462. package/dist/tokens/color-seed.js.map +1 -1
  1463. package/dist/tokens/color-theme.d.ts +5 -7
  1464. package/dist/tokens/color-theme.js +5 -6
  1465. package/dist/tokens/color-theme.js.map +1 -1
  1466. package/dist/tokens/colors.d.ts +3 -5
  1467. package/dist/tokens/colors.js +2 -3
  1468. package/dist/tokens/colors.js.map +1 -1
  1469. package/dist/tokens/index.d.ts +2 -1
  1470. package/dist/tokens/layout.d.ts +1 -3
  1471. package/dist/tokens/layout.js +7 -2
  1472. package/dist/tokens/layout.js.map +1 -1
  1473. package/dist/tokens/lazy-styles.js +2 -2
  1474. package/dist/tokens/lazy-styles.js.map +1 -1
  1475. package/dist/tokens/legacy-color.d.ts +3 -4
  1476. package/dist/tokens/legacy-color.js +2 -3
  1477. package/dist/tokens/legacy-color.js.map +1 -1
  1478. package/dist/tokens/palette-config.d.ts +19 -20
  1479. package/dist/tokens/palette-config.js +9 -24
  1480. package/dist/tokens/palette-config.js.map +1 -1
  1481. package/dist/tokens/palette.d.ts +6 -8
  1482. package/dist/tokens/palette.js +73 -89
  1483. package/dist/tokens/palette.js.map +1 -1
  1484. package/dist/tokens/resolve.d.ts +8 -9
  1485. package/dist/tokens/resolve.js +5 -6
  1486. package/dist/tokens/resolve.js.map +1 -1
  1487. package/dist/tokens/shadows.d.ts +1 -3
  1488. package/dist/tokens/shadows.js +6 -2
  1489. package/dist/tokens/shadows.js.map +1 -1
  1490. package/dist/tokens/sizes.d.ts +5 -7
  1491. package/dist/tokens/sizes.js +2 -2
  1492. package/dist/tokens/sizes.js.map +1 -1
  1493. package/dist/tokens/spacing.d.ts +1 -3
  1494. package/dist/tokens/spacing.js +2 -2
  1495. package/dist/tokens/spacing.js.map +1 -1
  1496. package/dist/tokens/typography.d.ts +2 -3
  1497. package/dist/tokens/typography.js +2 -2
  1498. package/dist/tokens/typography.js.map +1 -1
  1499. package/dist/utils/ResizeSensor.d.ts +1 -2
  1500. package/dist/utils/ResizeSensor.js +11 -9
  1501. package/dist/utils/ResizeSensor.js.map +1 -1
  1502. package/dist/utils/colors.js +3 -4
  1503. package/dist/utils/colors.js.map +1 -1
  1504. package/dist/utils/dotize.js +2 -2
  1505. package/dist/utils/dotize.js.map +1 -1
  1506. package/dist/utils/index.d.ts +2 -1
  1507. package/dist/utils/is-dev-env.js +2 -2
  1508. package/dist/utils/is-dev-env.js.map +1 -1
  1509. package/dist/utils/modules.d.ts +1 -2
  1510. package/dist/utils/modules.js +2 -2
  1511. package/dist/utils/modules.js.map +1 -1
  1512. package/dist/utils/promise.d.ts +1 -2
  1513. package/dist/utils/promise.js +2 -2
  1514. package/dist/utils/promise.js.map +1 -1
  1515. package/dist/utils/raf.d.ts +1 -2
  1516. package/dist/utils/raf.js +2 -2
  1517. package/dist/utils/raf.js.map +1 -1
  1518. package/dist/utils/random.d.ts +2 -3
  1519. package/dist/utils/random.js +3 -4
  1520. package/dist/utils/random.js.map +1 -1
  1521. package/dist/utils/range.d.ts +1 -2
  1522. package/dist/utils/range.js +2 -2
  1523. package/dist/utils/range.js.map +1 -1
  1524. package/dist/utils/react/RenderCache.d.ts +2 -9
  1525. package/dist/utils/react/RenderCache.js +2 -3
  1526. package/dist/utils/react/RenderCache.js.map +1 -1
  1527. package/dist/utils/react/Slots.d.ts +3 -6
  1528. package/dist/utils/react/Slots.js +2 -3
  1529. package/dist/utils/react/Slots.js.map +1 -1
  1530. package/dist/utils/react/chain.d.ts +1 -2
  1531. package/dist/utils/react/chain.js +2 -2
  1532. package/dist/utils/react/chain.js.map +1 -1
  1533. package/dist/utils/react/disabledProps.d.ts +4 -10
  1534. package/dist/utils/react/disabledProps.js +3 -3
  1535. package/dist/utils/react/disabledProps.js.map +1 -1
  1536. package/dist/utils/react/forwardRefWithGenerics.d.ts +2 -5
  1537. package/dist/utils/react/forwardRefWithGenerics.js +2 -2
  1538. package/dist/utils/react/forwardRefWithGenerics.js.map +1 -1
  1539. package/dist/utils/react/index.d.ts +1 -1
  1540. package/dist/utils/react/index.js +2 -3
  1541. package/dist/utils/react/interactions.js +2 -3
  1542. package/dist/utils/react/interactions.js.map +1 -1
  1543. package/dist/utils/react/isTextOnly.d.ts +1 -2
  1544. package/dist/utils/react/isTextOnly.js +2 -3
  1545. package/dist/utils/react/isTextOnly.js.map +1 -1
  1546. package/dist/utils/react/mapProps.js +2 -2
  1547. package/dist/utils/react/mapProps.js.map +1 -1
  1548. package/dist/utils/react/mergeProps.d.ts +2 -3
  1549. package/dist/utils/react/mergeProps.js +2 -3
  1550. package/dist/utils/react/mergeProps.js.map +1 -1
  1551. package/dist/utils/react/nullableValue.d.ts +1 -3
  1552. package/dist/utils/react/nullableValue.js +3 -3
  1553. package/dist/utils/react/nullableValue.js.map +1 -1
  1554. package/dist/utils/react/overlayKeyPropagation.js +3 -3
  1555. package/dist/utils/react/overlayKeyPropagation.js.map +1 -1
  1556. package/dist/utils/react/programmaticFocus.js +2 -2
  1557. package/dist/utils/react/programmaticFocus.js.map +1 -1
  1558. package/dist/utils/react/resolveIcon.d.ts +4 -6
  1559. package/dist/utils/react/resolveIcon.js +2 -2
  1560. package/dist/utils/react/resolveIcon.js.map +1 -1
  1561. package/dist/utils/react/sharedStore.js +2 -3
  1562. package/dist/utils/react/sharedStore.js.map +1 -1
  1563. package/dist/utils/react/useBufferedValue.d.ts +3 -4
  1564. package/dist/utils/react/useBufferedValue.js +2 -3
  1565. package/dist/utils/react/useBufferedValue.js.map +1 -1
  1566. package/dist/utils/react/useCombinedRefs.d.ts +2 -4
  1567. package/dist/utils/react/useCombinedRefs.js +2 -3
  1568. package/dist/utils/react/useCombinedRefs.js.map +1 -1
  1569. package/dist/utils/react/useControlledFocusVisible.d.ts +2 -3
  1570. package/dist/utils/react/useControlledFocusVisible.js +2 -3
  1571. package/dist/utils/react/useControlledFocusVisible.js.map +1 -1
  1572. package/dist/utils/react/useEventBus.d.ts +6 -10
  1573. package/dist/utils/react/useEventBus.js +2 -3
  1574. package/dist/utils/react/useEventBus.js.map +1 -1
  1575. package/dist/utils/react/useId.js +3 -4
  1576. package/dist/utils/react/useId.js.map +1 -1
  1577. package/dist/utils/react/useIsDarwin.js +2 -3
  1578. package/dist/utils/react/useIsDarwin.js.map +1 -1
  1579. package/dist/utils/react/useKeySymbols.js +2 -3
  1580. package/dist/utils/react/useKeySymbols.js.map +1 -1
  1581. package/dist/utils/react/useLayoutEffect.d.ts +0 -1
  1582. package/dist/utils/react/useLayoutEffect.js +2 -3
  1583. package/dist/utils/react/useLayoutEffect.js.map +1 -1
  1584. package/dist/utils/react/useLocalStorage.d.ts +2 -2
  1585. package/dist/utils/react/useLocalStorage.js +2 -3
  1586. package/dist/utils/react/useLocalStorage.js.map +1 -1
  1587. package/dist/utils/react/useMergeStyles.d.ts +1 -3
  1588. package/dist/utils/react/useMergeStyles.js +4 -4
  1589. package/dist/utils/react/useMergeStyles.js.map +1 -1
  1590. package/dist/utils/react/useOverlayEscapeGuard.js +2 -3
  1591. package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
  1592. package/dist/utils/react/usePopoverSync.d.ts +3 -14
  1593. package/dist/utils/react/usePopoverSync.js +2 -3
  1594. package/dist/utils/react/usePopoverSync.js.map +1 -1
  1595. package/dist/utils/react/useQaProps.d.ts +2 -2
  1596. package/dist/utils/react/useQaProps.js +6 -4
  1597. package/dist/utils/react/useQaProps.js.map +1 -1
  1598. package/dist/utils/react/useScheme.d.ts +6 -7
  1599. package/dist/utils/react/useScheme.js +2 -3
  1600. package/dist/utils/react/useScheme.js.map +1 -1
  1601. package/dist/utils/react/useViewportSize.d.ts +3 -3
  1602. package/dist/utils/react/useViewportSize.js +2 -3
  1603. package/dist/utils/react/useViewportSize.js.map +1 -1
  1604. package/dist/utils/react/wrapNodeIfPlain.d.ts +1 -3
  1605. package/dist/utils/react/wrapNodeIfPlain.js +2 -3
  1606. package/dist/utils/react/wrapNodeIfPlain.js.map +1 -1
  1607. package/dist/utils/selection.d.ts +1 -3
  1608. package/dist/utils/selection.js +2 -2
  1609. package/dist/utils/selection.js.map +1 -1
  1610. package/dist/utils/styles.d.ts +1 -3
  1611. package/dist/utils/styles.js +2 -3
  1612. package/dist/utils/styles.js.map +1 -1
  1613. package/dist/utils/tree.d.ts +1 -2
  1614. package/dist/utils/tree.js +2 -2
  1615. package/dist/utils/tree.js.map +1 -1
  1616. package/dist/utils/warnings.d.ts +1 -2
  1617. package/dist/utils/warnings.js +2 -3
  1618. package/dist/utils/warnings.js.map +1 -1
  1619. package/dist/version.d.ts +1 -0
  1620. package/dist/version.js +4 -4
  1621. package/dist/version.js.map +1 -1
  1622. package/docs/CreateComponent.md +1 -1
  1623. package/docs/FieldProperties.md +11 -7
  1624. package/docs/Theming.md +1 -1
  1625. package/docs/Usage.md +4 -2
  1626. package/docs/components/content/Alert.md +3 -2
  1627. package/docs/components/content/Layout.md +47 -0
  1628. package/docs/components/content/TextItem.md +2 -2
  1629. package/docs/components/fields/ComboBox.md +1 -2
  1630. package/docs/components/fields/FilterListBox.md +3 -3
  1631. package/docs/components/fields/FilterPicker.md +8 -12
  1632. package/docs/components/fields/ListBox.md +11 -10
  1633. package/docs/components/fields/NumberInput.md +1 -2
  1634. package/docs/components/fields/Picker.md +10 -14
  1635. package/docs/components/fields/Select.md +11 -9
  1636. package/docs/components/fields/Switch.md +4 -5
  1637. package/docs/components/overlays/AlertDialog.md +1 -1
  1638. package/docs/components/overlays/Dialog.md +6 -6
  1639. package/docs/components/overlays/DialogContainer.md +20 -1
  1640. package/docs/components/overlays/DialogTrigger.md +5 -3
  1641. package/docs/tasty/README.md +4 -1
  1642. package/docs/tasty/adoption.md +25 -17
  1643. package/docs/tasty/ai-agents.md +42 -34
  1644. package/docs/tasty/comparison.md +9 -8
  1645. package/docs/tasty/configuration.md +187 -69
  1646. package/docs/tasty/debug.md +3 -2
  1647. package/docs/tasty/design-system.md +117 -15
  1648. package/docs/tasty/dsl.md +211 -117
  1649. package/docs/tasty/getting-started.md +81 -24
  1650. package/docs/tasty/injector.md +41 -40
  1651. package/docs/tasty/methodology.md +46 -21
  1652. package/docs/tasty/migration-v3.md +3 -3
  1653. package/docs/tasty/pipeline.md +22 -19
  1654. package/docs/tasty/plugins.md +21 -41
  1655. package/docs/tasty/react-api.md +72 -9
  1656. package/docs/tasty/runtime-benchmarks.md +11 -11
  1657. package/docs/tasty/ssr.md +92 -66
  1658. package/docs/tasty/styles.md +37 -17
  1659. package/docs/tasty/tasty-static.md +175 -57
  1660. package/package.json +18 -16
  1661. package/tasty.config.ts +8 -0
  1662. package/dist/i18n/useI18n.d.ts +0 -2
@@ -1 +1 @@
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":"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"}
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","_c","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 // 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":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.197.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.198.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;
@@ -37,7 +37,7 @@ function cleanupAndGetValidIds() {
37
37
  if (changed) writeMap(map);
38
38
  return validIds;
39
39
  }
40
-
41
40
  //#endregion
42
41
  export { cleanupAndGetValidIds, saveDismissedId };
42
+
43
43
  //# sourceMappingURL=dismissed-storage.js.map
@@ -1 +1 @@
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"}
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;CAC/B,IAAI;EACF,MAAMC,MAAMC,aAAaC,QAAQP,WAAW;EAE5C,IAAI,CAACK,KAAK,OAAO,CAAC;EAElB,OAAOG,KAAKC,MAAMJ,GAAG;CACvB,QAAQ;EACN,OAAO,CAAC;CACV;AACF;AAEA,SAASK,SAASC,KAAyB;CACzC,IAAI;EACFL,aAAaM,QAAQZ,aAAaQ,KAAKK,UAAUF,GAAG,CAAC;CACvD,QAAQ,CACN;AAEJ;AAEA,SAAgBG,gBAAgBC,IAAe;CAC7C,MAAMJ,MAAMP,QAAQ;CAEpBO,IAAIK,OAAOD,EAAE,KAAKE,KAAKC,IAAI;CAC3BR,SAASC,GAAG;AACd;;;;;AAMA,SAAgBQ,wBAAqC;CACnD,MAAMR,MAAMP,QAAQ;CACpB,MAAMc,MAAMD,KAAKC,IAAI;CACrB,MAAMG,2BAAW,IAAID,IAAY;CACjC,IAAIE,UAAU;CAEd,KAAK,MAAM,CAACP,IAAIQ,cAAcC,OAAOC,QAAQd,GAAG,GAC9C,IAAIO,MAAMK,YAAYtB,QAAQ;EAC5B,OAAOU,IAAII;EACXO,UAAU;CACZ,OACED,SAASK,IAAIX,EAAE;CAInB,IAAIO,SACFZ,SAASC,GAAG;CAGd,OAAOU;AACT"}
@@ -1,6 +1,5 @@
1
1
 
2
2
  import { TFunction } from "i18next";
3
-
4
3
  //#region src/components/overlays/Notifications/format-relative-time.d.ts
5
4
  /**
6
5
  * Lightweight relative time formatter.
@@ -19,7 +18,6 @@ import { TFunction } from "i18next";
19
18
  * in so the string reacts to the active language. When omitted (non-component
20
19
  * callers), English defaults are used.
21
20
  */
22
- declare function formatRelativeTime(timestamp: number, t?: TFunction, now?: number): string;
21
+ export declare function formatRelativeTime(timestamp: number, t?: TFunction, now?: number): string;
23
22
  //#endregion
24
- export { formatRelativeTime };
25
23
  //# sourceMappingURL=format-relative-time.d.ts.map
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.197.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.198.0 | Cube Dev Team */
2
2
  //#region src/components/overlays/Notifications/format-relative-time.ts
3
3
  /**
4
4
  * Lightweight relative time formatter.
@@ -38,7 +38,7 @@ function formatRelativeTime(timestamp, t, now = Date.now()) {
38
38
  if (diffDays < 365) return translate("relativeTime.monthsAgo", "{{count}} mo ago", diffMonths);
39
39
  return translate("relativeTime.yearsAgo", "{{count}} y ago", Math.floor(diffDays / 365));
40
40
  }
41
-
42
41
  //#endregion
43
42
  export { formatRelativeTime };
43
+
44
44
  //# sourceMappingURL=format-relative-time.js.map
@@ -1 +1 @@
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
+ {"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,IAAI,GACP;CACR,MAAME,aACJC,KACAC,cACAC,UACW;EACX,IAAIN,GACF,OAAOA,EAAEI,KAAKC,cAAcC,SAAS,OAAO,EAAEA,MAAM,IAAIC,KAAAA,CAAS;EAGnE,OAAOD,SAAS,OACZD,aAAaG,QAAQ,aAAaC,OAAOH,KAAK,CAAC,IAC/CD;CACN;CAEA,MAAMK,SAAST,MAAMF;CAErB,IAAIW,SAAS,GACX,OAAOP,UAAU,wBAAwB,UAAU;CAGrD,MAAMQ,cAAcC,KAAKC,MAAMH,SAAS,GAAI;CAC5C,MAAMI,cAAcF,KAAKC,MAAMF,cAAc,EAAE;CAC/C,MAAMI,YAAYH,KAAKC,MAAMC,cAAc,EAAE;CAC7C,MAAME,WAAWJ,KAAKC,MAAME,YAAY,EAAE;CAE1C,IAAID,cAAc,GAChB,OAAOX,UAAU,wBAAwB,UAAU;CAGrD,IAAIY,YAAY,GACd,OAAOZ,UAAU,uBAAuB,qBAAqBW,WAAW;CAG1E,IAAIE,WAAW,GACb,OAAOb,UAAU,yBAAyB,mBAAmBY,SAAS;CAGxE,IAAIC,WAAW,GACb,OAAOb,UAAU,wBAAwB,mBAAmBa,QAAQ;CAGtE,MAAMC,YAAYL,KAAKC,MAAMG,WAAW,CAAC;CAEzC,IAAIA,WAAW,IACb,OAAOb,UAAU,yBAAyB,mBAAmBc,SAAS;CAGxE,MAAMC,aAAaN,KAAKC,MAAMG,WAAW,EAAE;CAE3C,IAAIA,WAAW,KACb,OAAOb,UAAU,0BAA0B,oBAAoBe,UAAU;CAK3E,OAAOf,UAAU,yBAAyB,mBAFxBS,KAAKC,MAAMG,WAAW,GAEqBG,CAAS;AACxE"}
@@ -10,7 +10,6 @@ import { OverlayProvider } from "./OverlayProvider.js";
10
10
  import { useNotifications } from "./use-notifications.js";
11
11
  import { useNotificationsCount, usePersistentNotifications } from "./use-persistent-notifications.js";
12
12
  import { formatRelativeTime } from "./format-relative-time.js";
13
-
14
13
  //#region src/components/overlays/Notifications/index.d.ts
15
14
  /**
16
15
  * Declarative Notification component with compound API.
@@ -34,10 +33,10 @@ import { formatRelativeTime } from "./format-relative-time.js";
34
33
  * />
35
34
  * ```
36
35
  */
37
- declare const Notification: typeof Notification$1 & {
36
+ export declare const Notification: typeof Notification$1 & {
38
37
  Action: typeof NotificationAction;
39
38
  };
40
- type NotificationComponent = typeof Notification;
39
+ export type NotificationComponent = typeof Notification;
41
40
  //#endregion
42
- export { Notification, NotificationComponent };
41
+ export { type DismissReason, NotificationAction, type NotificationActionProps, type NotificationBaseOptions, NotificationCard, type NotificationCardProps, type NotificationHandle, NotificationItem, type NotificationItemProps, type NotificationOptions, type NotificationProps, type NotificationType, type NotificationsApi, type OverlayNotificationOptions, OverlayProvider, type OverlayProviderProps, type PersistentNotificationItem, PersistentNotificationsList, type PersistentNotificationsListProps, type StoredNotificationOptions, formatRelativeTime, useNotifications, useNotificationsCount, usePersistentNotifications };
43
42
  //# sourceMappingURL=index.d.ts.map
@@ -1,5 +1,5 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.197.0 | Cube Dev Team */
2
- import { useToastContext } from "./NotificationContext.js";
1
+ /** @license MIT | @cube-dev/ui-kit v0.198.0 | Cube Dev Team */
2
+ import "./NotificationContext.js";
3
3
  import { NotificationAction } from "./NotificationAction.js";
4
4
  import { NotificationCard } from "./NotificationCard.js";
5
5
  import { NotificationItem } from "./NotificationItem.js";
@@ -9,7 +9,6 @@ import { formatRelativeTime } from "./format-relative-time.js";
9
9
  import { useNotificationsCount, usePersistentNotifications } from "./use-persistent-notifications.js";
10
10
  import { PersistentNotificationsList } from "./PersistentNotificationsList.js";
11
11
  import { useNotifications } from "./use-notifications.js";
12
-
13
12
  //#region src/components/overlays/Notifications/index.ts
14
13
  /**
15
14
  * Declarative Notification component with compound API.
@@ -34,7 +33,7 @@ import { useNotifications } from "./use-notifications.js";
34
33
  * ```
35
34
  */
36
35
  const Notification = Object.assign(Notification$1, { Action: NotificationAction });
37
-
38
36
  //#endregion
39
- export { Notification };
37
+ export { Notification, NotificationAction, NotificationCard, NotificationItem, OverlayProvider, PersistentNotificationsList, formatRelativeTime, useNotifications, useNotificationsCount, usePersistentNotifications };
38
+
40
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
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"}
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","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,MAAaA,eAAe2B,OAAOC,OAAO3B,gBAAkB,EAC1D4B,QAAQ3B,mBACV,CAAC"}
@@ -1,16 +1,15 @@
1
1
 
2
2
  import { Key, ReactNode } from "react";
3
-
4
3
  //#region src/components/overlays/Notifications/types.d.ts
5
- type NotificationType = 'default' | 'success' | 'danger' | 'warning' | 'note';
6
- interface NotificationBaseOptions {
4
+ export type NotificationType = 'default' | 'success' | 'danger' | 'warning' | 'note';
5
+ export interface NotificationBaseOptions {
7
6
  id?: Key;
8
7
  theme?: NotificationType;
9
8
  title?: ReactNode;
10
9
  description?: ReactNode;
11
10
  icon?: ReactNode;
12
11
  }
13
- interface OverlayNotificationOptions extends NotificationBaseOptions {
12
+ export interface OverlayNotificationOptions extends NotificationBaseOptions {
14
13
  mode?: 'overlay';
15
14
  /**
16
15
  * Action buttons rendered below the notification description.
@@ -49,7 +48,7 @@ interface OverlayNotificationOptions extends NotificationBaseOptions {
49
48
  */
50
49
  persistent?: boolean;
51
50
  }
52
- interface StoredNotificationOptions extends NotificationBaseOptions {
51
+ export interface StoredNotificationOptions extends NotificationBaseOptions {
53
52
  mode: 'stored';
54
53
  /** Action buttons (same ReactNode format as overlay notifications) */
55
54
  actions?: ReactNode;
@@ -60,9 +59,9 @@ interface StoredNotificationOptions extends NotificationBaseOptions {
60
59
  */
61
60
  createdAt?: number;
62
61
  }
63
- type NotificationOptions = OverlayNotificationOptions | StoredNotificationOptions;
64
- type DismissReason = 'close' | 'timeout' | 'action' | 'api';
65
- interface NotificationActionProps {
62
+ export type NotificationOptions = OverlayNotificationOptions | StoredNotificationOptions;
63
+ export type DismissReason = 'close' | 'timeout' | 'action' | 'api';
64
+ export interface NotificationActionProps {
66
65
  /** Action label */
67
66
  children?: ReactNode;
68
67
  /**
@@ -82,11 +81,11 @@ interface NotificationActionProps {
82
81
  */
83
82
  isDismiss?: boolean;
84
83
  }
85
- interface NotificationHandle {
84
+ export interface NotificationHandle {
86
85
  id: Key;
87
86
  dismiss: () => void;
88
87
  }
89
- interface NotificationsApi {
88
+ export interface NotificationsApi {
90
89
  notify: (options: NotificationOptions) => NotificationHandle;
91
90
  /**
92
91
  * Shorthand for `notify({ mode: 'stored', ... })`.
@@ -96,7 +95,7 @@ interface NotificationsApi {
96
95
  record: (options: Omit<StoredNotificationOptions, 'mode'>) => NotificationHandle;
97
96
  dismiss: (id: Key) => void;
98
97
  }
99
- interface InternalNotification extends OverlayNotificationOptions {
98
+ export interface InternalNotification extends OverlayNotificationOptions {
100
99
  internalId: string;
101
100
  createdAt: number;
102
101
  updatedAt: number;
@@ -105,7 +104,7 @@ interface InternalNotification extends OverlayNotificationOptions {
105
104
  lastDismissReason?: DismissReason;
106
105
  ownerId?: string;
107
106
  }
108
- interface PersistentNotificationItem {
107
+ export interface PersistentNotificationItem {
109
108
  id: Key;
110
109
  theme?: NotificationType;
111
110
  title?: ReactNode;
@@ -120,18 +119,17 @@ interface PersistentNotificationItem {
120
119
  /** Owner ID for cleanup on hook/component unmount */
121
120
  ownerId?: string;
122
121
  }
123
- interface PersistentNotificationsListProps {
122
+ export interface PersistentNotificationsListProps {
124
123
  onDismissItem?: (item: PersistentNotificationItem) => void;
125
124
  /** Called before any action's onPress handler fires. Useful for closing a parent popover. */
126
125
  onAction?: () => void;
127
126
  emptyState?: ReactNode;
128
127
  }
129
- interface OverlayProviderProps {
128
+ export interface OverlayProviderProps {
130
129
  children: ReactNode;
131
130
  /** Maximum number of persistent notifications to keep. Default: 200 */
132
131
  maxPersistentNotifications?: number;
133
132
  }
134
- interface NotificationProps extends OverlayNotificationOptions {}
133
+ export interface NotificationProps extends OverlayNotificationOptions {}
135
134
  //#endregion
136
- export { DismissReason, InternalNotification, NotificationActionProps, NotificationBaseOptions, NotificationHandle, NotificationOptions, NotificationProps, NotificationType, NotificationsApi, OverlayNotificationOptions, OverlayProviderProps, PersistentNotificationItem, PersistentNotificationsListProps, StoredNotificationOptions };
137
135
  //# sourceMappingURL=types.d.ts.map
@@ -1,13 +1,12 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.197.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.198.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useRef, useState } from "react";
4
-
5
4
  //#region src/components/overlays/Notifications/use-notification-state.ts
6
5
  const DEFAULT_NOTIFICATION_DURATION = 3e3;
7
6
  const DEFAULT_PERSISTENT_NOTIFICATION_DURATION = 5e3;
8
7
  const MAX_NOTIFICATIONS = 5;
9
8
  const MAX_DISMISS_SNAPSHOTS = 50;
10
- const SNAPSHOT_TTL_MS = 300 * 1e3;
9
+ const SNAPSHOT_TTL_MS = 3e5;
11
10
  function getDuration(notif) {
12
11
  if (notif.duration === null) return null;
13
12
  if (notif.duration !== void 0) return notif.duration;
@@ -219,7 +218,7 @@ function useNotificationState(timersRef, persistent) {
219
218
  })
220
219
  };
221
220
  }
222
-
223
221
  //#endregion
224
222
  export { useNotificationState };
223
+
225
224
  //# sourceMappingURL=use-notification-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-notification-state.js","names":["Key","useRef","useState","useEvent","DismissReason","InternalNotification","OverlayNotificationOptions","PersistentNotificationItem","OverlayTimers","DEFAULT_NOTIFICATION_DURATION","DEFAULT_PERSISTENT_NOTIFICATION_DURATION","MAX_NOTIFICATIONS","MAX_DISMISS_SNAPSHOTS","SNAPSHOT_TTL_MS","PersistentCallbacks","addPersistentItem","item","removePersistentItem","id","removePersistentItemSilently","hasDismissedPersistentId","isFullyDismissedId","saveDismissedPersistentId","undoFullyDismissedId","NotificationState","notifications","notificationsRef","ReturnType","addNotification","options","ownerId","removeNotification","reason","restoreNotification","updateNotification","Partial","finalizeNotificationRemoval","internalId","removeByOwner","getDuration","notif","persistent","duration","undefined","matchesNotificationId","String","findNotification","list","find","n","useNotificationState","timersRef","setNotifications","current","idCounter","dismissSnapshotsRef","Map","evictOldest","active","filter","isExiting","length","oldest","clearNotificationTimer","theme","title","description","icon","actions","createdAt","updatedAt","isRead","set","lastDismissReason","size","keys","next","value","delete","prev","map","idStr","snapshot","get","persistentId","startNotificationTimer","stillInState","restored","setTimeout","key","snap","Date","now","existingNotif","returnId","prevTitle","prevDescription","titleChanged","descriptionChanged","activeCount","newNotification","evictedInternalId","owned"],"sources":["../../../../src/components/overlays/Notifications/use-notification-state.ts"],"sourcesContent":["import { Key, useRef, useState } from 'react';\n\nimport { useEvent } from '../../../_internal';\n\nimport type {\n DismissReason,\n InternalNotification,\n OverlayNotificationOptions,\n PersistentNotificationItem,\n} from './types';\nimport type { OverlayTimers } from './use-overlay-timers';\n\n// ─── Constants ───────────────────────────────────────────────────────\n\nconst DEFAULT_NOTIFICATION_DURATION = 3000;\nconst DEFAULT_PERSISTENT_NOTIFICATION_DURATION = 5000;\nconst MAX_NOTIFICATIONS = 5;\nconst MAX_DISMISS_SNAPSHOTS = 50;\nconst SNAPSHOT_TTL_MS = 5 * 60 * 1000;\n\n// ─── Types ───────────────────────────────────────────────────────────\n\nexport interface PersistentCallbacks {\n addPersistentItem: (item: PersistentNotificationItem) => void;\n removePersistentItem: (id: Key) => void;\n removePersistentItemSilently: (id: Key) => void;\n hasDismissedPersistentId: (id: Key) => boolean;\n isFullyDismissedId: (id: Key) => boolean;\n saveDismissedPersistentId: (id: Key) => void;\n undoFullyDismissedId: (id: Key) => void;\n}\n\nexport interface NotificationState {\n notifications: InternalNotification[];\n notificationsRef: ReturnType<typeof useRef<InternalNotification[]>>;\n addNotification: (\n options: OverlayNotificationOptions,\n ownerId?: string,\n ) => Key;\n removeNotification: (id: Key, reason?: DismissReason) => void;\n restoreNotification: (id: Key) => void;\n updateNotification: (\n id: Key,\n options: Partial<OverlayNotificationOptions>,\n ) => void;\n finalizeNotificationRemoval: (internalId: string) => void;\n removeByOwner: (ownerId: string) => void;\n}\n\n// ─── Helpers ─────────────────────────────────────────────────────────\n\nfunction getDuration(\n notif: OverlayNotificationOptions & { persistent?: boolean },\n): number | null {\n if (notif.duration === null) return null;\n if (notif.duration !== undefined) return notif.duration;\n return notif.persistent\n ? DEFAULT_PERSISTENT_NOTIFICATION_DURATION\n : DEFAULT_NOTIFICATION_DURATION;\n}\n\nfunction matchesNotificationId(item: InternalNotification, id: Key): boolean {\n return item.id === id || item.internalId === String(id);\n}\n\nfunction findNotification(\n list: InternalNotification[],\n id: Key,\n): InternalNotification | undefined {\n return list.find((n) => matchesNotificationId(n, id));\n}\n\n// ─── Hook ────────────────────────────────────────────────────────────\n\n/**\n * @param timersRef - Ref to the shared OverlayTimers instance. Accessed only\n * inside callbacks (never during render), so it is guaranteed to be populated.\n */\nexport function useNotificationState(\n timersRef: ReturnType<typeof useRef<OverlayTimers>>,\n persistent: PersistentCallbacks,\n): NotificationState {\n const [notifications, setNotifications] = useState<InternalNotification[]>(\n [],\n );\n const notificationsRef = useRef(notifications);\n notificationsRef.current = notifications;\n\n const idCounter = useRef(0);\n\n // Snapshots of dismissed notifications, keyed by notification id (string).\n // Saved at dismiss time so restoreNotification can re-add the notification\n // even after finalizeNotificationRemoval has removed it from state.\n const dismissSnapshotsRef = useRef<Map<string, InternalNotification>>(\n new Map(),\n );\n\n // ─── Evict Helper ──────────────────────────────────────────────\n\n /**\n * Evict the oldest active notification to make room for a new one.\n * Clears its timer and moves it to the persistent list if applicable.\n * Must be called OUTSIDE setState updaters (StrictMode-safe).\n */\n const evictOldest = useEvent((): string | null => {\n const active = notificationsRef.current.filter((n) => !n.isExiting);\n\n if (active.length === 0) return null;\n\n // Oldest by createdAt (active list preserves insertion order)\n const oldest = active[0];\n\n timersRef.current?.clearNotificationTimer(oldest.internalId);\n\n // Eviction counts as a timeout dismissal — move to persistent list if applicable\n if (oldest.persistent) {\n persistent.addPersistentItem({\n id: oldest.id ?? oldest.internalId,\n theme: oldest.theme,\n title: oldest.title,\n description: oldest.description,\n icon: oldest.icon,\n actions: oldest.actions,\n createdAt: oldest.createdAt,\n updatedAt: oldest.updatedAt,\n isRead: false,\n ownerId: oldest.ownerId,\n });\n }\n\n return oldest.internalId;\n });\n\n // ─── Remove ─────────────────────────────────────────────────────\n\n const removeNotification = useEvent(\n (id: Key, reason: DismissReason = 'api') => {\n // Read from ref (synchronous) to perform side effects OUTSIDE the updater.\n // This prevents double-fire in StrictMode and avoids calling setState\n // (addPersistentItem) inside another setState updater.\n const notif = findNotification(notificationsRef.current, id);\n\n if (!notif || notif.isExiting) return;\n\n timersRef.current?.clearNotificationTimer(notif.internalId);\n\n // Snapshot the notification for potential restore after finalization.\n dismissSnapshotsRef.current.set(String(notif.id ?? notif.internalId), {\n ...notif,\n lastDismissReason: reason,\n });\n\n // Prevent unbounded growth of dismiss snapshots.\n while (dismissSnapshotsRef.current.size > MAX_DISMISS_SNAPSHOTS) {\n const oldest = dismissSnapshotsRef.current.keys().next().value;\n\n if (oldest != null) {\n dismissSnapshotsRef.current.delete(oldest);\n } else {\n break;\n }\n }\n\n if (notif.persistent) {\n if (reason === 'close' || reason === 'timeout') {\n // Dismiss button, Escape, or auto-dismiss timeout — move to persistent list.\n // If the same id is triggered again, it skips the overlay and updates the\n // persistent list directly.\n persistent.addPersistentItem({\n id: notif.id ?? notif.internalId,\n theme: notif.theme,\n title: notif.title,\n description: notif.description,\n icon: notif.icon,\n actions: notif.actions,\n createdAt: notif.createdAt,\n updatedAt: notif.updatedAt,\n isRead: true,\n ownerId: notif.ownerId,\n });\n } else if (reason === 'action') {\n // User clicked a regular action (not dismiss) — fully dismiss the\n // notification so it never reappears (overlay or persistent list).\n persistent.saveDismissedPersistentId(notif.id ?? notif.internalId);\n persistent.removePersistentItem(notif.id ?? notif.internalId);\n }\n // reason === 'api' — programmatic cleanup (e.g. component unmount).\n // No persistence, no full-dismiss tracking.\n }\n\n setNotifications((prev) =>\n prev.map((n) =>\n matchesNotificationId(n, id)\n ? { ...n, isExiting: true, lastDismissReason: reason }\n : n,\n ),\n );\n },\n );\n\n // ─── Restore ──────────────────────────────────────────────────\n\n const restoreNotification = useEvent((id: Key) => {\n const idStr = String(id);\n const snapshot = dismissSnapshotsRef.current.get(idStr);\n\n if (!snapshot) return;\n\n dismissSnapshotsRef.current.delete(idStr);\n\n // Undo persistent side effects based on how the notification was dismissed.\n if (snapshot.persistent && snapshot.lastDismissReason) {\n const persistentId = snapshot.id ?? snapshot.internalId;\n\n if (\n snapshot.lastDismissReason === 'close' ||\n snapshot.lastDismissReason === 'timeout'\n ) {\n persistent.removePersistentItemSilently(persistentId);\n } else if (snapshot.lastDismissReason === 'action') {\n persistent.undoFullyDismissedId(persistentId);\n }\n }\n\n // Restart the auto-dismiss timer.\n const duration = getDuration(snapshot);\n\n if (duration != null && duration > 0) {\n timersRef.current?.startNotificationTimer(\n snapshot.internalId,\n snapshot.id ?? snapshot.internalId,\n duration,\n );\n }\n\n const stillInState = findNotification(notificationsRef.current, id);\n\n if (stillInState) {\n // Exit animation hasn't completed yet — cancel it.\n setNotifications((prev) =>\n prev.map((n) =>\n matchesNotificationId(n, id)\n ? { ...n, isExiting: false, lastDismissReason: undefined }\n : n,\n ),\n );\n } else {\n // Notification was already finalized (removed from state) — re-add it.\n const restored: InternalNotification = {\n ...snapshot,\n isExiting: false,\n lastDismissReason: undefined,\n };\n\n setNotifications((prev) => [...prev, restored]);\n }\n });\n\n // ─── Finalize ──────────────────────────────────────────────────\n\n const finalizeNotificationRemoval = useEvent((internalId: string) => {\n setNotifications((prev) => prev.filter((n) => n.internalId !== internalId));\n\n // Deferred cleanup of the dismiss snapshot. Kept briefly so async action\n // callbacks can still call restoreNotification after the exit animation.\n setTimeout(() => {\n for (const [key, snap] of dismissSnapshotsRef.current) {\n if (snap.internalId === internalId) {\n dismissSnapshotsRef.current.delete(key);\n break;\n }\n }\n }, SNAPSHOT_TTL_MS);\n });\n\n // ─── Add ────────────────────────────────────────────────────────\n\n const addNotification = useEvent(\n (options: OverlayNotificationOptions, ownerId?: string): Key => {\n idCounter.current += 1;\n const internalId = `notif-${idCounter.current}-${Date.now()}`;\n const now = Date.now();\n const id = options.id ?? internalId;\n\n // If the user explicitly removed this notification from the persistent\n // list, completely ignore it — no overlay, no persistent storage.\n if (options.id != null && persistent.isFullyDismissedId(options.id)) {\n return id;\n }\n\n // If this persistent id was previously dismissed to the persistent list,\n // skip the overlay and update the persistent item directly.\n if (\n options.persistent &&\n options.id != null &&\n persistent.hasDismissedPersistentId(options.id)\n ) {\n persistent.addPersistentItem({\n id,\n theme: options.theme,\n title: options.title,\n description: options.description,\n icon: options.icon,\n actions: options.actions,\n createdAt: now,\n updatedAt: now,\n isRead: false,\n ownerId,\n });\n\n return id;\n }\n\n // Check for existing notification with same id via the ref (synchronous read).\n const existingNotif =\n options.id != null\n ? notificationsRef.current.find(\n (n) => n.id === options.id && !n.isExiting,\n )\n : undefined;\n\n if (existingNotif) {\n // In-place update of an existing notification\n const returnId = existingNotif.id ?? existingNotif.internalId;\n\n const prevTitle = existingNotif.title;\n const prevDescription = existingNotif.description;\n\n // Timer reset on string title/description change\n const titleChanged =\n typeof options.title === 'string' &&\n typeof prevTitle === 'string' &&\n options.title !== prevTitle;\n const descriptionChanged =\n typeof options.description === 'string' &&\n typeof prevDescription === 'string' &&\n options.description !== prevDescription;\n\n if (titleChanged || descriptionChanged) {\n const duration = getDuration(options);\n\n if (duration != null && duration > 0) {\n timersRef.current?.startNotificationTimer(\n existingNotif.internalId,\n existingNotif.id ?? existingNotif.internalId,\n duration,\n );\n }\n }\n\n setNotifications((prev) =>\n prev.map((n) => {\n if (n.internalId === existingNotif.internalId) {\n return {\n ...n,\n ...options,\n internalId: n.internalId,\n createdAt: n.createdAt,\n updatedAt: now,\n ownerId: ownerId ?? n.ownerId,\n };\n }\n return n;\n }),\n );\n\n return returnId;\n }\n\n // New notification — always show immediately, evicting the oldest if at cap.\n // Read from ref (synchronous) to perform side effects OUTSIDE the updater.\n const activeCount = notificationsRef.current.filter(\n (n) => !n.isExiting,\n ).length;\n\n const newNotification: InternalNotification = {\n ...options,\n id,\n internalId,\n createdAt: now,\n updatedAt: now,\n ownerId,\n };\n\n // Evict oldest if at cap (side effects outside updater)\n let evictedInternalId: string | null = null;\n\n if (activeCount >= MAX_NOTIFICATIONS) {\n evictedInternalId = evictOldest();\n }\n\n // Start timer for the new notification\n const duration = getDuration(options);\n\n if (duration != null && duration > 0) {\n timersRef.current?.startNotificationTimer(internalId, id, duration);\n }\n\n setNotifications((prev) => {\n let next = prev;\n\n if (evictedInternalId) {\n next = next.map((n) =>\n n.internalId === evictedInternalId ? { ...n, isExiting: true } : n,\n );\n }\n\n return [...next, newNotification];\n });\n\n return id;\n },\n );\n\n // ─── Update ─────────────────────────────────────────────────────\n\n const updateNotification = useEvent(\n (id: Key, options: Partial<OverlayNotificationOptions>) => {\n setNotifications((prev) =>\n prev.map((n) =>\n matchesNotificationId(n, id)\n ? { ...n, ...options, updatedAt: Date.now() }\n : n,\n ),\n );\n },\n );\n\n // ─── Owner Cleanup ──────────────────────────────────────────────\n\n const removeByOwner = useEvent((ownerId: string) => {\n // Clear timers outside the updater (StrictMode-safe).\n const owned = notificationsRef.current.filter(\n (n) => n.ownerId === ownerId && !n.isExiting,\n );\n\n for (const n of owned) {\n timersRef.current?.clearNotificationTimer(n.internalId);\n }\n\n setNotifications((prev) =>\n prev.map((n) => {\n if (n.ownerId === ownerId && !n.isExiting) {\n return { ...n, isExiting: true };\n }\n return n;\n }),\n );\n });\n\n return {\n notifications,\n notificationsRef,\n addNotification,\n removeNotification,\n restoreNotification,\n updateNotification,\n finalizeNotificationRemoval,\n removeByOwner,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-notification-state.js","names":["Key","useRef","useState","useEvent","DismissReason","InternalNotification","OverlayNotificationOptions","PersistentNotificationItem","OverlayTimers","DEFAULT_NOTIFICATION_DURATION","DEFAULT_PERSISTENT_NOTIFICATION_DURATION","MAX_NOTIFICATIONS","MAX_DISMISS_SNAPSHOTS","SNAPSHOT_TTL_MS","PersistentCallbacks","addPersistentItem","item","removePersistentItem","id","removePersistentItemSilently","hasDismissedPersistentId","isFullyDismissedId","saveDismissedPersistentId","undoFullyDismissedId","NotificationState","notifications","notificationsRef","ReturnType","addNotification","options","ownerId","removeNotification","reason","restoreNotification","updateNotification","Partial","finalizeNotificationRemoval","internalId","removeByOwner","getDuration","notif","persistent","duration","undefined","matchesNotificationId","String","findNotification","list","find","n","useNotificationState","timersRef","setNotifications","current","idCounter","dismissSnapshotsRef","Map","evictOldest","active","filter","isExiting","length","oldest","clearNotificationTimer","theme","title","description","icon","actions","createdAt","updatedAt","isRead","set","lastDismissReason","size","keys","next","value","delete","prev","map","idStr","snapshot","get","persistentId","startNotificationTimer","stillInState","restored","setTimeout","key","snap","Date","now","existingNotif","returnId","prevTitle","prevDescription","titleChanged","descriptionChanged","activeCount","newNotification","evictedInternalId","owned"],"sources":["../../../../src/components/overlays/Notifications/use-notification-state.ts"],"sourcesContent":["import { Key, useRef, useState } from 'react';\n\nimport { useEvent } from '../../../_internal';\n\nimport type {\n DismissReason,\n InternalNotification,\n OverlayNotificationOptions,\n PersistentNotificationItem,\n} from './types';\nimport type { OverlayTimers } from './use-overlay-timers';\n\n// ─── Constants ───────────────────────────────────────────────────────\n\nconst DEFAULT_NOTIFICATION_DURATION = 3000;\nconst DEFAULT_PERSISTENT_NOTIFICATION_DURATION = 5000;\nconst MAX_NOTIFICATIONS = 5;\nconst MAX_DISMISS_SNAPSHOTS = 50;\nconst SNAPSHOT_TTL_MS = 5 * 60 * 1000;\n\n// ─── Types ───────────────────────────────────────────────────────────\n\nexport interface PersistentCallbacks {\n addPersistentItem: (item: PersistentNotificationItem) => void;\n removePersistentItem: (id: Key) => void;\n removePersistentItemSilently: (id: Key) => void;\n hasDismissedPersistentId: (id: Key) => boolean;\n isFullyDismissedId: (id: Key) => boolean;\n saveDismissedPersistentId: (id: Key) => void;\n undoFullyDismissedId: (id: Key) => void;\n}\n\nexport interface NotificationState {\n notifications: InternalNotification[];\n notificationsRef: ReturnType<typeof useRef<InternalNotification[]>>;\n addNotification: (\n options: OverlayNotificationOptions,\n ownerId?: string,\n ) => Key;\n removeNotification: (id: Key, reason?: DismissReason) => void;\n restoreNotification: (id: Key) => void;\n updateNotification: (\n id: Key,\n options: Partial<OverlayNotificationOptions>,\n ) => void;\n finalizeNotificationRemoval: (internalId: string) => void;\n removeByOwner: (ownerId: string) => void;\n}\n\n// ─── Helpers ─────────────────────────────────────────────────────────\n\nfunction getDuration(\n notif: OverlayNotificationOptions & { persistent?: boolean },\n): number | null {\n if (notif.duration === null) return null;\n if (notif.duration !== undefined) return notif.duration;\n return notif.persistent\n ? DEFAULT_PERSISTENT_NOTIFICATION_DURATION\n : DEFAULT_NOTIFICATION_DURATION;\n}\n\nfunction matchesNotificationId(item: InternalNotification, id: Key): boolean {\n return item.id === id || item.internalId === String(id);\n}\n\nfunction findNotification(\n list: InternalNotification[],\n id: Key,\n): InternalNotification | undefined {\n return list.find((n) => matchesNotificationId(n, id));\n}\n\n// ─── Hook ────────────────────────────────────────────────────────────\n\n/**\n * @param timersRef - Ref to the shared OverlayTimers instance. Accessed only\n * inside callbacks (never during render), so it is guaranteed to be populated.\n */\nexport function useNotificationState(\n timersRef: ReturnType<typeof useRef<OverlayTimers>>,\n persistent: PersistentCallbacks,\n): NotificationState {\n const [notifications, setNotifications] = useState<InternalNotification[]>(\n [],\n );\n const notificationsRef = useRef(notifications);\n notificationsRef.current = notifications;\n\n const idCounter = useRef(0);\n\n // Snapshots of dismissed notifications, keyed by notification id (string).\n // Saved at dismiss time so restoreNotification can re-add the notification\n // even after finalizeNotificationRemoval has removed it from state.\n const dismissSnapshotsRef = useRef<Map<string, InternalNotification>>(\n new Map(),\n );\n\n // ─── Evict Helper ──────────────────────────────────────────────\n\n /**\n * Evict the oldest active notification to make room for a new one.\n * Clears its timer and moves it to the persistent list if applicable.\n * Must be called OUTSIDE setState updaters (StrictMode-safe).\n */\n const evictOldest = useEvent((): string | null => {\n const active = notificationsRef.current.filter((n) => !n.isExiting);\n\n if (active.length === 0) return null;\n\n // Oldest by createdAt (active list preserves insertion order)\n const oldest = active[0];\n\n timersRef.current?.clearNotificationTimer(oldest.internalId);\n\n // Eviction counts as a timeout dismissal — move to persistent list if applicable\n if (oldest.persistent) {\n persistent.addPersistentItem({\n id: oldest.id ?? oldest.internalId,\n theme: oldest.theme,\n title: oldest.title,\n description: oldest.description,\n icon: oldest.icon,\n actions: oldest.actions,\n createdAt: oldest.createdAt,\n updatedAt: oldest.updatedAt,\n isRead: false,\n ownerId: oldest.ownerId,\n });\n }\n\n return oldest.internalId;\n });\n\n // ─── Remove ─────────────────────────────────────────────────────\n\n const removeNotification = useEvent(\n (id: Key, reason: DismissReason = 'api') => {\n // Read from ref (synchronous) to perform side effects OUTSIDE the updater.\n // This prevents double-fire in StrictMode and avoids calling setState\n // (addPersistentItem) inside another setState updater.\n const notif = findNotification(notificationsRef.current, id);\n\n if (!notif || notif.isExiting) return;\n\n timersRef.current?.clearNotificationTimer(notif.internalId);\n\n // Snapshot the notification for potential restore after finalization.\n dismissSnapshotsRef.current.set(String(notif.id ?? notif.internalId), {\n ...notif,\n lastDismissReason: reason,\n });\n\n // Prevent unbounded growth of dismiss snapshots.\n while (dismissSnapshotsRef.current.size > MAX_DISMISS_SNAPSHOTS) {\n const oldest = dismissSnapshotsRef.current.keys().next().value;\n\n if (oldest != null) {\n dismissSnapshotsRef.current.delete(oldest);\n } else {\n break;\n }\n }\n\n if (notif.persistent) {\n if (reason === 'close' || reason === 'timeout') {\n // Dismiss button, Escape, or auto-dismiss timeout — move to persistent list.\n // If the same id is triggered again, it skips the overlay and updates the\n // persistent list directly.\n persistent.addPersistentItem({\n id: notif.id ?? notif.internalId,\n theme: notif.theme,\n title: notif.title,\n description: notif.description,\n icon: notif.icon,\n actions: notif.actions,\n createdAt: notif.createdAt,\n updatedAt: notif.updatedAt,\n isRead: true,\n ownerId: notif.ownerId,\n });\n } else if (reason === 'action') {\n // User clicked a regular action (not dismiss) — fully dismiss the\n // notification so it never reappears (overlay or persistent list).\n persistent.saveDismissedPersistentId(notif.id ?? notif.internalId);\n persistent.removePersistentItem(notif.id ?? notif.internalId);\n }\n // reason === 'api' — programmatic cleanup (e.g. component unmount).\n // No persistence, no full-dismiss tracking.\n }\n\n setNotifications((prev) =>\n prev.map((n) =>\n matchesNotificationId(n, id)\n ? { ...n, isExiting: true, lastDismissReason: reason }\n : n,\n ),\n );\n },\n );\n\n // ─── Restore ──────────────────────────────────────────────────\n\n const restoreNotification = useEvent((id: Key) => {\n const idStr = String(id);\n const snapshot = dismissSnapshotsRef.current.get(idStr);\n\n if (!snapshot) return;\n\n dismissSnapshotsRef.current.delete(idStr);\n\n // Undo persistent side effects based on how the notification was dismissed.\n if (snapshot.persistent && snapshot.lastDismissReason) {\n const persistentId = snapshot.id ?? snapshot.internalId;\n\n if (\n snapshot.lastDismissReason === 'close' ||\n snapshot.lastDismissReason === 'timeout'\n ) {\n persistent.removePersistentItemSilently(persistentId);\n } else if (snapshot.lastDismissReason === 'action') {\n persistent.undoFullyDismissedId(persistentId);\n }\n }\n\n // Restart the auto-dismiss timer.\n const duration = getDuration(snapshot);\n\n if (duration != null && duration > 0) {\n timersRef.current?.startNotificationTimer(\n snapshot.internalId,\n snapshot.id ?? snapshot.internalId,\n duration,\n );\n }\n\n const stillInState = findNotification(notificationsRef.current, id);\n\n if (stillInState) {\n // Exit animation hasn't completed yet — cancel it.\n setNotifications((prev) =>\n prev.map((n) =>\n matchesNotificationId(n, id)\n ? { ...n, isExiting: false, lastDismissReason: undefined }\n : n,\n ),\n );\n } else {\n // Notification was already finalized (removed from state) — re-add it.\n const restored: InternalNotification = {\n ...snapshot,\n isExiting: false,\n lastDismissReason: undefined,\n };\n\n setNotifications((prev) => [...prev, restored]);\n }\n });\n\n // ─── Finalize ──────────────────────────────────────────────────\n\n const finalizeNotificationRemoval = useEvent((internalId: string) => {\n setNotifications((prev) => prev.filter((n) => n.internalId !== internalId));\n\n // Deferred cleanup of the dismiss snapshot. Kept briefly so async action\n // callbacks can still call restoreNotification after the exit animation.\n setTimeout(() => {\n for (const [key, snap] of dismissSnapshotsRef.current) {\n if (snap.internalId === internalId) {\n dismissSnapshotsRef.current.delete(key);\n break;\n }\n }\n }, SNAPSHOT_TTL_MS);\n });\n\n // ─── Add ────────────────────────────────────────────────────────\n\n const addNotification = useEvent(\n (options: OverlayNotificationOptions, ownerId?: string): Key => {\n idCounter.current += 1;\n const internalId = `notif-${idCounter.current}-${Date.now()}`;\n const now = Date.now();\n const id = options.id ?? internalId;\n\n // If the user explicitly removed this notification from the persistent\n // list, completely ignore it — no overlay, no persistent storage.\n if (options.id != null && persistent.isFullyDismissedId(options.id)) {\n return id;\n }\n\n // If this persistent id was previously dismissed to the persistent list,\n // skip the overlay and update the persistent item directly.\n if (\n options.persistent &&\n options.id != null &&\n persistent.hasDismissedPersistentId(options.id)\n ) {\n persistent.addPersistentItem({\n id,\n theme: options.theme,\n title: options.title,\n description: options.description,\n icon: options.icon,\n actions: options.actions,\n createdAt: now,\n updatedAt: now,\n isRead: false,\n ownerId,\n });\n\n return id;\n }\n\n // Check for existing notification with same id via the ref (synchronous read).\n const existingNotif =\n options.id != null\n ? notificationsRef.current.find(\n (n) => n.id === options.id && !n.isExiting,\n )\n : undefined;\n\n if (existingNotif) {\n // In-place update of an existing notification\n const returnId = existingNotif.id ?? existingNotif.internalId;\n\n const prevTitle = existingNotif.title;\n const prevDescription = existingNotif.description;\n\n // Timer reset on string title/description change\n const titleChanged =\n typeof options.title === 'string' &&\n typeof prevTitle === 'string' &&\n options.title !== prevTitle;\n const descriptionChanged =\n typeof options.description === 'string' &&\n typeof prevDescription === 'string' &&\n options.description !== prevDescription;\n\n if (titleChanged || descriptionChanged) {\n const duration = getDuration(options);\n\n if (duration != null && duration > 0) {\n timersRef.current?.startNotificationTimer(\n existingNotif.internalId,\n existingNotif.id ?? existingNotif.internalId,\n duration,\n );\n }\n }\n\n setNotifications((prev) =>\n prev.map((n) => {\n if (n.internalId === existingNotif.internalId) {\n return {\n ...n,\n ...options,\n internalId: n.internalId,\n createdAt: n.createdAt,\n updatedAt: now,\n ownerId: ownerId ?? n.ownerId,\n };\n }\n return n;\n }),\n );\n\n return returnId;\n }\n\n // New notification — always show immediately, evicting the oldest if at cap.\n // Read from ref (synchronous) to perform side effects OUTSIDE the updater.\n const activeCount = notificationsRef.current.filter(\n (n) => !n.isExiting,\n ).length;\n\n const newNotification: InternalNotification = {\n ...options,\n id,\n internalId,\n createdAt: now,\n updatedAt: now,\n ownerId,\n };\n\n // Evict oldest if at cap (side effects outside updater)\n let evictedInternalId: string | null = null;\n\n if (activeCount >= MAX_NOTIFICATIONS) {\n evictedInternalId = evictOldest();\n }\n\n // Start timer for the new notification\n const duration = getDuration(options);\n\n if (duration != null && duration > 0) {\n timersRef.current?.startNotificationTimer(internalId, id, duration);\n }\n\n setNotifications((prev) => {\n let next = prev;\n\n if (evictedInternalId) {\n next = next.map((n) =>\n n.internalId === evictedInternalId ? { ...n, isExiting: true } : n,\n );\n }\n\n return [...next, newNotification];\n });\n\n return id;\n },\n );\n\n // ─── Update ─────────────────────────────────────────────────────\n\n const updateNotification = useEvent(\n (id: Key, options: Partial<OverlayNotificationOptions>) => {\n setNotifications((prev) =>\n prev.map((n) =>\n matchesNotificationId(n, id)\n ? { ...n, ...options, updatedAt: Date.now() }\n : n,\n ),\n );\n },\n );\n\n // ─── Owner Cleanup ──────────────────────────────────────────────\n\n const removeByOwner = useEvent((ownerId: string) => {\n // Clear timers outside the updater (StrictMode-safe).\n const owned = notificationsRef.current.filter(\n (n) => n.ownerId === ownerId && !n.isExiting,\n );\n\n for (const n of owned) {\n timersRef.current?.clearNotificationTimer(n.internalId);\n }\n\n setNotifications((prev) =>\n prev.map((n) => {\n if (n.ownerId === ownerId && !n.isExiting) {\n return { ...n, isExiting: true };\n }\n return n;\n }),\n );\n });\n\n return {\n notifications,\n notificationsRef,\n addNotification,\n removeNotification,\n restoreNotification,\n updateNotification,\n finalizeNotificationRemoval,\n removeByOwner,\n };\n}\n"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
 
2
2
  import { NotificationsApi } from "./types.js";
3
-
4
3
  //#region src/components/overlays/Notifications/use-notifications.d.ts
5
4
  /**
6
5
  * Hook to display and manage notifications.
@@ -36,7 +35,6 @@ import { NotificationsApi } from "./types.js";
36
35
  * });
37
36
  * ```
38
37
  */
39
- declare function useNotifications(): NotificationsApi;
38
+ export declare function useNotifications(): NotificationsApi;
40
39
  //#endregion
41
- export { useNotifications };
42
40
  //# sourceMappingURL=use-notifications.d.ts.map
@@ -1,9 +1,8 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.197.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.198.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useWarn } from "../../../_internal/hooks/use-warn.js";
4
4
  import { useNotificationContext } from "./NotificationContext.js";
5
5
  import { useEffect, useRef } from "react";
6
-
7
6
  //#region src/components/overlays/Notifications/use-notifications.ts
8
7
  let ownerIdCounter = 0;
9
8
  function generateOwnerId() {
@@ -69,7 +68,7 @@ function useNotifications() {
69
68
  const now = Date.now();
70
69
  const id = options.id ?? `stored-${storedIdCounter.current}-${now}`;
71
70
  const createdAt = options.createdAt ?? now;
72
- addPersistentItem({
71
+ const persistentItem = {
73
72
  id,
74
73
  theme: options.theme,
75
74
  title: options.title,
@@ -79,7 +78,8 @@ function useNotifications() {
79
78
  createdAt,
80
79
  updatedAt: createdAt,
81
80
  ownerId: ownerIdRef.current
82
- });
81
+ };
82
+ addPersistentItem(persistentItem);
83
83
  return {
84
84
  id,
85
85
  dismiss: () => {
@@ -94,10 +94,11 @@ function useNotifications() {
94
94
  };
95
95
  lastOptionsRef.current = options_0;
96
96
  if (isStoredMode(options_0)) return createStoredHandle(options_0);
97
- const notificationId = addNotification({
97
+ const overlayOptions = {
98
98
  ...options_0,
99
99
  mode: "overlay"
100
- }, ownerIdRef.current);
100
+ };
101
+ const notificationId = addNotification(overlayOptions, ownerIdRef.current);
101
102
  return {
102
103
  id: notificationId,
103
104
  dismiss: () => {
@@ -140,7 +141,7 @@ function useNotifications() {
140
141
  dismiss
141
142
  };
142
143
  }
143
-
144
144
  //#endregion
145
145
  export { useNotifications };
146
+
146
147
  //# sourceMappingURL=use-notifications.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-notifications.js","names":["Key","useEffect","useRef","useEvent","useWarn","useNotificationContext","NotificationHandle","NotificationOptions","NotificationsApi","OverlayNotificationOptions","PersistentNotificationItem","StoredNotificationOptions","ownerIdCounter","generateOwnerId","Date","now","isStoredMode","options","mode","useNotifications","addNotification","removeNotification","addPersistentItem","removePersistentItem","removeByOwner","removePersistentItemsByOwner","ownerIdRef","isMountedRef","cleanupTimerRef","ReturnType","setTimeout","lastOptionsRef","current","persistent","id","once","key","args","storedIdCounter","createStoredHandle","Omit","createdAt","persistentItem","theme","title","description","icon","actions","undefined","updatedAt","ownerId","dismiss","notify","overlayOptions","notificationId","record","clearTimeout"],"sources":["../../../../src/components/overlays/Notifications/use-notifications.ts"],"sourcesContent":["import { Key, useEffect, useRef } from 'react';\n\nimport { useEvent } from '../../../_internal';\nimport { useWarn } from '../../../_internal/hooks/use-warn';\n\nimport { useNotificationContext } from './NotificationContext';\n\nimport type {\n NotificationHandle,\n NotificationOptions,\n NotificationsApi,\n OverlayNotificationOptions,\n PersistentNotificationItem,\n StoredNotificationOptions,\n} from './types';\n\nlet ownerIdCounter = 0;\n\nfunction generateOwnerId(): string {\n ownerIdCounter += 1;\n return `notif-owner-${ownerIdCounter}-${Date.now()}`;\n}\n\nfunction isStoredMode(\n options: NotificationOptions,\n): options is StoredNotificationOptions {\n return options.mode === 'stored';\n}\n\n/**\n * Hook to display and manage notifications.\n *\n * Each hook instance acts as an owner scope:\n * - `notify()` created from this instance attaches ownership metadata.\n * - On unmount, all attached visible overlay notifications are dismissed.\n * - On unmount, all attached persistent records are also removed.\n * - `notify()`/`dismiss()` calls from stale closures after unmount are no-ops.\n *\n * @example\n * ```tsx\n * const { notify, record, dismiss } = useNotifications();\n *\n * notify({\n * id: 'deploy:123',\n * theme: 'success',\n * title: 'Deployment completed',\n * description: 'Version 1.4.2 is live.',\n * actions: (\n * <>\n * <Notification.Action onPress={() => openLogs()}>View logs</Notification.Action>\n * <Notification.Action onPress={() => openDeployment()}>Open</Notification.Action>\n * </>\n * ),\n * });\n *\n * // Store directly to persistent list (no overlay)\n * record({\n * id: 'server:alert-1',\n * theme: 'warning',\n * title: 'Server alert',\n * });\n * ```\n */\nexport function useNotifications(): NotificationsApi {\n const {\n addNotification,\n removeNotification,\n addPersistentItem,\n removePersistentItem,\n removeByOwner,\n removePersistentItemsByOwner,\n } = useNotificationContext();\n\n const ownerIdRef = useRef<string>(generateOwnerId());\n const isMountedRef = useRef(true);\n const cleanupTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Track current options for validation\n const lastOptionsRef = useRef<NotificationOptions | null>(null);\n\n // ─── Validation Warnings ──────────────────────────────────────────\n\n useWarn(\n lastOptionsRef.current &&\n 'persistent' in lastOptionsRef.current &&\n lastOptionsRef.current.persistent === true &&\n lastOptionsRef.current.id == null,\n {\n once: false,\n key: ['Notification', 'persistent-without-id'],\n args: [\n 'Notification: `persistent: true` requires an explicit `id` for reliable dedupe/upsert.',\n ],\n },\n );\n\n useWarn(\n lastOptionsRef.current?.mode === 'stored' &&\n lastOptionsRef.current.id == null,\n {\n once: false,\n key: ['Notification', 'stored-without-id'],\n args: [\n 'Notification: `mode: \"stored\"` should have an explicit `id` for reliable upsert.',\n ],\n },\n );\n\n // ─── Helpers ─────────────────────────────────────────────────────\n\n const storedIdCounter = useRef(0);\n\n const createStoredHandle = useEvent(\n (options: Omit<StoredNotificationOptions, 'mode'>): NotificationHandle => {\n storedIdCounter.current += 1;\n const now = Date.now();\n const id = options.id ?? `stored-${storedIdCounter.current}-${now}`;\n const createdAt = options.createdAt ?? now;\n\n const persistentItem: PersistentNotificationItem = {\n id,\n theme: options.theme,\n title: options.title,\n description: options.description,\n icon: options.icon,\n actions: options.actions ?? undefined,\n createdAt,\n updatedAt: createdAt,\n ownerId: ownerIdRef.current,\n };\n\n addPersistentItem(persistentItem);\n\n return {\n id,\n dismiss: () => {\n removePersistentItem(id);\n },\n };\n },\n );\n\n // ─── API ──────────────────────────────────────────────────────────\n\n const notify = useEvent(\n (options: NotificationOptions): NotificationHandle => {\n // Stale closure guard\n if (!isMountedRef.current) {\n return {\n id: options.id ?? '',\n dismiss: () => {},\n };\n }\n\n lastOptionsRef.current = options;\n\n if (isStoredMode(options)) {\n return createStoredHandle(options);\n }\n\n // Overlay mode\n const overlayOptions: OverlayNotificationOptions = {\n ...options,\n mode: 'overlay',\n };\n\n const notificationId = addNotification(\n overlayOptions,\n ownerIdRef.current,\n );\n\n return {\n id: notificationId,\n dismiss: () => {\n if (isMountedRef.current) {\n removeNotification(notificationId, 'api');\n }\n },\n };\n },\n );\n\n // `record()` is intentionally kept as a separate method from `notify()` to make\n // the API more explicit: `record()` always stores directly to the persistent list\n // (no overlay), while `notify()` defaults to overlay mode. Having both avoids\n // the caller needing to remember to pass `mode: 'stored'` every time.\n const record = useEvent(\n (options: Omit<StoredNotificationOptions, 'mode'>): NotificationHandle => {\n // Stale closure guard\n if (!isMountedRef.current) {\n return {\n id: options.id ?? '',\n dismiss: () => {},\n };\n }\n\n lastOptionsRef.current = { ...options, mode: 'stored' };\n\n return createStoredHandle(options);\n },\n );\n\n const dismiss = useEvent((id: Key) => {\n if (!isMountedRef.current) return;\n\n removeNotification(id, 'api');\n });\n\n // ─── Ownership Cleanup ────────────────────────────────────────────\n\n useEffect(() => {\n isMountedRef.current = true;\n\n // Cancel any pending cleanup (Strict Mode re-mount)\n if (cleanupTimerRef.current) {\n clearTimeout(cleanupTimerRef.current);\n cleanupTimerRef.current = null;\n }\n\n return () => {\n isMountedRef.current = false;\n\n // Deferred cleanup — cancelled if owner re-mounts within same tick\n // (Strict Mode / Suspense safe)\n cleanupTimerRef.current = setTimeout(() => {\n removeByOwner(ownerIdRef.current);\n removePersistentItemsByOwner(ownerIdRef.current);\n }, 0);\n };\n }, [removeByOwner, removePersistentItemsByOwner]);\n\n return { notify, record, dismiss };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-notifications.js","names":["Key","useEffect","useRef","useEvent","useWarn","useNotificationContext","NotificationHandle","NotificationOptions","NotificationsApi","OverlayNotificationOptions","PersistentNotificationItem","StoredNotificationOptions","ownerIdCounter","generateOwnerId","Date","now","isStoredMode","options","mode","useNotifications","addNotification","removeNotification","addPersistentItem","removePersistentItem","removeByOwner","removePersistentItemsByOwner","ownerIdRef","isMountedRef","cleanupTimerRef","ReturnType","setTimeout","lastOptionsRef","current","persistent","id","once","key","args","storedIdCounter","createStoredHandle","Omit","createdAt","persistentItem","theme","title","description","icon","actions","undefined","updatedAt","ownerId","dismiss","notify","overlayOptions","notificationId","record","clearTimeout"],"sources":["../../../../src/components/overlays/Notifications/use-notifications.ts"],"sourcesContent":["import { Key, useEffect, useRef } from 'react';\n\nimport { useEvent } from '../../../_internal';\nimport { useWarn } from '../../../_internal/hooks/use-warn';\n\nimport { useNotificationContext } from './NotificationContext';\n\nimport type {\n NotificationHandle,\n NotificationOptions,\n NotificationsApi,\n OverlayNotificationOptions,\n PersistentNotificationItem,\n StoredNotificationOptions,\n} from './types';\n\nlet ownerIdCounter = 0;\n\nfunction generateOwnerId(): string {\n ownerIdCounter += 1;\n return `notif-owner-${ownerIdCounter}-${Date.now()}`;\n}\n\nfunction isStoredMode(\n options: NotificationOptions,\n): options is StoredNotificationOptions {\n return options.mode === 'stored';\n}\n\n/**\n * Hook to display and manage notifications.\n *\n * Each hook instance acts as an owner scope:\n * - `notify()` created from this instance attaches ownership metadata.\n * - On unmount, all attached visible overlay notifications are dismissed.\n * - On unmount, all attached persistent records are also removed.\n * - `notify()`/`dismiss()` calls from stale closures after unmount are no-ops.\n *\n * @example\n * ```tsx\n * const { notify, record, dismiss } = useNotifications();\n *\n * notify({\n * id: 'deploy:123',\n * theme: 'success',\n * title: 'Deployment completed',\n * description: 'Version 1.4.2 is live.',\n * actions: (\n * <>\n * <Notification.Action onPress={() => openLogs()}>View logs</Notification.Action>\n * <Notification.Action onPress={() => openDeployment()}>Open</Notification.Action>\n * </>\n * ),\n * });\n *\n * // Store directly to persistent list (no overlay)\n * record({\n * id: 'server:alert-1',\n * theme: 'warning',\n * title: 'Server alert',\n * });\n * ```\n */\nexport function useNotifications(): NotificationsApi {\n const {\n addNotification,\n removeNotification,\n addPersistentItem,\n removePersistentItem,\n removeByOwner,\n removePersistentItemsByOwner,\n } = useNotificationContext();\n\n const ownerIdRef = useRef<string>(generateOwnerId());\n const isMountedRef = useRef(true);\n const cleanupTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Track current options for validation\n const lastOptionsRef = useRef<NotificationOptions | null>(null);\n\n // ─── Validation Warnings ──────────────────────────────────────────\n\n useWarn(\n lastOptionsRef.current &&\n 'persistent' in lastOptionsRef.current &&\n lastOptionsRef.current.persistent === true &&\n lastOptionsRef.current.id == null,\n {\n once: false,\n key: ['Notification', 'persistent-without-id'],\n args: [\n 'Notification: `persistent: true` requires an explicit `id` for reliable dedupe/upsert.',\n ],\n },\n );\n\n useWarn(\n lastOptionsRef.current?.mode === 'stored' &&\n lastOptionsRef.current.id == null,\n {\n once: false,\n key: ['Notification', 'stored-without-id'],\n args: [\n 'Notification: `mode: \"stored\"` should have an explicit `id` for reliable upsert.',\n ],\n },\n );\n\n // ─── Helpers ─────────────────────────────────────────────────────\n\n const storedIdCounter = useRef(0);\n\n const createStoredHandle = useEvent(\n (options: Omit<StoredNotificationOptions, 'mode'>): NotificationHandle => {\n storedIdCounter.current += 1;\n const now = Date.now();\n const id = options.id ?? `stored-${storedIdCounter.current}-${now}`;\n const createdAt = options.createdAt ?? now;\n\n const persistentItem: PersistentNotificationItem = {\n id,\n theme: options.theme,\n title: options.title,\n description: options.description,\n icon: options.icon,\n actions: options.actions ?? undefined,\n createdAt,\n updatedAt: createdAt,\n ownerId: ownerIdRef.current,\n };\n\n addPersistentItem(persistentItem);\n\n return {\n id,\n dismiss: () => {\n removePersistentItem(id);\n },\n };\n },\n );\n\n // ─── API ──────────────────────────────────────────────────────────\n\n const notify = useEvent(\n (options: NotificationOptions): NotificationHandle => {\n // Stale closure guard\n if (!isMountedRef.current) {\n return {\n id: options.id ?? '',\n dismiss: () => {},\n };\n }\n\n lastOptionsRef.current = options;\n\n if (isStoredMode(options)) {\n return createStoredHandle(options);\n }\n\n // Overlay mode\n const overlayOptions: OverlayNotificationOptions = {\n ...options,\n mode: 'overlay',\n };\n\n const notificationId = addNotification(\n overlayOptions,\n ownerIdRef.current,\n );\n\n return {\n id: notificationId,\n dismiss: () => {\n if (isMountedRef.current) {\n removeNotification(notificationId, 'api');\n }\n },\n };\n },\n );\n\n // `record()` is intentionally kept as a separate method from `notify()` to make\n // the API more explicit: `record()` always stores directly to the persistent list\n // (no overlay), while `notify()` defaults to overlay mode. Having both avoids\n // the caller needing to remember to pass `mode: 'stored'` every time.\n const record = useEvent(\n (options: Omit<StoredNotificationOptions, 'mode'>): NotificationHandle => {\n // Stale closure guard\n if (!isMountedRef.current) {\n return {\n id: options.id ?? '',\n dismiss: () => {},\n };\n }\n\n lastOptionsRef.current = { ...options, mode: 'stored' };\n\n return createStoredHandle(options);\n },\n );\n\n const dismiss = useEvent((id: Key) => {\n if (!isMountedRef.current) return;\n\n removeNotification(id, 'api');\n });\n\n // ─── Ownership Cleanup ────────────────────────────────────────────\n\n useEffect(() => {\n isMountedRef.current = true;\n\n // Cancel any pending cleanup (Strict Mode re-mount)\n if (cleanupTimerRef.current) {\n clearTimeout(cleanupTimerRef.current);\n cleanupTimerRef.current = null;\n }\n\n return () => {\n isMountedRef.current = false;\n\n // Deferred cleanup — cancelled if owner re-mounts within same tick\n // (Strict Mode / Suspense safe)\n cleanupTimerRef.current = setTimeout(() => {\n removeByOwner(ownerIdRef.current);\n removePersistentItemsByOwner(ownerIdRef.current);\n }, 0);\n };\n }, [removeByOwner, removePersistentItemsByOwner]);\n\n return { notify, record, dismiss };\n}\n"],"mappings":"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"}