@cube-dev/ui-kit 0.0.0-canary-4e8aabc → 0.0.0-canary-fb6cdb4

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 (576) hide show
  1. package/cjs/_internal/hooks/index.js +5 -1
  2. package/cjs/_internal/hooks/use-chained-callback.js +23 -0
  3. package/cjs/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/cjs/_internal/hooks/use-event.js +26 -0
  5. package/cjs/_internal/hooks/use-sync-ref.js +21 -0
  6. package/cjs/_internal/hooks/use-timer/index.js +23 -0
  7. package/cjs/_internal/hooks/use-timer/timer.js +61 -0
  8. package/cjs/_internal/hooks/use-timer/use-timer.js +49 -0
  9. package/cjs/_internal/index.js +1 -1
  10. package/cjs/components/Base.js +1 -1
  11. package/cjs/components/Block.js +1 -1
  12. package/cjs/components/GlobalStyles.js +1 -1
  13. package/cjs/components/GridProvider.js +1 -1
  14. package/cjs/components/HiddenInput.js +1 -1
  15. package/cjs/components/OpenTrasition.js +1 -1
  16. package/cjs/components/Root.js +3 -2
  17. package/cjs/components/actions/Action.js +1 -1
  18. package/cjs/components/actions/Button/Button.js +1 -1
  19. package/cjs/components/actions/Button/Submit.js +1 -1
  20. package/cjs/components/actions/Button/index.js +1 -1
  21. package/cjs/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  22. package/cjs/components/actions/index.js +1 -1
  23. package/cjs/components/content/ActiveZone/ActiveZone.js +1 -1
  24. package/cjs/components/content/Alert/Alert.js +1 -1
  25. package/cjs/components/content/Alert/index.js +1 -1
  26. package/cjs/components/content/Alert/types.js +1 -1
  27. package/cjs/components/content/Alert/use-alert.js +1 -1
  28. package/cjs/components/content/Avatar/Avatar.js +1 -1
  29. package/cjs/components/content/Badge/Badge.js +1 -1
  30. package/cjs/components/content/Card/Card.js +1 -1
  31. package/cjs/components/content/Content.js +1 -1
  32. package/cjs/components/content/CopySnippet/CopySnippet.js +11 -24
  33. package/cjs/components/content/CopySnippet/index.js +1 -1
  34. package/cjs/components/content/Divider.js +1 -1
  35. package/cjs/components/content/Footer.js +1 -1
  36. package/cjs/components/content/Header.js +1 -1
  37. package/cjs/components/content/Paragraph.js +1 -1
  38. package/cjs/components/content/Placeholder/Placeholder.js +1 -1
  39. package/cjs/components/content/PrismCode/PrismCode.js +1 -1
  40. package/cjs/components/content/Result/Result.js +1 -1
  41. package/cjs/components/content/Skeleton/Skeleton.js +1 -1
  42. package/cjs/components/content/Tag/Tag.js +1 -1
  43. package/cjs/components/content/Text.js +1 -1
  44. package/cjs/components/content/Title.js +4 -4
  45. package/cjs/components/forms/Checkbox/Checkbox.js +1 -1
  46. package/cjs/components/forms/Checkbox/CheckboxGroup.js +1 -1
  47. package/cjs/components/forms/Checkbox/context.js +1 -1
  48. package/cjs/components/forms/FieldWrapper.js +1 -1
  49. package/cjs/components/forms/FileInput/FileInput.js +1 -1
  50. package/cjs/components/forms/Form/Field.js +1 -1
  51. package/cjs/components/forms/Form/Form.js +1 -1
  52. package/cjs/components/forms/Form/index.js +1 -1
  53. package/cjs/components/forms/Form/useForm.js +1 -1
  54. package/cjs/components/forms/Form/validation.js +1 -1
  55. package/cjs/components/forms/Input/Input.js +1 -1
  56. package/cjs/components/forms/Input/index.js +1 -1
  57. package/cjs/components/forms/Label.js +1 -1
  58. package/cjs/components/forms/NumberInput/NumberInput.js +1 -1
  59. package/cjs/components/forms/NumberInput/StepButton.js +1 -1
  60. package/cjs/components/forms/PasswordInput/PasswordInput.js +1 -1
  61. package/cjs/components/forms/RadioGroup/Radio.js +1 -1
  62. package/cjs/components/forms/RadioGroup/RadioGroup.js +1 -1
  63. package/cjs/components/forms/RadioGroup/context.js +1 -1
  64. package/cjs/components/forms/SearchInput/SearchInput.js +1 -1
  65. package/cjs/components/forms/Switch/Switch.js +1 -1
  66. package/cjs/components/forms/TextArea/TextArea.js +1 -1
  67. package/cjs/components/forms/TextInput/TextInput.js +1 -1
  68. package/cjs/components/forms/TextInput/TextInputBase.js +1 -1
  69. package/cjs/components/forms/index.js +1 -1
  70. package/cjs/components/layout/Flex.js +1 -1
  71. package/cjs/components/layout/Flow.js +1 -1
  72. package/cjs/components/layout/Grid.js +1 -1
  73. package/cjs/components/layout/Prefix.js +1 -1
  74. package/cjs/components/layout/Space.js +1 -1
  75. package/cjs/components/layout/Suffix.js +1 -1
  76. package/cjs/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  77. package/cjs/components/navigation/Link/Link.js +1 -1
  78. package/cjs/components/organisms/FileTabs/FileTabs.js +1 -1
  79. package/cjs/components/organisms/Modal/Modal.js +1 -1
  80. package/cjs/components/organisms/StatsCard/StatsCard.js +1 -1
  81. package/cjs/components/other/Base64Upload/Base64Upload.js +1 -1
  82. package/cjs/components/other/CloudLogo/CloudLogo.js +1 -1
  83. package/cjs/components/overlays/AlertDialog/AlertDialog.js +1 -1
  84. package/cjs/components/overlays/AlertDialog/AlertDialogApiProvider.js +2 -2
  85. package/cjs/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  86. package/cjs/components/overlays/AlertDialog/index.js +1 -1
  87. package/cjs/components/overlays/AlertDialog/types.js +1 -1
  88. package/cjs/components/overlays/Dialog/Dialog.js +3 -6
  89. package/cjs/components/overlays/Dialog/DialogContainer.js +1 -1
  90. package/cjs/components/overlays/Dialog/DialogForm.js +1 -1
  91. package/cjs/components/overlays/Dialog/DialogTrigger.js +1 -1
  92. package/cjs/components/overlays/Dialog/context.js +1 -1
  93. package/cjs/components/overlays/Dialog/index.js +1 -1
  94. package/cjs/components/overlays/Modal/Modal.js +1 -1
  95. package/cjs/components/overlays/Modal/OpenTransition.js +1 -1
  96. package/cjs/components/overlays/Modal/Overlay.js +1 -1
  97. package/cjs/components/overlays/Modal/Popover.js +1 -1
  98. package/cjs/components/overlays/Modal/Tray.js +1 -1
  99. package/cjs/components/overlays/Modal/Underlay.js +1 -1
  100. package/cjs/components/overlays/Modal/index.js +1 -1
  101. package/cjs/components/overlays/NewNotifications/Bar/FloatingNotification.js +49 -0
  102. package/cjs/components/overlays/NewNotifications/Bar/NotificationsBar.js +66 -0
  103. package/cjs/components/overlays/NewNotifications/Bar/TransitionComponent.js +61 -0
  104. package/cjs/components/overlays/NewNotifications/Bar/index.js +22 -0
  105. package/cjs/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +43 -0
  106. package/cjs/components/overlays/NewNotifications/Dialog/index.js +22 -0
  107. package/cjs/components/overlays/NewNotifications/Notification.js +38 -0
  108. package/cjs/components/overlays/NewNotifications/NotificationView/NotificationAction.js +32 -0
  109. package/cjs/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +40 -0
  110. package/cjs/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +30 -0
  111. package/cjs/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +65 -0
  112. package/cjs/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +21 -0
  113. package/cjs/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +67 -0
  114. package/cjs/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +30 -0
  115. package/cjs/components/overlays/NewNotifications/NotificationView/NotificationView.js +80 -0
  116. package/cjs/components/overlays/NewNotifications/NotificationView/index.js +23 -0
  117. package/cjs/components/overlays/NewNotifications/NotificationView/types.js +11 -0
  118. package/cjs/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +25 -0
  119. package/cjs/components/overlays/NewNotifications/NotificationsContext/index.js +15 -0
  120. package/cjs/components/overlays/NewNotifications/NotificationsContext/use-notifications-api.js +24 -0
  121. package/cjs/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +91 -0
  122. package/cjs/components/overlays/NewNotifications/NotificationsList.js +43 -0
  123. package/cjs/components/overlays/NewNotifications/hooks/index.js +26 -0
  124. package/cjs/components/overlays/NewNotifications/hooks/types.js +11 -0
  125. package/cjs/components/overlays/NewNotifications/hooks/use-notification-list-item.js +18 -0
  126. package/cjs/components/overlays/NewNotifications/hooks/use-notifications-api.js +24 -0
  127. package/cjs/components/overlays/NewNotifications/hooks/use-notifications-list.js +33 -0
  128. package/cjs/components/overlays/NewNotifications/hooks/use-notifications-observer.js +22 -0
  129. package/cjs/components/overlays/NewNotifications/index.js +30 -0
  130. package/cjs/components/overlays/NewNotifications/types.js +11 -0
  131. package/cjs/components/overlays/Notification/Notification.js +1 -1
  132. package/cjs/components/overlays/OverlayWrapper.js +1 -1
  133. package/cjs/components/overlays/Toasts/Toast.js +40 -0
  134. package/cjs/components/overlays/Toasts/index.js +23 -0
  135. package/cjs/components/overlays/Toasts/types.js +11 -0
  136. package/cjs/components/overlays/Toasts/use-toasts-api.js +43 -0
  137. package/cjs/components/overlays/Tooltip/Tooltip.js +1 -1
  138. package/cjs/components/overlays/Tooltip/TooltipProvider.js +1 -1
  139. package/cjs/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  140. package/cjs/components/overlays/Tooltip/context.js +1 -1
  141. package/cjs/components/pickers/ComboBox/ComboBox.js +1 -1
  142. package/cjs/components/pickers/Menu/Menu.js +1 -1
  143. package/cjs/components/pickers/Menu/MenuButton.js +1 -1
  144. package/cjs/components/pickers/Menu/MenuItem.js +1 -1
  145. package/cjs/components/pickers/Menu/MenuSection.js +1 -1
  146. package/cjs/components/pickers/Menu/MenuTrigger.js +1 -1
  147. package/cjs/components/pickers/Menu/context.js +1 -1
  148. package/cjs/components/pickers/Menu/styled.js +1 -1
  149. package/cjs/components/pickers/Select/Select.js +1 -1
  150. package/cjs/components/portal/Portal.js +1 -1
  151. package/cjs/components/portal/PortalProvider.js +1 -1
  152. package/cjs/components/portal/index.js +1 -1
  153. package/cjs/components/portal/storybook/templates/CustomRoot.js +1 -1
  154. package/cjs/components/portal/storybook/templates/PortalOrder.js +1 -1
  155. package/cjs/components/portal/storybook/templates/basic.js +1 -1
  156. package/cjs/components/portal/storybook/templates/index.js +1 -1
  157. package/cjs/components/portal/types.js +1 -1
  158. package/cjs/components/portal/usePortal.js +1 -1
  159. package/cjs/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  160. package/cjs/components/status/LoadingAnimation/index.js +1 -1
  161. package/cjs/components/status/Spin/Cube.js +1 -1
  162. package/cjs/components/status/Spin/InternalSpinner.js +1 -1
  163. package/cjs/components/status/Spin/Spin.js +1 -1
  164. package/cjs/components/status/Spin/SpinsContainer.js +1 -1
  165. package/cjs/components/status/Spin/index.js +1 -1
  166. package/cjs/components/status/Spin/types.js +1 -1
  167. package/cjs/components/status/index.js +1 -1
  168. package/cjs/data/themes.js +1 -1
  169. package/cjs/icons/Attention.js +17 -0
  170. package/cjs/icons/Cross.js +17 -0
  171. package/cjs/icons/Danger.js +17 -0
  172. package/cjs/icons/Success.js +17 -0
  173. package/cjs/icons/index.js +25 -0
  174. package/cjs/index.js +3 -1
  175. package/cjs/provider.js +1 -1
  176. package/cjs/providers/StyleProvider.js +1 -1
  177. package/cjs/services/notification.js +4 -1
  178. package/cjs/shared/form.js +1 -1
  179. package/cjs/shared/index.js +1 -1
  180. package/cjs/stories/FormFieldArgs.js +1 -1
  181. package/cjs/stories/components/ConfirmDeletionDialogForm.js +1 -1
  182. package/cjs/stories/components/DialogFormApp.js +1 -1
  183. package/cjs/stories/components/StyledButton.js +1 -1
  184. package/cjs/stories/lists/baseProps.js +1 -1
  185. package/cjs/styled/index.js +1 -1
  186. package/cjs/styled/styled.js +5 -4
  187. package/cjs/tasty/index.js +1 -1
  188. package/cjs/tasty/providers/BreakpointsProvider.js +1 -1
  189. package/cjs/tasty/styles/align.js +1 -1
  190. package/cjs/tasty/styles/border.js +1 -1
  191. package/cjs/tasty/styles/boxShadow.combinator.js +1 -1
  192. package/cjs/tasty/styles/color.js +1 -1
  193. package/cjs/tasty/styles/createStyle.js +1 -1
  194. package/cjs/tasty/styles/dimension.js +1 -1
  195. package/cjs/tasty/styles/display.js +1 -1
  196. package/cjs/tasty/styles/fill.js +1 -1
  197. package/cjs/tasty/styles/flow.js +1 -1
  198. package/cjs/tasty/styles/font.js +1 -1
  199. package/cjs/tasty/styles/fontStyle.js +1 -1
  200. package/cjs/tasty/styles/gap.js +1 -1
  201. package/cjs/tasty/styles/groupRadius.js +1 -1
  202. package/cjs/tasty/styles/height.js +1 -1
  203. package/cjs/tasty/styles/index.js +1 -1
  204. package/cjs/tasty/styles/justify.js +1 -1
  205. package/cjs/tasty/styles/list.js +1 -1
  206. package/cjs/tasty/styles/margin.js +1 -1
  207. package/cjs/tasty/styles/marginBlock.js +1 -1
  208. package/cjs/tasty/styles/marginInline.js +1 -1
  209. package/cjs/tasty/styles/outline.js +1 -1
  210. package/cjs/tasty/styles/padding.js +1 -1
  211. package/cjs/tasty/styles/paddingBlock.js +1 -1
  212. package/cjs/tasty/styles/paddingInline.js +1 -1
  213. package/cjs/tasty/styles/predefined.js +1 -1
  214. package/cjs/tasty/styles/preset.js +1 -1
  215. package/cjs/tasty/styles/radius.js +1 -1
  216. package/cjs/tasty/styles/reset.js +1 -1
  217. package/cjs/tasty/styles/shadow.js +1 -1
  218. package/cjs/tasty/styles/styledScrollbar.js +1 -1
  219. package/cjs/tasty/styles/transition.js +1 -1
  220. package/cjs/tasty/styles/types.js +1 -1
  221. package/cjs/tasty/styles/width.js +1 -1
  222. package/cjs/tasty/tasty.js +4 -3
  223. package/cjs/tasty/types.js +1 -1
  224. package/cjs/tasty/utils/colors.js +1 -1
  225. package/cjs/tasty/utils/dotize.js +1 -1
  226. package/cjs/tasty/utils/filterBaseProps.js +1 -1
  227. package/cjs/tasty/utils/index.js +1 -1
  228. package/cjs/tasty/utils/mergeStyles.js +1 -1
  229. package/cjs/tasty/utils/modAttrs.js +1 -1
  230. package/cjs/tasty/utils/renderStyles.js +1 -1
  231. package/cjs/tasty/utils/responsive.js +1 -1
  232. package/cjs/tasty/utils/string.js +1 -1
  233. package/cjs/tasty/utils/styles.js +1 -1
  234. package/cjs/tasty/utils/warnings.js +1 -1
  235. package/cjs/test/index.js +2 -1
  236. package/cjs/test/render.js +12 -1
  237. package/cjs/test/setup.js +1 -1
  238. package/cjs/test/utils/index.js +1 -1
  239. package/cjs/test/utils/wait.js +2 -2
  240. package/cjs/tokens.js +2 -2
  241. package/cjs/type-checks.js +1 -1
  242. package/cjs/utils/ResizeSensor.js +1 -1
  243. package/cjs/utils/modules.js +1 -1
  244. package/cjs/utils/promise.js +1 -1
  245. package/cjs/utils/react/Slots.js +5 -4
  246. package/cjs/utils/react/chain.js +1 -1
  247. package/cjs/utils/react/get-display-name.js +21 -0
  248. package/cjs/utils/react/index.js +12 -1
  249. package/cjs/utils/react/interactions.js +1 -1
  250. package/cjs/utils/react/isTextOnly.js +1 -1
  251. package/cjs/utils/react/mapProps.js +1 -1
  252. package/cjs/utils/react/mergeProps.js +1 -1
  253. package/cjs/utils/react/nullableValue.js +1 -1
  254. package/cjs/utils/react/useCombinedRefs.js +1 -1
  255. package/cjs/utils/react/useId.js +1 -1
  256. package/cjs/utils/react/useLayoutEffect.js +1 -1
  257. package/cjs/utils/react/wrapNodeIfPlain.js +1 -1
  258. package/cjs/utils/transitions.js +1 -1
  259. package/cjs/utils/tree.js +1 -1
  260. package/cjs/utils/warnings.js +1 -1
  261. package/es/_internal/hooks/index.js +5 -1
  262. package/es/_internal/hooks/use-chained-callback.js +19 -0
  263. package/es/_internal/hooks/use-deprecation-warning.js +1 -1
  264. package/es/_internal/hooks/use-event.js +22 -0
  265. package/es/_internal/hooks/use-sync-ref.js +17 -0
  266. package/es/_internal/hooks/use-timer/index.js +11 -0
  267. package/es/_internal/hooks/use-timer/timer.js +57 -0
  268. package/es/_internal/hooks/use-timer/use-timer.js +45 -0
  269. package/es/_internal/index.js +1 -1
  270. package/es/components/Base.js +1 -1
  271. package/es/components/Block.js +1 -1
  272. package/es/components/GlobalStyles.js +1 -1
  273. package/es/components/GridProvider.js +1 -1
  274. package/es/components/HiddenInput.js +1 -1
  275. package/es/components/OpenTrasition.js +1 -1
  276. package/es/components/Root.js +3 -2
  277. package/es/components/actions/Action.js +1 -1
  278. package/es/components/actions/Button/Button.js +1 -1
  279. package/es/components/actions/Button/Submit.js +1 -1
  280. package/es/components/actions/Button/index.js +1 -1
  281. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  282. package/es/components/actions/index.js +1 -1
  283. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  284. package/es/components/content/Alert/Alert.js +1 -1
  285. package/es/components/content/Alert/index.js +1 -1
  286. package/es/components/content/Alert/types.js +1 -1
  287. package/es/components/content/Alert/use-alert.js +1 -1
  288. package/es/components/content/Avatar/Avatar.js +1 -1
  289. package/es/components/content/Badge/Badge.js +1 -1
  290. package/es/components/content/Card/Card.js +1 -1
  291. package/es/components/content/Content.js +1 -1
  292. package/es/components/content/CopySnippet/CopySnippet.js +11 -24
  293. package/es/components/content/CopySnippet/index.js +1 -1
  294. package/es/components/content/Divider.js +1 -1
  295. package/es/components/content/Footer.js +1 -1
  296. package/es/components/content/Header.js +1 -1
  297. package/es/components/content/Paragraph.js +1 -1
  298. package/es/components/content/Placeholder/Placeholder.js +1 -1
  299. package/es/components/content/PrismCode/PrismCode.js +1 -1
  300. package/es/components/content/Result/Result.js +1 -1
  301. package/es/components/content/Skeleton/Skeleton.js +1 -1
  302. package/es/components/content/Tag/Tag.js +1 -1
  303. package/es/components/content/Text.js +1 -1
  304. package/es/components/content/Title.js +4 -4
  305. package/es/components/forms/Checkbox/Checkbox.js +1 -1
  306. package/es/components/forms/Checkbox/CheckboxGroup.js +1 -1
  307. package/es/components/forms/Checkbox/context.js +1 -1
  308. package/es/components/forms/FieldWrapper.js +1 -1
  309. package/es/components/forms/FileInput/FileInput.js +1 -1
  310. package/es/components/forms/Form/Field.js +1 -1
  311. package/es/components/forms/Form/Form.js +1 -1
  312. package/es/components/forms/Form/index.js +1 -1
  313. package/es/components/forms/Form/useForm.js +1 -1
  314. package/es/components/forms/Form/validation.js +1 -1
  315. package/es/components/forms/Input/Input.js +1 -1
  316. package/es/components/forms/Input/index.js +1 -1
  317. package/es/components/forms/Label.js +1 -1
  318. package/es/components/forms/NumberInput/NumberInput.js +1 -1
  319. package/es/components/forms/NumberInput/StepButton.js +1 -1
  320. package/es/components/forms/PasswordInput/PasswordInput.js +1 -1
  321. package/es/components/forms/RadioGroup/Radio.js +1 -1
  322. package/es/components/forms/RadioGroup/RadioGroup.js +1 -1
  323. package/es/components/forms/RadioGroup/context.js +1 -1
  324. package/es/components/forms/SearchInput/SearchInput.js +1 -1
  325. package/es/components/forms/Switch/Switch.js +1 -1
  326. package/es/components/forms/TextArea/TextArea.js +1 -1
  327. package/es/components/forms/TextInput/TextInput.js +1 -1
  328. package/es/components/forms/TextInput/TextInputBase.js +1 -1
  329. package/es/components/forms/index.js +1 -1
  330. package/es/components/layout/Flex.js +1 -1
  331. package/es/components/layout/Flow.js +1 -1
  332. package/es/components/layout/Grid.js +1 -1
  333. package/es/components/layout/Prefix.js +1 -1
  334. package/es/components/layout/Space.js +1 -1
  335. package/es/components/layout/Suffix.js +1 -1
  336. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  337. package/es/components/navigation/Link/Link.js +1 -1
  338. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  339. package/es/components/organisms/Modal/Modal.js +1 -1
  340. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  341. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  342. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  343. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  344. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +2 -2
  345. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  346. package/es/components/overlays/AlertDialog/index.js +1 -1
  347. package/es/components/overlays/AlertDialog/types.js +1 -1
  348. package/es/components/overlays/Dialog/Dialog.js +3 -6
  349. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  350. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  351. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  352. package/es/components/overlays/Dialog/context.js +1 -1
  353. package/es/components/overlays/Dialog/index.js +1 -1
  354. package/es/components/overlays/Modal/Modal.js +1 -1
  355. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  356. package/es/components/overlays/Modal/Overlay.js +1 -1
  357. package/es/components/overlays/Modal/Popover.js +1 -1
  358. package/es/components/overlays/Modal/Tray.js +1 -1
  359. package/es/components/overlays/Modal/Underlay.js +1 -1
  360. package/es/components/overlays/Modal/index.js +1 -1
  361. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +46 -0
  362. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +62 -0
  363. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +54 -0
  364. package/es/components/overlays/NewNotifications/Bar/index.js +10 -0
  365. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +38 -0
  366. package/es/components/overlays/NewNotifications/Dialog/index.js +10 -0
  367. package/es/components/overlays/NewNotifications/Notification.js +34 -0
  368. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +28 -0
  369. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +37 -0
  370. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +27 -0
  371. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +40 -0
  372. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +18 -0
  373. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +64 -0
  374. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +22 -0
  375. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +77 -0
  376. package/es/components/overlays/NewNotifications/NotificationView/index.js +11 -0
  377. package/es/components/overlays/NewNotifications/NotificationView/types.js +10 -0
  378. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +21 -0
  379. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +10 -0
  380. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications-api.js +17 -0
  381. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +87 -0
  382. package/es/components/overlays/NewNotifications/NotificationsList.js +39 -0
  383. package/es/components/overlays/NewNotifications/hooks/index.js +14 -0
  384. package/es/components/overlays/NewNotifications/hooks/types.js +10 -0
  385. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +14 -0
  386. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +17 -0
  387. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +29 -0
  388. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +18 -0
  389. package/es/components/overlays/NewNotifications/index.js +15 -0
  390. package/es/components/overlays/NewNotifications/types.js +10 -0
  391. package/es/components/overlays/Notification/Notification.js +1 -1
  392. package/es/components/overlays/OverlayWrapper.js +1 -1
  393. package/es/components/overlays/Toasts/Toast.js +36 -0
  394. package/es/components/overlays/Toasts/index.js +11 -0
  395. package/es/components/overlays/Toasts/types.js +10 -0
  396. package/es/components/overlays/Toasts/use-toasts-api.js +39 -0
  397. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  398. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  399. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  400. package/es/components/overlays/Tooltip/context.js +1 -1
  401. package/es/components/pickers/ComboBox/ComboBox.js +1 -1
  402. package/es/components/pickers/Menu/Menu.js +1 -1
  403. package/es/components/pickers/Menu/MenuButton.js +1 -1
  404. package/es/components/pickers/Menu/MenuItem.js +1 -1
  405. package/es/components/pickers/Menu/MenuSection.js +1 -1
  406. package/es/components/pickers/Menu/MenuTrigger.js +1 -1
  407. package/es/components/pickers/Menu/context.js +1 -1
  408. package/es/components/pickers/Menu/styled.js +1 -1
  409. package/es/components/pickers/Select/Select.js +1 -1
  410. package/es/components/portal/Portal.js +1 -1
  411. package/es/components/portal/PortalProvider.js +1 -1
  412. package/es/components/portal/index.js +1 -1
  413. package/es/components/portal/storybook/templates/CustomRoot.js +1 -1
  414. package/es/components/portal/storybook/templates/PortalOrder.js +1 -1
  415. package/es/components/portal/storybook/templates/basic.js +1 -1
  416. package/es/components/portal/storybook/templates/index.js +1 -1
  417. package/es/components/portal/types.js +1 -1
  418. package/es/components/portal/usePortal.js +1 -1
  419. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  420. package/es/components/status/LoadingAnimation/index.js +1 -1
  421. package/es/components/status/Spin/Cube.js +1 -1
  422. package/es/components/status/Spin/InternalSpinner.js +1 -1
  423. package/es/components/status/Spin/Spin.js +1 -1
  424. package/es/components/status/Spin/SpinsContainer.js +1 -1
  425. package/es/components/status/Spin/index.js +1 -1
  426. package/es/components/status/Spin/types.js +1 -1
  427. package/es/components/status/index.js +1 -1
  428. package/es/data/themes.js +1 -1
  429. package/es/icons/Attention.js +13 -0
  430. package/es/icons/Cross.js +13 -0
  431. package/es/icons/Danger.js +13 -0
  432. package/es/icons/Success.js +13 -0
  433. package/es/icons/index.js +13 -0
  434. package/es/index.js +3 -1
  435. package/es/provider.js +1 -1
  436. package/es/providers/StyleProvider.js +1 -1
  437. package/es/services/notification.js +4 -1
  438. package/es/shared/form.js +1 -1
  439. package/es/shared/index.js +1 -1
  440. package/es/stories/FormFieldArgs.js +1 -1
  441. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  442. package/es/stories/components/DialogFormApp.js +1 -1
  443. package/es/stories/components/StyledButton.js +1 -1
  444. package/es/stories/lists/baseProps.js +1 -1
  445. package/es/styled/index.js +1 -1
  446. package/es/styled/styled.js +5 -4
  447. package/es/tasty/index.js +1 -1
  448. package/es/tasty/providers/BreakpointsProvider.js +1 -1
  449. package/es/tasty/styles/align.js +1 -1
  450. package/es/tasty/styles/border.js +1 -1
  451. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  452. package/es/tasty/styles/color.js +1 -1
  453. package/es/tasty/styles/createStyle.js +1 -1
  454. package/es/tasty/styles/dimension.js +1 -1
  455. package/es/tasty/styles/display.js +1 -1
  456. package/es/tasty/styles/fill.js +1 -1
  457. package/es/tasty/styles/flow.js +1 -1
  458. package/es/tasty/styles/font.js +1 -1
  459. package/es/tasty/styles/fontStyle.js +1 -1
  460. package/es/tasty/styles/gap.js +1 -1
  461. package/es/tasty/styles/groupRadius.js +1 -1
  462. package/es/tasty/styles/height.js +1 -1
  463. package/es/tasty/styles/index.js +1 -1
  464. package/es/tasty/styles/justify.js +1 -1
  465. package/es/tasty/styles/list.js +1 -1
  466. package/es/tasty/styles/margin.js +1 -1
  467. package/es/tasty/styles/marginBlock.js +1 -1
  468. package/es/tasty/styles/marginInline.js +1 -1
  469. package/es/tasty/styles/outline.js +1 -1
  470. package/es/tasty/styles/padding.js +1 -1
  471. package/es/tasty/styles/paddingBlock.js +1 -1
  472. package/es/tasty/styles/paddingInline.js +1 -1
  473. package/es/tasty/styles/predefined.js +1 -1
  474. package/es/tasty/styles/preset.js +1 -1
  475. package/es/tasty/styles/radius.js +1 -1
  476. package/es/tasty/styles/reset.js +1 -1
  477. package/es/tasty/styles/shadow.js +1 -1
  478. package/es/tasty/styles/styledScrollbar.js +1 -1
  479. package/es/tasty/styles/transition.js +1 -1
  480. package/es/tasty/styles/types.js +1 -1
  481. package/es/tasty/styles/width.js +1 -1
  482. package/es/tasty/tasty.js +4 -3
  483. package/es/tasty/types.js +1 -1
  484. package/es/tasty/utils/colors.js +1 -1
  485. package/es/tasty/utils/dotize.js +1 -1
  486. package/es/tasty/utils/filterBaseProps.js +1 -1
  487. package/es/tasty/utils/index.js +1 -1
  488. package/es/tasty/utils/mergeStyles.js +1 -1
  489. package/es/tasty/utils/modAttrs.js +1 -1
  490. package/es/tasty/utils/renderStyles.js +1 -1
  491. package/es/tasty/utils/responsive.js +1 -1
  492. package/es/tasty/utils/string.js +1 -1
  493. package/es/tasty/utils/styles.js +1 -1
  494. package/es/tasty/utils/warnings.js +1 -1
  495. package/es/test/index.js +2 -1
  496. package/es/test/render.js +2 -1
  497. package/es/test/setup.js +1 -1
  498. package/es/test/utils/index.js +1 -1
  499. package/es/test/utils/wait.js +2 -2
  500. package/es/tokens.js +2 -2
  501. package/es/type-checks.js +1 -1
  502. package/es/utils/ResizeSensor.js +1 -1
  503. package/es/utils/modules.js +1 -1
  504. package/es/utils/promise.js +1 -1
  505. package/es/utils/react/Slots.js +5 -4
  506. package/es/utils/react/chain.js +1 -1
  507. package/es/utils/react/get-display-name.js +17 -0
  508. package/es/utils/react/index.js +2 -1
  509. package/es/utils/react/interactions.js +1 -1
  510. package/es/utils/react/isTextOnly.js +1 -1
  511. package/es/utils/react/mapProps.js +1 -1
  512. package/es/utils/react/mergeProps.js +1 -1
  513. package/es/utils/react/nullableValue.js +1 -1
  514. package/es/utils/react/useCombinedRefs.js +1 -1
  515. package/es/utils/react/useId.js +1 -1
  516. package/es/utils/react/useLayoutEffect.js +1 -1
  517. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  518. package/es/utils/transitions.js +1 -1
  519. package/es/utils/tree.js +1 -1
  520. package/es/utils/warnings.js +1 -1
  521. package/package.json +2 -1
  522. package/types/_internal/hooks/index.d.ts +4 -0
  523. package/types/_internal/hooks/use-chained-callback.d.ts +1 -0
  524. package/types/_internal/hooks/use-event.d.ts +7 -0
  525. package/types/_internal/hooks/use-sync-ref.d.ts +2 -0
  526. package/types/_internal/hooks/use-timer/index.d.ts +2 -0
  527. package/types/_internal/hooks/use-timer/timer.d.ts +15 -0
  528. package/types/_internal/hooks/use-timer/use-timer.d.ts +10 -0
  529. package/types/components/actions/Button/Button.d.ts +1 -1
  530. package/types/components/overlays/AlertDialog/AlertDialogApiProvider.d.ts +1 -1
  531. package/types/components/overlays/NewNotifications/Bar/FloatingNotification.d.ts +12 -0
  532. package/types/components/overlays/NewNotifications/Bar/NotificationsBar.d.ts +13 -0
  533. package/types/components/overlays/NewNotifications/Bar/TransitionComponent.d.ts +4 -0
  534. package/types/components/overlays/NewNotifications/Bar/index.d.ts +1 -0
  535. package/types/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.d.ts +11 -0
  536. package/types/components/overlays/NewNotifications/Dialog/index.d.ts +1 -0
  537. package/types/components/overlays/NewNotifications/Notification.d.ts +8 -0
  538. package/types/components/overlays/NewNotifications/NotificationView/NotificationAction.d.ts +10 -0
  539. package/types/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.d.ts +7 -0
  540. package/types/components/overlays/NewNotifications/NotificationView/NotificationDescription.d.ts +8 -0
  541. package/types/components/overlays/NewNotifications/NotificationView/NotificationFooter.d.ts +10 -0
  542. package/types/components/overlays/NewNotifications/NotificationView/NotificationHeader.d.ts +8 -0
  543. package/types/components/overlays/NewNotifications/NotificationView/NotificationIcon.d.ts +3 -0
  544. package/types/components/overlays/NewNotifications/NotificationView/NotificationProvider.d.ts +7 -0
  545. package/types/components/overlays/NewNotifications/NotificationView/NotificationView.d.ts +8 -0
  546. package/types/components/overlays/NewNotifications/NotificationView/index.d.ts +2 -0
  547. package/types/components/overlays/NewNotifications/NotificationView/types.d.ts +16 -0
  548. package/types/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.d.ts +9 -0
  549. package/types/components/overlays/NewNotifications/NotificationsContext/index.d.ts +1 -0
  550. package/types/components/overlays/NewNotifications/NotificationsContext/use-notifications-api.d.ts +1 -0
  551. package/types/components/overlays/NewNotifications/NotificationsContext/use-notifications.d.ts +8 -0
  552. package/types/components/overlays/NewNotifications/NotificationsList.d.ts +20 -0
  553. package/types/components/overlays/NewNotifications/hooks/index.d.ts +5 -0
  554. package/types/components/overlays/NewNotifications/hooks/types.d.ts +10 -0
  555. package/types/components/overlays/NewNotifications/hooks/use-notification-list-item.d.ts +9 -0
  556. package/types/components/overlays/NewNotifications/hooks/use-notifications-api.d.ts +1 -0
  557. package/types/components/overlays/NewNotifications/hooks/use-notifications-list.d.ts +12 -0
  558. package/types/components/overlays/NewNotifications/hooks/use-notifications-observer.d.ts +2 -0
  559. package/types/components/overlays/NewNotifications/index.d.ts +8 -0
  560. package/types/components/overlays/NewNotifications/types.d.ts +87 -0
  561. package/types/components/overlays/Toasts/Toast.d.ts +8 -0
  562. package/types/components/overlays/Toasts/index.d.ts +3 -0
  563. package/types/components/overlays/Toasts/types.d.ts +23 -0
  564. package/types/components/overlays/Toasts/use-toasts-api.d.ts +6 -0
  565. package/types/icons/Attention.d.ts +2 -0
  566. package/types/icons/Cross.d.ts +2 -0
  567. package/types/icons/Danger.d.ts +2 -0
  568. package/types/icons/Success.d.ts +2 -0
  569. package/types/icons/index.d.ts +4 -0
  570. package/types/index.d.ts +2 -0
  571. package/types/services/notification.d.ts +3 -0
  572. package/types/stories/components/StyledButton.d.ts +1 -1
  573. package/types/test/index.d.ts +1 -0
  574. package/types/test/render.d.ts +1 -0
  575. package/types/utils/react/get-display-name.d.ts +2 -0
  576. package/types/utils/react/index.d.ts +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cube-dev/ui-kit",
