@cube-dev/ui-kit 0.196.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 (1663) hide show
  1. package/dist/CHANGELOG.md +54 -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 +523 -520
  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 +23 -7
  221. package/dist/components/content/Layout/LayoutPanel.js +33 -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 +393 -394
  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 +6 -7
  832. package/dist/components/overlays/Dialog/DialogContainer.js +42 -37
  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.d.ts +1 -1
  864. package/dist/components/overlays/Modal/Popover.js +4 -5
  865. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  866. package/dist/components/overlays/Modal/Tray.js +72 -65
  867. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  868. package/dist/components/overlays/Modal/Underlay.js +3 -4
  869. package/dist/components/overlays/Modal/Underlay.js.map +1 -1
  870. package/dist/components/overlays/Modal/index.d.ts +3 -2
  871. package/dist/components/overlays/Modal/modal-containment.js +2 -3
  872. package/dist/components/overlays/Modal/modal-containment.js.map +1 -1
  873. package/dist/components/overlays/Modal/types.d.ts +1 -3
  874. package/dist/components/overlays/Notifications/Notification.d.ts +1 -3
  875. package/dist/components/overlays/Notifications/Notification.js +4 -4
  876. package/dist/components/overlays/Notifications/Notification.js.map +1 -1
  877. package/dist/components/overlays/Notifications/NotificationAction.d.ts +1 -10
  878. package/dist/components/overlays/Notifications/NotificationAction.js +2 -3
  879. package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
  880. package/dist/components/overlays/Notifications/NotificationCard.d.ts +2 -18
  881. package/dist/components/overlays/Notifications/NotificationCard.js +3 -4
  882. package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
  883. package/dist/components/overlays/Notifications/NotificationContext.d.ts +1 -4
  884. package/dist/components/overlays/Notifications/NotificationContext.js +2 -3
  885. package/dist/components/overlays/Notifications/NotificationContext.js.map +1 -1
  886. package/dist/components/overlays/Notifications/NotificationItem.d.ts +2 -9
  887. package/dist/components/overlays/Notifications/NotificationItem.js +2 -3
  888. package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
  889. package/dist/components/overlays/Notifications/OverlayContainer.js +6 -8
  890. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  891. package/dist/components/overlays/Notifications/OverlayProvider.d.ts +1 -7
  892. package/dist/components/overlays/Notifications/OverlayProvider.js +3 -4
  893. package/dist/components/overlays/Notifications/OverlayProvider.js.map +1 -1
  894. package/dist/components/overlays/Notifications/PersistentNotificationsList.d.ts +1 -8
  895. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +3 -4
  896. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  897. package/dist/components/overlays/Notifications/dismissed-storage.js +2 -2
  898. package/dist/components/overlays/Notifications/dismissed-storage.js.map +1 -1
  899. package/dist/components/overlays/Notifications/format-relative-time.d.ts +1 -3
  900. package/dist/components/overlays/Notifications/format-relative-time.js +2 -2
  901. package/dist/components/overlays/Notifications/format-relative-time.js.map +1 -1
  902. package/dist/components/overlays/Notifications/index.d.ts +3 -4
  903. package/dist/components/overlays/Notifications/index.js +4 -5
  904. package/dist/components/overlays/Notifications/index.js.map +1 -1
  905. package/dist/components/overlays/Notifications/types.d.ts +14 -16
  906. package/dist/components/overlays/Notifications/use-notification-state.js +3 -4
  907. package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
  908. package/dist/components/overlays/Notifications/use-notifications.d.ts +1 -3
  909. package/dist/components/overlays/Notifications/use-notifications.js +8 -7
  910. package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
  911. package/dist/components/overlays/Notifications/use-overlay-timers.js +2 -3
  912. package/dist/components/overlays/Notifications/use-overlay-timers.js.map +1 -1
  913. package/dist/components/overlays/Notifications/use-persistent-notifications.d.ts +2 -4
  914. package/dist/components/overlays/Notifications/use-persistent-notifications.js +2 -3
  915. package/dist/components/overlays/Notifications/use-persistent-notifications.js.map +1 -1
  916. package/dist/components/overlays/Notifications/use-persistent-state.js +2 -3
  917. package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
  918. package/dist/components/overlays/Notifications/use-toast-state.js +2 -3
  919. package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
  920. package/dist/components/overlays/Toast/ToastItem.d.ts +3 -6
  921. package/dist/components/overlays/Toast/ToastItem.js +3 -4
  922. package/dist/components/overlays/Toast/ToastItem.js.map +1 -1
  923. package/dist/components/overlays/Toast/ToastProvider.d.ts +2 -1
  924. package/dist/components/overlays/Toast/index.d.ts +6 -7
  925. package/dist/components/overlays/Toast/index.js +3 -4
  926. package/dist/components/overlays/Toast/index.js.map +1 -1
  927. package/dist/components/overlays/Toast/types.d.ts +8 -10
  928. package/dist/components/overlays/Toast/useProgressToast.d.ts +1 -3
  929. package/dist/components/overlays/Toast/useProgressToast.js +11 -10
  930. package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
  931. package/dist/components/overlays/Toast/useToast.d.ts +2 -4
  932. package/dist/components/overlays/Toast/useToast.js +2 -3
  933. package/dist/components/overlays/Toast/useToast.js.map +1 -1
  934. package/dist/components/overlays/Tooltip/Tooltip.d.ts +3 -5
  935. package/dist/components/overlays/Tooltip/Tooltip.js +3 -4
  936. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  937. package/dist/components/overlays/Tooltip/TooltipProvider.d.ts +2 -4
  938. package/dist/components/overlays/Tooltip/TooltipProvider.js +3 -4
  939. package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
  940. package/dist/components/overlays/Tooltip/TooltipTrigger.d.ts +3 -6
  941. package/dist/components/overlays/Tooltip/TooltipTrigger.js +4 -5
  942. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  943. package/dist/components/overlays/Tooltip/context.js +2 -3
  944. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  945. package/dist/components/overlays/Tooltip/split-trigger-props.d.ts +2 -3
  946. package/dist/components/overlays/Tooltip/split-trigger-props.js +2 -3
  947. package/dist/components/overlays/Tooltip/split-trigger-props.js.map +1 -1
  948. package/dist/components/portal/Portal.d.ts +1 -4
  949. package/dist/components/portal/Portal.js +2 -3
  950. package/dist/components/portal/Portal.js.map +1 -1
  951. package/dist/components/portal/PortalProvider.js +2 -3
  952. package/dist/components/portal/PortalProvider.js.map +1 -1
  953. package/dist/components/portal/index.d.ts +2 -1
  954. package/dist/components/portal/types.d.ts +1 -3
  955. package/dist/components/portal/usePortal.js +2 -3
  956. package/dist/components/portal/usePortal.js.map +1 -1
  957. package/dist/components/shared/DraggableCollection.js +15 -15
  958. package/dist/components/shared/DraggableCollection.js.map +1 -1
  959. package/dist/components/shared/InvalidIcon.js +2 -3
  960. package/dist/components/shared/InvalidIcon.js.map +1 -1
  961. package/dist/components/shared/ValidIcon.js +2 -3
  962. package/dist/components/shared/ValidIcon.js.map +1 -1
  963. package/dist/components/status/LoadingAnimation/LoadingAnimation.d.ts +2 -8
  964. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +2 -3
  965. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  966. package/dist/components/status/LoadingAnimation/index.d.ts +2 -1
  967. package/dist/components/status/Spin/Cube.js +2 -3
  968. package/dist/components/status/Spin/Cube.js.map +1 -1
  969. package/dist/components/status/Spin/InternalSpinner.js +2 -3
  970. package/dist/components/status/Spin/InternalSpinner.js.map +1 -1
  971. package/dist/components/status/Spin/Spin.d.ts +1 -4
  972. package/dist/components/status/Spin/Spin.js +2 -3
  973. package/dist/components/status/Spin/Spin.js.map +1 -1
  974. package/dist/components/status/Spin/SpinsContainer.js +2 -3
  975. package/dist/components/status/Spin/SpinsContainer.js.map +1 -1
  976. package/dist/components/status/Spin/index.d.ts +2 -1
  977. package/dist/components/status/Spin/types.d.ts +2 -4
  978. package/dist/components/status/index.d.ts +2 -1
  979. package/dist/data/item-themes.d.ts +1 -3
  980. package/dist/data/item-themes.js +3 -3
  981. package/dist/data/item-themes.js.map +1 -1
  982. package/dist/data/themes.d.ts +9 -9
  983. package/dist/data/themes.js +10 -10
  984. package/dist/data/themes.js.map +1 -1
  985. package/dist/eslint-plugin/defaults.generated.d.ts +1 -3
  986. package/dist/eslint-plugin/defaults.generated.js +3 -8
  987. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  988. package/dist/eslint-plugin/index.d.ts +0 -1
  989. package/dist/eslint-plugin/index.js +2 -3
  990. package/dist/eslint-plugin/index.js.map +1 -1
  991. package/dist/eslint-plugin/rules/no-redundant-default-prop.d.ts +2 -4
  992. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +2 -3
  993. package/dist/eslint-plugin/rules/no-redundant-default-prop.js.map +1 -1
  994. package/dist/eslint-plugin/types.d.ts +17 -10
  995. package/dist/i18n/I18nProvider.d.ts +2 -9
  996. package/dist/i18n/I18nProvider.js +2 -3
  997. package/dist/i18n/I18nProvider.js.map +1 -1
  998. package/dist/i18n/createFormatter.d.ts +6 -7
  999. package/dist/i18n/createFormatter.js +2 -2
  1000. package/dist/i18n/createFormatter.js.map +1 -1
  1001. package/dist/i18n/index.d.ts +2 -4
  1002. package/dist/i18n/index.js +3 -4
  1003. package/dist/i18n/index.js.map +1 -1
  1004. package/dist/i18n/instance.d.ts +5 -6
  1005. package/dist/i18n/instance.js +3 -4
  1006. package/dist/i18n/instance.js.map +1 -1
  1007. package/dist/i18n/locales/de-DE/uikit.js +2 -2
  1008. package/dist/i18n/locales/en-US/uikit.js +2 -2
  1009. package/dist/i18n/locales/en-US/uikit.json.d.ts +41 -41
  1010. package/dist/i18n/locales/es-ES/uikit.js +2 -2
  1011. package/dist/i18n/locales/es-MX/uikit.js +2 -2
  1012. package/dist/i18n/locales/fr-FR/uikit.js +2 -2
  1013. package/dist/i18n/locales/it-IT/uikit.js +2 -2
  1014. package/dist/i18n/locales/ja-JP/uikit.js +2 -2
  1015. package/dist/i18n/locales/nb-NO/uikit.js +2 -2
  1016. package/dist/i18n/locales/pt-BR/uikit.js +2 -2
  1017. package/dist/i18n/locales/pt-PT/uikit.js +2 -2
  1018. package/dist/i18n/locales/sv-SE/uikit.js +2 -2
  1019. package/dist/i18n/locales/vi-VN/uikit.js +2 -2
  1020. package/dist/i18n/locales.d.ts +4 -5
  1021. package/dist/i18n/locales.js +2 -2
  1022. package/dist/i18n/locales.js.map +1 -1
  1023. package/dist/i18n/namespace.d.ts +1 -2
  1024. package/dist/i18n/namespace.js +2 -2
  1025. package/dist/i18n/useFormatter.d.ts +1 -3
  1026. package/dist/i18n/useFormatter.js +2 -3
  1027. package/dist/i18n/useFormatter.js.map +1 -1
  1028. package/dist/i18n/useI18n.js +2 -3
  1029. package/dist/i18n/useI18n.js.map +1 -1
  1030. package/dist/icons/AdjustmentsHorizontalIcon.d.ts +2 -5
  1031. package/dist/icons/AdjustmentsHorizontalIcon.js +2 -3
  1032. package/dist/icons/AdjustmentsHorizontalIcon.js.map +1 -1
  1033. package/dist/icons/AdjustmentsIcon.d.ts +2 -5
  1034. package/dist/icons/AdjustmentsIcon.js +2 -3
  1035. package/dist/icons/AdjustmentsIcon.js.map +1 -1
  1036. package/dist/icons/AiIcon.d.ts +2 -5
  1037. package/dist/icons/AiIcon.js +2 -3
  1038. package/dist/icons/AiIcon.js.map +1 -1
  1039. package/dist/icons/AreaChartIcon.d.ts +2 -5
  1040. package/dist/icons/AreaChartIcon.js +2 -3
  1041. package/dist/icons/AreaChartIcon.js.map +1 -1
  1042. package/dist/icons/ArrowNarrowDownIcon.d.ts +2 -5
  1043. package/dist/icons/ArrowNarrowDownIcon.js +2 -3
  1044. package/dist/icons/ArrowNarrowDownIcon.js.map +1 -1
  1045. package/dist/icons/ArrowNarrowUpIcon.d.ts +2 -5
  1046. package/dist/icons/ArrowNarrowUpIcon.js +2 -3
  1047. package/dist/icons/ArrowNarrowUpIcon.js.map +1 -1
  1048. package/dist/icons/BackwardIcon.d.ts +2 -5
  1049. package/dist/icons/BackwardIcon.js +2 -3
  1050. package/dist/icons/BackwardIcon.js.map +1 -1
  1051. package/dist/icons/BarChartIcon.d.ts +2 -5
  1052. package/dist/icons/BarChartIcon.js +2 -3
  1053. package/dist/icons/BarChartIcon.js.map +1 -1
  1054. package/dist/icons/BellFilledIcon.d.ts +2 -5
  1055. package/dist/icons/BellFilledIcon.js +2 -3
  1056. package/dist/icons/BellFilledIcon.js.map +1 -1
  1057. package/dist/icons/BellIcon.d.ts +2 -5
  1058. package/dist/icons/BellIcon.js +2 -3
  1059. package/dist/icons/BellIcon.js.map +1 -1
  1060. package/dist/icons/BooleanIcon.d.ts +2 -5
  1061. package/dist/icons/BooleanIcon.js +2 -3
  1062. package/dist/icons/BooleanIcon.js.map +1 -1
  1063. package/dist/icons/CalendarEditIcon.d.ts +2 -5
  1064. package/dist/icons/CalendarEditIcon.js +2 -3
  1065. package/dist/icons/CalendarEditIcon.js.map +1 -1
  1066. package/dist/icons/CalendarIcon.d.ts +2 -5
  1067. package/dist/icons/CalendarIcon.js +2 -3
  1068. package/dist/icons/CalendarIcon.js.map +1 -1
  1069. package/dist/icons/CaretDownIcon.d.ts +2 -5
  1070. package/dist/icons/CaretDownIcon.js +2 -3
  1071. package/dist/icons/CaretDownIcon.js.map +1 -1
  1072. package/dist/icons/CaretUpIcon.d.ts +2 -5
  1073. package/dist/icons/CaretUpIcon.js +2 -3
  1074. package/dist/icons/CaretUpIcon.js.map +1 -1
  1075. package/dist/icons/ChartAreaStackedIcon.d.ts +2 -5
  1076. package/dist/icons/ChartAreaStackedIcon.js +2 -3
  1077. package/dist/icons/ChartAreaStackedIcon.js.map +1 -1
  1078. package/dist/icons/ChartAreaStackedPercentageIcon.d.ts +2 -5
  1079. package/dist/icons/ChartAreaStackedPercentageIcon.js +2 -3
  1080. package/dist/icons/ChartAreaStackedPercentageIcon.js.map +1 -1
  1081. package/dist/icons/ChartBarGroupedHorizontalIcon.d.ts +2 -5
  1082. package/dist/icons/ChartBarGroupedHorizontalIcon.js +2 -3
  1083. package/dist/icons/ChartBarGroupedHorizontalIcon.js.map +1 -1
  1084. package/dist/icons/ChartBarGroupedIcon.d.ts +2 -5
  1085. package/dist/icons/ChartBarGroupedIcon.js +2 -3
  1086. package/dist/icons/ChartBarGroupedIcon.js.map +1 -1
  1087. package/dist/icons/ChartBarHorizontalIcon.d.ts +2 -5
  1088. package/dist/icons/ChartBarHorizontalIcon.js +2 -3
  1089. package/dist/icons/ChartBarHorizontalIcon.js.map +1 -1
  1090. package/dist/icons/ChartBarLineIcon.d.ts +2 -5
  1091. package/dist/icons/ChartBarLineIcon.js +2 -3
  1092. package/dist/icons/ChartBarLineIcon.js.map +1 -1
  1093. package/dist/icons/ChartBarStackedHorizontalIcon.d.ts +2 -5
  1094. package/dist/icons/ChartBarStackedHorizontalIcon.js +2 -3
  1095. package/dist/icons/ChartBarStackedHorizontalIcon.js.map +1 -1
  1096. package/dist/icons/ChartBarStackedIcon.d.ts +2 -5
  1097. package/dist/icons/ChartBarStackedIcon.js +2 -3
  1098. package/dist/icons/ChartBarStackedIcon.js.map +1 -1
  1099. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.d.ts +2 -5
  1100. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +2 -3
  1101. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js.map +1 -1
  1102. package/dist/icons/ChartBarStackedPercentageIcon.d.ts +2 -5
  1103. package/dist/icons/ChartBarStackedPercentageIcon.js +2 -3
  1104. package/dist/icons/ChartBarStackedPercentageIcon.js.map +1 -1
  1105. package/dist/icons/ChartBoxPlot2Icon.d.ts +2 -5
  1106. package/dist/icons/ChartBoxPlot2Icon.js +2 -3
  1107. package/dist/icons/ChartBoxPlot2Icon.js.map +1 -1
  1108. package/dist/icons/ChartBoxPlotIcon.d.ts +2 -5
  1109. package/dist/icons/ChartBoxPlotIcon.js +2 -3
  1110. package/dist/icons/ChartBoxPlotIcon.js.map +1 -1
  1111. package/dist/icons/ChartBubbleIcon.d.ts +2 -5
  1112. package/dist/icons/ChartBubbleIcon.js +2 -3
  1113. package/dist/icons/ChartBubbleIcon.js.map +1 -1
  1114. package/dist/icons/ChartDonut2Icon.d.ts +2 -5
  1115. package/dist/icons/ChartDonut2Icon.js +2 -3
  1116. package/dist/icons/ChartDonut2Icon.js.map +1 -1
  1117. package/dist/icons/ChartFunnelIcon.d.ts +2 -5
  1118. package/dist/icons/ChartFunnelIcon.js +2 -3
  1119. package/dist/icons/ChartFunnelIcon.js.map +1 -1
  1120. package/dist/icons/ChartHeatmapIcon.d.ts +2 -5
  1121. package/dist/icons/ChartHeatmapIcon.js +2 -3
  1122. package/dist/icons/ChartHeatmapIcon.js.map +1 -1
  1123. package/dist/icons/ChartKPIIcon.d.ts +2 -5
  1124. package/dist/icons/ChartKPIIcon.js +2 -3
  1125. package/dist/icons/ChartKPIIcon.js.map +1 -1
  1126. package/dist/icons/ChartPie2Icon.d.ts +2 -5
  1127. package/dist/icons/ChartPie2Icon.js +2 -3
  1128. package/dist/icons/ChartPie2Icon.js.map +1 -1
  1129. package/dist/icons/ChartScatterIcon.d.ts +2 -5
  1130. package/dist/icons/ChartScatterIcon.js +2 -3
  1131. package/dist/icons/ChartScatterIcon.js.map +1 -1
  1132. package/dist/icons/CheckCircleFilledIcon.d.ts +2 -5
  1133. package/dist/icons/CheckCircleFilledIcon.js +2 -3
  1134. package/dist/icons/CheckCircleFilledIcon.js.map +1 -1
  1135. package/dist/icons/CheckCircleIcon.d.ts +2 -5
  1136. package/dist/icons/CheckCircleIcon.js +2 -3
  1137. package/dist/icons/CheckCircleIcon.js.map +1 -1
  1138. package/dist/icons/CheckIcon.d.ts +2 -5
  1139. package/dist/icons/CheckIcon.js +2 -3
  1140. package/dist/icons/CheckIcon.js.map +1 -1
  1141. package/dist/icons/CircleFilledIcon.d.ts +2 -5
  1142. package/dist/icons/CircleFilledIcon.js +2 -3
  1143. package/dist/icons/CircleFilledIcon.js.map +1 -1
  1144. package/dist/icons/ClearIcon.d.ts +2 -5
  1145. package/dist/icons/ClearIcon.js +2 -3
  1146. package/dist/icons/ClearIcon.js.map +1 -1
  1147. package/dist/icons/CloseCircleFilledIcon.d.ts +2 -5
  1148. package/dist/icons/CloseCircleFilledIcon.js +2 -3
  1149. package/dist/icons/CloseCircleFilledIcon.js.map +1 -1
  1150. package/dist/icons/CloseCircleIcon.d.ts +2 -5
  1151. package/dist/icons/CloseCircleIcon.js +2 -3
  1152. package/dist/icons/CloseCircleIcon.js.map +1 -1
  1153. package/dist/icons/CloseIcon.d.ts +2 -5
  1154. package/dist/icons/CloseIcon.js +2 -3
  1155. package/dist/icons/CloseIcon.js.map +1 -1
  1156. package/dist/icons/CodeIcon.d.ts +2 -5
  1157. package/dist/icons/CodeIcon.js +2 -3
  1158. package/dist/icons/CodeIcon.js.map +1 -1
  1159. package/dist/icons/ColumnTotalIcon.d.ts +2 -5
  1160. package/dist/icons/ColumnTotalIcon.js +2 -3
  1161. package/dist/icons/ColumnTotalIcon.js.map +1 -1
  1162. package/dist/icons/CopyIcon.d.ts +2 -5
  1163. package/dist/icons/CopyIcon.js +2 -3
  1164. package/dist/icons/CopyIcon.js.map +1 -1
  1165. package/dist/icons/CountIcon.d.ts +2 -5
  1166. package/dist/icons/CountIcon.js +2 -3
  1167. package/dist/icons/CountIcon.js.map +1 -1
  1168. package/dist/icons/CubeIcon.d.ts +2 -5
  1169. package/dist/icons/CubeIcon.js +2 -3
  1170. package/dist/icons/CubeIcon.js.map +1 -1
  1171. package/dist/icons/CubePauseIcon.d.ts +2 -5
  1172. package/dist/icons/CubePauseIcon.js +2 -3
  1173. package/dist/icons/CubePauseIcon.js.map +1 -1
  1174. package/dist/icons/CubePlayIcon.d.ts +2 -5
  1175. package/dist/icons/CubePlayIcon.js +2 -3
  1176. package/dist/icons/CubePlayIcon.js.map +1 -1
  1177. package/dist/icons/CurrencyDollarIcon.d.ts +2 -5
  1178. package/dist/icons/CurrencyDollarIcon.js +2 -3
  1179. package/dist/icons/CurrencyDollarIcon.js.map +1 -1
  1180. package/dist/icons/DangerIcon.d.ts +2 -5
  1181. package/dist/icons/DangerIcon.js +2 -3
  1182. package/dist/icons/DangerIcon.js.map +1 -1
  1183. package/dist/icons/DashboardIcon.d.ts +2 -5
  1184. package/dist/icons/DashboardIcon.js +2 -3
  1185. package/dist/icons/DashboardIcon.js.map +1 -1
  1186. package/dist/icons/DatabaseIcon.d.ts +2 -5
  1187. package/dist/icons/DatabaseIcon.js +2 -3
  1188. package/dist/icons/DatabaseIcon.js.map +1 -1
  1189. package/dist/icons/DecimalDecreaseIcon.d.ts +2 -5
  1190. package/dist/icons/DecimalDecreaseIcon.js +2 -3
  1191. package/dist/icons/DecimalDecreaseIcon.js.map +1 -1
  1192. package/dist/icons/DecimalIncreaseIcon.d.ts +2 -5
  1193. package/dist/icons/DecimalIncreaseIcon.js +2 -3
  1194. package/dist/icons/DecimalIncreaseIcon.js.map +1 -1
  1195. package/dist/icons/DirectionIcon.d.ts +3 -5
  1196. package/dist/icons/DirectionIcon.js +2 -3
  1197. package/dist/icons/DirectionIcon.js.map +1 -1
  1198. package/dist/icons/DonutIcon.d.ts +2 -5
  1199. package/dist/icons/DonutIcon.js +2 -3
  1200. package/dist/icons/DonutIcon.js.map +1 -1
  1201. package/dist/icons/DownIcon.d.ts +2 -5
  1202. package/dist/icons/DownIcon.js +2 -3
  1203. package/dist/icons/DownIcon.js.map +1 -1
  1204. package/dist/icons/EditIcon.d.ts +2 -5
  1205. package/dist/icons/EditIcon.js +2 -3
  1206. package/dist/icons/EditIcon.js.map +1 -1
  1207. package/dist/icons/ExclamationCircleFilledIcon.d.ts +2 -5
  1208. package/dist/icons/ExclamationCircleFilledIcon.js +2 -3
  1209. package/dist/icons/ExclamationCircleFilledIcon.js.map +1 -1
  1210. package/dist/icons/ExclamationCircleIcon.d.ts +2 -5
  1211. package/dist/icons/ExclamationCircleIcon.js +2 -3
  1212. package/dist/icons/ExclamationCircleIcon.js.map +1 -1
  1213. package/dist/icons/ExclamationIcon.d.ts +2 -5
  1214. package/dist/icons/ExclamationIcon.js +2 -3
  1215. package/dist/icons/ExclamationIcon.js.map +1 -1
  1216. package/dist/icons/EyeIcon.d.ts +2 -5
  1217. package/dist/icons/EyeIcon.js +2 -3
  1218. package/dist/icons/EyeIcon.js.map +1 -1
  1219. package/dist/icons/EyeInvisibleIcon.d.ts +2 -5
  1220. package/dist/icons/EyeInvisibleIcon.js +2 -3
  1221. package/dist/icons/EyeInvisibleIcon.js.map +1 -1
  1222. package/dist/icons/FilterIcon.d.ts +2 -5
  1223. package/dist/icons/FilterIcon.js +2 -3
  1224. package/dist/icons/FilterIcon.js.map +1 -1
  1225. package/dist/icons/FolderFilledIcon.d.ts +2 -5
  1226. package/dist/icons/FolderFilledIcon.js +2 -3
  1227. package/dist/icons/FolderFilledIcon.js.map +1 -1
  1228. package/dist/icons/FolderIcon.d.ts +2 -5
  1229. package/dist/icons/FolderIcon.js +2 -3
  1230. package/dist/icons/FolderIcon.js.map +1 -1
  1231. package/dist/icons/FolderOpenFilledIcon.d.ts +2 -5
  1232. package/dist/icons/FolderOpenFilledIcon.js +2 -3
  1233. package/dist/icons/FolderOpenFilledIcon.js.map +1 -1
  1234. package/dist/icons/FolderOpenIcon.d.ts +2 -5
  1235. package/dist/icons/FolderOpenIcon.js +2 -3
  1236. package/dist/icons/FolderOpenIcon.js.map +1 -1
  1237. package/dist/icons/ForwardIcon.d.ts +2 -5
  1238. package/dist/icons/ForwardIcon.js +2 -3
  1239. package/dist/icons/ForwardIcon.js.map +1 -1
  1240. package/dist/icons/GripVerticalIcon.d.ts +2 -5
  1241. package/dist/icons/GripVerticalIcon.js +2 -3
  1242. package/dist/icons/GripVerticalIcon.js.map +1 -1
  1243. package/dist/icons/HierarchyIcon.d.ts +2 -5
  1244. package/dist/icons/HierarchyIcon.js +2 -3
  1245. package/dist/icons/HierarchyIcon.js.map +1 -1
  1246. package/dist/icons/HierarchyOpenIcon.d.ts +2 -5
  1247. package/dist/icons/HierarchyOpenIcon.js +2 -3
  1248. package/dist/icons/HierarchyOpenIcon.js.map +1 -1
  1249. package/dist/icons/Icon.d.ts +2 -5
  1250. package/dist/icons/Icon.js +2 -3
  1251. package/dist/icons/Icon.js.map +1 -1
  1252. package/dist/icons/InfoCircleIcon.d.ts +2 -5
  1253. package/dist/icons/InfoCircleIcon.js +2 -3
  1254. package/dist/icons/InfoCircleIcon.js.map +1 -1
  1255. package/dist/icons/InfoIcon.d.ts +2 -5
  1256. package/dist/icons/InfoIcon.js +2 -3
  1257. package/dist/icons/InfoIcon.js.map +1 -1
  1258. package/dist/icons/KeyIcon.d.ts +2 -5
  1259. package/dist/icons/KeyIcon.js +2 -3
  1260. package/dist/icons/KeyIcon.js.map +1 -1
  1261. package/dist/icons/LeftIcon.d.ts +2 -5
  1262. package/dist/icons/LeftIcon.js +2 -3
  1263. package/dist/icons/LeftIcon.js.map +1 -1
  1264. package/dist/icons/LineChartIcon.d.ts +2 -5
  1265. package/dist/icons/LineChartIcon.js +2 -3
  1266. package/dist/icons/LineChartIcon.js.map +1 -1
  1267. package/dist/icons/LoadingIcon.d.ts +2 -5
  1268. package/dist/icons/LoadingIcon.js +2 -3
  1269. package/dist/icons/LoadingIcon.js.map +1 -1
  1270. package/dist/icons/LockFilledIcon.d.ts +2 -5
  1271. package/dist/icons/LockFilledIcon.js +2 -3
  1272. package/dist/icons/LockFilledIcon.js.map +1 -1
  1273. package/dist/icons/LockIcon.d.ts +2 -5
  1274. package/dist/icons/LockIcon.js +2 -3
  1275. package/dist/icons/LockIcon.js.map +1 -1
  1276. package/dist/icons/MoreIcon.d.ts +2 -5
  1277. package/dist/icons/MoreIcon.js +2 -3
  1278. package/dist/icons/MoreIcon.js.map +1 -1
  1279. package/dist/icons/NotAllowedIcon.d.ts +2 -5
  1280. package/dist/icons/NotAllowedIcon.js +2 -3
  1281. package/dist/icons/NotAllowedIcon.js.map +1 -1
  1282. package/dist/icons/Number123Icon.d.ts +2 -5
  1283. package/dist/icons/Number123Icon.js +2 -3
  1284. package/dist/icons/Number123Icon.js.map +1 -1
  1285. package/dist/icons/NumberIcon.d.ts +2 -5
  1286. package/dist/icons/NumberIcon.js +2 -3
  1287. package/dist/icons/NumberIcon.js.map +1 -1
  1288. package/dist/icons/PauseCircleFilledIcon.d.ts +2 -5
  1289. package/dist/icons/PauseCircleFilledIcon.js +2 -3
  1290. package/dist/icons/PauseCircleFilledIcon.js.map +1 -1
  1291. package/dist/icons/PauseCircleIcon.d.ts +2 -5
  1292. package/dist/icons/PauseCircleIcon.js +2 -3
  1293. package/dist/icons/PauseCircleIcon.js.map +1 -1
  1294. package/dist/icons/PauseIcon.d.ts +2 -5
  1295. package/dist/icons/PauseIcon.js +2 -3
  1296. package/dist/icons/PauseIcon.js.map +1 -1
  1297. package/dist/icons/PercentageIcon.d.ts +2 -5
  1298. package/dist/icons/PercentageIcon.js +2 -3
  1299. package/dist/icons/PercentageIcon.js.map +1 -1
  1300. package/dist/icons/PieChartIcon.d.ts +2 -5
  1301. package/dist/icons/PieChartIcon.js +2 -3
  1302. package/dist/icons/PieChartIcon.js.map +1 -1
  1303. package/dist/icons/PipetteIcon.d.ts +2 -5
  1304. package/dist/icons/PipetteIcon.js +2 -3
  1305. package/dist/icons/PipetteIcon.js.map +1 -1
  1306. package/dist/icons/PlayCircleIcon.d.ts +2 -5
  1307. package/dist/icons/PlayCircleIcon.js +2 -3
  1308. package/dist/icons/PlayCircleIcon.js.map +1 -1
  1309. package/dist/icons/PlayIcon.d.ts +2 -5
  1310. package/dist/icons/PlayIcon.js +2 -3
  1311. package/dist/icons/PlayIcon.js.map +1 -1
  1312. package/dist/icons/PlusIcon.d.ts +2 -5
  1313. package/dist/icons/PlusIcon.js +2 -3
  1314. package/dist/icons/PlusIcon.js.map +1 -1
  1315. package/dist/icons/ProgressBarIcon.d.ts +2 -5
  1316. package/dist/icons/ProgressBarIcon.js +2 -3
  1317. package/dist/icons/ProgressBarIcon.js.map +1 -1
  1318. package/dist/icons/ReloadIcon.d.ts +2 -5
  1319. package/dist/icons/ReloadIcon.js +2 -3
  1320. package/dist/icons/ReloadIcon.js.map +1 -1
  1321. package/dist/icons/ReportIcon.d.ts +2 -5
  1322. package/dist/icons/ReportIcon.js +2 -3
  1323. package/dist/icons/ReportIcon.js.map +1 -1
  1324. package/dist/icons/ReturnIcon.d.ts +2 -5
  1325. package/dist/icons/ReturnIcon.js +2 -3
  1326. package/dist/icons/ReturnIcon.js.map +1 -1
  1327. package/dist/icons/RightIcon.d.ts +2 -5
  1328. package/dist/icons/RightIcon.js +2 -3
  1329. package/dist/icons/RightIcon.js.map +1 -1
  1330. package/dist/icons/RowTotalsIcon.d.ts +2 -5
  1331. package/dist/icons/RowTotalsIcon.js +2 -3
  1332. package/dist/icons/RowTotalsIcon.js.map +1 -1
  1333. package/dist/icons/SchemeIcon.d.ts +2 -5
  1334. package/dist/icons/SchemeIcon.js +2 -3
  1335. package/dist/icons/SchemeIcon.js.map +1 -1
  1336. package/dist/icons/SearchIcon.d.ts +2 -5
  1337. package/dist/icons/SearchIcon.js +2 -3
  1338. package/dist/icons/SearchIcon.js.map +1 -1
  1339. package/dist/icons/SemanticQueryIcon.d.ts +2 -5
  1340. package/dist/icons/SemanticQueryIcon.js +2 -3
  1341. package/dist/icons/SemanticQueryIcon.js.map +1 -1
  1342. package/dist/icons/SettingsIcon.d.ts +2 -5
  1343. package/dist/icons/SettingsIcon.js +2 -3
  1344. package/dist/icons/SettingsIcon.js.map +1 -1
  1345. package/dist/icons/ShieldFilledIcon.d.ts +2 -5
  1346. package/dist/icons/ShieldFilledIcon.js +2 -3
  1347. package/dist/icons/ShieldFilledIcon.js.map +1 -1
  1348. package/dist/icons/ShieldIcon.d.ts +2 -5
  1349. package/dist/icons/ShieldIcon.js +2 -3
  1350. package/dist/icons/ShieldIcon.js.map +1 -1
  1351. package/dist/icons/SlashIcon.d.ts +2 -5
  1352. package/dist/icons/SlashIcon.js +2 -3
  1353. package/dist/icons/SlashIcon.js.map +1 -1
  1354. package/dist/icons/SparklesIcon.d.ts +2 -5
  1355. package/dist/icons/SparklesIcon.js +2 -3
  1356. package/dist/icons/SparklesIcon.js.map +1 -1
  1357. package/dist/icons/SqlIcon.d.ts +2 -5
  1358. package/dist/icons/SqlIcon.js +2 -3
  1359. package/dist/icons/SqlIcon.js.map +1 -1
  1360. package/dist/icons/StatsIcon.d.ts +2 -5
  1361. package/dist/icons/StatsIcon.js +2 -3
  1362. package/dist/icons/StatsIcon.js.map +1 -1
  1363. package/dist/icons/StopIcon.d.ts +2 -5
  1364. package/dist/icons/StopIcon.js +2 -3
  1365. package/dist/icons/StopIcon.js.map +1 -1
  1366. package/dist/icons/StringIcon.d.ts +2 -5
  1367. package/dist/icons/StringIcon.js +2 -3
  1368. package/dist/icons/StringIcon.js.map +1 -1
  1369. package/dist/icons/SubtotalsIcon.d.ts +2 -5
  1370. package/dist/icons/SubtotalsIcon.js +2 -3
  1371. package/dist/icons/SubtotalsIcon.js.map +1 -1
  1372. package/dist/icons/SwitchIcon.d.ts +2 -5
  1373. package/dist/icons/SwitchIcon.js +2 -3
  1374. package/dist/icons/SwitchIcon.js.map +1 -1
  1375. package/dist/icons/TableIcon.d.ts +2 -5
  1376. package/dist/icons/TableIcon.js +2 -3
  1377. package/dist/icons/TableIcon.js.map +1 -1
  1378. package/dist/icons/ThumbsDownIcon.d.ts +2 -5
  1379. package/dist/icons/ThumbsDownIcon.js +2 -3
  1380. package/dist/icons/ThumbsDownIcon.js.map +1 -1
  1381. package/dist/icons/ThumbsUpIcon.d.ts +2 -5
  1382. package/dist/icons/ThumbsUpIcon.js +2 -3
  1383. package/dist/icons/ThumbsUpIcon.js.map +1 -1
  1384. package/dist/icons/ThunderboltCrossedIcon.d.ts +2 -5
  1385. package/dist/icons/ThunderboltCrossedIcon.js +2 -3
  1386. package/dist/icons/ThunderboltCrossedIcon.js.map +1 -1
  1387. package/dist/icons/ThunderboltFilledIcon.d.ts +2 -5
  1388. package/dist/icons/ThunderboltFilledIcon.js +2 -3
  1389. package/dist/icons/ThunderboltFilledIcon.js.map +1 -1
  1390. package/dist/icons/ThunderboltIcon.d.ts +2 -5
  1391. package/dist/icons/ThunderboltIcon.js +2 -3
  1392. package/dist/icons/ThunderboltIcon.js.map +1 -1
  1393. package/dist/icons/TimeIcon.d.ts +2 -5
  1394. package/dist/icons/TimeIcon.js +2 -3
  1395. package/dist/icons/TimeIcon.js.map +1 -1
  1396. package/dist/icons/TrashIcon.d.ts +2 -5
  1397. package/dist/icons/TrashIcon.js +2 -3
  1398. package/dist/icons/TrashIcon.js.map +1 -1
  1399. package/dist/icons/UnlockIcon.d.ts +2 -5
  1400. package/dist/icons/UnlockIcon.js +2 -3
  1401. package/dist/icons/UnlockIcon.js.map +1 -1
  1402. package/dist/icons/UpIcon.d.ts +2 -5
  1403. package/dist/icons/UpIcon.js +2 -3
  1404. package/dist/icons/UpIcon.js.map +1 -1
  1405. package/dist/icons/UserGroupIcon.d.ts +2 -5
  1406. package/dist/icons/UserGroupIcon.js +2 -3
  1407. package/dist/icons/UserGroupIcon.js.map +1 -1
  1408. package/dist/icons/UserIcon.d.ts +2 -5
  1409. package/dist/icons/UserIcon.js +2 -3
  1410. package/dist/icons/UserIcon.js.map +1 -1
  1411. package/dist/icons/UserLockIcon.d.ts +2 -5
  1412. package/dist/icons/UserLockIcon.js +2 -3
  1413. package/dist/icons/UserLockIcon.js.map +1 -1
  1414. package/dist/icons/ViewIcon.d.ts +2 -5
  1415. package/dist/icons/ViewIcon.js +2 -3
  1416. package/dist/icons/ViewIcon.js.map +1 -1
  1417. package/dist/icons/WarningFilledIcon.d.ts +2 -5
  1418. package/dist/icons/WarningFilledIcon.js +2 -3
  1419. package/dist/icons/WarningFilledIcon.js.map +1 -1
  1420. package/dist/icons/WarningIcon.d.ts +2 -5
  1421. package/dist/icons/WarningIcon.js +2 -3
  1422. package/dist/icons/WarningIcon.js.map +1 -1
  1423. package/dist/icons/index.d.ts +2 -1
  1424. package/dist/icons/wrap-icon.d.ts +2 -5
  1425. package/dist/icons/wrap-icon.js +2 -3
  1426. package/dist/icons/wrap-icon.js.map +1 -1
  1427. package/dist/index.d.ts +59 -61
  1428. package/dist/index.js +59 -64
  1429. package/dist/index.js.map +1 -1
  1430. package/dist/node_modules/.pnpm/csstype@3.1.2/node_modules/csstype/index.d.ts +3 -4
  1431. package/dist/probe/canonicalize.d.ts +3 -4
  1432. package/dist/probe/canonicalize.js +2 -2
  1433. package/dist/probe/canonicalize.js.map +1 -1
  1434. package/dist/probe/css.d.ts +4 -5
  1435. package/dist/probe/css.js +2 -3
  1436. package/dist/probe/css.js.map +1 -1
  1437. package/dist/probe/index.js +2 -3
  1438. package/dist/props.d.ts +1 -2
  1439. package/dist/provider.d.ts +3 -6
  1440. package/dist/provider.js +2 -3
  1441. package/dist/provider.js.map +1 -1
  1442. package/dist/providers/TrackingProvider.d.ts +1 -3
  1443. package/dist/providers/TrackingProvider.js +3 -4
  1444. package/dist/providers/TrackingProvider.js.map +1 -1
  1445. package/dist/providers/navigation-url.js +2 -2
  1446. package/dist/providers/navigation-url.js.map +1 -1
  1447. package/dist/providers/navigation.types.d.ts +7 -8
  1448. package/dist/providers/navigationAdapter.default.d.ts +1 -3
  1449. package/dist/providers/navigationAdapter.default.js +6 -4
  1450. package/dist/providers/navigationAdapter.default.js.map +1 -1
  1451. package/dist/providers/use-navigation.js +2 -3
  1452. package/dist/providers/use-navigation.js.map +1 -1
  1453. package/dist/shared/form.d.ts +33 -23
  1454. package/dist/shared/index.d.ts +4 -5
  1455. package/dist/tokens/all-tokens.d.ts +2 -4
  1456. package/dist/tokens/all-tokens.js +2 -3
  1457. package/dist/tokens/all-tokens.js.map +1 -1
  1458. package/dist/tokens/base.d.ts +1 -3
  1459. package/dist/tokens/base.js +38 -2
  1460. package/dist/tokens/base.js.map +1 -1
  1461. package/dist/tokens/color-seed.d.ts +2 -3
  1462. package/dist/tokens/color-seed.js +2 -3
  1463. package/dist/tokens/color-seed.js.map +1 -1
  1464. package/dist/tokens/color-theme.d.ts +5 -7
  1465. package/dist/tokens/color-theme.js +5 -6
  1466. package/dist/tokens/color-theme.js.map +1 -1
  1467. package/dist/tokens/colors.d.ts +3 -5
  1468. package/dist/tokens/colors.js +2 -3
  1469. package/dist/tokens/colors.js.map +1 -1
  1470. package/dist/tokens/index.d.ts +2 -1
  1471. package/dist/tokens/layout.d.ts +1 -3
  1472. package/dist/tokens/layout.js +7 -2
  1473. package/dist/tokens/layout.js.map +1 -1
  1474. package/dist/tokens/lazy-styles.js +2 -2
  1475. package/dist/tokens/lazy-styles.js.map +1 -1
  1476. package/dist/tokens/legacy-color.d.ts +3 -4
  1477. package/dist/tokens/legacy-color.js +2 -3
  1478. package/dist/tokens/legacy-color.js.map +1 -1
  1479. package/dist/tokens/palette-config.d.ts +19 -20
  1480. package/dist/tokens/palette-config.js +9 -24
  1481. package/dist/tokens/palette-config.js.map +1 -1
  1482. package/dist/tokens/palette.d.ts +6 -8
  1483. package/dist/tokens/palette.js +73 -89
  1484. package/dist/tokens/palette.js.map +1 -1
  1485. package/dist/tokens/resolve.d.ts +8 -9
  1486. package/dist/tokens/resolve.js +5 -6
  1487. package/dist/tokens/resolve.js.map +1 -1
  1488. package/dist/tokens/shadows.d.ts +1 -3
  1489. package/dist/tokens/shadows.js +6 -2
  1490. package/dist/tokens/shadows.js.map +1 -1
  1491. package/dist/tokens/sizes.d.ts +5 -7
  1492. package/dist/tokens/sizes.js +2 -2
  1493. package/dist/tokens/sizes.js.map +1 -1
  1494. package/dist/tokens/spacing.d.ts +1 -3
  1495. package/dist/tokens/spacing.js +2 -2
  1496. package/dist/tokens/spacing.js.map +1 -1
  1497. package/dist/tokens/typography.d.ts +2 -3
  1498. package/dist/tokens/typography.js +2 -2
  1499. package/dist/tokens/typography.js.map +1 -1
  1500. package/dist/utils/ResizeSensor.d.ts +1 -2
  1501. package/dist/utils/ResizeSensor.js +11 -9
  1502. package/dist/utils/ResizeSensor.js.map +1 -1
  1503. package/dist/utils/colors.js +3 -4
  1504. package/dist/utils/colors.js.map +1 -1
  1505. package/dist/utils/dotize.js +2 -2
  1506. package/dist/utils/dotize.js.map +1 -1
  1507. package/dist/utils/index.d.ts +2 -1
  1508. package/dist/utils/is-dev-env.js +2 -2
  1509. package/dist/utils/is-dev-env.js.map +1 -1
  1510. package/dist/utils/modules.d.ts +1 -2
  1511. package/dist/utils/modules.js +2 -2
  1512. package/dist/utils/modules.js.map +1 -1
  1513. package/dist/utils/promise.d.ts +1 -2
  1514. package/dist/utils/promise.js +2 -2
  1515. package/dist/utils/promise.js.map +1 -1
  1516. package/dist/utils/raf.d.ts +1 -2
  1517. package/dist/utils/raf.js +2 -2
  1518. package/dist/utils/raf.js.map +1 -1
  1519. package/dist/utils/random.d.ts +2 -3
  1520. package/dist/utils/random.js +3 -4
  1521. package/dist/utils/random.js.map +1 -1
  1522. package/dist/utils/range.d.ts +1 -2
  1523. package/dist/utils/range.js +2 -2
  1524. package/dist/utils/range.js.map +1 -1
  1525. package/dist/utils/react/RenderCache.d.ts +2 -9
  1526. package/dist/utils/react/RenderCache.js +2 -3
  1527. package/dist/utils/react/RenderCache.js.map +1 -1
  1528. package/dist/utils/react/Slots.d.ts +3 -6
  1529. package/dist/utils/react/Slots.js +2 -3
  1530. package/dist/utils/react/Slots.js.map +1 -1
  1531. package/dist/utils/react/chain.d.ts +1 -2
  1532. package/dist/utils/react/chain.js +2 -2
  1533. package/dist/utils/react/chain.js.map +1 -1
  1534. package/dist/utils/react/disabledProps.d.ts +4 -10
  1535. package/dist/utils/react/disabledProps.js +3 -3
  1536. package/dist/utils/react/disabledProps.js.map +1 -1
  1537. package/dist/utils/react/forwardRefWithGenerics.d.ts +2 -5
  1538. package/dist/utils/react/forwardRefWithGenerics.js +2 -2
  1539. package/dist/utils/react/forwardRefWithGenerics.js.map +1 -1
  1540. package/dist/utils/react/index.d.ts +1 -1
  1541. package/dist/utils/react/index.js +2 -3
  1542. package/dist/utils/react/interactions.js +2 -3
  1543. package/dist/utils/react/interactions.js.map +1 -1
  1544. package/dist/utils/react/isTextOnly.d.ts +1 -2
  1545. package/dist/utils/react/isTextOnly.js +2 -3
  1546. package/dist/utils/react/isTextOnly.js.map +1 -1
  1547. package/dist/utils/react/mapProps.js +2 -2
  1548. package/dist/utils/react/mapProps.js.map +1 -1
  1549. package/dist/utils/react/mergeProps.d.ts +2 -3
  1550. package/dist/utils/react/mergeProps.js +2 -3
  1551. package/dist/utils/react/mergeProps.js.map +1 -1
  1552. package/dist/utils/react/nullableValue.d.ts +1 -3
  1553. package/dist/utils/react/nullableValue.js +3 -3
  1554. package/dist/utils/react/nullableValue.js.map +1 -1
  1555. package/dist/utils/react/overlayKeyPropagation.js +3 -3
  1556. package/dist/utils/react/overlayKeyPropagation.js.map +1 -1
  1557. package/dist/utils/react/programmaticFocus.js +2 -2
  1558. package/dist/utils/react/programmaticFocus.js.map +1 -1
  1559. package/dist/utils/react/resolveIcon.d.ts +4 -6
  1560. package/dist/utils/react/resolveIcon.js +2 -2
  1561. package/dist/utils/react/resolveIcon.js.map +1 -1
  1562. package/dist/utils/react/sharedStore.js +2 -3
  1563. package/dist/utils/react/sharedStore.js.map +1 -1
  1564. package/dist/utils/react/useBufferedValue.d.ts +3 -4
  1565. package/dist/utils/react/useBufferedValue.js +2 -3
  1566. package/dist/utils/react/useBufferedValue.js.map +1 -1
  1567. package/dist/utils/react/useCombinedRefs.d.ts +2 -4
  1568. package/dist/utils/react/useCombinedRefs.js +2 -3
  1569. package/dist/utils/react/useCombinedRefs.js.map +1 -1
  1570. package/dist/utils/react/useControlledFocusVisible.d.ts +2 -3
  1571. package/dist/utils/react/useControlledFocusVisible.js +2 -3
  1572. package/dist/utils/react/useControlledFocusVisible.js.map +1 -1
  1573. package/dist/utils/react/useEventBus.d.ts +6 -10
  1574. package/dist/utils/react/useEventBus.js +2 -3
  1575. package/dist/utils/react/useEventBus.js.map +1 -1
  1576. package/dist/utils/react/useId.js +3 -4
  1577. package/dist/utils/react/useId.js.map +1 -1
  1578. package/dist/utils/react/useIsDarwin.js +2 -3
  1579. package/dist/utils/react/useIsDarwin.js.map +1 -1
  1580. package/dist/utils/react/useKeySymbols.js +2 -3
  1581. package/dist/utils/react/useKeySymbols.js.map +1 -1
  1582. package/dist/utils/react/useLayoutEffect.d.ts +0 -1
  1583. package/dist/utils/react/useLayoutEffect.js +2 -3
  1584. package/dist/utils/react/useLayoutEffect.js.map +1 -1
  1585. package/dist/utils/react/useLocalStorage.d.ts +2 -2
  1586. package/dist/utils/react/useLocalStorage.js +2 -3
  1587. package/dist/utils/react/useLocalStorage.js.map +1 -1
  1588. package/dist/utils/react/useMergeStyles.d.ts +1 -3
  1589. package/dist/utils/react/useMergeStyles.js +4 -4
  1590. package/dist/utils/react/useMergeStyles.js.map +1 -1
  1591. package/dist/utils/react/useOverlayEscapeGuard.js +2 -3
  1592. package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
  1593. package/dist/utils/react/usePopoverSync.d.ts +3 -14
  1594. package/dist/utils/react/usePopoverSync.js +2 -3
  1595. package/dist/utils/react/usePopoverSync.js.map +1 -1
  1596. package/dist/utils/react/useQaProps.d.ts +2 -2
  1597. package/dist/utils/react/useQaProps.js +6 -4
  1598. package/dist/utils/react/useQaProps.js.map +1 -1
  1599. package/dist/utils/react/useScheme.d.ts +6 -7
  1600. package/dist/utils/react/useScheme.js +2 -3
  1601. package/dist/utils/react/useScheme.js.map +1 -1
  1602. package/dist/utils/react/useViewportSize.d.ts +3 -3
  1603. package/dist/utils/react/useViewportSize.js +2 -3
  1604. package/dist/utils/react/useViewportSize.js.map +1 -1
  1605. package/dist/utils/react/wrapNodeIfPlain.d.ts +1 -3
  1606. package/dist/utils/react/wrapNodeIfPlain.js +2 -3
  1607. package/dist/utils/react/wrapNodeIfPlain.js.map +1 -1
  1608. package/dist/utils/selection.d.ts +1 -3
  1609. package/dist/utils/selection.js +2 -2
  1610. package/dist/utils/selection.js.map +1 -1
  1611. package/dist/utils/styles.d.ts +1 -3
  1612. package/dist/utils/styles.js +2 -3
  1613. package/dist/utils/styles.js.map +1 -1
  1614. package/dist/utils/tree.d.ts +1 -2
  1615. package/dist/utils/tree.js +2 -2
  1616. package/dist/utils/tree.js.map +1 -1
  1617. package/dist/utils/warnings.d.ts +1 -2
  1618. package/dist/utils/warnings.js +2 -3
  1619. package/dist/utils/warnings.js.map +1 -1
  1620. package/dist/version.d.ts +1 -0
  1621. package/dist/version.js +4 -4
  1622. package/dist/version.js.map +1 -1
  1623. package/docs/CreateComponent.md +5 -1
  1624. package/docs/FieldProperties.md +11 -7
  1625. package/docs/Theming.md +1 -1
  1626. package/docs/Usage.md +8 -2
  1627. package/docs/components/content/Alert.md +3 -2
  1628. package/docs/components/content/Layout.md +78 -1
  1629. package/docs/components/content/TextItem.md +2 -2
  1630. package/docs/components/fields/ComboBox.md +1 -2
  1631. package/docs/components/fields/FilterListBox.md +3 -3
  1632. package/docs/components/fields/FilterPicker.md +8 -12
  1633. package/docs/components/fields/ListBox.md +11 -10
  1634. package/docs/components/fields/NumberInput.md +1 -2
  1635. package/docs/components/fields/Picker.md +10 -14
  1636. package/docs/components/fields/Select.md +11 -9
  1637. package/docs/components/fields/Switch.md +4 -5
  1638. package/docs/components/overlays/AlertDialog.md +1 -1
  1639. package/docs/components/overlays/Dialog.md +6 -6
  1640. package/docs/components/overlays/DialogContainer.md +46 -11
  1641. package/docs/components/overlays/DialogTrigger.md +5 -3
  1642. package/docs/tasty/README.md +4 -1
  1643. package/docs/tasty/adoption.md +25 -17
  1644. package/docs/tasty/ai-agents.md +42 -34
  1645. package/docs/tasty/comparison.md +9 -8
  1646. package/docs/tasty/configuration.md +187 -69
  1647. package/docs/tasty/debug.md +3 -2
  1648. package/docs/tasty/design-system.md +117 -15
  1649. package/docs/tasty/dsl.md +211 -117
  1650. package/docs/tasty/getting-started.md +81 -24
  1651. package/docs/tasty/injector.md +41 -40
  1652. package/docs/tasty/methodology.md +46 -21
  1653. package/docs/tasty/migration-v3.md +3 -3
  1654. package/docs/tasty/pipeline.md +22 -19
  1655. package/docs/tasty/plugins.md +21 -41
  1656. package/docs/tasty/react-api.md +72 -9
  1657. package/docs/tasty/runtime-benchmarks.md +11 -11
  1658. package/docs/tasty/ssr.md +92 -66
  1659. package/docs/tasty/styles.md +37 -17
  1660. package/docs/tasty/tasty-static.md +175 -57
  1661. package/package.json +18 -16
  1662. package/tasty.config.ts +8 -0
  1663. package/dist/i18n/useI18n.d.ts +0 -2
