@cube-dev/ui-kit 0.0.0-canary-759f43d → 0.0.0-canary-77836fa

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 (617) hide show
  1. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  2. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  3. package/dist/_internal/hooks/use-event.js +1 -1
  4. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  5. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  6. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  7. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  8. package/dist/_internal/hooks/use-warn.js +1 -1
  9. package/dist/components/Block.js +1 -1
  10. package/dist/components/CollectionItem.js +1 -1
  11. package/dist/components/GlobalStyles.js +1 -1
  12. package/dist/components/GridProvider.js +1 -1
  13. package/dist/components/HiddenInput.js +1 -1
  14. package/dist/components/Root.js +1 -1
  15. package/dist/components/actions/Action/Action.js +1 -1
  16. package/dist/components/actions/Banner/Banner.js +1 -1
  17. package/dist/components/actions/Button/Button.js +1 -1
  18. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  19. package/dist/components/actions/ButtonSplit/ButtonSplit.d.ts +9 -4
  20. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  21. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
  22. package/dist/components/actions/ButtonSplit/context.js +1 -1
  23. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  24. package/dist/components/actions/CommandMenu/styled.js +1 -1
  25. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  26. package/dist/components/actions/ItemActionContext.js +1 -1
  27. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  28. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  29. package/dist/components/actions/Link/Link.js +1 -1
  30. package/dist/components/actions/Menu/Menu.js +1 -1
  31. package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
  32. package/dist/components/actions/Menu/MenuItem.js +1 -1
  33. package/dist/components/actions/Menu/MenuSection.js +1 -1
  34. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  35. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  36. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  37. package/dist/components/actions/Menu/context.js +1 -1
  38. package/dist/components/actions/Menu/styled.js +1 -1
  39. package/dist/components/actions/actions-run.js +1 -1
  40. package/dist/components/actions/index.js +1 -1
  41. package/dist/components/actions/use-action.js +1 -1
  42. package/dist/components/actions/use-anchored-menu.js +1 -1
  43. package/dist/components/actions/use-context-menu.js +1 -1
  44. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  45. package/dist/components/content/Alert/Alert.js +1 -1
  46. package/dist/components/content/Alert/use-alert.js +1 -1
  47. package/dist/components/content/Avatar/Avatar.js +1 -1
  48. package/dist/components/content/Badge/Badge.js +1 -1
  49. package/dist/components/content/Card/Card.js +1 -1
  50. package/dist/components/content/Content.js +1 -1
  51. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  52. package/dist/components/content/CopySnippet/CopySnippet.d.ts +28 -28
  53. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  54. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  55. package/dist/components/content/Divider.js +1 -1
  56. package/dist/components/content/Footer.js +1 -1
  57. package/dist/components/content/Header.js +1 -1
  58. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  59. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  60. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  61. package/dist/components/content/Item/Item.js +1 -1
  62. package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
  63. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  64. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  65. package/dist/components/content/Layout/GridLayout.js +1 -1
  66. package/dist/components/content/Layout/Layout.js +2 -1
  67. package/dist/components/content/Layout/Layout.js.map +1 -1
  68. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  69. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  70. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  71. package/dist/components/content/Layout/LayoutContent.js +1 -1
  72. package/dist/components/content/Layout/LayoutContext.js +1 -1
  73. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  74. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  75. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  76. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  77. package/dist/components/content/Layout/LayoutPane.js +1 -1
  78. package/dist/components/content/Layout/LayoutPanel.d.ts +4 -2
  79. package/dist/components/content/Layout/LayoutPanel.js +73 -2
  80. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  81. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  82. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  83. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  84. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  85. package/dist/components/content/Layout/index.js +1 -1
  86. package/dist/components/content/Layout/utils.js +1 -1
  87. package/dist/components/content/Paragraph.js +1 -1
  88. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  89. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  90. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  91. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  92. package/dist/components/content/Result/Result.js +1 -1
  93. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  94. package/dist/components/content/Tag/Tag.js +1 -1
  95. package/dist/components/content/Text.d.ts +28 -28
  96. package/dist/components/content/Text.js +1 -1
  97. package/dist/components/content/TextItem/TextItem.js +1 -1
  98. package/dist/components/content/Title.js +1 -1
  99. package/dist/components/content/Tree/Tree.js +1 -1
  100. package/dist/components/content/Tree/TreeNode.js +2 -1
  101. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  102. package/dist/components/content/Tree/styled.js +1 -1
  103. package/dist/components/content/Tree/tree-index.js +1 -1
  104. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  105. package/dist/components/content/Tree/use-load-data.js +1 -1
  106. package/dist/components/content/highlightText.js +1 -1
  107. package/dist/components/content/use-auto-tooltip.js +1 -1
  108. package/dist/components/data/DataTable/DataTable.js +1 -1
  109. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  110. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  111. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  112. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  113. package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -1
  114. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
  115. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  116. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  117. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  118. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  119. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  120. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  121. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  122. package/dist/components/data/TableBase/RowCollection.js +1 -1
  123. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  124. package/dist/components/data/TableBase/TableRow.js +1 -1
  125. package/dist/components/data/TableBase/TableView.js +3 -1
  126. package/dist/components/data/TableBase/TableView.js.map +1 -1
  127. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  128. package/dist/components/data/TableBase/column-header.js +1 -1
  129. package/dist/components/data/TableBase/column-menu.js +1 -1
  130. package/dist/components/data/TableBase/column-styles.js +1 -1
  131. package/dist/components/data/TableBase/column-tint.js +1 -1
  132. package/dist/components/data/TableBase/row-menu.js +1 -1
  133. package/dist/components/data/TableBase/styled.js +1 -1
  134. package/dist/components/data/TableBase/table-tree.js +1 -1
  135. package/dist/components/data/TableBase/types.js +1 -1
  136. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  137. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  138. package/dist/components/data/TableBase/use-column-order.js +1 -1
  139. package/dist/components/data/TableBase/use-column-window.js +1 -1
  140. package/dist/components/data/TableBase/use-container-width.js +1 -1
  141. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  142. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  143. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  144. package/dist/components/data/TableBase/use-table-search.js +1 -1
  145. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  146. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  147. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  148. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  149. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  150. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  151. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  152. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  153. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  154. package/dist/components/fields/Checkbox/context.js +1 -1
  155. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  156. package/dist/components/fields/ColorPicker/ColorPicker.js +3 -1
  157. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  158. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  159. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +2 -1
  160. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  161. package/dist/components/fields/ComboBox/ComboBox.d.ts +1 -1
  162. package/dist/components/fields/ComboBox/ComboBox.js +13 -13
  163. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  164. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  165. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  166. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  167. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  168. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  169. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  170. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  171. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  172. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  173. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  174. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  175. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  176. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  177. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  178. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  179. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  180. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  181. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  182. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  183. package/dist/components/fields/DatePicker/period.js +1 -1
  184. package/dist/components/fields/DatePicker/props.js +1 -1
  185. package/dist/components/fields/DatePicker/utils.js +1 -1
  186. package/dist/components/fields/FileInput/FileInput.js +1 -1
  187. package/dist/components/fields/FilterListBox/FilterListBox.js +2 -1
  188. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  189. package/dist/components/fields/FilterPicker/FilterPicker.js +15 -6
  190. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  191. package/dist/components/fields/Input/Input.js +1 -1
  192. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  193. package/dist/components/fields/ListBox/ListBox.js +7 -5
  194. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  195. package/dist/components/fields/ListBox/optionId.js +1 -1
  196. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +148 -140
  197. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  198. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  199. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  200. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  201. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  202. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  203. package/dist/components/fields/Picker/Picker.js +15 -6
  204. package/dist/components/fields/Picker/Picker.js.map +1 -1
  205. package/dist/components/fields/RadioGroup/Radio.d.ts +28 -28
  206. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  207. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  208. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  209. package/dist/components/fields/RadioGroup/context.js +1 -1
  210. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -6
  211. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  212. package/dist/components/fields/SearchInput/SearchInput.js +1 -6
  213. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  214. package/dist/components/fields/Select/Select.js +1 -1
  215. package/dist/components/fields/Slider/Gradation.js +1 -1
  216. package/dist/components/fields/Slider/HueSlider.js +1 -1
  217. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  218. package/dist/components/fields/Slider/Slider.js +1 -1
  219. package/dist/components/fields/Slider/SliderBase.js +1 -1
  220. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  221. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  222. package/dist/components/fields/Slider/elements.js +1 -1
  223. package/dist/components/fields/Slider/index.js +1 -1
  224. package/dist/components/fields/Switch/Switch.js +1 -1
  225. package/dist/components/fields/TagInput/TagInput.js +2 -2
  226. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  227. package/dist/components/fields/TagInput/TagList.js +1 -1
  228. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  229. package/dist/components/fields/TagInput/useTagError.js +1 -1
  230. package/dist/components/fields/TextArea/TextArea.js +1 -1
  231. package/dist/components/fields/TextInput/TextInput.js +1 -1
  232. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  233. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  234. package/dist/components/fields/TextInputMapper/TextInputMapper.js +19 -16
  235. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  236. package/dist/components/fields/TriggerActions.js +1 -1
  237. package/dist/components/fields/color/ColorPanel.js +3 -1
  238. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  239. package/dist/components/fields/color/channels.js +1 -1
  240. package/dist/components/fields/color/color.js +1 -1
  241. package/dist/components/fields/color/context.js +1 -1
  242. package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +10 -8
  243. package/dist/components/form/FieldWrapper/FieldWrapper.js +214 -159
  244. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  245. package/dist/components/form/FieldWrapper/field-description.js +3 -3
  246. package/dist/components/form/FieldWrapper/field-description.js.map +1 -1
  247. package/dist/components/form/FieldWrapper/types.d.ts +4 -3
  248. package/dist/components/form/Form/Field.js +1 -1
  249. package/dist/components/form/Form/Form.js +1 -1
  250. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  251. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  252. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  253. package/dist/components/form/Form/SubmitError.js +1 -1
  254. package/dist/components/form/Form/backend.js +1 -1
  255. package/dist/components/form/Form/index.js +1 -1
  256. package/dist/components/form/Form/modern/actions.js +1 -1
  257. package/dist/components/form/Form/modern/context.js +1 -1
  258. package/dist/components/form/Form/modern/controller.js +1 -1
  259. package/dist/components/form/Form/modern/field-binding.js +1 -1
  260. package/dist/components/form/Form/modern/field.js +1 -1
  261. package/dist/components/form/Form/modern/react.js +1 -1
  262. package/dist/components/form/Form/modern/store.js +1 -1
  263. package/dist/components/form/Form/modern/validation.js +1 -1
  264. package/dist/components/form/Form/modern/values.js +1 -1
  265. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  266. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  267. package/dist/components/form/Form/use-field/use-field-props.js +21 -33
  268. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  269. package/dist/components/form/Form/use-field/use-field.js +1 -1
  270. package/dist/components/form/Form/use-form.js +1 -1
  271. package/dist/components/form/Form/validation.js +1 -1
  272. package/dist/components/form/Label.js +1 -1
  273. package/dist/components/form/field-chrome.js +4 -34
  274. package/dist/components/form/field-chrome.js.map +1 -1
  275. package/dist/components/form/legacy-tooltip.js +1 -1
  276. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  277. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  278. package/dist/components/form/validation/use-validation-props.js +1 -1
  279. package/dist/components/form/wrapper.d.ts +6 -17
  280. package/dist/components/form/wrapper.js +6 -14
  281. package/dist/components/form/wrapper.js.map +1 -1
  282. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  283. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  284. package/dist/components/layout/Flex.js +1 -1
  285. package/dist/components/layout/Flow.js +1 -1
  286. package/dist/components/layout/Grid.js +1 -1
  287. package/dist/components/layout/Panel.js +1 -1
  288. package/dist/components/layout/Prefix.js +1 -1
  289. package/dist/components/layout/ResizablePanel.js +1 -1
  290. package/dist/components/layout/Space.js +1 -1
  291. package/dist/components/layout/Suffix.js +1 -1
  292. package/dist/components/navigation/Pagination/Pagination.js +3 -1
  293. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  294. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  295. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  296. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  297. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  298. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  299. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  300. package/dist/components/navigation/Tabs/TabPicker.js +2 -1
  301. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  302. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  303. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  304. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  305. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  306. package/dist/components/navigation/Tabs/styled.js +1 -1
  307. package/dist/components/navigation/Tabs/types.js +1 -1
  308. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  309. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  310. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  311. package/dist/components/other/Calendar/Calendar.js +1 -1
  312. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  313. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  314. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  315. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  316. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  317. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  318. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  319. package/dist/components/other/Calendar/styled.js +1 -1
  320. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  321. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  322. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  323. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  324. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  325. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  326. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  327. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  328. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  329. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  330. package/dist/components/overlays/Dialog/context.js +1 -1
  331. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  332. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  333. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  334. package/dist/components/overlays/Modal/Modal.js +1 -1
  335. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  336. package/dist/components/overlays/Modal/Overlay.js +7 -2
  337. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  338. package/dist/components/overlays/Modal/Popover.js +31 -29
  339. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  340. package/dist/components/overlays/Modal/Tray.js +2 -1
  341. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  342. package/dist/components/overlays/Modal/Underlay.js +1 -1
  343. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  344. package/dist/components/overlays/Notifications/Notification.js +1 -1
  345. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  346. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  347. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  348. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  349. package/dist/components/overlays/Notifications/OverlayContainer.js +18 -32
  350. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  351. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  352. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  353. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  354. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  355. package/dist/components/overlays/Notifications/index.js +1 -1
  356. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  357. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  358. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  359. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  360. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  361. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  362. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  363. package/dist/components/overlays/Toast/index.js +1 -1
  364. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  365. package/dist/components/overlays/Toast/useToast.js +1 -1
  366. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  367. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  368. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  369. package/dist/components/overlays/Tooltip/context.js +1 -1
  370. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  371. package/dist/components/portal/Portal.js +1 -1
  372. package/dist/components/portal/PortalProvider.js +1 -1
  373. package/dist/components/portal/usePortal.js +1 -1
  374. package/dist/components/shared/DraggableCollection.js +1 -1
  375. package/dist/components/shared/InvalidIcon.js +1 -1
  376. package/dist/components/shared/ValidIcon.js +1 -1
  377. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  378. package/dist/components/status/Spin/Cube.js +1 -1
  379. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  380. package/dist/components/status/Spin/Spin.js +1 -1
  381. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  382. package/dist/data/item-themes.js +1 -1
  383. package/dist/data/themes.js +1 -1
  384. package/dist/eslint-plugin/defaults.generated.js +1 -1
  385. package/dist/eslint-plugin/index.js +1 -1
  386. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  387. package/dist/i18n/I18nProvider.js +1 -1
  388. package/dist/i18n/createFormatter.js +1 -1
  389. package/dist/i18n/index.js +1 -1
  390. package/dist/i18n/instance.js +1 -1
  391. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  392. package/dist/i18n/locales/en-US/uikit.js +1 -1
  393. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  394. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  395. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  396. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  397. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  398. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  399. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  400. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  401. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  402. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  403. package/dist/i18n/locales.js +1 -1
  404. package/dist/i18n/namespace.js +1 -1
  405. package/dist/i18n/useFormatter.js +1 -1
  406. package/dist/i18n/useI18n.js +1 -1
  407. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  408. package/dist/icons/AdjustmentsIcon.js +1 -1
  409. package/dist/icons/AiIcon.js +1 -1
  410. package/dist/icons/AreaChartIcon.js +1 -1
  411. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  412. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  413. package/dist/icons/BackwardIcon.js +1 -1
  414. package/dist/icons/BarChartIcon.js +1 -1
  415. package/dist/icons/BellFilledIcon.js +1 -1
  416. package/dist/icons/BellIcon.js +1 -1
  417. package/dist/icons/BooleanIcon.js +1 -1
  418. package/dist/icons/CalendarEditIcon.js +1 -1
  419. package/dist/icons/CalendarIcon.js +1 -1
  420. package/dist/icons/CaretDownIcon.js +1 -1
  421. package/dist/icons/CaretUpIcon.js +1 -1
  422. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  423. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  424. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  425. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  426. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  427. package/dist/icons/ChartBarLineIcon.js +1 -1
  428. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  429. package/dist/icons/ChartBarStackedIcon.js +1 -1
  430. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  431. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  432. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  433. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  434. package/dist/icons/ChartBubbleIcon.js +1 -1
  435. package/dist/icons/ChartDonut2Icon.js +1 -1
  436. package/dist/icons/ChartFunnelIcon.js +1 -1
  437. package/dist/icons/ChartHeatmapIcon.js +1 -1
  438. package/dist/icons/ChartKPIIcon.js +1 -1
  439. package/dist/icons/ChartPie2Icon.js +1 -1
  440. package/dist/icons/ChartScatterIcon.js +1 -1
  441. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  442. package/dist/icons/CheckCircleIcon.js +1 -1
  443. package/dist/icons/CheckIcon.js +1 -1
  444. package/dist/icons/CircleFilledIcon.js +1 -1
  445. package/dist/icons/ClearIcon.js +1 -1
  446. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  447. package/dist/icons/CloseCircleIcon.js +1 -1
  448. package/dist/icons/CloseIcon.js +1 -1
  449. package/dist/icons/CodeIcon.js +1 -1
  450. package/dist/icons/ColumnTotalIcon.js +1 -1
  451. package/dist/icons/CopyIcon.js +1 -1
  452. package/dist/icons/CountIcon.js +1 -1
  453. package/dist/icons/CubeIcon.js +1 -1
  454. package/dist/icons/CubePauseIcon.js +1 -1
  455. package/dist/icons/CubePlayIcon.js +1 -1
  456. package/dist/icons/CurrencyDollarIcon.js +1 -1
  457. package/dist/icons/DangerIcon.js +1 -1
  458. package/dist/icons/DashboardIcon.js +1 -1
  459. package/dist/icons/DatabaseIcon.js +1 -1
  460. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  461. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  462. package/dist/icons/DirectionIcon.js +1 -1
  463. package/dist/icons/DonutIcon.js +1 -1
  464. package/dist/icons/DownIcon.js +1 -1
  465. package/dist/icons/EditIcon.js +1 -1
  466. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  467. package/dist/icons/ExclamationCircleIcon.js +1 -1
  468. package/dist/icons/ExclamationIcon.js +1 -1
  469. package/dist/icons/EyeIcon.js +1 -1
  470. package/dist/icons/EyeInvisibleIcon.js +1 -1
  471. package/dist/icons/FilterIcon.js +1 -1
  472. package/dist/icons/FolderFilledIcon.js +1 -1
  473. package/dist/icons/FolderIcon.js +1 -1
  474. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  475. package/dist/icons/FolderOpenIcon.js +1 -1
  476. package/dist/icons/ForwardIcon.js +1 -1
  477. package/dist/icons/GripVerticalIcon.js +1 -1
  478. package/dist/icons/HierarchyIcon.js +1 -1
  479. package/dist/icons/HierarchyOpenIcon.js +1 -1
  480. package/dist/icons/Icon.js +1 -1
  481. package/dist/icons/InfoCircleIcon.js +1 -1
  482. package/dist/icons/InfoIcon.js +1 -1
  483. package/dist/icons/KeyIcon.js +1 -1
  484. package/dist/icons/LeftIcon.js +1 -1
  485. package/dist/icons/LineChartIcon.js +1 -1
  486. package/dist/icons/LoadingIcon.js +1 -1
  487. package/dist/icons/LockFilledIcon.js +1 -1
  488. package/dist/icons/LockIcon.js +1 -1
  489. package/dist/icons/MoreIcon.js +1 -1
  490. package/dist/icons/NotAllowedIcon.js +1 -1
  491. package/dist/icons/Number123Icon.js +1 -1
  492. package/dist/icons/NumberIcon.js +1 -1
  493. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  494. package/dist/icons/PauseCircleIcon.js +1 -1
  495. package/dist/icons/PauseIcon.js +1 -1
  496. package/dist/icons/PercentageIcon.js +1 -1
  497. package/dist/icons/PieChartIcon.js +1 -1
  498. package/dist/icons/PipetteIcon.js +1 -1
  499. package/dist/icons/PlayCircleIcon.js +1 -1
  500. package/dist/icons/PlayIcon.js +1 -1
  501. package/dist/icons/PlusIcon.js +1 -1
  502. package/dist/icons/ProgressBarIcon.js +1 -1
  503. package/dist/icons/ReloadIcon.js +1 -1
  504. package/dist/icons/ReportIcon.js +1 -1
  505. package/dist/icons/ReturnIcon.js +1 -1
  506. package/dist/icons/RightIcon.js +1 -1
  507. package/dist/icons/RowTotalsIcon.js +1 -1
  508. package/dist/icons/SchemeIcon.js +1 -1
  509. package/dist/icons/SearchIcon.js +1 -1
  510. package/dist/icons/SemanticQueryIcon.js +1 -1
  511. package/dist/icons/SettingsIcon.js +1 -1
  512. package/dist/icons/ShieldFilledIcon.js +1 -1
  513. package/dist/icons/ShieldIcon.js +1 -1
  514. package/dist/icons/SlashIcon.js +1 -1
  515. package/dist/icons/SparklesIcon.js +1 -1
  516. package/dist/icons/SqlIcon.js +1 -1
  517. package/dist/icons/StatsIcon.js +1 -1
  518. package/dist/icons/StopIcon.js +1 -1
  519. package/dist/icons/StringIcon.js +1 -1
  520. package/dist/icons/SubtotalsIcon.js +1 -1
  521. package/dist/icons/SwitchIcon.js +1 -1
  522. package/dist/icons/TableIcon.js +1 -1
  523. package/dist/icons/ThumbsDownIcon.js +1 -1
  524. package/dist/icons/ThumbsUpIcon.js +1 -1
  525. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  526. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  527. package/dist/icons/ThunderboltIcon.js +1 -1
  528. package/dist/icons/TimeIcon.js +1 -1
  529. package/dist/icons/TrashIcon.js +1 -1
  530. package/dist/icons/UnlockIcon.js +1 -1
  531. package/dist/icons/UpIcon.js +1 -1
  532. package/dist/icons/UserGroupIcon.js +1 -1
  533. package/dist/icons/UserIcon.js +1 -1
  534. package/dist/icons/UserLockIcon.js +1 -1
  535. package/dist/icons/ViewIcon.js +1 -1
  536. package/dist/icons/WarningFilledIcon.js +1 -1
  537. package/dist/icons/WarningIcon.js +1 -1
  538. package/dist/icons/wrap-icon.js +1 -1
  539. package/dist/index.js +1 -1
  540. package/dist/probe/canonicalize.js +1 -1
  541. package/dist/probe/css.js +1 -1
  542. package/dist/probe/index.js +1 -1
  543. package/dist/provider.js +1 -1
  544. package/dist/providers/TrackingProvider.js +1 -1
  545. package/dist/providers/navigation-url.js +1 -1
  546. package/dist/providers/navigationAdapter.default.js +1 -1
  547. package/dist/providers/use-navigation.js +1 -1
  548. package/dist/shared/form.d.ts +11 -12
  549. package/dist/tokens/all-tokens.js +1 -1
  550. package/dist/tokens/base.js +1 -1
  551. package/dist/tokens/color-seed.js +1 -1
  552. package/dist/tokens/color-theme.js +1 -1
  553. package/dist/tokens/colors.js +1 -1
  554. package/dist/tokens/layout.js +1 -1
  555. package/dist/tokens/lazy-styles.js +1 -1
  556. package/dist/tokens/legacy-color.js +1 -1
  557. package/dist/tokens/palette-config.js +1 -1
  558. package/dist/tokens/palette.js +1 -1
  559. package/dist/tokens/resolve.js +1 -1
  560. package/dist/tokens/shadows.js +1 -1
  561. package/dist/tokens/sizes.js +1 -1
  562. package/dist/tokens/spacing.js +1 -1
  563. package/dist/tokens/typography.js +1 -1
  564. package/dist/utils/ResizeSensor.js +1 -1
  565. package/dist/utils/colors.js +1 -1
  566. package/dist/utils/dotize.js +1 -1
  567. package/dist/utils/is-dev-env.js +1 -1
  568. package/dist/utils/modules.js +1 -1
  569. package/dist/utils/promise.js +1 -1
  570. package/dist/utils/raf.js +1 -1
  571. package/dist/utils/random.js +1 -1
  572. package/dist/utils/range.js +1 -1
  573. package/dist/utils/react/RenderCache.js +1 -1
  574. package/dist/utils/react/Slots.js +1 -1
  575. package/dist/utils/react/chain.js +1 -1
  576. package/dist/utils/react/disabledProps.js +1 -1
  577. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  578. package/dist/utils/react/index.js +1 -1
  579. package/dist/utils/react/interactions.js +1 -1
  580. package/dist/utils/react/isTextOnly.js +1 -1
  581. package/dist/utils/react/mapProps.js +1 -1
  582. package/dist/utils/react/mergeProps.js +1 -1
  583. package/dist/utils/react/nullableValue.js +1 -1
  584. package/dist/utils/react/overlayKeyPropagation.js +1 -1
  585. package/dist/utils/react/programmaticFocus.js +1 -1
  586. package/dist/utils/react/resolveIcon.js +1 -1
  587. package/dist/utils/react/sharedStore.js +1 -1
  588. package/dist/utils/react/useBufferedValue.js +1 -1
  589. package/dist/utils/react/useCombinedRefs.js +1 -1
  590. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  591. package/dist/utils/react/useEventBus.js +1 -1
  592. package/dist/utils/react/useId.js +1 -1
  593. package/dist/utils/react/useIsDarwin.js +1 -1
  594. package/dist/utils/react/useKeySymbols.js +1 -1
  595. package/dist/utils/react/useLayoutEffect.js +1 -1
  596. package/dist/utils/react/useLocalStorage.js +1 -1
  597. package/dist/utils/react/useMergeStyles.js +1 -1
  598. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  599. package/dist/utils/react/usePopoverSync.js +1 -1
  600. package/dist/utils/react/useQaProps.js +1 -1
  601. package/dist/utils/react/useScheme.js +1 -1
  602. package/dist/utils/react/useViewportSize.js +1 -1
  603. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  604. package/dist/utils/selection.js +1 -1
  605. package/dist/utils/styles.js +1 -1
  606. package/dist/utils/tree.js +1 -1
  607. package/dist/utils/warnings.js +1 -1
  608. package/dist/version.js +2 -2
  609. package/docs/ComplexLayout.md +1 -1
  610. package/docs/CreateComponent.md +2 -0
  611. package/docs/FieldProperties.md +31 -6
  612. package/docs/Usage.md +2 -0
  613. package/docs/components/actions/ButtonSplit.md +27 -1
  614. package/docs/components/content/Layout.md +8 -4
  615. package/docs/components/fields/ComboBox.md +6 -2
  616. package/docs/components/fields/TagInput.md +8 -1
  617. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { mergeRefs as mergeRefs$1 } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { useModalLayerRef } from "./modal-containment.js";