3
- "version": "0.0.0-canary-4e8aabc",
3
+ "version": "0.0.0-canary-fb6cdb4",
4
4
  "description": "UIKit for Cube Projects",
5
5
  "keywords": [
6
6
  "uikit"
@@ -64,6 +64,7 @@
64
64
  "email-validator": "^2.0.4",
65
65
  "prismjs": "^1.25.0",
66
66
  "react-is": "^17.0.0",
67
+ "react-keyed-flatten-children": "1.3.0",
67
68
  "react-transition-group": "^4.4.2",
68
69
  "tiny-invariant": "^1.2.0",
69
70
  "valid-url": "^1.0.9"
@@ -1 +1,5 @@
1
1
  export * from './use-deprecation-warning';
2
+ export * from './use-event';
3
+ export * from './use-sync-ref';
4
+ export * from './use-chained-callback';
5
+ export * from './use-timer';
@@ -0,0 +1 @@
1
+ export declare function useChainedCallback(...callbacks: (((...args: any) => any) | null | undefined | boolean)[]): (...args: any[]) => void;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * useEvent shim from the latest React RFC.
3
+ *
4
+ * @see https://github.com/reactjs/rfcs/pull/220
5
+ * @see https://github.com/reactjs/rfcs/blob/useevent/text/0000-useevent.md#internal-implementation
6
+ */
7
+ export declare function useEvent<Func extends (...args: Args) => Result, Args extends Parameters<any> = Parameters<Func>, Result extends ReturnType<any> = ReturnType<Func>>(callback: Func): (...args: Args) => Result;
@@ -0,0 +1,2 @@
1
+ import { MutableRefObject } from 'react';
2
+ export declare function useSyncRef<T>(value: T): MutableRefObject<T>;
@@ -0,0 +1,2 @@
1
+ export * from './timer';
2
+ export * from './use-timer';
@@ -0,0 +1,15 @@
1
+ export declare class Timer {
2
+ private readonly callback;
3
+ private readonly delay;
4
+ private remaining;
5
+ private timerId;
6
+ private startTime;
7
+ private _status;
8
+ get status(): "paused" | "running" | "stopped";
9
+ private set status(value);
10
+ constructor(callback: () => unknown, delay: number);
11
+ reset(): void;
12
+ pause(): void;
13
+ resume(): void;
14
+ private clear;
15
+ }
@@ -0,0 +1,10 @@
1
+ import { Timer } from './timer';
2
+ export declare type UseTimerProps = {
3
+ callback?: () => void;
4
+ delay?: number | null;
5
+ isDisabled?: boolean;
6
+ timer?: Timer | null;
7
+ };
8
+ export declare function useTimer(props?: UseTimerProps): {
9
+ readonly timer: Timer | null;
10
+ };
@@ -4,7 +4,7 @@ export interface CubeButtonProps extends CubeActionProps {
4
4
  icon?: ReactNode;
5
5
  isLoading?: boolean;
6
6
  isSelected?: boolean;
7
- type?: 'primary' | 'default' | 'danger' | 'link' | 'clear' | 'outline' | 'neutral' | string;
7
+ type?: 'primary' | 'default' | 'danger' | 'link' | 'clear' | 'outline' | 'neutral' | (string & {});
8
8
  size?: 'small' | 'default' | 'large' | (string & {});
9
9
  }
10
10
  export declare function provideStyles({ size, type, theme, isLoading, icon, children, label, }: {
@@ -16,7 +16,7 @@ export declare function AlertDialogApiProvider(props: any): JSX.Element;
16
16
  * ***Important*** it's commonly a bad practice when you open multiple dialogs in a row;
17
17
  * that means this api will reject all dialogs when there is already open one
18
18
  *
19
- * @example Example with calling as a side effect
19
+ * @example calling in a side effect
20
20
  * const alertDialogAPI = useAlertDialogAPI();
21
21
  *
22
22
  * useEffect(() => {
@@ -0,0 +1,12 @@
1
+ import { Key } from 'react';
2
+ import { CubeNotifyApiPropsWithID } from '../types';
3
+ import { NotificationItemNode, NotificationsListState } from '../hooks';
4
+ export declare type FloatingNotificationProps = {
5
+ id: Key;
6
+ isDisabledTimer: boolean;
7
+ onRemoveNotification: (id: Key) => void;
8
+ onDismissNotification: (id: Key) => void;
9
+ item: NotificationItemNode<CubeNotifyApiPropsWithID>;
10
+ state: NotificationsListState<CubeNotifyApiPropsWithID>;
11
+ };
12
+ export declare const FloatingNotification: import("react").NamedExoticComponent<FloatingNotificationProps>;
@@ -0,0 +1,13 @@
1
+ import { Key } from 'react';
2
+ import { CubeNotifyApiPropsWithID } from '../types';
3
+ import { CollectionChildren } from '../hooks';
4
+ export declare type NotificationsBarProps = {
5
+ items: Iterable<CubeNotifyApiPropsWithID>;
6
+ children: CollectionChildren<CubeNotifyApiPropsWithID>;
7
+ onRemoveNotification: (id: Key) => void;
8
+ onDismissNotification: (id: Key) => void;
9
+ };
10
+ export declare function NotificationsBar(props: NotificationsBarProps): JSX.Element;
11
+ export declare namespace NotificationsBar {
12
+ var Item: (props: CubeNotifyApiPropsWithID) => null;
13
+ }
@@ -0,0 +1,4 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import type { TransitionProps } from 'react-transition-group/Transition';
3
+ export declare type TransitionComponentProps = PropsWithChildren<Partial<TransitionProps>>;
4
+ export declare function TransitionComponent(props: TransitionComponentProps): JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './NotificationsBar';
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ import { CubeDialogProps, CubeDialogTriggerProps } from '../../Dialog';
3
+ import { CubeNotifyApiPropsWithID } from '../types';
4
+ export declare type NotificationsDialogTriggerProps = Omit<CubeDialogTriggerProps, 'type'> & {
5
+ onCloseNotificationInBar?: (props: CubeNotifyApiPropsWithID) => void;
6
+ };
7
+ export declare function NotificationsDialogTrigger(props: NotificationsDialogTriggerProps): JSX.Element;
8
+ export declare type NotificationsDialogProps = {
9
+ title?: ReactNode;
10
+ } & CubeDialogProps;
11
+ export declare function NotificationsDialog(props: NotificationsDialogProps): JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './NotificationsDialogTrigger';
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { CubeNotifyApiProps } from './types';
3
+ export declare function Notification(props: CubeNotifyApiProps): null;
4
+ export declare namespace Notification {
5
+ var Success: (props: CubeNotifyApiProps) => JSX.Element;
6
+ var Danger: (props: CubeNotifyApiProps) => JSX.Element;
7
+ var Attention: (props: CubeNotifyApiProps) => JSX.Element;
8
+ }
@@ -0,0 +1,10 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { CubeButtonProps } from '../../../actions';
3
+ export declare type NotificationActionProps = PropsWithChildren<{
4
+ type?: 'primary' | 'secondary';
5
+ /**
6
+ * @default false
7
+ */
8
+ disableCloseOnAction?: boolean;
9
+ }> & Omit<CubeButtonProps, 'type' | 'size' | 'mods'>;
10
+ export declare function NotificationAction(props: NotificationActionProps): JSX.Element;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ export declare type NotificationCloseButtonProps = {
3
+ onPress: () => void;
4
+ isHovered: boolean;
5
+ isFocused: boolean;
6
+ };
7
+ export declare const NotificationCloseButton: import("react").NamedExoticComponent<NotificationCloseButtonProps>;
@@ -0,0 +1,8 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import { NotificationProps } from './types';
3
+ export declare type NotificationDescriptionProps = {
4
+ description: NotificationProps['description'];
5
+ } & HTMLAttributes<HTMLElement>;
6
+ export declare const NotificationDescription: import("react").NamedExoticComponent<{
7
+ description: NotificationProps['description'];
8
+ } & HTMLAttributes<HTMLElement>>;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { CubeNotificationProps } from '../types';
3
+ interface NotificationFooterProps {
4
+ hasDescription: boolean;
5
+ actions: CubeNotificationProps['actions'];
6
+ onClose: () => void;
7
+ onDismiss: () => void;
8
+ }
9
+ export declare const NotificationFooter: React.NamedExoticComponent<NotificationFooterProps>;
10
+ export {};
@@ -0,0 +1,8 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import { NotificationProps } from './types';
3
+ export declare type NotificationHeaderProps = {
4
+ header: NotificationProps['header'];
5
+ } & HTMLAttributes<HTMLElement>;
6
+ export declare const NotificationHeader: import("react").NamedExoticComponent<{
7
+ header: NotificationProps['header'];
8
+ } & HTMLAttributes<HTMLElement>>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { NotificationIconProps } from './types';
3
+ export declare const NotificationIcon: import("react").NamedExoticComponent<NotificationIconProps>;
@@ -0,0 +1,7 @@
1
+ import { PropsWithChildren } from 'react';
2
+ interface NotificationContextType {
3
+ onClose?: () => void;
4
+ }
5
+ export declare function NotificationProvider(props: PropsWithChildren<NotificationContextType>): JSX.Element;
6
+ export declare function useNotificationContext(): NotificationContextType;
7
+ export {};
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ export declare const NotificationView: import("react").ForwardRefExoticComponent<{
3
+ qa?: string | undefined;
4
+ attributes?: import("react").HTMLAttributes<HTMLDivElement> | undefined;
5
+ styles?: import("../../../../tasty").Styles | undefined;
6
+ timer?: import("../../../../_internal").Timer | null | undefined;
7
+ onClose?: (() => void) | undefined;
8
+ } & import("../types").BaseNotificationProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export * from './NotificationView';
2
+ export * from './NotificationAction';
@@ -0,0 +1,16 @@
1
+ import type { ReactNode, HTMLAttributes } from 'react';
2
+ import type { CubeNotificationType } from '../types';
3
+ import { Styles } from '../../../../tasty';
4
+ import { Timer } from '../../../../_internal';
5
+ import { BaseNotificationProps } from '../types';
6
+ export declare type NotificationProps = {
7
+ qa?: string;
8
+ attributes?: HTMLAttributes<HTMLDivElement>;
9
+ styles?: Styles;
10
+ timer?: Timer | null;
11
+ onClose?: () => void;
12
+ } & BaseNotificationProps;
13
+ export declare type NotificationIconProps = {
14
+ type: CubeNotificationType;
15
+ icon?: ReactNode;
16
+ };
@@ -0,0 +1,9 @@
1
+ import { PropsWithChildren, RefObject } from 'react';
2
+ import { CubeNotificationsApi, CubeNotifyApiPropsWithID } from '../types';
3
+ export declare const NotificationsContext: import("react").Context<{
4
+ api: CubeNotificationsApi;
5
+ addOnDismissListener: (listener: (notification: CubeNotifyApiPropsWithID) => void) => () => void;
6
+ } | null>;
7
+ export declare function NotificationsProvider(props: PropsWithChildren<{
8
+ rootRef: RefObject<HTMLElement | null> | null;
9
+ }>): JSX.Element;
@@ -0,0 +1 @@
1
+ export { NotificationsProvider, NotificationsContext, } from './NotificationsProvider';
@@ -0,0 +1 @@
1
+ export declare function useNotificationsApi(): import("..").CubeNotificationsApi;
@@ -0,0 +1,8 @@
1
+ import { Key, RefObject } from 'react';
2
+ import { CubeNotificationsApi, CubeNotifyApiPropsWithID } from '../types';
3
+ export declare function useNotifications(rootRef: RefObject<HTMLElement | null> | null): {
4
+ readonly api: CubeNotificationsApi;
5
+ readonly toasts: CubeNotifyApiPropsWithID[];
6
+ readonly onDismissNotification: (id: Key) => void;
7
+ readonly addOnDismissListener: (listener: (notification: CubeNotifyApiPropsWithID) => void) => () => void | undefined;
8
+ };
@@ -0,0 +1,20 @@
1
+ /// <reference types="react" />
2
+ import { CollectionElement } from '@react-types/shared';
3
+ import type { CubeNotificationProps } from './types';
4
+ import { CollectionChildren } from './hooks';
5
+ export declare type NotificationsListProps<T> = {
6
+ items?: T[] | readonly T[];
7
+ children: CollectionChildren<T>;
8
+ } & (NotificationsListFactory<T> | NotificationsListStatic);
9
+ export declare type NotificationsListFactory<T> = {
10
+ items: T[] | readonly T[];
11
+ children: (item: T) => CollectionElement<CubeNotificationProps>;
12
+ };
13
+ export declare type NotificationsListStatic = {
14
+ items?: 'You must either use factory or static children';
15
+ children: CollectionElement<CubeNotificationProps> | CollectionElement<CubeNotificationProps>[];
16
+ };
17
+ export declare function NotificationsList<T extends object>(props: NotificationsListProps<T>): JSX.Element;
18
+ export declare namespace NotificationsList {
19
+ var Item: (props: CubeNotificationProps) => null;
20
+ }
@@ -0,0 +1,5 @@
1
+ export * from './use-notifications-list';
2
+ export * from './use-notification-list-item';
3
+ export * from './use-notifications-api';
4
+ export * from './use-notifications-observer';
5
+ export * from './types';
@@ -0,0 +1,10 @@
1
+ import type { ListState } from '@react-stately/list';
2
+ import type { Collection, CollectionElement, Node } from '@react-types/shared';
3
+ import type { CubeNotificationProps } from '../types';
4
+ export declare type CollectionChildren<T, R = T> = CollectionElement<R> | CollectionElement<R>[] | ((item: T) => CollectionElement<R>);
5
+ export declare type NotificationItemNode<T> = Omit<Node<CubeNotificationProps>, 'props'> & {
6
+ props: T;
7
+ };
8
+ export declare type NotificationsListState<T> = Omit<ListState<T>, 'collection'> & {
9
+ collection: Collection<NotificationItemNode<T>>;
10
+ };
@@ -0,0 +1,9 @@
1
+ import type { Key, MutableRefObject } from 'react';
2
+ import { SelectableItemAria } from '@react-aria/selection';
3
+ import type { ListState } from '@react-stately/list';
4
+ export declare type UseNotificationListItemPropsType<T extends object> = {
5
+ key: Key;
6
+ ref: MutableRefObject<HTMLElement | null>;
7
+ state: ListState<T>;
8
+ };
9
+ export declare function useNotificationListItem<T extends object>(props: UseNotificationListItemPropsType<T>): SelectableItemAria;
@@ -0,0 +1 @@
1
+ export declare function useNotificationsApi(): import("..").CubeNotificationsApi;
@@ -0,0 +1,12 @@
1
+ import type { HTMLAttributes, MutableRefObject } from 'react';
2
+ import { CollectionChildren, NotificationsListState } from './types';
3
+ export declare type UseNotificationsListPropsType<T, R> = {
4
+ items?: Iterable<T>;
5
+ children: CollectionChildren<T, R>;
6
+ ref: MutableRefObject<HTMLElement | null>;
7
+ };
8
+ export declare type UseNotificationsListReturnType<R> = {
9
+ listProps: HTMLAttributes<HTMLElement>;
10
+ state: NotificationsListState<R>;
11
+ };
12
+ export declare function useNotificationsList<T extends object, R>(props: UseNotificationsListPropsType<T, R>): UseNotificationsListReturnType<R>;
@@ -0,0 +1,2 @@
1
+ import { CubeNotifyApiPropsWithID } from '../types';
2
+ export declare function useNotificationsObserver(callback: (notification: CubeNotifyApiPropsWithID) => void): void;
@@ -0,0 +1,8 @@
1
+ export { NotificationsProvider } from './NotificationsContext';
2
+ export * from './NotificationsList';
3
+ export * from './hooks';
4
+ export { NotificationAction } from './NotificationView';
5
+ export * from './Dialog';
6
+ export type { NotificationActionProps } from './NotificationView';
7
+ export type { CubeNotificationType, CubeNotifyApiProps, CubeNotificationsApi, CubeNotificationMeta, CubeNotificationsApiNotifyCallback, CubeNotificationsApiNotifyAction, CubeNotifyApiPropsWithID, } from './types';
8
+ export * from './Notification';
@@ -0,0 +1,87 @@
1
+ import { Key, ReactChild, ReactElement, ReactFragment, ReactNode } from 'react';
2
+ import { NotificationAction, NotificationActionProps } from './NotificationView';
3
+ export declare type CubeNotificationType = 'success' | 'danger' | 'attention';
4
+ export declare type NotificationActionComponent = ReactElement<NotificationActionProps, typeof NotificationAction>;
5
+ declare type NotificationActionType = NotificationActionComponent | [NotificationActionComponent] | [NotificationActionComponent, NotificationActionComponent];
6
+ declare type NotificationActionCallbackArg = {
7
+ onClose: () => void;
8
+ onDismiss: () => void;
9
+ };
10
+ export declare type BaseNotificationProps = {
11
+ /**
12
+ * @default 'attention'
13
+ */
14
+ type?: CubeNotificationType;
15
+ /**
16
+ * The delay before the notification hides (in milliseconds) If set to `null`, it will never dismiss.
17
+ *
18
+ * @default 5000
19
+ */
20
+ duration?: number | null;
21
+ /**
22
+ * ID of the notification. Mostly used when you need to prevent duplicate. By default, we generate a unique id for each notification
23
+ */
24
+ id?: Key;
25
+ /**
26
+ * If true, notification will have the close button.
27
+ * @default true
28
+ */
29
+ isDismissible?: boolean;
30
+ /**
31
+ * Callback fires when a notificaiton is dismissed either by clicking the close button or the timeout.
32
+ */
33
+ onDismiss?: () => void;
34
+ /**
35
+ * Callback fires when a notificaiton is closed by interacting with the notification (via actions)
36
+ */
37
+ onClose?: () => void;
38
+ /**
39
+ * When set to false, notification will not appear in `<NotificaitonsDialog />` when dismissed
40
+ * @default true
41
+ */
42
+ putNotificationInDropdownOnDismiss?: boolean;
43
+ /**
44
+ * Title of the notification
45
+ */
46
+ header?: ReactChild | ReactFragment;
47
+ description: ReactChild | ReactFragment;
48
+ /**
49
+ * Custom Icon for the notification
50
+ */
51
+ icon?: ReactNode;
52
+ /**
53
+ * Custom Actions in the notification
54
+ */
55
+ actions?: ((arg: NotificationActionCallbackArg) => NotificationActionType) | NotificationActionType;
56
+ };
57
+ export declare type CubeNotificationProps = BaseNotificationProps & EitherDismissibleOrNotNotification;
58
+ export declare type EitherDismissibleOrNotNotification = DismissibleNotification | NonDismissibleNotification;
59
+ declare type DismissibleNotification = {
60
+ isDismissible?: true;
61
+ onDismiss?: () => void;
62
+ duration?: number;
63
+ };
64
+ declare type NonDismissibleNotification = {
65
+ isDismissible: false;
66
+ onDismiss?: never | undefined;
67
+ duration?: null;
68
+ };
69
+ export declare type CubeNotifyApiProps = {
70
+ meta?: CubeNotificationMeta;
71
+ } & CubeNotificationProps;
72
+ export declare type CubeNotifyApiPropsWithID = {
73
+ id: NonNullable<CubeNotificationProps['id']>;
74
+ } & CubeNotifyApiProps;
75
+ export declare type CubeNotificationsApiNotifyCallback = (props: CubeNotifyApiProps) => {
76
+ id: Key;
77
+ update: (props: Partial<CubeNotifyApiProps>) => void;
78
+ remove: () => void;
79
+ };
80
+ export declare type CubeNotificationsApiNotifyAction = CubeNotificationsApiNotifyCallback & Record<CubeNotificationType, CubeNotificationsApiNotifyCallback>;
81
+ export declare type CubeNotificationsApi = {
82
+ notify: CubeNotificationsApiNotifyAction;
83
+ update: (id: Key, props: Partial<CubeNotifyApiProps>) => void;
84
+ remove: (id: Key) => void;
85
+ };
86
+ export declare type CubeNotificationMeta = Record<string, unknown>;
87
+ export {};
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { CubeToastsApiProps } from './types';
3
+ export declare function Toast(props: CubeToastsApiProps): null;
4
+ export declare namespace Toast {
5
+ var Success: (props: CubeToastsApiProps) => JSX.Element;
6
+ var Danger: (props: CubeToastsApiProps) => JSX.Element;
7
+ var Attention: (props: CubeToastsApiProps) => JSX.Element;
8
+ }
@@ -0,0 +1,3 @@
1
+ export * from './use-toasts-api';
2
+ export * from './Toast';
3
+ export type { CubeToastsApi, CubeToastsApiProps, CubeToastsApiToastCallback, CubeToastsApiToastAction, } from './types';
@@ -0,0 +1,23 @@
1
+ import type { Key, ReactChild, ReactFragment, ReactNode } from 'react';
2
+ import type { CubeNotificationType, CubeNotifyApiProps } from '../NewNotifications';
3
+ export declare type CubeToastsApiProps = {
4
+ description: ReactChild | ReactFragment;
5
+ header?: ReactChild | ReactFragment;
6
+ id?: Key;
7
+ onDismiss?: () => void;
8
+ duration?: number;
9
+ icon?: ReactNode;
10
+ type?: CubeNotificationType;
11
+ };
12
+ export declare type CubeToastsApi = {
13
+ toast: CubeToastsApiToastAction;
14
+ update: (id: Key, props: Partial<CubeToastsApiProps>) => void;
15
+ remove: (id: Key) => void;
16
+ };
17
+ export declare type CubeToastsApiToastCallback = (props: CubeToastsApiProps | ReactChild | ReactFragment) => {
18
+ id: Key;
19
+ update: (props: Partial<CubeNotifyApiProps>) => void;
20
+ remove: () => void;
21
+ };
22
+ export declare type CubeToastsApiToastShortcuts = Record<CubeNotificationType, CubeToastsApiToastCallback>;
23
+ export declare type CubeToastsApiToastAction = CubeToastsApiToastCallback & CubeToastsApiToastShortcuts;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ export declare function useToastsApi(): {
3
+ readonly toast: any;
4
+ readonly update: (id: import("react").Key, props: Partial<import("../NewNotifications").CubeNotifyApiProps>) => void;
5
+ readonly remove: (id: import("react").Key) => void;
6
+ };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function Attention(): JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function Cross(): JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function Danger(): JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function Success(): JSX.Element;
@@ -0,0 +1,4 @@
1
+ export * from './Danger';
2
+ export * from './Attention';
3
+ export * from './Success';
4
+ export * from './Cross';
package/types/index.d.ts CHANGED
@@ -142,3 +142,5 @@ export * from './tasty';
142
142
  export { default as copy } from 'clipboard-copy';
143
143
  export * from '@react-aria/ssr';
144
144
  export * from './components/forms/Form';
145
+ export * from './components/overlays/NewNotifications';
146
+ export * from './components/overlays/Toasts';
@@ -22,4 +22,7 @@ export interface NotificationService {
22
22
  export interface CubeNotificationOptions {
23
23
  duration?: number;
24
24
  }
25
+ /**
26
+ * @deprecated consider using `useNotificationsApi` instead
27
+ */
25
28
  export declare const notification: NotificationService;