@@ -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.196.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.196.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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"}
@@ -1,7 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.196.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 { useEffect, useRef } from "react";
4
-
5
4
  //#region src/components/overlays/Notifications/use-overlay-timers.ts
6
5
  /**
7
6
  * Creates a start/clear/pause/resume pair for a single timer category.
@@ -127,7 +126,7 @@ function useOverlayTimers(deps) {
127
126
  handlePauseChange
128
127
  };
129
128
  }
130
-
131
129
  //#endregion
132
130
  export { useOverlayTimers };
131
+
133
132
  //# sourceMappingURL=use-overlay-timers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-overlay-timers.js","names":["Key","useEffect","useRef","useEvent","InternalToast","DismissReason","InternalNotification","OverlayTimers","startToastTimer","internalId","id","duration","clearToastTimer","startNotificationTimer","clearNotificationTimer","handlePauseChange","paused","OverlayTimersDeps","toastsRef","ReturnType","notificationsRef","removeToast","removeNotification","reason","TimerManager","start","clear","pauseAll","resumeAll","clearAll","createTimerManager","timersMap","Map","setTimeout","pausedMap","remaining","startedAt","isPausedRef","onTimeout","findItem","isExiting","timer","get","clearTimeout","delete","set","Date","now","current","forEach","info","elapsed","Math","max","item","has","useOverlayTimers","deps","toastTimersMap","notificationTimersMap","toastManager","notifManager","find","t","n"],"sources":["../../../../src/components/overlays/Notifications/use-overlay-timers.ts"],"sourcesContent":["import { Key, useEffect, useRef } from 'react';\n\nimport { useEvent } from '../../../_internal';\n\nimport type { InternalToast } from '../Toast/types';\nimport type { DismissReason, InternalNotification } from './types';\n\n// ─── Types ───────────────────────────────────────────────────────────\n\nexport interface OverlayTimers {\n /** Start a toast auto-dismiss timer */\n startToastTimer: (internalId: string, id: Key, duration: number) => void;\n /** Clear a toast timer */\n clearToastTimer: (internalId: string) => void;\n /** Start a notification auto-dismiss timer */\n startNotificationTimer: (\n internalId: string,\n id: Key,\n duration: number,\n ) => void;\n /** Clear a notification timer */\n clearNotificationTimer: (internalId: string) => void;\n /** Handle pause/resume of all timers (e.g. on hover/focus) */\n handlePauseChange: (paused: boolean) => void;\n}\n\nexport interface OverlayTimersDeps {\n /** Ref to current toasts (for resume lookup) */\n toastsRef: ReturnType<typeof useRef<InternalToast[]>>;\n /** Ref to current notifications (for resume lookup) */\n notificationsRef: ReturnType<typeof useRef<InternalNotification[]>>;\n /** Remove a toast by id */\n removeToast: (id: Key) => void;\n /** Remove a notification by id with reason (also invokes onDismiss callback) */\n removeNotification: (id: Key, reason: DismissReason) => void;\n}\n\n// ─── Timer Manager Factory ───────────────────────────────────────────\n\ninterface TimerManager {\n start: (internalId: string, id: Key, duration: number) => void;\n clear: (internalId: string) => void;\n pauseAll: () => void;\n resumeAll: () => void;\n clearAll: () => void;\n}\n\n/**\n * Creates a start/clear/pause/resume pair for a single timer category.\n * Eliminates duplication between toast and notification timer logic.\n */\nfunction createTimerManager(\n timersMap: Map<string, ReturnType<typeof setTimeout>>,\n pausedMap: Map<string, { remaining: number; startedAt: number }>,\n isPausedRef: ReturnType<typeof useRef<boolean>>,\n onTimeout: (id: Key) => void,\n findItem: (\n internalId: string,\n ) => { id?: Key; internalId: string; isExiting?: boolean } | undefined,\n): TimerManager {\n const clear = (internalId: string) => {\n const timer = timersMap.get(internalId);\n\n if (timer) {\n clearTimeout(timer);\n timersMap.delete(internalId);\n }\n\n pausedMap.delete(internalId);\n };\n\n const start = (internalId: string, id: Key, duration: number) => {\n clear(internalId);\n\n pausedMap.set(internalId, {\n remaining: duration,\n startedAt: Date.now(),\n });\n\n if (isPausedRef.current) {\n return;\n }\n\n const timer = setTimeout(() => {\n onTimeout(id);\n }, duration);\n\n timersMap.set(internalId, timer);\n };\n\n const pauseAll = () => {\n timersMap.forEach((timer, internalId) => {\n clearTimeout(timer);\n timersMap.delete(internalId);\n\n const info = pausedMap.get(internalId);\n\n if (info) {\n const elapsed = Date.now() - info.startedAt;\n pausedMap.set(internalId, {\n remaining: Math.max(0, info.remaining - elapsed),\n startedAt: Date.now(),\n });\n }\n });\n };\n\n const resumeAll = () => {\n pausedMap.forEach((info, internalId) => {\n const item = findItem(internalId);\n\n if (!item || item.isExiting || timersMap.has(internalId)) return;\n\n if (info.remaining <= 0) {\n pausedMap.delete(internalId);\n onTimeout(item.id ?? item.internalId);\n\n return;\n }\n\n const timer = setTimeout(() => {\n onTimeout(item.id ?? item.internalId);\n }, info.remaining);\n\n timersMap.set(internalId, timer);\n pausedMap.set(internalId, {\n remaining: info.remaining,\n startedAt: Date.now(),\n });\n });\n };\n\n const clearAll = () => {\n timersMap.forEach((timer) => clearTimeout(timer));\n timersMap.clear();\n };\n\n return { start, clear, pauseAll, resumeAll, clearAll };\n}\n\n// ─── Hook ────────────────────────────────────────────────────────────\n\nexport function useOverlayTimers(deps: OverlayTimersDeps): OverlayTimers {\n const { toastsRef, notificationsRef, removeToast, removeNotification } = deps;\n\n const toastTimersMap = useRef(\n new Map<string, ReturnType<typeof setTimeout>>(),\n ).current;\n const notificationTimersMap = useRef(\n new Map<string, ReturnType<typeof setTimeout>>(),\n ).current;\n const isPausedRef = useRef(false);\n\n // Shared paused-timers map. Toast and notification internalIds use distinct prefixes\n // ('toast-' and 'notif-') so they coexist safely in a single map.\n const pausedMap = useRef(\n new Map<string, { remaining: number; startedAt: number }>(),\n ).current;\n\n const toastManager = useRef<TimerManager | null>(null);\n const notifManager = useRef<TimerManager | null>(null);\n\n // Lazily create managers — deps are stable (useEvent / refs), so this runs once.\n if (!toastManager.current) {\n toastManager.current = createTimerManager(\n toastTimersMap,\n pausedMap,\n isPausedRef,\n (id) => removeToast(id),\n (internalId) =>\n toastsRef.current?.find((t) => t.internalId === internalId),\n );\n }\n\n if (!notifManager.current) {\n notifManager.current = createTimerManager(\n notificationTimersMap,\n pausedMap,\n isPausedRef,\n (id) => removeNotification(id, 'timeout'),\n (internalId) =>\n notificationsRef.current?.find((n) => n.internalId === internalId),\n );\n }\n\n // ─── Stable callbacks ──────────────────────────────────────────────\n\n const startToastTimer = useEvent(\n (internalId: string, id: Key, duration: number) => {\n toastManager.current!.start(internalId, id, duration);\n },\n );\n\n const clearToastTimer = useEvent((internalId: string) => {\n toastManager.current!.clear(internalId);\n });\n\n const startNotificationTimer = useEvent(\n (internalId: string, id: Key, duration: number) => {\n notifManager.current!.start(internalId, id, duration);\n },\n );\n\n const clearNotificationTimer = useEvent((internalId: string) => {\n notifManager.current!.clear(internalId);\n });\n\n // ─── Pause / Resume ─────────────────────────────────────────────\n\n const handlePauseChange = useEvent((paused: boolean) => {\n if (paused === isPausedRef.current) return;\n\n isPausedRef.current = paused;\n\n if (paused) {\n toastManager.current!.pauseAll();\n notifManager.current!.pauseAll();\n } else {\n toastManager.current!.resumeAll();\n notifManager.current!.resumeAll();\n }\n });\n\n // An effect can enqueue an item while paused just before an empty-stack\n // reset resumes timers. Retry once that item reaches the committed lookup,\n // preserving the deadlines of timers that are already running.\n useEffect(() => {\n if (!isPausedRef.current) {\n toastManager.current!.resumeAll();\n notifManager.current!.resumeAll();\n }\n });\n\n // ─── Cleanup on unmount ─────────────────────────────────────────\n\n useEffect(() => {\n return () => {\n toastManager.current!.clearAll();\n notifManager.current!.clearAll();\n pausedMap.clear();\n };\n }, []);\n\n return {\n startToastTimer,\n clearToastTimer,\n startNotificationTimer,\n clearNotificationTimer,\n handlePauseChange,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-overlay-timers.js","names":["Key","useEffect","useRef","useEvent","InternalToast","DismissReason","InternalNotification","OverlayTimers","startToastTimer","internalId","id","duration","clearToastTimer","startNotificationTimer","clearNotificationTimer","handlePauseChange","paused","OverlayTimersDeps","toastsRef","ReturnType","notificationsRef","removeToast","removeNotification","reason","TimerManager","start","clear","pauseAll","resumeAll","clearAll","createTimerManager","timersMap","Map","setTimeout","pausedMap","remaining","startedAt","isPausedRef","onTimeout","findItem","isExiting","timer","get","clearTimeout","delete","set","Date","now","current","forEach","info","elapsed","Math","max","item","has","useOverlayTimers","deps","toastTimersMap","notificationTimersMap","toastManager","notifManager","find","t","n"],"sources":["../../../../src/components/overlays/Notifications/use-overlay-timers.ts"],"sourcesContent":["import { Key, useEffect, useRef } from 'react';\n\nimport { useEvent } from '../../../_internal';\n\nimport type { InternalToast } from '../Toast/types';\nimport type { DismissReason, InternalNotification } from './types';\n\n// ─── Types ───────────────────────────────────────────────────────────\n\nexport interface OverlayTimers {\n /** Start a toast auto-dismiss timer */\n startToastTimer: (internalId: string, id: Key, duration: number) => void;\n /** Clear a toast timer */\n clearToastTimer: (internalId: string) => void;\n /** Start a notification auto-dismiss timer */\n startNotificationTimer: (\n internalId: string,\n id: Key,\n duration: number,\n ) => void;\n /** Clear a notification timer */\n clearNotificationTimer: (internalId: string) => void;\n /** Handle pause/resume of all timers (e.g. on hover/focus) */\n handlePauseChange: (paused: boolean) => void;\n}\n\nexport interface OverlayTimersDeps {\n /** Ref to current toasts (for resume lookup) */\n toastsRef: ReturnType<typeof useRef<InternalToast[]>>;\n /** Ref to current notifications (for resume lookup) */\n notificationsRef: ReturnType<typeof useRef<InternalNotification[]>>;\n /** Remove a toast by id */\n removeToast: (id: Key) => void;\n /** Remove a notification by id with reason (also invokes onDismiss callback) */\n removeNotification: (id: Key, reason: DismissReason) => void;\n}\n\n// ─── Timer Manager Factory ───────────────────────────────────────────\n\ninterface TimerManager {\n start: (internalId: string, id: Key, duration: number) => void;\n clear: (internalId: string) => void;\n pauseAll: () => void;\n resumeAll: () => void;\n clearAll: () => void;\n}\n\n/**\n * Creates a start/clear/pause/resume pair for a single timer category.\n * Eliminates duplication between toast and notification timer logic.\n */\nfunction createTimerManager(\n timersMap: Map<string, ReturnType<typeof setTimeout>>,\n pausedMap: Map<string, { remaining: number; startedAt: number }>,\n isPausedRef: ReturnType<typeof useRef<boolean>>,\n onTimeout: (id: Key) => void,\n findItem: (\n internalId: string,\n ) => { id?: Key; internalId: string; isExiting?: boolean } | undefined,\n): TimerManager {\n const clear = (internalId: string) => {\n const timer = timersMap.get(internalId);\n\n if (timer) {\n clearTimeout(timer);\n timersMap.delete(internalId);\n }\n\n pausedMap.delete(internalId);\n };\n\n const start = (internalId: string, id: Key, duration: number) => {\n clear(internalId);\n\n pausedMap.set(internalId, {\n remaining: duration,\n startedAt: Date.now(),\n });\n\n if (isPausedRef.current) {\n return;\n }\n\n const timer = setTimeout(() => {\n onTimeout(id);\n }, duration);\n\n timersMap.set(internalId, timer);\n };\n\n const pauseAll = () => {\n timersMap.forEach((timer, internalId) => {\n clearTimeout(timer);\n timersMap.delete(internalId);\n\n const info = pausedMap.get(internalId);\n\n if (info) {\n const elapsed = Date.now() - info.startedAt;\n pausedMap.set(internalId, {\n remaining: Math.max(0, info.remaining - elapsed),\n startedAt: Date.now(),\n });\n }\n });\n };\n\n const resumeAll = () => {\n pausedMap.forEach((info, internalId) => {\n const item = findItem(internalId);\n\n if (!item || item.isExiting || timersMap.has(internalId)) return;\n\n if (info.remaining <= 0) {\n pausedMap.delete(internalId);\n onTimeout(item.id ?? item.internalId);\n\n return;\n }\n\n const timer = setTimeout(() => {\n onTimeout(item.id ?? item.internalId);\n }, info.remaining);\n\n timersMap.set(internalId, timer);\n pausedMap.set(internalId, {\n remaining: info.remaining,\n startedAt: Date.now(),\n });\n });\n };\n\n const clearAll = () => {\n timersMap.forEach((timer) => clearTimeout(timer));\n timersMap.clear();\n };\n\n return { start, clear, pauseAll, resumeAll, clearAll };\n}\n\n// ─── Hook ────────────────────────────────────────────────────────────\n\nexport function useOverlayTimers(deps: OverlayTimersDeps): OverlayTimers {\n const { toastsRef, notificationsRef, removeToast, removeNotification } = deps;\n\n const toastTimersMap = useRef(\n new Map<string, ReturnType<typeof setTimeout>>(),\n ).current;\n const notificationTimersMap = useRef(\n new Map<string, ReturnType<typeof setTimeout>>(),\n ).current;\n const isPausedRef = useRef(false);\n\n // Shared paused-timers map. Toast and notification internalIds use distinct prefixes\n // ('toast-' and 'notif-') so they coexist safely in a single map.\n const pausedMap = useRef(\n new Map<string, { remaining: number; startedAt: number }>(),\n ).current;\n\n const toastManager = useRef<TimerManager | null>(null);\n const notifManager = useRef<TimerManager | null>(null);\n\n // Lazily create managers — deps are stable (useEvent / refs), so this runs once.\n if (!toastManager.current) {\n toastManager.current = createTimerManager(\n toastTimersMap,\n pausedMap,\n isPausedRef,\n (id) => removeToast(id),\n (internalId) =>\n toastsRef.current?.find((t) => t.internalId === internalId),\n );\n }\n\n if (!notifManager.current) {\n notifManager.current = createTimerManager(\n notificationTimersMap,\n pausedMap,\n isPausedRef,\n (id) => removeNotification(id, 'timeout'),\n (internalId) =>\n notificationsRef.current?.find((n) => n.internalId === internalId),\n );\n }\n\n // ─── Stable callbacks ──────────────────────────────────────────────\n\n const startToastTimer = useEvent(\n (internalId: string, id: Key, duration: number) => {\n toastManager.current!.start(internalId, id, duration);\n },\n );\n\n const clearToastTimer = useEvent((internalId: string) => {\n toastManager.current!.clear(internalId);\n });\n\n const startNotificationTimer = useEvent(\n (internalId: string, id: Key, duration: number) => {\n notifManager.current!.start(internalId, id, duration);\n },\n );\n\n const clearNotificationTimer = useEvent((internalId: string) => {\n notifManager.current!.clear(internalId);\n });\n\n // ─── Pause / Resume ─────────────────────────────────────────────\n\n const handlePauseChange = useEvent((paused: boolean) => {\n if (paused === isPausedRef.current) return;\n\n isPausedRef.current = paused;\n\n if (paused) {\n toastManager.current!.pauseAll();\n notifManager.current!.pauseAll();\n } else {\n toastManager.current!.resumeAll();\n notifManager.current!.resumeAll();\n }\n });\n\n // An effect can enqueue an item while paused just before an empty-stack\n // reset resumes timers. Retry once that item reaches the committed lookup,\n // preserving the deadlines of timers that are already running.\n useEffect(() => {\n if (!isPausedRef.current) {\n toastManager.current!.resumeAll();\n notifManager.current!.resumeAll();\n }\n });\n\n // ─── Cleanup on unmount ─────────────────────────────────────────\n\n useEffect(() => {\n return () => {\n toastManager.current!.clearAll();\n notifManager.current!.clearAll();\n pausedMap.clear();\n };\n }, []);\n\n return {\n startToastTimer,\n clearToastTimer,\n startNotificationTimer,\n clearNotificationTimer,\n handlePauseChange,\n };\n}\n"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
 
