@cube-dev/ui-kit 0.141.0 → 0.142.1

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 (452) hide show
  1. package/dist/CHANGELOG.md +103 -0
  2. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  3. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/dist/_internal/hooks/use-event.js +1 -1
  6. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  7. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  8. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  9. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  10. package/dist/_internal/hooks/use-warn.js +1 -1
  11. package/dist/components/Block.js +1 -1
  12. package/dist/components/CollectionItem.js +1 -1
  13. package/dist/components/GlobalStyles.js +1 -1
  14. package/dist/components/GridProvider.js +1 -1
  15. package/dist/components/HiddenInput.js +1 -1
  16. package/dist/components/Root.js +1 -1
  17. package/dist/components/actions/Action/Action.js +1 -1
  18. package/dist/components/actions/Banner/Banner.js +1 -1
  19. package/dist/components/actions/Button/Button.js +17 -3
  20. package/dist/components/actions/Button/Button.js.map +1 -1
  21. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  22. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  23. package/dist/components/actions/ButtonSplit/context.js +1 -1
  24. package/dist/components/actions/CommandMenu/CommandMenu.js +3 -4
  25. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  26. package/dist/components/actions/CommandMenu/styled.js +1 -1
  27. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  28. package/dist/components/actions/ItemActionContext.js +1 -1
  29. package/dist/components/actions/ItemButton/ItemButton.js +18 -2
  30. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  31. package/dist/components/actions/Link/Link.js +1 -1
  32. package/dist/components/actions/Menu/Menu.js +3 -4
  33. package/dist/components/actions/Menu/Menu.js.map +1 -1
  34. package/dist/components/actions/Menu/MenuItem.js +1 -1
  35. package/dist/components/actions/Menu/MenuSection.js +1 -1
  36. package/dist/components/actions/Menu/MenuTrigger.js +8 -5
  37. package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
  38. package/dist/components/actions/Menu/SubMenuTrigger.js +10 -7
  39. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  40. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  41. package/dist/components/actions/Menu/context.js +1 -1
  42. package/dist/components/actions/Menu/styled.js +1 -1
  43. package/dist/components/actions/index.js +1 -1
  44. package/dist/components/actions/use-action.js +1 -1
  45. package/dist/components/actions/use-anchored-menu.js +4 -3
  46. package/dist/components/actions/use-anchored-menu.js.map +1 -1
  47. package/dist/components/actions/use-context-menu.js +4 -3
  48. package/dist/components/actions/use-context-menu.js.map +1 -1
  49. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  50. package/dist/components/content/Alert/Alert.js +1 -1
  51. package/dist/components/content/Alert/use-alert.js +1 -1
  52. package/dist/components/content/Avatar/Avatar.js +1 -1
  53. package/dist/components/content/Badge/Badge.js +1 -1
  54. package/dist/components/content/Card/Card.js +1 -1
  55. package/dist/components/content/Content.js +1 -1
  56. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  57. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  58. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  59. package/dist/components/content/Divider.js +1 -1
  60. package/dist/components/content/Footer.js +1 -1
  61. package/dist/components/content/Header.js +1 -1
  62. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  63. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  64. package/dist/components/content/Item/Item.js +1 -1
  65. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  66. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  67. package/dist/components/content/Layout/GridLayout.js +1 -1
  68. package/dist/components/content/Layout/Layout.js +1 -1
  69. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  70. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  71. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  72. package/dist/components/content/Layout/LayoutContent.js +1 -1
  73. package/dist/components/content/Layout/LayoutContext.js +1 -1
  74. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  75. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  76. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  77. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  78. package/dist/components/content/Layout/LayoutPane.js +1 -1
  79. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  80. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  81. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  82. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  83. package/dist/components/content/Layout/index.js +1 -1
  84. package/dist/components/content/Layout/utils.js +1 -1
  85. package/dist/components/content/Paragraph.js +1 -1
  86. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  87. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  88. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  89. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  90. package/dist/components/content/Result/Result.js +1 -1
  91. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  92. package/dist/components/content/Tag/Tag.js +1 -1
  93. package/dist/components/content/Text.js +1 -1
  94. package/dist/components/content/TextItem/TextItem.js +1 -1
  95. package/dist/components/content/Title.js +1 -1
  96. package/dist/components/content/Tree/Tree.js +1 -1
  97. package/dist/components/content/Tree/TreeNode.js +1 -1
  98. package/dist/components/content/Tree/styled.js +1 -1
  99. package/dist/components/content/Tree/tree-index.js +1 -1
  100. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  101. package/dist/components/content/Tree/use-load-data.js +1 -1
  102. package/dist/components/content/highlightText.js +1 -1
  103. package/dist/components/content/use-auto-tooltip.js +1 -1
  104. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  105. package/dist/components/fields/Checkbox/CheckboxGroup.js +3 -3
  106. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  107. package/dist/components/fields/Checkbox/context.js +1 -1
  108. package/dist/components/fields/ComboBox/ComboBox.js +11 -7
  109. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  110. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  111. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  112. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  113. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  114. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  115. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  116. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  117. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  118. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  119. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  120. package/dist/components/fields/DatePicker/intl.js +1 -1
  121. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  122. package/dist/components/fields/DatePicker/props.js +1 -1
  123. package/dist/components/fields/DatePicker/utils.js +1 -1
  124. package/dist/components/fields/FileInput/FileInput.js +1 -1
  125. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  126. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -21
  127. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  128. package/dist/components/fields/Input/Input.js +1 -1
  129. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  130. package/dist/components/fields/ListBox/ListBox.js +2 -1
  131. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  132. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  133. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  134. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  135. package/dist/components/fields/Picker/Picker.js +1 -21
  136. package/dist/components/fields/Picker/Picker.js.map +1 -1
  137. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  138. package/dist/components/fields/RadioGroup/RadioGroup.js +3 -3
  139. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  140. package/dist/components/fields/RadioGroup/context.js +1 -1
  141. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  142. package/dist/components/fields/Select/Select.js +10 -7
  143. package/dist/components/fields/Select/Select.js.map +1 -1
  144. package/dist/components/fields/Slider/Gradation.js +1 -1
  145. package/dist/components/fields/Slider/HueSlider.js +1 -1
  146. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  147. package/dist/components/fields/Slider/Slider.js +1 -1
  148. package/dist/components/fields/Slider/SliderBase.js +1 -1
  149. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  150. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  151. package/dist/components/fields/Slider/elements.js +1 -1
  152. package/dist/components/fields/Slider/index.js +1 -1
  153. package/dist/components/fields/Switch/Switch.js +1 -1
  154. package/dist/components/fields/TextArea/TextArea.js +1 -1
  155. package/dist/components/fields/TextInput/TextInput.js +1 -1
  156. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  157. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  158. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  159. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  160. package/dist/components/form/Form/Field.js +1 -1
  161. package/dist/components/form/Form/Form.d.ts +1 -2
  162. package/dist/components/form/Form/Form.js +3 -3
  163. package/dist/components/form/Form/Form.js.map +1 -1
  164. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  165. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  166. package/dist/components/form/Form/SubmitError.js +1 -1
  167. package/dist/components/form/Form/index.d.ts +1 -1
  168. package/dist/components/form/Form/index.js +1 -1
  169. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  170. package/dist/components/form/Form/use-field/use-field.js +1 -1
  171. package/dist/components/form/Form/use-form.js +1 -1
  172. package/dist/components/form/Form/validation.js +1 -1
  173. package/dist/components/form/Label.js +3 -3
  174. package/dist/components/form/Label.js.map +1 -1
  175. package/dist/components/form/wrapper.js +1 -1
  176. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  177. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  178. package/dist/components/layout/Flex.js +1 -1
  179. package/dist/components/layout/Flow.js +1 -1
  180. package/dist/components/layout/Grid.js +1 -1
  181. package/dist/components/layout/Panel.js +1 -1
  182. package/dist/components/layout/Prefix.js +1 -1
  183. package/dist/components/layout/ResizablePanel.js +1 -1
  184. package/dist/components/layout/Space.js +1 -1
  185. package/dist/components/layout/Suffix.js +1 -1
  186. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  187. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  188. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  189. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  190. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  191. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  192. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  193. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  194. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  195. package/dist/components/navigation/Tabs/styled.js +1 -1
  196. package/dist/components/navigation/Tabs/types.js +1 -1
  197. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  198. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  199. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  200. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  201. package/dist/components/other/Calendar/Calendar.js +1 -1
  202. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  203. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  204. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  205. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  206. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  207. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  208. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  209. package/dist/components/overlays/Dialog/Dialog.d.ts +1 -2
  210. package/dist/components/overlays/Dialog/Dialog.js +3 -3
  211. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  212. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  213. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  214. package/dist/components/overlays/Dialog/DialogTrigger.js +54 -8
  215. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  216. package/dist/components/overlays/Dialog/context.js +1 -1
  217. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  218. package/dist/components/overlays/Modal/Modal.js +3 -3
  219. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  220. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  221. package/dist/components/overlays/Modal/Overlay.js +1 -1
  222. package/dist/components/overlays/Modal/Popover.js +1 -1
  223. package/dist/components/overlays/Modal/Tray.js +3 -3
  224. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  225. package/dist/components/overlays/Modal/Underlay.js +1 -1
  226. package/dist/components/overlays/Notifications/Notification.js +1 -1
  227. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  228. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  229. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  230. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  231. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  232. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  233. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  234. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  235. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  236. package/dist/components/overlays/Notifications/index.js +1 -1
  237. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  238. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  239. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  240. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  241. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  242. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  243. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  244. package/dist/components/overlays/Toast/index.js +1 -1
  245. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  246. package/dist/components/overlays/Toast/useToast.js +1 -1
  247. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  248. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  249. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  250. package/dist/components/overlays/Tooltip/context.js +1 -1
  251. package/dist/components/portal/Portal.js +1 -1
  252. package/dist/components/portal/PortalProvider.js +1 -1
  253. package/dist/components/portal/usePortal.js +1 -1
  254. package/dist/components/shared/DraggableCollection.js +1 -1
  255. package/dist/components/shared/InvalidIcon.js +1 -1
  256. package/dist/components/shared/ValidIcon.js +1 -1
  257. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  258. package/dist/components/status/Spin/Cube.js +1 -1
  259. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  260. package/dist/components/status/Spin/Spin.js +1 -1
  261. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  262. package/dist/data/item-themes.js +1 -1
  263. package/dist/data/themes.js +1 -1
  264. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  265. package/dist/icons/AdjustmentsIcon.js +1 -1
  266. package/dist/icons/AiIcon.js +1 -1
  267. package/dist/icons/AreaChartIcon.js +1 -1
  268. package/dist/icons/BackwardIcon.js +1 -1
  269. package/dist/icons/BarChartIcon.js +1 -1
  270. package/dist/icons/BellFilledIcon.js +1 -1
  271. package/dist/icons/BellIcon.js +1 -1
  272. package/dist/icons/BooleanIcon.js +1 -1
  273. package/dist/icons/CalendarEditIcon.js +1 -1
  274. package/dist/icons/CalendarIcon.js +1 -1
  275. package/dist/icons/CaretDownIcon.js +1 -1
  276. package/dist/icons/CaretUpIcon.js +1 -1
  277. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  278. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  279. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  280. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  281. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  282. package/dist/icons/ChartBarLineIcon.js +1 -1
  283. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  284. package/dist/icons/ChartBarStackedIcon.js +1 -1
  285. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  286. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  287. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  288. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  289. package/dist/icons/ChartBubbleIcon.js +1 -1
  290. package/dist/icons/ChartDonut2Icon.js +1 -1
  291. package/dist/icons/ChartFunnelIcon.js +1 -1
  292. package/dist/icons/ChartHeatmapIcon.js +1 -1
  293. package/dist/icons/ChartKPIIcon.js +1 -1
  294. package/dist/icons/ChartPie2Icon.js +1 -1
  295. package/dist/icons/ChartScatterIcon.js +1 -1
  296. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  297. package/dist/icons/CheckCircleIcon.js +1 -1
  298. package/dist/icons/CheckIcon.js +1 -1
  299. package/dist/icons/CircleFilledIcon.js +1 -1
  300. package/dist/icons/ClearIcon.js +1 -1
  301. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  302. package/dist/icons/CloseCircleIcon.js +1 -1
  303. package/dist/icons/CloseIcon.js +1 -1
  304. package/dist/icons/CodeIcon.js +1 -1
  305. package/dist/icons/ColumnTotalIcon.js +1 -1
  306. package/dist/icons/CopyIcon.js +1 -1
  307. package/dist/icons/CountIcon.js +1 -1
  308. package/dist/icons/CubeIcon.js +1 -1
  309. package/dist/icons/CubePauseIcon.js +1 -1
  310. package/dist/icons/CubePlayIcon.js +1 -1
  311. package/dist/icons/CurrencyDollarIcon.js +1 -1
  312. package/dist/icons/DangerIcon.js +1 -1
  313. package/dist/icons/DashboardIcon.js +1 -1
  314. package/dist/icons/DatabaseIcon.js +1 -1
  315. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  316. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  317. package/dist/icons/DirectionIcon.js +1 -1
  318. package/dist/icons/DonutIcon.js +1 -1
  319. package/dist/icons/DownIcon.js +1 -1
  320. package/dist/icons/EditIcon.js +1 -1
  321. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  322. package/dist/icons/ExclamationCircleIcon.js +1 -1
  323. package/dist/icons/ExclamationIcon.js +1 -1
  324. package/dist/icons/EyeIcon.js +1 -1
  325. package/dist/icons/EyeInvisibleIcon.js +1 -1
  326. package/dist/icons/FilterIcon.js +1 -1
  327. package/dist/icons/FolderFilledIcon.js +1 -1
  328. package/dist/icons/FolderIcon.js +1 -1
  329. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  330. package/dist/icons/FolderOpenIcon.js +1 -1
  331. package/dist/icons/ForwardIcon.js +1 -1
  332. package/dist/icons/GripVerticalIcon.js +1 -1
  333. package/dist/icons/HierarchyIcon.js +1 -1
  334. package/dist/icons/HierarchyOpenIcon.js +1 -1
  335. package/dist/icons/Icon.js +1 -1
  336. package/dist/icons/InfoCircleIcon.js +1 -1
  337. package/dist/icons/InfoIcon.js +1 -1
  338. package/dist/icons/KeyIcon.js +1 -1
  339. package/dist/icons/LeftIcon.js +1 -1
  340. package/dist/icons/LineChartIcon.js +1 -1
  341. package/dist/icons/LoadingIcon.js +1 -1
  342. package/dist/icons/LockFilledIcon.js +1 -1
  343. package/dist/icons/LockIcon.js +1 -1
  344. package/dist/icons/MoreIcon.js +1 -1
  345. package/dist/icons/NotAllowedIcon.js +1 -1
  346. package/dist/icons/Number123Icon.js +1 -1
  347. package/dist/icons/NumberIcon.js +1 -1
  348. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  349. package/dist/icons/PauseCircleIcon.js +1 -1
  350. package/dist/icons/PauseIcon.js +1 -1
  351. package/dist/icons/PercentageIcon.js +1 -1
  352. package/dist/icons/PieChartIcon.js +1 -1
  353. package/dist/icons/PlayCircleIcon.js +1 -1
  354. package/dist/icons/PlayIcon.js +1 -1
  355. package/dist/icons/PlusIcon.js +1 -1
  356. package/dist/icons/ProgressBarIcon.js +1 -1
  357. package/dist/icons/ReloadIcon.js +1 -1
  358. package/dist/icons/ReportIcon.js +1 -1
  359. package/dist/icons/ReturnIcon.js +1 -1
  360. package/dist/icons/RightIcon.js +1 -1
  361. package/dist/icons/RowTotalsIcon.js +1 -1
  362. package/dist/icons/SchemeIcon.js +1 -1
  363. package/dist/icons/SearchIcon.js +1 -1
  364. package/dist/icons/SemanticQueryIcon.js +1 -1
  365. package/dist/icons/SettingsIcon.js +1 -1
  366. package/dist/icons/ShieldFilledIcon.js +1 -1
  367. package/dist/icons/ShieldIcon.js +1 -1
  368. package/dist/icons/SlashIcon.js +1 -1
  369. package/dist/icons/SparklesIcon.js +1 -1
  370. package/dist/icons/SqlIcon.js +1 -1
  371. package/dist/icons/StatsIcon.js +1 -1
  372. package/dist/icons/StopIcon.js +1 -1
  373. package/dist/icons/StringIcon.js +1 -1
  374. package/dist/icons/SubtotalsIcon.js +1 -1
  375. package/dist/icons/SwitchIcon.js +1 -1
  376. package/dist/icons/TableIcon.js +1 -1
  377. package/dist/icons/ThumbsDownIcon.js +1 -1
  378. package/dist/icons/ThumbsUpIcon.js +1 -1
  379. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  380. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  381. package/dist/icons/ThunderboltIcon.js +1 -1
  382. package/dist/icons/TimeIcon.js +1 -1
  383. package/dist/icons/TrashIcon.js +1 -1
  384. package/dist/icons/UnlockIcon.js +1 -1
  385. package/dist/icons/UpIcon.js +1 -1
  386. package/dist/icons/UserGroupIcon.js +1 -1
  387. package/dist/icons/UserIcon.js +1 -1
  388. package/dist/icons/UserLockIcon.js +1 -1
  389. package/dist/icons/ViewIcon.js +1 -1
  390. package/dist/icons/WarningFilledIcon.js +1 -1
  391. package/dist/icons/WarningIcon.js +1 -1
  392. package/dist/icons/wrap-icon.js +1 -1
  393. package/dist/index.d.ts +2 -1
  394. package/dist/index.js +3 -2
  395. package/dist/index.js.map +1 -1
  396. package/dist/provider.js +1 -1
  397. package/dist/providers/TrackingProvider.js +1 -1
  398. package/dist/providers/navigationAdapter.default.js +1 -1
  399. package/dist/tokens/base.js +1 -1
  400. package/dist/tokens/colors.js +1 -1
  401. package/dist/tokens/index.js +1 -1
  402. package/dist/tokens/layout.js +1 -1
  403. package/dist/tokens/palette.js +1 -1
  404. package/dist/tokens/shadows.js +1 -1
  405. package/dist/tokens/sizes.js +1 -1
  406. package/dist/tokens/spacing.js +1 -1
  407. package/dist/tokens/typography.js +1 -1
  408. package/dist/utils/ResizeSensor.js +1 -1
  409. package/dist/utils/index.d.ts +1 -0
  410. package/dist/utils/is-dev-env.js +1 -1
  411. package/dist/utils/modules.js +1 -1
  412. package/dist/utils/promise.js +1 -1
  413. package/dist/utils/raf.js +1 -1
  414. package/dist/utils/random.js +1 -1
  415. package/dist/utils/range.js +1 -1
  416. package/dist/utils/react/RenderCache.js +1 -1
  417. package/dist/utils/react/Slots.js +1 -1
  418. package/dist/utils/react/chain.js +1 -1
  419. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  420. package/dist/utils/react/index.d.ts +1 -0
  421. package/dist/utils/react/index.js +2 -1
  422. package/dist/utils/react/interactions.js +1 -1
  423. package/dist/utils/react/isTextOnly.js +1 -1
  424. package/dist/utils/react/mapProps.js +1 -1
  425. package/dist/utils/react/mergeProps.js +1 -1
  426. package/dist/utils/react/nullableValue.js +1 -1
  427. package/dist/utils/react/resolveIcon.js +1 -1
  428. package/dist/utils/react/sharedStore.js +1 -1
  429. package/dist/utils/react/useCombinedRefs.js +1 -1
  430. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  431. package/dist/utils/react/useEventBus.js +26 -17
  432. package/dist/utils/react/useEventBus.js.map +1 -1
  433. package/dist/utils/react/useId.js +1 -1
  434. package/dist/utils/react/useIsDarwin.js +1 -1
  435. package/dist/utils/react/useKeySymbols.js +1 -1
  436. package/dist/utils/react/useLayoutEffect.js +1 -1
  437. package/dist/utils/react/useLocalStorage.js +1 -1
  438. package/dist/utils/react/useMergeStyles.js +1 -1
  439. package/dist/utils/react/usePopoverSync.d.ts +116 -0
  440. package/dist/utils/react/usePopoverSync.js +131 -11
  441. package/dist/utils/react/usePopoverSync.js.map +1 -1
  442. package/dist/utils/react/useQaProps.js +1 -1
  443. package/dist/utils/react/useViewportSize.js +1 -1
  444. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  445. package/dist/utils/selection.js +1 -1
  446. package/dist/utils/styles.js +1 -1
  447. package/dist/utils/tree.js +1 -1
  448. package/dist/utils/warnings.js +1 -1
  449. package/dist/version.js +2 -2
  450. package/docs/components/actions/Button.md +102 -24
  451. package/docs/components/actions/ItemButton.md +71 -34
  452. package/package.json +1 -1
