@cube-dev/ui-kit 0.193.1 → 0.194.0
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.
- package/dist/CHANGELOG.md +28 -0
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.d.ts +25 -12
- package/dist/components/CollectionItem.js +59 -4
- package/dist/components/CollectionItem.js.map +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +2 -2
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.d.ts +1 -1
- package/dist/components/actions/Banner/Banner.js +6 -6
- package/dist/components/actions/Banner/Banner.js.map +1 -1
- package/dist/components/actions/Button/Button.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +28 -25
- package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.d.ts +7 -7
- package/dist/components/actions/CommandMenu/CommandMenu.js +232 -239
- package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +26 -22
- package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
- package/dist/components/actions/ItemActionContext.d.ts +3 -0
- package/dist/components/actions/ItemActionContext.js +15 -13
- package/dist/components/actions/ItemActionContext.js.map +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.d.ts +2 -2
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.d.ts +9 -9
- package/dist/components/actions/Menu/Menu.js +88 -64
- package/dist/components/actions/Menu/Menu.js.map +1 -1
- package/dist/components/actions/Menu/MenuCollectionItem.d.ts +18 -0
- package/dist/components/actions/Menu/MenuCollectionItem.js +36 -0
- package/dist/components/actions/Menu/MenuCollectionItem.js.map +1 -0
- package/dist/components/actions/Menu/MenuItem.d.ts +5 -0
- package/dist/components/actions/Menu/MenuItem.js +402 -116
- package/dist/components/actions/Menu/MenuItem.js.map +1 -1
- package/dist/components/actions/Menu/MenuSection.d.ts +3 -1
- package/dist/components/actions/Menu/MenuSection.js +31 -33
- package/dist/components/actions/Menu/MenuSection.js.map +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.d.ts +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +2 -2
- package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/index.d.ts +1 -0
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/actions-run.js +1 -1
- package/dist/components/actions/index.d.ts +3 -2
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +60 -36
- package/dist/components/actions/use-action.js.map +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.d.ts +19 -19
- package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +1 -1
- package/dist/components/content/Divider.js +1 -1
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +44 -33
- package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +1 -1
- package/dist/components/content/Item/Item.d.ts +7 -7
- package/dist/components/content/Item/Item.js +205 -67
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/Item/ItemWithNativeLinks.js +314 -0
- package/dist/components/content/Item/ItemWithNativeLinks.js.map +1 -0
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemCard/ItemCard.d.ts +1 -1
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPane.js +18 -15
- package/dist/components/content/Layout/LayoutPane.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +41 -46
- package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +2 -2
- package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
- package/dist/components/content/Layout/LayoutToolbar.js +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/dist/components/content/Layout/index.js +1 -1
- package/dist/components/content/Layout/utils.js +1 -1
- package/dist/components/content/Paragraph.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js +77 -70
- package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +5 -5
- package/dist/components/content/Result/Result.js.map +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +18 -19
- package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/content/Tag/Tag.js +2 -2
- package/dist/components/content/Text.d.ts +14 -14
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/Title.js +66 -48
- package/dist/components/content/Title.js.map +1 -1
- package/dist/components/content/Tree/Tree.js +6 -3
- package/dist/components/content/Tree/Tree.js.map +1 -1
- package/dist/components/content/Tree/TreeNode.js +1 -1
- package/dist/components/content/Tree/styled.js +1 -1
- package/dist/components/content/Tree/tree-index.js +1 -1
- package/dist/components/content/Tree/types.d.ts +2 -2
- package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
- package/dist/components/content/Tree/use-load-data.js +1 -1
- package/dist/components/content/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.js +1 -1
- package/dist/components/data/DataTable/DataTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/RowCollection.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableView.js +39 -19
- package/dist/components/data/TableBase/TableView.js.map +1 -1
- package/dist/components/data/TableBase/TreeGridTable.js +1 -1
- package/dist/components/data/TableBase/column-header.js +1 -1
- package/dist/components/data/TableBase/column-menu.js +1 -1
- package/dist/components/data/TableBase/column-styles.js +1 -1
- package/dist/components/data/TableBase/column-tint.js +1 -1
- package/dist/components/data/TableBase/row-menu.js +1 -1
- package/dist/components/data/TableBase/styled.d.ts +1 -1
- package/dist/components/data/TableBase/styled.js +14 -1
- package/dist/components/data/TableBase/styled.js.map +1 -1
- package/dist/components/data/TableBase/table-tree.js +1 -1
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-column-menu.js +1 -1
- package/dist/components/data/TableBase/use-column-order.js +1 -1
- package/dist/components/data/TableBase/use-column-window.js +219 -0
- package/dist/components/data/TableBase/use-column-window.js.map +1 -0
- package/dist/components/data/TableBase/use-container-width.js +1 -1
- package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
- package/dist/components/data/TableBase/use-scrollability.js +1 -1
- package/dist/components/data/TableBase/use-table-columns.js +1 -1
- package/dist/components/data/TableBase/use-table-search.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js +1 -1
- package/dist/components/data/TableBase/use-table-sort.js +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +1 -1
- package/dist/components/data/TableBase/use-table-tooltip-refresh.js +32 -19
- package/dist/components/data/TableBase/use-table-tooltip-refresh.js.map +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +3 -1
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +13 -13
- package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.js +32 -29
- package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.d.ts +2 -0
- package/dist/components/fields/ColorPicker/ColorPicker.js +8 -5
- package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +6 -3
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +41 -30
- package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
- package/dist/components/fields/DatePicker/DatePicker.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.js +2 -2
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +246 -238
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.js +1 -1
- package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
- package/dist/components/fields/DatePicker/YearPicker.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.js +1 -1
- package/dist/components/fields/DatePicker/period.js +1 -1
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/utils.js +1 -1
- package/dist/components/fields/FileInput/FileInput.js +22 -2
- package/dist/components/fields/FileInput/FileInput.js.map +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +5 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.d.ts +4 -2
- package/dist/components/fields/FilterPicker/FilterPicker.js +3 -2
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.js +8 -7
- package/dist/components/fields/ListBox/ListBox.js.map +1 -1
- package/dist/components/fields/ListBox/optionId.js +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +36 -32
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/dist/components/fields/Picker/Picker.d.ts +4 -2
- package/dist/components/fields/Picker/Picker.js +3 -2
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.d.ts +24 -24
- package/dist/components/fields/RadioGroup/Radio.js +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.d.ts +4 -4
- package/dist/components/fields/Select/Select.js +35 -32
- package/dist/components/fields/Select/Select.js.map +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/SliderBase.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +1 -1
- package/dist/components/fields/TagInput/TagInput.js +1 -1
- package/dist/components/fields/TagInput/TagList.js +1 -1
- package/dist/components/fields/TagInput/useActiveOption.js +1 -1
- package/dist/components/fields/TagInput/useTagError.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +1 -1
- package/dist/components/fields/TextInput/TextInput.js +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js +1 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +13 -5
- package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
- package/dist/components/fields/TriggerActions.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +62 -53
- package/dist/components/fields/color/ColorPanel.js.map +1 -1
- package/dist/components/fields/color/channels.js +1 -1
- package/dist/components/fields/color/color.js +1 -1
- package/dist/components/fields/color/context.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +1 -0
- package/dist/components/form/FieldWrapper/FieldWrapper.js +133 -109
- package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
- package/dist/components/form/FieldWrapper/field-description.js +102 -0
- package/dist/components/form/FieldWrapper/field-description.js.map +1 -0
- package/dist/components/form/FieldWrapper/types.d.ts +6 -1
- package/dist/components/form/Form/Field.js +1 -1
- package/dist/components/form/Form/Form.js +1 -1
- package/dist/components/form/Form/ModernFormRoot.js +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/dist/components/form/Form/SubmitError.js +1 -1
- package/dist/components/form/Form/backend.js +1 -1
- package/dist/components/form/Form/index.js +1 -1
- package/dist/components/form/Form/modern/actions.js +1 -1
- package/dist/components/form/Form/modern/context.js +1 -1
- package/dist/components/form/Form/modern/controller.js +1 -1
- package/dist/components/form/Form/modern/field-binding.js +1 -1
- package/dist/components/form/Form/modern/field.js +1 -1
- package/dist/components/form/Form/modern/react.js +1 -1
- package/dist/components/form/Form/modern/store.js +1 -1
- package/dist/components/form/Form/modern/validation.js +1 -1
- package/dist/components/form/Form/modern/values.js +1 -1
- package/dist/components/form/Form/reset-unbound-controls.js +1 -1
- package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
- package/dist/components/form/Form/use-field/use-field-props.js +17 -4
- package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
- package/dist/components/form/Form/use-field/use-field.js +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.js +27 -24
- package/dist/components/form/Label.js.map +1 -1
- package/dist/components/form/legacy-tooltip.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.js +1 -1
- package/dist/components/form/validation/resolve-validation-props.js +1 -1
- package/dist/components/form/validation/use-validation-props.js +1 -1
- package/dist/components/form/wrapper.js +2 -1
- package/dist/components/form/wrapper.js.map +1 -1
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/dist/components/layout/Flex.js +1 -1
- package/dist/components/layout/Flow.js +1 -1
- package/dist/components/layout/Grid.js +1 -1
- package/dist/components/layout/Panel.js +1 -1
- package/dist/components/layout/Prefix.js +1 -1
- package/dist/components/layout/ResizablePanel.js +1 -1
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/popover-placement.js +1 -1
- package/dist/components/navigation/Tabs/styled.js +1 -1
- package/dist/components/navigation/Tabs/types.d.ts +3 -3
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
- package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
- package/dist/components/other/Calendar/Calendar.js +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +1 -1
- package/dist/components/other/Calendar/CalendarHeader.js +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/PeriodGrid.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/Calendar/styled.js +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
- package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/default-button-text.js +1 -1
- package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +44 -24
- package/dist/components/overlays/Modal/Modal.js.map +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +34 -24
- package/dist/components/overlays/Modal/Popover.js.map +1 -1
- package/dist/components/overlays/Modal/Tray.js +45 -25
- package/dist/components/overlays/Modal/Tray.js.map +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Modal/modal-containment.js +145 -0
- package/dist/components/overlays/Modal/modal-containment.js.map +1 -0
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +2 -2
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useToast.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +50 -47
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/DraggableCollection.js +1 -1
- package/dist/components/shared/InvalidIcon.js +1 -1
- package/dist/components/shared/ValidIcon.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/dist/components/status/Spin/Cube.js +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +1 -1
- package/dist/components/status/Spin/Spin.js +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +1 -1
- package/dist/data/item-themes.js +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +2 -2
- package/dist/eslint-plugin/defaults.generated.js.map +1 -1
- package/dist/eslint-plugin/index.js +1 -1
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
- package/dist/i18n/I18nProvider.js +3 -2
- package/dist/i18n/I18nProvider.js.map +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/index.d.ts +2 -1
- package/dist/i18n/index.js +3 -2
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/instance.d.ts +2 -3
- package/dist/i18n/instance.js +3 -4
- package/dist/i18n/instance.js.map +1 -1
- package/dist/i18n/locales/de-DE/uikit.js +36 -5
- package/dist/i18n/locales/en-US/uikit.js +36 -5
- package/dist/i18n/locales/en-US/uikit.json.d.ts +41 -4
- package/dist/i18n/locales/es-ES/uikit.js +36 -5
- package/dist/i18n/locales/es-MX/uikit.js +36 -5
- package/dist/i18n/locales/fr-FR/uikit.js +36 -5
- package/dist/i18n/locales/it-IT/uikit.js +36 -5
- package/dist/i18n/locales/ja-JP/uikit.js +36 -5
- package/dist/i18n/locales/nb-NO/uikit.js +36 -5
- package/dist/i18n/locales/pt-BR/uikit.js +36 -5
- package/dist/i18n/locales/pt-PT/uikit.js +36 -5
- package/dist/i18n/locales/sv-SE/uikit.js +36 -5
- package/dist/i18n/locales/vi-VN/uikit.js +36 -5
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/namespace.d.ts +11 -0
- package/dist/i18n/namespace.js +12 -0
- package/dist/i18n/namespace.js.map +1 -0
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/useI18n.js +5 -3
- package/dist/i18n/useI18n.js.map +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/ArrowNarrowDownIcon.js +1 -1
- package/dist/icons/ArrowNarrowUpIcon.js +1 -1
- package/dist/icons/BackwardIcon.js +1 -1
- package/dist/icons/BarChartIcon.js +1 -1
- package/dist/icons/BellFilledIcon.js +1 -1
- package/dist/icons/BellIcon.js +1 -1
- package/dist/icons/BooleanIcon.js +1 -1
- package/dist/icons/CalendarEditIcon.js +1 -1
- package/dist/icons/CalendarIcon.js +1 -1
- package/dist/icons/CaretDownIcon.js +1 -1
- package/dist/icons/CaretUpIcon.js +1 -1
- package/dist/icons/ChartAreaStackedIcon.js +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarGroupedIcon.js +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarLineIcon.js +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js +1 -1
- package/dist/icons/ChartBoxPlotIcon.js +1 -1
- package/dist/icons/ChartBubbleIcon.js +1 -1
- package/dist/icons/ChartDonut2Icon.js +1 -1
- package/dist/icons/ChartFunnelIcon.js +1 -1
- package/dist/icons/ChartHeatmapIcon.js +1 -1
- package/dist/icons/ChartKPIIcon.js +1 -1
- package/dist/icons/ChartPie2Icon.js +1 -1
- package/dist/icons/ChartScatterIcon.js +1 -1
- package/dist/icons/CheckCircleFilledIcon.js +1 -1
- package/dist/icons/CheckCircleIcon.js +1 -1
- package/dist/icons/CheckIcon.js +1 -1
- package/dist/icons/CircleFilledIcon.js +1 -1
- package/dist/icons/ClearIcon.js +1 -1
- package/dist/icons/CloseCircleFilledIcon.js +1 -1
- package/dist/icons/CloseCircleIcon.js +1 -1
- package/dist/icons/CloseIcon.js +1 -1
- package/dist/icons/CodeIcon.js +1 -1
- package/dist/icons/ColumnTotalIcon.js +1 -1
- package/dist/icons/CopyIcon.js +1 -1
- package/dist/icons/CountIcon.js +1 -1
- package/dist/icons/CubeIcon.js +1 -1
- package/dist/icons/CubePauseIcon.js +1 -1
- package/dist/icons/CubePlayIcon.js +1 -1
- package/dist/icons/CurrencyDollarIcon.js +1 -1
- package/dist/icons/DangerIcon.js +1 -1
- package/dist/icons/DashboardIcon.js +1 -1
- package/dist/icons/DatabaseIcon.js +1 -1
- package/dist/icons/DecimalDecreaseIcon.js +1 -1
- package/dist/icons/DecimalIncreaseIcon.js +1 -1
- package/dist/icons/DirectionIcon.js +1 -1
- package/dist/icons/DonutIcon.js +1 -1
- package/dist/icons/DownIcon.js +1 -1
- package/dist/icons/EditIcon.js +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
- package/dist/icons/ExclamationCircleIcon.js +1 -1
- package/dist/icons/ExclamationIcon.js +1 -1
- package/dist/icons/EyeIcon.js +1 -1
- package/dist/icons/EyeInvisibleIcon.js +1 -1
- package/dist/icons/FilterIcon.js +1 -1
- package/dist/icons/FolderFilledIcon.js +1 -1
- package/dist/icons/FolderIcon.js +1 -1
- package/dist/icons/FolderOpenFilledIcon.js +1 -1
- package/dist/icons/FolderOpenIcon.js +1 -1
- package/dist/icons/ForwardIcon.js +1 -1
- package/dist/icons/GripVerticalIcon.js +1 -1
- package/dist/icons/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/Icon.js +1 -1
- package/dist/icons/InfoCircleIcon.js +1 -1
- package/dist/icons/InfoIcon.js +1 -1
- package/dist/icons/KeyIcon.js +1 -1
- package/dist/icons/LeftIcon.js +1 -1
- package/dist/icons/LineChartIcon.js +1 -1
- package/dist/icons/LoadingIcon.js +1 -1
- package/dist/icons/LockFilledIcon.js +1 -1
- package/dist/icons/LockIcon.js +1 -1
- package/dist/icons/MoreIcon.js +1 -1
- package/dist/icons/NotAllowedIcon.js +1 -1
- package/dist/icons/Number123Icon.js +1 -1
- package/dist/icons/NumberIcon.js +1 -1
- package/dist/icons/PauseCircleFilledIcon.js +1 -1
- package/dist/icons/PauseCircleIcon.js +1 -1
- package/dist/icons/PauseIcon.js +1 -1
- package/dist/icons/PercentageIcon.js +1 -1
- package/dist/icons/PieChartIcon.js +1 -1
- package/dist/icons/PipetteIcon.js +1 -1
- package/dist/icons/PlayCircleIcon.js +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.d.ts +9 -7
- package/dist/index.js +7 -6
- package/dist/index.js.map +1 -1
- package/dist/probe/canonicalize.js +1 -1
- package/dist/probe/css.js +1 -1
- package/dist/probe/index.js +1 -1
- package/dist/provider.js +2 -2
- package/dist/provider.js.map +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigation-url.js +11 -0
- package/dist/providers/navigation-url.js.map +1 -0
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/providers/use-navigation.js +19 -0
- package/dist/providers/use-navigation.js.map +1 -0
- package/dist/tokens/all-tokens.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/color-seed.js +1 -1
- package/dist/tokens/color-theme.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/legacy-color.js +1 -1
- package/dist/tokens/palette-config.js +1 -1
- package/dist/tokens/palette.js +1 -1
- package/dist/tokens/resolve.js +1 -1
- package/dist/tokens/shadows.js +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/typography.js +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/dotize.js +1 -1
- package/dist/utils/is-dev-env.js +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/react/RenderCache.js +1 -1
- package/dist/utils/react/Slots.js +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/disabledProps.js +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.js +1 -1
- package/dist/utils/react/interactions.js +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/overlayKeyPropagation.js +1 -1
- package/dist/utils/react/programmaticFocus.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useBufferedValue.js +1 -1
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useScheme.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/selection.js +1 -1
- package/dist/utils/styles.js +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/version.js +2 -2
- package/docs/Usage.md +4 -0
- package/docs/components/CollectionItem.md +5 -1
- package/docs/components/actions/CommandMenu.md +46 -18
- package/docs/components/actions/Menu.md +124 -19
- package/docs/components/content/Placeholder.md +2 -0
- package/docs/components/content/Skeleton.md +2 -0
- package/docs/components/data/DataTable.md +3 -0
- package/docs/components/data/ItemTable.md +11 -1
- package/docs/components/overlays/Dialog.md +1 -1
- package/docs/components/overlays/DialogContainer.md +1 -2
- package/docs/components/overlays/DialogTrigger.md +1 -0
- package/package.json +3 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
3
|
+
import { mergeRefs as mergeRefs$1 } from "../../../utils/react/useCombinedRefs.js";
|
|
4
|
+
import { ModalContainmentProvider, useModalContainment } from "./modal-containment.js";
|
|
3
5
|
import { useOverlayEscapeGuard } from "../../../utils/react/useOverlayEscapeGuard.js";
|
|
4
6
|
import { _Overlay } from "./Overlay.js";
|
|
5
7
|
import { _Underlay } from "./Underlay.js";
|
|
@@ -67,7 +69,7 @@ const ModalElement = tasty({ styles: {
|
|
|
67
69
|
}
|
|
68
70
|
} });
|
|
69
71
|
function Modal(props, ref) {
|
|
70
|
-
const $ = c(
|
|
72
|
+
const $ = c(30);
|
|
71
73
|
let children;
|
|
72
74
|
let onClose;
|
|
73
75
|
let otherProps;
|
|
@@ -100,6 +102,7 @@ function Modal(props, ref) {
|
|
|
100
102
|
} else t0 = $[8];
|
|
101
103
|
const { overlayProps: rawOverlayProps, underlayProps } = useOverlay(t0, domRef);
|
|
102
104
|
const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);
|
|
105
|
+
const { containment, ref: containmentRef } = useModalContainment(type !== "panel", !!props.isOpen);
|
|
103
106
|
let t1;
|
|
104
107
|
if ($[9] !== type || $[10] !== underlayProps) {
|
|
105
108
|
t1 = type !== "fullscreenTakeover" && type !== "panel" && /* @__PURE__ */ jsx(_Underlay, { ...underlayProps });
|
|
@@ -108,9 +111,16 @@ function Modal(props, ref) {
|
|
|
108
111
|
$[11] = t1;
|
|
109
112
|
} else t1 = $[11];
|
|
110
113
|
let t2;
|
|
111
|
-
if ($[12] !==
|
|
112
|
-
t2 =
|
|
113
|
-
|
|
114
|
+
if ($[12] !== containmentRef || $[13] !== domRef) {
|
|
115
|
+
t2 = mergeRefs$1(domRef, containmentRef);
|
|
116
|
+
$[12] = containmentRef;
|
|
117
|
+
$[13] = domRef;
|
|
118
|
+
$[14] = t2;
|
|
119
|
+
} else t2 = $[14];
|
|
120
|
+
let t3;
|
|
121
|
+
if ($[15] !== children || $[16] !== onClose || $[17] !== overlayProps || $[18] !== qa || $[19] !== styles || $[20] !== t2 || $[21] !== type) {
|
|
122
|
+
t3 = /* @__PURE__ */ jsx(ModalWrapper, {
|
|
123
|
+
ref: t2,
|
|
114
124
|
qa,
|
|
115
125
|
type,
|
|
116
126
|
overlayProps,
|
|
@@ -118,27 +128,37 @@ function Modal(props, ref) {
|
|
|
118
128
|
onClose,
|
|
119
129
|
children
|
|
120
130
|
});
|
|
121
|
-
$[
|
|
122
|
-
$[
|
|
123
|
-
$[
|
|
124
|
-
$[
|
|
125
|
-
$[
|
|
126
|
-
$[
|
|
127
|
-
$[
|
|
128
|
-
$[
|
|
129
|
-
} else
|
|
130
|
-
let
|
|
131
|
-
if ($[
|
|
132
|
-
|
|
131
|
+
$[15] = children;
|
|
132
|
+
$[16] = onClose;
|
|
133
|
+
$[17] = overlayProps;
|
|
134
|
+
$[18] = qa;
|
|
135
|
+
$[19] = styles;
|
|
136
|
+
$[20] = t2;
|
|
137
|
+
$[21] = type;
|
|
138
|
+
$[22] = t3;
|
|
139
|
+
} else t3 = $[22];
|
|
140
|
+
let t4;
|
|
141
|
+
if ($[23] !== otherProps || $[24] !== t1 || $[25] !== t3) {
|
|
142
|
+
t4 = /* @__PURE__ */ jsxs(_Overlay, {
|
|
133
143
|
...otherProps,
|
|
134
|
-
children: [t1,
|
|
144
|
+
children: [t1, t3]
|
|
145
|
+
});
|
|
146
|
+
$[23] = otherProps;
|
|
147
|
+
$[24] = t1;
|
|
148
|
+
$[25] = t3;
|
|
149
|
+
$[26] = t4;
|
|
150
|
+
} else t4 = $[26];
|
|
151
|
+
let t5;
|
|
152
|
+
if ($[27] !== containment || $[28] !== t4) {
|
|
153
|
+
t5 = /* @__PURE__ */ jsx(ModalContainmentProvider, {
|
|
154
|
+
value: containment,
|
|
155
|
+
children: t4
|
|
135
156
|
});
|
|
136
|
-
$[
|
|
137
|
-
$[
|
|
138
|
-
$[
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
return t3;
|
|
157
|
+
$[27] = containment;
|
|
158
|
+
$[28] = t4;
|
|
159
|
+
$[29] = t5;
|
|
160
|
+
} else t5 = $[29];
|
|
161
|
+
return t5;
|
|
142
162
|
}
|
|
143
163
|
let ModalWrapper = forwardRef(function ModalWrapper(props, ref) {
|
|
144
164
|
const $ = c(25);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","names":["useObjectRef","BaseProps","Styles","tasty","ForwardedRef","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 { ForwardedRef, 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: ForwardedRef<HTMLElement>) {\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
|
+
{"version":3,"file":"Modal.js","names":["useObjectRef","BaseProps","Styles","tasty","ForwardedRef","forwardRef","ReactNode","useModal","useOverlay","usePreventScroll","mergeProps","mergeRefs","useOverlayEscapeGuard","ModalContainmentProvider","useModalContainment","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","containment","containmentRef","t1","t2","t3","t4","t5","ModalWrapperProps","placement","ModalWrapper","transitionState","isDisabled","modalProps","T0","T1","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 { ForwardedRef, forwardRef, ReactNode } from 'react';\nimport { useModal, useOverlay, usePreventScroll } from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react';\nimport { mergeRefs } from '../../../utils/react/useCombinedRefs';\nimport { useOverlayEscapeGuard } from '../../../utils/react/useOverlayEscapeGuard';\n\nimport {\n ModalContainmentProvider,\n useModalContainment,\n} from './modal-containment';\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: ForwardedRef<HTMLElement>) {\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 // A panel leaves the page readable; every other type hides it while open.\n const { containment, ref: containmentRef } = useModalContainment(\n type !== 'panel',\n !!props.isOpen,\n );\n\n return (\n <ModalContainmentProvider value={containment}>\n <Overlay {...otherProps}>\n {type !== 'fullscreenTakeover' && type !== 'panel' && (\n <Underlay {...underlayProps} />\n )}\n <ModalWrapper\n ref={mergeRefs(domRef, containmentRef)}\n qa={qa}\n type={type}\n overlayProps={overlayProps}\n styles={styles}\n onClose={onClose}\n >\n {children}\n </ModalWrapper>\n </Overlay>\n </ModalContainmentProvider>\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.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | 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";
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
3
|
+
import { mergeRefs as mergeRefs$1 } from "../../../utils/react/useCombinedRefs.js";
|
|
4
|
+
import { useModalLayerRef } from "./modal-containment.js";
|
|
3
5
|
import { useOverlayEscapeGuard } from "../../../utils/react/useOverlayEscapeGuard.js";
|
|
4
6
|
import { _Overlay } from "./Overlay.js";
|
|
5
7
|
import { c } from "react/compiler-runtime";
|
|
@@ -38,7 +40,7 @@ const PopoverElement = tasty({
|
|
|
38
40
|
}
|
|
39
41
|
});
|
|
40
42
|
function Popover(props, ref) {
|
|
41
|
-
const $ = c(
|
|
43
|
+
const $ = c(29);
|
|
42
44
|
let arrowProps;
|
|
43
45
|
let children;
|
|
44
46
|
let isNonModal;
|
|
@@ -86,10 +88,18 @@ function Popover(props, ref) {
|
|
|
86
88
|
} else t2 = $[12];
|
|
87
89
|
const { overlayProps: rawOverlayProps } = useOverlay(t2, domRef);
|
|
88
90
|
const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);
|
|
91
|
+
const layerRef = useModalLayerRef();
|
|
89
92
|
let t3;
|
|
90
|
-
if ($[13] !==
|
|
91
|
-
t3 =
|
|
92
|
-
|
|
93
|
+
if ($[13] !== domRef || $[14] !== layerRef) {
|
|
94
|
+
t3 = mergeRefs$1(domRef, layerRef);
|
|
95
|
+
$[13] = domRef;
|
|
96
|
+
$[14] = layerRef;
|
|
97
|
+
$[15] = t3;
|
|
98
|
+
} else t3 = $[15];
|
|
99
|
+
let t4;
|
|
100
|
+
if ($[16] !== arrowProps || $[17] !== children || $[18] !== isNonModal || $[19] !== overlayProps || $[20] !== placement || $[21] !== qa || $[22] !== style || $[23] !== styles || $[24] !== t3) {
|
|
101
|
+
t4 = /* @__PURE__ */ jsx(PopoverWrapper, {
|
|
102
|
+
ref: t3,
|
|
93
103
|
qa,
|
|
94
104
|
style,
|
|
95
105
|
styles,
|
|
@@ -99,28 +109,28 @@ function Popover(props, ref) {
|
|
|
99
109
|
overlayProps,
|
|
100
110
|
children
|
|
101
111
|
});
|
|
102
|
-
$[
|
|
103
|
-
$[
|
|
104
|
-
$[
|
|
105
|
-
$[
|
|
106
|
-
$[
|
|
107
|
-
$[
|
|
108
|
-
$[
|
|
109
|
-
$[
|
|
110
|
-
$[21] = styles;
|
|
111
|
-
$[22] = t3;
|
|
112
|
-
} else t3 = $[22];
|
|
113
|
-
let t4;
|
|
114
|
-
if ($[23] !== otherProps || $[24] !== t3) {
|
|
115
|
-
t4 = /* @__PURE__ */ jsx(_Overlay, {
|
|
116
|
-
...otherProps,
|
|
117
|
-
children: t3
|
|
118
|
-
});
|
|
119
|
-
$[23] = otherProps;
|
|
112
|
+
$[16] = arrowProps;
|
|
113
|
+
$[17] = children;
|
|
114
|
+
$[18] = isNonModal;
|
|
115
|
+
$[19] = overlayProps;
|
|
116
|
+
$[20] = placement;
|
|
117
|
+
$[21] = qa;
|
|
118
|
+
$[22] = style;
|
|
119
|
+
$[23] = styles;
|
|
120
120
|
$[24] = t3;
|
|
121
121
|
$[25] = t4;
|
|
122
122
|
} else t4 = $[25];
|
|
123
|
-
|
|
123
|
+
let t5;
|
|
124
|
+
if ($[26] !== otherProps || $[27] !== t4) {
|
|
125
|
+
t5 = /* @__PURE__ */ jsx(_Overlay, {
|
|
126
|
+
...otherProps,
|
|
127
|
+
children: t4
|
|
128
|
+
});
|
|
129
|
+
$[26] = otherProps;
|
|
130
|
+
$[27] = t4;
|
|
131
|
+
$[28] = t5;
|
|
132
|
+
} else t5 = $[28];
|
|
133
|
+
return t5;
|
|
124
134
|
}
|
|
125
135
|
const PopoverWrapper = forwardRef(function PopoverWrapper(props, ref) {
|
|
126
136
|
const $ = c(18);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","names":["useObjectRef","BaseProps","tasty","ForwardedRef","forwardRef","HTMLAttributes","AriaOverlayProps","useModal","useOverlay","PlacementAxis","mergeProps","useOverlayEscapeGuard","CubeOverlayProps","Overlay","TransitionState","Props","PopoverElement","role","styles","display","hide","exit","unmounted","pointerEvents","position","transition","transform","open","opacity","transformOrigin","CubePopoverProps","container","HTMLElement","placement","arrowProps","hideArrow","isOpen","onClose","shouldCloseOnBlur","isNonModal","isDismissable","shouldCloseOnInteractOutside","element","Element","Popover","props","ref","$","_c","children","otherProps","qa","style","t0","undefined","domRef","t1","t2","overlayProps","rawOverlayProps","t3","t4","PopoverWrapperProps","Omit","PopoverWrapper","transitionState","isDisabled","modalProps","T0","
|
|
1
|
+
{"version":3,"file":"Popover.js","names":["useObjectRef","BaseProps","tasty","ForwardedRef","forwardRef","HTMLAttributes","AriaOverlayProps","useModal","useOverlay","PlacementAxis","mergeProps","mergeRefs","useOverlayEscapeGuard","useModalLayerRef","CubeOverlayProps","Overlay","TransitionState","Props","PopoverElement","role","styles","display","hide","exit","unmounted","pointerEvents","position","transition","transform","open","opacity","transformOrigin","CubePopoverProps","container","HTMLElement","placement","arrowProps","hideArrow","isOpen","onClose","shouldCloseOnBlur","isNonModal","isDismissable","shouldCloseOnInteractOutside","element","Element","Popover","props","ref","$","_c","children","otherProps","qa","style","t0","undefined","domRef","t1","t2","overlayProps","rawOverlayProps","layerRef","t3","t4","t5","PopoverWrapperProps","Omit","PopoverWrapper","transitionState","isDisabled","modalProps","T0","t6","t7","t8","enter","entered","t9","_Popover","displayName"],"sources":["../../../../src/components/overlays/Modal/Popover.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, HTMLAttributes } from 'react';\nimport { AriaOverlayProps, useModal, useOverlay } from 'react-aria';\n\nimport { PlacementAxis } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { mergeRefs } from '../../../utils/react/useCombinedRefs';\nimport { useOverlayEscapeGuard } from '../../../utils/react/useOverlayEscapeGuard';\n\nimport { useModalLayerRef } from './modal-containment';\nimport { CubeOverlayProps, Overlay } from './Overlay';\nimport { TransitionState } from './types';\n\nimport type { Props } from '../../../props';\n\nconst PopoverElement = tasty({\n role: 'presentation',\n styles: {\n display: 'initial',\n hide: {\n '': true,\n 'enter | entered': false,\n exit: false,\n unmounted: true,\n },\n pointerEvents: 'auto',\n position: 'absolute',\n transition:\n 'opacity $disclosure-transition linear, visibility 0ms linear, transform $disclosure-transition ease-in-out',\n transform: {\n '': 'scale(1, .9)',\n open: 'initial',\n },\n opacity: {\n '': 0,\n open: '.9999',\n },\n transformOrigin: {\n '': 'top center',\n '[data-placement=\"top\"]': 'bottom center',\n },\n },\n});\n\nexport interface CubePopoverProps\n extends BaseProps,\n AriaOverlayProps,\n CubeOverlayProps,\n TransitionState {\n container?: HTMLElement;\n placement?: PlacementAxis;\n arrowProps?: HTMLAttributes<HTMLElement>;\n hideArrow?: boolean;\n isOpen?: boolean;\n onClose?: () => void;\n shouldCloseOnBlur?: boolean;\n isNonModal?: boolean;\n isDismissable?: boolean;\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n}\n\nfunction Popover(props: CubePopoverProps, ref: ForwardedRef<HTMLElement>) {\n let {\n qa,\n style,\n styles,\n children,\n placement,\n arrowProps,\n isNonModal,\n isDismissable = true,\n ...otherProps\n } = props;\n\n let domRef = useObjectRef(ref);\n\n // `useOverlay` has to run here rather than inside `PopoverWrapper`, on the\n // *logical* open state — `Overlay` hands its child an `isOpen` that only\n // turns true once the enter animation has settled. Registering the overlay\n // that late leaves it out of React Aria's visible-overlay stack for the first\n // frames, and `Escape` silently does nothing until the popover finishes\n // animating in. `Modal` and `Tray` call it from the same place for the same\n // reason.\n let { overlayProps: rawOverlayProps } = useOverlay(\n { ...props, isDismissable: isDismissable && props.isOpen },\n domRef,\n );\n\n // ...and a popover that has already closed must not answer for `Escape`\n // while it animates out — see `useOverlayEscapeGuard`.\n const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);\n\n // Opened inside a modal, it stays readable while the modal hides the page.\n const layerRef = useModalLayerRef();\n\n return (\n <Overlay {...otherProps}>\n <PopoverWrapper\n ref={mergeRefs(domRef, layerRef)}\n qa={qa}\n style={style}\n styles={styles}\n placement={placement}\n arrowProps={arrowProps}\n isNonModal={isNonModal}\n overlayProps={overlayProps}\n >\n {children}\n </PopoverWrapper>\n </Overlay>\n );\n}\n\ninterface PopoverWrapperProps\n extends Omit<CubePopoverProps, 'isDismissable'>,\n TransitionState {\n overlayProps?: Props;\n}\n\nconst PopoverWrapper = forwardRef(function PopoverWrapper(\n props: PopoverWrapperProps,\n ref,\n) {\n let {\n qa,\n children,\n placement = 'bottom',\n arrowProps,\n // `isOpen` here is the transition's settled state, not the trigger's — it\n // drives the enter/exit styles only.\n isOpen,\n style,\n styles,\n isNonModal,\n transitionState,\n overlayProps,\n ...otherProps\n } = props;\n let { modalProps } = useModal({\n isDisabled: isNonModal,\n });\n\n return (\n <PopoverElement\n qa={qa || 'Popover'}\n {...mergeProps(otherProps, overlayProps, modalProps)}\n ref={ref}\n styles={styles}\n mods={{\n open: isOpen,\n enter: transitionState === 'enter',\n exit: transitionState === 'exit',\n unmounted: transitionState === 'unmounted',\n entered: transitionState === 'entered',\n }}\n data-placement={placement}\n style={style}\n >\n {children}\n </PopoverElement>\n );\n});\n\nconst _Popover = forwardRef(Popover);\n\n_Popover.displayName = 'Popover';\n\nexport { _Popover as Popover };\n"],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
3
|
+
import { mergeRefs as mergeRefs$1 } from "../../../utils/react/useCombinedRefs.js";
|
|
4
|
+
import { ModalContainmentProvider, useModalContainment } from "./modal-containment.js";
|
|
3
5
|
import { useOverlayEscapeGuard } from "../../../utils/react/useOverlayEscapeGuard.js";
|
|
4
6
|
import { _Overlay } from "./Overlay.js";
|
|
5
7
|
import { _Underlay } from "./Underlay.js";
|
|
@@ -39,7 +41,7 @@ const TrayElement = tasty({ styles: {
|
|
|
39
41
|
}
|
|
40
42
|
} });
|
|
41
43
|
function Tray(props, ref) {
|
|
42
|
-
const $ = c(
|
|
44
|
+
const $ = c(33);
|
|
43
45
|
let children;
|
|
44
46
|
let isFixedHeight;
|
|
45
47
|
let isNonModal;
|
|
@@ -83,6 +85,7 @@ function Tray(props, ref) {
|
|
|
83
85
|
} else t0 = $[11];
|
|
84
86
|
const { overlayProps: rawOverlayProps, underlayProps } = useOverlay(t0, domRef);
|
|
85
87
|
const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);
|
|
88
|
+
const { containment, ref: containmentRef } = useModalContainment(!isNonModal, !!props.isOpen);
|
|
86
89
|
let t1;
|
|
87
90
|
if ($[12] !== underlayProps) {
|
|
88
91
|
t1 = /* @__PURE__ */ jsx(_Underlay, { ...underlayProps });
|
|
@@ -90,9 +93,16 @@ function Tray(props, ref) {
|
|
|
90
93
|
$[13] = t1;
|
|
91
94
|
} else t1 = $[13];
|
|
92
95
|
let t2;
|
|
93
|
-
if ($[14] !==
|
|
94
|
-
t2 =
|
|
95
|
-
|
|
96
|
+
if ($[14] !== containmentRef || $[15] !== domRef) {
|
|
97
|
+
t2 = mergeRefs$1(domRef, containmentRef);
|
|
98
|
+
$[14] = containmentRef;
|
|
99
|
+
$[15] = domRef;
|
|
100
|
+
$[16] = t2;
|
|
101
|
+
} else t2 = $[16];
|
|
102
|
+
let t3;
|
|
103
|
+
if ($[17] !== children || $[18] !== isFixedHeight || $[19] !== isNonModal || $[20] !== onClose || $[21] !== overlayProps || $[22] !== qa || $[23] !== styles || $[24] !== t2) {
|
|
104
|
+
t3 = /* @__PURE__ */ jsx(TrayWrapper, {
|
|
105
|
+
ref: t2,
|
|
96
106
|
qa,
|
|
97
107
|
overlayProps,
|
|
98
108
|
isFixedHeight,
|
|
@@ -101,28 +111,38 @@ function Tray(props, ref) {
|
|
|
101
111
|
onClose,
|
|
102
112
|
children
|
|
103
113
|
});
|
|
104
|
-
$[
|
|
105
|
-
$[
|
|
106
|
-
$[
|
|
107
|
-
$[
|
|
108
|
-
$[
|
|
109
|
-
$[
|
|
110
|
-
$[
|
|
111
|
-
$[
|
|
112
|
-
$[
|
|
113
|
-
} else
|
|
114
|
-
let
|
|
115
|
-
if ($[
|
|
116
|
-
|
|
114
|
+
$[17] = children;
|
|
115
|
+
$[18] = isFixedHeight;
|
|
116
|
+
$[19] = isNonModal;
|
|
117
|
+
$[20] = onClose;
|
|
118
|
+
$[21] = overlayProps;
|
|
119
|
+
$[22] = qa;
|
|
120
|
+
$[23] = styles;
|
|
121
|
+
$[24] = t2;
|
|
122
|
+
$[25] = t3;
|
|
123
|
+
} else t3 = $[25];
|
|
124
|
+
let t4;
|
|
125
|
+
if ($[26] !== otherProps || $[27] !== t1 || $[28] !== t3) {
|
|
126
|
+
t4 = /* @__PURE__ */ jsxs(_Overlay, {
|
|
117
127
|
...otherProps,
|
|
118
|
-
children: [t1,
|
|
128
|
+
children: [t1, t3]
|
|
129
|
+
});
|
|
130
|
+
$[26] = otherProps;
|
|
131
|
+
$[27] = t1;
|
|
132
|
+
$[28] = t3;
|
|
133
|
+
$[29] = t4;
|
|
134
|
+
} else t4 = $[29];
|
|
135
|
+
let t5;
|
|
136
|
+
if ($[30] !== containment || $[31] !== t4) {
|
|
137
|
+
t5 = /* @__PURE__ */ jsx(ModalContainmentProvider, {
|
|
138
|
+
value: containment,
|
|
139
|
+
children: t4
|
|
119
140
|
});
|
|
120
|
-
$[
|
|
121
|
-
$[
|
|
122
|
-
$[
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
return t3;
|
|
141
|
+
$[30] = containment;
|
|
142
|
+
$[31] = t4;
|
|
143
|
+
$[32] = t5;
|
|
144
|
+
} else t5 = $[32];
|
|
145
|
+
return t5;
|
|
126
146
|
}
|
|
127
147
|
let TrayWrapper = forwardRef(function TrayWrapper(props, ref) {
|
|
128
148
|
const $ = c(22);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tray.js","names":["useObjectRef","BaseProps","Styles","tasty","ForwardedRef","forwardRef","ReactNode","AriaOverlayProps","useModal","useOverlay","usePreventScroll","mergeProps","useOverlayEscapeGuard","OVERLAY_WRAPPER_STYLES","CubeOverlayProps","Overlay","TransitionState","Underlay","Props","TrayWrapperElement","qa","styles","placeContent","placeItems","TrayElement","display","hide","exit","unmounted","zIndex","height","width","pointerEvents","transition","opacity","open","CubeTrayProps","container","HTMLElement","onClose","action","isFixedHeight","isNonModal","children","isKeyboardDismissDisabled","isOpen","onOpenChange","defaultOpen","shouldCloseOnInteractOutside","element","Element","CubeTrayWrapperProps","overlayProps","Tray","props","ref","$","_c","otherProps","domRef","t0","isDismissable","rawOverlayProps","underlayProps","t1","t2","t3","TrayWrapper","transitionState","isDisabled","modalProps","domProps","t4","t5","t6","t7","enter","entered","t8","t9","_Tray","displayName"],"sources":["../../../../src/components/overlays/Modal/Tray.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, Styles, tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, ReactNode } from 'react';\nimport {\n AriaOverlayProps,\n useModal,\n useOverlay,\n usePreventScroll,\n} from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react';\nimport { useOverlayEscapeGuard } from '../../../utils/react/useOverlayEscapeGuard';\n\nimport { OVERLAY_WRAPPER_STYLES } from './Modal';\nimport { CubeOverlayProps, Overlay } from './Overlay';\nimport { TransitionState } from './types';\nimport { Underlay } from './Underlay';\n\nimport type { Props } from '../../../props';\n\nconst TrayWrapperElement = tasty({\n qa: 'TrayWrapper',\n styles: {\n // eslint-disable-next-line tasty/no-style-spread -- overlay wrapper base shared with ModalWrapper\n ...OVERLAY_WRAPPER_STYLES,\n placeContent: 'end center',\n placeItems: 'end center',\n },\n});\n\nconst TrayElement = tasty({\n styles: {\n display: 'initial',\n hide: {\n '': true,\n 'enter | entered': false,\n exit: false,\n unmounted: true,\n },\n zIndex: 10,\n height: 'max 90dvh',\n width: '$min-dialog-size 90vw',\n pointerEvents: 'auto',\n transition:\n 'transform .25s ease-in-out, opacity .25s linear, visibility 0ms linear',\n opacity: {\n '': 0,\n open: '.9999',\n },\n },\n});\n\nexport interface CubeTrayProps extends AriaOverlayProps, CubeOverlayProps {\n container?: HTMLElement;\n qa?: BaseProps['qa'];\n onClose?: (action?: string) => void;\n isFixedHeight?: boolean;\n isNonModal?: boolean;\n styles?: Styles;\n children?: ReactNode;\n isKeyboardDismissDisabled?: boolean;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n /**\n * Predicate that decides whether the overlay should close in response to an\n * interaction outside of it. When the function returns `false`, react-aria's\n * `useOverlay` no longer calls `stopPropagation`/`preventDefault` on the\n * outside event, which lets sibling triggers receive the click.\n */\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n}\n\ninterface CubeTrayWrapperProps extends CubeTrayProps, TransitionState {\n isOpen?: boolean;\n overlayProps?: Props;\n}\n\nfunction Tray(props: CubeTrayProps, ref: ForwardedRef<HTMLElement>) {\n let {\n qa,\n children,\n onClose,\n isFixedHeight,\n isNonModal,\n styles,\n shouldCloseOnInteractOutside,\n ...otherProps\n } = props;\n let domRef = useObjectRef(ref);\n\n let { overlayProps: rawOverlayProps, underlayProps } = useOverlay(\n { ...props, isDismissable: true, shouldCloseOnInteractOutside },\n domRef,\n );\n\n // Same as `Modal`: a tray pressed while it closes must not take `Escape`.\n const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);\n\n 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":"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"}
|
|
1
|
+
{"version":3,"file":"Tray.js","names":["useObjectRef","BaseProps","Styles","tasty","ForwardedRef","forwardRef","ReactNode","AriaOverlayProps","useModal","useOverlay","usePreventScroll","mergeProps","mergeRefs","useOverlayEscapeGuard","OVERLAY_WRAPPER_STYLES","ModalContainmentProvider","useModalContainment","CubeOverlayProps","Overlay","TransitionState","Underlay","Props","TrayWrapperElement","qa","styles","placeContent","placeItems","TrayElement","display","hide","exit","unmounted","zIndex","height","width","pointerEvents","transition","opacity","open","CubeTrayProps","container","HTMLElement","onClose","action","isFixedHeight","isNonModal","children","isKeyboardDismissDisabled","isOpen","onOpenChange","defaultOpen","shouldCloseOnInteractOutside","element","Element","CubeTrayWrapperProps","overlayProps","Tray","props","ref","$","_c","otherProps","domRef","t0","isDismissable","rawOverlayProps","underlayProps","containment","containmentRef","t1","t2","t3","t4","t5","TrayWrapper","transitionState","isDisabled","modalProps","domProps","t6","t7","enter","entered","t8","t9","_Tray","displayName"],"sources":["../../../../src/components/overlays/Modal/Tray.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, Styles, tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, ReactNode } from 'react';\nimport {\n AriaOverlayProps,\n useModal,\n useOverlay,\n usePreventScroll,\n} from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react';\nimport { mergeRefs } from '../../../utils/react/useCombinedRefs';\nimport { useOverlayEscapeGuard } from '../../../utils/react/useOverlayEscapeGuard';\n\nimport { OVERLAY_WRAPPER_STYLES } from './Modal';\nimport {\n ModalContainmentProvider,\n useModalContainment,\n} from './modal-containment';\nimport { CubeOverlayProps, Overlay } from './Overlay';\nimport { TransitionState } from './types';\nimport { Underlay } from './Underlay';\n\nimport type { Props } from '../../../props';\n\nconst TrayWrapperElement = tasty({\n qa: 'TrayWrapper',\n styles: {\n // eslint-disable-next-line tasty/no-style-spread -- overlay wrapper base shared with ModalWrapper\n ...OVERLAY_WRAPPER_STYLES,\n placeContent: 'end center',\n placeItems: 'end center',\n },\n});\n\nconst TrayElement = tasty({\n styles: {\n display: 'initial',\n hide: {\n '': true,\n 'enter | entered': false,\n exit: false,\n unmounted: true,\n },\n zIndex: 10,\n height: 'max 90dvh',\n width: '$min-dialog-size 90vw',\n pointerEvents: 'auto',\n transition:\n 'transform .25s ease-in-out, opacity .25s linear, visibility 0ms linear',\n opacity: {\n '': 0,\n open: '.9999',\n },\n },\n});\n\nexport interface CubeTrayProps extends AriaOverlayProps, CubeOverlayProps {\n container?: HTMLElement;\n qa?: BaseProps['qa'];\n onClose?: (action?: string) => void;\n isFixedHeight?: boolean;\n isNonModal?: boolean;\n styles?: Styles;\n children?: ReactNode;\n isKeyboardDismissDisabled?: boolean;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n /**\n * Predicate that decides whether the overlay should close in response to an\n * interaction outside of it. When the function returns `false`, react-aria's\n * `useOverlay` no longer calls `stopPropagation`/`preventDefault` on the\n * outside event, which lets sibling triggers receive the click.\n */\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n}\n\ninterface CubeTrayWrapperProps extends CubeTrayProps, TransitionState {\n isOpen?: boolean;\n overlayProps?: Props;\n}\n\nfunction Tray(props: CubeTrayProps, ref: ForwardedRef<HTMLElement>) {\n let {\n qa,\n children,\n onClose,\n isFixedHeight,\n isNonModal,\n styles,\n shouldCloseOnInteractOutside,\n ...otherProps\n } = props;\n let domRef = useObjectRef(ref);\n\n let { overlayProps: rawOverlayProps, underlayProps } = useOverlay(\n { ...props, isDismissable: true, shouldCloseOnInteractOutside },\n domRef,\n );\n\n // Same as `Modal`: a tray pressed while it closes must not take `Escape`.\n const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);\n\n // Same as `Modal`: the page behind an open tray is hidden.\n const { containment, ref: containmentRef } = useModalContainment(\n !isNonModal,\n !!props.isOpen,\n );\n\n return (\n <ModalContainmentProvider value={containment}>\n <Overlay {...otherProps}>\n <Underlay {...underlayProps} />\n <TrayWrapper\n ref={mergeRefs(domRef, containmentRef)}\n qa={qa}\n overlayProps={overlayProps}\n isFixedHeight={isFixedHeight}\n isNonModal={isNonModal}\n styles={styles}\n onClose={onClose}\n >\n {children}\n </TrayWrapper>\n </Overlay>\n </ModalContainmentProvider>\n );\n}\n\nlet TrayWrapper = forwardRef(function TrayWrapper(\n props: CubeTrayWrapperProps,\n ref,\n) {\n let {\n qa,\n children,\n isOpen,\n styles,\n isFixedHeight,\n isNonModal,\n overlayProps,\n transitionState,\n ...otherProps\n } = props;\n usePreventScroll();\n let { modalProps } = useModal({\n isDisabled: isNonModal,\n });\n\n let domProps = mergeProps(otherProps, overlayProps);\n\n return (\n <TrayWrapperElement\n mods={{\n open: isOpen,\n }}\n >\n <TrayElement\n qa={qa || 'Tray'}\n styles={styles}\n mods={{\n open: isOpen,\n enter: transitionState === 'enter',\n exit: transitionState === 'exit',\n unmounted: transitionState === 'unmounted',\n entered: transitionState === 'entered',\n 'fixed-height': isFixedHeight,\n }}\n {...domProps}\n {...modalProps}\n ref={ref}\n >\n {children}\n </TrayElement>\n </TrayWrapperElement>\n );\n});\n\nlet _Tray = forwardRef(Tray);\n\n_Tray.displayName = 'Tray';\n\nexport { _Tray as Tray };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
|
|
2
|
+
import { c } from "react/compiler-runtime";
|
|
3
|
+
import { createContext, useContext, useLayoutEffect, useRef, useState } from "react";
|
|
4
|
+
import { ariaHideOutside } from "react-aria/private/overlays/ariaHideOutside";
|
|
5
|
+
|
|
6
|
+
//#region src/components/overlays/Modal/modal-containment.ts
|
|
7
|
+
const ModalContainmentContext = createContext(null);
|
|
8
|
+
const ModalContainmentProvider = ModalContainmentContext.Provider;
|
|
9
|
+
/**
|
|
10
|
+
* The open modals, in the order they opened. A modal opened while another is
|
|
11
|
+
* open, or in the same commit, need not be one of its layers — a dialog opened
|
|
12
|
+
* through `useDialogContainer` or the alert dialog API is not — so each one
|
|
13
|
+
* keeps the modals above it readable, and they hide it in turn.
|
|
14
|
+
*/
|
|
15
|
+
const openModals = [];
|
|
16
|
+
/**
|
|
17
|
+
* Hides anew for every open modal, lowest first, so the top one hides the
|
|
18
|
+
* others and its observer is the one left watching.
|
|
19
|
+
*/
|
|
20
|
+
function hideBehindOpenModals() {
|
|
21
|
+
openModals.forEach((open, index) => open.hide(openModals.slice(index + 1)));
|
|
22
|
+
}
|
|
23
|
+
function createModalContainment() {
|
|
24
|
+
const layers = /* @__PURE__ */ new Map();
|
|
25
|
+
let isActive = false;
|
|
26
|
+
let shown = /* @__PURE__ */ new Set();
|
|
27
|
+
let release;
|
|
28
|
+
const open = {
|
|
29
|
+
modal: null,
|
|
30
|
+
hide(above) {
|
|
31
|
+
const modals = [open, ...above].flatMap(({ modal }) => modal ? [modal] : []);
|
|
32
|
+
const next = open.modal ? ariaHideOutside([...modals, ...layers.keys()]) : void 0;
|
|
33
|
+
release?.();
|
|
34
|
+
release = next;
|
|
35
|
+
shown = new Set(next ? layers.keys() : []);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
return {
|
|
39
|
+
keep(element) {
|
|
40
|
+
layers.set(element, (layers.get(element) ?? 0) + 1);
|
|
41
|
+
if (release && !shown.has(element)) hideBehindOpenModals();
|
|
42
|
+
return () => {
|
|
43
|
+
const count = (layers.get(element) ?? 1) - 1;
|
|
44
|
+
if (count) layers.set(element, count);
|
|
45
|
+
else layers.delete(element);
|
|
46
|
+
};
|
|
47
|
+
},
|
|
48
|
+
setElement(element) {
|
|
49
|
+
if (!element || element === open.modal) return;
|
|
50
|
+
open.modal = element;
|
|
51
|
+
if (isActive) hideBehindOpenModals();
|
|
52
|
+
},
|
|
53
|
+
setActive(next) {
|
|
54
|
+
if (next === isActive) return;
|
|
55
|
+
isActive = next;
|
|
56
|
+
if (next) openModals.push(open);
|
|
57
|
+
else {
|
|
58
|
+
openModals.splice(openModals.indexOf(open), 1);
|
|
59
|
+
release?.();
|
|
60
|
+
release = void 0;
|
|
61
|
+
shown = /* @__PURE__ */ new Set();
|
|
62
|
+
}
|
|
63
|
+
hideBehindOpenModals();
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* For a modal overlay. While `isModal && isOpen`, hides the page outside the
|
|
69
|
+
* element given `ref` and outside the layers opened from it. Returns that ref,
|
|
70
|
+
* and the containment to provide to the overlay's content: its own, or the
|
|
71
|
+
* enclosing one for an overlay that is not modal, so the layers opened from it
|
|
72
|
+
* still register with a modal around it. The overlay itself is a layer of the
|
|
73
|
+
* enclosing modal either way.
|
|
74
|
+
*/
|
|
75
|
+
function useModalContainment(isModal, isOpen) {
|
|
76
|
+
const $ = c(10);
|
|
77
|
+
const parent = useContext(ModalContainmentContext);
|
|
78
|
+
const [containment] = useState(createModalContainment);
|
|
79
|
+
const layerRef = useModalLayerRef();
|
|
80
|
+
const isActive = isModal && isOpen;
|
|
81
|
+
let t0;
|
|
82
|
+
let t1;
|
|
83
|
+
if ($[0] !== containment || $[1] !== isActive) {
|
|
84
|
+
t0 = () => {
|
|
85
|
+
if (!isActive) return;
|
|
86
|
+
containment.setActive(true);
|
|
87
|
+
return () => containment.setActive(false);
|
|
88
|
+
};
|
|
89
|
+
t1 = [containment, isActive];
|
|
90
|
+
$[0] = containment;
|
|
91
|
+
$[1] = isActive;
|
|
92
|
+
$[2] = t0;
|
|
93
|
+
$[3] = t1;
|
|
94
|
+
} else {
|
|
95
|
+
t0 = $[2];
|
|
96
|
+
t1 = $[3];
|
|
97
|
+
}
|
|
98
|
+
useLayoutEffect(t0, t1);
|
|
99
|
+
let t2;
|
|
100
|
+
if ($[4] !== containment || $[5] !== layerRef) {
|
|
101
|
+
t2 = (element) => {
|
|
102
|
+
layerRef(element);
|
|
103
|
+
containment.setElement(element);
|
|
104
|
+
};
|
|
105
|
+
$[4] = containment;
|
|
106
|
+
$[5] = layerRef;
|
|
107
|
+
$[6] = t2;
|
|
108
|
+
} else t2 = $[6];
|
|
109
|
+
const ref = t2;
|
|
110
|
+
const t3 = isModal ? containment : parent;
|
|
111
|
+
let t4;
|
|
112
|
+
if ($[7] !== ref || $[8] !== t3) {
|
|
113
|
+
t4 = {
|
|
114
|
+
containment: t3,
|
|
115
|
+
ref
|
|
116
|
+
};
|
|
117
|
+
$[7] = ref;
|
|
118
|
+
$[8] = t3;
|
|
119
|
+
$[9] = t4;
|
|
120
|
+
} else t4 = $[9];
|
|
121
|
+
return t4;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* A ref for the root of an overlay that renders in a portal: opened from inside
|
|
125
|
+
* a modal, it stays readable while the modal hides the page.
|
|
126
|
+
*/
|
|
127
|
+
function useModalLayerRef() {
|
|
128
|
+
const $ = c(2);
|
|
129
|
+
const containment = useContext(ModalContainmentContext);
|
|
130
|
+
const release = useRef(void 0);
|
|
131
|
+
let t0;
|
|
132
|
+
if ($[0] !== containment) {
|
|
133
|
+
t0 = (element) => {
|
|
134
|
+
release.current?.();
|
|
135
|
+
release.current = element ? containment?.keep(element) : void 0;
|
|
136
|
+
};
|
|
137
|
+
$[0] = containment;
|
|
138
|
+
$[1] = t0;
|
|
139
|
+
} else t0 = $[1];
|
|
140
|
+
return t0;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
//#endregion
|
|
144
|
+
export { ModalContainmentProvider, useModalContainment, useModalLayerRef };
|
|
145
|
+
//# sourceMappingURL=modal-containment.js.map
|