2
2
  import { PersistentNotificationItem } from "./types.js";
3
3
  import { Key } from "react";
4
-
5
4
  //#region src/components/overlays/Notifications/use-persistent-notifications.d.ts
6
5
  /**
7
6
  * Hook to access the persistent notifications list.
@@ -26,7 +25,7 @@ import { Key } from "react";
26
25
  * );
27
26
  * ```
28
27
  */
29
- declare function usePersistentNotifications(): {
28
+ export declare function usePersistentNotifications(): {
30
29
  items: PersistentNotificationItem[];
31
30
  count: number;
32
31
  remove: (id: Key) => void;
@@ -45,10 +44,9 @@ declare function usePersistentNotifications(): {
45
44
  * return <Badge count={unread} />;
46
45
  * ```
47
46
  */
48
- declare function useNotificationsCount(): {
47
+ export declare function useNotificationsCount(): {
49
48
  total: number;
50
49
  unread: number;
51
50
  };
52
51
  //#endregion
53
- export { useNotificationsCount, usePersistentNotifications };
54
52
  //# sourceMappingURL=use-persistent-notifications.d.ts.map
@@ -1,7 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.196.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.198.0 | Cube Dev Team */
2
2
  import { usePersistentNotificationsContext } from "./NotificationContext.js";
3
3
  import { c } from "react/compiler-runtime";
4
-
5
4
  //#region src/components/overlays/Notifications/use-persistent-notifications.ts
6
5
  /**
7
6
  * Hook to access the persistent notifications list.
@@ -83,7 +82,7 @@ function useNotificationsCount() {
83
82
  function _temp(i) {
84
83
  return !i.isRead;
85
84
  }
86
-
87
85
  //#endregion
88
86
  export { useNotificationsCount, usePersistentNotifications };
87
+
89
88
  //# sourceMappingURL=use-persistent-notifications.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-persistent-notifications.js","names":["Key","usePersistentNotificationsContext","PersistentNotificationItem","usePersistentNotifications","$","_c","persistentItems","removePersistentItem","clearPersistentItems","markAllAsRead","t0","items","count","length","remove","clear","useNotificationsCount","t1","filter","_temp","t2","total","unread","i","isRead"],"sources":["../../../../src/components/overlays/Notifications/use-persistent-notifications.ts"],"sourcesContent":["import { Key } from 'react';\n\nimport { usePersistentNotificationsContext } from './NotificationContext';\n\nimport type { PersistentNotificationItem } from './types';\n\n/**\n * Hook to access the persistent notifications list.\n *\n * Items are ordered newest first (by `createdAt`, descending).\n *\n * @example\n * ```tsx\n * const { items, count, remove, clear } = usePersistentNotifications();\n *\n * return (\n * <div>\n * <span>Notifications ({count})</span>\n * {items.map(item => (\n * <div key={item.id}>\n * {item.title}\n * <button onClick={() => remove(item.id)}>Remove</button>\n * </div>\n * ))}\n * <button onClick={clear}>Clear all</button>\n * </div>\n * );\n * ```\n */\nexport function usePersistentNotifications(): {\n items: PersistentNotificationItem[];\n count: number;\n remove: (id: Key) => void;\n clear: () => void;\n markAllAsRead: () => void;\n} {\n const {\n persistentItems,\n removePersistentItem,\n clearPersistentItems,\n markAllAsRead,\n } = usePersistentNotificationsContext();\n\n return {\n items: persistentItems,\n count: persistentItems.length,\n remove: removePersistentItem,\n clear: clearPersistentItems,\n markAllAsRead,\n };\n}\n\n/**\n * Hook to get total and unread counts for persistent notifications.\n *\n * - `total` — number of items in the persistent list.\n * - `unread` — items that haven't been seen in `PersistentNotificationsList` yet.\n *\n * @example\n * ```tsx\n * const { total, unread } = useNotificationsCount();\n * return <Badge count={unread} />;\n * ```\n */\nexport function useNotificationsCount(): { total: number; unread: number } {\n const { persistentItems } = usePersistentNotificationsContext();\n\n return {\n total: persistentItems.length,\n unread: persistentItems.filter((i) => !i.isRead).length,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,SAAOG,6BAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAOL,MAAA,EAAAC,iBAAAC,sBAAAC,sBAAAC,kBAKIR,mCAAmC;CAAC,IAAAS;AAAA,KAAAN,EAAA,OAAAI,wBAAAJ,EAAA,OAAAK,iBAAAL,EAAA,OAAAE,mBAAAF,EAAA,OAAAG,sBAAA;AAEjCG,OAAA;GAAAC,OACEL;GAAeM,OACfN,gBAAeO;GAAOC,QACrBP;GAAoBQ,OACrBP;GAAoBC;GAE5B;AAAAL,IAAA,KAAAI;AAAAJ,IAAA,KAAAK;AAAAL,IAAA,KAAAE;AAAAF,IAAA,KAAAG;AAAAH,IAAA,KAAAM;OAAAA,MAAAN,EAAA;AAAA,QANMM;;;;;;;;;;;;;;AAqBT,SAAOM,wBAAA;CAAA,MAAAZ,IAAAC,EAAA,EAAA;CACL,MAAA,EAAAC,oBAA4BL,mCAAmC;CAGtD,MAAAS,KAAAJ,gBAAeO;CAAO,IAAAI;AAAA,KAAAb,EAAA,OAAAE,iBAAA;AACrBW,OAAAX,gBAAeY,OAAQC,MAAiB;AAAAf,IAAA,KAAAE;AAAAF,IAAA,KAAAa;OAAAA,MAAAb,EAAA;CAAA,IAAAgB;AAAA,KAAAhB,EAAA,OAAAE,gBAAAO,UAAAT,EAAA,OAAAa,GAAAJ,QAAA;AAF3CO,OAAA;GAAAC,OACEX;GAAsBY,QACrBL,GAAwCJ;GACjD;AAAAT,IAAA,KAAAE,gBAAAO;AAAAT,IAAA,KAAAa,GAAAJ;AAAAT,IAAA,KAAAgB;OAAAA,MAAAhB,EAAA;AAAA,QAHMgB;;AAHF,SAAAD,MAAAI,GAAA;AAAA,QAKmC,CAACA,EAACC"}
1
+ {"version":3,"file":"use-persistent-notifications.js","names":["Key","usePersistentNotificationsContext","PersistentNotificationItem","usePersistentNotifications","$","_c","persistentItems","removePersistentItem","clearPersistentItems","markAllAsRead","t0","items","count","length","remove","clear","useNotificationsCount","t1","filter","_temp","t2","total","unread","i","isRead","_c"],"sources":["../../../../src/components/overlays/Notifications/use-persistent-notifications.ts"],"sourcesContent":["import { Key } from 'react';\n\nimport { usePersistentNotificationsContext } from './NotificationContext';\n\nimport type { PersistentNotificationItem } from './types';\n\n/**\n * Hook to access the persistent notifications list.\n *\n * Items are ordered newest first (by `createdAt`, descending).\n *\n * @example\n * ```tsx\n * const { items, count, remove, clear } = usePersistentNotifications();\n *\n * return (\n * <div>\n * <span>Notifications ({count})</span>\n * {items.map(item => (\n * <div key={item.id}>\n * {item.title}\n * <button onClick={() => remove(item.id)}>Remove</button>\n * </div>\n * ))}\n * <button onClick={clear}>Clear all</button>\n * </div>\n * );\n * ```\n */\nexport function usePersistentNotifications(): {\n items: PersistentNotificationItem[];\n count: number;\n remove: (id: Key) => void;\n clear: () => void;\n markAllAsRead: () => void;\n} {\n const {\n persistentItems,\n removePersistentItem,\n clearPersistentItems,\n markAllAsRead,\n } = usePersistentNotificationsContext();\n\n return {\n items: persistentItems,\n count: persistentItems.length,\n remove: removePersistentItem,\n clear: clearPersistentItems,\n markAllAsRead,\n };\n}\n\n/**\n * Hook to get total and unread counts for persistent notifications.\n *\n * - `total` — number of items in the persistent list.\n * - `unread` — items that haven't been seen in `PersistentNotificationsList` yet.\n *\n * @example\n * ```tsx\n * const { total, unread } = useNotificationsCount();\n * return <Badge count={unread} />;\n * ```\n */\nexport function useNotificationsCount(): { total: number; unread: number } {\n const { persistentItems } = usePersistentNotificationsContext();\n\n return {\n total: persistentItems.length,\n unread: persistentItems.filter((i) => !i.isRead).length,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,SAAOG,6BAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAOL,MAAA,EAAAC,iBAAAC,sBAAAC,sBAAAC,kBAKIR,kCAAkC;CAAE,IAAAS;CAAA,IAAAN,EAAA,OAAAI,wBAAAJ,EAAA,OAAAK,iBAAAL,EAAA,OAAAE,mBAAAF,EAAA,OAAAG,sBAAA;EAEjCG,KAAA;GAAAC,OACEL;GAAeM,OACfN,gBAAeO;GAAOC,QACrBP;GAAoBQ,OACrBP;GAAoBC;EAE7B;EAACL,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;EAAAL,EAAA,KAAAE;EAAAF,EAAA,KAAAG;EAAAH,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,OANMM;AAMN;;;;;;;;;;;;;AAeH,SAAOM,wBAAA;CAAA,MAAAZ,IAAAC,EAAA,CAAA;CACL,MAAA,EAAAC,oBAA4BL,kCAAkC;CAGrD,MAAAS,KAAAJ,gBAAeO;CAAO,IAAAI;CAAA,IAAAb,EAAA,OAAAE,iBAAA;EACrBW,KAAAX,gBAAeY,OAAQC,KAAgB;EAACf,EAAA,KAAAE;EAAAF,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,IAAAgB;CAAA,IAAAhB,EAAA,OAAAE,gBAAAO,UAAAT,EAAA,OAAAa,GAAAJ,QAAA;EAF3CO,KAAA;GAAAC,OACEX;GAAsBY,QACrBL,GAAwCJ;EAClD;EAACT,EAAA,KAAAE,gBAAAO;EAAAT,EAAA,KAAAa,GAAAJ;EAAAT,EAAA,KAAAgB;CAAA,OAAAA,KAAAhB,EAAA;CAAA,OAHMgB;AAGN;AANI,SAAAD,MAAAI,GAAA;CAAA,OAKmC,CAACA,EAACC;AAAO"}
@@ -1,9 +1,8 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.196.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 { cleanupAndGetValidIds, saveDismissedId } from "./dismissed-storage.js";
4
4
  import { c } from "react/compiler-runtime";
5
5
  import { useRef, useState } from "react";
6
-
7
6
  //#region src/components/overlays/Notifications/use-persistent-state.ts
8
7
  function usePersistentState(maxItems) {
9
8
  const $ = c(26);
@@ -174,7 +173,7 @@ function _temp2(i_2) {
174
173
  function _temp(a, b) {
175
174
  return b.createdAt - a.createdAt;
176
175
  }
177
-
178
176
  //#endregion
179
177
  export { usePersistentState };
178
+
180
179
  //# sourceMappingURL=use-persistent-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-persistent-state.js","names":["Key","useRef","useState","useEvent","cleanupAndGetValidIds","saveDismissedId","PersistentNotificationItem","PersistentState","persistentItems","addPersistentItem","item","removePersistentItem","id","removePersistentItemsByOwner","ownerId","clearPersistentItems","markAllAsRead","hasDismissedPersistentId","isFullyDismissedId","saveDismissedPersistentId","undoFullyDismissedId","removePersistentItemSilently","usePersistentState","maxItems","$","_c","t0","Symbol","for","setPersistentItems","dismissedPersistentIdsRef","current","t1","Set","fullyDismissedIdsRef","t2","has","String","add","prev","existingIndex","findIndex","i","newItems","isRead","length","slice","sort","_temp","t3","prev_0","filter","i_0","t4","prev_1","i_1","t5","t6","_temp4","t7","id_0","t8","id_1","t9","id_2","t10","id_3","delete","t11","id_4","prev_3","i_4","t12","prev_2","hasUnread","some","_temp2","map","_temp3","i_3","i_2","a","b","createdAt"],"sources":["../../../../src/components/overlays/Notifications/use-persistent-state.ts"],"sourcesContent":["import { Key, useRef, useState } from 'react';\n\nimport { useEvent } from '../../../_internal';\n\nimport { cleanupAndGetValidIds, saveDismissedId } from './dismissed-storage';\n\nimport type { PersistentNotificationItem } from './types';\n\n// ─── Types ───────────────────────────────────────────────────────────\n\nexport interface PersistentState {\n persistentItems: PersistentNotificationItem[];\n addPersistentItem: (item: PersistentNotificationItem) => void;\n removePersistentItem: (id: Key) => void;\n removePersistentItemsByOwner: (ownerId: string) => void;\n clearPersistentItems: () => void;\n markAllAsRead: () => void;\n /**\n * Returns true if the given id was previously moved to the persistent list\n * and has NOT been explicitly removed from it (i.e. still archived, or was\n * auto-dismissed but not yet user-dismissed from the persistent list).\n */\n hasDismissedPersistentId: (id: Key) => boolean;\n /**\n * Returns true if the given id was explicitly removed from the persistent\n * list by the user. Such notifications should be completely ignored on\n * subsequent triggers (no overlay, no persistent storage).\n */\n isFullyDismissedId: (id: Key) => boolean;\n /**\n * Marks an id as dismissed in both the in-memory set and localStorage.\n * Used for `'action'` dismissals that go through `removePersistentItem`\n * instead of `addPersistentItem`.\n */\n saveDismissedPersistentId: (id: Key) => void;\n /**\n * Removes an id from the fully-dismissed set.\n * Used to undo an `'action'` dismissal when the async action is cancelled.\n */\n undoFullyDismissedId: (id: Key) => void;\n /**\n * Removes an item from the persistent list without marking it as fully dismissed.\n * Used to undo a `'close'` dismissal that moved the notification to persistent.\n */\n removePersistentItemSilently: (id: Key) => void;\n}\n\n// ─── Hook ────────────────────────────────────────────────────────────\n\nexport function usePersistentState(maxItems: number): PersistentState {\n const [persistentItems, setPersistentItems] = useState<\n PersistentNotificationItem[]\n >([]);\n\n // Tracks IDs that have been moved to the persistent list at least once.\n // Used to skip the overlay when the same id reappears.\n // Lazy-initialized from localStorage so dismissed IDs survive page reloads.\n const dismissedPersistentIdsRef = useRef<Set<string> | null>(null);\n if (dismissedPersistentIdsRef.current === null) {\n dismissedPersistentIdsRef.current = cleanupAndGetValidIds();\n }\n\n // Tracks IDs that were explicitly removed from the persistent list by the\n // user. These should be completely ignored on subsequent triggers.\n const fullyDismissedIdsRef = useRef<Set<string>>(new Set());\n\n const addPersistentItem = useEvent((item: PersistentNotificationItem) => {\n // If the user already dismissed this item from the persistent list, don't re-add it.\n if (fullyDismissedIdsRef.current.has(String(item.id))) return;\n\n dismissedPersistentIdsRef.current!.add(String(item.id));\n saveDismissedId(item.id);\n\n setPersistentItems((prev) => {\n // Upsert by id\n const existingIndex = prev.findIndex((i) => i.id === item.id);\n let newItems: PersistentNotificationItem[];\n\n if (existingIndex !== -1) {\n newItems = [...prev];\n // Updated items are marked unread again\n newItems[existingIndex] = {\n ...newItems[existingIndex],\n ...item,\n isRead: false,\n };\n } else {\n newItems = [{ ...item, isRead: item.isRead ?? false }, ...prev];\n }\n\n // Enforce max cap\n if (newItems.length > maxItems) {\n newItems = newItems.slice(0, maxItems);\n }\n\n // Sort newest first\n newItems.sort((a, b) => b.createdAt - a.createdAt);\n\n return newItems;\n });\n });\n\n const removePersistentItem = useEvent((id: Key) => {\n fullyDismissedIdsRef.current.add(String(id));\n setPersistentItems((prev) => prev.filter((i) => i.id !== id));\n });\n\n const removePersistentItemsByOwner = useEvent((ownerId: string) => {\n setPersistentItems((prev) => prev.filter((i) => i.ownerId !== ownerId));\n });\n\n const clearPersistentItems = useEvent(() => {\n setPersistentItems([]);\n });\n\n const markAllAsRead = useEvent(() => {\n setPersistentItems((prev) => {\n const hasUnread = prev.some((i) => !i.isRead);\n\n if (!hasUnread) return prev;\n\n return prev.map((i) => (i.isRead ? i : { ...i, isRead: true }));\n });\n });\n\n const hasDismissedPersistentId = useEvent((id: Key): boolean => {\n return dismissedPersistentIdsRef.current!.has(String(id));\n });\n\n const isFullyDismissedId = useEvent((id: Key): boolean => {\n return fullyDismissedIdsRef.current.has(String(id));\n });\n\n const saveDismissedPersistentId = useEvent((id: Key): void => {\n dismissedPersistentIdsRef.current!.add(String(id));\n saveDismissedId(id);\n });\n\n const undoFullyDismissedId = useEvent((id: Key): void => {\n fullyDismissedIdsRef.current.delete(String(id));\n });\n\n const removePersistentItemSilently = useEvent((id: Key): void => {\n dismissedPersistentIdsRef.current!.delete(String(id));\n setPersistentItems((prev) => prev.filter((i) => i.id !== id));\n });\n\n return {\n persistentItems,\n addPersistentItem,\n removePersistentItem,\n removePersistentItemsByOwner,\n clearPersistentItems,\n markAllAsRead,\n hasDismissedPersistentId,\n isFullyDismissedId,\n saveDismissedPersistentId,\n undoFullyDismissedId,\n removePersistentItemSilently,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-persistent-state.js","names":["Key","useRef","useState","useEvent","cleanupAndGetValidIds","saveDismissedId","PersistentNotificationItem","PersistentState","persistentItems","addPersistentItem","item","removePersistentItem","id","removePersistentItemsByOwner","ownerId","clearPersistentItems","markAllAsRead","hasDismissedPersistentId","isFullyDismissedId","saveDismissedPersistentId","undoFullyDismissedId","removePersistentItemSilently","usePersistentState","maxItems","$","_c","t0","Symbol","for","setPersistentItems","dismissedPersistentIdsRef","current","t1","Set","fullyDismissedIdsRef","t2","has","String","add","prev","existingIndex","findIndex","i","newItems","isRead","length","slice","sort","_temp","t3","prev_0","filter","i_0","t4","prev_1","i_1","t5","t6","_temp4","t7","id_0","t8","id_1","t9","id_2","t10","id_3","delete","t11","id_4","prev_3","i_4","t12","prev_2","hasUnread","some","_temp2","map","_temp3","i_3","i_2","a","b","createdAt","_c"],"sources":["../../../../src/components/overlays/Notifications/use-persistent-state.ts"],"sourcesContent":["import { Key, useRef, useState } from 'react';\n\nimport { useEvent } from '../../../_internal';\n\nimport { cleanupAndGetValidIds, saveDismissedId } from './dismissed-storage';\n\nimport type { PersistentNotificationItem } from './types';\n\n// ─── Types ───────────────────────────────────────────────────────────\n\nexport interface PersistentState {\n persistentItems: PersistentNotificationItem[];\n addPersistentItem: (item: PersistentNotificationItem) => void;\n removePersistentItem: (id: Key) => void;\n removePersistentItemsByOwner: (ownerId: string) => void;\n clearPersistentItems: () => void;\n markAllAsRead: () => void;\n /**\n * Returns true if the given id was previously moved to the persistent list\n * and has NOT been explicitly removed from it (i.e. still archived, or was\n * auto-dismissed but not yet user-dismissed from the persistent list).\n */\n hasDismissedPersistentId: (id: Key) => boolean;\n /**\n * Returns true if the given id was explicitly removed from the persistent\n * list by the user. Such notifications should be completely ignored on\n * subsequent triggers (no overlay, no persistent storage).\n */\n isFullyDismissedId: (id: Key) => boolean;\n /**\n * Marks an id as dismissed in both the in-memory set and localStorage.\n * Used for `'action'` dismissals that go through `removePersistentItem`\n * instead of `addPersistentItem`.\n */\n saveDismissedPersistentId: (id: Key) => void;\n /**\n * Removes an id from the fully-dismissed set.\n * Used to undo an `'action'` dismissal when the async action is cancelled.\n */\n undoFullyDismissedId: (id: Key) => void;\n /**\n * Removes an item from the persistent list without marking it as fully dismissed.\n * Used to undo a `'close'` dismissal that moved the notification to persistent.\n */\n removePersistentItemSilently: (id: Key) => void;\n}\n\n// ─── Hook ────────────────────────────────────────────────────────────\n\nexport function usePersistentState(maxItems: number): PersistentState {\n const [persistentItems, setPersistentItems] = useState<\n PersistentNotificationItem[]\n >([]);\n\n // Tracks IDs that have been moved to the persistent list at least once.\n // Used to skip the overlay when the same id reappears.\n // Lazy-initialized from localStorage so dismissed IDs survive page reloads.\n const dismissedPersistentIdsRef = useRef<Set<string> | null>(null);\n if (dismissedPersistentIdsRef.current === null) {\n dismissedPersistentIdsRef.current = cleanupAndGetValidIds();\n }\n\n // Tracks IDs that were explicitly removed from the persistent list by the\n // user. These should be completely ignored on subsequent triggers.\n const fullyDismissedIdsRef = useRef<Set<string>>(new Set());\n\n const addPersistentItem = useEvent((item: PersistentNotificationItem) => {\n // If the user already dismissed this item from the persistent list, don't re-add it.\n if (fullyDismissedIdsRef.current.has(String(item.id))) return;\n\n dismissedPersistentIdsRef.current!.add(String(item.id));\n saveDismissedId(item.id);\n\n setPersistentItems((prev) => {\n // Upsert by id\n const existingIndex = prev.findIndex((i) => i.id === item.id);\n let newItems: PersistentNotificationItem[];\n\n if (existingIndex !== -1) {\n newItems = [...prev];\n // Updated items are marked unread again\n newItems[existingIndex] = {\n ...newItems[existingIndex],\n ...item,\n isRead: false,\n };\n } else {\n newItems = [{ ...item, isRead: item.isRead ?? false }, ...prev];\n }\n\n // Enforce max cap\n if (newItems.length > maxItems) {\n newItems = newItems.slice(0, maxItems);\n }\n\n // Sort newest first\n newItems.sort((a, b) => b.createdAt - a.createdAt);\n\n return newItems;\n });\n });\n\n const removePersistentItem = useEvent((id: Key) => {\n fullyDismissedIdsRef.current.add(String(id));\n setPersistentItems((prev) => prev.filter((i) => i.id !== id));\n });\n\n const removePersistentItemsByOwner = useEvent((ownerId: string) => {\n setPersistentItems((prev) => prev.filter((i) => i.ownerId !== ownerId));\n });\n\n const clearPersistentItems = useEvent(() => {\n setPersistentItems([]);\n });\n\n const markAllAsRead = useEvent(() => {\n setPersistentItems((prev) => {\n const hasUnread = prev.some((i) => !i.isRead);\n\n if (!hasUnread) return prev;\n\n return prev.map((i) => (i.isRead ? i : { ...i, isRead: true }));\n });\n });\n\n const hasDismissedPersistentId = useEvent((id: Key): boolean => {\n return dismissedPersistentIdsRef.current!.has(String(id));\n });\n\n const isFullyDismissedId = useEvent((id: Key): boolean => {\n return fullyDismissedIdsRef.current.has(String(id));\n });\n\n const saveDismissedPersistentId = useEvent((id: Key): void => {\n dismissedPersistentIdsRef.current!.add(String(id));\n saveDismissedId(id);\n });\n\n const undoFullyDismissedId = useEvent((id: Key): void => {\n fullyDismissedIdsRef.current.delete(String(id));\n });\n\n const removePersistentItemSilently = useEvent((id: Key): void => {\n dismissedPersistentIdsRef.current!.delete(String(id));\n setPersistentItems((prev) => prev.filter((i) => i.id !== id));\n });\n\n return {\n persistentItems,\n addPersistentItem,\n removePersistentItem,\n removePersistentItemsByOwner,\n clearPersistentItems,\n markAllAsRead,\n hasDismissedPersistentId,\n isFullyDismissedId,\n saveDismissedPersistentId,\n undoFullyDismissedId,\n removePersistentItemSilently,\n };\n}\n"],"mappings":"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"}