@@ -145,35 +145,37 @@ const PopoverWrapper = forwardRef(function PopoverWrapper(props, ref) {
145
145
  const { modalProps } = useModal(t1);
146
146
  const T0 = PopoverElement;
147
147
  const t2 = qa || "Popover";
148
- const t3 = mergeProps$1(otherProps, overlayProps, modalProps);
149
- const t4 = transitionState === "enter";
150
- const t5 = transitionState === "exit";
151
- const t6 = transitionState === "unmounted";
152
- const t7 = transitionState === "entered";
153
- let t8;
154
- if ($[2] !== isOpen || $[3] !== t4 || $[4] !== t5 || $[5] !== t6 || $[6] !== t7) {
155
- t8 = {
148
+ const t3 = "";
149
+ const t4 = mergeProps$1(otherProps, overlayProps, modalProps);
150
+ const t5 = transitionState === "enter";
151
+ const t6 = transitionState === "exit";
152
+ const t7 = transitionState === "unmounted";
153
+ const t8 = transitionState === "entered";
154
+ let t9;
155
+ if ($[2] !== isOpen || $[3] !== t5 || $[4] !== t6 || $[5] !== t7 || $[6] !== t8) {
156
+ t9 = {
156
157
  open: isOpen,
157
- enter: t4,
158
- exit: t5,
159
- unmounted: t6,
160
- entered: t7
158
+ enter: t5,
159
+ exit: t6,
160
+ unmounted: t7,
161
+ entered: t8
161
162
  };
162
163
  $[2] = isOpen;
163
- $[3] = t4;
164
- $[4] = t5;
165
- $[5] = t6;
166
- $[6] = t7;
167
- $[7] = t8;
168
- } else t8 = $[7];
169
- let t9;
170
- if ($[8] !== T0 || $[9] !== children || $[10] !== placement || $[11] !== ref || $[12] !== style || $[13] !== styles || $[14] !== t2 || $[15] !== t3 || $[16] !== t8) {
171
- t9 = /* @__PURE__ */ jsx(T0, {
164
+ $[3] = t5;
165
+ $[4] = t6;
166
+ $[5] = t7;
167
+ $[6] = t8;
168
+ $[7] = t9;
169
+ } else t9 = $[7];
170
+ let t10;
171
+ if ($[8] !== T0 || $[9] !== children || $[10] !== placement || $[11] !== ref || $[12] !== style || $[13] !== styles || $[14] !== t2 || $[15] !== t4 || $[16] !== t9) {
172
+ t10 = /* @__PURE__ */ jsx(T0, {
172
173
  qa: t2,
173
- ...t3,
174
+ "data-overlay-layer": t3,
175
+ ...t4,
174
176
  ref,
175
177
  styles,
176
- mods: t8,
178
+ mods: t9,
177
179
  "data-placement": placement,
178
180
  style,
179
181
  children
@@ -185,11 +187,11 @@ const PopoverWrapper = forwardRef(function PopoverWrapper(props, ref) {
185
187
  $[12] = style;
186
188
  $[13] = styles;
187
189
  $[14] = t2;
188
- $[15] = t3;
189
- $[16] = t8;
190
- $[17] = t9;
191
- } else t9 = $[17];
192
- return t9;
190
+ $[15] = t4;
191
+ $[16] = t9;
192
+ $[17] = t10;
193
+ } else t10 = $[17];
194
+ return t10;
193
195
  });
194
196
  const _Popover = forwardRef(Popover);
195
197
  _Popover.displayName = "Popover";
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","names":["useObjectRef","BaseProps","tasty","ForwardedRef","forwardRef","HTMLAttributes","AriaOverlayProps","useModal","useOverlay","PlacementAxis","mergeProps","mergeRefs","useOverlayEscapeGuard","useModalLayerRef","CubeOverlayProps","Overlay","TransitionState","Props","PopoverElement","role","styles","display","hide","exit","unmounted","pointerEvents","position","transition","transform","open","opacity","transformOrigin","CubePopoverProps","container","HTMLElement","placement","arrowProps","hideArrow","isOpen","onClose","shouldCloseOnBlur","isNonModal","isDismissable","shouldCloseOnInteractOutside","element","Element","Popover","props","ref","$","_c","children","otherProps","qa","style","t0","undefined","domRef","t1","t2","overlayProps","rawOverlayProps","layerRef","t3","t4","t5","PopoverWrapperProps","Omit","PopoverWrapper","transitionState","isDisabled","modalProps","T0","t6","t7","t8","enter","entered","t9","_Popover","displayName"],"sources":["../../../../src/components/overlays/Modal/Popover.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, HTMLAttributes } from 'react';\nimport { AriaOverlayProps, useModal, useOverlay } from 'react-aria';\n\nimport { PlacementAxis } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { mergeRefs } from '../../../utils/react/useCombinedRefs';\nimport { useOverlayEscapeGuard } from '../../../utils/react/useOverlayEscapeGuard';\n\nimport { useModalLayerRef } from './modal-containment';\nimport { CubeOverlayProps, Overlay } from './Overlay';\nimport { TransitionState } from './types';\n\nimport type { Props } from '../../../props';\n\nconst PopoverElement = tasty({\n role: 'presentation',\n styles: {\n display: 'initial',\n hide: {\n '': true,\n 'enter | entered': false,\n exit: false,\n unmounted: true,\n },\n pointerEvents: 'auto',\n position: 'absolute',\n transition:\n 'opacity $disclosure-transition linear, visibility 0ms linear, transform $disclosure-transition ease-in-out',\n transform: {\n '': 'scale(1, .9)',\n open: 'initial',\n },\n opacity: {\n '': 0,\n open: '.9999',\n },\n transformOrigin: {\n '': 'top center',\n '[data-placement=\"top\"]': 'bottom center',\n },\n },\n});\n\nexport interface CubePopoverProps\n extends BaseProps,\n AriaOverlayProps,\n CubeOverlayProps,\n TransitionState {\n container?: HTMLElement;\n placement?: PlacementAxis;\n arrowProps?: HTMLAttributes<HTMLElement>;\n hideArrow?: boolean;\n isOpen?: boolean;\n onClose?: () => void;\n shouldCloseOnBlur?: boolean;\n isNonModal?: boolean;\n isDismissable?: boolean;\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n}\n\nfunction Popover(props: CubePopoverProps, ref: ForwardedRef<HTMLElement>) {\n let {\n qa,\n style,\n styles,\n children,\n placement,\n arrowProps,\n isNonModal,\n isDismissable = true,\n ...otherProps\n } = props;\n\n let domRef = useObjectRef(ref);\n\n // `useOverlay` has to run here rather than inside `PopoverWrapper`, on the\n // *logical* open state — `Overlay` hands its child an `isOpen` that only\n // turns true once the enter animation has settled. Registering the overlay\n // that late leaves it out of React Aria's visible-overlay stack for the first\n // frames, and `Escape` silently does nothing until the popover finishes\n // animating in. `Modal` and `Tray` call it from the same place for the same\n // reason.\n let { overlayProps: rawOverlayProps } = useOverlay(\n { ...props, isDismissable: isDismissable && props.isOpen },\n domRef,\n );\n\n // ...and a popover that has already closed must not answer for `Escape`\n // while it animates out — see `useOverlayEscapeGuard`.\n const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);\n\n // Opened inside a modal, it stays readable while the modal hides the page.\n const layerRef = useModalLayerRef();\n\n return (\n <Overlay {...otherProps}>\n <PopoverWrapper\n ref={mergeRefs(domRef, layerRef)}\n qa={qa}\n style={style}\n styles={styles}\n placement={placement}\n arrowProps={arrowProps}\n isNonModal={isNonModal}\n overlayProps={overlayProps}\n >\n {children}\n </PopoverWrapper>\n </Overlay>\n );\n}\n\ninterface PopoverWrapperProps\n extends Omit<CubePopoverProps, 'isDismissable'>,\n TransitionState {\n overlayProps?: Props;\n}\n\nconst PopoverWrapper = forwardRef(function PopoverWrapper(\n props: PopoverWrapperProps,\n ref,\n) {\n let {\n qa,\n children,\n placement = 'bottom',\n arrowProps,\n // `isOpen` here is the transition's settled state, not the trigger's — it\n // drives the enter/exit styles only.\n isOpen,\n style,\n styles,\n isNonModal,\n transitionState,\n overlayProps,\n ...otherProps\n } = props;\n let { modalProps } = useModal({\n isDisabled: isNonModal,\n });\n\n return (\n <PopoverElement\n qa={qa || 'Popover'}\n {...mergeProps(otherProps, overlayProps, modalProps)}\n ref={ref}\n styles={styles}\n mods={{\n open: isOpen,\n enter: transitionState === 'enter',\n exit: transitionState === 'exit',\n unmounted: transitionState === 'unmounted',\n entered: transitionState === 'entered',\n }}\n data-placement={placement}\n style={style}\n >\n {children}\n </PopoverElement>\n );\n});\n\nconst _Popover = forwardRef(Popover);\n\n_Popover.displayName = 'Popover';\n\nexport { _Popover as Popover };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","names":["useObjectRef","BaseProps","tasty","ForwardedRef","forwardRef","HTMLAttributes","AriaOverlayProps","useModal","useOverlay","PlacementAxis","mergeProps","mergeRefs","useOverlayEscapeGuard","useModalLayerRef","CubeOverlayProps","Overlay","TransitionState","Props","PopoverElement","role","styles","display","hide","exit","unmounted","pointerEvents","position","transition","transform","open","opacity","transformOrigin","CubePopoverProps","container","HTMLElement","placement","arrowProps","hideArrow","isOpen","onClose","shouldCloseOnBlur","isNonModal","isDismissable","shouldCloseOnInteractOutside","element","Element","Popover","props","ref","$","_c","children","otherProps","qa","style","t0","undefined","domRef","t1","t2","overlayProps","rawOverlayProps","layerRef","t3","t4","t5","PopoverWrapperProps","Omit","PopoverWrapper","transitionState","isDisabled","modalProps","T0","t6","t7","t8","t9","enter","entered","t10","_Popover","displayName"],"sources":["../../../../src/components/overlays/Modal/Popover.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, HTMLAttributes } from 'react';\nimport { AriaOverlayProps, useModal, useOverlay } from 'react-aria';\n\nimport { PlacementAxis } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { mergeRefs } from '../../../utils/react/useCombinedRefs';\nimport { useOverlayEscapeGuard } from '../../../utils/react/useOverlayEscapeGuard';\n\nimport { useModalLayerRef } from './modal-containment';\nimport { CubeOverlayProps, Overlay } from './Overlay';\nimport { TransitionState } from './types';\n\nimport type { Props } from '../../../props';\n\nconst PopoverElement = tasty({\n role: 'presentation',\n styles: {\n display: 'initial',\n hide: {\n '': true,\n 'enter | entered': false,\n exit: false,\n unmounted: true,\n },\n pointerEvents: 'auto',\n position: 'absolute',\n transition:\n 'opacity $disclosure-transition linear, visibility 0ms linear, transform $disclosure-transition ease-in-out',\n transform: {\n '': 'scale(1, .9)',\n open: 'initial',\n },\n opacity: {\n '': 0,\n open: '.9999',\n },\n transformOrigin: {\n '': 'top center',\n '[data-placement=\"top\"]': 'bottom center',\n },\n },\n});\n\nexport interface CubePopoverProps\n extends BaseProps,\n AriaOverlayProps,\n CubeOverlayProps,\n TransitionState {\n container?: HTMLElement;\n placement?: PlacementAxis;\n arrowProps?: HTMLAttributes<HTMLElement>;\n hideArrow?: boolean;\n isOpen?: boolean;\n onClose?: () => void;\n shouldCloseOnBlur?: boolean;\n isNonModal?: boolean;\n isDismissable?: boolean;\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n}\n\nfunction Popover(props: CubePopoverProps, ref: ForwardedRef<HTMLElement>) {\n let {\n qa,\n style,\n styles,\n children,\n placement,\n arrowProps,\n isNonModal,\n isDismissable = true,\n ...otherProps\n } = props;\n\n let domRef = useObjectRef(ref);\n\n // `useOverlay` has to run here rather than inside `PopoverWrapper`, on the\n // *logical* open state — `Overlay` hands its child an `isOpen` that only\n // turns true once the enter animation has settled. Registering the overlay\n // that late leaves it out of React Aria's visible-overlay stack for the first\n // frames, and `Escape` silently does nothing until the popover finishes\n // animating in. `Modal` and `Tray` call it from the same place for the same\n // reason.\n let { overlayProps: rawOverlayProps } = useOverlay(\n { ...props, isDismissable: isDismissable && props.isOpen },\n domRef,\n );\n\n // ...and a popover that has already closed must not answer for `Escape`\n // while it animates out — see `useOverlayEscapeGuard`.\n const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);\n\n // Opened inside a modal, it stays readable while the modal hides the page.\n const layerRef = useModalLayerRef();\n\n return (\n <Overlay {...otherProps}>\n <PopoverWrapper\n ref={mergeRefs(domRef, layerRef)}\n qa={qa}\n style={style}\n styles={styles}\n placement={placement}\n arrowProps={arrowProps}\n isNonModal={isNonModal}\n overlayProps={overlayProps}\n >\n {children}\n </PopoverWrapper>\n </Overlay>\n );\n}\n\ninterface PopoverWrapperProps\n extends Omit<CubePopoverProps, 'isDismissable'>,\n TransitionState {\n overlayProps?: Props;\n}\n\nconst PopoverWrapper = forwardRef(function PopoverWrapper(\n props: PopoverWrapperProps,\n ref,\n) {\n let {\n qa,\n children,\n placement = 'bottom',\n arrowProps,\n // `isOpen` here is the transition's settled state, not the trigger's — it\n // drives the enter/exit styles only.\n isOpen,\n style,\n styles,\n isNonModal,\n transitionState,\n overlayProps,\n ...otherProps\n } = props;\n let { modalProps } = useModal({\n isDisabled: isNonModal,\n });\n\n return (\n <PopoverElement\n qa={qa || 'Popover'}\n data-overlay-layer=\"\"\n {...mergeProps(otherProps, overlayProps, modalProps)}\n ref={ref}\n styles={styles}\n mods={{\n open: isOpen,\n enter: transitionState === 'enter',\n exit: transitionState === 'exit',\n unmounted: transitionState === 'unmounted',\n entered: transitionState === 'entered',\n }}\n data-placement={placement}\n style={style}\n >\n {children}\n </PopoverElement>\n );\n});\n\nconst _Popover = forwardRef(Popover);\n\n_Popover.displayName = 'Popover';\n\nexport { _Popover as Popover };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { mergeRefs as mergeRefs$1 } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { ModalContainmentProvider, useModalContainment } from "./modal-containment.js";
@@ -189,6 +189,7 @@ let TrayWrapper = forwardRef(function TrayWrapper(props, ref) {
189
189
  if ($[11] !== children || $[12] !== domProps || $[13] !== modalProps || $[14] !== ref || $[15] !== styles || $[16] !== t2 || $[17] !== t7) {
190
190
  t8 = /* @__PURE__ */ jsx(TrayElement, {
191
191
  qa: t2,
192
+ "data-overlay-layer": "",
192
193
  styles,
193
194
  mods: t7,
194
195
  ...domProps,
@@ -1 +1 @@
1
- {"version":3,"file":"Tray.js","names":["useObjectRef","BaseProps","Styles","tasty","ForwardedRef","forwardRef","ReactNode","AriaOverlayProps","useModal","useOverlay","usePreventScroll","mergeProps","mergeRefs","useOverlayEscapeGuard","OVERLAY_WRAPPER_STYLES","ModalContainmentProvider","useModalContainment","CubeOverlayProps","Overlay","TransitionState","Underlay","Props","TrayWrapperElement","qa","styles","placeContent","placeItems","TrayElement","display","hide","exit","unmounted","zIndex","height","width","pointerEvents","transition","opacity","open","CubeTrayProps","container","HTMLElement","onClose","action","isFixedHeight","isNonModal","children","isKeyboardDismissDisabled","isOpen","onOpenChange","defaultOpen","shouldCloseOnInteractOutside","element","Element","CubeTrayWrapperProps","overlayProps","Tray","props","ref","$","_c","otherProps","domRef","t0","isDismissable","rawOverlayProps","underlayProps","containment","containmentRef","t1","t2","t3","t4","t5","TrayWrapper","transitionState","isDisabled","modalProps","domProps","t6","t7","enter","entered","t8","t9","_Tray","displayName"],"sources":["../../../../src/components/overlays/Modal/Tray.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, Styles, tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, ReactNode } from 'react';\nimport {\n AriaOverlayProps,\n useModal,\n useOverlay,\n usePreventScroll,\n} from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react';\nimport { mergeRefs } from '../../../utils/react/useCombinedRefs';\nimport { useOverlayEscapeGuard } from '../../../utils/react/useOverlayEscapeGuard';\n\nimport { OVERLAY_WRAPPER_STYLES } from './Modal';\nimport {\n ModalContainmentProvider,\n useModalContainment,\n} from './modal-containment';\nimport { CubeOverlayProps, Overlay } from './Overlay';\nimport { TransitionState } from './types';\nimport { Underlay } from './Underlay';\n\nimport type { Props } from '../../../props';\n\nconst TrayWrapperElement = tasty({\n qa: 'TrayWrapper',\n styles: {\n // eslint-disable-next-line tasty/no-style-spread -- overlay wrapper base shared with ModalWrapper\n ...OVERLAY_WRAPPER_STYLES,\n placeContent: 'end center',\n placeItems: 'end center',\n },\n});\n\nconst TrayElement = tasty({\n styles: {\n display: 'initial',\n hide: {\n '': true,\n 'enter | entered': false,\n exit: false,\n unmounted: true,\n },\n zIndex: 10,\n height: 'max 90dvh',\n width: '$min-dialog-size 90vw',\n pointerEvents: 'auto',\n transition:\n 'transform .25s ease-in-out, opacity .25s linear, visibility 0ms linear',\n opacity: {\n '': 0,\n open: '.9999',\n },\n },\n});\n\nexport interface CubeTrayProps extends AriaOverlayProps, CubeOverlayProps {\n container?: HTMLElement;\n qa?: BaseProps['qa'];\n onClose?: (action?: string) => void;\n isFixedHeight?: boolean;\n isNonModal?: boolean;\n styles?: Styles;\n children?: ReactNode;\n isKeyboardDismissDisabled?: boolean;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n /**\n * Predicate that decides whether the overlay should close in response to an\n * interaction outside of it. When the function returns `false`, react-aria's\n * `useOverlay` no longer calls `stopPropagation`/`preventDefault` on the\n * outside event, which lets sibling triggers receive the click.\n */\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n}\n\ninterface CubeTrayWrapperProps extends CubeTrayProps, TransitionState {\n isOpen?: boolean;\n overlayProps?: Props;\n}\n\nfunction Tray(props: CubeTrayProps, ref: ForwardedRef<HTMLElement>) {\n let {\n qa,\n children,\n onClose,\n isFixedHeight,\n isNonModal,\n styles,\n shouldCloseOnInteractOutside,\n ...otherProps\n } = props;\n let domRef = useObjectRef(ref);\n\n let { overlayProps: rawOverlayProps, underlayProps } = useOverlay(\n { ...props, isDismissable: true, shouldCloseOnInteractOutside },\n domRef,\n );\n\n // Same as `Modal`: a tray pressed while it closes must not take `Escape`.\n const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);\n\n // Same as `Modal`: the page behind an open tray is hidden.\n const { containment, ref: containmentRef } = useModalContainment(\n !isNonModal,\n !!props.isOpen,\n );\n\n return (\n <ModalContainmentProvider value={containment}>\n <Overlay {...otherProps}>\n <Underlay {...underlayProps} />\n <TrayWrapper\n ref={mergeRefs(domRef, containmentRef)}\n qa={qa}\n overlayProps={overlayProps}\n isFixedHeight={isFixedHeight}\n isNonModal={isNonModal}\n styles={styles}\n onClose={onClose}\n >\n {children}\n </TrayWrapper>\n </Overlay>\n </ModalContainmentProvider>\n );\n}\n\nlet TrayWrapper = forwardRef(function TrayWrapper(\n props: CubeTrayWrapperProps,\n ref,\n) {\n let {\n qa,\n children,\n isOpen,\n styles,\n isFixedHeight,\n isNonModal,\n overlayProps,\n transitionState,\n ...otherProps\n } = props;\n usePreventScroll();\n let { modalProps } = useModal({\n isDisabled: isNonModal,\n });\n\n let domProps = mergeProps(otherProps, overlayProps);\n\n return (\n <TrayWrapperElement\n mods={{\n open: isOpen,\n }}\n >\n <TrayElement\n qa={qa || 'Tray'}\n styles={styles}\n mods={{\n open: isOpen,\n enter: transitionState === 'enter',\n exit: transitionState === 'exit',\n unmounted: transitionState === 'unmounted',\n entered: transitionState === 'entered',\n 'fixed-height': isFixedHeight,\n }}\n {...domProps}\n {...modalProps}\n ref={ref}\n >\n {children}\n </TrayElement>\n </TrayWrapperElement>\n );\n});\n\nlet _Tray = forwardRef(Tray);\n\n_Tray.displayName = 'Tray';\n\nexport { _Tray as Tray };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Tray.js","names":["useObjectRef","BaseProps","Styles","tasty","ForwardedRef","forwardRef","ReactNode","AriaOverlayProps","useModal","useOverlay","usePreventScroll","mergeProps","mergeRefs","useOverlayEscapeGuard","OVERLAY_WRAPPER_STYLES","ModalContainmentProvider","useModalContainment","CubeOverlayProps","Overlay","TransitionState","Underlay","Props","TrayWrapperElement","qa","styles","placeContent","placeItems","TrayElement","display","hide","exit","unmounted","zIndex","height","width","pointerEvents","transition","opacity","open","CubeTrayProps","container","HTMLElement","onClose","action","isFixedHeight","isNonModal","children","isKeyboardDismissDisabled","isOpen","onOpenChange","defaultOpen","shouldCloseOnInteractOutside","element","Element","CubeTrayWrapperProps","overlayProps","Tray","props","ref","$","_c","otherProps","domRef","t0","isDismissable","rawOverlayProps","underlayProps","containment","containmentRef","t1","t2","t3","t4","t5","TrayWrapper","transitionState","isDisabled","modalProps","domProps","t6","t7","enter","entered","t8","t9","_Tray","displayName"],"sources":["../../../../src/components/overlays/Modal/Tray.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, Styles, tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, ReactNode } from 'react';\nimport {\n AriaOverlayProps,\n useModal,\n useOverlay,\n usePreventScroll,\n} from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react';\nimport { mergeRefs } from '../../../utils/react/useCombinedRefs';\nimport { useOverlayEscapeGuard } from '../../../utils/react/useOverlayEscapeGuard';\n\nimport { OVERLAY_WRAPPER_STYLES } from './Modal';\nimport {\n ModalContainmentProvider,\n useModalContainment,\n} from './modal-containment';\nimport { CubeOverlayProps, Overlay } from './Overlay';\nimport { TransitionState } from './types';\nimport { Underlay } from './Underlay';\n\nimport type { Props } from '../../../props';\n\nconst TrayWrapperElement = tasty({\n qa: 'TrayWrapper',\n styles: {\n // eslint-disable-next-line tasty/no-style-spread -- overlay wrapper base shared with ModalWrapper\n ...OVERLAY_WRAPPER_STYLES,\n placeContent: 'end center',\n placeItems: 'end center',\n },\n});\n\nconst TrayElement = tasty({\n styles: {\n display: 'initial',\n hide: {\n '': true,\n 'enter | entered': false,\n exit: false,\n unmounted: true,\n },\n zIndex: 10,\n height: 'max 90dvh',\n width: '$min-dialog-size 90vw',\n pointerEvents: 'auto',\n transition:\n 'transform .25s ease-in-out, opacity .25s linear, visibility 0ms linear',\n opacity: {\n '': 0,\n open: '.9999',\n },\n },\n});\n\nexport interface CubeTrayProps extends AriaOverlayProps, CubeOverlayProps {\n container?: HTMLElement;\n qa?: BaseProps['qa'];\n onClose?: (action?: string) => void;\n isFixedHeight?: boolean;\n isNonModal?: boolean;\n styles?: Styles;\n children?: ReactNode;\n isKeyboardDismissDisabled?: boolean;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n /**\n * Predicate that decides whether the overlay should close in response to an\n * interaction outside of it. When the function returns `false`, react-aria's\n * `useOverlay` no longer calls `stopPropagation`/`preventDefault` on the\n * outside event, which lets sibling triggers receive the click.\n */\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n}\n\ninterface CubeTrayWrapperProps extends CubeTrayProps, TransitionState {\n isOpen?: boolean;\n overlayProps?: Props;\n}\n\nfunction Tray(props: CubeTrayProps, ref: ForwardedRef<HTMLElement>) {\n let {\n qa,\n children,\n onClose,\n isFixedHeight,\n isNonModal,\n styles,\n shouldCloseOnInteractOutside,\n ...otherProps\n } = props;\n let domRef = useObjectRef(ref);\n\n let { overlayProps: rawOverlayProps, underlayProps } = useOverlay(\n { ...props, isDismissable: true, shouldCloseOnInteractOutside },\n domRef,\n );\n\n // Same as `Modal`: a tray pressed while it closes must not take `Escape`.\n const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);\n\n // Same as `Modal`: the page behind an open tray is hidden.\n const { containment, ref: containmentRef } = useModalContainment(\n !isNonModal,\n !!props.isOpen,\n );\n\n return (\n <ModalContainmentProvider value={containment}>\n <Overlay {...otherProps}>\n <Underlay {...underlayProps} />\n <TrayWrapper\n ref={mergeRefs(domRef, containmentRef)}\n qa={qa}\n overlayProps={overlayProps}\n isFixedHeight={isFixedHeight}\n isNonModal={isNonModal}\n styles={styles}\n onClose={onClose}\n >\n {children}\n </TrayWrapper>\n </Overlay>\n </ModalContainmentProvider>\n );\n}\n\nlet TrayWrapper = forwardRef(function TrayWrapper(\n props: CubeTrayWrapperProps,\n ref,\n) {\n let {\n qa,\n children,\n isOpen,\n styles,\n isFixedHeight,\n isNonModal,\n overlayProps,\n transitionState,\n ...otherProps\n } = props;\n usePreventScroll();\n let { modalProps } = useModal({\n isDisabled: isNonModal,\n });\n\n let domProps = mergeProps(otherProps, overlayProps);\n\n return (\n <TrayWrapperElement\n mods={{\n open: isOpen,\n }}\n >\n <TrayElement\n qa={qa || 'Tray'}\n data-overlay-layer=\"\"\n styles={styles}\n mods={{\n open: isOpen,\n enter: transitionState === 'enter',\n exit: transitionState === 'exit',\n unmounted: transitionState === 'unmounted',\n entered: transitionState === 'entered',\n 'fixed-height': isFixedHeight,\n }}\n {...domProps}\n {...modalProps}\n ref={ref}\n >\n {children}\n </TrayElement>\n </TrayWrapperElement>\n );\n});\n\nlet _Tray = forwardRef(Tray);\n\n_Tray.displayName = 'Tray';\n\nexport { _Tray as Tray };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { tasty } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { createContext, useContext, useLayoutEffect, useRef, useState } from "react";
4
4
  import { ariaHideOutside } from "react-aria/private/overlays/ariaHideOutside";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { useNotificationContext } from "./NotificationContext.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useEffect, useRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { Block } from "../../Block.js";
3
3
  import { ItemActionProvider } from "../../actions/ItemActionContext.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
 
4
4
  //#region src/components/overlays/Notifications/NotificationContext.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { NotificationCard } from "./NotificationCard.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
3
3
  import { useViewportSize } from "../../../utils/react/useViewportSize.js";
4
4
  import { useEvent } from "../../../_internal/hooks/use-event.js";
@@ -84,19 +84,23 @@ function useItemPositions(visibleItems) {
84
84
  $[3] = t3;
85
85
  } else t3 = $[3];
86
86
  const [settledIds, setSettledIds] = useState(t3);
87
- const rafRef = useRef(null);
88
87
  let t4;
89
88
  if ($[4] !== heights) {
90
89
  t4 = () => {
91
90
  const newHeights = {};
92
91
  let hasChanges = false;
92
+ let hasRemovals = false;
93
93
  itemRefs.current.forEach((el, id) => {
94
94
  const height = el.offsetHeight || DEFAULT_ITEM_HEIGHT;
95
95
  newHeights[id] = height;
96
96
  if (heights[id] !== height) hasChanges = true;
97
97
  });
98
- for (const id_0 of Object.keys(heights)) if (!itemRefs.current.has(id_0)) hasChanges = true;
99
- if (hasChanges) setHeights(newHeights);
98
+ for (const id_0 of Object.keys(heights)) if (!itemRefs.current.has(id_0)) hasRemovals = true;
99
+ if (hasChanges || hasRemovals) setHeights(newHeights);
100
+ if (hasRemovals) setSettledIds((prev) => {
101
+ const next = new Set([...prev].filter((id_1) => id_1 in newHeights));
102
+ return next.size === prev.size ? prev : next;
103
+ });
100
104
  };
101
105
  $[4] = heights;
102
106
  $[5] = t4;
@@ -106,30 +110,12 @@ function useItemPositions(visibleItems) {
106
110
  let t5;
107
111
  if ($[6] !== heights || $[7] !== settledIds) {
108
112
  t5 = () => {
109
- const heightKeys = Object.keys(heights);
110
- const newIds = heightKeys.filter((id_1) => !settledIds.has(id_1));
111
- const hasStaleIds = settledIds.size > 0 && [...settledIds].some((id_2) => !(id_2 in heights));
112
- if (newIds.length === 0 && !hasStaleIds) return;
113
- if (rafRef.current != null) cancelAnimationFrame(rafRef.current);
114
- if (newIds.length === 0 && hasStaleIds) {
115
- setSettledIds((prev) => new Set(heightKeys.filter((id_3) => prev.has(id_3))));
116
- return;
117
- }
118
- rafRef.current = requestAnimationFrame(() => {
119
- rafRef.current = null;
120
- setSettledIds((prev_0) => {
121
- const next = /* @__PURE__ */ new Set();
122
- for (const id_4 of heightKeys) if (prev_0.has(id_4)) next.add(id_4);
123
- for (const id_5 of newIds) next.add(id_5);
124
- return next;
125
- });
113
+ const newIds = Object.keys(heights).filter((id_2) => !settledIds.has(id_2));
114
+ if (newIds.length === 0) return;
115
+ const frame = requestAnimationFrame(() => {
116
+ setSettledIds((prev_0) => new Set([...prev_0, ...newIds]));
126
117
  });
127
- return () => {
128
- if (rafRef.current != null) {
129
- cancelAnimationFrame(rafRef.current);
130
- rafRef.current = null;
131
- }
132
- };
118
+ return () => cancelAnimationFrame(frame);
133
119
  };
134
120
  $[6] = heights;
135
121
  $[7] = settledIds;
@@ -157,9 +143,9 @@ function useItemPositions(visibleItems) {
157
143
  posMap = /* @__PURE__ */ new Map();
158
144
  let currentTop = 0;
159
145
  for (const item of visibleItems) {
160
- const id_6 = getItemId(item);
161
- posMap.set(id_6, currentTop);
162
- const height_0 = heights[id_6] ?? DEFAULT_ITEM_HEIGHT;
146
+ const id_3 = getItemId(item);
147
+ posMap.set(id_3, currentTop);
148
+ const height_0 = heights[id_3] ?? DEFAULT_ITEM_HEIGHT;
163
149
  currentTop = currentTop + (height_0 + ITEM_GAP);
164
150
  }
165
151
  $[12] = heights;
@@ -171,8 +157,8 @@ function useItemPositions(visibleItems) {
171
157
  let t9;
172
158
  if ($[15] !== positions) {
173
159
  t8 = () => {
174
- positions.forEach((pos, id_7) => {
175
- lastPositionsRef.current.set(id_7, pos);
160
+ positions.forEach((pos, id_4) => {
161
+ lastPositionsRef.current.set(id_4, pos);
176
162
  });
177
163
  };
178
164
  t9 = [positions];
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayContainer.js","names":["tasty","FocusEvent","Key","RefObject","useCallback","useEffect","useMemo","useRef","useState","useEvent","useLayoutEffect","useViewportSize","DisplayTransition","Portal","ToastItem","NotificationItem","InternalToast","DismissReason","InternalNotification","COLLAPSE_VISIBLE_HEIGHT","CONTAINER_OFFSET","ITEM_GAP","DEFAULT_ITEM_HEIGHT","OverlayContainerElement","styles","position","top","left","transform","zIndex","padding","height","pointerEvents","OverlayItemWrapper","width","transition","isMeasured","opacity","isShown","OverlayItem","kind","data","getItemId","item","internalId","isItemExiting","isExiting","getItemCreatedAt","createdAt","ItemPositionsResult","heights","Record","settledIds","Set","positions","Map","lastPositionsRef","ReturnType","itemRefs","HTMLDivElement","createRefCallback","itemId","displayRef","el","HTMLElement","useItemPositions","visibleItems","$","_c","t0","Symbol","for","setHeights","t1","t2","t3","setSettledIds","rafRef","t4","newHeights","hasChanges","current","forEach","id","offsetHeight","id_0","Object","keys","has","t5","heightKeys","newIds","filter","id_1","hasStaleIds","size","some","id_2","length","cancelAnimationFrame","prev","id_3","requestAnimationFrame","prev_0","next","id_4","add","id_5","t6","t7","el_0","set","delete","posMap","currentTop","id_6","height_0","t8","t9","pos","id_7","t10","CollapseStateResult","isCollapsed","handleMouseEnter","handleMouseMove","handleMouseLeave","handleFocus","handleBlur","e","containerRef","useCollapseState","canCollapse","allItems","onPauseChange","setIsCollapsed","boundsRef","refs","minX","Infinity","minY","maxX","maxY","rect","getBoundingClientRect","Math","min","max","right","bottom","DOMRect","x","y","toJSON","_temp","updateBounds","bounds","isInBounds","clientX","clientY","window","addEventListener","removeEventListener","handleMouseMove_0","e_0","contains","relatedTarget","Node","OverlayContainerProps","toasts","notifications","onToastExitComplete","onNotificationExitComplete","onNotificationDismiss","reason","onNotificationRestore","paused","OverlayContainer","items","map","_temp2","_temp3","sort","_temp4","_temp5","_temp6","hasNotifications","_temp7","hasActionableToasts","handleNotificationDismiss","item_0","handleExitComplete","T0","T1","t11","bb0","getItemStyle","item_1","index","total","baseTop","get","isNewest","collapsedTop","const","visibleIndexMap","_temp8","item_3","visibleIndex","t12","ref","itemProps","title","description","theme","icon","isLoading","actions","t13","item_2","index_0","t_0","t","n_0","n","a","b"],"sources":["../../../../src/components/overlays/Notifications/OverlayContainer.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport {\n FocusEvent,\n Key,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { useEvent } from '../../../_internal';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { useViewportSize } from '../../../utils/react/useViewportSize';\nimport { DisplayTransition } from '../../helpers/DisplayTransition/DisplayTransition';\nimport { Portal } from '../../portal';\nimport { ToastItem } from '../Toast/ToastItem';\n\nimport { NotificationItem } from './NotificationItem';\n\nimport type { InternalToast } from '../Toast/types';\nimport type { DismissReason, InternalNotification } from './types';\n\n// ─── Constants ───────────────────────────────────────────────────────\n\nconst COLLAPSE_VISIBLE_HEIGHT = 10;\nconst CONTAINER_OFFSET = 16;\nconst ITEM_GAP = 8;\nconst DEFAULT_ITEM_HEIGHT = 56;\n\n// ─── Styled Elements ─────────────────────────────────────────────────\n\nconst OverlayContainerElement = tasty({\n styles: {\n position: 'fixed',\n top: '2x',\n left: '50%',\n transform: 'translateX(-50%)',\n zIndex: 100,\n padding: '1x',\n height: '0',\n pointerEvents: 'none',\n },\n});\n\nconst OverlayItemWrapper = tasty({\n styles: {\n position: 'absolute',\n top: '0',\n left: '50%',\n transform: {\n '': 'translateX(-50%) translateY(-50%)',\n 'isMeasured & isShown': 'translateX(-50%) translateY(0)',\n },\n // Sized to its content: the container has no width of its own. Capped,\n // never floored, so a long toast wraps inside the viewport. The cap\n // matches NotificationCard's own width.\n width: 'initial max-content min((100vw - 4x), 50x)',\n pointerEvents: 'auto',\n transition: {\n '': 'opacity $transition ease-in, transform $transition ease-in',\n isMeasured:\n 'top $transition ease-in, opacity $transition ease-in, transform $transition ease-in',\n },\n opacity: {\n '': 0,\n isShown: 1,\n },\n },\n});\n\n// ─── Unified Item Type ───────────────────────────────────────────────\n\ntype OverlayItem =\n | { kind: 'toast'; data: InternalToast }\n | { kind: 'notification'; data: InternalNotification };\n\nfunction getItemId(item: OverlayItem): string {\n return item.data.internalId;\n}\n\nfunction isItemExiting(item: OverlayItem): boolean {\n return item.data.isExiting === true;\n}\n\nfunction getItemCreatedAt(item: OverlayItem): number {\n return item.data.createdAt;\n}\n\n// ─── useItemPositions Hook ───────────────────────────────────────────\n\ninterface ItemPositionsResult {\n heights: Record<string, number>;\n /** Set of item IDs that have been measured AND painted at their correct position. */\n settledIds: Set<string>;\n positions: Map<string, number>;\n lastPositionsRef: ReturnType<typeof useRef<Map<string, number>>>;\n itemRefs: ReturnType<typeof useRef<Map<string, HTMLDivElement>>>;\n createRefCallback: (\n itemId: string,\n displayRef: (el: HTMLElement | null) => void,\n ) => (el: HTMLDivElement | null) => void;\n}\n\n/**\n * Manages height measurement, position calculation, and ref tracking\n * for overlay items. Extracted from OverlayContainer for readability.\n */\nfunction useItemPositions(visibleItems: OverlayItem[]): ItemPositionsResult {\n const [heights, setHeights] = useState<Record<string, number>>({});\n const itemRefs = useRef<Map<string, HTMLDivElement>>(new Map());\n const lastPositionsRef = useRef<Map<string, number>>(new Map());\n\n // Items that have been measured AND painted at their correct position.\n // Lags one frame behind `heights` so the browser paints the item at\n // its final `top` before the CSS `top` transition is enabled.\n const [settledIds, setSettledIds] = useState<Set<string>>(new Set());\n const rafRef = useRef<number | null>(null);\n\n // Measure heights using layout effect to avoid visible layout shifts.\n // Runs every render but bails early if nothing changed.\n useLayoutEffect(() => {\n const newHeights: Record<string, number> = {};\n let hasChanges = false;\n\n itemRefs.current.forEach((el, id) => {\n const height = el.offsetHeight || DEFAULT_ITEM_HEIGHT;\n newHeights[id] = height;\n\n if (heights[id] !== height) {\n hasChanges = true;\n }\n });\n\n for (const id of Object.keys(heights)) {\n if (!itemRefs.current.has(id)) {\n hasChanges = true;\n }\n }\n\n if (hasChanges) {\n setHeights(newHeights);\n }\n });\n\n // A wrapped toast changes height with the viewport, not only on a render.\n // Re-rendering on a viewport resize lets the measurement above restack the\n // items. A height change from content that re-renders on its own, outside\n // this container, still waits for the container's next render.\n useViewportSize();\n\n // After heights change, schedule settledIds update for the next frame.\n // This ensures the item is painted at its correct position (with no top\n // transition) before we enable the transition.\n useEffect(() => {\n const heightKeys = Object.keys(heights);\n const newIds = heightKeys.filter((id) => !settledIds.has(id));\n const hasStaleIds =\n settledIds.size > 0 && [...settledIds].some((id) => !(id in heights));\n\n if (newIds.length === 0 && !hasStaleIds) return;\n\n if (rafRef.current != null) {\n cancelAnimationFrame(rafRef.current);\n }\n\n // For pruning-only updates (no new items), apply synchronously since\n // there's no need to wait for a paint frame.\n if (newIds.length === 0 && hasStaleIds) {\n setSettledIds((prev) => new Set(heightKeys.filter((id) => prev.has(id))));\n return;\n }\n\n rafRef.current = requestAnimationFrame(() => {\n rafRef.current = null;\n setSettledIds((prev) => {\n const next = new Set<string>();\n\n // Only keep IDs that still exist in heights (prune removed items)\n for (const id of heightKeys) {\n if (prev.has(id)) {\n next.add(id);\n }\n }\n\n for (const id of newIds) {\n next.add(id);\n }\n\n return next;\n });\n });\n\n return () => {\n if (rafRef.current != null) {\n cancelAnimationFrame(rafRef.current);\n rafRef.current = null;\n }\n };\n }, [heights]);\n\n const createRefCallback =\n (itemId: string, displayRef: (el: HTMLElement | null) => void) =>\n (el: HTMLDivElement | null) => {\n displayRef(el);\n\n if (el) {\n itemRefs.current.set(itemId, el);\n } else {\n itemRefs.current.delete(itemId);\n }\n };\n\n const positions = useMemo(() => {\n const posMap = new Map<string, number>();\n let currentTop = 0;\n\n for (const item of visibleItems) {\n const id = getItemId(item);\n posMap.set(id, currentTop);\n const height = heights[id] ?? DEFAULT_ITEM_HEIGHT;\n currentTop += height + ITEM_GAP;\n }\n\n return posMap;\n }, [visibleItems, heights]);\n\n useEffect(() => {\n positions.forEach((pos, id) => {\n lastPositionsRef.current.set(id, pos);\n });\n }, [positions]);\n\n return {\n heights,\n settledIds,\n positions,\n lastPositionsRef,\n itemRefs,\n createRefCallback,\n };\n}\n\n// ─── useCollapseState Hook ───────────────────────────────────────────\n\ninterface CollapseStateResult {\n isCollapsed: boolean;\n handleMouseEnter: () => void;\n handleMouseMove: () => void;\n handleMouseLeave: () => void;\n handleFocus: () => void;\n handleBlur: (e: FocusEvent) => void;\n containerRef: RefObject<HTMLDivElement | null>;\n}\n\n/**\n * Manages collapse/expand behavior and pause state for the overlay container.\n * Extracted from OverlayContainer for readability.\n */\nfunction useCollapseState(\n canCollapse: boolean,\n allItems: OverlayItem[],\n itemRefs: ReturnType<typeof useRef<Map<string, HTMLDivElement>>>,\n onPauseChange: (paused: boolean) => void,\n): CollapseStateResult {\n const [isCollapsed, setIsCollapsed] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n const boundsRef = useRef<DOMRect | null>(null);\n\n const updateBounds = () => {\n const refs = itemRefs.current;\n\n if (!refs || refs.size === 0) {\n boundsRef.current = null;\n return;\n }\n\n let minX = Infinity,\n minY = Infinity,\n maxX = -Infinity,\n maxY = -Infinity;\n\n refs.forEach((el) => {\n const rect = el.getBoundingClientRect();\n minX = Math.min(minX, rect.left);\n minY = Math.min(minY, rect.top);\n maxX = Math.max(maxX, rect.right);\n maxY = Math.max(maxY, rect.bottom);\n });\n\n if (typeof DOMRect !== 'undefined') {\n boundsRef.current = new DOMRect(minX, minY, maxX - minX, maxY - minY);\n } else {\n boundsRef.current = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n top: minY,\n right: maxX,\n bottom: maxY,\n left: minX,\n toJSON: () => ({}),\n } as DOMRect;\n }\n };\n\n // Track mouse for collapse — expand when mouse leaves bounds\n useEffect(() => {\n if (!isCollapsed) return;\n\n const handleMouseMove = (e: MouseEvent) => {\n const bounds = boundsRef.current;\n\n if (!bounds) {\n setIsCollapsed(false);\n onPauseChange(false);\n return;\n }\n\n const padding = 20;\n const isInBounds =\n e.clientX >= bounds.left - padding &&\n e.clientX <= bounds.right + padding &&\n e.clientY >= bounds.top - padding &&\n e.clientY <= bounds.bottom + padding;\n\n if (!isInBounds) {\n setIsCollapsed(false);\n onPauseChange(false);\n }\n };\n\n window.addEventListener('mousemove', handleMouseMove);\n return () => window.removeEventListener('mousemove', handleMouseMove);\n }, [isCollapsed, onPauseChange]);\n\n // An empty container must not carry hover state into the next toast stack.\n useEffect(() => {\n updateBounds();\n\n if (allItems.length === 0) {\n setIsCollapsed(false);\n onPauseChange(false);\n }\n }, [allItems, updateBounds, onPauseChange]);\n\n const handleMouseEnter = () => {\n onPauseChange(true);\n };\n\n // Layout and enter animations can put an item under a stationary pointer\n // and fire mouseenter. Collapse only after the user moves over the stack.\n const handleMouseMove = () => {\n if (canCollapse && !isCollapsed) {\n updateBounds();\n setIsCollapsed(true);\n }\n };\n\n const handleMouseLeave = () => {\n if (!isCollapsed) {\n onPauseChange(false);\n }\n };\n\n const handleFocus = () => {\n onPauseChange(true);\n };\n\n const handleBlur = (e: FocusEvent) => {\n if (\n containerRef.current &&\n !containerRef.current.contains(e.relatedTarget as Node)\n ) {\n onPauseChange(false);\n }\n };\n\n return {\n isCollapsed,\n handleMouseEnter,\n handleMouseMove,\n handleMouseLeave,\n handleFocus,\n handleBlur,\n containerRef,\n };\n}\n\n// ─── Overlay Container ───────────────────────────────────────────────\n//\n// INTENTIONAL: Position calculations are done manually (absolute positioning + JS\n// height tracking) rather than relying on CSS flexbox/grid layout. This is\n// deliberate — the container mixes enter/exit animations, collapse behavior, and\n// heterogeneous item sizes (toasts vs notifications) which require per-item\n// position control. CSS-only solutions (e.g., flex column with gap) break when\n// items exit asynchronously or when collapse transforms need to be computed per-item.\n\nexport interface OverlayContainerProps {\n toasts: InternalToast[];\n notifications: InternalNotification[];\n onToastExitComplete: (internalId: string) => void;\n onNotificationExitComplete: (internalId: string) => void;\n onNotificationDismiss: (id: Key, reason: DismissReason) => void;\n onNotificationRestore: (id: Key) => void;\n onPauseChange: (paused: boolean) => void;\n}\n\nexport function OverlayContainer({\n toasts,\n notifications,\n onToastExitComplete,\n onNotificationExitComplete,\n onNotificationDismiss,\n onNotificationRestore,\n onPauseChange,\n}: OverlayContainerProps) {\n // Merge toasts and notifications into a single ordered list\n const allItems: OverlayItem[] = useMemo(() => {\n const items: OverlayItem[] = [\n ...toasts.map((t): OverlayItem => ({ kind: 'toast', data: t })),\n ...notifications.map(\n (n): OverlayItem => ({ kind: 'notification', data: n }),\n ),\n ];\n\n // Sort by createdAt ascending (oldest first = bottom of stack, newest last = top)\n items.sort((a, b) => getItemCreatedAt(a) - getItemCreatedAt(b));\n\n return items;\n }, [toasts, notifications]);\n\n const visibleItems = useMemo(\n () => allItems.filter((item) => !isItemExiting(item)),\n [allItems],\n );\n const hasNotifications = notifications.some((n) => !n.isExiting);\n const hasActionableToasts = toasts.some((t) => !t.isExiting && t.actions);\n const canCollapse = !hasNotifications && !hasActionableToasts;\n\n const {\n heights,\n settledIds,\n positions,\n lastPositionsRef,\n itemRefs,\n createRefCallback,\n } = useItemPositions(visibleItems);\n\n const {\n isCollapsed,\n handleMouseEnter,\n handleMouseMove,\n handleMouseLeave,\n handleFocus,\n handleBlur,\n containerRef,\n } = useCollapseState(canCollapse, allItems, itemRefs, onPauseChange);\n\n // ─── Callbacks ─────────────────────────────────────────────────────\n\n // When the user dismisses a notification they were hovering, the element\n // is removed from the DOM so mouseLeave never fires. Explicitly unpause\n // so remaining notifications' timers resume.\n const handleNotificationDismiss = useEvent(\n (id: Key, reason: DismissReason) => {\n onNotificationDismiss(id, reason);\n onPauseChange(false);\n },\n );\n\n const handleExitComplete = useEvent((item: OverlayItem) => {\n const id = getItemId(item);\n lastPositionsRef.current?.delete(id);\n\n if (item.kind === 'toast') {\n onToastExitComplete(item.data.internalId);\n } else {\n onNotificationExitComplete(item.data.internalId);\n }\n });\n\n // useCallback (not useEvent) because this is called during render.\n // useEvent defers the ref update to useLayoutEffect, so during render\n // it would still read the previous closure's positions/heights.\n const getItemStyle = (item: OverlayItem, index: number, total: number) => {\n const id = getItemId(item);\n const baseTop = positions.get(id) ?? lastPositionsRef.current?.get(id) ?? 0;\n const height = heights[id] ?? DEFAULT_ITEM_HEIGHT;\n\n if (!isCollapsed || !canCollapse) {\n return { top: `${baseTop}px` };\n }\n\n const isNewest = index === total - 1;\n const collapsedTop = COLLAPSE_VISIBLE_HEIGHT - CONTAINER_OFFSET - height;\n\n return {\n top: `${collapsedTop}px`,\n zIndex: index,\n opacity: isNewest ? 1 : 0,\n pointerEvents: 'none' as const,\n };\n };\n\n // Build a visibleIndex lookup map to avoid O(n²) findIndex inside render loop\n const visibleIndexMap = new Map<string, number>(\n visibleItems.map((item, index) => [getItemId(item), index]),\n );\n\n if (allItems.length === 0) return null;\n\n return (\n <Portal>\n <OverlayContainerElement\n ref={containerRef}\n // Portaled outside any open Dialog, so React Aria would count a press\n // on a toast as a press outside it: the Dialog closed and the action\n // never ran. A top layer is never \"outside\", stays reachable by focus\n // from a Dialog's contained scope and visible to screen readers, as\n // React Aria's own toast region does.\n data-react-aria-top-layer=\"\"\n onFocus={handleFocus}\n onBlur={handleBlur}\n >\n {allItems.map((item) => {\n const itemId = getItemId(item);\n const visibleIndex = visibleIndexMap.get(itemId) ?? 0;\n const isExiting = isItemExiting(item);\n\n return (\n <DisplayTransition\n key={itemId}\n isShown={!isExiting}\n onRest={(transition) => {\n if (transition === 'exit') {\n handleExitComplete(item);\n }\n }}\n >\n {({ isShown, ref }) => (\n <OverlayItemWrapper\n ref={createRefCallback(itemId, ref)}\n mods={{ isShown, isMeasured: settledIds.has(itemId) }}\n style={getItemStyle(item, visibleIndex, visibleItems.length)}\n onMouseEnter={handleMouseEnter}\n onMouseMove={handleMouseMove}\n onMouseLeave={handleMouseLeave}\n >\n {item.kind === 'toast' ? (\n <ToastItem\n {...item.data.itemProps}\n title={item.data.title}\n description={item.data.description}\n theme={item.data.theme}\n icon={item.data.icon}\n isLoading={item.data.isLoading}\n actions={item.data.actions}\n />\n ) : (\n <NotificationItem\n notification={item.data}\n onDismiss={handleNotificationDismiss}\n onRestore={onNotificationRestore}\n />\n )}\n </OverlayItemWrapper>\n )}\n </DisplayTransition>\n );\n })}\n </OverlayContainerElement>\n </Portal>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"OverlayContainer.js","names":["tasty","FocusEvent","Key","RefObject","useCallback","useEffect","useMemo","useRef","useState","useEvent","useLayoutEffect","useViewportSize","DisplayTransition","Portal","ToastItem","NotificationItem","InternalToast","DismissReason","InternalNotification","COLLAPSE_VISIBLE_HEIGHT","CONTAINER_OFFSET","ITEM_GAP","DEFAULT_ITEM_HEIGHT","OverlayContainerElement","styles","position","top","left","transform","zIndex","padding","height","pointerEvents","OverlayItemWrapper","width","transition","isMeasured","opacity","isShown","OverlayItem","kind","data","getItemId","item","internalId","isItemExiting","isExiting","getItemCreatedAt","createdAt","ItemPositionsResult","heights","Record","settledIds","Set","positions","Map","lastPositionsRef","ReturnType","itemRefs","HTMLDivElement","createRefCallback","itemId","displayRef","el","HTMLElement","useItemPositions","visibleItems","$","_c","t0","Symbol","for","setHeights","t1","t2","t3","setSettledIds","t4","newHeights","hasChanges","hasRemovals","current","forEach","id","offsetHeight","id_0","Object","keys","has","prev","next","filter","id_1","size","t5","heightKeys","newIds","id_2","length","frame","requestAnimationFrame","prev_0","cancelAnimationFrame","t6","t7","el_0","set","delete","posMap","currentTop","id_3","height_0","t8","t9","pos","id_4","t10","CollapseStateResult","isCollapsed","handleMouseEnter","handleMouseMove","handleMouseLeave","handleFocus","handleBlur","e","containerRef","useCollapseState","canCollapse","allItems","onPauseChange","setIsCollapsed","boundsRef","refs","minX","Infinity","minY","maxX","maxY","rect","getBoundingClientRect","Math","min","max","right","bottom","DOMRect","x","y","toJSON","_temp","updateBounds","bounds","isInBounds","clientX","clientY","window","addEventListener","removeEventListener","handleMouseMove_0","e_0","contains","relatedTarget","Node","OverlayContainerProps","toasts","notifications","onToastExitComplete","onNotificationExitComplete","onNotificationDismiss","reason","onNotificationRestore","paused","OverlayContainer","items","map","_temp2","_temp3","sort","_temp4","_temp5","some","_temp6","hasNotifications","_temp7","hasActionableToasts","handleNotificationDismiss","item_0","handleExitComplete","T0","T1","t11","bb0","getItemStyle","item_1","index","total","baseTop","get","isNewest","collapsedTop","const","visibleIndexMap","_temp8","item_3","visibleIndex","t12","ref","itemProps","title","description","theme","icon","isLoading","actions","t13","item_2","index_0","t_0","t","n_0","n","a","b"],"sources":["../../../../src/components/overlays/Notifications/OverlayContainer.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport {\n FocusEvent,\n Key,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { useEvent } from '../../../_internal';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { useViewportSize } from '../../../utils/react/useViewportSize';\nimport { DisplayTransition } from '../../helpers/DisplayTransition/DisplayTransition';\nimport { Portal } from '../../portal';\nimport { ToastItem } from '../Toast/ToastItem';\n\nimport { NotificationItem } from './NotificationItem';\n\nimport type { InternalToast } from '../Toast/types';\nimport type { DismissReason, InternalNotification } from './types';\n\n// ─── Constants ───────────────────────────────────────────────────────\n\nconst COLLAPSE_VISIBLE_HEIGHT = 10;\nconst CONTAINER_OFFSET = 16;\nconst ITEM_GAP = 8;\nconst DEFAULT_ITEM_HEIGHT = 56;\n\n// ─── Styled Elements ─────────────────────────────────────────────────\n\nconst OverlayContainerElement = tasty({\n styles: {\n position: 'fixed',\n top: '2x',\n left: '50%',\n transform: 'translateX(-50%)',\n zIndex: 100,\n padding: '1x',\n height: '0',\n pointerEvents: 'none',\n },\n});\n\nconst OverlayItemWrapper = tasty({\n styles: {\n position: 'absolute',\n top: '0',\n left: '50%',\n transform: {\n '': 'translateX(-50%) translateY(-50%)',\n 'isMeasured & isShown': 'translateX(-50%) translateY(0)',\n },\n // Sized to its content: the container has no width of its own. Capped,\n // never floored, so a long toast wraps inside the viewport. The cap\n // matches NotificationCard's own width.\n width: 'initial max-content min((100vw - 4x), 50x)',\n pointerEvents: 'auto',\n transition: {\n '': 'opacity $transition ease-in, transform $transition ease-in',\n isMeasured:\n 'top $transition ease-in, opacity $transition ease-in, transform $transition ease-in',\n },\n opacity: {\n '': 0,\n isShown: 1,\n },\n },\n});\n\n// ─── Unified Item Type ───────────────────────────────────────────────\n\ntype OverlayItem =\n | { kind: 'toast'; data: InternalToast }\n | { kind: 'notification'; data: InternalNotification };\n\nfunction getItemId(item: OverlayItem): string {\n return item.data.internalId;\n}\n\nfunction isItemExiting(item: OverlayItem): boolean {\n return item.data.isExiting === true;\n}\n\nfunction getItemCreatedAt(item: OverlayItem): number {\n return item.data.createdAt;\n}\n\n// ─── useItemPositions Hook ───────────────────────────────────────────\n\ninterface ItemPositionsResult {\n heights: Record<string, number>;\n /** Set of item IDs that have been measured AND painted at their correct position. */\n settledIds: Set<string>;\n positions: Map<string, number>;\n lastPositionsRef: ReturnType<typeof useRef<Map<string, number>>>;\n itemRefs: ReturnType<typeof useRef<Map<string, HTMLDivElement>>>;\n createRefCallback: (\n itemId: string,\n displayRef: (el: HTMLElement | null) => void,\n ) => (el: HTMLDivElement | null) => void;\n}\n\n/**\n * Manages height measurement, position calculation, and ref tracking\n * for overlay items. Extracted from OverlayContainer for readability.\n */\nfunction useItemPositions(visibleItems: OverlayItem[]): ItemPositionsResult {\n const [heights, setHeights] = useState<Record<string, number>>({});\n const itemRefs = useRef<Map<string, HTMLDivElement>>(new Map());\n const lastPositionsRef = useRef<Map<string, number>>(new Map());\n\n // Items that have been measured AND painted at their correct position.\n // Lags one frame behind `heights` so the browser paints the item at\n // its final `top` before the CSS `top` transition is enabled.\n const [settledIds, setSettledIds] = useState<Set<string>>(new Set());\n\n // Measure heights using layout effect to avoid visible layout shifts.\n // Runs every render but bails early if nothing changed.\n useLayoutEffect(() => {\n const newHeights: Record<string, number> = {};\n let hasChanges = false;\n let hasRemovals = false;\n\n itemRefs.current.forEach((el, id) => {\n const height = el.offsetHeight || DEFAULT_ITEM_HEIGHT;\n newHeights[id] = height;\n\n if (heights[id] !== height) {\n hasChanges = true;\n }\n });\n\n for (const id of Object.keys(heights)) {\n if (!itemRefs.current.has(id)) {\n hasRemovals = true;\n }\n }\n\n if (hasChanges || hasRemovals) {\n setHeights(newHeights);\n }\n\n // Drop a removed item's settled id with its height, so a restored\n // notification settles again under its old id. Pruning later, from the\n // `heights` effect, left an update pending after each removal's sync\n // commit, which React 19 counts as nested (\"Maximum update depth\").\n if (hasRemovals) {\n setSettledIds((prev) => {\n const next = new Set([...prev].filter((id) => id in newHeights));\n\n return next.size === prev.size ? prev : next;\n });\n }\n });\n\n // A wrapped toast changes height with the viewport, not only on a render.\n // Re-rendering on a viewport resize lets the measurement above restack the\n // items. A height change from content that re-renders on its own, outside\n // this container, still waits for the container's next render.\n useViewportSize();\n\n // After heights change, schedule settledIds update for the next frame.\n // This ensures the item is painted at its correct position (with no top\n // transition) before we enable the transition.\n useEffect(() => {\n const heightKeys = Object.keys(heights);\n const newIds = heightKeys.filter((id) => !settledIds.has(id));\n\n if (newIds.length === 0) return;\n\n // A removal changes `heights`, which cancels this frame, so the ids to\n // add are still current when it runs.\n const frame = requestAnimationFrame(() => {\n setSettledIds((prev) => new Set([...prev, ...newIds]));\n });\n\n return () => cancelAnimationFrame(frame);\n }, [heights]);\n\n const createRefCallback =\n (itemId: string, displayRef: (el: HTMLElement | null) => void) =>\n (el: HTMLDivElement | null) => {\n displayRef(el);\n\n if (el) {\n itemRefs.current.set(itemId, el);\n } else {\n itemRefs.current.delete(itemId);\n }\n };\n\n const positions = useMemo(() => {\n const posMap = new Map<string, number>();\n let currentTop = 0;\n\n for (const item of visibleItems) {\n const id = getItemId(item);\n posMap.set(id, currentTop);\n const height = heights[id] ?? DEFAULT_ITEM_HEIGHT;\n currentTop += height + ITEM_GAP;\n }\n\n return posMap;\n }, [visibleItems, heights]);\n\n useEffect(() => {\n positions.forEach((pos, id) => {\n lastPositionsRef.current.set(id, pos);\n });\n }, [positions]);\n\n return {\n heights,\n settledIds,\n positions,\n lastPositionsRef,\n itemRefs,\n createRefCallback,\n };\n}\n\n// ─── useCollapseState Hook ───────────────────────────────────────────\n\ninterface CollapseStateResult {\n isCollapsed: boolean;\n handleMouseEnter: () => void;\n handleMouseMove: () => void;\n handleMouseLeave: () => void;\n handleFocus: () => void;\n handleBlur: (e: FocusEvent) => void;\n containerRef: RefObject<HTMLDivElement | null>;\n}\n\n/**\n * Manages collapse/expand behavior and pause state for the overlay container.\n * Extracted from OverlayContainer for readability.\n */\nfunction useCollapseState(\n canCollapse: boolean,\n allItems: OverlayItem[],\n itemRefs: ReturnType<typeof useRef<Map<string, HTMLDivElement>>>,\n onPauseChange: (paused: boolean) => void,\n): CollapseStateResult {\n const [isCollapsed, setIsCollapsed] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n const boundsRef = useRef<DOMRect | null>(null);\n\n const updateBounds = () => {\n const refs = itemRefs.current;\n\n if (!refs || refs.size === 0) {\n boundsRef.current = null;\n return;\n }\n\n let minX = Infinity,\n minY = Infinity,\n maxX = -Infinity,\n maxY = -Infinity;\n\n refs.forEach((el) => {\n const rect = el.getBoundingClientRect();\n minX = Math.min(minX, rect.left);\n minY = Math.min(minY, rect.top);\n maxX = Math.max(maxX, rect.right);\n maxY = Math.max(maxY, rect.bottom);\n });\n\n if (typeof DOMRect !== 'undefined') {\n boundsRef.current = new DOMRect(minX, minY, maxX - minX, maxY - minY);\n } else {\n boundsRef.current = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n top: minY,\n right: maxX,\n bottom: maxY,\n left: minX,\n toJSON: () => ({}),\n } as DOMRect;\n }\n };\n\n // Track mouse for collapse — expand when mouse leaves bounds\n useEffect(() => {\n if (!isCollapsed) return;\n\n const handleMouseMove = (e: MouseEvent) => {\n const bounds = boundsRef.current;\n\n if (!bounds) {\n setIsCollapsed(false);\n onPauseChange(false);\n return;\n }\n\n const padding = 20;\n const isInBounds =\n e.clientX >= bounds.left - padding &&\n e.clientX <= bounds.right + padding &&\n e.clientY >= bounds.top - padding &&\n e.clientY <= bounds.bottom + padding;\n\n if (!isInBounds) {\n setIsCollapsed(false);\n onPauseChange(false);\n }\n };\n\n window.addEventListener('mousemove', handleMouseMove);\n return () => window.removeEventListener('mousemove', handleMouseMove);\n }, [isCollapsed, onPauseChange]);\n\n // An empty container must not carry hover state into the next toast stack.\n useEffect(() => {\n updateBounds();\n\n if (allItems.length === 0) {\n setIsCollapsed(false);\n onPauseChange(false);\n }\n }, [allItems, updateBounds, onPauseChange]);\n\n const handleMouseEnter = () => {\n onPauseChange(true);\n };\n\n // Layout and enter animations can put an item under a stationary pointer\n // and fire mouseenter. Collapse only after the user moves over the stack.\n const handleMouseMove = () => {\n if (canCollapse && !isCollapsed) {\n updateBounds();\n setIsCollapsed(true);\n }\n };\n\n const handleMouseLeave = () => {\n if (!isCollapsed) {\n onPauseChange(false);\n }\n };\n\n const handleFocus = () => {\n onPauseChange(true);\n };\n\n const handleBlur = (e: FocusEvent) => {\n if (\n containerRef.current &&\n !containerRef.current.contains(e.relatedTarget as Node)\n ) {\n onPauseChange(false);\n }\n };\n\n return {\n isCollapsed,\n handleMouseEnter,\n handleMouseMove,\n handleMouseLeave,\n handleFocus,\n handleBlur,\n containerRef,\n };\n}\n\n// ─── Overlay Container ───────────────────────────────────────────────\n//\n// INTENTIONAL: Position calculations are done manually (absolute positioning + JS\n// height tracking) rather than relying on CSS flexbox/grid layout. This is\n// deliberate — the container mixes enter/exit animations, collapse behavior, and\n// heterogeneous item sizes (toasts vs notifications) which require per-item\n// position control. CSS-only solutions (e.g., flex column with gap) break when\n// items exit asynchronously or when collapse transforms need to be computed per-item.\n\nexport interface OverlayContainerProps {\n toasts: InternalToast[];\n notifications: InternalNotification[];\n onToastExitComplete: (internalId: string) => void;\n onNotificationExitComplete: (internalId: string) => void;\n onNotificationDismiss: (id: Key, reason: DismissReason) => void;\n onNotificationRestore: (id: Key) => void;\n onPauseChange: (paused: boolean) => void;\n}\n\nexport function OverlayContainer({\n toasts,\n notifications,\n onToastExitComplete,\n onNotificationExitComplete,\n onNotificationDismiss,\n onNotificationRestore,\n onPauseChange,\n}: OverlayContainerProps) {\n // Merge toasts and notifications into a single ordered list\n const allItems: OverlayItem[] = useMemo(() => {\n const items: OverlayItem[] = [\n ...toasts.map((t): OverlayItem => ({ kind: 'toast', data: t })),\n ...notifications.map(\n (n): OverlayItem => ({ kind: 'notification', data: n }),\n ),\n ];\n\n // Sort by createdAt ascending (oldest first = bottom of stack, newest last = top)\n items.sort((a, b) => getItemCreatedAt(a) - getItemCreatedAt(b));\n\n return items;\n }, [toasts, notifications]);\n\n const visibleItems = useMemo(\n () => allItems.filter((item) => !isItemExiting(item)),\n [allItems],\n );\n const hasNotifications = notifications.some((n) => !n.isExiting);\n const hasActionableToasts = toasts.some((t) => !t.isExiting && t.actions);\n const canCollapse = !hasNotifications && !hasActionableToasts;\n\n const {\n heights,\n settledIds,\n positions,\n lastPositionsRef,\n itemRefs,\n createRefCallback,\n } = useItemPositions(visibleItems);\n\n const {\n isCollapsed,\n handleMouseEnter,\n handleMouseMove,\n handleMouseLeave,\n handleFocus,\n handleBlur,\n containerRef,\n } = useCollapseState(canCollapse, allItems, itemRefs, onPauseChange);\n\n // ─── Callbacks ─────────────────────────────────────────────────────\n\n // When the user dismisses a notification they were hovering, the element\n // is removed from the DOM so mouseLeave never fires. Explicitly unpause\n // so remaining notifications' timers resume.\n const handleNotificationDismiss = useEvent(\n (id: Key, reason: DismissReason) => {\n onNotificationDismiss(id, reason);\n onPauseChange(false);\n },\n );\n\n const handleExitComplete = useEvent((item: OverlayItem) => {\n const id = getItemId(item);\n lastPositionsRef.current?.delete(id);\n\n if (item.kind === 'toast') {\n onToastExitComplete(item.data.internalId);\n } else {\n onNotificationExitComplete(item.data.internalId);\n }\n });\n\n // useCallback (not useEvent) because this is called during render.\n // useEvent defers the ref update to useLayoutEffect, so during render\n // it would still read the previous closure's positions/heights.\n const getItemStyle = (item: OverlayItem, index: number, total: number) => {\n const id = getItemId(item);\n const baseTop = positions.get(id) ?? lastPositionsRef.current?.get(id) ?? 0;\n const height = heights[id] ?? DEFAULT_ITEM_HEIGHT;\n\n if (!isCollapsed || !canCollapse) {\n return { top: `${baseTop}px` };\n }\n\n const isNewest = index === total - 1;\n const collapsedTop = COLLAPSE_VISIBLE_HEIGHT - CONTAINER_OFFSET - height;\n\n return {\n top: `${collapsedTop}px`,\n zIndex: index,\n opacity: isNewest ? 1 : 0,\n pointerEvents: 'none' as const,\n };\n };\n\n // Build a visibleIndex lookup map to avoid O(n²) findIndex inside render loop\n const visibleIndexMap = new Map<string, number>(\n visibleItems.map((item, index) => [getItemId(item), index]),\n );\n\n if (allItems.length === 0) return null;\n\n return (\n <Portal>\n <OverlayContainerElement\n ref={containerRef}\n // Portaled outside any open Dialog, so React Aria would count a press\n // on a toast as a press outside it: the Dialog closed and the action\n // never ran. A top layer is never \"outside\", stays reachable by focus\n // from a Dialog's contained scope and visible to screen readers, as\n // React Aria's own toast region does.\n data-react-aria-top-layer=\"\"\n onFocus={handleFocus}\n onBlur={handleBlur}\n >\n {allItems.map((item) => {\n const itemId = getItemId(item);\n const visibleIndex = visibleIndexMap.get(itemId) ?? 0;\n const isExiting = isItemExiting(item);\n\n return (\n <DisplayTransition\n key={itemId}\n isShown={!isExiting}\n onRest={(transition) => {\n if (transition === 'exit') {\n handleExitComplete(item);\n }\n }}\n >\n {({ isShown, ref }) => (\n <OverlayItemWrapper\n ref={createRefCallback(itemId, ref)}\n mods={{ isShown, isMeasured: settledIds.has(itemId) }}\n style={getItemStyle(item, visibleIndex, visibleItems.length)}\n onMouseEnter={handleMouseEnter}\n onMouseMove={handleMouseMove}\n onMouseLeave={handleMouseLeave}\n >\n {item.kind === 'toast' ? (\n <ToastItem\n {...item.data.itemProps}\n title={item.data.title}\n description={item.data.description}\n theme={item.data.theme}\n icon={item.data.icon}\n isLoading={item.data.isLoading}\n actions={item.data.actions}\n />\n ) : (\n <NotificationItem\n notification={item.data}\n onDismiss={handleNotificationDismiss}\n onRestore={onNotificationRestore}\n />\n )}\n </OverlayItemWrapper>\n )}\n </DisplayTransition>\n );\n })}\n </OverlayContainerElement>\n </Portal>\n );\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { NotificationContext, PersistentNotificationsContext, ToastContext, useNotificationContext, useToastContext } from "./NotificationContext.js";
3
3
  import { OverlayContainer } from "./OverlayContainer.js";
4
4
  import { useNotificationState } from "./use-notification-state.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { _Text } from "../../content/Text.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  //#region src/components/overlays/Notifications/dismissed-storage.ts
3
3
  const STORAGE_KEY = "cube-ui-dismissed-notifications";
4
4
  const TTL_MS = 864e5;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  //#region src/components/overlays/Notifications/format-relative-time.ts
3
3
  /**
4
4
  * Lightweight relative time formatter.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { useToastContext } from "./NotificationContext.js";
3
3
  import { NotificationAction } from "./NotificationAction.js";
4
4
  import { NotificationCard } from "./NotificationCard.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useRef, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useWarn } from "../../../_internal/hooks/use-warn.js";
4
4
  import { useNotificationContext } from "./NotificationContext.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useEffect, useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { usePersistentNotificationsContext } from "./NotificationContext.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-77836fa | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { cleanupAndGetValidIds, saveDismissedId } from "./dismissed-storage.js";
4
4
  import { c } from "react/compiler-runtime";