@cube-dev/ui-kit 0.0.0-canary-e2a9f35 → 0.0.0-canary-c48279e

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 (688) hide show
  1. package/es/_internal/hooks/index.js +1 -1
  2. package/es/_internal/hooks/use-chained-callback.js +1 -1
  3. package/es/_internal/hooks/use-debounced-value.js +1 -1
  4. package/es/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/es/_internal/hooks/use-effect-once.js +1 -1
  6. package/es/_internal/hooks/use-event.js +1 -1
  7. package/es/_internal/hooks/use-is-first-render.js +1 -1
  8. package/es/_internal/hooks/use-sync-ref.js +1 -1
  9. package/es/_internal/hooks/use-timer/index.js +1 -1
  10. package/es/_internal/hooks/use-timer/timer.js +1 -1
  11. package/es/_internal/hooks/use-timer/use-timer.js +1 -1
  12. package/es/_internal/hooks/use-update-effect.js +1 -1
  13. package/es/_internal/hooks/use-warn.js +1 -1
  14. package/es/_internal/index.js +1 -1
  15. package/es/components/Block.js +1 -1
  16. package/es/components/CollectionItem.js +1 -1
  17. package/es/components/GlobalStyles.js +1 -1
  18. package/es/components/GridProvider.js +1 -1
  19. package/es/components/HiddenInput.js +1 -1
  20. package/es/components/OpenTrasition.js +1 -1
  21. package/es/components/Root.js +3 -4
  22. package/es/components/actions/Action/Action.js +1 -1
  23. package/es/components/actions/Banner/Banner.js +1 -1
  24. package/es/components/actions/Banner/index.js +1 -1
  25. package/es/components/actions/Button/Button.js +1 -1
  26. package/es/components/actions/Button/index.js +1 -1
  27. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  28. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  29. package/es/components/actions/CommandMenu/index.js +1 -1
  30. package/es/components/actions/CommandMenu/styled.js +1 -1
  31. package/es/components/actions/ItemAction/ItemAction.js +5 -1
  32. package/es/components/actions/ItemAction/index.js +1 -1
  33. package/es/components/actions/ItemActionContext.js +1 -1
  34. package/es/components/actions/ItemButton/ItemButton.js +1 -1
  35. package/es/components/actions/ItemButton/index.js +1 -1
  36. package/es/components/actions/Link/Link.js +1 -1
  37. package/es/components/actions/Menu/Menu.js +1 -1
  38. package/es/components/actions/Menu/MenuItem.js +1 -1
  39. package/es/components/actions/Menu/MenuSection.js +1 -1
  40. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  41. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  42. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  43. package/es/components/actions/Menu/context.js +1 -1
  44. package/es/components/actions/Menu/index.js +1 -1
  45. package/es/components/actions/Menu/styled.js +1 -1
  46. package/es/components/actions/index.js +1 -1
  47. package/es/components/actions/use-action.js +1 -1
  48. package/es/components/actions/use-anchored-menu.js +1 -1
  49. package/es/components/actions/use-context-menu.js +1 -1
  50. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  51. package/es/components/content/Alert/Alert.js +1 -1
  52. package/es/components/content/Alert/index.js +1 -1
  53. package/es/components/content/Alert/types.js +1 -1
  54. package/es/components/content/Alert/use-alert.js +1 -1
  55. package/es/components/content/Avatar/Avatar.js +1 -1
  56. package/es/components/content/Badge/Badge.js +1 -1
  57. package/es/components/content/Card/Card.js +1 -1
  58. package/es/components/content/Content.js +1 -1
  59. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  60. package/es/components/content/CopyPasteBlock/index.js +1 -1
  61. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  62. package/es/components/content/CopySnippet/index.js +1 -1
  63. package/es/components/content/Disclosure/Disclosure.js +1 -1
  64. package/es/components/content/Disclosure/index.js +1 -1
  65. package/es/components/content/Divider.js +1 -1
  66. package/es/components/content/Footer.js +1 -1
  67. package/es/components/content/Header.js +1 -1
  68. package/es/components/content/HotKeys/HotKeys.js +1 -1
  69. package/es/components/content/HotKeys/index.js +1 -1
  70. package/es/components/content/Item/Item.js +1 -1
  71. package/es/components/content/Item/index.js +1 -1
  72. package/es/components/content/ItemBadge/ItemBadge.js +1 -1
  73. package/es/components/content/ItemBadge/index.js +1 -1
  74. package/es/components/content/Layout/GridLayout.js +1 -1
  75. package/es/components/content/Layout/Layout.js +1 -1
  76. package/es/components/content/Layout/LayoutBlock.js +1 -1
  77. package/es/components/content/Layout/LayoutCenter.js +1 -1
  78. package/es/components/content/Layout/LayoutContainer.js +1 -1
  79. package/es/components/content/Layout/LayoutContent.js +1 -1
  80. package/es/components/content/Layout/LayoutContext.js +1 -1
  81. package/es/components/content/Layout/LayoutFlex.js +1 -1
  82. package/es/components/content/Layout/LayoutFooter.js +1 -1
  83. package/es/components/content/Layout/LayoutGrid.js +1 -1
  84. package/es/components/content/Layout/LayoutHeader.js +1 -1
  85. package/es/components/content/Layout/LayoutPane.js +1 -1
  86. package/es/components/content/Layout/LayoutPanel.js +1 -1
  87. package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
  88. package/es/components/content/Layout/LayoutToolbar.js +1 -1
  89. package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  90. package/es/components/content/Layout/index.js +1 -1
  91. package/es/components/content/Layout/utils.js +1 -1
  92. package/es/components/content/List/SectionHeading.js +1 -1
  93. package/es/components/content/List/index.js +1 -1
  94. package/es/components/content/Paragraph.js +1 -1
  95. package/es/components/content/Placeholder/Placeholder.js +1 -1
  96. package/es/components/content/PrismCode/PrismCode.js +1 -1
  97. package/es/components/content/PrismCode/prismSetup.js +1 -1
  98. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  99. package/es/components/content/Result/Result.js +1 -1
  100. package/es/components/content/Skeleton/Skeleton.js +1 -1
  101. package/es/components/content/Tag/Tag.js +1 -1
  102. package/es/components/content/Text.js +1 -1
  103. package/es/components/content/TextItem/TextItem.js +1 -1
  104. package/es/components/content/TextItem/index.js +1 -1
  105. package/es/components/content/Title.js +1 -1
  106. package/es/components/content/highlightText.js +1 -1
  107. package/es/components/content/use-auto-tooltip.js +1 -1
  108. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  109. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  110. package/es/components/fields/Checkbox/context.js +1 -1
  111. package/es/components/fields/Checkbox/index.js +1 -1
  112. package/es/components/fields/ComboBox/ComboBox.js +1 -1
  113. package/es/components/fields/ComboBox/index.js +1 -1
  114. package/es/components/fields/DatePicker/DateInput.js +1 -1
  115. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  116. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  117. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  118. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  119. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  120. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  121. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  122. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  123. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  124. package/es/components/fields/DatePicker/index.js +1 -1
  125. package/es/components/fields/DatePicker/intl.js +1 -1
  126. package/es/components/fields/DatePicker/parseDate.js +1 -1
  127. package/es/components/fields/DatePicker/props.js +1 -1
  128. package/es/components/fields/DatePicker/types.js +1 -1
  129. package/es/components/fields/DatePicker/utils.js +1 -1
  130. package/es/components/fields/FileInput/FileInput.js +1 -1
  131. package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
  132. package/es/components/fields/FilterListBox/index.js +1 -1
  133. package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
  134. package/es/components/fields/FilterPicker/index.js +1 -1
  135. package/es/components/fields/Input/Input.js +1 -1
  136. package/es/components/fields/Input/index.js +1 -1
  137. package/es/components/fields/ListBox/ListBox.js +1 -1
  138. package/es/components/fields/ListBox/index.js +1 -1
  139. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  140. package/es/components/fields/NumberInput/StepButton.js +1 -1
  141. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  142. package/es/components/fields/Picker/Picker.js +1 -1
  143. package/es/components/fields/Picker/index.js +1 -1
  144. package/es/components/fields/RadioGroup/Radio.js +1 -1
  145. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  146. package/es/components/fields/RadioGroup/context.js +1 -1
  147. package/es/components/fields/RadioGroup/index.js +1 -1
  148. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  149. package/es/components/fields/SearchInput/index.js +1 -1
  150. package/es/components/fields/Select/Select.js +1 -1
  151. package/es/components/fields/Select/index.js +1 -1
  152. package/es/components/fields/Slider/Gradation.js +1 -1
  153. package/es/components/fields/Slider/Header.js +1 -1
  154. package/es/components/fields/Slider/HueSlider.js +1 -1
  155. package/es/components/fields/Slider/RangeSlider.js +1 -1
  156. package/es/components/fields/Slider/Slider.js +1 -1
  157. package/es/components/fields/Slider/SliderBase.js +1 -1
  158. package/es/components/fields/Slider/SliderInput.js +1 -1
  159. package/es/components/fields/Slider/SliderThumb.js +1 -1
  160. package/es/components/fields/Slider/SliderTrack.js +1 -1
  161. package/es/components/fields/Slider/elements.js +1 -1
  162. package/es/components/fields/Slider/index.js +1 -1
  163. package/es/components/fields/Slider/types.js +1 -1
  164. package/es/components/fields/Switch/Switch.js +1 -1
  165. package/es/components/fields/Switch/index.js +1 -1
  166. package/es/components/fields/TextArea/TextArea.js +1 -1
  167. package/es/components/fields/TextArea/index.js +1 -1
  168. package/es/components/fields/TextInput/TextInput.js +1 -1
  169. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  170. package/es/components/fields/TextInput/index.js +1 -1
  171. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  172. package/es/components/fields/TextInputMapper/index.js +1 -1
  173. package/es/components/fields/index.js +1 -1
  174. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  175. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  176. package/es/components/form/FieldWrapper/index.js +1 -1
  177. package/es/components/form/FieldWrapper/types.js +1 -1
  178. package/es/components/form/Form/Field.js +1 -1
  179. package/es/components/form/Form/Form.js +1 -1
  180. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  181. package/es/components/form/Form/ResetButton/index.js +1 -1
  182. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  183. package/es/components/form/Form/SubmitButton/index.js +1 -1
  184. package/es/components/form/Form/SubmitError.js +1 -1
  185. package/es/components/form/Form/index.js +1 -1
  186. package/es/components/form/Form/types.js +1 -1
  187. package/es/components/form/Form/use-field/index.js +1 -1
  188. package/es/components/form/Form/use-field/types.js +1 -1
  189. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  190. package/es/components/form/Form/use-field/use-field.js +1 -1
  191. package/es/components/form/Form/use-form.js +1 -1
  192. package/es/components/form/Form/validation.js +1 -1
  193. package/es/components/form/Label.js +1 -1
  194. package/es/components/form/index.js +1 -1
  195. package/es/components/form/wrapper.js +1 -1
  196. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  197. package/es/components/helpers/DisplayTransition/index.js +1 -1
  198. package/es/components/helpers/IconSwitch/IconSwitch.js +1 -1
  199. package/es/components/helpers/index.js +1 -1
  200. package/es/components/layout/Flex.js +1 -1
  201. package/es/components/layout/Flow.js +1 -1
  202. package/es/components/layout/Grid.js +1 -1
  203. package/es/components/layout/Panel.js +1 -1
  204. package/es/components/layout/Prefix.js +1 -1
  205. package/es/components/layout/ResizablePanel.js +1 -1
  206. package/es/components/layout/Space.js +1 -1
  207. package/es/components/layout/Suffix.js +1 -1
  208. package/es/components/navigation/Tabs/DraggableTabList.js +1 -1
  209. package/es/components/navigation/Tabs/EditableTitle.js +1 -1
  210. package/es/components/navigation/Tabs/TabButton.js +1 -1
  211. package/es/components/navigation/Tabs/TabDropIndicator.js +1 -1
  212. package/es/components/navigation/Tabs/TabPanel.js +1 -1
  213. package/es/components/navigation/Tabs/TabPicker.js +1 -1
  214. package/es/components/navigation/Tabs/Tabs.js +1 -1
  215. package/es/components/navigation/Tabs/TabsAction.js +1 -1
  216. package/es/components/navigation/Tabs/TabsContext.js +1 -1
  217. package/es/components/navigation/Tabs/index.js +1 -1
  218. package/es/components/navigation/Tabs/styled.js +1 -1
  219. package/es/components/navigation/Tabs/types.js +1 -1
  220. package/es/components/navigation/Tabs/use-tab-editing.js +1 -1
  221. package/es/components/navigation/Tabs/use-tab-indicator.js +1 -1
  222. package/es/components/navigation/index.js +1 -1
  223. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  224. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  225. package/es/components/other/Calendar/Calendar.js +1 -1
  226. package/es/components/other/Calendar/CalendarCell.js +1 -1
  227. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  228. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  229. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  230. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  231. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  232. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  233. package/es/components/overlays/AlertDialog/index.js +1 -1
  234. package/es/components/overlays/AlertDialog/types.js +1 -1
  235. package/es/components/overlays/Dialog/Dialog.js +1 -1
  236. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  237. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  238. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  239. package/es/components/overlays/Dialog/context.js +1 -1
  240. package/es/components/overlays/Dialog/index.js +1 -1
  241. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  242. package/es/components/overlays/Modal/Modal.js +1 -1
  243. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  244. package/es/components/overlays/Modal/Overlay.js +1 -1
  245. package/es/components/overlays/Modal/Popover.js +1 -1
  246. package/es/components/overlays/Modal/Tray.js +1 -1
  247. package/es/components/overlays/Modal/Underlay.js +1 -1
  248. package/es/components/overlays/Modal/index.js +1 -1
  249. package/es/components/overlays/Modal/types.js +1 -1
  250. package/es/components/overlays/Notifications/Notification.js +92 -0
  251. package/es/components/overlays/Notifications/NotificationAction.js +73 -0
  252. package/es/components/overlays/Notifications/NotificationCard.js +87 -0
  253. package/es/components/overlays/Notifications/NotificationContext.js +44 -0
  254. package/es/components/overlays/Notifications/NotificationItem.js +63 -0
  255. package/es/components/overlays/Notifications/OverlayContainer.js +339 -0
  256. package/es/components/overlays/Notifications/OverlayProvider.js +69 -0
  257. package/es/components/overlays/Notifications/PersistentNotificationsList.js +105 -0
  258. package/es/components/overlays/Notifications/format-relative-time.js +55 -0
  259. package/es/components/overlays/Notifications/index.js +51 -0
  260. package/es/components/overlays/{NewNotifications/NotificationsList → Notifications}/types.js +1 -1
  261. package/es/components/overlays/Notifications/use-notification-state.js +205 -0
  262. package/es/components/overlays/Notifications/use-notifications.js +175 -0
  263. package/es/components/overlays/Notifications/use-overlay-timers.js +138 -0
  264. package/es/components/overlays/Notifications/use-persistent-notifications.js +63 -0
  265. package/es/components/overlays/Notifications/use-persistent-state.js +66 -0
  266. package/es/components/overlays/Notifications/use-toast-state.js +143 -0
  267. package/es/components/overlays/OverlayWrapper.js +1 -1
  268. package/es/components/overlays/Toast/ToastItem.js +6 -3
  269. package/es/components/overlays/Toast/ToastProvider.js +6 -352
  270. package/es/components/overlays/Toast/index.js +3 -8
  271. package/es/components/overlays/Toast/types.js +1 -1
  272. package/es/components/overlays/Toast/useProgressToast.js +2 -5
  273. package/es/components/overlays/Toast/useToast.js +1 -7
  274. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  275. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  276. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  277. package/es/components/overlays/Tooltip/context.js +1 -1
  278. package/es/components/overlays/Tooltip/index.js +1 -1
  279. package/es/components/portal/Portal.js +1 -1
  280. package/es/components/portal/PortalProvider.js +1 -1
  281. package/es/components/portal/index.js +1 -1
  282. package/es/components/portal/types.js +1 -1
  283. package/es/components/portal/usePortal.js +1 -1
  284. package/es/components/shared/InvalidIcon.js +1 -1
  285. package/es/components/shared/ValidIcon.js +1 -1
  286. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  287. package/es/components/status/LoadingAnimation/index.js +1 -1
  288. package/es/components/status/Spin/Cube.js +1 -1
  289. package/es/components/status/Spin/InternalSpinner.js +1 -1
  290. package/es/components/status/Spin/Spin.js +1 -1
  291. package/es/components/status/Spin/SpinsContainer.js +1 -1
  292. package/es/components/status/Spin/index.js +1 -1
  293. package/es/components/status/Spin/types.js +1 -1
  294. package/es/components/status/index.js +1 -1
  295. package/es/data/item-themes.js +1 -1
  296. package/es/data/themes.js +1 -1
  297. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  298. package/es/icons/AdjustmentsIcon.js +1 -1
  299. package/es/icons/AiIcon.js +1 -1
  300. package/es/icons/AreaChartIcon.js +1 -1
  301. package/es/icons/BackwardIcon.js +1 -1
  302. package/es/icons/BarChartIcon.js +1 -1
  303. package/es/icons/BellFilledIcon.js +1 -1
  304. package/es/icons/BellIcon.js +1 -1
  305. package/es/icons/BooleanIcon.js +1 -1
  306. package/es/icons/CalendarEditIcon.js +1 -1
  307. package/es/icons/CalendarIcon.js +1 -1
  308. package/es/icons/CaretDownIcon.js +1 -1
  309. package/es/icons/CaretUpIcon.js +1 -1
  310. package/es/icons/ChartAreaStackedIcon.js +1 -1
  311. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  312. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  313. package/es/icons/ChartBarGroupedIcon.js +1 -1
  314. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  315. package/es/icons/ChartBarLineIcon.js +1 -1
  316. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  317. package/es/icons/ChartBarStackedIcon.js +1 -1
  318. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  319. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  320. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  321. package/es/icons/ChartBoxPlotIcon.js +1 -1
  322. package/es/icons/ChartBubbleIcon.js +1 -1
  323. package/es/icons/ChartDonut2Icon.js +1 -1
  324. package/es/icons/ChartFunnelIcon.js +1 -1
  325. package/es/icons/ChartHeatmapIcon.js +1 -1
  326. package/es/icons/ChartKPIIcon.js +1 -1
  327. package/es/icons/ChartPie2Icon.js +1 -1
  328. package/es/icons/ChartScatterIcon.js +1 -1
  329. package/es/icons/CheckCircleFilledIcon.js +1 -1
  330. package/es/icons/CheckCircleIcon.js +1 -1
  331. package/es/icons/CheckIcon.js +1 -1
  332. package/es/icons/CircleFilledIcon.js +1 -1
  333. package/es/icons/ClearIcon.js +1 -1
  334. package/es/icons/CloseCircleFilledIcon.js +1 -1
  335. package/es/icons/CloseCircleIcon.js +1 -1
  336. package/es/icons/CloseIcon.js +1 -1
  337. package/es/icons/CodeIcon.js +1 -1
  338. package/es/icons/ColumnTotalIcon.js +1 -1
  339. package/es/icons/CopyIcon.js +1 -1
  340. package/es/icons/CountIcon.js +1 -1
  341. package/es/icons/CubeIcon.js +1 -1
  342. package/es/icons/CubePauseIcon.js +1 -1
  343. package/es/icons/CubePlayIcon.js +1 -1
  344. package/es/icons/CurrencyDollarIcon.js +1 -1
  345. package/es/icons/DangerIcon.js +1 -1
  346. package/es/icons/DashboardIcon.js +1 -1
  347. package/es/icons/DatabaseIcon.js +1 -1
  348. package/es/icons/DecimalDecreaseIcon.js +1 -1
  349. package/es/icons/DecimalIncreaseIcon.js +1 -1
  350. package/es/icons/DirectionIcon.js +1 -1
  351. package/es/icons/DonutIcon.js +1 -1
  352. package/es/icons/DownIcon.js +1 -1
  353. package/es/icons/EditIcon.js +1 -1
  354. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  355. package/es/icons/ExclamationCircleIcon.js +1 -1
  356. package/es/icons/ExclamationIcon.js +1 -1
  357. package/es/icons/EyeIcon.js +1 -1
  358. package/es/icons/EyeInvisibleIcon.js +1 -1
  359. package/es/icons/FilterIcon.js +1 -1
  360. package/es/icons/FolderFilledIcon.js +1 -1
  361. package/es/icons/FolderIcon.js +1 -1
  362. package/es/icons/FolderOpenFilledIcon.js +1 -1
  363. package/es/icons/FolderOpenIcon.js +1 -1
  364. package/es/icons/ForwardIcon.js +1 -1
  365. package/es/icons/HierarchyIcon.js +1 -1
  366. package/es/icons/HierarchyOpenIcon.js +1 -1
  367. package/es/icons/Icon.js +1 -1
  368. package/es/icons/InfoCircleIcon.js +1 -1
  369. package/es/icons/InfoIcon.js +1 -1
  370. package/es/icons/KeyIcon.js +1 -1
  371. package/es/icons/LeftIcon.js +1 -1
  372. package/es/icons/LineChartIcon.js +1 -1
  373. package/es/icons/LoadingIcon.js +1 -1
  374. package/es/icons/LockFilledIcon.js +1 -1
  375. package/es/icons/LockIcon.js +1 -1
  376. package/es/icons/MoreIcon.js +1 -1
  377. package/es/icons/NotAllowedIcon.js +1 -1
  378. package/es/icons/Number123Icon.js +1 -1
  379. package/es/icons/NumberIcon.js +1 -1
  380. package/es/icons/PauseCircleFilledIcon.js +1 -1
  381. package/es/icons/PauseCircleIcon.js +1 -1
  382. package/es/icons/PauseIcon.js +1 -1
  383. package/es/icons/PercentageIcon.js +1 -1
  384. package/es/icons/PieChartIcon.js +1 -1
  385. package/es/icons/PlayCircleIcon.js +1 -1
  386. package/es/icons/PlayIcon.js +1 -1
  387. package/es/icons/PlusIcon.js +1 -1
  388. package/es/icons/ProgressBarIcon.js +1 -1
  389. package/es/icons/ReloadIcon.js +1 -1
  390. package/es/icons/ReportIcon.js +1 -1
  391. package/es/icons/ReturnIcon.js +1 -1
  392. package/es/icons/RightIcon.js +1 -1
  393. package/es/icons/RowTotalsIcon.js +1 -1
  394. package/es/icons/SchemeIcon.js +1 -1
  395. package/es/icons/SearchIcon.js +1 -1
  396. package/es/icons/SemanticQueryIcon.js +1 -1
  397. package/es/icons/SettingsIcon.js +1 -1
  398. package/es/icons/ShieldFilledIcon.js +1 -1
  399. package/es/icons/ShieldIcon.js +1 -1
  400. package/es/icons/SlashIcon.js +1 -1
  401. package/es/icons/SparklesIcon.js +1 -1
  402. package/es/icons/SqlIcon.js +1 -1
  403. package/es/icons/StatsIcon.js +1 -1
  404. package/es/icons/StopIcon.js +1 -1
  405. package/es/icons/StringIcon.js +1 -1
  406. package/es/icons/SubtotalsIcon.js +1 -1
  407. package/es/icons/SwitchIcon.js +1 -1
  408. package/es/icons/TableIcon.js +1 -1
  409. package/es/icons/ThumbsDownIcon.js +1 -1
  410. package/es/icons/ThumbsUpIcon.js +1 -1
  411. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  412. package/es/icons/ThunderboltFilledIcon.js +1 -1
  413. package/es/icons/ThunderboltIcon.js +1 -1
  414. package/es/icons/TimeIcon.js +1 -1
  415. package/es/icons/TrashIcon.js +1 -1
  416. package/es/icons/UnlockIcon.js +1 -1
  417. package/es/icons/UpIcon.js +1 -1
  418. package/es/icons/UserGroupIcon.js +1 -1
  419. package/es/icons/UserIcon.js +1 -1
  420. package/es/icons/UserLockIcon.js +1 -1
  421. package/es/icons/ViewIcon.js +1 -1
  422. package/es/icons/WarningFilledIcon.js +1 -1
  423. package/es/icons/WarningIcon.js +1 -1
  424. package/es/icons/index.js +1 -1
  425. package/es/icons/wrap-icon.js +1 -1
  426. package/es/index.js +2 -4
  427. package/es/provider.js +1 -1
  428. package/es/providers/TrackingProvider.js +1 -1
  429. package/es/providers/navigation.types.js +1 -1
  430. package/es/providers/navigationAdapter.default.js +1 -1
  431. package/es/shared/form.js +1 -1
  432. package/es/shared/index.js +1 -1
  433. package/es/stories/Form.legacy-stories.js +1 -1
  434. package/es/stories/FormFieldArgs.js +1 -1
  435. package/es/stories/SimpleLayout.stories.js +1 -1
  436. package/es/stories/Tasty.stories.js +1 -1
  437. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  438. package/es/stories/components/DialogFormApp.js +1 -1
  439. package/es/stories/components/StyledButton.js +1 -1
  440. package/es/stories/lists/baseProps.js +1 -1
  441. package/es/stories/playground/PlaygroundEditor.js +1 -1
  442. package/es/stories/playground/PlaygroundLayout.js +1 -1
  443. package/es/stories/playground/PlaygroundOutput.js +1 -1
  444. package/es/stories/playground/PlaygroundPreview.js +1 -1
  445. package/es/stories/playground/components/Button.js +1 -1
  446. package/es/stories/playground/components/Card.js +1 -1
  447. package/es/stories/playground/components/ScrollProgress.js +1 -1
  448. package/es/stories/playground/examples.js +1 -1
  449. package/es/tasty/chunks/cacheKey.js +1 -1
  450. package/es/tasty/chunks/definitions.js +1 -1
  451. package/es/tasty/chunks/index.js +1 -1
  452. package/es/tasty/chunks/renderChunk.js +1 -1
  453. package/es/tasty/config.js +1 -1
  454. package/es/tasty/debug.js +1 -1
  455. package/es/tasty/hooks/index.js +1 -1
  456. package/es/tasty/hooks/useGlobalStyles.js +1 -1
  457. package/es/tasty/hooks/useKeyframes.js +1 -1
  458. package/es/tasty/hooks/useProperty.js +1 -1
  459. package/es/tasty/hooks/useRawCSS.js +1 -1
  460. package/es/tasty/hooks/useStyles.js +1 -1
  461. package/es/tasty/index.js +1 -3
  462. package/es/tasty/injector/index.js +1 -1
  463. package/es/tasty/injector/injector.js +1 -1
  464. package/es/tasty/injector/sheet-manager.js +1 -1
  465. package/es/tasty/injector/types.js +1 -1
  466. package/es/tasty/keyframes/index.js +1 -1
  467. package/es/tasty/parser/classify.js +1 -1
  468. package/es/tasty/parser/const.js +1 -1
  469. package/es/tasty/parser/lru.js +1 -1
  470. package/es/tasty/parser/parser.js +1 -1
  471. package/es/tasty/parser/tokenizer.js +1 -1
  472. package/es/tasty/parser/types.js +1 -1
  473. package/es/tasty/pipeline/conditions.js +1 -1
  474. package/es/tasty/pipeline/exclusive.js +1 -1
  475. package/es/tasty/pipeline/index.js +1 -1
  476. package/es/tasty/pipeline/materialize.js +1 -1
  477. package/es/tasty/pipeline/parseStateKey.js +1 -1
  478. package/es/tasty/pipeline/simplify.js +1 -1
  479. package/es/tasty/plugins/index.js +1 -1
  480. package/es/tasty/plugins/okhsl-plugin.js +1 -1
  481. package/es/tasty/plugins/types.js +1 -1
  482. package/es/tasty/properties/index.js +1 -1
  483. package/es/tasty/states/index.js +1 -1
  484. package/es/tasty/static/index.js +1 -1
  485. package/es/tasty/static/tastyStatic.js +1 -1
  486. package/es/tasty/static/types.js +1 -1
  487. package/es/tasty/styles/align.js +1 -1
  488. package/es/tasty/styles/border.js +1 -1
  489. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  490. package/es/tasty/styles/color.js +1 -1
  491. package/es/tasty/styles/createStyle.js +1 -1
  492. package/es/tasty/styles/dimension.js +1 -1
  493. package/es/tasty/styles/display.js +1 -1
  494. package/es/tasty/styles/fade.js +1 -1
  495. package/es/tasty/styles/fill.js +1 -1
  496. package/es/tasty/styles/flow.js +1 -1
  497. package/es/tasty/styles/gap.js +1 -1
  498. package/es/tasty/styles/height.js +1 -1
  499. package/es/tasty/styles/index.js +1 -1
  500. package/es/tasty/styles/inset.js +1 -1
  501. package/es/tasty/styles/justify.js +1 -1
  502. package/es/tasty/styles/list.js +1 -1
  503. package/es/tasty/styles/margin.js +1 -1
  504. package/es/tasty/styles/outline.js +1 -1
  505. package/es/tasty/styles/padding.js +1 -1
  506. package/es/tasty/styles/place.js +1 -1
  507. package/es/tasty/styles/predefined.js +1 -1
  508. package/es/tasty/styles/preset.js +1 -1
  509. package/es/tasty/styles/radius.js +1 -1
  510. package/es/tasty/styles/reset.js +1 -1
  511. package/es/tasty/styles/scrollbar.js +1 -1
  512. package/es/tasty/styles/shadow.js +1 -1
  513. package/es/tasty/styles/styledScrollbar.js +1 -1
  514. package/es/tasty/styles/transition.js +1 -1
  515. package/es/tasty/styles/types.js +1 -1
  516. package/es/tasty/styles/width.js +1 -1
  517. package/es/tasty/tasty.js +1 -1
  518. package/es/tasty/types.js +1 -1
  519. package/es/tasty/utils/cache-wrapper.js +1 -1
  520. package/es/tasty/utils/case-converter.js +1 -1
  521. package/es/tasty/utils/colors.js +1 -1
  522. package/es/tasty/utils/dotize.js +1 -1
  523. package/es/tasty/utils/filter-base-props.js +1 -1
  524. package/es/tasty/utils/get-display-name.js +1 -1
  525. package/es/tasty/utils/hsl-to-rgb.js +1 -1
  526. package/es/tasty/utils/is-dev-env.js +1 -1
  527. package/es/tasty/utils/merge-styles.js +1 -1
  528. package/es/tasty/utils/mod-attrs.js +1 -1
  529. package/es/tasty/utils/okhsl-to-rgb.js +1 -1
  530. package/es/tasty/utils/process-tokens.js +1 -1
  531. package/es/tasty/utils/resolve-recipes.js +1 -1
  532. package/es/tasty/utils/rgb-to-okhsl.js +1 -1
  533. package/es/tasty/utils/string.js +1 -1
  534. package/es/tasty/utils/styles.js +1 -1
  535. package/es/tasty/utils/typography.js +1 -1
  536. package/es/tasty/utils/warnings.js +1 -1
  537. package/es/tasty/zero/babel.js +1 -1
  538. package/es/tasty/zero/css-writer.js +1 -1
  539. package/es/tasty/zero/extractor.js +1 -1
  540. package/es/tasty/zero/index.js +1 -1
  541. package/es/tasty/zero/next.js +1 -1
  542. package/es/tokens/base.js +1 -1
  543. package/es/tokens/colors.js +1 -1
  544. package/es/tokens/index.js +1 -1
  545. package/es/tokens/layout.js +1 -1
  546. package/es/tokens/shadows.js +1 -1
  547. package/es/tokens/sizes.js +1 -1
  548. package/es/tokens/spacing.js +1 -1
  549. package/es/tokens/typography.js +1 -1
  550. package/es/utils/ResizeSensor.js +1 -1
  551. package/es/utils/index.js +1 -1
  552. package/es/utils/modules.js +1 -1
  553. package/es/utils/promise.js +1 -1
  554. package/es/utils/raf.js +1 -1
  555. package/es/utils/random.js +1 -1
  556. package/es/utils/range.js +1 -1
  557. package/es/utils/react/RenderCache.js +1 -1
  558. package/es/utils/react/Slots.js +1 -1
  559. package/es/utils/react/chain.js +1 -1
  560. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  561. package/es/utils/react/index.js +1 -1
  562. package/es/utils/react/interactions.js +1 -1
  563. package/es/utils/react/isTextOnly.js +1 -1
  564. package/es/utils/react/mapProps.js +1 -1
  565. package/es/utils/react/mergeProps.js +1 -1
  566. package/es/utils/react/nullableValue.js +1 -1
  567. package/es/utils/react/resolveIcon.js +1 -1
  568. package/es/utils/react/sharedStore.js +1 -1
  569. package/es/utils/react/useCombinedRefs.js +1 -1
  570. package/es/utils/react/useControlledFocusVisible.js +1 -1
  571. package/es/utils/react/useEventBus.js +1 -1
  572. package/es/utils/react/useId.js +1 -1
  573. package/es/utils/react/useIsDarwin.js +1 -1
  574. package/es/utils/react/useKeySymbols.js +1 -1
  575. package/es/utils/react/useLayoutEffect.js +1 -1
  576. package/es/utils/react/useLocalStorage.js +1 -1
  577. package/es/utils/react/useMergeStyles.js +1 -1
  578. package/es/utils/react/useQaProps.js +1 -1
  579. package/es/utils/react/useViewportSize.js +1 -1
  580. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  581. package/es/utils/tree.js +1 -1
  582. package/es/utils/warnings.js +1 -1
  583. package/es/version.js +2 -2
  584. package/package.json +1 -1
  585. package/types/components/overlays/Notifications/Notification.d.ts +33 -0
  586. package/types/components/overlays/Notifications/NotificationAction.d.ts +27 -0
  587. package/types/components/overlays/Notifications/NotificationCard.d.ts +37 -0
  588. package/types/components/overlays/Notifications/NotificationContext.d.ts +16 -0
  589. package/types/components/overlays/Notifications/NotificationItem.d.ts +7 -0
  590. package/types/components/overlays/Notifications/OverlayContainer.d.ts +12 -0
  591. package/types/components/overlays/Notifications/OverlayProvider.d.ts +3 -0
  592. package/types/components/overlays/Notifications/PersistentNotificationsList.d.ts +18 -0
  593. package/types/components/overlays/Notifications/format-relative-time.d.ts +14 -0
  594. package/types/components/overlays/Notifications/index.d.ts +40 -0
  595. package/types/components/overlays/Notifications/types.d.ts +147 -0
  596. package/types/components/overlays/Notifications/use-notification-state.d.ts +20 -0
  597. package/types/components/overlays/Notifications/use-notifications.d.ts +36 -0
  598. package/types/components/overlays/Notifications/use-overlay-timers.d.ts +26 -0
  599. package/types/components/overlays/Notifications/use-persistent-notifications.d.ts +48 -0
  600. package/types/components/overlays/Notifications/use-persistent-state.d.ts +11 -0
  601. package/types/components/overlays/Notifications/use-toast-state.d.ts +16 -0
  602. package/types/components/overlays/Toast/ToastItem.d.ts +3 -1
  603. package/types/components/overlays/Toast/ToastProvider.d.ts +5 -8
  604. package/types/components/overlays/Toast/index.d.ts +1 -1
  605. package/types/components/overlays/Toast/types.d.ts +3 -1
  606. package/types/index.d.ts +1 -3
  607. package/types/tasty/index.d.ts +0 -2
  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/es/tasty/glaze/contrast-solver.js +0 -235
  644. package/es/tasty/glaze/glaze.js +0 -557
  645. package/es/tasty/glaze/index.js +0 -22
  646. package/es/tasty/glaze/okhsl-color-math.js +0 -300
  647. package/es/tasty/glaze/types.js +0 -13
  648. package/types/components/overlays/NewNotifications/Bar/FloatingNotification.d.ts +0 -15
  649. package/types/components/overlays/NewNotifications/Bar/NotificationsBar.d.ts +0 -21
  650. package/types/components/overlays/NewNotifications/Bar/TransitionComponent.d.ts +0 -4
  651. package/types/components/overlays/NewNotifications/Bar/index.d.ts +0 -1
  652. package/types/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.d.ts +0 -9
  653. package/types/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.d.ts +0 -11
  654. package/types/components/overlays/NewNotifications/Dialog/index.d.ts +0 -1
  655. package/types/components/overlays/NewNotifications/Notification.d.ts +0 -18
  656. package/types/components/overlays/NewNotifications/NotificationView/NotificationAction.d.ts +0 -13
  657. package/types/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.d.ts +0 -4
  658. package/types/components/overlays/NewNotifications/NotificationView/NotificationDescription.d.ts +0 -9
  659. package/types/components/overlays/NewNotifications/NotificationView/NotificationFooter.d.ts +0 -13
  660. package/types/components/overlays/NewNotifications/NotificationView/NotificationHeader.d.ts +0 -9
  661. package/types/components/overlays/NewNotifications/NotificationView/NotificationIcon.d.ts +0 -9
  662. package/types/components/overlays/NewNotifications/NotificationView/NotificationProvider.d.ts +0 -10
  663. package/types/components/overlays/NewNotifications/NotificationView/NotificationView.d.ts +0 -10
  664. package/types/components/overlays/NewNotifications/NotificationView/index.d.ts +0 -2
  665. package/types/components/overlays/NewNotifications/NotificationView/types.d.ts +0 -16
  666. package/types/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.d.ts +0 -5
  667. package/types/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.d.ts +0 -4
  668. package/types/components/overlays/NewNotifications/NotificationsContext/index.d.ts +0 -2
  669. package/types/components/overlays/NewNotifications/NotificationsContext/use-notifications.d.ts +0 -8
  670. package/types/components/overlays/NewNotifications/NotificationsList/NotificationsList.d.ts +0 -21
  671. package/types/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.d.ts +0 -5
  672. package/types/components/overlays/NewNotifications/NotificationsList/index.d.ts +0 -2
  673. package/types/components/overlays/NewNotifications/NotificationsList/types.d.ts +0 -22
  674. package/types/components/overlays/NewNotifications/hooks/index.d.ts +0 -5
  675. package/types/components/overlays/NewNotifications/hooks/types.d.ts +0 -10
  676. package/types/components/overlays/NewNotifications/hooks/use-notification-list-item.d.ts +0 -9
  677. package/types/components/overlays/NewNotifications/hooks/use-notifications-api.d.ts +0 -1
  678. package/types/components/overlays/NewNotifications/hooks/use-notifications-list.d.ts +0 -12
  679. package/types/components/overlays/NewNotifications/hooks/use-notifications-observer.d.ts +0 -2
  680. package/types/components/overlays/NewNotifications/index.d.ts +0 -8
  681. package/types/components/overlays/NewNotifications/types.d.ts +0 -76
  682. package/types/components/overlays/Notification/Notification.d.ts +0 -6
  683. package/types/services/notification.d.ts +0 -28
  684. package/types/tasty/glaze/contrast-solver.d.ts +0 -45
  685. package/types/tasty/glaze/glaze.d.ts +0 -38
  686. package/types/tasty/glaze/index.d.ts +0 -13
  687. package/types/tasty/glaze/okhsl-color-math.d.ts +0 -33
  688. package/types/tasty/glaze/types.d.ts +0 -117
