@cube-dev/ui-kit 0.189.0 → 0.190.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 (605) hide show
  1. package/dist/CHANGELOG.md +20 -0
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.js +1 -1
  12. package/dist/components/GlobalStyles.js +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.js +1 -1
  16. package/dist/components/actions/Action/Action.js +1 -1
  17. package/dist/components/actions/Banner/Banner.js +1 -1
  18. package/dist/components/actions/Button/Button.js +5 -4
  19. package/dist/components/actions/Button/Button.js.map +1 -1
  20. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  21. package/dist/components/actions/ButtonSplit/ButtonSplit.js +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 +83 -79
  26. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  27. package/dist/components/actions/ItemActionContext.js +1 -1
  28. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  29. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  30. package/dist/components/actions/Link/Link.js +1 -1
  31. package/dist/components/actions/Menu/Menu.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 +3 -3
  42. package/dist/components/actions/use-action.js.map +1 -1
  43. package/dist/components/actions/use-anchored-menu.js +1 -1
  44. package/dist/components/actions/use-context-menu.js +1 -1
  45. package/dist/components/content/ActiveZone/ActiveZone.js +37 -43
  46. package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
  47. package/dist/components/content/Alert/Alert.js +1 -1
  48. package/dist/components/content/Alert/use-alert.js +1 -1
  49. package/dist/components/content/Avatar/Avatar.js +1 -1
  50. package/dist/components/content/Badge/Badge.js +1 -1
  51. package/dist/components/content/Card/Card.js +1 -1
  52. package/dist/components/content/Content.js +1 -1
  53. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  54. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  55. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  56. package/dist/components/content/Divider.js +1 -1
  57. package/dist/components/content/Footer.js +1 -1
  58. package/dist/components/content/Header.js +1 -1
  59. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  60. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  61. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  62. package/dist/components/content/Item/Item.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 +1 -1
  67. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  68. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  69. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  70. package/dist/components/content/Layout/LayoutContent.js +1 -1
  71. package/dist/components/content/Layout/LayoutContext.js +1 -1
  72. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  73. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  74. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  75. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  76. package/dist/components/content/Layout/LayoutPane.js +1 -1
  77. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  78. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  79. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  80. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  81. package/dist/components/content/Layout/index.js +1 -1
  82. package/dist/components/content/Layout/utils.js +1 -1
  83. package/dist/components/content/Paragraph.js +1 -1
  84. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  85. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  86. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  87. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  88. package/dist/components/content/Result/Result.js +1 -1
  89. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  90. package/dist/components/content/Tag/Tag.js +1 -1
  91. package/dist/components/content/Text.d.ts +14 -14
  92. package/dist/components/content/Text.js +1 -1
  93. package/dist/components/content/TextItem/TextItem.js +1 -1
  94. package/dist/components/content/Title.js +1 -1
  95. package/dist/components/content/Tree/Tree.js +1 -1
  96. package/dist/components/content/Tree/TreeNode.js +1 -1
  97. package/dist/components/content/Tree/styled.js +1 -1
  98. package/dist/components/content/Tree/tree-index.js +1 -1
  99. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  100. package/dist/components/content/Tree/use-load-data.js +1 -1
  101. package/dist/components/content/highlightText.js +1 -1
  102. package/dist/components/content/use-auto-tooltip.js +1 -1
  103. package/dist/components/data/DataTable/DataTable.js +1 -1
  104. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  105. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  106. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  107. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  108. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  109. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  110. package/dist/components/data/TableBase/RowCollection.js +1 -1
  111. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  112. package/dist/components/data/TableBase/TableRow.js +1 -1
  113. package/dist/components/data/TableBase/TableView.js +1 -1
  114. package/dist/components/data/TableBase/column-menu.js +1 -1
  115. package/dist/components/data/TableBase/column-styles.js +1 -1
  116. package/dist/components/data/TableBase/column-tint.js +2 -6
  117. package/dist/components/data/TableBase/column-tint.js.map +1 -1
  118. package/dist/components/data/TableBase/row-menu.js +1 -1
  119. package/dist/components/data/TableBase/styled.js +1 -1
  120. package/dist/components/data/TableBase/styled.js.map +1 -1
  121. package/dist/components/data/TableBase/table-tree.js +1 -1
  122. package/dist/components/data/TableBase/types.js +1 -1
  123. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  124. package/dist/components/data/TableBase/use-column-order.js +1 -1
  125. package/dist/components/data/TableBase/use-container-width.js +1 -1
  126. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  127. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  128. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  129. package/dist/components/data/TableBase/use-table-search.js +1 -1
  130. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  131. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  132. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  133. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  134. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  135. package/dist/components/fields/Checkbox/Checkbox.js +2 -2
  136. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  137. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  138. package/dist/components/fields/Checkbox/context.js +1 -1
  139. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  140. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  141. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  142. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +49 -55
  143. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  144. package/dist/components/fields/ComboBox/ComboBox.js +2 -2
  145. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  146. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  147. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  148. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  149. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  150. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  151. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  152. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  153. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  154. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  155. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  156. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  157. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  158. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  159. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  160. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  161. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  162. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  163. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  164. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  165. package/dist/components/fields/DatePicker/period.js +1 -1
  166. package/dist/components/fields/DatePicker/props.js +1 -1
  167. package/dist/components/fields/DatePicker/utils.js +1 -1
  168. package/dist/components/fields/FileInput/FileInput.js +1 -1
  169. package/dist/components/fields/FilterListBox/FilterListBox.js +2 -2
  170. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  171. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  172. package/dist/components/fields/Input/Input.js +1 -1
  173. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  174. package/dist/components/fields/ListBox/ListBox.js +2 -2
  175. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  176. package/dist/components/fields/ListBox/optionId.js +1 -1
  177. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +3 -2
  178. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  179. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  180. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  181. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  182. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  183. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  184. package/dist/components/fields/Picker/Picker.js +1 -1
  185. package/dist/components/fields/RadioGroup/Radio.js +132 -138
  186. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  187. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  188. package/dist/components/fields/RadioGroup/context.js +1 -1
  189. package/dist/components/fields/SearchComboBox/SearchComboBox.js +2 -2
  190. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  191. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  192. package/dist/components/fields/Select/Select.js +65 -70
  193. package/dist/components/fields/Select/Select.js.map +1 -1
  194. package/dist/components/fields/Slider/Gradation.js +1 -1
  195. package/dist/components/fields/Slider/HueSlider.js +1 -1
  196. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  197. package/dist/components/fields/Slider/Slider.js +1 -1
  198. package/dist/components/fields/Slider/SliderBase.js +1 -1
  199. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  200. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  201. package/dist/components/fields/Slider/elements.js +1 -1
  202. package/dist/components/fields/Slider/index.js +1 -1
  203. package/dist/components/fields/Switch/Switch.js +106 -112
  204. package/dist/components/fields/Switch/Switch.js.map +1 -1
  205. package/dist/components/fields/TagInput/TagInput.js +1 -1
  206. package/dist/components/fields/TagInput/TagList.js +1 -1
  207. package/dist/components/fields/TextArea/TextArea.js +1 -1
  208. package/dist/components/fields/TextInput/TextInput.js +1 -1
  209. package/dist/components/fields/TextInput/TextInputBase.js +2 -2
  210. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  211. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  212. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  213. package/dist/components/fields/TriggerActions.js +1 -1
  214. package/dist/components/fields/color/ColorPanel.js +1 -1
  215. package/dist/components/fields/color/channels.js +1 -1
  216. package/dist/components/fields/color/color.js +1 -1
  217. package/dist/components/fields/color/context.js +1 -1
  218. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  219. package/dist/components/form/Form/Field.js +1 -1
  220. package/dist/components/form/Form/Form.js +1 -1
  221. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  222. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  223. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  224. package/dist/components/form/Form/SubmitError.js +1 -1
  225. package/dist/components/form/Form/backend.js +1 -1
  226. package/dist/components/form/Form/index.js +1 -1
  227. package/dist/components/form/Form/modern/actions.js +1 -1
  228. package/dist/components/form/Form/modern/context.js +1 -1
  229. package/dist/components/form/Form/modern/controller.js +1 -1
  230. package/dist/components/form/Form/modern/field-binding.js +1 -1
  231. package/dist/components/form/Form/modern/field.js +1 -1
  232. package/dist/components/form/Form/modern/react.js +1 -1
  233. package/dist/components/form/Form/modern/store.js +1 -1
  234. package/dist/components/form/Form/modern/validation.js +1 -1
  235. package/dist/components/form/Form/modern/values.js +1 -1
  236. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  237. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  238. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  239. package/dist/components/form/Form/use-field/use-field.js +1 -1
  240. package/dist/components/form/Form/use-form.js +1 -1
  241. package/dist/components/form/Form/validation.js +1 -1
  242. package/dist/components/form/Label.js +1 -1
  243. package/dist/components/form/legacy-tooltip.js +1 -1
  244. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  245. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  246. package/dist/components/form/validation/use-validation-props.js +1 -1
  247. package/dist/components/form/wrapper.js +1 -1
  248. package/dist/components/helpers/DisplayTransition/DisplayTransition.d.ts +9 -1
  249. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +2 -1
  250. package/dist/components/helpers/DisplayTransition/DisplayTransition.js.map +1 -1
  251. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  252. package/dist/components/layout/Board/Board.js +1 -1
  253. package/dist/components/layout/Board/BoardProvider.js +1 -1
  254. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  255. package/dist/components/layout/Board/Widget.js +1 -1
  256. package/dist/components/layout/Board/WidgetHost.js +1 -1
  257. package/dist/components/layout/Board/board-context.js +1 -1
  258. package/dist/components/layout/Board/board-store.js +1 -1
  259. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  260. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  261. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  262. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  263. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  264. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  265. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  266. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  267. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  268. package/dist/components/layout/Board/index.js +1 -1
  269. package/dist/components/layout/Board/responsive-utils.js +1 -1
  270. package/dist/components/layout/Board/use-board-layout.js +1 -1
  271. package/dist/components/layout/Board/use-board-registry.js +1 -1
  272. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  273. package/dist/components/layout/Board/use-board-selection.js +1 -1
  274. package/dist/components/layout/Flex.js +1 -1
  275. package/dist/components/layout/Flow.js +1 -1
  276. package/dist/components/layout/Grid.js +1 -1
  277. package/dist/components/layout/Panel.js +1 -1
  278. package/dist/components/layout/Prefix.js +1 -1
  279. package/dist/components/layout/ResizablePanel.js +1 -1
  280. package/dist/components/layout/Space.js +1 -1
  281. package/dist/components/layout/Suffix.js +1 -1
  282. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  283. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  284. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  285. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  286. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  287. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  288. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  289. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  290. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  291. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  292. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  293. package/dist/components/navigation/Tabs/styled.js +1 -1
  294. package/dist/components/navigation/Tabs/types.js +1 -1
  295. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  296. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  297. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  298. package/dist/components/other/Calendar/Calendar.js +1 -1
  299. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  300. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  301. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  302. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  303. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  304. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  305. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  306. package/dist/components/other/Calendar/styled.js +1 -1
  307. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  308. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  309. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  310. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.d.ts +20 -32
  311. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +117 -54
  312. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
  313. package/dist/components/overlays/AlertDialog/AlertDialogZone.d.ts +1 -0
  314. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +107 -88
  315. package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
  316. package/dist/components/overlays/AlertDialog/types.d.ts +30 -1
  317. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  318. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  319. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  320. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  321. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  322. package/dist/components/overlays/Dialog/context.js +1 -1
  323. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  324. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  325. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  326. package/dist/components/overlays/Modal/Modal.js +4 -2
  327. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  328. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  329. package/dist/components/overlays/Modal/Overlay.js +4 -3
  330. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  331. package/dist/components/overlays/Modal/Popover.js +2 -2
  332. package/dist/components/overlays/Modal/Tray.js +4 -2
  333. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  334. package/dist/components/overlays/Modal/Underlay.js +1 -1
  335. package/dist/components/overlays/Notifications/Notification.js +1 -1
  336. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  337. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  338. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  339. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  340. package/dist/components/overlays/Notifications/OverlayContainer.js +45 -39
  341. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  342. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  343. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  344. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  345. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  346. package/dist/components/overlays/Notifications/index.js +1 -1
  347. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  348. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  349. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  350. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  351. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  352. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  353. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  354. package/dist/components/overlays/Toast/index.js +1 -1
  355. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  356. package/dist/components/overlays/Toast/useToast.js +1 -1
  357. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  358. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  359. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  360. package/dist/components/overlays/Tooltip/context.js +1 -1
  361. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  362. package/dist/components/portal/Portal.js +1 -1
  363. package/dist/components/portal/PortalProvider.js +1 -1
  364. package/dist/components/portal/usePortal.js +1 -1
  365. package/dist/components/shared/DraggableCollection.js +1 -1
  366. package/dist/components/shared/InvalidIcon.js +1 -1
  367. package/dist/components/shared/ValidIcon.js +1 -1
  368. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  369. package/dist/components/status/Spin/Cube.js +1 -1
  370. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  371. package/dist/components/status/Spin/Spin.js +1 -1
  372. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  373. package/dist/data/item-themes.js +19 -19
  374. package/dist/data/item-themes.js.map +1 -1
  375. package/dist/data/themes.js +1 -1
  376. package/dist/eslint-plugin/defaults.generated.js +1 -1
  377. package/dist/eslint-plugin/index.js +1 -1
  378. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  379. package/dist/i18n/I18nProvider.js +1 -1
  380. package/dist/i18n/createFormatter.js +1 -1
  381. package/dist/i18n/index.js +1 -1
  382. package/dist/i18n/instance.js +1 -1
  383. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  384. package/dist/i18n/locales/en-US/uikit.js +1 -1
  385. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  386. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  387. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  388. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  389. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  390. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  391. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  392. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  393. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  394. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  395. package/dist/i18n/locales.js +1 -1
  396. package/dist/i18n/useFormatter.js +1 -1
  397. package/dist/i18n/useI18n.js +1 -1
  398. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  399. package/dist/icons/AdjustmentsIcon.js +1 -1
  400. package/dist/icons/AiIcon.js +1 -1
  401. package/dist/icons/AreaChartIcon.js +1 -1
  402. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  403. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  404. package/dist/icons/BackwardIcon.js +1 -1
  405. package/dist/icons/BarChartIcon.js +1 -1
  406. package/dist/icons/BellFilledIcon.js +1 -1
  407. package/dist/icons/BellIcon.js +1 -1
  408. package/dist/icons/BooleanIcon.js +1 -1
  409. package/dist/icons/CalendarEditIcon.js +1 -1
  410. package/dist/icons/CalendarIcon.js +1 -1
  411. package/dist/icons/CaretDownIcon.js +1 -1
  412. package/dist/icons/CaretUpIcon.js +1 -1
  413. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  414. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  415. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  416. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  417. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  418. package/dist/icons/ChartBarLineIcon.js +1 -1
  419. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  420. package/dist/icons/ChartBarStackedIcon.js +1 -1
  421. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  422. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  423. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  424. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  425. package/dist/icons/ChartBubbleIcon.js +1 -1
  426. package/dist/icons/ChartDonut2Icon.js +1 -1
  427. package/dist/icons/ChartFunnelIcon.js +1 -1
  428. package/dist/icons/ChartHeatmapIcon.js +1 -1
  429. package/dist/icons/ChartKPIIcon.js +1 -1
  430. package/dist/icons/ChartPie2Icon.js +1 -1
  431. package/dist/icons/ChartScatterIcon.js +1 -1
  432. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  433. package/dist/icons/CheckCircleIcon.js +1 -1
  434. package/dist/icons/CheckIcon.js +1 -1
  435. package/dist/icons/CircleFilledIcon.js +1 -1
  436. package/dist/icons/ClearIcon.js +1 -1
  437. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  438. package/dist/icons/CloseCircleIcon.js +1 -1
  439. package/dist/icons/CloseIcon.js +1 -1
  440. package/dist/icons/CodeIcon.js +1 -1
  441. package/dist/icons/ColumnTotalIcon.js +1 -1
  442. package/dist/icons/CopyIcon.js +1 -1
  443. package/dist/icons/CountIcon.js +1 -1
  444. package/dist/icons/CubeIcon.js +1 -1
  445. package/dist/icons/CubePauseIcon.js +1 -1
  446. package/dist/icons/CubePlayIcon.js +1 -1
  447. package/dist/icons/CurrencyDollarIcon.js +1 -1
  448. package/dist/icons/DangerIcon.js +1 -1
  449. package/dist/icons/DashboardIcon.js +1 -1
  450. package/dist/icons/DatabaseIcon.js +1 -1
  451. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  452. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  453. package/dist/icons/DirectionIcon.js +1 -1
  454. package/dist/icons/DonutIcon.js +1 -1
  455. package/dist/icons/DownIcon.js +1 -1
  456. package/dist/icons/EditIcon.js +1 -1
  457. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  458. package/dist/icons/ExclamationCircleIcon.js +1 -1
  459. package/dist/icons/ExclamationIcon.js +1 -1
  460. package/dist/icons/EyeIcon.js +1 -1
  461. package/dist/icons/EyeInvisibleIcon.js +1 -1
  462. package/dist/icons/FilterIcon.js +1 -1
  463. package/dist/icons/FolderFilledIcon.js +1 -1
  464. package/dist/icons/FolderIcon.js +1 -1
  465. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  466. package/dist/icons/FolderOpenIcon.js +1 -1
  467. package/dist/icons/ForwardIcon.js +1 -1
  468. package/dist/icons/GripVerticalIcon.js +1 -1
  469. package/dist/icons/HierarchyIcon.js +1 -1
  470. package/dist/icons/HierarchyOpenIcon.js +1 -1
  471. package/dist/icons/Icon.js +1 -1
  472. package/dist/icons/InfoCircleIcon.js +1 -1
  473. package/dist/icons/InfoIcon.js +1 -1
  474. package/dist/icons/KeyIcon.js +1 -1
  475. package/dist/icons/LeftIcon.js +1 -1
  476. package/dist/icons/LineChartIcon.js +1 -1
  477. package/dist/icons/LoadingIcon.js +1 -1
  478. package/dist/icons/LockFilledIcon.js +1 -1
  479. package/dist/icons/LockIcon.js +1 -1
  480. package/dist/icons/MoreIcon.js +1 -1
  481. package/dist/icons/NotAllowedIcon.js +1 -1
  482. package/dist/icons/Number123Icon.js +1 -1
  483. package/dist/icons/NumberIcon.js +1 -1
  484. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  485. package/dist/icons/PauseCircleIcon.js +1 -1
  486. package/dist/icons/PauseIcon.js +1 -1
  487. package/dist/icons/PercentageIcon.js +1 -1
  488. package/dist/icons/PieChartIcon.js +1 -1
  489. package/dist/icons/PipetteIcon.js +1 -1
  490. package/dist/icons/PlayCircleIcon.js +1 -1
  491. package/dist/icons/PlayIcon.js +1 -1
  492. package/dist/icons/PlusIcon.js +1 -1
  493. package/dist/icons/ProgressBarIcon.js +1 -1
  494. package/dist/icons/ReloadIcon.js +1 -1
  495. package/dist/icons/ReportIcon.js +1 -1
  496. package/dist/icons/ReturnIcon.js +1 -1
  497. package/dist/icons/RightIcon.js +1 -1
  498. package/dist/icons/RowTotalsIcon.js +1 -1
  499. package/dist/icons/SchemeIcon.js +1 -1
  500. package/dist/icons/SearchIcon.js +1 -1
  501. package/dist/icons/SemanticQueryIcon.js +1 -1
  502. package/dist/icons/SettingsIcon.js +1 -1
  503. package/dist/icons/ShieldFilledIcon.js +1 -1
  504. package/dist/icons/ShieldIcon.js +1 -1
  505. package/dist/icons/SlashIcon.js +1 -1
  506. package/dist/icons/SparklesIcon.js +1 -1
  507. package/dist/icons/SqlIcon.js +1 -1
  508. package/dist/icons/StatsIcon.js +1 -1
  509. package/dist/icons/StopIcon.js +1 -1
  510. package/dist/icons/StringIcon.js +1 -1
  511. package/dist/icons/SubtotalsIcon.js +1 -1
  512. package/dist/icons/SwitchIcon.js +1 -1
  513. package/dist/icons/TableIcon.js +1 -1
  514. package/dist/icons/ThumbsDownIcon.js +1 -1
  515. package/dist/icons/ThumbsUpIcon.js +1 -1
  516. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  517. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  518. package/dist/icons/ThunderboltIcon.js +1 -1
  519. package/dist/icons/TimeIcon.js +1 -1
  520. package/dist/icons/TrashIcon.js +1 -1
  521. package/dist/icons/UnlockIcon.js +1 -1
  522. package/dist/icons/UpIcon.js +1 -1
  523. package/dist/icons/UserGroupIcon.js +1 -1
  524. package/dist/icons/UserIcon.js +1 -1
  525. package/dist/icons/UserLockIcon.js +1 -1
  526. package/dist/icons/ViewIcon.js +1 -1
  527. package/dist/icons/WarningFilledIcon.js +1 -1
  528. package/dist/icons/WarningIcon.js +1 -1
  529. package/dist/icons/wrap-icon.js +1 -1
  530. package/dist/index.js +1 -1
  531. package/dist/probe/canonicalize.js +1 -1
  532. package/dist/probe/css.js +1 -1
  533. package/dist/probe/index.js +1 -1
  534. package/dist/provider.js +1 -1
  535. package/dist/providers/TrackingProvider.js +1 -1
  536. package/dist/providers/navigationAdapter.default.js +1 -1
  537. package/dist/tokens/all-tokens.js +1 -1
  538. package/dist/tokens/base.js +1 -1
  539. package/dist/tokens/color-seed.js +1 -1
  540. package/dist/tokens/color-theme.js +1 -1
  541. package/dist/tokens/colors.js +1 -1
  542. package/dist/tokens/layout.js +1 -1
  543. package/dist/tokens/lazy-styles.js +1 -1
  544. package/dist/tokens/legacy-color.js +1 -1
  545. package/dist/tokens/palette-config.js +1 -1
  546. package/dist/tokens/palette.js +1 -1
  547. package/dist/tokens/resolve.js +1 -1
  548. package/dist/tokens/shadows.js +1 -1
  549. package/dist/tokens/sizes.js +1 -1
  550. package/dist/tokens/spacing.js +1 -1
  551. package/dist/tokens/typography.js +1 -1
  552. package/dist/utils/ResizeSensor.js +1 -1
  553. package/dist/utils/colors.js +1 -1
  554. package/dist/utils/dotize.js +1 -1
  555. package/dist/utils/is-dev-env.js +1 -1
  556. package/dist/utils/modules.js +1 -1
  557. package/dist/utils/promise.js +1 -1
  558. package/dist/utils/raf.js +1 -1
  559. package/dist/utils/random.js +1 -1
  560. package/dist/utils/range.js +1 -1
  561. package/dist/utils/react/RenderCache.js +1 -1
  562. package/dist/utils/react/Slots.js +1 -1
  563. package/dist/utils/react/chain.js +1 -1
  564. package/dist/utils/react/disabledProps.d.ts +4 -2
  565. package/dist/utils/react/disabledProps.js +7 -2
  566. package/dist/utils/react/disabledProps.js.map +1 -1
  567. package/dist/utils/react/escapePropagation.js +1 -1
  568. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  569. package/dist/utils/react/index.js +1 -1
  570. package/dist/utils/react/interactions.js +49 -24
  571. package/dist/utils/react/interactions.js.map +1 -1
  572. package/dist/utils/react/isTextOnly.js +1 -1
  573. package/dist/utils/react/mapProps.js +1 -1
  574. package/dist/utils/react/mergeProps.js +1 -1
  575. package/dist/utils/react/nullableValue.js +1 -1
  576. package/dist/utils/react/programmaticFocus.js +1 -1
  577. package/dist/utils/react/resolveIcon.js +1 -1
  578. package/dist/utils/react/sharedStore.js +1 -1
  579. package/dist/utils/react/useBufferedValue.js +1 -1
  580. package/dist/utils/react/useCombinedRefs.js +1 -1
  581. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  582. package/dist/utils/react/useEventBus.js +1 -1
  583. package/dist/utils/react/useId.js +1 -1
  584. package/dist/utils/react/useIsDarwin.js +1 -1
  585. package/dist/utils/react/useKeySymbols.js +1 -1
  586. package/dist/utils/react/useLayoutEffect.js +1 -1
  587. package/dist/utils/react/useLocalStorage.js +1 -1
  588. package/dist/utils/react/useMergeStyles.js +1 -1
  589. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  590. package/dist/utils/react/usePopoverSync.js +1 -1
  591. package/dist/utils/react/useQaProps.js +1 -1
  592. package/dist/utils/react/useScheme.js +1 -1
  593. package/dist/utils/react/useViewportSize.js +1 -1
  594. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  595. package/dist/utils/selection.js +1 -1
  596. package/dist/utils/styles.js +1 -1
  597. package/dist/utils/tree.js +1 -1
  598. package/dist/utils/warnings.js +1 -1
  599. package/dist/version.js +2 -2
  600. package/docs/components/actions/Button.md +1 -1
  601. package/docs/components/actions/ItemAction.md +30 -2
  602. package/docs/components/content/InfoBadge.md +2 -2
  603. package/docs/components/helpers/DisplayTransition.md +3 -1
  604. package/docs/components/overlays/AlertDialog.md +60 -27
  605. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.189.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.1 | Cube Dev Team */
