@cube-dev/ui-kit 0.113.1 → 0.114.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 (678) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/es/_internal/hooks/index.js +1 -1
  3. package/es/_internal/hooks/use-chained-callback.js +1 -1
  4. package/es/_internal/hooks/use-debounced-value.js +1 -1
  5. package/es/_internal/hooks/use-deprecation-warning.js +1 -1
  6. package/es/_internal/hooks/use-effect-once.js +1 -1
  7. package/es/_internal/hooks/use-event.js +1 -1
  8. package/es/_internal/hooks/use-is-first-render.js +1 -1
  9. package/es/_internal/hooks/use-sync-ref.js +1 -1
  10. package/es/_internal/hooks/use-timer/index.js +1 -1
  11. package/es/_internal/hooks/use-timer/timer.js +1 -1
  12. package/es/_internal/hooks/use-timer/use-timer.js +1 -1
  13. package/es/_internal/hooks/use-update-effect.js +1 -1
  14. package/es/_internal/hooks/use-warn.js +1 -1
  15. package/es/_internal/index.js +1 -1
  16. package/es/components/Block.js +1 -1
  17. package/es/components/CollectionItem.js +1 -1
  18. package/es/components/GlobalStyles.js +1 -1
  19. package/es/components/GridProvider.js +1 -1
  20. package/es/components/HiddenInput.js +1 -1
  21. package/es/components/OpenTrasition.js +1 -1
  22. package/es/components/Root.js +3 -4
  23. package/es/components/actions/Action/Action.js +1 -1
  24. package/es/components/actions/Banner/Banner.js +1 -1
  25. package/es/components/actions/Banner/index.js +1 -1
  26. package/es/components/actions/Button/Button.js +1 -1
  27. package/es/components/actions/Button/index.js +1 -1
  28. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  29. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  30. package/es/components/actions/CommandMenu/index.js +1 -1
  31. package/es/components/actions/CommandMenu/styled.js +1 -1
  32. package/es/components/actions/ItemAction/ItemAction.js +5 -1
  33. package/es/components/actions/ItemAction/index.js +1 -1
  34. package/es/components/actions/ItemActionContext.js +1 -1
  35. package/es/components/actions/ItemButton/ItemButton.js +1 -1
  36. package/es/components/actions/ItemButton/index.js +1 -1
  37. package/es/components/actions/Link/Link.js +1 -1
  38. package/es/components/actions/Menu/Menu.js +1 -1
  39. package/es/components/actions/Menu/MenuItem.js +1 -1
  40. package/es/components/actions/Menu/MenuSection.js +1 -1
  41. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  42. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  43. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  44. package/es/components/actions/Menu/context.js +1 -1
  45. package/es/components/actions/Menu/index.js +1 -1
  46. package/es/components/actions/Menu/styled.js +1 -1
  47. package/es/components/actions/index.js +1 -1
  48. package/es/components/actions/use-action.js +1 -1
  49. package/es/components/actions/use-anchored-menu.js +1 -1
  50. package/es/components/actions/use-context-menu.js +1 -1
  51. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  52. package/es/components/content/Alert/Alert.js +1 -1
  53. package/es/components/content/Alert/index.js +1 -1
  54. package/es/components/content/Alert/types.js +1 -1
  55. package/es/components/content/Alert/use-alert.js +1 -1
  56. package/es/components/content/Avatar/Avatar.js +1 -1
  57. package/es/components/content/Badge/Badge.js +1 -1
  58. package/es/components/content/Card/Card.js +1 -1
  59. package/es/components/content/Content.js +1 -1
  60. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  61. package/es/components/content/CopyPasteBlock/index.js +1 -1
  62. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  63. package/es/components/content/CopySnippet/index.js +1 -1
  64. package/es/components/content/Disclosure/Disclosure.js +1 -1
  65. package/es/components/content/Disclosure/index.js +1 -1
  66. package/es/components/content/Divider.js +1 -1
  67. package/es/components/content/Footer.js +1 -1
  68. package/es/components/content/Header.js +1 -1
  69. package/es/components/content/HotKeys/HotKeys.js +1 -1
  70. package/es/components/content/HotKeys/index.js +1 -1
  71. package/es/components/content/Item/Item.js +1 -1
  72. package/es/components/content/Item/index.js +1 -1
  73. package/es/components/content/ItemBadge/ItemBadge.js +1 -1
  74. package/es/components/content/ItemBadge/index.js +1 -1
  75. package/es/components/content/Layout/GridLayout.js +1 -1
  76. package/es/components/content/Layout/Layout.js +1 -1
  77. package/es/components/content/Layout/LayoutBlock.js +1 -1
  78. package/es/components/content/Layout/LayoutCenter.js +1 -1
  79. package/es/components/content/Layout/LayoutContainer.js +1 -1
  80. package/es/components/content/Layout/LayoutContent.js +1 -1
  81. package/es/components/content/Layout/LayoutContext.js +1 -1
  82. package/es/components/content/Layout/LayoutFlex.js +1 -1
  83. package/es/components/content/Layout/LayoutFooter.js +1 -1
  84. package/es/components/content/Layout/LayoutGrid.js +1 -1
  85. package/es/components/content/Layout/LayoutHeader.js +1 -1
  86. package/es/components/content/Layout/LayoutPane.js +1 -1
  87. package/es/components/content/Layout/LayoutPanel.js +1 -1
  88. package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
  89. package/es/components/content/Layout/LayoutToolbar.js +1 -1
  90. package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  91. package/es/components/content/Layout/index.js +1 -1
  92. package/es/components/content/Layout/utils.js +1 -1
  93. package/es/components/content/List/SectionHeading.js +1 -1
  94. package/es/components/content/List/index.js +1 -1
  95. package/es/components/content/Paragraph.js +1 -1
  96. package/es/components/content/Placeholder/Placeholder.js +1 -1
  97. package/es/components/content/PrismCode/PrismCode.js +1 -1
  98. package/es/components/content/PrismCode/prismSetup.js +1 -1
  99. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  100. package/es/components/content/Result/Result.js +1 -1
  101. package/es/components/content/Skeleton/Skeleton.js +1 -1
  102. package/es/components/content/Tag/Tag.js +1 -1
  103. package/es/components/content/Text.js +1 -1
  104. package/es/components/content/TextItem/TextItem.js +1 -1
  105. package/es/components/content/TextItem/index.js +1 -1
  106. package/es/components/content/Title.js +1 -1
  107. package/es/components/content/highlightText.js +1 -1
  108. package/es/components/content/use-auto-tooltip.js +1 -1
  109. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  110. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  111. package/es/components/fields/Checkbox/context.js +1 -1
  112. package/es/components/fields/Checkbox/index.js +1 -1
  113. package/es/components/fields/ComboBox/ComboBox.js +1 -1
  114. package/es/components/fields/ComboBox/index.js +1 -1
  115. package/es/components/fields/DatePicker/DateInput.js +1 -1
  116. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  117. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  118. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  119. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  120. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  121. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  122. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  123. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  124. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  125. package/es/components/fields/DatePicker/index.js +1 -1
  126. package/es/components/fields/DatePicker/intl.js +1 -1
  127. package/es/components/fields/DatePicker/parseDate.js +1 -1
  128. package/es/components/fields/DatePicker/props.js +1 -1
  129. package/es/components/fields/DatePicker/types.js +1 -1
  130. package/es/components/fields/DatePicker/utils.js +1 -1
  131. package/es/components/fields/FileInput/FileInput.js +1 -1
  132. package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
  133. package/es/components/fields/FilterListBox/index.js +1 -1
  134. package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
  135. package/es/components/fields/FilterPicker/index.js +1 -1
  136. package/es/components/fields/Input/Input.js +1 -1
  137. package/es/components/fields/Input/index.js +1 -1
  138. package/es/components/fields/ListBox/ListBox.js +1 -1
  139. package/es/components/fields/ListBox/index.js +1 -1
  140. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  141. package/es/components/fields/NumberInput/StepButton.js +1 -1
  142. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  143. package/es/components/fields/Picker/Picker.js +1 -1
  144. package/es/components/fields/Picker/index.js +1 -1
  145. package/es/components/fields/RadioGroup/Radio.js +1 -1
  146. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  147. package/es/components/fields/RadioGroup/context.js +1 -1
  148. package/es/components/fields/RadioGroup/index.js +1 -1
  149. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  150. package/es/components/fields/SearchInput/index.js +1 -1
  151. package/es/components/fields/Select/Select.js +1 -1
  152. package/es/components/fields/Select/index.js +1 -1
  153. package/es/components/fields/Slider/Gradation.js +1 -1
  154. package/es/components/fields/Slider/Header.js +1 -1
  155. package/es/components/fields/Slider/HueSlider.js +1 -1
  156. package/es/components/fields/Slider/RangeSlider.js +1 -1
  157. package/es/components/fields/Slider/Slider.js +1 -1
  158. package/es/components/fields/Slider/SliderBase.js +1 -1
  159. package/es/components/fields/Slider/SliderInput.js +1 -1
  160. package/es/components/fields/Slider/SliderThumb.js +1 -1
  161. package/es/components/fields/Slider/SliderTrack.js +1 -1
  162. package/es/components/fields/Slider/elements.js +1 -1
  163. package/es/components/fields/Slider/index.js +1 -1
  164. package/es/components/fields/Slider/types.js +1 -1
  165. package/es/components/fields/Switch/Switch.js +1 -1
  166. package/es/components/fields/Switch/index.js +1 -1
  167. package/es/components/fields/TextArea/TextArea.js +1 -1
  168. package/es/components/fields/TextArea/index.js +1 -1
  169. package/es/components/fields/TextInput/TextInput.js +1 -1
  170. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  171. package/es/components/fields/TextInput/index.js +1 -1
  172. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  173. package/es/components/fields/TextInputMapper/index.js +1 -1
  174. package/es/components/fields/index.js +1 -1
  175. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  176. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  177. package/es/components/form/FieldWrapper/index.js +1 -1
  178. package/es/components/form/FieldWrapper/types.js +1 -1
  179. package/es/components/form/Form/Field.js +1 -1
  180. package/es/components/form/Form/Form.js +1 -1
  181. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  182. package/es/components/form/Form/ResetButton/index.js +1 -1
  183. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  184. package/es/components/form/Form/SubmitButton/index.js +1 -1
  185. package/es/components/form/Form/SubmitError.js +1 -1
  186. package/es/components/form/Form/index.js +1 -1
  187. package/es/components/form/Form/types.js +1 -1
  188. package/es/components/form/Form/use-field/index.js +1 -1
  189. package/es/components/form/Form/use-field/types.js +1 -1
  190. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  191. package/es/components/form/Form/use-field/use-field.js +1 -1
  192. package/es/components/form/Form/use-form.js +1 -1
  193. package/es/components/form/Form/validation.js +1 -1
  194. package/es/components/form/Label.js +1 -1
  195. package/es/components/form/index.js +1 -1
  196. package/es/components/form/wrapper.js +1 -1
  197. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  198. package/es/components/helpers/DisplayTransition/index.js +1 -1
  199. package/es/components/helpers/IconSwitch/IconSwitch.js +1 -1
  200. package/es/components/helpers/index.js +1 -1
  201. package/es/components/layout/Flex.js +1 -1
  202. package/es/components/layout/Flow.js +1 -1
  203. package/es/components/layout/Grid.js +1 -1
  204. package/es/components/layout/Panel.js +1 -1
  205. package/es/components/layout/Prefix.js +1 -1
  206. package/es/components/layout/ResizablePanel.js +1 -1
  207. package/es/components/layout/Space.js +1 -1
  208. package/es/components/layout/Suffix.js +1 -1
  209. package/es/components/navigation/Tabs/DraggableTabList.js +1 -1
  210. package/es/components/navigation/Tabs/EditableTitle.js +1 -1
  211. package/es/components/navigation/Tabs/TabButton.js +1 -1
  212. package/es/components/navigation/Tabs/TabDropIndicator.js +28 -2
  213. package/es/components/navigation/Tabs/TabPanel.js +1 -1
  214. package/es/components/navigation/Tabs/TabPicker.js +1 -1
  215. package/es/components/navigation/Tabs/Tabs.js +1 -1
  216. package/es/components/navigation/Tabs/TabsAction.js +1 -1
  217. package/es/components/navigation/Tabs/TabsContext.js +1 -1
  218. package/es/components/navigation/Tabs/index.js +1 -1
  219. package/es/components/navigation/Tabs/styled.js +1 -1
  220. package/es/components/navigation/Tabs/types.js +1 -1
  221. package/es/components/navigation/Tabs/use-tab-editing.js +1 -1
  222. package/es/components/navigation/Tabs/use-tab-indicator.js +1 -1
  223. package/es/components/navigation/index.js +1 -1
  224. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  225. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  226. package/es/components/other/Calendar/Calendar.js +1 -1
  227. package/es/components/other/Calendar/CalendarCell.js +1 -1
  228. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  229. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  230. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  231. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  232. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  233. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  234. package/es/components/overlays/AlertDialog/index.js +1 -1
  235. package/es/components/overlays/AlertDialog/types.js +1 -1
  236. package/es/components/overlays/Dialog/Dialog.js +1 -1
  237. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  238. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  239. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  240. package/es/components/overlays/Dialog/context.js +1 -1
  241. package/es/components/overlays/Dialog/index.js +1 -1
  242. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  243. package/es/components/overlays/Modal/Modal.js +1 -1
  244. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  245. package/es/components/overlays/Modal/Overlay.js +1 -1
  246. package/es/components/overlays/Modal/Popover.js +1 -1
  247. package/es/components/overlays/Modal/Tray.js +1 -1
  248. package/es/components/overlays/Modal/Underlay.js +1 -1
  249. package/es/components/overlays/Modal/index.js +1 -1
  250. package/es/components/overlays/Modal/types.js +1 -1
  251. package/es/components/overlays/Notifications/Notification.js +89 -0
  252. package/es/components/overlays/Notifications/NotificationAction.js +82 -0
  253. package/es/components/overlays/Notifications/NotificationCard.js +87 -0
  254. package/es/components/overlays/Notifications/NotificationContext.js +44 -0
  255. package/es/components/overlays/Notifications/NotificationItem.js +63 -0
  256. package/es/components/overlays/Notifications/OverlayContainer.js +346 -0
  257. package/es/components/overlays/Notifications/OverlayProvider.js +69 -0
  258. package/es/components/overlays/Notifications/PersistentNotificationsList.js +120 -0
  259. package/es/components/overlays/Notifications/format-relative-time.js +55 -0
  260. package/es/components/overlays/Notifications/index.js +51 -0
  261. package/es/components/overlays/{NewNotifications/NotificationsList → Notifications}/types.js +1 -1
  262. package/es/components/overlays/Notifications/use-notification-state.js +239 -0
  263. package/es/components/overlays/Notifications/use-notifications.js +175 -0
  264. package/es/components/overlays/Notifications/use-overlay-timers.js +141 -0
  265. package/es/components/overlays/Notifications/use-persistent-notifications.js +63 -0
  266. package/es/components/overlays/Notifications/use-persistent-state.js +85 -0
  267. package/es/components/overlays/Notifications/use-toast-state.js +143 -0
  268. package/es/components/overlays/OverlayWrapper.js +1 -1
  269. package/es/components/overlays/Toast/ToastItem.js +6 -3
  270. package/es/components/overlays/Toast/ToastProvider.js +6 -352
  271. package/es/components/overlays/Toast/index.js +3 -8
  272. package/es/components/overlays/Toast/types.js +1 -1
  273. package/es/components/overlays/Toast/useProgressToast.js +2 -5
  274. package/es/components/overlays/Toast/useToast.js +1 -7
  275. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  276. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  277. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  278. package/es/components/overlays/Tooltip/context.js +1 -1
  279. package/es/components/overlays/Tooltip/index.js +1 -1
  280. package/es/components/portal/Portal.js +1 -1
  281. package/es/components/portal/PortalProvider.js +1 -1
  282. package/es/components/portal/index.js +1 -1
  283. package/es/components/portal/types.js +1 -1
  284. package/es/components/portal/usePortal.js +1 -1
  285. package/es/components/shared/InvalidIcon.js +1 -1
  286. package/es/components/shared/ValidIcon.js +1 -1
  287. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  288. package/es/components/status/LoadingAnimation/index.js +1 -1
  289. package/es/components/status/Spin/Cube.js +1 -1
  290. package/es/components/status/Spin/InternalSpinner.js +1 -1
  291. package/es/components/status/Spin/Spin.js +1 -1
  292. package/es/components/status/Spin/SpinsContainer.js +1 -1
  293. package/es/components/status/Spin/index.js +1 -1
  294. package/es/components/status/Spin/types.js +1 -1
  295. package/es/components/status/index.js +1 -1
  296. package/es/data/item-themes.js +1 -1
  297. package/es/data/themes.js +1 -1
  298. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  299. package/es/icons/AdjustmentsIcon.js +1 -1
  300. package/es/icons/AiIcon.js +1 -1
  301. package/es/icons/AreaChartIcon.js +1 -1
  302. package/es/icons/BackwardIcon.js +1 -1
  303. package/es/icons/BarChartIcon.js +1 -1
  304. package/es/icons/BellFilledIcon.js +1 -1
  305. package/es/icons/BellIcon.js +1 -1
  306. package/es/icons/BooleanIcon.js +1 -1
  307. package/es/icons/CalendarEditIcon.js +1 -1
  308. package/es/icons/CalendarIcon.js +1 -1
  309. package/es/icons/CaretDownIcon.js +1 -1
  310. package/es/icons/CaretUpIcon.js +1 -1
  311. package/es/icons/ChartAreaStackedIcon.js +1 -1
  312. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  313. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  314. package/es/icons/ChartBarGroupedIcon.js +1 -1
  315. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  316. package/es/icons/ChartBarLineIcon.js +1 -1
  317. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  318. package/es/icons/ChartBarStackedIcon.js +1 -1
  319. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  320. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  321. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  322. package/es/icons/ChartBoxPlotIcon.js +1 -1
  323. package/es/icons/ChartBubbleIcon.js +1 -1
  324. package/es/icons/ChartDonut2Icon.js +1 -1
  325. package/es/icons/ChartFunnelIcon.js +1 -1
  326. package/es/icons/ChartHeatmapIcon.js +1 -1
  327. package/es/icons/ChartKPIIcon.js +1 -1
  328. package/es/icons/ChartPie2Icon.js +1 -1
  329. package/es/icons/ChartScatterIcon.js +1 -1
  330. package/es/icons/CheckCircleFilledIcon.js +1 -1
  331. package/es/icons/CheckCircleIcon.js +1 -1
  332. package/es/icons/CheckIcon.js +1 -1
  333. package/es/icons/CircleFilledIcon.js +1 -1
  334. package/es/icons/ClearIcon.js +1 -1
  335. package/es/icons/CloseCircleFilledIcon.js +1 -1
  336. package/es/icons/CloseCircleIcon.js +1 -1
  337. package/es/icons/CloseIcon.js +1 -1
  338. package/es/icons/CodeIcon.js +1 -1
  339. package/es/icons/ColumnTotalIcon.js +1 -1
  340. package/es/icons/CopyIcon.js +1 -1
  341. package/es/icons/CountIcon.js +1 -1
  342. package/es/icons/CubeIcon.js +1 -1
  343. package/es/icons/CubePauseIcon.js +1 -1
  344. package/es/icons/CubePlayIcon.js +1 -1
  345. package/es/icons/CurrencyDollarIcon.js +1 -1
  346. package/es/icons/DangerIcon.js +1 -1
  347. package/es/icons/DashboardIcon.js +1 -1
  348. package/es/icons/DatabaseIcon.js +1 -1
  349. package/es/icons/DecimalDecreaseIcon.js +1 -1
  350. package/es/icons/DecimalIncreaseIcon.js +1 -1
  351. package/es/icons/DirectionIcon.js +1 -1
  352. package/es/icons/DonutIcon.js +1 -1
  353. package/es/icons/DownIcon.js +1 -1
  354. package/es/icons/EditIcon.js +1 -1
  355. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  356. package/es/icons/ExclamationCircleIcon.js +1 -1
  357. package/es/icons/ExclamationIcon.js +1 -1
  358. package/es/icons/EyeIcon.js +1 -1
  359. package/es/icons/EyeInvisibleIcon.js +1 -1
  360. package/es/icons/FilterIcon.js +1 -1
  361. package/es/icons/FolderFilledIcon.js +1 -1
  362. package/es/icons/FolderIcon.js +1 -1
  363. package/es/icons/FolderOpenFilledIcon.js +1 -1
  364. package/es/icons/FolderOpenIcon.js +1 -1
  365. package/es/icons/ForwardIcon.js +1 -1
  366. package/es/icons/HierarchyIcon.js +1 -1
  367. package/es/icons/HierarchyOpenIcon.js +1 -1
  368. package/es/icons/Icon.js +1 -1
  369. package/es/icons/InfoCircleIcon.js +1 -1
  370. package/es/icons/InfoIcon.js +1 -1
  371. package/es/icons/KeyIcon.js +1 -1
  372. package/es/icons/LeftIcon.js +1 -1
  373. package/es/icons/LineChartIcon.js +1 -1
  374. package/es/icons/LoadingIcon.js +1 -1
  375. package/es/icons/LockFilledIcon.js +1 -1
  376. package/es/icons/LockIcon.js +1 -1
  377. package/es/icons/MoreIcon.js +1 -1
  378. package/es/icons/NotAllowedIcon.js +1 -1
  379. package/es/icons/Number123Icon.js +1 -1
  380. package/es/icons/NumberIcon.js +1 -1
  381. package/es/icons/PauseCircleFilledIcon.js +1 -1
  382. package/es/icons/PauseCircleIcon.js +1 -1
  383. package/es/icons/PauseIcon.js +1 -1
  384. package/es/icons/PercentageIcon.js +1 -1
  385. package/es/icons/PieChartIcon.js +1 -1
  386. package/es/icons/PlayCircleIcon.js +1 -1
  387. package/es/icons/PlayIcon.js +1 -1
  388. package/es/icons/PlusIcon.js +1 -1
  389. package/es/icons/ProgressBarIcon.js +1 -1
  390. package/es/icons/ReloadIcon.js +1 -1
  391. package/es/icons/ReportIcon.js +1 -1
  392. package/es/icons/ReturnIcon.js +1 -1
  393. package/es/icons/RightIcon.js +1 -1
  394. package/es/icons/RowTotalsIcon.js +1 -1
  395. package/es/icons/SchemeIcon.js +1 -1
  396. package/es/icons/SearchIcon.js +1 -1
  397. package/es/icons/SemanticQueryIcon.js +1 -1
  398. package/es/icons/SettingsIcon.js +1 -1
  399. package/es/icons/ShieldFilledIcon.js +1 -1
  400. package/es/icons/ShieldIcon.js +1 -1
  401. package/es/icons/SlashIcon.js +1 -1
  402. package/es/icons/SparklesIcon.js +1 -1
  403. package/es/icons/SqlIcon.js +1 -1
  404. package/es/icons/StatsIcon.js +1 -1
  405. package/es/icons/StopIcon.js +1 -1
  406. package/es/icons/StringIcon.js +1 -1
  407. package/es/icons/SubtotalsIcon.js +1 -1
  408. package/es/icons/SwitchIcon.js +1 -1
  409. package/es/icons/TableIcon.js +1 -1
  410. package/es/icons/ThumbsDownIcon.js +1 -1
  411. package/es/icons/ThumbsUpIcon.js +1 -1
  412. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  413. package/es/icons/ThunderboltFilledIcon.js +1 -1
  414. package/es/icons/ThunderboltIcon.js +1 -1
  415. package/es/icons/TimeIcon.js +1 -1
  416. package/es/icons/TrashIcon.js +1 -1
  417. package/es/icons/UnlockIcon.js +1 -1
  418. package/es/icons/UpIcon.js +1 -1
  419. package/es/icons/UserGroupIcon.js +1 -1
  420. package/es/icons/UserIcon.js +1 -1
  421. package/es/icons/UserLockIcon.js +1 -1
  422. package/es/icons/ViewIcon.js +1 -1
  423. package/es/icons/WarningFilledIcon.js +1 -1
  424. package/es/icons/WarningIcon.js +1 -1
  425. package/es/icons/index.js +1 -1
  426. package/es/icons/wrap-icon.js +1 -1
  427. package/es/index.js +2 -4
  428. package/es/provider.js +1 -1
  429. package/es/providers/TrackingProvider.js +1 -1
  430. package/es/providers/navigation.types.js +1 -1
  431. package/es/providers/navigationAdapter.default.js +1 -1
  432. package/es/shared/form.js +1 -1
  433. package/es/shared/index.js +1 -1
  434. package/es/stories/Form.legacy-stories.js +1 -1
  435. package/es/stories/FormFieldArgs.js +1 -1
  436. package/es/stories/SimpleLayout.stories.js +1 -1
  437. package/es/stories/Tasty.stories.js +1 -1
  438. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  439. package/es/stories/components/DialogFormApp.js +1 -1
  440. package/es/stories/components/StyledButton.js +1 -1
  441. package/es/stories/lists/baseProps.js +1 -1
  442. package/es/stories/playground/PlaygroundEditor.js +1 -1
  443. package/es/stories/playground/PlaygroundLayout.js +1 -1
  444. package/es/stories/playground/PlaygroundOutput.js +1 -1
  445. package/es/stories/playground/PlaygroundPreview.js +1 -1
  446. package/es/stories/playground/components/Button.js +1 -1
  447. package/es/stories/playground/components/Card.js +1 -1
  448. package/es/stories/playground/components/ScrollProgress.js +1 -1
  449. package/es/stories/playground/examples.js +1 -1
  450. package/es/tasty/chunks/cacheKey.js +1 -1
  451. package/es/tasty/chunks/definitions.js +1 -1
  452. package/es/tasty/chunks/index.js +1 -1
  453. package/es/tasty/chunks/renderChunk.js +1 -1
  454. package/es/tasty/config.js +1 -1
  455. package/es/tasty/debug.js +1 -1
  456. package/es/tasty/hooks/index.js +1 -1
  457. package/es/tasty/hooks/useGlobalStyles.js +1 -1
  458. package/es/tasty/hooks/useKeyframes.js +1 -1
  459. package/es/tasty/hooks/useProperty.js +1 -1
  460. package/es/tasty/hooks/useRawCSS.js +1 -1
  461. package/es/tasty/hooks/useStyles.js +1 -1
  462. package/es/tasty/index.js +1 -1
  463. package/es/tasty/injector/index.js +1 -1
  464. package/es/tasty/injector/injector.js +1 -1
  465. package/es/tasty/injector/sheet-manager.js +1 -1
  466. package/es/tasty/injector/types.js +1 -1
  467. package/es/tasty/keyframes/index.js +1 -1
  468. package/es/tasty/parser/classify.js +1 -1
  469. package/es/tasty/parser/const.js +1 -1
  470. package/es/tasty/parser/lru.js +1 -1
  471. package/es/tasty/parser/parser.js +1 -1
  472. package/es/tasty/parser/tokenizer.js +1 -1
  473. package/es/tasty/parser/types.js +1 -1
  474. package/es/tasty/pipeline/conditions.js +1 -1
  475. package/es/tasty/pipeline/exclusive.js +1 -1
  476. package/es/tasty/pipeline/index.js +1 -1
  477. package/es/tasty/pipeline/materialize.js +1 -1
  478. package/es/tasty/pipeline/parseStateKey.js +1 -1
  479. package/es/tasty/pipeline/simplify.js +1 -1
  480. package/es/tasty/plugins/index.js +1 -1
  481. package/es/tasty/plugins/okhsl-plugin.js +1 -1
  482. package/es/tasty/plugins/types.js +1 -1
  483. package/es/tasty/properties/index.js +1 -1
  484. package/es/tasty/states/index.js +1 -1
  485. package/es/tasty/static/index.js +1 -1
  486. package/es/tasty/static/tastyStatic.js +1 -1
  487. package/es/tasty/static/types.js +1 -1
  488. package/es/tasty/styles/align.js +1 -1
  489. package/es/tasty/styles/border.js +1 -1
  490. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  491. package/es/tasty/styles/color.js +1 -1
  492. package/es/tasty/styles/createStyle.js +1 -1
  493. package/es/tasty/styles/dimension.js +1 -1
  494. package/es/tasty/styles/display.js +1 -1
  495. package/es/tasty/styles/fade.js +1 -1
  496. package/es/tasty/styles/fill.js +1 -1
  497. package/es/tasty/styles/flow.js +1 -1
  498. package/es/tasty/styles/gap.js +1 -1
  499. package/es/tasty/styles/height.js +1 -1
  500. package/es/tasty/styles/index.js +1 -1
  501. package/es/tasty/styles/inset.js +1 -1
  502. package/es/tasty/styles/justify.js +1 -1
  503. package/es/tasty/styles/list.js +1 -1
  504. package/es/tasty/styles/margin.js +1 -1
  505. package/es/tasty/styles/outline.js +1 -1
  506. package/es/tasty/styles/padding.js +1 -1
  507. package/es/tasty/styles/place.js +1 -1
  508. package/es/tasty/styles/predefined.js +1 -1
  509. package/es/tasty/styles/preset.js +1 -1
  510. package/es/tasty/styles/radius.js +1 -1
  511. package/es/tasty/styles/reset.js +1 -1
  512. package/es/tasty/styles/scrollbar.js +1 -1
  513. package/es/tasty/styles/shadow.js +1 -1
  514. package/es/tasty/styles/styledScrollbar.js +1 -1
  515. package/es/tasty/styles/transition.js +1 -1
  516. package/es/tasty/styles/types.js +1 -1
  517. package/es/tasty/styles/width.js +1 -1
  518. package/es/tasty/tasty.js +1 -1
  519. package/es/tasty/types.js +1 -1
  520. package/es/tasty/utils/cache-wrapper.js +1 -1
  521. package/es/tasty/utils/case-converter.js +1 -1
  522. package/es/tasty/utils/colors.js +1 -1
  523. package/es/tasty/utils/dotize.js +1 -1
  524. package/es/tasty/utils/filter-base-props.js +1 -1
  525. package/es/tasty/utils/get-display-name.js +1 -1
  526. package/es/tasty/utils/hsl-to-rgb.js +1 -1
  527. package/es/tasty/utils/is-dev-env.js +1 -1
  528. package/es/tasty/utils/merge-styles.js +1 -1
  529. package/es/tasty/utils/mod-attrs.js +1 -1
  530. package/es/tasty/utils/okhsl-to-rgb.js +1 -1
  531. package/es/tasty/utils/process-tokens.js +1 -1
  532. package/es/tasty/utils/resolve-recipes.js +1 -1
  533. package/es/tasty/utils/rgb-to-okhsl.js +1 -1
  534. package/es/tasty/utils/string.js +1 -1
  535. package/es/tasty/utils/styles.js +1 -1
  536. package/es/tasty/utils/typography.js +1 -1
  537. package/es/tasty/utils/warnings.js +1 -1
  538. package/es/tasty/zero/babel.js +1 -1
  539. package/es/tasty/zero/css-writer.js +1 -1
  540. package/es/tasty/zero/extractor.js +1 -1
  541. package/es/tasty/zero/index.js +1 -1
  542. package/es/tasty/zero/next.js +1 -1
  543. package/es/tokens/base.js +1 -1
  544. package/es/tokens/colors.js +1 -1
  545. package/es/tokens/index.js +1 -1
  546. package/es/tokens/layout.js +1 -1
  547. package/es/tokens/shadows.js +1 -1
  548. package/es/tokens/sizes.js +1 -1
  549. package/es/tokens/spacing.js +1 -1
  550. package/es/tokens/typography.js +1 -1
  551. package/es/utils/ResizeSensor.js +1 -1
  552. package/es/utils/index.js +1 -1
  553. package/es/utils/modules.js +1 -1
  554. package/es/utils/promise.js +1 -1
  555. package/es/utils/raf.js +1 -1
  556. package/es/utils/random.js +1 -1
  557. package/es/utils/range.js +1 -1
  558. package/es/utils/react/RenderCache.js +1 -1
  559. package/es/utils/react/Slots.js +1 -1
  560. package/es/utils/react/chain.js +1 -1
  561. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  562. package/es/utils/react/index.js +1 -1
  563. package/es/utils/react/interactions.js +1 -1
  564. package/es/utils/react/isTextOnly.js +1 -1
  565. package/es/utils/react/mapProps.js +1 -1
  566. package/es/utils/react/mergeProps.js +1 -1
  567. package/es/utils/react/nullableValue.js +1 -1
  568. package/es/utils/react/resolveIcon.js +1 -1
  569. package/es/utils/react/sharedStore.js +1 -1
  570. package/es/utils/react/useCombinedRefs.js +1 -1
  571. package/es/utils/react/useControlledFocusVisible.js +1 -1
  572. package/es/utils/react/useEventBus.js +1 -1
  573. package/es/utils/react/useId.js +1 -1
  574. package/es/utils/react/useIsDarwin.js +1 -1
  575. package/es/utils/react/useKeySymbols.js +1 -1
  576. package/es/utils/react/useLayoutEffect.js +1 -1
  577. package/es/utils/react/useLocalStorage.js +1 -1
  578. package/es/utils/react/useMergeStyles.js +1 -1
  579. package/es/utils/react/useQaProps.js +1 -1
  580. package/es/utils/react/useViewportSize.js +1 -1
  581. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  582. package/es/utils/tree.js +1 -1
  583. package/es/utils/warnings.js +1 -1
  584. package/es/version.js +2 -2
  585. package/package.json +1 -1
  586. package/types/components/overlays/Notifications/Notification.d.ts +32 -0
  587. package/types/components/overlays/Notifications/NotificationAction.d.ts +27 -0
  588. package/types/components/overlays/Notifications/NotificationCard.d.ts +37 -0
  589. package/types/components/overlays/Notifications/NotificationContext.d.ts +16 -0
  590. package/types/components/overlays/Notifications/NotificationItem.d.ts +7 -0
  591. package/types/components/overlays/Notifications/OverlayContainer.d.ts +12 -0
  592. package/types/components/overlays/Notifications/OverlayProvider.d.ts +3 -0
  593. package/types/components/overlays/Notifications/PersistentNotificationsList.d.ts +19 -0
  594. package/types/components/overlays/Notifications/format-relative-time.d.ts +14 -0
  595. package/types/components/overlays/Notifications/index.d.ts +40 -0
  596. package/types/components/overlays/Notifications/types.d.ts +154 -0
  597. package/types/components/overlays/Notifications/use-notification-state.d.ts +23 -0
  598. package/types/components/overlays/Notifications/use-notifications.d.ts +36 -0
  599. package/types/components/overlays/Notifications/use-overlay-timers.d.ts +26 -0
  600. package/types/components/overlays/Notifications/use-persistent-notifications.d.ts +48 -0
  601. package/types/components/overlays/Notifications/use-persistent-state.d.ts +23 -0
  602. package/types/components/overlays/Notifications/use-toast-state.d.ts +16 -0
  603. package/types/components/overlays/Toast/ToastItem.d.ts +3 -1
  604. package/types/components/overlays/Toast/ToastProvider.d.ts +5 -8
  605. package/types/components/overlays/Toast/index.d.ts +1 -1
  606. package/types/components/overlays/Toast/types.d.ts +3 -1
  607. package/types/index.d.ts +1 -3
  608. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +0 -54
  609. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +0 -95
  610. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +0 -56
  611. package/es/components/overlays/NewNotifications/Bar/index.js +0 -10
  612. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +0 -19
  613. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +0 -38
  614. package/es/components/overlays/NewNotifications/Dialog/index.js +0 -10
  615. package/es/components/overlays/NewNotifications/Notification.js +0 -41
  616. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +0 -41
  617. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +0 -25
  618. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +0 -36
  619. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +0 -60
  620. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +0 -31
  621. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +0 -69
  622. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +0 -25
  623. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +0 -86
  624. package/es/components/overlays/NewNotifications/NotificationView/index.js +0 -11
  625. package/es/components/overlays/NewNotifications/NotificationView/types.js +0 -10
  626. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +0 -11
  627. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +0 -21
  628. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +0 -11
  629. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +0 -91
  630. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +0 -45
  631. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +0 -29
  632. package/es/components/overlays/NewNotifications/NotificationsList/index.js +0 -10
  633. package/es/components/overlays/NewNotifications/hooks/index.js +0 -14
  634. package/es/components/overlays/NewNotifications/hooks/types.js +0 -10
  635. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +0 -15
  636. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +0 -17
  637. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +0 -29
  638. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +0 -17
  639. package/es/components/overlays/NewNotifications/index.js +0 -15
  640. package/es/components/overlays/NewNotifications/types.js +0 -10
  641. package/es/components/overlays/Notification/Notification.js +0 -80
  642. package/es/services/notification.js +0 -71
  643. package/types/components/overlays/NewNotifications/Bar/FloatingNotification.d.ts +0 -15
  644. package/types/components/overlays/NewNotifications/Bar/NotificationsBar.d.ts +0 -21
  645. package/types/components/overlays/NewNotifications/Bar/TransitionComponent.d.ts +0 -4
  646. package/types/components/overlays/NewNotifications/Bar/index.d.ts +0 -1
  647. package/types/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.d.ts +0 -9
  648. package/types/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.d.ts +0 -11
  649. package/types/components/overlays/NewNotifications/Dialog/index.d.ts +0 -1
  650. package/types/components/overlays/NewNotifications/Notification.d.ts +0 -18
  651. package/types/components/overlays/NewNotifications/NotificationView/NotificationAction.d.ts +0 -13
  652. package/types/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.d.ts +0 -4
  653. package/types/components/overlays/NewNotifications/NotificationView/NotificationDescription.d.ts +0 -9
  654. package/types/components/overlays/NewNotifications/NotificationView/NotificationFooter.d.ts +0 -13
  655. package/types/components/overlays/NewNotifications/NotificationView/NotificationHeader.d.ts +0 -9
  656. package/types/components/overlays/NewNotifications/NotificationView/NotificationIcon.d.ts +0 -9
  657. package/types/components/overlays/NewNotifications/NotificationView/NotificationProvider.d.ts +0 -10
  658. package/types/components/overlays/NewNotifications/NotificationView/NotificationView.d.ts +0 -10
  659. package/types/components/overlays/NewNotifications/NotificationView/index.d.ts +0 -2
  660. package/types/components/overlays/NewNotifications/NotificationView/types.d.ts +0 -16
  661. package/types/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.d.ts +0 -5
  662. package/types/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.d.ts +0 -4
  663. package/types/components/overlays/NewNotifications/NotificationsContext/index.d.ts +0 -2
  664. package/types/components/overlays/NewNotifications/NotificationsContext/use-notifications.d.ts +0 -8
  665. package/types/components/overlays/NewNotifications/NotificationsList/NotificationsList.d.ts +0 -21
  666. package/types/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.d.ts +0 -5
  667. package/types/components/overlays/NewNotifications/NotificationsList/index.d.ts +0 -2
  668. package/types/components/overlays/NewNotifications/NotificationsList/types.d.ts +0 -22
  669. package/types/components/overlays/NewNotifications/hooks/index.d.ts +0 -5
  670. package/types/components/overlays/NewNotifications/hooks/types.d.ts +0 -10
  671. package/types/components/overlays/NewNotifications/hooks/use-notification-list-item.d.ts +0 -9
  672. package/types/components/overlays/NewNotifications/hooks/use-notifications-api.d.ts +0 -1
  673. package/types/components/overlays/NewNotifications/hooks/use-notifications-list.d.ts +0 -12
  674. package/types/components/overlays/NewNotifications/hooks/use-notifications-observer.d.ts +0 -2
  675. package/types/components/overlays/NewNotifications/index.d.ts +0 -8
  676. package/types/components/overlays/NewNotifications/types.d.ts +0 -76
  677. package/types/components/overlays/Notification/Notification.d.ts +0 -6
  678. package/types/services/notification.d.ts +0 -28
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.113.1
4
+ * @cube-dev/ui-kit v0.114.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.113.1
4
+ * @cube-dev/ui-kit v0.114.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -0,0 +1,89 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.114.0
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { useEffect, useRef } from 'react';
9
+ import { useNotificationContext } from './NotificationContext.js';
10
+ /**
11
+ * Declarative Notification component that shows a notification while mounted.
12
+ * Only supports `mode: 'overlay'` (the default).
13
+ *
14
+ * Duration defaults are the same as for imperative `notify()`:
15
+ * - 3000ms for non-persistent, 5000ms for persistent notifications
16
+ * - Pass `duration={null}` explicitly to disable auto-dismiss.
17
+ *
18
+ * Semantics:
19
+ * - mount → show or update by `id`
20
+ * - unmount → remove from overlay and persistent list
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * <Notification
25
+ * id="release:new-version"
26
+ * theme="warning"
27
+ * title="New release available"
28
+ * description="2.0.0 can be installed now."
29
+ * actions={
30
+ * <>
31
+ * <Notification.Action>Later</Notification.Action>
32
+ * <Notification.Action onPress={() => openUpgradeDialog()}>
33
+ * Upgrade
34
+ * </Notification.Action>
35
+ * </>
36
+ * }
37
+ * />
38
+ * ```
39
+ */
40
+ export function Notification(props) {
41
+ const { addNotification, removeNotification, updateNotification, removePersistentItem, } = useNotificationContext();
42
+ const notificationIdRef = useRef(null);
43
+ // Tracks how many times the update effect has run. The first run (0 → 1)
44
+ // coincides with mount and must be skipped because addNotification already
45
+ // handles the initial state.
46
+ const renderCountRef = useRef(0);
47
+ // Show notification on mount
48
+ useEffect(() => {
49
+ const id = addNotification({
50
+ ...props,
51
+ mode: 'overlay',
52
+ });
53
+ notificationIdRef.current = id;
54
+ return () => {
55
+ if (notificationIdRef.current != null) {
56
+ removeNotification(notificationIdRef.current, 'api');
57
+ removePersistentItem(notificationIdRef.current);
58
+ notificationIdRef.current = null;
59
+ }
60
+ };
61
+ }, []);
62
+ // Update notification when props change (skip initial mount)
63
+ useEffect(() => {
64
+ // Skip the first run — it coincides with the mount effect above
65
+ if (renderCountRef.current === 0) {
66
+ renderCountRef.current = 1;
67
+ return;
68
+ }
69
+ if (notificationIdRef.current != null) {
70
+ updateNotification(notificationIdRef.current, {
71
+ ...props,
72
+ mode: 'overlay',
73
+ });
74
+ }
75
+ }, [
76
+ props.id,
77
+ props.theme,
78
+ props.title,
79
+ props.description,
80
+ props.icon,
81
+ props.actions,
82
+ props.isDismissible,
83
+ props.persistent,
84
+ props.duration,
85
+ ]);
86
+ return null;
87
+ }
88
+
89
+
@@ -0,0 +1,82 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.114.0
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ import { createContext, useContext, useMemo, } from 'react';
10
+ import { useEvent } from '../../../_internal/index.js';
11
+ import { ItemAction } from '../../actions/ItemAction/ItemAction.js';
12
+ // ─── Notification Action Interceptor Context ─────────────────────────
13
+ /**
14
+ * Optional callback invoked BEFORE any action's onPress handler.
15
+ * Provided by PersistentNotificationsList so the parent (e.g. popover)
16
+ * can close itself when an action is triggered.
17
+ */
18
+ const NotificationActionInterceptorContext = createContext(null);
19
+ export { NotificationActionInterceptorContext };
20
+ const NotificationDismissContext = createContext(null);
21
+ export function NotificationDismissProvider({ notificationId, onDismiss, children, }) {
22
+ const dismiss = useEvent((reason) => {
23
+ onDismiss(notificationId, reason);
24
+ });
25
+ const value = useMemo(() => ({ dismiss }), [dismiss]);
26
+ return (_jsx(NotificationDismissContext.Provider, { value: value, children: children }));
27
+ }
28
+ // ─── Dismiss Action Detection Context ────────────────────────────────
29
+ //
30
+ // Allows NotificationCard to detect whether any child NotificationAction
31
+ // has `isDismiss` set, without requiring a separate `hasDismissAction` prop.
32
+ //
33
+ // Mechanism:
34
+ // - DismissActionDetector provides a ref via context and resets it each render.
35
+ // - NotificationAction writes to the ref during render when isDismiss is true.
36
+ // - DefaultDismissGuard reads the ref to decide whether to show the default button.
37
+ //
38
+ // This relies on React's left-to-right sibling render order: {actions}
39
+ // children render before <DefaultDismissGuard />, so the ref is populated
40
+ // before it's read. The ref is reset at the provider level each render,
41
+ // making it safe under StrictMode double-rendering.
42
+ export const DismissActionDetectedContext = createContext(null);
43
+ // ─── NotificationAction Component ────────────────────────────────────
44
+ /**
45
+ * Action button for use inside Notification components.
46
+ * Wraps ItemAction with auto-dismiss behavior.
47
+ *
48
+ * - `closeOnPress` (default: true) — auto-dismisses the notification after `onPress`.
49
+ * - An action with no `onPress` and `closeOnPress: true` acts as a dismiss-only action.
50
+ * - `isDismiss` — marks this action as the dismiss button; when present, the default
51
+ * "Dismiss" button is auto-suppressed via context detection.
52
+ * - Type (primary/secondary/etc.) is set automatically via ItemActionProvider context.
53
+ */
54
+ export function NotificationAction({ children, onPress, closeOnPress = true, isDisabled, isDismiss, }) {
55
+ const dismissCtx = useContext(NotificationDismissContext);
56
+ const dismissDetectedRef = useContext(DismissActionDetectedContext);
57
+ // Register isDismiss during render (synchronous, before DefaultDismissGuard renders).
58
+ // Safe under StrictMode: the ref is reset at the DismissActionDetector level each render.
59
+ if (isDismiss && dismissDetectedRef) {
60
+ dismissDetectedRef.current = true;
61
+ }
62
+ const actionInterceptor = useContext(NotificationActionInterceptorContext);
63
+ const handlePress = useEvent(async () => {
64
+ const result = await onPress?.();
65
+ if (result === false) {
66
+ return;
67
+ }
68
+ actionInterceptor?.();
69
+ if (closeOnPress || actionInterceptor) {
70
+ // isDismiss actions (dismiss button, Escape) use 'close' reason — the
71
+ // notification moves to the persistent list.
72
+ // Regular actions use 'action' reason — the notification is fully dismissed
73
+ // and won't reappear.
74
+ // When an actionInterceptor is present (persistent list), always dismiss
75
+ // regardless of closeOnPress — all actions remove the item permanently.
76
+ dismissCtx?.dismiss(isDismiss ? 'close' : 'action');
77
+ }
78
+ });
79
+ return (_jsx(ItemAction, { type: "secondary", isDisabled: isDisabled, onPress: handlePress, children: children }));
80
+ }
81
+
82
+
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.114.0
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ import { useContext, useRef } from 'react';
10
+ import { tasty } from '../../../tasty/index.js';
11
+ import { ItemActionProvider } from '../../actions/ItemActionContext.js';
12
+ import { Block } from '../../Block.js';
13
+ import { Item } from '../../content/Item/Item.js';
14
+ import { Flex } from '../../layout/Flex.js';
15
+ import { Space } from '../../layout/Space.js';
16
+ import { getThemeIcon } from '../Toast/useToast.js';
17
+ import { DismissActionDetectedContext, NotificationAction, NotificationDismissProvider, } from './NotificationAction.js';
18
+ // ─── Styled Components ──────────────────────────────────────────────
19
+ const StyledItem = tasty(Item, {
20
+ styles: {
21
+ width: {
22
+ '': 'max min((100vw - 4x), 50x)',
23
+ flat: '100%',
24
+ },
25
+ shadow: {
26
+ '': '$card-shadow',
27
+ flat: false,
28
+ },
29
+ radius: {
30
+ '': '1cr',
31
+ flat: '0',
32
+ },
33
+ transition: 'theme, inset',
34
+ Description: {
35
+ preset: 't4',
36
+ },
37
+ },
38
+ });
39
+ // ─── Dismiss Action Detection ────────────────────────────────────────
40
+ /**
41
+ * Provides a ref via context that NotificationAction children write to
42
+ * during render when `isDismiss` is set. The ref is reset each render.
43
+ */
44
+ function DismissActionDetector({ children }) {
45
+ const ref = useRef(false);
46
+ // Reset each render so detection is fresh
47
+ ref.current = false;
48
+ return (_jsx(DismissActionDetectedContext.Provider, { value: ref, children: children }));
49
+ }
50
+ /**
51
+ * Renders the default "Dismiss" button only if no sibling NotificationAction
52
+ * has `isDismiss` set. Reads from DismissActionDetectedContext ref which is
53
+ * populated by actions that rendered before this component (left-to-right order).
54
+ */
55
+ function AutoDismissButton() {
56
+ const dismissDetectedRef = useContext(DismissActionDetectedContext);
57
+ if (dismissDetectedRef?.current)
58
+ return null;
59
+ return _jsx(NotificationAction, { isDismiss: true, children: "Dismiss" });
60
+ }
61
+ /**
62
+ * Extracted sub-component for the actions area of a notification card.
63
+ *
64
+ * The dismiss provider is always rendered when `hasDismissContext` is true,
65
+ * so any action with `closeOnPress` can close the notification — regardless
66
+ * of `isDismissible`. The `showAutoDismiss` flag only controls the
67
+ * auto-appended "Dismiss" button.
68
+ */
69
+ function ActionsSection({ actions, theme, showAutoDismiss, hasDismissContext, notificationId, onDismiss, }) {
70
+ const actionsContent = (_jsxs(Space, { placeSelf: "end", placeContent: "end", flexGrow: 1, children: [actions, showAutoDismiss && _jsx(AutoDismissButton, {})] }));
71
+ const wrappedContent = showAutoDismiss ? (_jsx(DismissActionDetector, { children: actionsContent })) : (actionsContent);
72
+ return (_jsx(ItemActionProvider, { type: "card", theme: theme, children: hasDismissContext ? (_jsx(NotificationDismissProvider, { notificationId: notificationId, onDismiss: onDismiss, children: wrappedContent })) : (wrappedContent) }));
73
+ }
74
+ /**
75
+ * Shared presentational card used by both overlay NotificationItem
76
+ * and PersistentNotificationListItem.
77
+ */
78
+ export function NotificationCard({ qa = 'Notification', theme, title, description, icon: providedIcon, actions, isDismissible = true, elevated = true, notificationId, onDismiss, suffix, }) {
79
+ const icon = getThemeIcon(theme, providedIcon);
80
+ const hasDismissContext = notificationId != null && onDismiss != null;
81
+ const showAutoDismiss = isDismissible && hasDismissContext;
82
+ const hasActions = !!(actions || showAutoDismiss);
83
+ const descriptionContent = description || hasActions ? (_jsxs(Flex, { flow: "row wrap", gap: "0.5x 1x", placeItems: "center stretch", children: [description && _jsx(Block, { children: description }), hasActions && (_jsx(ActionsSection, { actions: actions, theme: theme, showAutoDismiss: showAutoDismiss, hasDismissContext: hasDismissContext, notificationId: notificationId, onDismiss: onDismiss }))] })) : undefined;
84
+ return (_jsx(StyledItem, { qa: qa, type: "card", theme: theme, icon: icon, description: descriptionContent, suffix: suffix, mods: { flat: !elevated }, styles: !elevated ? { border: '0' } : undefined, children: title }));
85
+ }
86
+
87
+
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.114.0
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { createContext, useContext } from 'react';
9
+ // ─── Contexts ─────────────────────────────────────────────────────────
10
+ export const ToastContext = createContext(null);
11
+ /**
12
+ * Internal context for overlay notification machinery.
13
+ * Not exported publicly — consumers should use `useNotifications` hook.
14
+ */
15
+ export const NotificationContext = createContext(null);
16
+ /**
17
+ * Public context for persistent notifications.
18
+ * Used by `usePersistentNotifications` and `useNotificationsCount` hooks.
19
+ */
20
+ export const PersistentNotificationsContext = createContext(null);
21
+ // ─── Context Hooks ────────────────────────────────────────────────────
22
+ export function useToastContext() {
23
+ const context = useContext(ToastContext);
24
+ if (!context) {
25
+ throw new Error('useToastContext must be used within an OverlayProvider');
26
+ }
27
+ return context;
28
+ }
29
+ export function useNotificationContext() {
30
+ const context = useContext(NotificationContext);
31
+ if (!context) {
32
+ throw new Error('useNotificationContext must be used within an OverlayProvider');
33
+ }
34
+ return context;
35
+ }
36
+ export function usePersistentNotificationsContext() {
37
+ const context = useContext(PersistentNotificationsContext);
38
+ if (!context) {
39
+ throw new Error('usePersistentNotificationsContext must be used within an OverlayProvider');
40
+ }
41
+ return context;
42
+ }
43
+
44
+
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.114.0
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ import { useEvent } from '../../../_internal/index.js';
10
+ import { tasty } from '../../../tasty/index.js';
11
+ import { NotificationCard } from './NotificationCard.js';
12
+ // ─── ARIA Helpers ────────────────────────────────────────────────────
13
+ function getAriaRole(theme) {
14
+ if (theme === 'danger' || theme === 'warning') {
15
+ return 'alert';
16
+ }
17
+ return 'status';
18
+ }
19
+ function getAriaLive(theme) {
20
+ if (theme === 'danger' || theme === 'warning') {
21
+ return 'assertive';
22
+ }
23
+ return 'polite';
24
+ }
25
+ // ─── Styled Wrapper ──────────────────────────────────────────────────
26
+ /**
27
+ * Wrapper element for overlay notification items.
28
+ *
29
+ * Accessibility attributes are set as static defaults:
30
+ * - `tabIndex={0}`: Makes the notification focusable via keyboard, allowing
31
+ * users to Tab to it and press Escape to dismiss.
32
+ * - `aria-atomic="true"`: Ensures screen readers announce the entire notification
33
+ * when content changes (not just the diff).
34
+ * - `aria-relevant="additions text"`: Announces when new content is added or
35
+ * text changes, but not when elements are removed (e.g., during exit animation).
36
+ *
37
+ * The `role` and `aria-live` are set dynamically per-instance based on theme
38
+ * (see `getAriaRole` and `getAriaLive` above).
39
+ */
40
+ const NotificationItemWrapper = tasty({
41
+ as: 'div',
42
+ tabIndex: 0,
43
+ 'aria-atomic': 'true',
44
+ 'aria-relevant': 'additions text',
45
+ styles: {
46
+ outline: {
47
+ '': 'none',
48
+ },
49
+ },
50
+ });
51
+ export function NotificationItem({ notification, onDismiss, }) {
52
+ const { theme, title, description, icon, actions, isDismissible = true, id, internalId, } = notification;
53
+ const notificationId = id ?? internalId;
54
+ const handleKeyDown = useEvent((e) => {
55
+ if (e.key === 'Escape' && isDismissible) {
56
+ e.stopPropagation();
57
+ onDismiss(notificationId, 'close');
58
+ }
59
+ });
60
+ return (_jsx(NotificationItemWrapper, { role: getAriaRole(theme), "aria-live": getAriaLive(theme), onKeyDown: handleKeyDown, children: _jsx(NotificationCard, { qa: "Notification", theme: theme, title: title, description: description, icon: icon, actions: actions, isDismissible: isDismissible, notificationId: notificationId, onDismiss: onDismiss }) }));
61
+ }
62
+
63
+