@@ -1,10 +1,14 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
+ import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
2
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
+ import { usePopoverSync } from "../../../utils/react/usePopoverSync.js";
5
+ import { useEvent } from "../../../_internal/hooks/use-event.js";
6
+ import { generateRandomId } from "../../../utils/random.js";
3
7
  import { _Modal } from "../Modal/Modal.js";
4
8
  import { _Tray } from "../Modal/Tray.js";
5
9
  import { _Popover } from "../Modal/Popover.js";
6
10
  import { DialogContext } from "./context.js";
7
- import { Fragment, useEffect, useRef } from "react";
11
+ import { Fragment, useEffect, useMemo, useRef } from "react";
8
12
  import { jsx, jsxs } from "react/jsx-runtime";
9
13
  import { useOverlayPosition, useOverlayTrigger } from "react-aria";
10
14
  import { useMediaQuery } from "@react-spectrum/utils";
@@ -32,6 +36,19 @@ function DialogTrigger(props) {
32
36
  let onExiting = () => isExiting.current = true;
33
37
  let onExited = () => isExiting.current = false;
34
38
  wasOpen.current = state.isOpen;
39
+ const dialogSyncId = useMemo(() => generateRandomId(), []);
40
+ const syncTriggerRef = useRef(null);
41
+ const syncOverlayRef = useRef(null);
42
+ const isPopoverFlavored = type === "popover";
43
+ usePopoverSync({
44
+ menuId: dialogSyncId,
45
+ isOpen: state.isOpen,
46
+ onClose: () => state.close(),
47
+ triggerRef: syncTriggerRef,
48
+ containerRef: syncOverlayRef,
49
+ dismissOnInnerButtonPress: isPopoverFlavored,
50
+ closeOnPeerOpen: isPopoverFlavored
51
+ });
35
52
  useEffect(() => {
36
53
  return () => {
37
54
  if ((wasOpen.current || isExiting.current) && type !== "popover" && type !== "tray") console.warn("CubeUIKit: A DialogTrigger unmounted while open. This is likely due to being placed within a trigger that unmounts or inside a conditional. Consider using a DialogContainer instead.");
@@ -54,6 +71,9 @@ function DialogTrigger(props) {
54
71
  isKeyboardDismissDisabled,
55
72
  hideArrow,
56
73
  shouldCloseOnInteractOutside,
74
+ syncTriggerRef,
75
+ syncOverlayRef,
76
+ triggerType: type,
57
77
  onClose
58
78
  });
59
79
  let renderOverlay = () => {
@@ -62,6 +82,7 @@ function DialogTrigger(props) {
62
82
  case "fullscreen":
63
83
  case "fullscreenTakeover":
64
84
  case "modal": return /* @__PURE__ */ jsx(_Modal, {
85
+ ref: syncOverlayRef,
65
86
  hideOnClose,
66
87
  isOpen: state.isOpen,
67
88
  isDismissable,
@@ -75,6 +96,7 @@ function DialogTrigger(props) {
75
96
  children: typeof content === "function" ? content(state.close) : content
76
97
  });
77
98
  case "tray": return /* @__PURE__ */ jsx(_Tray, {
99
+ ref: syncOverlayRef,
78
100
  hideOnClose,
79
101
  isOpen: state.isOpen,
80
102
  isKeyboardDismissDisabled,
@@ -91,13 +113,18 @@ function DialogTrigger(props) {
91
113
  trigger,
92
114
  overlay: renderOverlay(),
93
115
  hideOnClose,
116
+ syncTriggerRef,
94
117
  onClose
95
118
  });
96
119
  }
97
120
  function PopoverTrigger(allProps) {
98
- let { state, styles, targetRef, trigger, content, hideArrow, onClose, isKeyboardDismissDisabled, hideOnClose, shouldCloseOnInteractOutside, keepOpenOnScroll, ...props } = allProps;
121
+ let { state, styles, targetRef, trigger, content, hideArrow, onClose, isKeyboardDismissDisabled, hideOnClose, shouldCloseOnInteractOutside, keepOpenOnScroll, syncTriggerRef, syncOverlayRef, triggerType, ...props } = allProps;
99
122
  let triggerRef = useRef(null);
100
123
  let overlayRef = useRef(null);
124
+ useLayoutEffect$1(() => {
125
+ if (syncTriggerRef) syncTriggerRef.current = targetRef?.current ?? triggerRef.current ?? null;
126
+ if (syncOverlayRef) syncOverlayRef.current = overlayRef.current ?? null;
127
+ });
101
128
  let { overlayProps: popoverProps, placement, arrowProps, updatePosition } = useOverlayPosition({
102
129
  targetRef: targetRef || triggerRef,
103
130
  overlayRef,
@@ -115,13 +142,27 @@ function PopoverTrigger(allProps) {
115
142
  close: updatePosition
116
143
  };
117
144
  let { triggerProps, overlayProps } = useOverlayTrigger({ type: "dialog" }, overlayTriggerState, triggerRef);
145
+ let triggerPropsWithRef = {
146
+ ...triggerProps,
147
+ ref: targetRef ? void 0 : triggerRef
148
+ };
149
+ const resolveShouldCloseOnInteractOutside = useEvent((el) => {
150
+ const popoverTriggerEl = el.closest("[data-popover-trigger]");
151
+ if (!popoverTriggerEl) {
152
+ if (el.closest("[data-popover-dismiss]")) {
153
+ setTimeout(() => state.close(), 0);
154
+ return false;
155
+ }
156
+ return shouldCloseOnInteractOutside ? shouldCloseOnInteractOutside(el) : true;
157
+ }
158
+ const ownTrigger = targetRef?.current ?? triggerRef.current;
159
+ if (popoverTriggerEl === ownTrigger || ownTrigger?.contains(el)) return true;
160
+ return false;
161
+ });
118
162
  return /* @__PURE__ */ jsx(DialogTriggerBase, {
119
163
  type: "popover",
120
164
  state,
121
- triggerProps: {
122
- ...triggerProps,
123
- ref: targetRef ? void 0 : triggerRef
124
- },
165
+ triggerProps: triggerPropsWithRef,
125
166
  dialogProps: overlayProps,
126
167
  trigger,
127
168
  overlay: /* @__PURE__ */ jsx(_Popover, {
@@ -134,7 +175,7 @@ function PopoverTrigger(allProps) {
134
175
  arrowProps,
135
176
  isKeyboardDismissDisabled,
136
177
  hideArrow,
137
- shouldCloseOnInteractOutside,
178
+ shouldCloseOnInteractOutside: resolveShouldCloseOnInteractOutside,
138
179
  onClose,
139
180
  children: typeof content === "function" ? content(state.close) : content
140
181
  }),
@@ -144,6 +185,9 @@ function PopoverTrigger(allProps) {
144
185
  function DialogTriggerBase(props) {
145
186
  const ref = useCombinedRefs(props.ref);
146
187
  const wasOpenRef = useRef(false);
188
+ useLayoutEffect$1(() => {
189
+ if (props.syncTriggerRef) props.syncTriggerRef.current = ref.current ?? null;
190
+ });
147
191
  let { type, state, onClose, isDismissable, dialogProps = {}, triggerProps = {}, overlay, trigger } = props;
148
192
  let context = {
149
193
  type,
@@ -158,9 +202,11 @@ function DialogTriggerBase(props) {
158
202
  ref.current?.focus();
159
203
  } else if (state.isOpen) wasOpenRef.current = true;
160
204
  }, [state.isOpen]);
205
+ const triggerExtraProps = type === "popover" ? { "data-popover-trigger": "" } : {};
161
206
  return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(PressResponder, {
162
207
  ref,
163
208
  ...triggerProps,
209
+ ...triggerExtraProps,
164
210
  isPressed: state.isOpen && type !== "modal" && type !== "fullscreen" && type !== "fullscreenTakeover",
165
211
  onPress: state.toggle,
166
212
  children: trigger
@@ -1 +1 @@
1
- {"version":3,"file":"DialogTrigger.js","names":["Modal","Tray","Popover"],"sources":["../../../../src/components/overlays/Dialog/DialogTrigger.tsx"],"sourcesContent":["import { PressResponder } from '@react-aria/interactions';\nimport { useMediaQuery } from '@react-spectrum/utils';\nimport { Styles } from '@tenphi/tasty';\nimport { Fragment, ReactElement, RefObject, useEffect, useRef } from 'react';\nimport {\n OverlayTriggerProps,\n Placement,\n PositionProps,\n useOverlayPosition,\n useOverlayTrigger,\n} from 'react-aria';\nimport { OverlayTriggerState, useOverlayTriggerState } from 'react-stately';\n\nimport { useCombinedRefs } from '../../../utils/react/index';\nimport { Modal, Popover, Tray, WithCloseBehavior } from '../Modal';\n\nimport { DialogContext } from './context';\n\nexport type CubeDialogClose = (close: () => void) => ReactElement;\n\nexport interface CubeDialogTriggerProps\n extends OverlayTriggerProps,\n PositionProps,\n WithCloseBehavior {\n /** The Dialog and its trigger element. See the DialogTrigger [Content section](#content) for more information on what to provide as children. */\n children: [\n ReactElement | ((state: OverlayTriggerState) => ReactElement),\n CubeDialogClose | ReactElement,\n ];\n /**\n * The type of Dialog that should be rendered. See the DialogTrigger [types section](#dialog-types) for an explanation on each.\n * @default 'modal'\n */\n type?:\n | 'modal'\n | 'popover'\n | 'tray'\n | 'fullscreen'\n | 'fullscreenTakeover'\n | 'panel';\n /** The type of Dialog that should be rendered when on a mobile device. See DialogTrigger [types section](#dialog-types) for an explanation on each. */\n mobileType?:\n | 'modal'\n | 'tray'\n | 'fullscreen'\n | 'fullscreenTakeover'\n | 'panel'\n | 'popover';\n placement?: Placement;\n /**\n * Whether a popover type Dialog's arrow should be hidden.\n */\n hideArrow?: boolean;\n /** The ref of the element the Dialog should visually attach itself to. Defaults to the trigger button if not defined. */\n targetRef?: RefObject<HTMLElement | null>;\n /** Whether a modal type Dialog should be dismissable. */\n isDismissable?: boolean;\n /** Whether pressing the escape key to close the dialog should be disabled. */\n isKeyboardDismissDisabled?: boolean;\n /** The screen breakpoint for the mobile type */\n mobileViewport?: number;\n /** The style map for the overlay **/\n styles?: Styles;\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n onDismiss?: (action?: string) => void;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n shouldFlip?: boolean;\n shouldUpdatePosition?: boolean;\n /** Minimum padding in pixels between the popover and viewport edges */\n containerPadding?: number;\n}\n\n/**\n * DialogTrigger serves as a wrapper around a Dialog and its associated trigger, linking the Dialog's\n * open state with the trigger's press state. Additionally, it allows you to customize the type and\n * positioning of the Dialog.\n */\nexport function DialogTrigger(props: CubeDialogTriggerProps) {\n let {\n children,\n type = 'modal',\n mobileType = type === 'popover' ? 'modal' : type,\n hideArrow,\n targetRef,\n onDismiss,\n isDismissable = true,\n isKeyboardDismissDisabled,\n styles,\n mobileViewport = 700,\n hideOnClose,\n shouldCloseOnInteractOutside,\n ...positionProps\n } = props;\n\n if (!Array.isArray(children) || children.length > 2) {\n throw new Error('DialogTrigger must have exactly 2 children');\n }\n // if a function is passed as the second child, it won't appear in toArray\n let [trigger, content] = children;\n\n // On small devices, show a modal or tray instead of a popover.\n let isMobile = useMediaQuery(`(max-width: ${mobileViewport}px)`);\n if (isMobile) {\n // handle cases where desktop popovers need a close button for the mobile modal view\n if (type !== 'modal' && mobileType === 'modal') {\n isDismissable = true;\n }\n\n type = mobileType;\n }\n\n let state = useOverlayTriggerState(props);\n\n if (typeof trigger === 'function') {\n trigger = trigger(state);\n }\n\n let wasOpen = useRef(false);\n let isExiting = useRef(false);\n let onExiting = () => (isExiting.current = true);\n let onExited = () => (isExiting.current = false);\n\n wasOpen.current = state.isOpen;\n\n useEffect(() => {\n return () => {\n if (\n (wasOpen.current || isExiting.current) &&\n type !== 'popover' &&\n type !== 'tray'\n ) {\n console.warn(\n 'CubeUIKit: A DialogTrigger unmounted while open. This is likely due to being placed within a trigger that unmounts or inside a conditional. Consider using a DialogContainer instead.',\n );\n }\n };\n }, []);\n\n function onClose(action) {\n if (isDismissable) {\n onDismiss && onDismiss(action);\n state.close();\n }\n }\n\n if (type === 'popover') {\n return (\n <PopoverTrigger\n {...positionProps}\n hideOnClose={hideOnClose}\n state={state}\n styles={styles}\n targetRef={targetRef}\n trigger={trigger}\n content={content}\n isKeyboardDismissDisabled={isKeyboardDismissDisabled}\n hideArrow={hideArrow}\n shouldCloseOnInteractOutside={shouldCloseOnInteractOutside}\n onClose={onClose}\n />\n );\n }\n\n let renderOverlay = () => {\n switch (type) {\n case 'panel':\n case 'fullscreen':\n case 'fullscreenTakeover':\n case 'modal':\n return (\n <Modal\n hideOnClose={hideOnClose}\n isOpen={state.isOpen}\n isDismissable={isDismissable}\n type={type}\n isKeyboardDismissDisabled={isKeyboardDismissDisabled}\n styles={styles}\n shouldCloseOnInteractOutside={shouldCloseOnInteractOutside}\n onClose={onClose}\n onExiting={onExiting}\n onExited={onExited}\n >\n {typeof content === 'function' ? content(state.close) : content}\n </Modal>\n );\n case 'tray':\n return (\n <Tray\n hideOnClose={hideOnClose}\n isOpen={state.isOpen}\n isKeyboardDismissDisabled={isKeyboardDismissDisabled}\n styles={styles}\n onClose={onClose}\n >\n {typeof content === 'function' ? content(state.close) : content}\n </Tray>\n );\n }\n };\n\n return (\n <DialogTriggerBase\n type={type}\n state={state}\n isDismissable={isDismissable}\n trigger={trigger}\n overlay={renderOverlay()}\n hideOnClose={hideOnClose}\n onClose={onClose}\n />\n );\n}\n\nfunction PopoverTrigger(allProps) {\n let {\n state,\n styles,\n targetRef,\n trigger,\n content,\n hideArrow,\n onClose,\n isKeyboardDismissDisabled,\n hideOnClose,\n shouldCloseOnInteractOutside,\n keepOpenOnScroll,\n ...props\n } = allProps;\n\n let triggerRef = useRef<HTMLButtonElement>(null);\n let overlayRef = useRef<HTMLDivElement>(null);\n\n let {\n overlayProps: popoverProps,\n placement,\n arrowProps,\n updatePosition,\n } = useOverlayPosition({\n targetRef: targetRef || triggerRef,\n overlayRef: overlayRef,\n placement: props.placement,\n containerPadding: props.containerPadding,\n offset: props.offset || 8,\n crossOffset: props.crossOffset,\n shouldFlip: props.shouldFlip,\n shouldUpdatePosition: props.shouldUpdatePosition,\n isOpen: state.isOpen,\n });\n\n let overlayTriggerState = state;\n\n if (keepOpenOnScroll) {\n overlayTriggerState = { ...state, close: updatePosition };\n }\n\n let { triggerProps, overlayProps } = useOverlayTrigger(\n { type: 'dialog' },\n overlayTriggerState,\n triggerRef,\n );\n\n let triggerPropsWithRef = {\n ...triggerProps,\n ref: targetRef ? undefined : triggerRef,\n };\n\n let overlay = (\n <Popover\n ref={overlayRef}\n styles={styles}\n hideOnClose={hideOnClose}\n isOpen={state.isOpen}\n style={popoverProps.style}\n placement={placement}\n arrowProps={arrowProps}\n isKeyboardDismissDisabled={isKeyboardDismissDisabled}\n hideArrow={hideArrow}\n shouldCloseOnInteractOutside={shouldCloseOnInteractOutside}\n onClose={onClose}\n >\n {typeof content === 'function' ? content(state.close) : content}\n </Popover>\n );\n\n return (\n <DialogTriggerBase\n type=\"popover\"\n state={state}\n triggerProps={triggerPropsWithRef}\n dialogProps={overlayProps}\n trigger={trigger}\n overlay={overlay}\n onClose={onClose}\n />\n );\n}\n\nfunction DialogTriggerBase(props: any) {\n const ref = useCombinedRefs<HTMLElement>(props.ref);\n const wasOpenRef = useRef(false);\n\n let {\n type,\n state,\n onClose,\n isDismissable,\n dialogProps = {},\n triggerProps = {},\n overlay,\n trigger,\n } = props;\n\n let context = {\n type,\n onClose,\n isDismissable,\n isOpen: state.isOpen,\n ...dialogProps,\n };\n\n // Restore focus manually when the dialog closes\n useEffect(() => {\n if (!state.isOpen && wasOpenRef.current) {\n wasOpenRef.current = false;\n ref.current?.focus();\n } else if (state.isOpen) {\n wasOpenRef.current = true;\n }\n }, [state.isOpen]);\n\n return (\n <Fragment>\n <PressResponder\n ref={ref}\n {...triggerProps}\n isPressed={\n state.isOpen &&\n type !== 'modal' &&\n type !== 'fullscreen' &&\n type !== 'fullscreenTakeover'\n }\n onPress={state.toggle}\n >\n {trigger}\n </PressResponder>\n <DialogContext.Provider value={context}>{overlay}</DialogContext.Provider>\n </Fragment>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DialogTrigger.js","names":["Modal","Tray","Popover"],"sources":["../../../../src/components/overlays/Dialog/DialogTrigger.tsx"],"sourcesContent":["import { PressResponder } from '@react-aria/interactions';\nimport { useMediaQuery } from '@react-spectrum/utils';\nimport { Styles } from '@tenphi/tasty';\nimport {\n Fragment,\n ReactElement,\n RefObject,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport {\n OverlayTriggerProps,\n Placement,\n PositionProps,\n useOverlayPosition,\n useOverlayTrigger,\n} from 'react-aria';\nimport { OverlayTriggerState, useOverlayTriggerState } from 'react-stately';\n\nimport { useEvent } from '../../../_internal';\nimport { generateRandomId } from '../../../utils/random';\nimport { useCombinedRefs, useLayoutEffect } from '../../../utils/react/index';\nimport { usePopoverSync } from '../../../utils/react/usePopoverSync';\nimport { Modal, Popover, Tray, WithCloseBehavior } from '../Modal';\n\nimport { DialogContext } from './context';\n\nexport type CubeDialogClose = (close: () => void) => ReactElement;\n\nexport interface CubeDialogTriggerProps\n extends OverlayTriggerProps,\n PositionProps,\n WithCloseBehavior {\n /** The Dialog and its trigger element. See the DialogTrigger [Content section](#content) for more information on what to provide as children. */\n children: [\n ReactElement | ((state: OverlayTriggerState) => ReactElement),\n CubeDialogClose | ReactElement,\n ];\n /**\n * The type of Dialog that should be rendered. See the DialogTrigger [types section](#dialog-types) for an explanation on each.\n * @default 'modal'\n */\n type?:\n | 'modal'\n | 'popover'\n | 'tray'\n | 'fullscreen'\n | 'fullscreenTakeover'\n | 'panel';\n /** The type of Dialog that should be rendered when on a mobile device. See DialogTrigger [types section](#dialog-types) for an explanation on each. */\n mobileType?:\n | 'modal'\n | 'tray'\n | 'fullscreen'\n | 'fullscreenTakeover'\n | 'panel'\n | 'popover';\n placement?: Placement;\n /**\n * Whether a popover type Dialog's arrow should be hidden.\n */\n hideArrow?: boolean;\n /** The ref of the element the Dialog should visually attach itself to. Defaults to the trigger button if not defined. */\n targetRef?: RefObject<HTMLElement | null>;\n /** Whether a modal type Dialog should be dismissable. */\n isDismissable?: boolean;\n /** Whether pressing the escape key to close the dialog should be disabled. */\n isKeyboardDismissDisabled?: boolean;\n /** The screen breakpoint for the mobile type */\n mobileViewport?: number;\n /** The style map for the overlay **/\n styles?: Styles;\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n onDismiss?: (action?: string) => void;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n shouldFlip?: boolean;\n shouldUpdatePosition?: boolean;\n /** Minimum padding in pixels between the popover and viewport edges */\n containerPadding?: number;\n}\n\n/**\n * DialogTrigger serves as a wrapper around a Dialog and its associated trigger, linking the Dialog's\n * open state with the trigger's press state. Additionally, it allows you to customize the type and\n * positioning of the Dialog.\n */\nexport function DialogTrigger(props: CubeDialogTriggerProps) {\n let {\n children,\n type = 'modal',\n mobileType = type === 'popover' ? 'modal' : type,\n hideArrow,\n targetRef,\n onDismiss,\n isDismissable = true,\n isKeyboardDismissDisabled,\n styles,\n mobileViewport = 700,\n hideOnClose,\n shouldCloseOnInteractOutside,\n ...positionProps\n } = props;\n\n if (!Array.isArray(children) || children.length > 2) {\n throw new Error('DialogTrigger must have exactly 2 children');\n }\n // if a function is passed as the second child, it won't appear in toArray\n let [trigger, content] = children;\n\n // On small devices, show a modal or tray instead of a popover.\n let isMobile = useMediaQuery(`(max-width: ${mobileViewport}px)`);\n if (isMobile) {\n // handle cases where desktop popovers need a close button for the mobile modal view\n if (type !== 'modal' && mobileType === 'modal') {\n isDismissable = true;\n }\n\n type = mobileType;\n }\n\n let state = useOverlayTriggerState(props);\n\n if (typeof trigger === 'function') {\n trigger = trigger(state);\n }\n\n let wasOpen = useRef(false);\n let isExiting = useRef(false);\n let onExiting = () => (isExiting.current = true);\n let onExited = () => (isExiting.current = false);\n\n wasOpen.current = state.isOpen;\n\n // Shared identity + refs for `usePopoverSync`. Allocating here (rather than\n // inside the branch-specific sub-trees) keeps a single sync registration for\n // the lifetime of the trigger, even when `type` flips between popover and\n // modal at the mobile breakpoint. The refs are then threaded into the\n // appropriate branch so existing positioning / useOverlayTrigger hooks keep\n // their original ref targets and `usePopoverSync`'s `contains()` check has a\n // real DOM node to query.\n const dialogSyncId = useMemo(() => generateRandomId(), []);\n const syncTriggerRef = useRef<HTMLElement | null>(null);\n const syncOverlayRef = useRef<HTMLElement | null>(null);\n\n // Only popover-type Dialogs participate in the \"press inside dismisses\n // me\" / \"peer popover opening dismisses me\" behaviours: modals, trays,\n // fullscreen and panel Dialogs are persistent workspaces and must not be\n // yanked closed via the EventBus (which would bypass `isDismissable` and\n // call `state.close()` directly). Non-popover types DO still EMIT\n // `popover:open`, so opening a modal correctly dismisses peer popovers.\n const isPopoverFlavored = type === 'popover';\n usePopoverSync({\n menuId: dialogSyncId,\n isOpen: state.isOpen,\n onClose: () => state.close(),\n triggerRef: syncTriggerRef,\n containerRef: syncOverlayRef,\n dismissOnInnerButtonPress: isPopoverFlavored,\n closeOnPeerOpen: isPopoverFlavored,\n });\n\n useEffect(() => {\n return () => {\n if (\n (wasOpen.current || isExiting.current) &&\n type !== 'popover' &&\n type !== 'tray'\n ) {\n console.warn(\n 'CubeUIKit: A DialogTrigger unmounted while open. This is likely due to being placed within a trigger that unmounts or inside a conditional. Consider using a DialogContainer instead.',\n );\n }\n };\n }, []);\n\n function onClose(action) {\n if (isDismissable) {\n onDismiss && onDismiss(action);\n state.close();\n }\n }\n\n if (type === 'popover') {\n return (\n <PopoverTrigger\n {...positionProps}\n hideOnClose={hideOnClose}\n state={state}\n styles={styles}\n targetRef={targetRef}\n trigger={trigger}\n content={content}\n isKeyboardDismissDisabled={isKeyboardDismissDisabled}\n hideArrow={hideArrow}\n shouldCloseOnInteractOutside={shouldCloseOnInteractOutside}\n syncTriggerRef={syncTriggerRef}\n syncOverlayRef={syncOverlayRef}\n triggerType={type}\n onClose={onClose}\n />\n );\n }\n\n let renderOverlay = () => {\n switch (type) {\n case 'panel':\n case 'fullscreen':\n case 'fullscreenTakeover':\n case 'modal':\n return (\n <Modal\n ref={syncOverlayRef}\n hideOnClose={hideOnClose}\n isOpen={state.isOpen}\n isDismissable={isDismissable}\n type={type}\n isKeyboardDismissDisabled={isKeyboardDismissDisabled}\n styles={styles}\n shouldCloseOnInteractOutside={shouldCloseOnInteractOutside}\n onClose={onClose}\n onExiting={onExiting}\n onExited={onExited}\n >\n {typeof content === 'function' ? content(state.close) : content}\n </Modal>\n );\n case 'tray':\n return (\n <Tray\n ref={syncOverlayRef}\n hideOnClose={hideOnClose}\n isOpen={state.isOpen}\n isKeyboardDismissDisabled={isKeyboardDismissDisabled}\n styles={styles}\n onClose={onClose}\n >\n {typeof content === 'function' ? content(state.close) : content}\n </Tray>\n );\n }\n };\n\n return (\n <DialogTriggerBase\n type={type}\n state={state}\n isDismissable={isDismissable}\n trigger={trigger}\n overlay={renderOverlay()}\n hideOnClose={hideOnClose}\n syncTriggerRef={syncTriggerRef}\n onClose={onClose}\n />\n );\n}\n\nfunction PopoverTrigger(allProps) {\n let {\n state,\n styles,\n targetRef,\n trigger,\n content,\n hideArrow,\n onClose,\n isKeyboardDismissDisabled,\n hideOnClose,\n shouldCloseOnInteractOutside,\n keepOpenOnScroll,\n syncTriggerRef,\n syncOverlayRef,\n triggerType,\n ...props\n } = allProps;\n\n let triggerRef = useRef<HTMLButtonElement>(null);\n let overlayRef = useRef<HTMLDivElement>(null);\n\n // Mirror the trigger/overlay DOM nodes into the parent-owned sync refs.\n //\n // We deliberately do NOT use `useCombinedRefs` here: that hook returns a\n // brand new internal ref and propagates to the passed refs via a regular\n // `useEffect` (post-commit). `useOverlayPosition` below reads\n // `triggerRef.current` in its own layout effect during the SAME commit, so\n // if `triggerRef` only receives the DOM node via a delayed effect, the\n // first measurement sees `null` and the popover positions at the document\n // origin until something forces a re-measure.\n //\n // Keeping `triggerRef`/`overlayRef` as the direct React refs preserves\n // synchronous assignment for `useOverlayPosition`. The sync refs are only\n // ever read inside `popover:open` handlers, which fire via setTimeout(0),\n // so a layout-effect mirror is more than fast enough.\n useLayoutEffect(() => {\n if (syncTriggerRef) {\n syncTriggerRef.current = targetRef?.current ?? triggerRef.current ?? null;\n }\n if (syncOverlayRef) {\n syncOverlayRef.current = overlayRef.current ?? null;\n }\n });\n\n let {\n overlayProps: popoverProps,\n placement,\n arrowProps,\n updatePosition,\n } = useOverlayPosition({\n targetRef: targetRef || triggerRef,\n overlayRef: overlayRef,\n placement: props.placement,\n containerPadding: props.containerPadding,\n offset: props.offset || 8,\n crossOffset: props.crossOffset,\n shouldFlip: props.shouldFlip,\n shouldUpdatePosition: props.shouldUpdatePosition,\n isOpen: state.isOpen,\n });\n\n let overlayTriggerState = state;\n\n if (keepOpenOnScroll) {\n overlayTriggerState = { ...state, close: updatePosition };\n }\n\n let { triggerProps, overlayProps } = useOverlayTrigger(\n { type: 'dialog' },\n overlayTriggerState,\n triggerRef,\n );\n\n let triggerPropsWithRef = {\n ...triggerProps,\n ref: targetRef ? undefined : triggerRef,\n };\n\n // Mirror the Select/ComboBox/MenuTrigger pattern: when an outside click lands\n // on ANOTHER popover trigger, return `false` so react-aria's `useOverlay`\n // does NOT `stopPropagation()` the click. The click then reaches that trigger,\n // its popover opens, and `usePopoverSync` closes this one via the EventBus.\n // Without this, react-aria swallows every outside click and a single click on\n // a sibling trigger can't open it while this popover is open.\n const resolveShouldCloseOnInteractOutside = useEvent(\n (el: Element): boolean => {\n const popoverTriggerEl = el.closest('[data-popover-trigger]');\n if (!popoverTriggerEl) {\n // Plain interactive controls (Button, ItemButton) opt in via\n // `data-popover-dismiss`. Schedule the close after the click finishes so\n // the control's `onPress` runs first instead of losing the click to\n // useOverlay's stopPropagation.\n if (el.closest('[data-popover-dismiss]')) {\n setTimeout(() => state.close(), 0);\n return false;\n }\n return shouldCloseOnInteractOutside\n ? shouldCloseOnInteractOutside(el)\n : true;\n }\n // Clicking our own trigger again should dismiss us.\n const ownTrigger = targetRef?.current ?? triggerRef.current;\n if (popoverTriggerEl === ownTrigger || ownTrigger?.contains(el))\n return true;\n // Another popover's trigger: let the click through so it can open.\n return false;\n },\n );\n\n let overlay = (\n <Popover\n ref={overlayRef}\n styles={styles}\n hideOnClose={hideOnClose}\n isOpen={state.isOpen}\n style={popoverProps.style}\n placement={placement}\n arrowProps={arrowProps}\n isKeyboardDismissDisabled={isKeyboardDismissDisabled}\n hideArrow={hideArrow}\n shouldCloseOnInteractOutside={resolveShouldCloseOnInteractOutside}\n onClose={onClose}\n >\n {typeof content === 'function' ? content(state.close) : content}\n </Popover>\n );\n\n return (\n <DialogTriggerBase\n type=\"popover\"\n state={state}\n triggerProps={triggerPropsWithRef}\n dialogProps={overlayProps}\n trigger={trigger}\n overlay={overlay}\n onClose={onClose}\n />\n );\n}\n\nfunction DialogTriggerBase(props: any) {\n const ref = useCombinedRefs<HTMLElement>(props.ref);\n const wasOpenRef = useRef(false);\n\n // Mirror the press-responder DOM node into the parent's sync trigger ref.\n // Done via `useLayoutEffect` rather than threading through `useCombinedRefs`\n // for consistency with `PopoverTrigger` (see comment there) — keeps the\n // sync-ref population deterministic regardless of branch.\n useLayoutEffect(() => {\n if (props.syncTriggerRef) {\n props.syncTriggerRef.current = ref.current ?? null;\n }\n });\n\n let {\n type,\n state,\n onClose,\n isDismissable,\n dialogProps = {},\n triggerProps = {},\n overlay,\n trigger,\n } = props;\n\n let context = {\n type,\n onClose,\n isDismissable,\n isOpen: state.isOpen,\n ...dialogProps,\n };\n\n // Restore focus manually when the dialog closes\n useEffect(() => {\n if (!state.isOpen && wasOpenRef.current) {\n wasOpenRef.current = false;\n ref.current?.focus();\n } else if (state.isOpen) {\n wasOpenRef.current = true;\n }\n }, [state.isOpen]);\n\n // Mark popover-type DialogTrigger children with `data-popover-trigger` so\n // `Button` / `ItemButton`'s default dismiss-on-press behaviour treats them\n // as popover triggers (skips the dismiss). Modal/tray/fullscreen children\n // intentionally stay UNMARKED — when a modal-type DialogTrigger lives\n // inside a popover footer, pressing it should dismiss the parent popover\n // (matching the \"modal takes over\" native UX).\n const triggerExtraProps =\n type === 'popover' ? { 'data-popover-trigger': '' } : {};\n\n return (\n <Fragment>\n <PressResponder\n ref={ref}\n {...triggerProps}\n {...triggerExtraProps}\n isPressed={\n state.isOpen &&\n type !== 'modal' &&\n type !== 'fullscreen' &&\n type !== 'fullscreenTakeover'\n }\n onPress={state.toggle}\n >\n {trigger}\n </PressResponder>\n <DialogContext.Provider value={context}>{overlay}</DialogContext.Provider>\n </Fragment>\n );\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
  import invariant from "tiny-invariant";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { DialogContainer } from "./DialogContainer.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { _Overlay } from "./Overlay.js";
4
4
  import { _Underlay } from "./Underlay.js";
@@ -6,7 +6,7 @@ import { tasty } from "@tenphi/tasty";
6
6
  import { forwardRef } from "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
8
  import { useModal, useOverlay, usePreventScroll } from "react-aria";
9
- import { useDOMRef } from "@react-spectrum/utils";
9
+ import { useObjectRef } from "@react-aria/utils";
10
10
 
11
11
  //#region src/components/overlays/Modal/Modal.tsx
12
12
  const OVERLAY_WRAPPER_STYLES = {
@@ -65,7 +65,7 @@ const ModalElement = tasty({ styles: {
65
65
  } });
66
66
  function Modal(props, ref) {
67
67
  let { qa, children, onClose, type, styles, ...otherProps } = props;
68
- let domRef = useDOMRef(ref);
68
+ let domRef = useObjectRef(ref);
69
69
  let { overlayProps, underlayProps } = useOverlay({ ...props }, domRef);
70
70
  return /* @__PURE__ */ jsxs(_Overlay, {
71
71
  ...otherProps,
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","names":["Overlay","Underlay","mergeProps"],"sources":["../../../../src/components/overlays/Modal/Modal.tsx"],"sourcesContent":["import { useDOMRef } from '@react-spectrum/utils';\nimport { BaseProps, Props, Styles, tasty } from '@tenphi/tasty';\nimport { forwardRef, ReactNode } from 'react';\nimport { useModal, useOverlay, usePreventScroll } from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react';\n\nimport { Overlay } from './Overlay';\nimport { ModalProps, TransitionState, WithCloseBehavior } from './types';\nimport { Underlay } from './Underlay';\n\nexport const OVERLAY_WRAPPER_STYLES: Styles = {\n position: 'fixed',\n display: 'grid',\n left: 0,\n top: 0,\n placeItems: {\n '': 'center',\n 'type=fullscreen': 'center',\n 'type=fullscreenTakeover | type=panel': 'stretch',\n },\n boxSizing: 'border-box',\n width: '100vw',\n height: '100dvh',\n pointerEvents: 'none',\n zIndex: 10,\n transition: {\n '': 'visibility .5s steps(2, start)',\n open: 'visibility 0s linear',\n },\n};\n\nconst ModalWrapperElement = tasty({\n qa: 'ModalWrapper',\n styles: OVERLAY_WRAPPER_STYLES,\n});\n\nconst ModalElement = tasty({\n styles: {\n display: {\n '': 'none',\n 'enter | entered': 'grid',\n exit: 'grid',\n unmounted: 'none',\n },\n zIndex: 10,\n height: {\n '': 'max 90dvh',\n 'type=fullscreenTakeover | type=panel': '100dvh 100dvh',\n 'type=fullscreen': '(100dvh - 8x) (100dvh - 8x)',\n 'type=panel': 'auto',\n },\n width: {\n '': '$min-dialog-size (100dvw - 8x)',\n 'type=panel': 'auto',\n },\n pointerEvents: 'none',\n transition: 'opacity .25s linear, transform .25s ease-in-out',\n transform: {\n '': 'initial',\n 'type=modal & !open': 'translate(0, -3x) scale(1, 1)',\n '(type^=fullscreen | type=panel) & !open':\n 'translate(0, 0) scale(1.02, 1.02)',\n },\n opacity: {\n '': 0,\n open: 0.9999,\n },\n },\n});\n\nexport interface CubeModalProps\n extends Omit<ModalProps, 'container' | 'type' | 'nodeRef'>,\n WithCloseBehavior {\n container?: HTMLElement;\n qa?: BaseProps['qa'];\n onClose?: (action?: string) => void;\n type?: 'modal' | 'fullscreen' | 'fullscreenTakeover' | 'panel';\n styles?: Styles;\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n}\n\nfunction Modal(props: CubeModalProps, ref) {\n let { qa, children, onClose, type, styles, ...otherProps } = props;\n let domRef = useDOMRef(ref);\n\n let { overlayProps, underlayProps } = useOverlay({ ...props }, domRef);\n\n return (\n <Overlay {...otherProps}>\n {type !== 'fullscreenTakeover' && type !== 'panel' && (\n <Underlay {...underlayProps} />\n )}\n <ModalWrapper\n ref={domRef}\n qa={qa}\n type={type}\n overlayProps={overlayProps}\n styles={styles}\n onClose={onClose}\n >\n {children}\n </ModalWrapper>\n </Overlay>\n );\n}\n\ninterface ModalWrapperProps extends TransitionState {\n children?: ReactNode;\n qa?: BaseProps['qa'];\n isOpen?: boolean;\n type?: 'modal' | 'fullscreen' | 'fullscreenTakeover' | 'panel';\n placement?: 'top' | 'bottom';\n styles?: Styles;\n overlayProps?: Props;\n onClose?: () => void;\n}\n\nlet ModalWrapper = forwardRef(function ModalWrapper(\n props: ModalWrapperProps,\n ref,\n) {\n let {\n qa,\n children,\n isOpen,\n type,\n placement,\n styles,\n overlayProps,\n transitionState,\n ...otherProps\n } = props;\n\n usePreventScroll({ isDisabled: transitionState !== 'entered' });\n\n let { modalProps } = useModal({ isDisabled: transitionState !== 'entered' });\n\n return (\n <ModalWrapperElement data-type={type} data-placement={placement}>\n <ModalElement\n qa={qa || 'Modal'}\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-type={type}\n data-placement={placement}\n {...mergeProps(otherProps, overlayProps, modalProps)}\n ref={ref}\n >\n {children}\n </ModalElement>\n </ModalWrapperElement>\n );\n});\n\nlet _Modal = forwardRef(Modal);\n\n_Modal.displayName = 'Modal';\n\nexport { _Modal as Modal };\n"],"mappings":";;;;;;;;;;;AAWA,MAAa,yBAAiC;CAC5C,UAAU;CACV,SAAS;CACT,MAAM;CACN,KAAK;CACL,YAAY;EACV,IAAI;EACJ,mBAAmB;EACnB,wCAAwC;EACzC;CACD,WAAW;CACX,OAAO;CACP,QAAQ;CACR,eAAe;CACf,QAAQ;CACR,YAAY;EACV,IAAI;EACJ,MAAM;EACP;CACF;AAED,MAAM,sBAAsB,MAAM;CAChC,IAAI;CACJ,QAAQ;CACT,CAAC;AAEF,MAAM,eAAe,MAAM,EACzB,QAAQ;CACN,SAAS;EACP,IAAI;EACJ,mBAAmB;EACnB,MAAM;EACN,WAAW;EACZ;CACD,QAAQ;CACR,QAAQ;EACN,IAAI;EACJ,wCAAwC;EACxC,mBAAmB;EACnB,cAAc;EACf;CACD,OAAO;EACL,IAAI;EACJ,cAAc;EACf;CACD,eAAe;CACf,YAAY;CACZ,WAAW;EACT,IAAI;EACJ,sBAAsB;EACtB,2CACE;EACH;CACD,SAAS;EACP,IAAI;EACJ,MAAM;EACP;CACF,EACF,CAAC;AAaF,SAAS,MAAM,OAAuB,KAAK;CACzC,IAAI,EAAE,IAAI,UAAU,SAAS,MAAM,QAAQ,GAAG,eAAe;CAC7D,IAAI,SAAS,UAAU,IAAI;CAE3B,IAAI,EAAE,cAAc,kBAAkB,WAAW,EAAE,GAAG,OAAO,EAAE,OAAO;AAEtE,QACE,qBAACA;EAAQ,GAAI;aACV,SAAS,wBAAwB,SAAS,WACzC,oBAACC,aAAS,GAAI,gBAAiB,EAEjC,oBAAC;GACC,KAAK;GACD;GACE;GACQ;GACN;GACC;GAER;IACY;GACP;;AAed,IAAI,eAAe,WAAW,SAAS,aACrC,OACA,KACA;CACA,IAAI,EACF,IACA,UACA,QACA,MACA,WACA,QACA,cACA,iBACA,GAAG,eACD;AAEJ,kBAAiB,EAAE,YAAY,oBAAoB,WAAW,CAAC;CAE/D,IAAI,EAAE,eAAe,SAAS,EAAE,YAAY,oBAAoB,WAAW,CAAC;AAE5E,QACE,oBAAC;EAAoB,aAAW;EAAM,kBAAgB;YACpD,oBAAC;GACC,IAAI,MAAM;GACF;GACR,MAAM;IACJ,MAAM;IACN,OAAO,oBAAoB;IAC3B,MAAM,oBAAoB;IAC1B,WAAW,oBAAoB;IAC/B,SAAS,oBAAoB;IAC9B;GACD,aAAW;GACX,kBAAgB;GAChB,GAAIC,aAAW,YAAY,cAAc,WAAW;GAC/C;GAEJ;IACY;GACK;EAExB;AAEF,IAAI,SAAS,WAAW,MAAM;AAE9B,OAAO,cAAc"}
1
+ {"version":3,"file":"Modal.js","names":["Overlay","Underlay","mergeProps"],"sources":["../../../../src/components/overlays/Modal/Modal.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, Props, Styles, tasty } from '@tenphi/tasty';\nimport { forwardRef, ReactNode } from 'react';\nimport { useModal, useOverlay, usePreventScroll } from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react';\n\nimport { Overlay } from './Overlay';\nimport { ModalProps, TransitionState, WithCloseBehavior } from './types';\nimport { Underlay } from './Underlay';\n\nexport const OVERLAY_WRAPPER_STYLES: Styles = {\n position: 'fixed',\n display: 'grid',\n left: 0,\n top: 0,\n placeItems: {\n '': 'center',\n 'type=fullscreen': 'center',\n 'type=fullscreenTakeover | type=panel': 'stretch',\n },\n boxSizing: 'border-box',\n width: '100vw',\n height: '100dvh',\n pointerEvents: 'none',\n zIndex: 10,\n transition: {\n '': 'visibility .5s steps(2, start)',\n open: 'visibility 0s linear',\n },\n};\n\nconst ModalWrapperElement = tasty({\n qa: 'ModalWrapper',\n styles: OVERLAY_WRAPPER_STYLES,\n});\n\nconst ModalElement = tasty({\n styles: {\n display: {\n '': 'none',\n 'enter | entered': 'grid',\n exit: 'grid',\n unmounted: 'none',\n },\n zIndex: 10,\n height: {\n '': 'max 90dvh',\n 'type=fullscreenTakeover | type=panel': '100dvh 100dvh',\n 'type=fullscreen': '(100dvh - 8x) (100dvh - 8x)',\n 'type=panel': 'auto',\n },\n width: {\n '': '$min-dialog-size (100dvw - 8x)',\n 'type=panel': 'auto',\n },\n pointerEvents: 'none',\n transition: 'opacity .25s linear, transform .25s ease-in-out',\n transform: {\n '': 'initial',\n 'type=modal & !open': 'translate(0, -3x) scale(1, 1)',\n '(type^=fullscreen | type=panel) & !open':\n 'translate(0, 0) scale(1.02, 1.02)',\n },\n opacity: {\n '': 0,\n open: 0.9999,\n },\n },\n});\n\nexport interface CubeModalProps\n extends Omit<ModalProps, 'container' | 'type' | 'nodeRef'>,\n WithCloseBehavior {\n container?: HTMLElement;\n qa?: BaseProps['qa'];\n onClose?: (action?: string) => void;\n type?: 'modal' | 'fullscreen' | 'fullscreenTakeover' | 'panel';\n styles?: Styles;\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n}\n\nfunction Modal(props: CubeModalProps, ref) {\n let { qa, children, onClose, type, styles, ...otherProps } = props;\n let domRef = useObjectRef(ref);\n\n let { overlayProps, underlayProps } = useOverlay({ ...props }, domRef);\n\n return (\n <Overlay {...otherProps}>\n {type !== 'fullscreenTakeover' && type !== 'panel' && (\n <Underlay {...underlayProps} />\n )}\n <ModalWrapper\n ref={domRef}\n qa={qa}\n type={type}\n overlayProps={overlayProps}\n styles={styles}\n onClose={onClose}\n >\n {children}\n </ModalWrapper>\n </Overlay>\n );\n}\n\ninterface ModalWrapperProps extends TransitionState {\n children?: ReactNode;\n qa?: BaseProps['qa'];\n isOpen?: boolean;\n type?: 'modal' | 'fullscreen' | 'fullscreenTakeover' | 'panel';\n placement?: 'top' | 'bottom';\n styles?: Styles;\n overlayProps?: Props;\n onClose?: () => void;\n}\n\nlet ModalWrapper = forwardRef(function ModalWrapper(\n props: ModalWrapperProps,\n ref,\n) {\n let {\n qa,\n children,\n isOpen,\n type,\n placement,\n styles,\n overlayProps,\n transitionState,\n ...otherProps\n } = props;\n\n usePreventScroll({ isDisabled: transitionState !== 'entered' });\n\n let { modalProps } = useModal({ isDisabled: transitionState !== 'entered' });\n\n return (\n <ModalWrapperElement data-type={type} data-placement={placement}>\n <ModalElement\n qa={qa || 'Modal'}\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-type={type}\n data-placement={placement}\n {...mergeProps(otherProps, overlayProps, modalProps)}\n ref={ref}\n >\n {children}\n </ModalElement>\n </ModalWrapperElement>\n );\n});\n\nlet _Modal = forwardRef(Modal);\n\n_Modal.displayName = 'Modal';\n\nexport { _Modal as Modal };\n"],"mappings":";;;;;;;;;;;AAWA,MAAa,yBAAiC;CAC5C,UAAU;CACV,SAAS;CACT,MAAM;CACN,KAAK;CACL,YAAY;EACV,IAAI;EACJ,mBAAmB;EACnB,wCAAwC;EACzC;CACD,WAAW;CACX,OAAO;CACP,QAAQ;CACR,eAAe;CACf,QAAQ;CACR,YAAY;EACV,IAAI;EACJ,MAAM;EACP;CACF;AAED,MAAM,sBAAsB,MAAM;CAChC,IAAI;CACJ,QAAQ;CACT,CAAC;AAEF,MAAM,eAAe,MAAM,EACzB,QAAQ;CACN,SAAS;EACP,IAAI;EACJ,mBAAmB;EACnB,MAAM;EACN,WAAW;EACZ;CACD,QAAQ;CACR,QAAQ;EACN,IAAI;EACJ,wCAAwC;EACxC,mBAAmB;EACnB,cAAc;EACf;CACD,OAAO;EACL,IAAI;EACJ,cAAc;EACf;CACD,eAAe;CACf,YAAY;CACZ,WAAW;EACT,IAAI;EACJ,sBAAsB;EACtB,2CACE;EACH;CACD,SAAS;EACP,IAAI;EACJ,MAAM;EACP;CACF,EACF,CAAC;AAaF,SAAS,MAAM,OAAuB,KAAK;CACzC,IAAI,EAAE,IAAI,UAAU,SAAS,MAAM,QAAQ,GAAG,eAAe;CAC7D,IAAI,SAAS,aAAa,IAAI;CAE9B,IAAI,EAAE,cAAc,kBAAkB,WAAW,EAAE,GAAG,OAAO,EAAE,OAAO;AAEtE,QACE,qBAACA;EAAQ,GAAI;aACV,SAAS,wBAAwB,SAAS,WACzC,oBAACC,aAAS,GAAI,gBAAiB,EAEjC,oBAAC;GACC,KAAK;GACD;GACE;GACQ;GACN;GACC;GAER;IACY;GACP;;AAed,IAAI,eAAe,WAAW,SAAS,aACrC,OACA,KACA;CACA,IAAI,EACF,IACA,UACA,QACA,MACA,WACA,QACA,cACA,iBACA,GAAG,eACD;AAEJ,kBAAiB,EAAE,YAAY,oBAAoB,WAAW,CAAC;CAE/D,IAAI,EAAE,eAAe,SAAS,EAAE,YAAY,oBAAoB,WAAW,CAAC;AAE5E,QACE,oBAAC;EAAoB,aAAW;EAAM,kBAAgB;YACpD,oBAAC;GACC,IAAI,MAAM;GACF;GACR,MAAM;IACJ,MAAM;IACN,OAAO,oBAAoB;IAC3B,MAAM,oBAAoB;IAC1B,WAAW,oBAAoB;IAC/B,SAAS,oBAAoB;IAC9B;GACD,aAAW;GACX,kBAAgB;GAChB,GAAIC,aAAW,YAAY,cAAc,WAAW;GAC/C;GAEJ;IACY;GACK;EAExB;AAEF,IAAI,SAAS,WAAW,MAAM;AAE9B,OAAO,cAAc"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
 
4
4
  //#region src/components/overlays/Modal/OpenTransitionContext.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { DisplayTransition } from "../../helpers/DisplayTransition/DisplayTransition.js";
3
3
  import { Provider, useProviderProps } from "../../../provider.js";
4
4
  import { OpenTransitionContext } from "./OpenTransitionContext.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { _Overlay } from "./Overlay.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { _Overlay } from "./Overlay.js";
4
4
  import { _Underlay } from "./Underlay.js";
@@ -7,7 +7,7 @@ import { tasty } from "@tenphi/tasty";
7
7
  import { forwardRef } from "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
  import { useModal, useOverlay, usePreventScroll } from "react-aria";
10
- import { useDOMRef } from "@react-spectrum/utils";
10
+ import { useObjectRef } from "@react-aria/utils";
11
11
 
12
12
  //#region src/components/overlays/Modal/Tray.tsx
13
13
  const TrayWrapperElement = tasty({
@@ -37,7 +37,7 @@ const TrayElement = tasty({ styles: {
37
37
  } });
38
38
  function Tray(props, ref) {
39
39
  let { qa, children, onClose, isFixedHeight, isNonModal, styles, shouldCloseOnInteractOutside, ...otherProps } = props;
40
- let domRef = useDOMRef(ref);
40
+ let domRef = useObjectRef(ref);
41
41
  let { overlayProps, underlayProps } = useOverlay({
42
42
  ...props,
43
43
  isDismissable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"Tray.js","names":["Overlay","Underlay","mergeProps"],"sources":["../../../../src/components/overlays/Modal/Tray.tsx"],"sourcesContent":["import { useDOMRef } from '@react-spectrum/utils';\nimport { BaseProps, Props, Styles, tasty } from '@tenphi/tasty';\nimport { forwardRef, ReactNode } from 'react';\nimport {\n OverlayProps,\n useModal,\n useOverlay,\n usePreventScroll,\n} from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react';\n\nimport { OVERLAY_WRAPPER_STYLES } from './Modal';\nimport { Overlay } from './Overlay';\nimport { TransitionState, WithCloseBehavior } from './types';\nimport { Underlay } from './Underlay';\n\nconst TrayWrapperElement = tasty({\n qa: 'TrayWrapper',\n styles: {\n ...OVERLAY_WRAPPER_STYLES,\n placeContent: 'end center',\n placeItems: 'end center',\n },\n});\n\nconst TrayElement = tasty({\n styles: {\n display: {\n '': 'none',\n 'enter | entered': 'initial',\n exit: 'initial',\n unmounted: 'none',\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 OverlayProps, WithCloseBehavior {\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) {\n let {\n qa,\n children,\n onClose,\n isFixedHeight,\n isNonModal,\n styles,\n shouldCloseOnInteractOutside,\n ...otherProps\n } = props;\n let domRef = useDOMRef(ref);\n\n let { overlayProps, underlayProps } = useOverlay(\n { ...props, isDismissable: true, shouldCloseOnInteractOutside },\n domRef,\n );\n\n return (\n <Overlay {...otherProps}>\n <Underlay {...underlayProps} />\n <TrayWrapper\n ref={domRef}\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 );\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":";;;;;;;;;;;;AAiBA,MAAM,qBAAqB,MAAM;CAC/B,IAAI;CACJ,QAAQ;EACN,GAAG;EACH,cAAc;EACd,YAAY;EACb;CACF,CAAC;AAEF,MAAM,cAAc,MAAM,EACxB,QAAQ;CACN,SAAS;EACP,IAAI;EACJ,mBAAmB;EACnB,MAAM;EACN,WAAW;EACZ;CACD,QAAQ;CACR,QAAQ;CACR,OAAO;CACP,eAAe;CACf,YACE;CACF,SAAS;EACP,IAAI;EACJ,MAAM;EACP;CACF,EACF,CAAC;AA4BF,SAAS,KAAK,OAAsB,KAAK;CACvC,IAAI,EACF,IACA,UACA,SACA,eACA,YACA,QACA,8BACA,GAAG,eACD;CACJ,IAAI,SAAS,UAAU,IAAI;CAE3B,IAAI,EAAE,cAAc,kBAAkB,WACpC;EAAE,GAAG;EAAO,eAAe;EAAM;EAA8B,EAC/D,OACD;AAED,QACE,qBAACA;EAAQ,GAAI;aACX,oBAACC,aAAS,GAAI,gBAAiB,EAC/B,oBAAC;GACC,KAAK;GACD;GACU;GACC;GACH;GACJ;GACC;GAER;IACW;GACN;;AAId,IAAI,cAAc,WAAW,SAAS,YACpC,OACA,KACA;CACA,IAAI,EACF,IACA,UACA,QACA,QACA,eACA,YACA,cACA,iBACA,GAAG,eACD;AACJ,mBAAkB;CAClB,IAAI,EAAE,eAAe,SAAS,EAC5B,YAAY,YACb,CAAC;CAEF,IAAI,WAAWC,aAAW,YAAY,aAAa;AAEnD,QACE,oBAAC;EACC,MAAM,EACJ,MAAM,QACP;YAED,oBAAC;GACC,IAAI,MAAM;GACF;GACR,MAAM;IACJ,MAAM;IACN,OAAO,oBAAoB;IAC3B,MAAM,oBAAoB;IAC1B,WAAW,oBAAoB;IAC/B,SAAS,oBAAoB;IAC7B,gBAAgB;IACjB;GACD,GAAI;GACJ,GAAI;GACC;GAEJ;IACW;GACK;EAEvB;AAEF,IAAI,QAAQ,WAAW,KAAK;AAE5B,MAAM,cAAc"}
1
+ {"version":3,"file":"Tray.js","names":["Overlay","Underlay","mergeProps"],"sources":["../../../../src/components/overlays/Modal/Tray.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, Props, Styles, tasty } from '@tenphi/tasty';\nimport { forwardRef, ReactNode } from 'react';\nimport {\n OverlayProps,\n useModal,\n useOverlay,\n usePreventScroll,\n} from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react';\n\nimport { OVERLAY_WRAPPER_STYLES } from './Modal';\nimport { Overlay } from './Overlay';\nimport { TransitionState, WithCloseBehavior } from './types';\nimport { Underlay } from './Underlay';\n\nconst TrayWrapperElement = tasty({\n qa: 'TrayWrapper',\n styles: {\n ...OVERLAY_WRAPPER_STYLES,\n placeContent: 'end center',\n placeItems: 'end center',\n },\n});\n\nconst TrayElement = tasty({\n styles: {\n display: {\n '': 'none',\n 'enter | entered': 'initial',\n exit: 'initial',\n unmounted: 'none',\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 OverlayProps, WithCloseBehavior {\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) {\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, underlayProps } = useOverlay(\n { ...props, isDismissable: true, shouldCloseOnInteractOutside },\n domRef,\n );\n\n return (\n <Overlay {...otherProps}>\n <Underlay {...underlayProps} />\n <TrayWrapper\n ref={domRef}\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 );\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":";;;;;;;;;;;;AAiBA,MAAM,qBAAqB,MAAM;CAC/B,IAAI;CACJ,QAAQ;EACN,GAAG;EACH,cAAc;EACd,YAAY;EACb;CACF,CAAC;AAEF,MAAM,cAAc,MAAM,EACxB,QAAQ;CACN,SAAS;EACP,IAAI;EACJ,mBAAmB;EACnB,MAAM;EACN,WAAW;EACZ;CACD,QAAQ;CACR,QAAQ;CACR,OAAO;CACP,eAAe;CACf,YACE;CACF,SAAS;EACP,IAAI;EACJ,MAAM;EACP;CACF,EACF,CAAC;AA4BF,SAAS,KAAK,OAAsB,KAAK;CACvC,IAAI,EACF,IACA,UACA,SACA,eACA,YACA,QACA,8BACA,GAAG,eACD;CACJ,IAAI,SAAS,aAAa,IAAI;CAE9B,IAAI,EAAE,cAAc,kBAAkB,WACpC;EAAE,GAAG;EAAO,eAAe;EAAM;EAA8B,EAC/D,OACD;AAED,QACE,qBAACA;EAAQ,GAAI;aACX,oBAACC,aAAS,GAAI,gBAAiB,EAC/B,oBAAC;GACC,KAAK;GACD;GACU;GACC;GACH;GACJ;GACC;GAER;IACW;GACN;;AAId,IAAI,cAAc,WAAW,SAAS,YACpC,OACA,KACA;CACA,IAAI,EACF,IACA,UACA,QACA,QACA,eACA,YACA,cACA,iBACA,GAAG,eACD;AACJ,mBAAkB;CAClB,IAAI,EAAE,eAAe,SAAS,EAC5B,YAAY,YACb,CAAC;CAEF,IAAI,WAAWC,aAAW,YAAY,aAAa;AAEnD,QACE,oBAAC;EACC,MAAM,EACJ,MAAM,QACP;YAED,oBAAC;GACC,IAAI,MAAM;GACF;GACR,MAAM;IACJ,MAAM;IACN,OAAO,oBAAoB;IAC3B,MAAM,oBAAoB;IAC1B,WAAW,oBAAoB;IAC/B,SAAS,oBAAoB;IAC7B,gBAAgB;IACjB;GACD,GAAI;GACJ,GAAI;GACC;GAEJ;IACW;GACK;EAEvB;AAEF,IAAI,QAAQ,WAAW,KAAK;AAE5B,MAAM,cAAc"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { tasty } from "@tenphi/tasty";
3
3
  import { forwardRef } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { useNotificationContext } from "./NotificationContext.js";
3
3
  import { useEffect, useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | 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 { createContext, useContext, useMemo } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { Block } from "../../Block.js";
3
3
  import { ItemActionProvider } from "../../actions/ItemActionContext.js";
4
4
  import { Space } from "../../layout/Space.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | 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.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { NotificationCard } from "./NotificationCard.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { DisplayTransition } from "../../helpers/DisplayTransition/DisplayTransition.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | 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.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { _Text } from "../../content/Text.js";
4
4
  import { NotificationActionInterceptorContext } from "./NotificationAction.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | 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.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | 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.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | 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.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | 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.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | 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.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | 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.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { usePersistentNotificationsContext } from "./NotificationContext.js";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | 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 { useRef, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | 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.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { _Item } from "../../content/Item/Item.js";
3
3
  import { getThemeIcon } from "./useToast.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { useToastContext } from "../Notifications/NotificationContext.js";
3
3
  import { useProgressToast } from "./useProgressToast.js";
4
4
  import { getThemeIcon, useToast } from "./useToast.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | 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 { useToastContext } from "../Notifications/NotificationContext.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { CheckIcon } from "../../../icons/CheckIcon.js";
3
3
  import { DangerIcon } from "../../../icons/DangerIcon.js";
4
4
  import { InfoCircleIcon } from "../../../icons/InfoCircleIcon.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
4
4
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { _Tooltip } from "./Tooltip.js";
3
3
  import { TooltipTrigger } from "./TooltipTrigger.js";
4
4
  import { isValidElement, useEffect, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { TooltipContext } from "./context.js";
3
3
  import { Block } from "../../Block.js";
4
4
  import { _ActiveZone } from "../../content/ActiveZone/ActiveZone.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import React from "react";
3
3
 
4
4
  //#region src/components/overlays/Tooltip/context.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { usePortal } from "./usePortal.js";
3
3
  import { Fragment, jsx } from "react/jsx-runtime";
4
4
  import { createPortal } from "react-dom";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
 
4
4
  //#region src/components/portal/PortalProvider.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { usePortalContext } from "./PortalProvider.js";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import invariant from "tiny-invariant";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useCallback, useEffect, useMemo, useRef } from "react";
4
4
  import { ListDropTargetDelegate, ListKeyboardDelegate, mergeProps, useDraggableCollection, useDroppableCollection } from "react-aria";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { WarningIcon } from "../../icons/WarningIcon.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.141.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.142.1 | Cube Dev Team */
2
2
  import { CheckIcon } from "../../icons/CheckIcon.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4