2
2
  import { Portal } from "../../portal/Portal.js";
3
3
  import { DialogContainer } from "../Dialog/DialogContainer.js";
4
4
  import { _AlertDialog } from "./AlertDialog.js";
@@ -11,8 +11,8 @@ const PORTAL_KEY = "AlertDialogZone";
11
11
  * @internal Do not use it
12
12
  */
13
13
  function AlertDialogZone(props) {
14
- const $ = c(41);
15
- const { openedDialog } = props;
14
+ const $ = c(45);
15
+ const { openedDialog, pendingAction } = props;
16
16
  if (openedDialog === null) {
17
17
  let t0;
18
18
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
@@ -45,119 +45,138 @@ function AlertDialogZone(props) {
45
45
  type = $[7];
46
46
  }
47
47
  const isDismissable = t0 === void 0 ? true : t0;
48
- const { resolve, reject, isVisible, dialogType } = openedDialog.meta;
48
+ const { id, resolve, reject, act, isVisible, dialogType } = openedDialog.meta;
49
+ const pending = pendingAction?.id === id ? pendingAction.status : null;
49
50
  let t1;
50
- if ($[8] !== resolve) {
51
- t1 = (action, status) => {
51
+ if ($[8] !== pending) {
52
+ t1 = (status) => pending ? {
53
+ isLoading: pending === status,
54
+ isDisabled: true
55
+ } : null;
56
+ $[8] = pending;
57
+ $[9] = t1;
58
+ } else t1 = $[9];
59
+ const lock = t1;
60
+ let t2;
61
+ if ($[10] !== act || $[11] !== lock) {
62
+ t2 = (action, status_0) => {
52
63
  if (typeof action === "undefined") return;
53
- if (typeof action === "boolean") return action ? { onPress: () => resolve(status) } : false;
54
- const onPress = action.onPress;
64
+ if (typeof action === "boolean") return action ? {
65
+ ...lock(status_0),
66
+ onPress: () => act(status_0)
67
+ } : false;
68
+ const { onPress } = action;
55
69
  return {
56
70
  ...action,
57
- onPress: (e) => {
58
- onPress?.(e);
59
- resolve(status);
60
- }
71
+ ...lock(status_0),
72
+ onPress: (e) => act(status_0, onPress && (() => onPress(e)))
61
73
  };
62
74
  };
63
- $[8] = resolve;
64
- $[9] = t1;
65
- } else t1 = $[9];
66
- const mergeActionProps = t1;
67
- let t2;
68
- if ($[10] !== actions) {
69
- t2 = actions ?? {};
70
- $[10] = actions;
71
- $[11] = t2;
72
- } else t2 = $[11];
73
- const { confirm: t3, secondary, cancel } = t2;
74
- const confirm = t3 === void 0 ? true : t3;
75
- let t4;
76
- if ($[12] !== confirm || $[13] !== mergeActionProps) {
77
- t4 = mergeActionProps(confirm, "confirm");
78
- $[12] = confirm;
79
- $[13] = mergeActionProps;
80
- $[14] = t4;
81
- } else t4 = $[14];
75
+ $[10] = act;
76
+ $[11] = lock;
77
+ $[12] = t2;
78
+ } else t2 = $[12];
79
+ const mergeActionProps = t2;
80
+ let t3;
81
+ if ($[13] !== actions) {
82
+ t3 = actions ?? {};
83
+ $[13] = actions;
84
+ $[14] = t3;
85
+ } else t3 = $[14];
86
+ const { confirm: t4, secondary, cancel } = t3;
87
+ const confirm = t4 === void 0 ? true : t4;
82
88
  let t5;
83
- if ($[15] !== mergeActionProps || $[16] !== secondary) {
84
- t5 = mergeActionProps(secondary, "secondary");
85
- $[15] = mergeActionProps;
86
- $[16] = secondary;
89
+ if ($[15] !== confirm || $[16] !== mergeActionProps) {
90
+ t5 = mergeActionProps(confirm, "confirm");
91
+ $[15] = confirm;
92
+ $[16] = mergeActionProps;
87
93
  $[17] = t5;
88
94
  } else t5 = $[17];
89
95
  let t6;
90
- if ($[18] !== cancel || $[19] !== reject) {
91
- t6 = typeof cancel === "undefined" ? void 0 : typeof cancel === "boolean" ? cancel ? { onPress: () => reject(void 0) } : false : {
96
+ if ($[18] !== mergeActionProps || $[19] !== secondary) {
97
+ t6 = mergeActionProps(secondary, "secondary");
98
+ $[18] = mergeActionProps;
99
+ $[19] = secondary;
100
+ $[20] = t6;
101
+ } else t6 = $[20];
102
+ let t7;
103
+ if ($[21] !== cancel || $[22] !== lock || $[23] !== reject) {
104
+ t7 = typeof cancel === "undefined" ? void 0 : typeof cancel === "boolean" ? cancel ? {
105
+ ...lock(),
106
+ onPress: () => reject(void 0)
107
+ } : false : {
92
108
  ...cancel,
109
+ ...lock(),
93
110
  onPress: (e_0) => {
94
111
  cancel.onPress?.(e_0);
95
112
  reject(void 0);
96
113
  }
97
114
  };
98
- $[18] = cancel;
99
- $[19] = reject;
100
- $[20] = t6;
101
- } else t6 = $[20];
102
- let t7;
103
- if ($[21] !== t4 || $[22] !== t5 || $[23] !== t6) {
104
- t7 = {
105
- confirm: t4,
106
- secondary: t5,
107
- cancel: t6
108
- };
109
- $[21] = t4;
110
- $[22] = t5;
111
- $[23] = t6;
115
+ $[21] = cancel;
116
+ $[22] = lock;
117
+ $[23] = reject;
112
118
  $[24] = t7;
113
119
  } else t7 = $[24];
114
- const _actions = t7;
115
- const t8 = dialogType === "form";
116
- const t9 = !isVisible;
117
- let t10;
118
- if ($[25] !== content || $[26] !== reject || $[27] !== resolve) {
119
- t10 = typeof content === "function" ? content({
120
+ let t8;
121
+ if ($[25] !== t5 || $[26] !== t6 || $[27] !== t7) {
122
+ t8 = {
123
+ confirm: t5,
124
+ secondary: t6,
125
+ cancel: t7
126
+ };
127
+ $[25] = t5;
128
+ $[26] = t6;
129
+ $[27] = t7;
130
+ $[28] = t8;
131
+ } else t8 = $[28];
132
+ const _actions = t8;
133
+ const t9 = isDismissable && !pending;
134
+ const t10 = dialogType === "form";
135
+ const t11 = !isVisible;
136
+ let t12;
137
+ if ($[29] !== content || $[30] !== reject || $[31] !== resolve) {
138
+ t12 = typeof content === "function" ? content({
120
139
  resolve,
121
140
  reject
122
141
  }) : content;
123
- $[25] = content;
124
- $[26] = reject;
125
- $[27] = resolve;
126
- $[28] = t10;
127
- } else t10 = $[28];
128
- let t11;
129
- if ($[29] !== _actions || $[30] !== options || $[31] !== t10 || $[32] !== t8 || $[33] !== t9) {
130
- t11 = /* @__PURE__ */ jsx(_AlertDialog, {
131
- noActions: t8,
142
+ $[29] = content;
143
+ $[30] = reject;
144
+ $[31] = resolve;
145
+ $[32] = t12;
146
+ } else t12 = $[32];
147
+ let t13;
148
+ if ($[33] !== _actions || $[34] !== options || $[35] !== t10 || $[36] !== t11 || $[37] !== t12) {
149
+ t13 = /* @__PURE__ */ jsx(_AlertDialog, {
150
+ noActions: t10,
132
151
  actions: _actions,
133
- isHidden: t9,
134
- content: t10,
152
+ isHidden: t11,
153
+ content: t12,
135
154
  ...options
136
155
  });
137
- $[29] = _actions;
138
- $[30] = options;
139
- $[31] = t10;
140
- $[32] = t8;
141
- $[33] = t9;
142
- $[34] = t11;
143
- } else t11 = $[34];
144
- let t12;
145
- if ($[35] !== isDismissable || $[36] !== isVisible || $[37] !== onDismiss || $[38] !== t11 || $[39] !== type) {
146
- t12 = /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(DialogContainer, {
156
+ $[33] = _actions;
157
+ $[34] = options;
158
+ $[35] = t10;
159
+ $[36] = t11;
160
+ $[37] = t12;
161
+ $[38] = t13;
162
+ } else t13 = $[38];
163
+ let t14;
164
+ if ($[39] !== isVisible || $[40] !== onDismiss || $[41] !== t13 || $[42] !== t9 || $[43] !== type) {
165
+ t14 = /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(DialogContainer, {
147
166
  isOpen: isVisible,
148
- isDismissable,
167
+ isDismissable: t9,
149
168
  type,
150
169
  onDismiss,
151
- children: t11
170
+ children: t13
152
171
  }) }, PORTAL_KEY);
153
- $[35] = isDismissable;
154
- $[36] = isVisible;
155
- $[37] = onDismiss;
156
- $[38] = t11;
157
- $[39] = type;
158
- $[40] = t12;
159
- } else t12 = $[40];
160
- return t12;
172
+ $[39] = isVisible;
173
+ $[40] = onDismiss;
174
+ $[41] = t13;
175
+ $[42] = t9;
176
+ $[43] = type;
177
+ $[44] = t14;
178
+ } else t14 = $[44];
179
+ return t14;
161
180
  }
162
181
 
163
182
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"AlertDialogZone.js","names":["Portal","DialogContainer","AlertDialog","CubeAlertDialogActionsProps","AlertDialogResolveStatus","Dialog","CubeButtonProps","DialogZoneProps","openedDialog","PORTAL_KEY","AlertDialogZone","props","$","_c","t0","Symbol","for","actions","content","onDismiss","options","type","isDismissable","undefined","resolve","reject","isVisible","dialogType","meta","t1","action","status","T","onPress","e","mergeActionProps","t2","confirm","t3","secondary","cancel","t4","t5","t6","e_0","t7","_actions","t8","t9","t10","t11","t12"],"sources":["../../../../src/components/overlays/AlertDialog/AlertDialogZone.tsx"],"sourcesContent":["import { Portal } from '../../portal';\nimport { DialogContainer } from '../Dialog/DialogContainer';\n\nimport { AlertDialog, CubeAlertDialogActionsProps } from './AlertDialog';\nimport { AlertDialogResolveStatus, Dialog } from './types';\n\nimport type { CubeButtonProps } from '../../actions/Button/Button';\n\nexport interface DialogZoneProps {\n openedDialog: Dialog | null;\n}\n\nconst PORTAL_KEY = 'AlertDialogZone';\n\n/**\n * @internal Do not use it\n */\nexport function AlertDialogZone(props: DialogZoneProps) {\n const { openedDialog } = props;\n\n if (openedDialog === null) return <Portal key={PORTAL_KEY} />;\n\n const {\n type,\n isDismissable = true,\n actions,\n onDismiss,\n content,\n ...options\n } = openedDialog.props;\n const { resolve, reject, isVisible, dialogType } = openedDialog.meta;\n\n const _actions: CubeAlertDialogActionsProps = (() => {\n const mergeActionProps = <\n T extends\n | CubeAlertDialogActionsProps['confirm']\n | CubeAlertDialogActionsProps['secondary'],\n >(\n action: T,\n status: AlertDialogResolveStatus,\n ): T => {\n if (typeof action === 'undefined') {\n return undefined as unknown as T;\n }\n\n if (typeof action === 'boolean') {\n return (action\n ? { onPress: () => resolve(status) }\n : false) as unknown as T;\n }\n\n const onPress = action.onPress;\n\n return {\n ...(action as CubeButtonProps),\n onPress: (e) => {\n onPress?.(e);\n resolve(status);\n },\n } as unknown as T;\n };\n\n // `AlertDialog` shows the confirm button unless it is `false`, so an\n // omitted one has to resolve too, not fall through to the dismissal.\n const { confirm = true, secondary, cancel } = actions ?? {};\n\n return {\n confirm: mergeActionProps(confirm, 'confirm'),\n secondary: mergeActionProps(secondary, 'secondary'),\n cancel:\n typeof cancel === 'undefined'\n ? undefined\n : typeof cancel === 'boolean'\n ? cancel\n ? { onPress: () => reject(undefined) }\n : false\n : {\n ...(cancel as CubeButtonProps),\n onPress: (e) => {\n (cancel as CubeButtonProps).onPress?.(e);\n reject(undefined);\n },\n },\n };\n })();\n\n return (\n <Portal key={PORTAL_KEY}>\n <DialogContainer\n isOpen={isVisible}\n isDismissable={isDismissable}\n type={type}\n onDismiss={onDismiss}\n >\n <AlertDialog\n noActions={dialogType === 'form'}\n actions={_actions}\n isHidden={!isVisible}\n content={\n typeof content === 'function'\n ? content({ resolve, reject })\n : content\n }\n {...options}\n />\n </DialogContainer>\n </Portal>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AlertDialogZone.js","names":["Portal","DialogContainer","AlertDialog","CubeAlertDialogActionsProps","AlertDialogResolveStatus","Dialog","CubeButtonProps","PendingAction","DialogZoneProps","openedDialog","pendingAction","PORTAL_KEY","AlertDialogZone","props","$","_c","t0","Symbol","for","actions","content","onDismiss","options","type","isDismissable","undefined","id","resolve","reject","act","isVisible","dialogType","meta","pending","status","t1","isLoading","isDisabled","lock","t2","action","status_0","T","onPress","e","mergeActionProps","t3","confirm","t4","secondary","cancel","t5","t6","t7","e_0","t8","_actions","t9","t10","t11","t12","t13","t14"],"sources":["../../../../src/components/overlays/AlertDialog/AlertDialogZone.tsx"],"sourcesContent":["import { Portal } from '../../portal';\nimport { DialogContainer } from '../Dialog/DialogContainer';\n\nimport { AlertDialog, CubeAlertDialogActionsProps } from './AlertDialog';\nimport { AlertDialogResolveStatus, Dialog } from './types';\n\nimport type { CubeButtonProps } from '../../actions/Button/Button';\nimport type { PendingAction } from './AlertDialogApiProvider';\n\nexport interface DialogZoneProps {\n openedDialog: Dialog | null;\n pendingAction?: PendingAction | null;\n}\n\nconst PORTAL_KEY = 'AlertDialogZone';\n\n/**\n * @internal Do not use it\n */\nexport function AlertDialogZone(props: DialogZoneProps) {\n const { openedDialog, pendingAction } = props;\n\n if (openedDialog === null) return <Portal key={PORTAL_KEY} />;\n\n const {\n type,\n isDismissable = true,\n actions,\n onDismiss,\n content,\n ...options\n } = openedDialog.props;\n const { id, resolve, reject, act, isVisible, dialogType } = openedDialog.meta;\n // While an action's handler runs, its button shows loading and the rest\n // of the dialog is locked.\n const pending = pendingAction?.id === id ? pendingAction.status : null;\n const lock = (status?: AlertDialogResolveStatus) =>\n pending ? { isLoading: pending === status, isDisabled: true } : null;\n\n const _actions: CubeAlertDialogActionsProps = (() => {\n const mergeActionProps = <\n T extends\n | CubeAlertDialogActionsProps['confirm']\n | CubeAlertDialogActionsProps['secondary'],\n >(\n action: T,\n status: AlertDialogResolveStatus,\n ): T => {\n if (typeof action === 'undefined') {\n return undefined as unknown as T;\n }\n\n if (typeof action === 'boolean') {\n return (action\n ? { ...lock(status), onPress: () => act(status) }\n : false) as unknown as T;\n }\n\n const { onPress } = action as CubeButtonProps;\n\n return {\n ...(action as CubeButtonProps),\n ...lock(status),\n // The same as the dialog's `onConfirm` / `onSecondary`: awaited, with\n // the dialog kept open while it runs.\n onPress: (e) => act(status, onPress && (() => onPress(e))),\n } as unknown as T;\n };\n\n // `AlertDialog` shows the confirm button unless it is `false`, so an\n // omitted one has to resolve too, not fall through to the dismissal.\n const { confirm = true, secondary, cancel } = actions ?? {};\n\n return {\n confirm: mergeActionProps(confirm, 'confirm'),\n secondary: mergeActionProps(secondary, 'secondary'),\n cancel:\n typeof cancel === 'undefined'\n ? undefined\n : typeof cancel === 'boolean'\n ? cancel\n ? { ...lock(), onPress: () => reject(undefined) }\n : false\n : {\n ...(cancel as CubeButtonProps),\n ...lock(),\n onPress: (e) => {\n (cancel as CubeButtonProps).onPress?.(e);\n reject(undefined);\n },\n },\n };\n })();\n\n return (\n <Portal key={PORTAL_KEY}>\n <DialogContainer\n isOpen={isVisible}\n isDismissable={isDismissable && !pending}\n type={type}\n onDismiss={onDismiss}\n >\n <AlertDialog\n noActions={dialogType === 'form'}\n actions={_actions}\n isHidden={!isVisible}\n content={\n typeof content === 'function'\n ? content({ resolve, reject })\n : content\n }\n {...options}\n />\n </DialogContainer>\n </Portal>\n );\n}\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
 
2
+ import { CubeButtonProps } from "../../actions/Button/Button.js";
2
3
  import { CubeDialogContainerProps } from "../Dialog/DialogContainer.js";
3
4
  import "../Dialog/index.js";
4
5
  import { CubeAlertDialogProps } from "./AlertDialog.js";
@@ -7,7 +8,20 @@ import { ReactNode } from "react";
7
8
  import { AriaDialogProps } from "react-aria";
8
9
 
9
10
  //#region src/components/overlays/AlertDialog/types.d.ts
10
- interface DialogProps extends Omit<CubeDialogContainerProps, 'onDismiss' | 'children'>, Omit<CubeAlertDialogProps, 'type' | 'id' | 'content'> {
11
+ /** A confirm or secondary button opened through `useAlertDialogAPI`. */
12
+ interface AlertDialogApiActionProps extends Omit<CubeButtonProps, 'onPress'> {
13
+ /**
14
+ * @deprecated Use `onConfirm` or `onSecondary` on the dialog instead. It
15
+ * behaves the same way.
16
+ */
17
+ onPress?: CubeButtonProps['onPress'];
18
+ }
19
+ interface AlertDialogApiActions {
20
+ confirm?: AlertDialogApiActionProps | boolean;
21
+ secondary?: AlertDialogApiActionProps;
22
+ cancel?: CubeButtonProps | boolean;
23
+ }
24
+ interface DialogProps extends Omit<CubeDialogContainerProps, 'onDismiss' | 'children'>, Omit<CubeAlertDialogProps, 'type' | 'id' | 'content' | 'actions'> {
11
25
  content: ReactNode | (({
12
26
  resolve,
13
27
  reject
@@ -15,6 +29,21 @@ interface DialogProps extends Omit<CubeDialogContainerProps, 'onDismiss' | 'chil
15
29
  resolve: any;
16
30
  reject: any;
17
31
  }) => ReactNode);
32
+ actions?: AlertDialogApiActions;
33
+ /**
34
+ * Runs when the confirm button is pressed. If it returns a promise, the
35
+ * dialog stays open with the button loading until it settles: it closes
36
+ * when the promise resolves, and stays open, with the error reported, when
37
+ * it rejects.
38
+ */
39
+ onConfirm?: () => unknown;
40
+ /** Like `onConfirm`, for the secondary button. */
41
+ onSecondary?: () => unknown;
42
+ /**
43
+ * Runs when the dialog settles as a cancel: the Cancel button, Escape, a
44
+ * click outside, an aborted `cancelToken`, or `content` calling `reject()`.
45
+ */
46
+ onCancel?: () => void;
18
47
  }
19
48
  type AlertDialogResolveStatus = 'confirm' | 'secondary';
20
49
  //#endregion
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.189.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.1 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { SlotProvider } from "../../../utils/react/Slots.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.189.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.1 | Cube Dev Team */
2
2
  import { _Modal } from "../Modal/Modal.js";
3
3
  import { DialogContext } from "./context.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.189.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.1 | Cube Dev Team */
2
2
  import { _Title } from "../../content/Title.js";
3
3
  import { useI18n } from "../../../i18n/useI18n.js";
4
4
  import { Button } from "../../actions/Button/Button.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.189.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.1 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { usePopoverSync } from "../../../utils/react/usePopoverSync.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.189.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.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 { _Title } from "../../content/Title.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.189.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.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.189.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.1 | Cube Dev Team */
2
2
  //#region src/components/overlays/Dialog/default-button-text.ts
3
3
  /**
4
4
  * Gives a dialog's built-in button its default text without overriding the
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.189.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.1 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.189.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.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,5 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.189.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.1 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
+ import { useOverlayEscapeGuard } from "../../../utils/react/useOverlayEscapeGuard.js";
3
4
  import { _Overlay } from "./Overlay.js";
4
5
  import { _Underlay } from "./Underlay.js";
5
6
  import { c } from "react-compiler-runtime";
@@ -97,7 +98,8 @@ function Modal(props, ref) {
97
98
  $[7] = props;
98
99
  $[8] = t0;
99
100
  } else t0 = $[8];
100
- const { overlayProps, underlayProps } = useOverlay(t0, domRef);
101
+ const { overlayProps: rawOverlayProps, underlayProps } = useOverlay(t0, domRef);
102
+ const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);
101
103
  let t1;
102
104
  if ($[9] !== type || $[10] !== underlayProps) {
103
105
  t1 = type !== "fullscreenTakeover" && type !== "panel" && /* @__PURE__ */ jsx(_Underlay, { ...underlayProps });
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","names":["useObjectRef","BaseProps","Styles","tasty","forwardRef","ReactNode","useModal","useOverlay","usePreventScroll","mergeProps","Overlay","ModalProps","TransitionState","WithCloseBehavior","Underlay","Props","OVERLAY_WRAPPER_STYLES","position","display","left","top","placeItems","boxSizing","width","height","pointerEvents","zIndex","transition","open","ModalWrapperElement","qa","styles","ModalElement","hide","exit","unmounted","transform","opacity","CubeModalProps","Omit","container","HTMLElement","onClose","action","type","shouldCloseOnInteractOutside","element","Element","Modal","props","ref","$","_c","children","otherProps","domRef","t0","overlayProps","underlayProps","t1","t2","t3","ModalWrapperProps","isOpen","placement","ModalWrapper","transitionState","isDisabled","modalProps","T0","T1","t4","t5","t6","t7","t8","t9","enter","entered","t10","t11","t12","_Modal","displayName"],"sources":["../../../../src/components/overlays/Modal/Modal.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, 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\nimport type { Props } from '../../../props';\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: 'grid',\n hide: {\n '': true,\n 'enter | entered': false,\n exit: false,\n unmounted: true,\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":";;;;;;;;;;;;AAaA,MAAagB,yBAAiC;CAC5CC,UAAU;CACVC,SAAS;CACTC,MAAM;CACNC,KAAK;CACLC,YAAY;EACV,IAAI;EACJ,mBAAmB;EACnB,wCAAwC;EACzC;CACDC,WAAW;CACXC,OAAO;CACPC,QAAQ;CACRC,eAAe;CACfC,QAAQ;CACRC,YAAY;EACV,IAAI;EACJC,MAAM;EACR;CACD;AAED,MAAMC,sBAAsB1B,MAAM;CAChC2B,IAAI;CACJC,QAAQf;CACT,CAAC;AAEF,MAAMgB,eAAe7B,MAAM,EACzB4B,QAAQ;CACNb,SAAS;CACTe,MAAM;EACJ,IAAI;EACJ,mBAAmB;EACnBC,MAAM;EACNC,WAAW;EACZ;CACDT,QAAQ;CACRF,QAAQ;EACN,IAAI;EACJ,wCAAwC;EACxC,mBAAmB;EACnB,cAAc;EACf;CACDD,OAAO;EACL,IAAI;EACJ,cAAc;EACf;CACDE,eAAe;CACfE,YAAY;CACZS,WAAW;EACT,IAAI;EACJ,sBAAsB;EACtB,2CACE;EACH;CACDC,SAAS;EACP,IAAI;EACJT,MAAM;EACR;CACF,EACD,CAAC;AAaF,SAAAoB,MAAAC,OAAAC,KAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAC;CAAA,IAAAX;CAAA,IAAAY;CAAA,IAAAxB;CAAA,IAAAC;CAAA,IAAAa;AAAA,KAAAO,EAAA,OAAAF,OAAA;AACE,GAAA,CAAAnB,IAAAuB,UAAAX,SAAAE,MAAAb,WAAAuB,cAA6DL;AAAME,IAAA,KAAAF;AAAAE,IAAA,KAAAE;AAAAF,IAAA,KAAAT;AAAAS,IAAA,KAAAG;AAAAH,IAAA,KAAArB;AAAAqB,IAAA,KAAApB;AAAAoB,IAAA,KAAAP;QAAA;AAAAS,aAAAF,EAAA;AAAAT,YAAAS,EAAA;AAAAG,eAAAH,EAAA;AAAArB,OAAAqB,EAAA;AAAApB,WAAAoB,EAAA;AAAAP,SAAAO,EAAA;;CACnE,MAAAI,SAAavD,aAAakD,IAAI;CAAC,IAAAM;AAAA,KAAAL,EAAA,OAAAF,OAAA;AAEkBO,OAAA,EAAA,GAAKP,OAAO;AAAAE,IAAA,KAAAF;AAAAE,IAAA,KAAAK;OAAAA,MAAAL,EAAA;CAA7D,MAAA,EAAAM,cAAAC,kBAAsCnD,WAAWiD,IAAcD,OAAO;CAAC,IAAAI;AAAA,KAAAR,EAAA,OAAAP,QAAAO,EAAA,QAAAO,eAAA;AAIlEC,OAAAf,SAAS,wBAAwBA,SAAS,WACzC,oBAAC,aAAQ,GAAKc,gBACf;AAAAP,IAAA,KAAAP;AAAAO,IAAA,MAAAO;AAAAP,IAAA,MAAAQ;OAAAA,MAAAR,EAAA;CAAA,IAAAS;AAAA,KAAAT,EAAA,QAAAE,YAAAF,EAAA,QAAAI,UAAAJ,EAAA,QAAAT,WAAAS,EAAA,QAAAM,gBAAAN,EAAA,QAAArB,MAAAqB,EAAA,QAAApB,UAAAoB,EAAA,QAAAP,MAAA;AACDgB,OAAA,oBAAC;GACML,KAAAA;GACDzB;GACEc;GACQa;GACN1B;GACCW;GAERW;IACY;AAAAF,IAAA,MAAAE;AAAAF,IAAA,MAAAI;AAAAJ,IAAA,MAAAT;AAAAS,IAAA,MAAAM;AAAAN,IAAA,MAAArB;AAAAqB,IAAA,MAAApB;AAAAoB,IAAA,MAAAP;AAAAO,IAAA,MAAAS;OAAAA,MAAAT,EAAA;CAAA,IAAAU;AAAA,KAAAV,EAAA,QAAAG,cAAAH,EAAA,QAAAQ,MAAAR,EAAA,QAAAS,IAAA;AAbjBC,OAAA,qBAAC;GAAO,GAAKP;cACVK,IAGDC;IAUQ;AAAAT,IAAA,MAAAG;AAAAH,IAAA,MAAAQ;AAAAR,IAAA,MAAAS;AAAAT,IAAA,MAAAU;OAAAA,MAAAV,EAAA;AAAA,QAdVU;;AA6BJ,IAAII,eAAe7D,WAAW,SAAA6D,aAAAhB,OAAAC,KAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAI5B,MAAA,EAAAtB,IAAAuB,UAAAU,QAAAnB,MAAAoB,WAAAjC,QAAA0B,cAAAS,iBAAA,GAAAZ,eAUIL;CAE2B,MAAAO,KAAAU,oBAAoB;CAAS,IAAAP;AAAA,KAAAR,EAAA,OAAAK,IAAA;AAA3CG,OAAA,EAAAQ,YAAcX,IAA+B;AAAAL,IAAA,KAAAK;AAAAL,IAAA,KAAAQ;OAAAA,MAAAR,EAAA;AAA9D3C,kBAAiBmD,GAA8C;CAEnB,MAAAC,KAAAM,oBAAoB;CAAS,IAAAL;AAAA,KAAAV,EAAA,OAAAS,IAAA;AAA3CC,OAAA,EAAAM,YAAcP,IAA+B;AAAAT,IAAA,KAAAS;AAAAT,IAAA,KAAAU;OAAAA,MAAAV,EAAA;CAA3E,MAAA,EAAAiB,eAAqB9D,SAASuD,GAA8C;CAGzE,MAAAQ,KAAAxC;CACE,MAAAyC,KAAAtC;CACK,MAAAuC,KAAAzC,MAAA;CAIK,MAAA0C,KAAAN,oBAAoB;CACrB,MAAAO,KAAAP,oBAAoB;CACf,MAAAQ,KAAAR,oBAAoB;CACtB,MAAAS,KAAAT,oBAAoB;CAAS,IAAAU;AAAA,KAAAzB,EAAA,OAAAY,UAAAZ,EAAA,OAAAqB,MAAArB,EAAA,OAAAsB,MAAAtB,EAAA,OAAAuB,MAAAvB,EAAA,OAAAwB,IAAA;AALlCC,OAAA;GAAAhD,MACEmC;GAAMc,OACLL;GAA2BtC,MAC5BuC;GAA0BtC,WACrBuC;GAA+BI,SACjCH;GACV;AAAAxB,IAAA,KAAAY;AAAAZ,IAAA,KAAAqB;AAAArB,IAAA,KAAAsB;AAAAtB,IAAA,KAAAuB;AAAAvB,IAAA,KAAAwB;AAAAxB,IAAA,KAAAyB;OAAAA,MAAAzB,EAAA;CAGG,MAAA4B,MAAAtE,aAAW6C,YAAYG,cAAcW,WAAW;CAAA,IAAAY;AAAA,KAAA7B,EAAA,QAAAmB,MAAAnB,EAAA,QAAAE,YAAAF,EAAA,QAAAa,aAAAb,EAAA,QAAAD,OAAAC,EAAA,QAAApB,UAAAoB,EAAA,QAAA4B,OAAA5B,EAAA,QAAAoB,MAAApB,EAAA,QAAAyB,MAAAzB,EAAA,QAAAP,MAAA;AAZtDoC,QAAA,oBAAC;GACK,IAAAT;GACIxC;GACF,MAAA6C;GAOKhC,aAAAA;GACKoB,kBAAAA;GAAS,GACrBe;GACC7B;GAEJG;IACY;AAAAF,IAAA,MAAAmB;AAAAnB,IAAA,MAAAE;AAAAF,IAAA,MAAAa;AAAAb,IAAA,MAAAD;AAAAC,IAAA,MAAApB;AAAAoB,IAAA,MAAA4B;AAAA5B,IAAA,MAAAoB;AAAApB,IAAA,MAAAyB;AAAAzB,IAAA,MAAAP;AAAAO,IAAA,MAAA6B;OAAAA,OAAA7B,EAAA;CAAA,IAAA8B;AAAA,KAAA9B,EAAA,QAAAkB,MAAAlB,EAAA,QAAAa,aAAAb,EAAA,QAAA6B,OAAA7B,EAAA,QAAAP,MAAA;AAjBjBqC,QAAA,oBAAC;GAA+BrC,aAAAA;GAAsBoB,kBAAAA;aACpDgB;IAiBoB;AAAA7B,IAAA,MAAAkB;AAAAlB,IAAA,MAAAa;AAAAb,IAAA,MAAA6B;AAAA7B,IAAA,MAAAP;AAAAO,IAAA,MAAA8B;OAAAA,OAAA9B,EAAA;AAAA,QAlBtB8B;EAoBF;AAEF,IAAIC,SAAS9E,WAAW4C,MAAM;AAE9BkC,OAAOC,cAAc"}
1
+ {"version":3,"file":"Modal.js","names":["useObjectRef","BaseProps","Styles","tasty","forwardRef","ReactNode","useModal","useOverlay","usePreventScroll","mergeProps","useOverlayEscapeGuard","Overlay","ModalProps","TransitionState","WithCloseBehavior","Underlay","Props","OVERLAY_WRAPPER_STYLES","position","display","left","top","placeItems","boxSizing","width","height","pointerEvents","zIndex","transition","open","ModalWrapperElement","qa","styles","ModalElement","hide","exit","unmounted","transform","opacity","CubeModalProps","Omit","container","HTMLElement","onClose","action","type","shouldCloseOnInteractOutside","element","Element","Modal","props","ref","$","_c","children","otherProps","domRef","t0","overlayProps","rawOverlayProps","underlayProps","isOpen","t1","t2","t3","ModalWrapperProps","placement","ModalWrapper","transitionState","isDisabled","modalProps","T0","T1","t4","t5","t6","t7","t8","t9","enter","entered","t10","t11","t12","_Modal","displayName"],"sources":["../../../../src/components/overlays/Modal/Modal.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, Styles, tasty } from '@tenphi/tasty';\nimport { forwardRef, ReactNode } from 'react';\nimport { useModal, useOverlay, usePreventScroll } from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react';\nimport { useOverlayEscapeGuard } from '../../../utils/react/useOverlayEscapeGuard';\n\nimport { Overlay } from './Overlay';\nimport { ModalProps, TransitionState, WithCloseBehavior } from './types';\nimport { Underlay } from './Underlay';\n\nimport type { Props } from '../../../props';\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: 'grid',\n hide: {\n '': true,\n 'enter | entered': false,\n exit: false,\n unmounted: true,\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: rawOverlayProps, underlayProps } = useOverlay(\n { ...props },\n domRef,\n );\n\n // Focus can stay in a modal while it closes, after a press on it or a close\n // that restores focus nowhere; it must not answer for `Escape` meanwhile —\n // see `useOverlayEscapeGuard`.\n const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);\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":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.189.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.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.189.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.1 | Cube Dev Team */
2
2
  import { markFocusRestoreWindow } from "../../../utils/react/programmaticFocus.js";
3
3
  import { DisplayTransition } from "../../helpers/DisplayTransition/DisplayTransition.js";
4
4
  import { Provider, useProviderProps } from "../../../provider.js";
@@ -57,12 +57,13 @@ function Overlay(props, ref) {
57
57
  exposeUnmounted: hideOnClose,
58
58
  duration: EXIT_DURATION,
59
59
  onPhaseChange: handlePhaseChange,
60
- children: ({ phase: phase_0, isShown }) => {
60
+ children: ({ phase: phase_0, isShown, isExiting }) => {
61
61
  return /* @__PURE__ */ jsx(OpenTransitionContext.Provider, {
62
62
  value: { transitionState: phase_0 },
63
63
  children: Children.map(children, (child) => child && cloneElement(child, {
64
64
  isOpen: isShown,
65
- transitionState: phase_0
65
+ transitionState: phase_0,
66
+ "data-react-aria-top-layer": isExiting || void 0
66
67
  }))
67
68
  });
68
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Overlay.js","names":["TastyBatchProvider","Children","cloneElement","forwardRef","ReactElement","useCallback","useRef","useState","createPortal","Provider","useProviderProps","markFocusRestoreWindow","DisplayTransition","OpenTransitionContext","WithCloseBehavior","OverlayProps","Props","ReportedPhase","CubeOverlayProps","Omit","container","HTMLElement","EXIT_DURATION","Overlay","props","ref","children","isOpen","onEnter","onEntering","onEntered","onExit","onExiting","onExited","hideOnClose","exited","setExited","wasOpen","current","root","handlePhaseChange","phase","mountOverlay","contents","isShown","transitionState","map","child","document","body","_Overlay","displayName"],"sources":["../../../../src/components/overlays/Modal/Overlay.tsx"],"sourcesContent":["import { TastyBatchProvider } from '@tenphi/tasty';\nimport {\n Children,\n cloneElement,\n forwardRef,\n ReactElement,\n useCallback,\n useRef,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { Provider, useProviderProps } from '../../../provider';\nimport { markFocusRestoreWindow } from '../../../utils/react/programmaticFocus';\nimport { DisplayTransition } from '../../helpers/DisplayTransition/DisplayTransition';\n\nimport { OpenTransitionContext } from './OpenTransitionContext';\nimport { WithCloseBehavior } from './types';\n\nimport type { OverlayProps } from 'react-aria';\nimport type { Props } from '../../../props';\nimport type { ReportedPhase } from '../../helpers/DisplayTransition/DisplayTransition';\n\nexport interface CubeOverlayProps\n extends Omit<OverlayProps, 'container' | 'nodeRef'>,\n WithCloseBehavior {\n container?: HTMLElement | null;\n}\n\nconst EXIT_DURATION = 350;\n\nfunction Overlay(props: CubeOverlayProps, ref) {\n let {\n children,\n isOpen,\n container = null,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n hideOnClose = false,\n } = props;\n let [exited, setExited] = useState(!isOpen);\n\n if (isOpen && exited) {\n setExited(false);\n }\n\n // Our `FocusScope` restores focus to the trigger when it unmounts, from\n // inside React's own commit where nothing can wrap the call. The window has\n // to be open before that lands, or the restored trigger's tooltip opens and\n // eats the user's next `Escape` (CUB-4839).\n //\n // Keyed to `isOpen` closing rather than to the exit PHASE, because the phase\n // is not always reported: under reduced motion `DisplayTransition` collapses\n // its duration to zero, so `exit` and `unmounted` are set in one callback and\n // React batches the `exit` render — and its notification — away entirely.\n // Closing is the one signal that always arrives.\n const wasOpen = useRef(!!isOpen);\n\n if (wasOpen.current !== !!isOpen) {\n wasOpen.current = !!isOpen;\n\n if (!isOpen) markFocusRestoreWindow(EXIT_DURATION + 200);\n }\n\n let { root } = useProviderProps({} as Props);\n\n let handlePhaseChange = useCallback(\n (phase: ReportedPhase) => {\n switch (phase) {\n case 'enter':\n setExited(false);\n onEnter?.();\n onEntering?.();\n break;\n case 'entered':\n onEntered?.();\n break;\n case 'exit':\n onExit?.();\n onExiting?.();\n break;\n case 'unmounted':\n setExited(true);\n onExited?.();\n break;\n }\n },\n [onEnter, onEntering, onEntered, onExit, onExiting, onExited],\n );\n\n let mountOverlay = isOpen || !exited;\n\n if (!mountOverlay) {\n if (!hideOnClose) {\n return null;\n }\n }\n\n let contents = (\n <Provider ref={ref}>\n <DisplayTransition\n isShown={!!isOpen}\n exposeUnmounted={hideOnClose}\n duration={EXIT_DURATION}\n onPhaseChange={handlePhaseChange}\n >\n {({ phase, isShown }) => {\n return (\n <OpenTransitionContext.Provider\n value={{ transitionState: phase as ReportedPhase }}\n >\n {Children.map(\n children,\n (child) =>\n child &&\n cloneElement(\n child as ReactElement,\n {\n isOpen: isShown,\n transitionState: phase,\n } as any,\n ),\n )}\n </OpenTransitionContext.Provider>\n );\n }}\n </DisplayTransition>\n </Provider>\n );\n\n // Popover, Modal and Tray all portal through here, which makes this the\n // overlay path that matters most for batching: a dialog or menu mounts a\n // fresh subtree and react-aria positions it from a layout effect in the same\n // commit. `<Root>` does not re-render for those commits, so open a window\n // here — it flushes in `useInsertionEffect`, before any positioning effect\n // reads the DOM. Note this is a *raw* `createPortal`, not `<Portal>`, so the\n // window `<Portal>` opens does not reach these overlays.\n return createPortal(\n <TastyBatchProvider>{contents}</TastyBatchProvider>,\n container || root || document.body,\n );\n}\n\nlet _Overlay = forwardRef(Overlay);\n\n_Overlay.displayName = 'Overlay';\n\nexport { _Overlay as Overlay };\n"],"mappings":";;;;;;;;;;;AA6BA,MAAMsB,gBAAgB;AAEtB,SAASC,QAAQC,OAAyBC,KAAK;CAC7C,IAAI,EACFC,UACAC,QACAP,YAAY,MACZQ,SACAC,YACAC,WACAC,QACAC,WACAC,UACAC,cAAc,UACZV;CACJ,IAAI,CAACW,QAAQC,aAAa7B,SAAS,CAACoB,OAAO;AAE3C,KAAIA,UAAUQ,OACZC,WAAU,MAAM;CAalB,MAAMC,UAAU/B,OAAO,CAAC,CAACqB,OAAO;AAEhC,KAAIU,QAAQC,YAAY,CAAC,CAACX,QAAQ;AAChCU,UAAQC,UAAU,CAAC,CAACX;AAEpB,MAAI,CAACA,OAAQhB,wBAAuBW,gBAAgB,IAAI;;CAG1D,IAAI,EAAEiB,SAAS7B,iBAAiB,EAAE,CAAU;CAE5C,IAAI8B,oBAAoBnC,aACrBoC,UAAyB;AACxB,UAAQA,OAAR;GACE,KAAK;AACHL,cAAU,MAAM;AAChBR,eAAW;AACXC,kBAAc;AACd;GACF,KAAK;AACHC,iBAAa;AACb;GACF,KAAK;AACHC,cAAU;AACVC,iBAAa;AACb;GACF,KAAK;AACHI,cAAU,KAAK;AACfH,gBAAY;AACZ;;IAGN;EAACL;EAASC;EAAYC;EAAWC;EAAQC;EAAWC;EACtD,CAAC;AAID,KAAI,EAFeN,UAAU,CAACQ,SAG5B;MAAI,CAACD,YACH,QAAO;;AA2CX,QAAO1B,aACL,oBAAC,gCAvCD,oBAAC;EAAciB;YACb,oBAAC;GACC,SAAS,CAAC,CAACE;GACX,iBAAiBO;GACjB,UAAUZ;GACV,eAAekB;cAEb,EAAEC,OAAAA,SAAOG,cAAc;AACvB,WACE,oBAAC,sBAAsB;KACrB,OAAO,EAAEC,iBAAiBJ,SAAwB;eAEjDxC,SAAS6C,IACRpB,WACCqB,UACCA,SACA7C,aACE6C,OACA;MACEpB,QAAQiB;MACRC,iBAAiBJ;MAClB,CAEP,CAAC;MAC8B;;IAGpB;GAEtB,GAUoD,EACnDrB,aAAamB,QAAQS,SAASC,KAC/B;;AAGH,IAAIC,WAAW/C,WAAWoB,QAAQ;AAElC2B,SAASC,cAAc"}
1
+ {"version":3,"file":"Overlay.js","names":["TastyBatchProvider","Children","cloneElement","forwardRef","ReactElement","useCallback","useRef","useState","createPortal","Provider","useProviderProps","markFocusRestoreWindow","DisplayTransition","OpenTransitionContext","WithCloseBehavior","OverlayProps","Props","ReportedPhase","CubeOverlayProps","Omit","container","HTMLElement","EXIT_DURATION","Overlay","props","ref","children","isOpen","onEnter","onEntering","onEntered","onExit","onExiting","onExited","hideOnClose","exited","setExited","wasOpen","current","root","handlePhaseChange","phase","mountOverlay","contents","isShown","isExiting","transitionState","map","child","undefined","document","body","_Overlay","displayName"],"sources":["../../../../src/components/overlays/Modal/Overlay.tsx"],"sourcesContent":["import { TastyBatchProvider } from '@tenphi/tasty';\nimport {\n Children,\n cloneElement,\n forwardRef,\n ReactElement,\n useCallback,\n useRef,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { Provider, useProviderProps } from '../../../provider';\nimport { markFocusRestoreWindow } from '../../../utils/react/programmaticFocus';\nimport { DisplayTransition } from '../../helpers/DisplayTransition/DisplayTransition';\n\nimport { OpenTransitionContext } from './OpenTransitionContext';\nimport { WithCloseBehavior } from './types';\n\nimport type { OverlayProps } from 'react-aria';\nimport type { Props } from '../../../props';\nimport type { ReportedPhase } from '../../helpers/DisplayTransition/DisplayTransition';\n\nexport interface CubeOverlayProps\n extends Omit<OverlayProps, 'container' | 'nodeRef'>,\n WithCloseBehavior {\n container?: HTMLElement | null;\n}\n\nconst EXIT_DURATION = 350;\n\nfunction Overlay(props: CubeOverlayProps, ref) {\n let {\n children,\n isOpen,\n container = null,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n hideOnClose = false,\n } = props;\n let [exited, setExited] = useState(!isOpen);\n\n if (isOpen && exited) {\n setExited(false);\n }\n\n // Our `FocusScope` restores focus to the trigger when it unmounts, from\n // inside React's own commit where nothing can wrap the call. The window has\n // to be open before that lands, or the restored trigger's tooltip opens and\n // eats the user's next `Escape` (CUB-4839).\n //\n // Keyed to `isOpen` closing rather than to the exit PHASE, because the phase\n // is not always reported: under reduced motion `DisplayTransition` collapses\n // its duration to zero, so `exit` and `unmounted` are set in one callback and\n // React batches the `exit` render — and its notification — away entirely.\n // Closing is the one signal that always arrives.\n const wasOpen = useRef(!!isOpen);\n\n if (wasOpen.current !== !!isOpen) {\n wasOpen.current = !!isOpen;\n\n if (!isOpen) markFocusRestoreWindow(EXIT_DURATION + 200);\n }\n\n let { root } = useProviderProps({} as Props);\n\n let handlePhaseChange = useCallback(\n (phase: ReportedPhase) => {\n switch (phase) {\n case 'enter':\n setExited(false);\n onEnter?.();\n onEntering?.();\n break;\n case 'entered':\n onEntered?.();\n break;\n case 'exit':\n onExit?.();\n onExiting?.();\n break;\n case 'unmounted':\n setExited(true);\n onExited?.();\n break;\n }\n },\n [onEnter, onEntering, onEntered, onExit, onExiting, onExited],\n );\n\n let mountOverlay = isOpen || !exited;\n\n if (!mountOverlay) {\n if (!hideOnClose) {\n return null;\n }\n }\n\n let contents = (\n <Provider ref={ref}>\n <DisplayTransition\n isShown={!!isOpen}\n exposeUnmounted={hideOnClose}\n duration={EXIT_DURATION}\n onPhaseChange={handlePhaseChange}\n >\n {({ phase, isShown, isExiting }) => {\n return (\n <OpenTransitionContext.Provider\n value={{ transitionState: phase as ReportedPhase }}\n >\n {Children.map(\n children,\n (child) =>\n child &&\n cloneElement(\n child as ReactElement,\n {\n isOpen: isShown,\n transitionState: phase,\n // A closed overlay leaves React Aria's stack of visible\n // overlays at once, but stays on screen, and clickable,\n // while it fades out. A press on it then counts as a\n // press outside whatever overlay is topmost again, so a\n // click on a fading list closed the Dialog under it\n // (CUB-5293). React Aria never treats a press inside a\n // top-layer element as outside.\n 'data-react-aria-top-layer': isExiting || undefined,\n } as any,\n ),\n )}\n </OpenTransitionContext.Provider>\n );\n }}\n </DisplayTransition>\n </Provider>\n );\n\n // Popover, Modal and Tray all portal through here, which makes this the\n // overlay path that matters most for batching: a dialog or menu mounts a\n // fresh subtree and react-aria positions it from a layout effect in the same\n // commit. `<Root>` does not re-render for those commits, so open a window\n // here — it flushes in `useInsertionEffect`, before any positioning effect\n // reads the DOM. Note this is a *raw* `createPortal`, not `<Portal>`, so the\n // window `<Portal>` opens does not reach these overlays.\n return createPortal(\n <TastyBatchProvider>{contents}</TastyBatchProvider>,\n container || root || document.body,\n );\n}\n\nlet _Overlay = forwardRef(Overlay);\n\n_Overlay.displayName = 'Overlay';\n\nexport { _Overlay as Overlay };\n"],"mappings":";;;;;;;;;;;AA6BA,MAAMsB,gBAAgB;AAEtB,SAASC,QAAQC,OAAyBC,KAAK;CAC7C,IAAI,EACFC,UACAC,QACAP,YAAY,MACZQ,SACAC,YACAC,WACAC,QACAC,WACAC,UACAC,cAAc,UACZV;CACJ,IAAI,CAACW,QAAQC,aAAa7B,SAAS,CAACoB,OAAO;AAE3C,KAAIA,UAAUQ,OACZC,WAAU,MAAM;CAalB,MAAMC,UAAU/B,OAAO,CAAC,CAACqB,OAAO;AAEhC,KAAIU,QAAQC,YAAY,CAAC,CAACX,QAAQ;AAChCU,UAAQC,UAAU,CAAC,CAACX;AAEpB,MAAI,CAACA,OAAQhB,wBAAuBW,gBAAgB,IAAI;;CAG1D,IAAI,EAAEiB,SAAS7B,iBAAiB,EAAE,CAAU;CAE5C,IAAI8B,oBAAoBnC,aACrBoC,UAAyB;AACxB,UAAQA,OAAR;GACE,KAAK;AACHL,cAAU,MAAM;AAChBR,eAAW;AACXC,kBAAc;AACd;GACF,KAAK;AACHC,iBAAa;AACb;GACF,KAAK;AACHC,cAAU;AACVC,iBAAa;AACb;GACF,KAAK;AACHI,cAAU,KAAK;AACfH,gBAAY;AACZ;;IAGN;EAACL;EAASC;EAAYC;EAAWC;EAAQC;EAAWC;EACtD,CAAC;AAID,KAAI,EAFeN,UAAU,CAACQ,SAG5B;MAAI,CAACD,YACH,QAAO;;AAmDX,QAAO1B,aACL,oBAAC,gCA/CD,oBAAC;EAAciB;YACb,oBAAC;GACC,SAAS,CAAC,CAACE;GACX,iBAAiBO;GACjB,UAAUZ;GACV,eAAekB;cAEb,EAAEC,OAAAA,SAAOG,SAASC,gBAAgB;AAClC,WACE,oBAAC,sBAAsB;KACrB,OAAO,EAAEC,iBAAiBL,SAAwB;eAEjDxC,SAAS8C,IACRrB,WACCsB,UACCA,SACA9C,aACE8C,OACA;MACErB,QAAQiB;MACRE,iBAAiBL;MAQjB,6BAA6BI,aAAaI;MAC3C,CAEP,CAAC;MAC8B;;IAGpB;GAEtB,GAUoD,EACnD7B,aAAamB,QAAQW,SAASC,KAC/B;;AAGH,IAAIC,WAAWjD,WAAWoB,QAAQ;AAElC6B,SAASC,cAAc"}
@@ -1,7 +1,7 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.189.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.1 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
- import { _Overlay } from "./Overlay.js";
4
3
  import { useOverlayEscapeGuard } from "../../../utils/react/useOverlayEscapeGuard.js";
4
+ import { _Overlay } from "./Overlay.js";
5
5
  import { c } from "react-compiler-runtime";
6
6
  import { tasty } from "@tenphi/tasty";
7
7
  import { forwardRef } from "react";
@@ -1,5 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.189.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.1 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
+ import { useOverlayEscapeGuard } from "../../../utils/react/useOverlayEscapeGuard.js";
3
4
  import { _Overlay } from "./Overlay.js";
4
5
  import { _Underlay } from "./Underlay.js";
5
6
  import { OVERLAY_WRAPPER_STYLES } from "./Modal.js";
@@ -80,7 +81,8 @@ function Tray(props, ref) {
80
81
  $[10] = shouldCloseOnInteractOutside;
81
82
  $[11] = t0;
82
83
  } else t0 = $[11];
83
- const { overlayProps, underlayProps } = useOverlay(t0, domRef);
84
+ const { overlayProps: rawOverlayProps, underlayProps } = useOverlay(t0, domRef);
85
+ const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);
84
86
  let t1;
85
87
  if ($[12] !== underlayProps) {
86
88
  t1 = /* @__PURE__ */ jsx(_Underlay, { ...underlayProps });