@@ -0,0 +1,37 @@
1
+ import { Key, ReactNode } from 'react';
2
+ import type { DismissReason, NotificationType } from './types';
3
+ export interface NotificationCardProps {
4
+ qa?: string;
5
+ /** Notification theme */
6
+ theme?: NotificationType;
7
+ /** Primary text */
8
+ title?: ReactNode;
9
+ /** Secondary text */
10
+ description?: ReactNode;
11
+ /** Custom icon override (theme default used if omitted) */
12
+ icon?: ReactNode;
13
+ /** Action buttons rendered below description */
14
+ actions?: ReactNode;
15
+ /**
16
+ * Whether the notification shows the default dismiss UI (auto-appended
17
+ * "Dismiss" button and Escape key). Default: true.
18
+ *
19
+ * When false, no default "Dismiss" button is rendered and Escape does
20
+ * nothing, but actions with `closeOnPress` (default) can still close
21
+ * the notification.
22
+ */
23
+ isDismissible?: boolean;
24
+ /** When false the card drops its shadow (e.g. inside a list). Default: true. */
25
+ elevated?: boolean;
26
+ /** Notification id */
27
+ notificationId?: Key;
28
+ /** Called when the notification is dismissed */
29
+ onDismiss?: (id: Key, reason: DismissReason) => void;
30
+ /** Suffix content (e.g. timestamp) */
31
+ suffix?: ReactNode;
32
+ }
33
+ /**
34
+ * Shared presentational card used by both overlay NotificationItem
35
+ * and PersistentNotificationListItem.
36
+ */
37
+ export declare function NotificationCard({ qa, theme, title, description, icon: providedIcon, actions, isDismissible, elevated, notificationId, onDismiss, suffix, }: NotificationCardProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import type { ToastContextValue } from '../Toast/types';
2
+ import type { InternalNotificationContextValue, PersistentNotificationsContextValue } from './types';
3
+ export declare const ToastContext: import("react").Context<ToastContextValue | null>;
4
+ /**
5
+ * Internal context for overlay notification machinery.
6
+ * Not exported publicly — consumers should use `useNotifications` hook.
7
+ */
8
+ export declare const NotificationContext: import("react").Context<InternalNotificationContextValue | null>;
9
+ /**
10
+ * Public context for persistent notifications.
11
+ * Used by `usePersistentNotifications` and `useNotificationsCount` hooks.
12
+ */
13
+ export declare const PersistentNotificationsContext: import("react").Context<PersistentNotificationsContextValue | null>;
14
+ export declare function useToastContext(): ToastContextValue;
15
+ export declare function useNotificationContext(): InternalNotificationContextValue;
16
+ export declare function usePersistentNotificationsContext(): PersistentNotificationsContextValue;
@@ -0,0 +1,7 @@
1
+ import { Key } from 'react';
2
+ import type { DismissReason, InternalNotification } from './types';
3
+ export interface NotificationItemProps {
4
+ notification: InternalNotification;
5
+ onDismiss: (id: Key, reason: DismissReason) => void;
6
+ }
7
+ export declare function NotificationItem({ notification, onDismiss, }: NotificationItemProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { Key } from 'react';
2
+ import type { InternalToast } from '../Toast/types';
3
+ import type { DismissReason, InternalNotification } from './types';
4
+ export interface OverlayContainerProps {
5
+ toasts: InternalToast[];
6
+ notifications: InternalNotification[];
7
+ onToastExitComplete: (internalId: string) => void;
8
+ onNotificationExitComplete: (internalId: string) => void;
9
+ onNotificationDismiss: (id: Key, reason: DismissReason) => void;
10
+ onPauseChange: (paused: boolean) => void;
11
+ }
12
+ export declare function OverlayContainer({ toasts, notifications, onToastExitComplete, onNotificationExitComplete, onNotificationDismiss, onPauseChange, }: OverlayContainerProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,3 @@
1
+ import type { OverlayProviderProps } from './types';
2
+ export { useToastContext, useNotificationContext } from './NotificationContext';
3
+ export declare function OverlayProvider({ children, maxPersistentNotifications, }: OverlayProviderProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ import type { PersistentNotificationsListProps } from './types';
2
+ /**
3
+ * Standardized rendering for archived/persistent notifications.
4
+ * Always reads items from the notification context.
5
+ * Composable with app-specific shells (popover, dialog, page section).
6
+ *
7
+ * Marks all items as read after being visible for 2 seconds.
8
+ * Relative timestamps refresh every 10 seconds while the list is mounted.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * <PersistentNotificationsList
13
+ * onDismissItem={(item) => remove(item.id)}
14
+ * emptyState="No notifications"
15
+ * />
16
+ * ```
17
+ */
18
+ export declare function PersistentNotificationsList({ onDismissItem, onAction, emptyState, }: PersistentNotificationsListProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Lightweight relative time formatter.
3
+ * No external dependencies.
4
+ *
5
+ * Output format:
6
+ * - `just now` (< 1 minute)
7
+ * - `N min ago` (1–59 minutes)
8
+ * - `N h ago` (1–23 hours)
9
+ * - `N d ago` (1–6 days)
10
+ * - `N w ago` (1–4 weeks)
11
+ * - `N mo ago` (1–11 months)
12
+ * - `N y ago` (1+ years)
13
+ */
14
+ export declare function formatRelativeTime(timestamp: number): string;
@@ -0,0 +1,40 @@
1
+ import { Notification as NotificationBase } from './Notification';
2
+ import { NotificationAction } from './NotificationAction';
3
+ export { NotificationAction } from './NotificationAction';
4
+ export { NotificationCard } from './NotificationCard';
5
+ export type { NotificationCardProps } from './NotificationCard';
6
+ export { NotificationItem } from './NotificationItem';
7
+ export type { NotificationItemProps } from './NotificationItem';
8
+ export { PersistentNotificationsList } from './PersistentNotificationsList';
9
+ export { OverlayProvider } from './OverlayProvider';
10
+ export { useToastContext } from './NotificationContext';
11
+ export { useNotifications } from './use-notifications';
12
+ export { usePersistentNotifications, useNotificationsCount, } from './use-persistent-notifications';
13
+ export { formatRelativeTime } from './format-relative-time';
14
+ export type { NotificationType, DismissReason, NotificationBaseOptions, OverlayNotificationOptions, StoredNotificationOptions, NotificationOptions, NotificationActionProps, NotificationHandle, NotificationsApi, PersistentNotificationItem, PersistentNotificationsListProps, OverlayProviderProps, NotificationProps, } from './types';
15
+ /**
16
+ * Declarative Notification component with compound API.
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * // Declarative usage
21
+ * <Notification
22
+ * id="release:new-version"
23
+ * theme="warning"
24
+ * title="New release available"
25
+ * description="2.0.0 can be installed now."
26
+ * actions={
27
+ * <>
28
+ * <Notification.Action>Later</Notification.Action>
29
+ * <Notification.Action onPress={() => openUpgradeDialog()}>
30
+ * Upgrade
31
+ * </Notification.Action>
32
+ * </>
33
+ * }
34
+ * />
35
+ * ```
36
+ */
37
+ export declare const Notification: typeof NotificationBase & {
38
+ Action: typeof NotificationAction;
39
+ };
40
+ export type NotificationComponent = typeof Notification;
@@ -0,0 +1,147 @@
1
+ import type { Key, ReactNode } from 'react';
2
+ export type NotificationType = 'default' | 'success' | 'danger' | 'warning' | 'note';
3
+ export interface NotificationBaseOptions {
4
+ id?: Key;
5
+ theme?: NotificationType;
6
+ title?: ReactNode;
7
+ description?: ReactNode;
8
+ icon?: ReactNode;
9
+ }
10
+ export interface OverlayNotificationOptions extends NotificationBaseOptions {
11
+ mode?: 'overlay';
12
+ /**
13
+ * Action buttons rendered below the notification description.
14
+ * A default "Dismiss" button is auto-appended unless any action has
15
+ * `isDismiss` set (detected automatically via context).
16
+ * When omitted, only the default "Dismiss" button is shown (if `isDismissible`).
17
+ */
18
+ actions?: ReactNode;
19
+ /**
20
+ * Whether the notification shows the default dismiss UI:
21
+ * - Auto-appended "Dismiss" button (suppressed when false)
22
+ * - Escape key dismissal (disabled when false)
23
+ *
24
+ * Actions with `closeOnPress` (default `true`) can still close the
25
+ * notification regardless of this setting.
26
+ *
27
+ * Default: true
28
+ */
29
+ isDismissible?: boolean;
30
+ /**
31
+ * Duration in ms before auto-dismiss.
32
+ * Default: 5000ms (non-persistent) or 10000ms (persistent).
33
+ * null = no auto-dismiss.
34
+ */
35
+ duration?: number | null;
36
+ /**
37
+ * Whether to retain in persistent list on timeout dismissal.
38
+ * Only `timeout` dismissals move to the persistent list — user-initiated
39
+ * dismissals (`close`, `action`) intentionally skip persistence.
40
+ * Default: false
41
+ */
42
+ persistent?: boolean;
43
+ }
44
+ export interface StoredNotificationOptions extends NotificationBaseOptions {
45
+ mode: 'stored';
46
+ /** Action buttons (same ReactNode format as overlay notifications) */
47
+ actions?: ReactNode;
48
+ /**
49
+ * Timestamp (epoch ms) for when the notification was originally created.
50
+ * Use this when restoring server-sourced notifications to preserve the original time.
51
+ * Defaults to `Date.now()` if omitted.
52
+ */
53
+ createdAt?: number;
54
+ }
55
+ export type NotificationOptions = OverlayNotificationOptions | StoredNotificationOptions;
56
+ export type DismissReason = 'close' | 'timeout' | 'action' | 'api';
57
+ export interface NotificationActionProps {
58
+ /** Action label */
59
+ children?: ReactNode;
60
+ /** Called when the action is pressed */
61
+ onPress?: () => void;
62
+ /** Whether to auto-dismiss the notification after onPress. Default: true */
63
+ closeOnPress?: boolean;
64
+ /** Whether the action is disabled */
65
+ isDisabled?: boolean;
66
+ /**
67
+ * Marks this action as the notification's dismiss button.
68
+ * Detected automatically via context — when any action in the notification
69
+ * has `isDismiss` set, the auto-appended default "Dismiss" button is suppressed.
70
+ */
71
+ isDismiss?: boolean;
72
+ }
73
+ export interface NotificationHandle {
74
+ id: Key;
75
+ dismiss: () => void;
76
+ }
77
+ export interface NotificationsApi {
78
+ notify: (options: NotificationOptions) => NotificationHandle;
79
+ /**
80
+ * Shorthand for `notify({ mode: 'stored', ... })`.
81
+ * Stores a notification directly to the persistent list without showing an overlay.
82
+ * Kept as a separate method to make the "stored-only" intent explicit at call sites.
83
+ */
84
+ record: (options: Omit<StoredNotificationOptions, 'mode'>) => NotificationHandle;
85
+ dismiss: (id: Key) => void;
86
+ }
87
+ export interface InternalNotification extends OverlayNotificationOptions {
88
+ internalId: string;
89
+ createdAt: number;
90
+ updatedAt: number;
91
+ isExiting?: boolean;
92
+ ownerId?: string;
93
+ }
94
+ export interface PersistentNotificationItem {
95
+ id: Key;
96
+ theme?: NotificationType;
97
+ title?: ReactNode;
98
+ description?: ReactNode;
99
+ icon?: ReactNode;
100
+ /** Action buttons (ReactNode) */
101
+ actions?: ReactNode;
102
+ createdAt: number;
103
+ updatedAt: number;
104
+ /** Whether the notification has been seen in the persistent list */
105
+ isRead?: boolean;
106
+ /** Owner ID for cleanup on hook/component unmount */
107
+ ownerId?: string;
108
+ }
109
+ export interface PersistentNotificationsListProps {
110
+ onDismissItem?: (item: PersistentNotificationItem) => void;
111
+ /** Called before any action's onPress handler fires. Useful for closing a parent popover. */
112
+ onAction?: () => void;
113
+ emptyState?: ReactNode;
114
+ }
115
+ /**
116
+ * Internal context for overlay notification machinery.
117
+ * Not exported publicly — consumers should use `useNotifications` hook instead.
118
+ */
119
+ export interface InternalNotificationContextValue {
120
+ addNotification: (options: OverlayNotificationOptions, ownerId?: string) => Key;
121
+ removeNotification: (id: Key, reason?: DismissReason) => void;
122
+ updateNotification: (id: Key, options: Partial<OverlayNotificationOptions>) => void;
123
+ notifications: InternalNotification[];
124
+ addPersistentItem: (item: PersistentNotificationItem) => void;
125
+ removePersistentItem: (id: Key) => void;
126
+ removePersistentItemsByOwner: (ownerId: string) => void;
127
+ removeByOwner: (ownerId: string) => void;
128
+ }
129
+ /**
130
+ * Public context for persistent notifications.
131
+ * Used by `usePersistentNotifications` and `useNotificationsCount`.
132
+ */
133
+ export interface PersistentNotificationsContextValue {
134
+ persistentItems: PersistentNotificationItem[];
135
+ removePersistentItem: (id: Key) => void;
136
+ clearPersistentItems: () => void;
137
+ markAllAsRead: () => void;
138
+ }
139
+ export interface OverlayProviderProps {
140
+ children: ReactNode;
141
+ /** Maximum number of persistent notifications to keep. Default: 200 */
142
+ maxPersistentNotifications?: number;
143
+ }
144
+ export interface NotificationProps extends OverlayNotificationOptions {
145
+ /** If true, the notification is not removed when the component unmounts */
146
+ disableRemoveOnUnmount?: boolean;
147
+ }
@@ -0,0 +1,20 @@
1
+ import { Key, useRef } from 'react';
2
+ import type { DismissReason, InternalNotification, OverlayNotificationOptions, PersistentNotificationItem } from './types';
3
+ import type { OverlayTimers } from './use-overlay-timers';
4
+ export interface PersistentCallbacks {
5
+ addPersistentItem: (item: PersistentNotificationItem) => void;
6
+ }
7
+ export interface NotificationState {
8
+ notifications: InternalNotification[];
9
+ notificationsRef: ReturnType<typeof useRef<InternalNotification[]>>;
10
+ addNotification: (options: OverlayNotificationOptions, ownerId?: string) => Key;
11
+ removeNotification: (id: Key, reason?: DismissReason) => void;
12
+ updateNotification: (id: Key, options: Partial<OverlayNotificationOptions>) => void;
13
+ finalizeNotificationRemoval: (internalId: string) => void;
14
+ removeByOwner: (ownerId: string) => void;
15
+ }
16
+ /**
17
+ * @param timersRef - Ref to the shared OverlayTimers instance. Accessed only
18
+ * inside callbacks (never during render), so it is guaranteed to be populated.
19
+ */
20
+ export declare function useNotificationState(timersRef: ReturnType<typeof useRef<OverlayTimers>>, persistent: PersistentCallbacks): NotificationState;
@@ -0,0 +1,36 @@
1
+ import type { NotificationsApi } from './types';
2
+ /**
3
+ * Hook to display and manage notifications.
4
+ *
5
+ * Each hook instance acts as an owner scope:
6
+ * - `notify()` created from this instance attaches ownership metadata.
7
+ * - On unmount, all attached visible overlay notifications are dismissed.
8
+ * - On unmount, all attached persistent records are also removed.
9
+ * - `notify()`/`dismiss()` calls from stale closures after unmount are no-ops.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * const { notify, record, dismiss } = useNotifications();
14
+ *
15
+ * notify({
16
+ * id: 'deploy:123',
17
+ * theme: 'success',
18
+ * title: 'Deployment completed',
19
+ * description: 'Version 1.4.2 is live.',
20
+ * actions: (
21
+ * <>
22
+ * <Notification.Action onPress={() => openLogs()}>View logs</Notification.Action>
23
+ * <Notification.Action onPress={() => openDeployment()}>Open</Notification.Action>
24
+ * </>
25
+ * ),
26
+ * });
27
+ *
28
+ * // Store directly to persistent list (no overlay)
29
+ * record({
30
+ * id: 'server:alert-1',
31
+ * theme: 'warning',
32
+ * title: 'Server alert',
33
+ * });
34
+ * ```
35
+ */
36
+ export declare function useNotifications(): NotificationsApi;
@@ -0,0 +1,26 @@
1
+ import { Key, useRef } from 'react';
2
+ import type { InternalToast } from '../Toast/types';
3
+ import type { DismissReason, InternalNotification } from './types';
4
+ export interface OverlayTimers {
5
+ /** Start a toast auto-dismiss timer */
6
+ startToastTimer: (internalId: string, id: Key, duration: number) => void;
7
+ /** Clear a toast timer */
8
+ clearToastTimer: (internalId: string) => void;
9
+ /** Start a notification auto-dismiss timer */
10
+ startNotificationTimer: (internalId: string, id: Key, duration: number) => void;
11
+ /** Clear a notification timer */
12
+ clearNotificationTimer: (internalId: string) => void;
13
+ /** Handle pause/resume of all timers (e.g. on hover/focus) */
14
+ handlePauseChange: (paused: boolean) => void;
15
+ }
16
+ export interface OverlayTimersDeps {
17
+ /** Ref to current toasts (for resume lookup) */
18
+ toastsRef: ReturnType<typeof useRef<InternalToast[]>>;
19
+ /** Ref to current notifications (for resume lookup) */
20
+ notificationsRef: ReturnType<typeof useRef<InternalNotification[]>>;
21
+ /** Remove a toast by id */
22
+ removeToast: (id: Key) => void;
23
+ /** Remove a notification by id with reason (also invokes onDismiss callback) */
24
+ removeNotification: (id: Key, reason: DismissReason) => void;
25
+ }
26
+ export declare function useOverlayTimers(deps: OverlayTimersDeps): OverlayTimers;
@@ -0,0 +1,48 @@
1
+ import { Key } from 'react';
2
+ import type { PersistentNotificationItem } from './types';
3
+ /**
4
+ * Hook to access the persistent notifications list.
5
+ *
6
+ * Items are ordered newest first (by `createdAt`, descending).
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * const { items, count, remove, clear } = usePersistentNotifications();
11
+ *
12
+ * return (
13
+ * <div>
14
+ * <span>Notifications ({count})</span>
15
+ * {items.map(item => (
16
+ * <div key={item.id}>
17
+ * {item.title}
18
+ * <button onClick={() => remove(item.id)}>Remove</button>
19
+ * </div>
20
+ * ))}
21
+ * <button onClick={clear}>Clear all</button>
22
+ * </div>
23
+ * );
24
+ * ```
25
+ */
26
+ export declare function usePersistentNotifications(): {
27
+ items: PersistentNotificationItem[];
28
+ count: number;
29
+ remove: (id: Key) => void;
30
+ clear: () => void;
31
+ markAllAsRead: () => void;
32
+ };
33
+ /**
34
+ * Hook to get total and unread counts for persistent notifications.
35
+ *
36
+ * - `total` — number of items in the persistent list.
37
+ * - `unread` — items that haven't been seen in `PersistentNotificationsList` yet.
38
+ *
39
+ * @example
40
+ * ```tsx
41
+ * const { total, unread } = useNotificationsCount();
42
+ * return <Badge count={unread} />;
43
+ * ```
44
+ */
45
+ export declare function useNotificationsCount(): {
46
+ total: number;
47
+ unread: number;
48
+ };
@@ -0,0 +1,11 @@
1
+ import { Key } from 'react';
2
+ import type { PersistentNotificationItem } from './types';
3
+ export interface PersistentState {
4
+ persistentItems: PersistentNotificationItem[];
5
+ addPersistentItem: (item: PersistentNotificationItem) => void;
6
+ removePersistentItem: (id: Key) => void;
7
+ removePersistentItemsByOwner: (ownerId: string) => void;
8
+ clearPersistentItems: () => void;
9
+ markAllAsRead: () => void;
10
+ }
11
+ export declare function usePersistentState(maxItems: number): PersistentState;
@@ -0,0 +1,16 @@
1
+ import { Key, useRef } from 'react';
2
+ import type { InternalToast, ToastData } from '../Toast/types';
3
+ import type { OverlayTimers } from './use-overlay-timers';
4
+ export interface ToastState {
5
+ toasts: InternalToast[];
6
+ toastsRef: ReturnType<typeof useRef<InternalToast[]>>;
7
+ addToast: (data: ToastData, isProgress?: boolean) => Key;
8
+ removeToast: (id: Key) => void;
9
+ updateToast: (id: Key, data: Partial<ToastData>) => void;
10
+ finalizeToastRemoval: (internalId: string) => void;
11
+ }
12
+ /**
13
+ * @param timersRef - Ref to the shared OverlayTimers instance. Accessed only
14
+ * inside callbacks (never during render), so it is guaranteed to be populated.
15
+ */
16
+ export declare function useToastState(timersRef: ReturnType<typeof useRef<OverlayTimers>>): ToastState;
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { CubeItemProps } from '../../content/Item/Item';
3
3
  import type { ToastType } from './types';
4
- export interface ToastItemProps extends Partial<Omit<CubeItemProps, 'type'>> {
4
+ export interface ToastItemProps extends Partial<Omit<CubeItemProps, 'type' | 'icon'>> {
5
5
  /** Primary content (→ Item children). Also supports description-only for migration. */
6
6
  title?: ReactNode;
7
7
  /** Secondary content (or primary if no title/children) */
@@ -10,5 +10,7 @@ export interface ToastItemProps extends Partial<Omit<CubeItemProps, 'type'>> {
10
10
  theme?: ToastType;
11
11
  /** Whether the toast is in loading state */
12
12
  isLoading?: boolean;
13
+ /** Icon to display (resolved ReactNode, not a dynamic icon function) */
14
+ icon?: ReactNode;
13
15
  }
14
16
  export declare const ToastItem: import("react").ForwardRefExoticComponent<ToastItemProps & import("react").RefAttributes<HTMLElement>>;
@@ -1,8 +1,5 @@
1
- import { ReactNode } from 'react';
2
- import type { ToastContextValue } from './types';
3
- export declare function useToastContext(): ToastContextValue;
4
- interface ToastProviderProps {
5
- children: ReactNode;
6
- }
7
- export declare function ToastProvider({ children }: ToastProviderProps): import("react/jsx-runtime").JSX.Element;
8
- export {};
1
+ /**
2
+ * Toast context is now provided by OverlayProvider.
3
+ * This module re-exports useToastContext for backward compatibility.
4
+ */
5
+ export { useToastContext } from '../Notifications/NotificationContext';
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { ProgressToastOptions, ToastData } from './types';
3
- export { ToastProvider, useToastContext } from './ToastProvider';
3
+ export { useToastContext } from './ToastProvider';
4
4
  export { ToastItem } from './ToastItem';
5
5
  export type { ToastItemProps } from './ToastItem';
6
6
  export { useToast, getThemeIcon } from './useToast';
@@ -1,6 +1,8 @@
1
1
  import type { Key, ReactNode } from 'react';
2
2
  import type { CubeItemProps } from '../../content/Item/Item';
3
- export type ToastType = 'default' | 'success' | 'danger' | 'warning' | 'note';
3
+ import type { NotificationType } from '../Notifications/types';
4
+ /** @deprecated Use `NotificationType` instead. Kept as alias for backward compatibility. */
5
+ export type ToastType = NotificationType;
4
6
  export interface ToastData {
5
7
  /** Unique identifier for deduplication (auto-generated if not provided) */
6
8
  id?: Key;
package/types/index.d.ts CHANGED
@@ -105,8 +105,6 @@ export { StatsCard } from './components/organisms/StatsCard/StatsCard';
105
105
  export type { CubeStatsCard } from './components/organisms/StatsCard/StatsCard';
106
106
  export { AlertDialog, useAlertDialogAPI, } from './components/overlays/AlertDialog';
107
107
  export type { CubeAlertDialogProps } from './components/overlays/AlertDialog';
108
- export { notification } from './services/notification';
109
- export type { CubeNotificationOptions } from './services/notification';
110
108
  export * from './tasty';
111
109
  export declare const Typography: {
112
110
  Text: import("./components/content/Text").TextComponent;
@@ -128,8 +126,8 @@ export * from './utils';
128
126
  export * from './tasty';
129
127
  export { default as copy } from 'clipboard-copy';
130
128
  export * from '@react-aria/ssr';
131
- export * from './components/overlays/NewNotifications';
132
129
  export * from './components/overlays/Toast';
130
+ export * from './components/overlays/Notifications';
133
131
  export * from './shared';
134
132
  export * from './icons';
135
133
  export * from './components/form';
@@ -29,5 +29,3 @@ export * from './debug';
29
29
  export type { TastyProps, TastyElementOptions, TastyElementProps, AllBasePropsWithMods, SubElementDefinition, ElementsDefinition, SubElementProps, } from './tasty';
30
30
  export type { AllBaseProps, BaseProps, BaseStyleProps, DimensionStyleProps, ColorStyleProps, OuterStyleProps, PositionStyleProps, TextStyleProps, BlockStyleProps, BlockInnerStyleProps, BlockOuterStyleProps, ContainerStyleProps, BasePropsWithoutChildren, Props, FlowStyleProps, ShortGridStyles, GlobalStyledProps, TagName, Mods, ModValue, Tokens, TokenValue, TastyExtensionConfig, } from './types';
31
31
  export type { StylesInterface, Styles, StylesWithoutSelectors, RecipeStyles, NoType, Selector, SuffixForSelector, NotSelector, } from './styles/types';
32
- export { glaze } from './glaze';
33
- export type { GlazeConfig, GlazeTheme, GlazePalette, GlazeTokenOptions, GlazeJsonOptions, GlazeOutputModes, ColorDef, ResolvedColor, AdaptationMode, HCPair, MinContrast, } from './glaze';
@@ -1,54 +0,0 @@
1
- /**
2
- * @license MIT
3
- * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-e2a9f35
5
- * Released under the MIT license.
6
- */
7
-
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- import { memo, useRef } from 'react';
10
- import { useChainedCallback, useEvent, useTimer } from '../../../../_internal/index.js';
11
- import { tasty } from '../../../../tasty/index.js';
12
- import { useNotificationListItem, } from '../hooks/index.js';
13
- import { NotificationView } from '../NotificationView/index.js';
14
- const NotificationContainer = tasty({
15
- styles: {
16
- overflow: 'hidden',
17
- radius: '1cr',
18
- shadow: true,
19
- pointerEvents: 'auto',
20
- },
21
- });
22
- /**
23
- * @internal This component is unstable and must not be used outside of `NotificationsBar`.
24
- */
25
- export const FloatingNotification = memo(function FloatingNotification(props) {
26
- const { item, state, onRemoveNotification, id, isDisabledTimer, onDismissNotification, } = props;
27
- const { props: notificationProps, key } = item;
28
- const ref = useRef(null);
29
- const onCloseEvent = useChainedCallback(() => onRemoveNotification(id), notificationProps.onClose);
30
- const chainedOnDismiss = useChainedCallback(() => onDismissNotification(id), () => onRemoveNotification(id), notificationProps.onDismiss);
31
- const onKeyDown = useEvent(({ key }) => {
32
- if (notificationProps.isDismissible === false) {
33
- return;
34
- }
35
- const closeKeys = ['Delete', 'Backspace', 'Escape'];
36
- if (closeKeys.includes(key)) {
37
- chainedOnDismiss();
38
- }
39
- });
40
- const { itemProps } = useNotificationListItem({ key, ref, state });
41
- const { timer } = useTimer({
42
- callback: chainedOnDismiss,
43
- delay: notificationProps.duration,
44
- isDisabled: isDisabledTimer,
45
- });
46
- return (_jsx(NotificationContainer, { children: _jsx(NotificationView, { ref: ref, ...notificationProps, timer: timer, attributes: {
47
- ...itemProps,
48
- onKeyDown,
49
- role: 'status',
50
- 'aria-atomic': 'true',
51
- }, qa: "FloatingNotification", onDismiss: chainedOnDismiss, onClose: onCloseEvent }) }));
52
- });
53
-
54
-