@cube-dev/ui-kit 0.204.0 → 0.206.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 +36 -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.js +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 +1 -1
- package/dist/components/Root.js.map +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +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 +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +221 -132
- package/dist/components/actions/ItemActionsWrapper.js.map +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +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/styled.js +1 -1
- package/dist/components/actions/actions-run.js +1 -1
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +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.js +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +1 -1
- package/dist/components/content/Divider/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 +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 +2 -1
- package/dist/components/content/Item/Item.js +1 -1
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +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 +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- 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 +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +3 -2
- package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +8 -2
- package/dist/components/content/PrismCode/prismSetup.js.map +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +1 -1
- package/dist/components/content/Tag/Tag.js +1 -1
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.d.ts +5 -2
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/TextItem/TextItem.js.map +1 -1
- package/dist/components/content/Title.js +1 -1
- package/dist/components/content/Tree/Tree.js +1 -1
- package/dist/components/content/Tree/TreeNode.js +1 -1
- package/dist/components/content/Tree/checked-keys.js +1 -1
- package/dist/components/content/Tree/rowId.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/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 +114 -72
- package/dist/components/content/use-auto-tooltip.js.map +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/item-table-sections.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/TableRowLink.js +1 -1
- package/dist/components/data/TableBase/TableView.js +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.js +21 -20
- package/dist/components/data/TableBase/styled.js.map +1 -1
- package/dist/components/data/TableBase/table-body-sections.js +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 +1 -1
- 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 +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.js +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +1 -1
- package/dist/components/fields/ComboBox/comboBoxOptions.js +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/CalendarPopover.js +281 -0
- package/dist/components/fields/DatePicker/CalendarPopover.js.map +1 -0
- 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 +26 -24
- package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +4 -2
- package/dist/components/fields/DatePicker/DatePickerElement.js.map +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.d.ts +10 -0
- package/dist/components/fields/DatePicker/DateRangePicker.js +143 -65
- package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +172 -165
- 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 +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/dist/components/fields/FilterListBox/styled.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
- package/dist/components/fields/FilterPicker/FilterTree.js +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 +1 -1
- package/dist/components/fields/ListBox/optionId.js +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +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.js +1 -1
- package/dist/components/fields/RadioGroup/Radio.js +108 -118
- package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +10 -12
- package/dist/components/fields/RadioGroup/RadioGroup.js.map +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.js +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/displayed-validation.js +1 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/fields/TriggerActions.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +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/fields/option-origin-press.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/dist/components/form/FieldWrapper/field-description.js +1 -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 +198 -174
- package/dist/components/form/Form/ModernFormRoot.js.map +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 +18 -3
- package/dist/components/form/Form/modern/store.js.map +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 +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 +1 -1
- package/dist/components/form/field-chrome.js +1 -1
- package/dist/components/form/field-layout.js +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 +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 +190 -187
- package/dist/components/navigation/Tabs/TabButton.js.map +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 +2 -1
- package/dist/components/navigation/Tabs/Tabs.js.map +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/segmented-styles.js +53 -0
- package/dist/components/navigation/Tabs/segmented-styles.js.map +1 -0
- package/dist/components/navigation/Tabs/styled.js +15 -28
- package/dist/components/navigation/Tabs/styled.js.map +1 -1
- package/dist/components/navigation/Tabs/types.d.ts +4 -4
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/types.js.map +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.d.ts +3 -3
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.d.ts +4 -4
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +101 -123
- package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/context.js.map +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/Dialog/use-dialog-open-sync.js +1 -1
- package/dist/components/overlays/Dialog/use-dismiss-confirmation.js +60 -51
- package/dist/components/overlays/Dialog/use-dismiss-confirmation.js.map +1 -1
- package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +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 +1 -1
- package/dist/components/overlays/Modal/Tray.js +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Modal/modal-containment.js +1 -1
- 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 +1 -1
- 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 +6 -3
- package/dist/components/overlays/Notifications/OverlayContainer.js.map +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 +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 +2 -2
- package/dist/components/status/Spin/Cube.js.map +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 +70 -70
- package/dist/data/item-themes.js.map +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +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 +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/instance.js +1 -1
- package/dist/i18n/locales/de-DE/uikit.js +3 -2
- package/dist/i18n/locales/en-US/uikit.js +3 -2
- package/dist/i18n/locales/en-US/uikit.json.d.ts +1 -0
- package/dist/i18n/locales/es-ES/uikit.js +3 -2
- package/dist/i18n/locales/es-MX/uikit.js +3 -2
- package/dist/i18n/locales/fr-FR/uikit.js +3 -2
- package/dist/i18n/locales/it-IT/uikit.js +3 -2
- package/dist/i18n/locales/ja-JP/uikit.js +3 -2
- package/dist/i18n/locales/nb-NO/uikit.js +3 -2
- package/dist/i18n/locales/pt-BR/uikit.js +3 -2
- package/dist/i18n/locales/pt-PT/uikit.js +3 -2
- package/dist/i18n/locales/sv-SE/uikit.js +3 -2
- package/dist/i18n/locales/vi-VN/uikit.js +3 -2
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/namespace.js +1 -1
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/useI18n.js +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.js +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 +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigation-url.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/providers/use-navigation.js +1 -1
- 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 +7 -5
- package/dist/utils/react/useScheme.js.map +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 +3 -3
- package/docs/Theming.md +1 -1
- package/docs/Usage.md +26 -0
- package/docs/components/content/Item.md +1 -1
- package/docs/components/content/TextItem.md +13 -1
- package/docs/components/data/ItemTable.md +1 -1
- package/docs/components/fields/RadioGroup.md +5 -4
- package/docs/components/form/Form.md +2 -0
- package/docs/components/form/ModernForm.md +5 -1
- package/docs/components/navigation/Tabs.md +5 -3
- package/docs/components/overlays/DialogContainer.md +1 -1
- package/docs/components/overlays/DialogTrigger.md +2 -2
- package/docs/components/overlays/Notifications.md +17 -0
- package/docs/components/overlays/Toast.md +1 -1
- package/docs/modern-form-guide.md +5 -1
- package/docs/tasty/ai-agents.md +3 -2
- package/docs/tasty/dsl.md +52 -0
- package/docs/tasty/styles.md +27 -15
- package/package.json +5 -3
- package/tasty.config.generated.ts +526 -0
- package/tasty.config.ts +29 -422
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModernDialogForm.js","names":["useEffect","useRef","useEvent","useI18n","useLayoutEffect","Button","ButtonGroup","Content","Footer","Header","Title","getControllerInternals","ModernFormRoot","SubmitButton","useOpenTransitionContext","useDialogContext","withDefaultButtonText","Dialog","FormController","ModernDialogFormProps","DialogSession","form","T","preserve","ended","wasOpen","finishSession","session","store","cancelSubmission","reset","ModernDialogForm","props","$","_c","action","autoComplete","cancelProps","children","confirmDismiss","danger","defaultValues","dialogProps","encType","isDisabled","isInvalid","isReadOnly","isValid","labelPosition","labelStyles","labelWidth","method","name","necessityIndicator","noActions","onDismiss","onReset","onResetCapture","onSubmit","onSubmitFailed","onValuesChange","orientation","qa","requiredMark","showValid","submitProps","submitValues","target","title","validateTrigger","validationState","t","onClose","isOpen","registerUnsavedChanges","t0","internals","transition","isClosing","undefined","transitionState","t1","current","dismiss","t2","submitted","t3","t4","t5","hasUserEdits","t6","own","queueMicrotask","getRootElement","t7","t8","t9","t10","t11","t12","t13","t14","t15","_c","Title","SubmitButton","ModernFormRoot"],"sources":["../../../../src/components/overlays/Dialog/ModernDialogForm.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { useI18n } from '../../../i18n';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { Button } from '../../actions/Button/Button';\nimport { ButtonGroup } from '../../actions/ButtonGroup/ButtonGroup';\nimport { Content } from '../../content/Content';\nimport { Footer } from '../../content/Footer';\nimport { Header } from '../../content/Header';\nimport { Title } from '../../content/Title';\nimport { getControllerInternals } from '../../form/Form/modern/controller';\nimport { ModernFormRoot } from '../../form/Form/ModernFormRoot';\nimport { SubmitButton } from '../../form/Form/SubmitButton/SubmitButton';\nimport { useOpenTransitionContext } from '../Modal/OpenTransitionContext';\n\nimport { useDialogContext } from './context';\nimport { withDefaultButtonText } from './default-button-text';\nimport { Dialog } from './Dialog';\n\nimport type { FormController } from '../../form/Form/modern/controller';\nimport type { ModernDialogFormProps } from './DialogForm';\n\ninterface DialogSession<T extends object> {\n form: FormController<T>;\n preserve?: boolean;\n ended: boolean;\n wasOpen: boolean;\n}\n\nfunction finishSession<T extends object>(session?: DialogSession<T>) {\n if (!session || session.ended) return;\n session.ended = true;\n getControllerInternals(session.form, '<DialogForm>').store.cancelSubmission();\n if (!session.preserve) session.form.reset();\n}\n\n/** Modern dialogs own the editing session, including retained/hidden roots. */\nexport function ModernDialogForm<T extends object>(\n props: ModernDialogFormProps<T>,\n) {\n const {\n form,\n qa,\n title,\n danger,\n submitProps,\n cancelProps,\n noActions,\n preserve,\n confirmDismiss,\n children,\n onDismiss,\n name,\n defaultValues,\n onSubmit,\n onSubmitFailed,\n onValuesChange,\n onReset,\n onResetCapture,\n submitValues,\n labelStyles,\n labelPosition,\n labelWidth,\n orientation,\n requiredMark,\n necessityIndicator,\n isDisabled,\n isReadOnly,\n isInvalid,\n isValid,\n validationState,\n validateTrigger,\n showValid,\n action,\n method,\n target,\n encType,\n autoComplete,\n ...dialogProps\n } = props;\n const { t } = useI18n();\n const { onClose, isOpen, registerUnsavedChanges } = useDialogContext();\n const internals = getControllerInternals(form, '<DialogForm>');\n const transition = useOpenTransitionContext();\n const isClosing =\n isOpen === undefined\n ? transition?.transitionState === 'exit' ||\n transition?.transitionState === 'unmounted'\n : !isOpen;\n const session = useRef<DialogSession<T> | undefined>(undefined);\n const dismiss = useEvent(() => {\n finishSession(session.current);\n onClose?.();\n onDismiss?.();\n });\n const submitted = useEvent(() => {\n finishSession(session.current);\n onClose?.();\n });\n\n // Escape, outside clicks, and controlled closing belong to the container.\n // Only an open -> closed transition ends a session; hidden initial mounts\n // must not discard a controller that the caller has already populated.\n useLayoutEffect(() => {\n if (session.current?.form !== form) {\n session.current = { form, preserve, ended: false, wasOpen: !isClosing };\n }\n const current = session.current;\n current.preserve = preserve;\n if (isClosing && current.wasOpen) finishSession(current);\n if (!isClosing && !current.wasOpen) current.ended = false;\n current.wasOpen = !isClosing;\n });\n\n // Escape, an outside click and the close button ask before they discard\n // what the user typed: fields they edited away from their defaults. A value\n // set from code, even in a field the user then visited, is not an edit.\n // `preserve` keeps the values anyway.\n useEffect(\n () =>\n registerUnsavedChanges?.(() => {\n if (confirmDismiss !== undefined) return confirmDismiss;\n if (preserve) return false;\n\n // A controller from an older copy of the kit can't tell; it never asks.\n return internals.store.hasUserEdits?.() ?? false;\n }),\n [registerUnsavedChanges, internals, preserve, confirmDismiss],\n );\n\n // Portals may relocate (remounting this component) and Strict Mode reconnects\n // effects. A replacement root owns the same session; only a detached\n // controller should reset after real removal. Capture that controller's\n // session, so replacing it cannot apply the new controller's preserve policy.\n useLayoutEffect(() => {\n const own = session.current;\n return () => {\n queueMicrotask(() => {\n if (!internals.getRootElement()) finishSession(own);\n });\n };\n }, [form, internals]);\n\n return (\n <Dialog {...dialogProps} qa={`${qa || ''}Dialog`} onDismiss={dismiss}>\n <Header>\n <Title ellipsis>{title}</Title>\n </Header>\n {/*\n The form wraps BOTH slots rather than sitting inside `Content`, so the\n actions can live in a pinned `Footer` while the body scrolls. They still\n have to be inside the `<form>` for submit to work, which is why the form\n is the outer one of the two (CUB-4920). A form placed directly in a\n `Dialog` lays itself out as the dialog's column (see `FormElement`).\n\n A press on any of its buttons, custom actions included, must not\n dismiss a popover the dialog lives in: a save has to survive\n validation and a slow request. Only presses, though. The broader\n `data-popover-keep` also tells a field's open listbox that a click\n anywhere in the form is not outside it, so the listbox stayed open\n (CUB-5251).\n */}\n <ModernFormRoot\n data-popover-keep-on-press\n form={form}\n qa={qa || 'DialogForm'}\n name={name}\n defaultValues={defaultValues}\n onSubmit={onSubmit}\n onSubmitted={submitted}\n onSubmitFailed={onSubmitFailed}\n onValuesChange={onValuesChange}\n onReset={onReset}\n onResetCapture={onResetCapture}\n submitValues={submitValues}\n labelStyles={labelStyles}\n labelPosition={labelPosition}\n labelWidth={labelWidth}\n orientation={orientation}\n requiredMark={requiredMark}\n necessityIndicator={necessityIndicator}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isInvalid={isInvalid}\n isValid={isValid}\n validationState={validationState}\n validateTrigger={validateTrigger}\n showValid={showValid}\n action={action}\n method={method}\n target={target}\n encType={encType}\n autoComplete={autoComplete}\n >\n <Content>\n {typeof children === 'function' ? children(dismiss) : children}\n </Content>\n\n {!noActions && (\n <Footer>\n <ButtonGroup>\n <SubmitButton\n qa={`${qa || ''}SubmitButton`}\n theme={danger ? 'danger' : undefined}\n {...withDefaultButtonText(\n submitProps,\n t('dialogForm.submit', 'Submit'),\n )}\n />\n <Button\n qa={`${qa || ''}CancelButton`}\n onPress={dismiss}\n {...withDefaultButtonText(\n cancelProps,\n t('dialogForm.cancel', 'Cancel'),\n )}\n />\n </ButtonGroup>\n </Footer>\n )}\n </ModernFormRoot>\n </Dialog>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModernDialogForm.js","names":["useRef","useEvent","useI18n","useLayoutEffect","Button","ButtonGroup","Content","Footer","Header","Title","getControllerInternals","ModernFormRoot","SubmitButton","useOpenTransitionContext","useDialogContext","withDefaultButtonText","Dialog","FormController","ModernDialogFormProps","DialogSession","form","T","preserve","ended","wasOpen","finishSession","session","store","cancelSubmission","reset","ModernDialogForm","props","$","_c","action","autoComplete","cancelProps","children","confirmDismiss","danger","defaultValues","dialogProps","encType","isDisabled","isInvalid","isReadOnly","isValid","labelPosition","labelStyles","labelWidth","method","name","necessityIndicator","noActions","onDismiss","onReset","onResetCapture","onSubmit","onSubmitFailed","onValuesChange","orientation","qa","requiredMark","showValid","submitProps","submitValues","target","title","validateTrigger","validationState","t","onClose","isOpen","t0","internals","transition","isClosing","undefined","transitionState","t1","current","dismiss","t2","submitted","t3","t4","own","queueMicrotask","getRootElement","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","_c","Title","SubmitButton","ModernFormRoot"],"sources":["../../../../src/components/overlays/Dialog/ModernDialogForm.tsx"],"sourcesContent":["import { useRef } from 'react';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { useI18n } from '../../../i18n';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { Button } from '../../actions/Button/Button';\nimport { ButtonGroup } from '../../actions/ButtonGroup/ButtonGroup';\nimport { Content } from '../../content/Content';\nimport { Footer } from '../../content/Footer';\nimport { Header } from '../../content/Header';\nimport { Title } from '../../content/Title';\nimport { getControllerInternals } from '../../form/Form/modern/controller';\nimport { ModernFormRoot } from '../../form/Form/ModernFormRoot';\nimport { SubmitButton } from '../../form/Form/SubmitButton/SubmitButton';\nimport { useOpenTransitionContext } from '../Modal/OpenTransitionContext';\n\nimport { useDialogContext } from './context';\nimport { withDefaultButtonText } from './default-button-text';\nimport { Dialog } from './Dialog';\n\nimport type { FormController } from '../../form/Form/modern/controller';\nimport type { ModernDialogFormProps } from './DialogForm';\n\ninterface DialogSession<T extends object> {\n form: FormController<T>;\n preserve?: boolean;\n ended: boolean;\n wasOpen: boolean;\n}\n\nfunction finishSession<T extends object>(session?: DialogSession<T>) {\n if (!session || session.ended) return;\n session.ended = true;\n getControllerInternals(session.form, '<DialogForm>').store.cancelSubmission();\n if (!session.preserve) session.form.reset();\n}\n\n/** Modern dialogs own the editing session, including retained/hidden roots. */\nexport function ModernDialogForm<T extends object>(\n props: ModernDialogFormProps<T>,\n) {\n const {\n form,\n qa,\n title,\n danger,\n submitProps,\n cancelProps,\n noActions,\n preserve,\n confirmDismiss,\n children,\n onDismiss,\n name,\n defaultValues,\n onSubmit,\n onSubmitFailed,\n onValuesChange,\n onReset,\n onResetCapture,\n submitValues,\n labelStyles,\n labelPosition,\n labelWidth,\n orientation,\n requiredMark,\n necessityIndicator,\n isDisabled,\n isReadOnly,\n isInvalid,\n isValid,\n validationState,\n validateTrigger,\n showValid,\n action,\n method,\n target,\n encType,\n autoComplete,\n ...dialogProps\n } = props;\n const { t } = useI18n();\n const { onClose, isOpen } = useDialogContext();\n const internals = getControllerInternals(form, '<DialogForm>');\n const transition = useOpenTransitionContext();\n const isClosing =\n isOpen === undefined\n ? transition?.transitionState === 'exit' ||\n transition?.transitionState === 'unmounted'\n : !isOpen;\n const session = useRef<DialogSession<T> | undefined>(undefined);\n const dismiss = useEvent(() => {\n finishSession(session.current);\n onClose?.();\n onDismiss?.();\n });\n const submitted = useEvent(() => {\n finishSession(session.current);\n onClose?.();\n });\n\n // Escape, outside clicks, and controlled closing belong to the container.\n // Only an open -> closed transition ends a session; hidden initial mounts\n // must not discard a controller that the caller has already populated.\n useLayoutEffect(() => {\n if (session.current?.form !== form) {\n session.current = { form, preserve, ended: false, wasOpen: !isClosing };\n }\n const current = session.current;\n current.preserve = preserve;\n if (isClosing && current.wasOpen) finishSession(current);\n if (!isClosing && !current.wasOpen) current.ended = false;\n current.wasOpen = !isClosing;\n });\n\n // Portals may relocate (remounting this component) and Strict Mode reconnects\n // effects. A replacement root owns the same session; only a detached\n // controller should reset after real removal. Capture that controller's\n // session, so replacing it cannot apply the new controller's preserve policy.\n useLayoutEffect(() => {\n const own = session.current;\n return () => {\n queueMicrotask(() => {\n if (!internals.getRootElement()) finishSession(own);\n });\n };\n }, [form, internals]);\n\n return (\n <Dialog {...dialogProps} qa={`${qa || ''}Dialog`} onDismiss={dismiss}>\n <Header>\n <Title ellipsis>{title}</Title>\n </Header>\n {/*\n The form wraps BOTH slots rather than sitting inside `Content`, so the\n actions can live in a pinned `Footer` while the body scrolls. They still\n have to be inside the `<form>` for submit to work, which is why the form\n is the outer one of the two (CUB-4920). A form placed directly in a\n `Dialog` lays itself out as the dialog's column (see `FormElement`).\n\n A press on any of its buttons, custom actions included, must not\n dismiss a popover the dialog lives in: a save has to survive\n validation and a slow request. Only presses, though. The broader\n `data-popover-keep` also tells a field's open listbox that a click\n anywhere in the form is not outside it, so the listbox stayed open\n (CUB-5251).\n */}\n <ModernFormRoot\n data-popover-keep-on-press\n form={form}\n qa={qa || 'DialogForm'}\n name={name}\n defaultValues={defaultValues}\n onSubmit={onSubmit}\n onSubmitted={submitted}\n // The root reports the user's edits to the dialog. `preserve` keeps\n // them anyway, so it never asks.\n confirmDismiss={confirmDismiss ?? (preserve ? false : undefined)}\n onSubmitFailed={onSubmitFailed}\n onValuesChange={onValuesChange}\n onReset={onReset}\n onResetCapture={onResetCapture}\n submitValues={submitValues}\n labelStyles={labelStyles}\n labelPosition={labelPosition}\n labelWidth={labelWidth}\n orientation={orientation}\n requiredMark={requiredMark}\n necessityIndicator={necessityIndicator}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isInvalid={isInvalid}\n isValid={isValid}\n validationState={validationState}\n validateTrigger={validateTrigger}\n showValid={showValid}\n action={action}\n method={method}\n target={target}\n encType={encType}\n autoComplete={autoComplete}\n >\n <Content>\n {typeof children === 'function' ? children(dismiss) : children}\n </Content>\n\n {!noActions && (\n <Footer>\n <ButtonGroup>\n <SubmitButton\n qa={`${qa || ''}SubmitButton`}\n theme={danger ? 'danger' : undefined}\n {...withDefaultButtonText(\n submitProps,\n t('dialogForm.submit', 'Submit'),\n )}\n />\n <Button\n qa={`${qa || ''}CancelButton`}\n onPress={dismiss}\n {...withDefaultButtonText(\n cancelProps,\n t('dialogForm.cancel', 'Cancel'),\n )}\n />\n </ButtonGroup>\n </Footer>\n )}\n </ModernFormRoot>\n </Dialog>\n );\n}\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.206.0 | Cube Dev Team */
|
|
2
2
|
import { createContext, useContext } from "react";
|
|
3
3
|
import invariant from "tiny-invariant";
|
|
4
4
|
//#region src/components/overlays/Dialog/context.tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":["createContext","HTMLAttributes","useContext","invariant","DialogContextValue","HTMLElement","type","isDismissable","onClose","arg","isOpen","shouldRestoreFocus","requestDismiss","dismiss","registerUnsavedChanges","hasUnsavedChanges","trapsFocus","DialogContext","useDialogContext","dialogContext"],"sources":["../../../../src/components/overlays/Dialog/context.tsx"],"sourcesContent":["import { createContext, HTMLAttributes, useContext } from 'react';\nimport invariant from 'tiny-invariant';\n\nexport interface DialogContextValue extends HTMLAttributes<HTMLElement> {\n type?:\n | 'modal'\n | 'popover'\n | 'tray'\n | 'fullscreen'\n | 'fullscreenTakeover'\n | 'panel';\n isDismissable?: boolean;\n onClose?: (arg?: string) => void;\n isOpen?: boolean;\n /**\n * Whether closing the dialog restores focus to its trigger. Set by\n * `DialogTrigger`'s `shouldRestoreFocus` prop; consumed by `Dialog`'s\n * `FocusScope` (which owns the restore for popover-type dialogs) and by its\n * restore for a retained (`hideOnClose`) dialog. Defaults\n * to `true` when absent, so a `Dialog` rendered outside a trigger keeps\n * restoring focus.\n */\n shouldRestoreFocus?: boolean;\n /**\n * Runs a passive dismissal, such as the close button's: at once, or after\n * the user confirms discarding unsaved edits. See `useDismissConfirmation`.\n */\n requestDismiss?: (dismiss: () => void) => void;\n /**\n * How a
|
|
1
|
+
{"version":3,"file":"context.js","names":["createContext","HTMLAttributes","useContext","invariant","DialogContextValue","HTMLElement","type","isDismissable","onClose","arg","isOpen","shouldRestoreFocus","requestDismiss","dismiss","registerUnsavedChanges","hasUnsavedChanges","trapsFocus","DialogContext","useDialogContext","dialogContext"],"sources":["../../../../src/components/overlays/Dialog/context.tsx"],"sourcesContent":["import { createContext, HTMLAttributes, useContext } from 'react';\nimport invariant from 'tiny-invariant';\n\nexport interface DialogContextValue extends HTMLAttributes<HTMLElement> {\n type?:\n | 'modal'\n | 'popover'\n | 'tray'\n | 'fullscreen'\n | 'fullscreenTakeover'\n | 'panel';\n isDismissable?: boolean;\n onClose?: (arg?: string) => void;\n isOpen?: boolean;\n /**\n * Whether closing the dialog restores focus to its trigger. Set by\n * `DialogTrigger`'s `shouldRestoreFocus` prop; consumed by `Dialog`'s\n * `FocusScope` (which owns the restore for popover-type dialogs) and by its\n * restore for a retained (`hideOnClose`) dialog. Defaults\n * to `true` when absent, so a `Dialog` rendered outside a trigger keeps\n * restoring focus.\n */\n shouldRestoreFocus?: boolean;\n /**\n * Runs a passive dismissal, such as the close button's: at once, or after\n * the user confirms discarding unsaved edits. See `useDismissConfirmation`.\n */\n requestDismiss?: (dismiss: () => void) => void;\n /**\n * How a form inside reports unsaved edits to its trigger or container: a\n * modern `Form` root, or a legacy `DialogForm`. Each form registers its own\n * check, and the dialog asks while any returns `true`. Returns the\n * unregister.\n */\n registerUnsavedChanges?: (hasUnsavedChanges: () => boolean) => () => void;\n}\n\n/**\n * Whether the dialog keeps Tab inside it while open. A panel leaves the page\n * usable, and so does a popover that is not dismissable: an outside press\n * reaches its control, and focus has to follow it there, into a text field\n * too.\n */\nexport function trapsFocus({ type, isDismissable }: DialogContextValue) {\n return type !== 'panel' && !(type === 'popover' && isDismissable === false);\n}\n\nexport const DialogContext = createContext<DialogContextValue | null>({});\n\nexport function useDialogContext() {\n const dialogContext = useContext(DialogContext);\n\n invariant(dialogContext !== null, '');\n\n return dialogContext;\n}\n"],"mappings":";;;;;;;;;;AA2CA,SAAgBgB,WAAW,EAAEV,MAAMC,iBAAqC;CACtE,OAAOD,SAAS,WAAW,EAAEA,SAAS,aAAaC,kBAAkB;AACvE;AAEA,MAAaU,gBAAgBjB,cAAyC,CAAC,CAAC;AAExE,SAAOkB,mBAAA;CACL,MAAAC,gBAAsBjB,WAAWe,aAAa;CAE9Cd,UAAUgB,kBAAkB,MAAM,EAAE;CAAC,OAE9BA;AAAa"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.0 | 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.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.0 | 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.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps } from "../../../utils/react/mergeProps.js";
|
|
3
3
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
4
4
|
import { DialogContainer } from "./DialogContainer.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
|
|
2
2
|
import { useEventBus } from "../../../utils/react/useEventBus.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { useEffect, useEffectEvent } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
|
|
2
2
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
3
3
|
import { AlertDialog as _AlertDialog } from "../AlertDialog/AlertDialog.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
@@ -10,27 +10,32 @@ import { focusSafely } from "@react-aria/interactions";
|
|
|
10
10
|
* The owner side of `confirmDismiss`, for `DialogTrigger` and
|
|
11
11
|
* `DialogContainer`. A passive dismissal (Escape, an outside click, the close
|
|
12
12
|
* button) goes through `requestDismiss`, which asks "Discard changes?" first
|
|
13
|
-
* while `confirmDismiss` is `true`, or, when it is unset, while a
|
|
14
|
-
*
|
|
15
|
-
* `registerUnsavedChanges`. Explicit actions
|
|
16
|
-
* consumer calls) bypass it.
|
|
13
|
+
* while `confirmDismiss` is `true`, or, when it is unset, while a form inside
|
|
14
|
+
* (a modern `Form` root, or a legacy `DialogForm`) reports unsaved edits, or
|
|
15
|
+
* its own `confirmDismiss`, through `registerUnsavedChanges`. Explicit actions
|
|
16
|
+
* (submit, Cancel, a `close` the consumer calls) bypass it.
|
|
17
17
|
*
|
|
18
18
|
* The owner renders the question while `confirmationProps` is set:
|
|
19
19
|
* `<DialogContainer {...confirmationProps}><DiscardChangesDialog /></DialogContainer>`.
|
|
20
20
|
*/
|
|
21
21
|
function useDismissConfirmation(confirmDismiss, isDialogOpen) {
|
|
22
|
-
const $ = c(
|
|
22
|
+
const $ = c(20);
|
|
23
23
|
const [pending, setPending] = useState(null);
|
|
24
24
|
const [hasAsked, setHasAsked] = useState(false);
|
|
25
|
-
|
|
25
|
+
let t0;
|
|
26
|
+
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
27
|
+
t0 = /* @__PURE__ */ new Set();
|
|
28
|
+
$[0] = t0;
|
|
29
|
+
} else t0 = $[0];
|
|
30
|
+
const unsavedChecks = useRef(t0);
|
|
26
31
|
const answer = useRef(null);
|
|
27
32
|
const lastFocused = useRef(null);
|
|
28
33
|
const canAsk = isDialogOpen && confirmDismiss !== false;
|
|
29
34
|
if (pending && !isDialogOpen) setPending(null);
|
|
30
|
-
let t0;
|
|
31
35
|
let t1;
|
|
32
|
-
|
|
33
|
-
|
|
36
|
+
let t2;
|
|
37
|
+
if ($[1] !== canAsk) {
|
|
38
|
+
t1 = () => {
|
|
34
39
|
if (!canAsk) return;
|
|
35
40
|
if (document.activeElement !== document.body) lastFocused.current = document.activeElement;
|
|
36
41
|
const onFocusIn = (event) => {
|
|
@@ -42,20 +47,20 @@ function useDismissConfirmation(confirmDismiss, isDialogOpen) {
|
|
|
42
47
|
lastFocused.current = null;
|
|
43
48
|
};
|
|
44
49
|
};
|
|
45
|
-
|
|
46
|
-
$[
|
|
47
|
-
$[1] = t0;
|
|
50
|
+
t2 = [canAsk];
|
|
51
|
+
$[1] = canAsk;
|
|
48
52
|
$[2] = t1;
|
|
53
|
+
$[3] = t2;
|
|
49
54
|
} else {
|
|
50
|
-
t0 = $[1];
|
|
51
55
|
t1 = $[2];
|
|
56
|
+
t2 = $[3];
|
|
52
57
|
}
|
|
53
|
-
useEffect(
|
|
54
|
-
let
|
|
55
|
-
if ($[
|
|
56
|
-
|
|
58
|
+
useEffect(t1, t2);
|
|
59
|
+
let requestDismiss;
|
|
60
|
+
if ($[4] !== confirmDismiss || $[5] !== pending) {
|
|
61
|
+
requestDismiss = function requestDismiss(dismiss) {
|
|
57
62
|
if (pending) return;
|
|
58
|
-
if (!(confirmDismiss ?? hasUnsavedChanges
|
|
63
|
+
if (!(confirmDismiss ?? hasUnsavedChanges())) {
|
|
59
64
|
dismiss();
|
|
60
65
|
return;
|
|
61
66
|
}
|
|
@@ -66,24 +71,28 @@ function useDismissConfirmation(confirmDismiss, isDialogOpen) {
|
|
|
66
71
|
});
|
|
67
72
|
setHasAsked(true);
|
|
68
73
|
};
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
+
function hasUnsavedChanges() {
|
|
75
|
+
for (const check of unsavedChecks.current) if (check()) return true;
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
$[4] = confirmDismiss;
|
|
79
|
+
$[5] = pending;
|
|
80
|
+
$[6] = requestDismiss;
|
|
81
|
+
} else requestDismiss = $[6];
|
|
74
82
|
let t3;
|
|
75
|
-
if ($[
|
|
76
|
-
t3 = function registerUnsavedChanges(
|
|
77
|
-
|
|
83
|
+
if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
|
|
84
|
+
t3 = function registerUnsavedChanges(check_0) {
|
|
85
|
+
const checks = unsavedChecks.current;
|
|
86
|
+
checks.add(check_0);
|
|
78
87
|
return () => {
|
|
79
|
-
|
|
88
|
+
checks.delete(check_0);
|
|
80
89
|
};
|
|
81
90
|
};
|
|
82
|
-
$[
|
|
83
|
-
} else t3 = $[
|
|
91
|
+
$[7] = t3;
|
|
92
|
+
} else t3 = $[7];
|
|
84
93
|
const registerUnsavedChanges = t3;
|
|
85
94
|
let t4;
|
|
86
|
-
if ($[
|
|
95
|
+
if ($[8] !== pending) {
|
|
87
96
|
t4 = function settle(action) {
|
|
88
97
|
if (!pending) return;
|
|
89
98
|
answer.current = {
|
|
@@ -92,13 +101,13 @@ function useDismissConfirmation(confirmDismiss, isDialogOpen) {
|
|
|
92
101
|
};
|
|
93
102
|
setPending(null);
|
|
94
103
|
};
|
|
95
|
-
$[
|
|
96
|
-
$[
|
|
97
|
-
} else t4 = $[
|
|
104
|
+
$[8] = pending;
|
|
105
|
+
$[9] = t4;
|
|
106
|
+
} else t4 = $[9];
|
|
98
107
|
const settle = t4;
|
|
99
108
|
let t5;
|
|
100
109
|
let t6;
|
|
101
|
-
if ($[
|
|
110
|
+
if ($[10] !== pending) {
|
|
102
111
|
t5 = () => {
|
|
103
112
|
const settled = answer.current;
|
|
104
113
|
if (pending || !settled) return;
|
|
@@ -108,36 +117,36 @@ function useDismissConfirmation(confirmDismiss, isDialogOpen) {
|
|
|
108
117
|
if (settled.isDiscarded) settled.dismiss();
|
|
109
118
|
};
|
|
110
119
|
t6 = [pending];
|
|
111
|
-
$[
|
|
112
|
-
$[
|
|
113
|
-
$[
|
|
120
|
+
$[10] = pending;
|
|
121
|
+
$[11] = t5;
|
|
122
|
+
$[12] = t6;
|
|
114
123
|
} else {
|
|
115
|
-
t5 = $[
|
|
116
|
-
t6 = $[
|
|
124
|
+
t5 = $[11];
|
|
125
|
+
t6 = $[12];
|
|
117
126
|
}
|
|
118
127
|
useEffect(t5, t6);
|
|
119
128
|
let t7;
|
|
120
|
-
if ($[
|
|
129
|
+
if ($[13] !== hasAsked || $[14] !== pending || $[15] !== settle) {
|
|
121
130
|
t7 = hasAsked ? {
|
|
122
131
|
isOpen: !!pending,
|
|
123
132
|
onDismiss: settle
|
|
124
133
|
} : null;
|
|
125
|
-
$[
|
|
126
|
-
$[
|
|
127
|
-
$[
|
|
128
|
-
$[
|
|
129
|
-
} else t7 = $[
|
|
134
|
+
$[13] = hasAsked;
|
|
135
|
+
$[14] = pending;
|
|
136
|
+
$[15] = settle;
|
|
137
|
+
$[16] = t7;
|
|
138
|
+
} else t7 = $[16];
|
|
130
139
|
let t8;
|
|
131
|
-
if ($[
|
|
140
|
+
if ($[17] !== requestDismiss || $[18] !== t7) {
|
|
132
141
|
t8 = {
|
|
133
142
|
requestDismiss,
|
|
134
143
|
registerUnsavedChanges,
|
|
135
144
|
confirmationProps: t7
|
|
136
145
|
};
|
|
137
|
-
$[
|
|
138
|
-
$[
|
|
139
|
-
$[
|
|
140
|
-
} else t8 = $[
|
|
146
|
+
$[17] = requestDismiss;
|
|
147
|
+
$[18] = t7;
|
|
148
|
+
$[19] = t8;
|
|
149
|
+
} else t8 = $[19];
|
|
141
150
|
return t8;
|
|
142
151
|
}
|
|
143
152
|
/** The question `useDismissConfirmation` asks. Escape keeps editing. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-dismiss-confirmation.js","names":["focusSafely","useEffect","useRef","useState","useI18n","AlertDialog","PendingDismissal","dismiss","focusTarget","Element","Answer","isDiscarded","useDismissConfirmation","confirmDismiss","isDialogOpen","$","_c","pending","setPending","hasAsked","setHasAsked","hasUnsavedChanges","answer","lastFocused","canAsk","t0","t1","document","activeElement","body","current","onFocusIn","event","target","addEventListener","removeEventListener","t2","requestDismiss","focused","t3","Symbol","for","registerUnsavedChanges","check","t4","settle","action","t5","t6","settled","HTMLElement","isConnected","t7","isOpen","onDismiss","t8","confirmationProps","DiscardChangesDialog","t","children","confirm","cancel","_c","AlertDialog"],"sources":["../../../../src/components/overlays/Dialog/use-dismiss-confirmation.tsx"],"sourcesContent":["import { focusSafely } from '@react-aria/interactions';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { useI18n } from '../../../i18n';\nimport { AlertDialog } from '../AlertDialog/AlertDialog';\n\ninterface PendingDismissal {\n /** What the dismissal runs once the user discards the edits. */\n dismiss: () => void;\n /** Where focus was when the dialog asked, to give it back. */\n focusTarget: Element | null;\n}\n\ninterface Answer extends PendingDismissal {\n isDiscarded: boolean;\n}\n\n/**\n * The owner side of `confirmDismiss`, for `DialogTrigger` and\n * `DialogContainer`. A passive dismissal (Escape, an outside click, the close\n * button) goes through `requestDismiss`, which asks \"Discard changes?\" first\n * while `confirmDismiss` is `true`, or, when it is unset, while a `DialogForm`\n * inside reports unsaved edits (or its own `confirmDismiss`) through\n * `registerUnsavedChanges`. Explicit actions (submit, Cancel, a `close` the\n * consumer calls) bypass it.\n *\n * The owner renders the question while `confirmationProps` is set:\n * `<DialogContainer {...confirmationProps}><DiscardChangesDialog /></DialogContainer>`.\n */\nexport function useDismissConfirmation(\n confirmDismiss: boolean | undefined,\n isDialogOpen: boolean,\n) {\n const [pending, setPending] = useState<PendingDismissal | null>(null);\n // Mounted on the first question and kept, so it can play its exit.\n const [hasAsked, setHasAsked] = useState(false);\n const hasUnsavedChanges = useRef<(() => boolean) | null>(null);\n const answer = useRef<Answer | null>(null);\n const lastFocused = useRef<Element | null>(null);\n const canAsk = isDialogOpen && confirmDismiss !== false;\n\n // A dialog closed some other way takes its question with it.\n if (pending && !isDialogOpen) setPending(null);\n\n // A click outside drops focus to `<body>` on its way to closing the dialog,\n // so the question gives focus back to where it was last. A `confirmDismiss`\n // bound to state turns on while the user types, so start from that field.\n useEffect(() => {\n if (!canAsk) return;\n\n if (document.activeElement !== document.body) {\n lastFocused.current = document.activeElement;\n }\n\n const onFocusIn = (event: FocusEvent) => {\n lastFocused.current = event.target as Element;\n };\n\n document.addEventListener('focusin', onFocusIn, true);\n\n return () => {\n document.removeEventListener('focusin', onFocusIn, true);\n lastFocused.current = null;\n };\n }, [canAsk]);\n\n function requestDismiss(dismiss: () => void) {\n if (pending) return;\n\n if (!(confirmDismiss ?? hasUnsavedChanges.current?.() ?? false)) {\n dismiss();\n\n return;\n }\n\n const focused = document.activeElement;\n\n setPending({\n dismiss,\n focusTarget:\n focused && focused !== document.body ? focused : lastFocused.current,\n });\n setHasAsked(true);\n }\n\n function registerUnsavedChanges(check: () => boolean) {\n hasUnsavedChanges.current = check;\n\n return () => {\n if (hasUnsavedChanges.current === check) hasUnsavedChanges.current = null;\n };\n }\n\n function settle(action?: string) {\n if (!pending) return;\n\n answer.current = { ...pending, isDiscarded: action === 'confirm' };\n setPending(null);\n }\n\n // Once the question has closed: while open it holds focus, and pulls back\n // any focus moved out of it. Focus goes back into the dialog at once, not\n // when the question has faded out. A discarded dialog then closes from\n // there, so its trigger takes focus back as after any close.\n useEffect(() => {\n const settled = answer.current;\n\n if (pending || !settled) return;\n\n answer.current = null;\n\n const { focusTarget } = settled;\n\n if (focusTarget instanceof HTMLElement && focusTarget.isConnected) {\n focusSafely(focusTarget);\n }\n\n if (settled.isDiscarded) settled.dismiss();\n }, [pending]);\n\n return {\n requestDismiss,\n registerUnsavedChanges,\n confirmationProps: hasAsked\n ? { isOpen: !!pending, onDismiss: settle }\n : null,\n };\n}\n\n/** The question `useDismissConfirmation` asks. Escape keeps editing. */\nexport function DiscardChangesDialog() {\n const { t } = useI18n();\n\n return (\n <AlertDialog\n danger\n title={t('dialog.discardChanges.title', 'Discard changes?')}\n content={t(\n 'dialog.discardChanges.content',\n 'All unsaved changes will be lost.',\n )}\n actions={{\n confirm: { children: t('dialog.discardChanges.discard', 'Discard') },\n cancel: {\n children: t('dialog.discardChanges.keepEditing', 'Keep editing'),\n },\n }}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA6BA,SAAOY,uBAAAC,gBAAAC,cAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAIL,MAAA,CAAAC,SAAAC,cAA8Bf,SAAkC,IAAI;CAEpE,MAAA,CAAAgB,UAAAC,eAAgCjB,SAAS,KAAK;CAC9C,MAAAkB,oBAA0BnB,OAA+B,IAAI;CAC7D,MAAAoB,SAAepB,OAAsB,IAAI;CACzC,MAAAqB,cAAoBrB,OAAuB,IAAI;CAC/C,MAAAsB,SAAeV,gBAAgBD,mBAAmB;CAGlD,IAAII,WAAA,CAAYH,cAAcI,WAAW,IAAI;CAAE,IAAAO;CAAA,IAAAC;CAAA,IAAAX,EAAA,OAAAS,QAAA;EAKrCC,WAAA;GACR,IAAI,CAACD,QAAM;GAEX,IAAIG,SAAQC,kBAAmBD,SAAQE,MACrCN,YAAWO,UAAWH,SAAQC;GAGhC,MAAAG,aAAkBC,UAAA;IAChBT,YAAWO,UAAWE,MAAKC;GAAR;GAGrBN,SAAQO,iBAAkB,WAAWH,WAAW,IAAI;GAAC,aAE9C;IACLJ,SAAQQ,oBAAqB,WAAWJ,WAAW,IAAI;IACvDR,YAAWO,UAAW;GAAH;EACpB;EACAJ,KAAA,CAACF,MAAM;EAACT,EAAA,KAAAS;EAAAT,EAAA,KAAAU;EAAAV,EAAA,KAAAW;CAAA,OAAA;EAAAD,KAAAV,EAAA;EAAAW,KAAAX,EAAA;CAAA;CAjBXd,UAAUwB,IAiBPC,EAAQ;CAAC,IAAAU;CAAA,IAAArB,EAAA,OAAAF,kBAAAE,EAAA,OAAAE,SAAA;EAEZmB,KAAA,SAAAC,eAAA9B,SAAA;GACE,IAAIU,SAAO;GAEX,IAAI,EAAEJ,kBAAkBQ,kBAAiBS,UAAW,KAA9C,QAAyD;IAC7DvB,QAAQ;IAAC;GAAA;GAKX,MAAA+B,UAAgBX,SAAQC;GAExBV,WAAW;IAAAX;IAAAC,aAGP8B,WAAWA,YAAYX,SAAQE,OAA/BS,UAAiDf,YAAWO;GAChE,CAAC;GACDV,YAAY,IAAI;EAAC;EAClBL,EAAA,KAAAF;EAAAE,EAAA,KAAAE;EAAAF,EAAA,KAAAqB;CAAA,OAAAA,KAAArB,EAAA;CAjBD,MAAAsB,iBAAAD;CAiBC,IAAAG;CAAA,IAAAxB,EAAA,OAAAyB,OAAAC,IAAA,2BAAA,GAAA;EAEDF,KAAA,SAAAG,uBAAAC,OAAA;GACEtB,kBAAiBS,UAAWa;GAAH,aAElB;IACL,IAAItB,kBAAiBS,YAAaa,OAAOtB,kBAAiBS,UAAW;GAAK;EAC3E;EACFf,EAAA,KAAAwB;CAAA,OAAAA,KAAAxB,EAAA;CAND,MAAA2B,yBAAAH;CAMC,IAAAK;CAAA,IAAA7B,EAAA,OAAAE,SAAA;EAED2B,KAAA,SAAAC,OAAAC,QAAA;GACE,IAAI,CAAC7B,SAAO;GAEZK,OAAMQ,UAAW;IAAA,GAAKb;IAAON,aAAemC,WAAW;GAAU;GACjE5B,WAAW,IAAI;EAAC;EACjBH,EAAA,KAAAE;EAAAF,EAAA,KAAA6B;CAAA,OAAAA,KAAA7B,EAAA;CALD,MAAA8B,SAAAD;CAKC,IAAAG;CAAA,IAAAC;CAAA,IAAAjC,EAAA,OAAAE,SAAA;EAMS8B,WAAA;GACR,MAAAE,UAAgB3B,OAAMQ;GAEtB,IAAIb,WAAA,CAAYgC,SAAO;GAEvB3B,OAAMQ,UAAW;GAEjB,MAAA,EAAAtB,gBAAwByC;GAExB,IAAIzC,uBAAuB0C,eAAe1C,YAAW2C,aACnDnD,YAAYQ,WAAW;GAGzB,IAAIyC,QAAOtC,aAAcsC,QAAO1C,QAAS;EAAE;EAC1CyC,KAAA,CAAC/B,OAAO;EAACF,EAAA,KAAAE;EAAAF,EAAA,MAAAgC;EAAAhC,EAAA,MAAAiC;CAAA,OAAA;EAAAD,KAAAhC,EAAA;EAAAiC,KAAAjC,EAAA;CAAA;CAdZd,UAAU8C,IAcPC,EAAS;CAAC,IAAAI;CAAA,IAAArC,EAAA,QAAAI,YAAAJ,EAAA,QAAAE,WAAAF,EAAA,QAAA8B,QAAA;EAKQO,KAAAjC,WAAA;GAAAkC,QACL,CAAC,CAACpC;GAAOqC,WAAaT;EAC7B,IAFY;EAEX9B,EAAA,MAAAI;EAAAJ,EAAA,MAAAE;EAAAF,EAAA,MAAA8B;EAAA9B,EAAA,MAAAqC;CAAA,OAAAA,KAAArC,EAAA;CAAA,IAAAwC;CAAA,IAAAxC,EAAA,QAAAsB,kBAAAtB,EAAA,QAAAqC,IAAA;EALHG,KAAA;GAAAlB;GAAAK;GAAAc,mBAGcJ;EAGrB;EAACrC,EAAA,MAAAsB;EAAAtB,EAAA,MAAAqC;EAAArC,EAAA,MAAAwC;CAAA,OAAAA,KAAAxC,EAAA;CAAA,OANMwC;AAMN;;AAIH,SAAOE,uBAAA;CAAA,MAAA1C,IAAAC,EAAA,EAAA;CACL,MAAA,EAAA0C,MAActD,QAAQ;CAAE,IAAAqB;CAAA,IAAAV,EAAA,OAAA2C,GAAA;EAKbjC,KAAAiC,EAAE,+BAA+B,kBAAkB;EAAC3C,EAAA,KAAA2C;EAAA3C,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAA2C,GAAA;EAClDhC,KAAAgC,EACP,iCACA,mCACF;EAAC3C,EAAA,KAAA2C;EAAA3C,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,IAAAqB;CAAA,IAAArB,EAAA,OAAA2C,GAAA;EAEsBtB,KAAAsB,EAAE,iCAAiC,SAAS;EAAC3C,EAAA,KAAA2C;EAAA3C,EAAA,KAAAqB;CAAA,OAAAA,KAAArB,EAAA;CAAA,IAAAwB;CAAA,IAAAxB,EAAA,OAAAqB,IAAA;EAAzDG,KAAA,EAAAoB,UAAYvB,GAA8C;EAACrB,EAAA,KAAAqB;EAAArB,EAAA,KAAAwB;CAAA,OAAAA,KAAAxB,EAAA;CAAA,IAAA6B;CAAA,IAAA7B,EAAA,OAAA2C,GAAA;EAExDd,KAAAc,EAAE,qCAAqC,cAAc;EAAC3C,EAAA,KAAA2C;EAAA3C,EAAA,KAAA6B;CAAA,OAAAA,KAAA7B,EAAA;CAAA,IAAAgC;CAAA,IAAAhC,EAAA,QAAA6B,IAAA;EAD1DG,KAAA,EAAAY,UACIf,GACZ;EAAC7B,EAAA,MAAA6B;EAAA7B,EAAA,MAAAgC;CAAA,OAAAA,KAAAhC,EAAA;CAAA,IAAAiC;CAAA,IAAAjC,EAAA,QAAAwB,MAAAxB,EAAA,QAAAgC,IAAA;EAJMC,KAAA;GAAAY,SACErB;GAA2DsB,QAC5Dd;EAGV;EAAChC,EAAA,MAAAwB;EAAAxB,EAAA,MAAAgC;EAAAhC,EAAA,MAAAiC;CAAA,OAAAA,KAAAjC,EAAA;CAAA,IAAAqC;CAAA,IAAArC,EAAA,QAAAU,MAAAV,EAAA,QAAAW,MAAAX,EAAA,QAAAiC,IAAA;EAZHI,KAAA,oBAACW,cAAD;GACE,QAAA;GACO,OAAAtC;GACE,SAAAC;GAIA,SAAAsB;EAKR,CAAA;EACDjC,EAAA,MAAAU;EAAAV,EAAA,MAAAW;EAAAX,EAAA,MAAAiC;EAAAjC,EAAA,MAAAqC;CAAA,OAAAA,KAAArC,EAAA;CAAA,OAbFqC;AAaE"}
|
|
1
|
+
{"version":3,"file":"use-dismiss-confirmation.js","names":["focusSafely","useEffect","useRef","useState","useI18n","AlertDialog","PendingDismissal","dismiss","focusTarget","Element","Answer","isDiscarded","useDismissConfirmation","confirmDismiss","isDialogOpen","$","_c","pending","setPending","hasAsked","setHasAsked","t0","Symbol","for","Set","unsavedChecks","answer","lastFocused","canAsk","t1","t2","document","activeElement","body","current","onFocusIn","event","target","addEventListener","removeEventListener","requestDismiss","hasUnsavedChanges","focused","check","t3","registerUnsavedChanges","check_0","checks","add","delete","t4","settle","action","t5","t6","settled","HTMLElement","isConnected","t7","isOpen","onDismiss","t8","confirmationProps","DiscardChangesDialog","t","children","confirm","cancel","_c","AlertDialog"],"sources":["../../../../src/components/overlays/Dialog/use-dismiss-confirmation.tsx"],"sourcesContent":["import { focusSafely } from '@react-aria/interactions';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { useI18n } from '../../../i18n';\nimport { AlertDialog } from '../AlertDialog/AlertDialog';\n\ninterface PendingDismissal {\n /** What the dismissal runs once the user discards the edits. */\n dismiss: () => void;\n /** Where focus was when the dialog asked, to give it back. */\n focusTarget: Element | null;\n}\n\ninterface Answer extends PendingDismissal {\n isDiscarded: boolean;\n}\n\n/**\n * The owner side of `confirmDismiss`, for `DialogTrigger` and\n * `DialogContainer`. A passive dismissal (Escape, an outside click, the close\n * button) goes through `requestDismiss`, which asks \"Discard changes?\" first\n * while `confirmDismiss` is `true`, or, when it is unset, while a form inside\n * (a modern `Form` root, or a legacy `DialogForm`) reports unsaved edits, or\n * its own `confirmDismiss`, through `registerUnsavedChanges`. Explicit actions\n * (submit, Cancel, a `close` the consumer calls) bypass it.\n *\n * The owner renders the question while `confirmationProps` is set:\n * `<DialogContainer {...confirmationProps}><DiscardChangesDialog /></DialogContainer>`.\n */\nexport function useDismissConfirmation(\n confirmDismiss: boolean | undefined,\n isDialogOpen: boolean,\n) {\n const [pending, setPending] = useState<PendingDismissal | null>(null);\n // Mounted on the first question and kept, so it can play its exit.\n const [hasAsked, setHasAsked] = useState(false);\n // Every form in the dialog reports its own: tabs or a wizard step can hold\n // more than one, and any of them with edits makes the dialog ask.\n const unsavedChecks = useRef(new Set<() => boolean>());\n const answer = useRef<Answer | null>(null);\n const lastFocused = useRef<Element | null>(null);\n const canAsk = isDialogOpen && confirmDismiss !== false;\n\n // A dialog closed some other way takes its question with it.\n if (pending && !isDialogOpen) setPending(null);\n\n // A click outside drops focus to `<body>` on its way to closing the dialog,\n // so the question gives focus back to where it was last. A `confirmDismiss`\n // bound to state turns on while the user types, so start from that field.\n useEffect(() => {\n if (!canAsk) return;\n\n if (document.activeElement !== document.body) {\n lastFocused.current = document.activeElement;\n }\n\n const onFocusIn = (event: FocusEvent) => {\n lastFocused.current = event.target as Element;\n };\n\n document.addEventListener('focusin', onFocusIn, true);\n\n return () => {\n document.removeEventListener('focusin', onFocusIn, true);\n lastFocused.current = null;\n };\n }, [canAsk]);\n\n function requestDismiss(dismiss: () => void) {\n if (pending) return;\n\n if (!(confirmDismiss ?? hasUnsavedChanges())) {\n dismiss();\n\n return;\n }\n\n const focused = document.activeElement;\n\n setPending({\n dismiss,\n focusTarget:\n focused && focused !== document.body ? focused : lastFocused.current,\n });\n setHasAsked(true);\n }\n\n function hasUnsavedChanges() {\n for (const check of unsavedChecks.current) {\n if (check()) return true;\n }\n\n return false;\n }\n\n function registerUnsavedChanges(check: () => boolean) {\n const checks = unsavedChecks.current;\n\n checks.add(check);\n\n return () => {\n checks.delete(check);\n };\n }\n\n function settle(action?: string) {\n if (!pending) return;\n\n answer.current = { ...pending, isDiscarded: action === 'confirm' };\n setPending(null);\n }\n\n // Once the question has closed: while open it holds focus, and pulls back\n // any focus moved out of it. Focus goes back into the dialog at once, not\n // when the question has faded out. A discarded dialog then closes from\n // there, so its trigger takes focus back as after any close.\n useEffect(() => {\n const settled = answer.current;\n\n if (pending || !settled) return;\n\n answer.current = null;\n\n const { focusTarget } = settled;\n\n if (focusTarget instanceof HTMLElement && focusTarget.isConnected) {\n focusSafely(focusTarget);\n }\n\n if (settled.isDiscarded) settled.dismiss();\n }, [pending]);\n\n return {\n requestDismiss,\n registerUnsavedChanges,\n confirmationProps: hasAsked\n ? { isOpen: !!pending, onDismiss: settle }\n : null,\n };\n}\n\n/** The question `useDismissConfirmation` asks. Escape keeps editing. */\nexport function DiscardChangesDialog() {\n const { t } = useI18n();\n\n return (\n <AlertDialog\n danger\n title={t('dialog.discardChanges.title', 'Discard changes?')}\n content={t(\n 'dialog.discardChanges.content',\n 'All unsaved changes will be lost.',\n )}\n actions={{\n confirm: { children: t('dialog.discardChanges.discard', 'Discard') },\n cancel: {\n children: t('dialog.discardChanges.keepEditing', 'Keep editing'),\n },\n }}\n />\n );\n}\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.206.0 | Cube Dev Team */
|
|
2
2
|
import { focusProgrammatically } from "../../../utils/react/programmaticFocus.js";
|
|
3
3
|
import { useOpenTransitionContext } from "../Modal/OpenTransitionContext.js";
|
|
4
4
|
import { trapsFocus, useDialogContext } from "./context.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
3
3
|
import { mergeRefs as mergeRefs$1 } from "../../../utils/react/useCombinedRefs.js";
|
|
4
4
|
import { ModalContainmentProvider, useModalContainment } from "./modal-containment.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
|
|
2
2
|
import { createContext, useContext } from "react";
|
|
3
3
|
//#region src/components/overlays/Modal/OpenTransitionContext.tsx
|
|
4
4
|
const OpenTransitionContext = createContext(null);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.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,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
3
3
|
import { mergeRefs as mergeRefs$1 } from "../../../utils/react/useCombinedRefs.js";
|
|
4
4
|
import { useModalLayerRef } from "./modal-containment.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
3
3
|
import { mergeRefs as mergeRefs$1 } from "../../../utils/react/useCombinedRefs.js";
|
|
4
4
|
import { ModalContainmentProvider, useModalContainment } from "./modal-containment.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
|
|
2
2
|
import { c } from "react/compiler-runtime";
|
|
3
3
|
import { createContext, useContext, useLayoutEffect, useRef, useState } from "react";
|
|
4
4
|
import { ariaHideOutside } from "react-aria/private/overlays/ariaHideOutside";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
|
|
2
2
|
import { useNotificationContext } from "./NotificationContext.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { useEffect, useRef } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
|
|
2
2
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
3
3
|
import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
|
|
2
2
|
import { Block } from "../../Block.js";
|
|
3
3
|
import { ItemActionProvider } from "../../actions/ItemActionContext.js";
|
|
4
4
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
|
|
2
2
|
import { createContext, useContext } from "react";
|
|
3
3
|
//#region src/components/overlays/Notifications/NotificationContext.ts
|
|
4
4
|
const ToastContext = createContext(null);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
|
|
2
2
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
3
3
|
import { NotificationCard } from "./NotificationCard.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
|
|
2
2
|
import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
|
|
3
3
|
import { useViewportSize } from "../../../utils/react/useViewportSize.js";
|
|
4
4
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
@@ -15,7 +15,7 @@ const ITEM_GAP = 8;
|
|
|
15
15
|
const DEFAULT_ITEM_HEIGHT = 56;
|
|
16
16
|
const OverlayContainerElement = tasty({ styles: {
|
|
17
17
|
position: "fixed",
|
|
18
|
-
top: "2x",
|
|
18
|
+
top: "(2x + ($overlay-inset-top, 0px))",
|
|
19
19
|
left: "50%",
|
|
20
20
|
transform: "translateX(-50%)",
|
|
21
21
|
zIndex: 100,
|
|
@@ -25,7 +25,10 @@ const OverlayContainerElement = tasty({ styles: {
|
|
|
25
25
|
} });
|
|
26
26
|
const OverlayItemWrapper = tasty({ styles: {
|
|
27
27
|
position: "absolute",
|
|
28
|
-
top:
|
|
28
|
+
top: {
|
|
29
|
+
"": "$item-top",
|
|
30
|
+
isCollapsed: "($item-top - ($overlay-inset-top, 0px))"
|
|
31
|
+
},
|
|
29
32
|
left: "50%",
|
|
30
33
|
zIndex: {
|
|
31
34
|
"": "auto",
|