@cube-dev/ui-kit 0.194.1 → 0.196.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 +190 -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.d.ts +6 -0
- package/dist/components/Root.js +125 -102
- 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 +11 -5
- package/dist/components/actions/Button/Button.js.map +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.d.ts +9 -4
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- 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.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +27 -25
- package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js +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 +7 -4
- package/dist/components/actions/Menu/MenuCollectionItem.js.map +1 -1
- package/dist/components/actions/Menu/MenuItem.js +69 -60
- package/dist/components/actions/Menu/MenuItem.js.map +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 -4
- package/dist/components/actions/Menu/styled.js.map +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 +15 -14
- 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 +14 -14
- 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 +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.js +16 -4
- 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 +7 -3
- package/dist/components/content/ItemBadge/ItemBadge.js.map +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 +29 -15
- package/dist/components/content/Layout/Layout.js.map +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 +20 -10
- package/dist/components/content/Layout/LayoutContext.js.map +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +12 -9
- package/dist/components/content/Layout/LayoutFooter.js.map +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.d.ts +5 -1
- package/dist/components/content/Layout/LayoutPane.js +323 -149
- package/dist/components/content/Layout/LayoutPane.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanel.d.ts +4 -2
- package/dist/components/content/Layout/LayoutPanel.js +73 -2
- package/dist/components/content/Layout/LayoutPanel.js.map +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 +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 +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.js +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 +2 -1
- package/dist/components/content/Tree/TreeNode.js.map +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 +3 -3
- 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 +2 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js.map +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 +3 -1
- 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.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 +28 -17
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +6 -6
- 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 +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.js +3 -1
- 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 +2 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
- package/dist/components/fields/ComboBox/ComboBox.d.ts +27 -7
- package/dist/components/fields/ComboBox/ComboBox.js +1095 -619
- package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/fields/ComboBox/comboBoxOptions.js +84 -0
- package/dist/components/fields/ComboBox/comboBoxOptions.js.map +1 -0
- 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 +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +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.d.ts +7 -0
- package/dist/components/fields/DatePicker/parseDate.js +17 -3
- package/dist/components/fields/DatePicker/parseDate.js.map +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 +2 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.js +15 -6
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/Input/Input.d.ts +2 -2
- package/dist/components/fields/Input/Input.js +2 -2
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.d.ts +10 -4
- package/dist/components/fields/ListBox/ListBox.js +298 -146
- 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 +150 -139
- 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.d.ts +6 -1
- package/dist/components/fields/NumberInput/NumberInput.js +136 -128
- package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +38 -48
- package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.d.ts +1 -2
- package/dist/components/fields/PasswordInput/PasswordInput.js +77 -111
- package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/fields/Picker/Picker.d.ts +1 -1
- package/dist/components/fields/Picker/Picker.js +22 -8
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.d.ts +12 -8
- package/dist/components/fields/RadioGroup/Radio.js +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +2 -2
- 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.d.ts +8 -3
- package/dist/components/fields/SearchInput/SearchInput.js +22 -29
- package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/fields/Select/Select.d.ts +12 -1
- package/dist/components/fields/Select/Select.js +365 -207
- 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 +3 -4
- package/dist/components/fields/Slider/RangeSlider.js.map +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 +101 -101
- package/dist/components/fields/Switch/Switch.js.map +1 -1
- package/dist/components/fields/TagInput/TagInput.js +336 -330
- package/dist/components/fields/TagInput/TagInput.js.map +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.d.ts +0 -1
- package/dist/components/fields/TextArea/TextArea.js +49 -63
- package/dist/components/fields/TextArea/TextArea.js.map +1 -1
- package/dist/components/fields/TextInput/TextInput.d.ts +1 -1
- package/dist/components/fields/TextInput/TextInput.js +42 -46
- package/dist/components/fields/TextInput/TextInput.js.map +1 -1
- package/dist/components/fields/TextInput/TextInputBase.d.ts +6 -2
- package/dist/components/fields/TextInput/TextInputBase.js +32 -10
- package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
- package/dist/components/fields/TextInput/displayed-validation.js +50 -0
- package/dist/components/fields/TextInput/displayed-validation.js.map +1 -0
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +20 -17
- 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 +3 -1
- 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/fields/index.d.ts +2 -2
- package/dist/components/fields/option-origin-press.js +78 -0
- package/dist/components/fields/option-origin-press.js.map +1 -0
- package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +10 -8
- package/dist/components/form/FieldWrapper/FieldWrapper.js +214 -158
- package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
- package/dist/components/form/FieldWrapper/field-description.js +3 -3
- package/dist/components/form/FieldWrapper/field-description.js.map +1 -1
- package/dist/components/form/FieldWrapper/types.d.ts +4 -3
- 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 +34 -22
- 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 +1 -1
- package/dist/components/form/field-chrome.js +15 -0
- package/dist/components/form/field-chrome.js.map +1 -0
- package/dist/components/form/index.d.ts +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.d.ts +6 -5
- package/dist/components/form/wrapper.js +11 -8
- 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 +3 -1
- package/dist/components/navigation/Pagination/Pagination.js.map +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 +2 -1
- package/dist/components/navigation/Tabs/TabPicker.js.map +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.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.d.ts +6 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +3 -2
- package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.d.ts +15 -4
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +85 -15
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/AlertDialog/types.d.ts +2 -1
- package/dist/components/overlays/Dialog/Dialog.js +28 -14
- package/dist/components/overlays/Dialog/Dialog.js.map +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.d.ts +7 -3
- package/dist/components/overlays/Dialog/DialogTrigger.js +149 -132
- package/dist/components/overlays/Dialog/DialogTrigger.js.map +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/Dialog/use-dialog-open-sync.js +83 -0
- package/dist/components/overlays/Dialog/use-dialog-open-sync.js.map +1 -0
- 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 +9 -3
- package/dist/components/overlays/Modal/Overlay.js.map +1 -1
- package/dist/components/overlays/Modal/Popover.js +31 -29
- package/dist/components/overlays/Modal/Popover.js.map +1 -1
- package/dist/components/overlays/Modal/Tray.js +2 -1
- 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 +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 +18 -32
- 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.d.ts +8 -0
- package/dist/components/overlays/Tooltip/Tooltip.js +16 -22
- 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.d.ts +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +163 -113
- package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/overlays/Tooltip/context.js.map +1 -1
- package/dist/components/overlays/Tooltip/split-trigger-props.js +6 -5
- package/dist/components/overlays/Tooltip/split-trigger-props.js.map +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 +11 -17
- 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 +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 +6 -4
- package/dist/i18n/locales/en-US/uikit.js +6 -4
- package/dist/i18n/locales/en-US/uikit.json.d.ts +3 -1
- package/dist/i18n/locales/es-ES/uikit.js +6 -4
- package/dist/i18n/locales/es-MX/uikit.js +6 -4
- package/dist/i18n/locales/fr-FR/uikit.js +6 -4
- package/dist/i18n/locales/it-IT/uikit.js +6 -4
- package/dist/i18n/locales/ja-JP/uikit.js +6 -4
- package/dist/i18n/locales/nb-NO/uikit.js +6 -4
- package/dist/i18n/locales/pt-BR/uikit.js +6 -4
- package/dist/i18n/locales/pt-PT/uikit.js +6 -4
- package/dist/i18n/locales/sv-SE/uikit.js +6 -4
- package/dist/i18n/locales/vi-VN/uikit.js +6 -4
- 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.d.ts +3 -3
- package/dist/index.js +4 -4
- 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 +15 -3
- package/dist/providers/navigation-url.js.map +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/providers/use-navigation.js +1 -1
- package/dist/shared/form.d.ts +17 -4
- 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 +18 -9
- package/dist/utils/react/nullableValue.js.map +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/ComplexLayout.md +1 -1
- package/docs/CreateComponent.md +2 -0
- package/docs/FieldProperties.md +32 -5
- package/docs/Theming.md +2 -1
- package/docs/Usage.md +2 -0
- package/docs/components/Root.md +1 -1
- package/docs/components/actions/Button.md +8 -2
- package/docs/components/actions/ButtonSplit.md +27 -1
- package/docs/components/actions/Link.md +1 -1
- package/docs/components/actions/Menu.md +4 -2
- package/docs/components/content/InfoBadge.md +2 -0
- package/docs/components/content/ItemBadge.md +4 -0
- package/docs/components/content/Layout.md +41 -6
- package/docs/components/fields/Checkbox.md +4 -3
- package/docs/components/fields/ComboBox.md +30 -19
- package/docs/components/fields/FilterListBox.md +2 -2
- package/docs/components/fields/FilterPicker.md +2 -2
- package/docs/components/fields/ListBox.md +14 -10
- package/docs/components/fields/NumberInput.md +20 -11
- package/docs/components/fields/PasswordInput.md +6 -7
- package/docs/components/fields/Picker.md +6 -5
- package/docs/components/fields/RadioGroup.md +1 -1
- package/docs/components/fields/SearchInput.md +7 -6
- package/docs/components/fields/Select.md +14 -8
- package/docs/components/fields/Switch.md +4 -3
- package/docs/components/fields/TagInput.md +8 -1
- package/docs/components/fields/TextArea.md +4 -3
- package/docs/components/fields/TextInput.md +13 -6
- package/docs/components/overlays/AlertDialog.md +45 -5
- package/docs/components/overlays/Dialog.md +5 -5
- package/docs/components/overlays/DialogTrigger.md +6 -6
- package/docs/components/overlays/Tooltip.md +17 -6
- package/docs/components/overlays/TooltipTrigger.md +2 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverlayContainer.js","names":["tasty","FocusEvent","Key","RefObject","useCallback","useEffect","useMemo","useRef","useState","useEvent","useLayoutEffect","useViewportSize","DisplayTransition","Portal","ToastItem","NotificationItem","InternalToast","DismissReason","InternalNotification","COLLAPSE_VISIBLE_HEIGHT","CONTAINER_OFFSET","ITEM_GAP","DEFAULT_ITEM_HEIGHT","OverlayContainerElement","styles","position","top","left","transform","zIndex","padding","height","pointerEvents","OverlayItemWrapper","width","transition","isMeasured","opacity","isShown","OverlayItem","kind","data","getItemId","item","internalId","isItemExiting","isExiting","getItemCreatedAt","createdAt","ItemPositionsResult","heights","Record","settledIds","Set","positions","Map","lastPositionsRef","ReturnType","itemRefs","HTMLDivElement","createRefCallback","itemId","displayRef","el","HTMLElement","useItemPositions","visibleItems","$","_c","t0","Symbol","for","setHeights","t1","t2","t3","setSettledIds","rafRef","t4","newHeights","hasChanges","current","forEach","id","offsetHeight","id_0","Object","keys","has","t5","heightKeys","newIds","filter","id_1","hasStaleIds","size","some","id_2","length","cancelAnimationFrame","prev","id_3","requestAnimationFrame","prev_0","next","id_4","add","id_5","t6","t7","el_0","set","delete","posMap","currentTop","id_6","height_0","t8","t9","pos","id_7","t10","CollapseStateResult","isCollapsed","handleMouseEnter","handleMouseMove","handleMouseLeave","handleFocus","handleBlur","e","containerRef","useCollapseState","canCollapse","allItems","onPauseChange","setIsCollapsed","boundsRef","refs","minX","Infinity","minY","maxX","maxY","rect","getBoundingClientRect","Math","min","max","right","bottom","DOMRect","x","y","toJSON","_temp","updateBounds","bounds","isInBounds","clientX","clientY","window","addEventListener","removeEventListener","handleMouseMove_0","e_0","contains","relatedTarget","Node","OverlayContainerProps","toasts","notifications","onToastExitComplete","onNotificationExitComplete","onNotificationDismiss","reason","onNotificationRestore","paused","OverlayContainer","items","map","_temp2","_temp3","sort","_temp4","_temp5","_temp6","hasNotifications","_temp7","hasActionableToasts","handleNotificationDismiss","item_0","handleExitComplete","T0","T1","t11","bb0","getItemStyle","item_1","index","total","baseTop","get","isNewest","collapsedTop","const","visibleIndexMap","_temp8","item_3","visibleIndex","t12","ref","itemProps","title","description","theme","icon","isLoading","actions","t13","item_2","index_0","t_0","t","n_0","n","a","b"],"sources":["../../../../src/components/overlays/Notifications/OverlayContainer.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport {\n FocusEvent,\n Key,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { useEvent } from '../../../_internal';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { useViewportSize } from '../../../utils/react/useViewportSize';\nimport { DisplayTransition } from '../../helpers/DisplayTransition/DisplayTransition';\nimport { Portal } from '../../portal';\nimport { ToastItem } from '../Toast/ToastItem';\n\nimport { NotificationItem } from './NotificationItem';\n\nimport type { InternalToast } from '../Toast/types';\nimport type { DismissReason, InternalNotification } from './types';\n\n// ─── Constants ───────────────────────────────────────────────────────\n\nconst COLLAPSE_VISIBLE_HEIGHT = 10;\nconst CONTAINER_OFFSET = 16;\nconst ITEM_GAP = 8;\nconst DEFAULT_ITEM_HEIGHT = 56;\n\n// ─── Styled Elements ─────────────────────────────────────────────────\n\nconst OverlayContainerElement = tasty({\n styles: {\n position: 'fixed',\n top: '2x',\n left: '50%',\n transform: 'translateX(-50%)',\n zIndex: 100,\n padding: '1x',\n height: '0',\n pointerEvents: 'none',\n },\n});\n\nconst OverlayItemWrapper = tasty({\n styles: {\n position: 'absolute',\n top: '0',\n left: '50%',\n transform: {\n '': 'translateX(-50%) translateY(-50%)',\n 'isMeasured & isShown': 'translateX(-50%) translateY(0)',\n },\n // Sized to its content: the container has no width of its own. Capped,\n // never floored, so a long toast wraps inside the viewport. The cap\n // matches NotificationCard's own width.\n width: 'initial max-content min((100vw - 4x), 50x)',\n pointerEvents: 'auto',\n transition: {\n '': 'opacity $transition ease-in, transform $transition ease-in',\n isMeasured:\n 'top $transition ease-in, opacity $transition ease-in, transform $transition ease-in',\n },\n opacity: {\n '': 0,\n isShown: 1,\n },\n },\n});\n\n// ─── Unified Item Type ───────────────────────────────────────────────\n\ntype OverlayItem =\n | { kind: 'toast'; data: InternalToast }\n | { kind: 'notification'; data: InternalNotification };\n\nfunction getItemId(item: OverlayItem): string {\n return item.data.internalId;\n}\n\nfunction isItemExiting(item: OverlayItem): boolean {\n return item.data.isExiting === true;\n}\n\nfunction getItemCreatedAt(item: OverlayItem): number {\n return item.data.createdAt;\n}\n\n// ─── useItemPositions Hook ───────────────────────────────────────────\n\ninterface ItemPositionsResult {\n heights: Record<string, number>;\n /** Set of item IDs that have been measured AND painted at their correct position. */\n settledIds: Set<string>;\n positions: Map<string, number>;\n lastPositionsRef: ReturnType<typeof useRef<Map<string, number>>>;\n itemRefs: ReturnType<typeof useRef<Map<string, HTMLDivElement>>>;\n createRefCallback: (\n itemId: string,\n displayRef: (el: HTMLElement | null) => void,\n ) => (el: HTMLDivElement | null) => void;\n}\n\n/**\n * Manages height measurement, position calculation, and ref tracking\n * for overlay items. Extracted from OverlayContainer for readability.\n */\nfunction useItemPositions(visibleItems: OverlayItem[]): ItemPositionsResult {\n const [heights, setHeights] = useState<Record<string, number>>({});\n const itemRefs = useRef<Map<string, HTMLDivElement>>(new Map());\n const lastPositionsRef = useRef<Map<string, number>>(new Map());\n\n // Items that have been measured AND painted at their correct position.\n // Lags one frame behind `heights` so the browser paints the item at\n // its final `top` before the CSS `top` transition is enabled.\n const [settledIds, setSettledIds] = useState<Set<string>>(new Set());\n const rafRef = useRef<number | null>(null);\n\n // Measure heights using layout effect to avoid visible layout shifts.\n // Runs every render but bails early if nothing changed.\n useLayoutEffect(() => {\n const newHeights: Record<string, number> = {};\n let hasChanges = false;\n\n itemRefs.current.forEach((el, id) => {\n const height = el.offsetHeight || DEFAULT_ITEM_HEIGHT;\n newHeights[id] = height;\n\n if (heights[id] !== height) {\n hasChanges = true;\n }\n });\n\n for (const id of Object.keys(heights)) {\n if (!itemRefs.current.has(id)) {\n hasChanges = true;\n }\n }\n\n if (hasChanges) {\n setHeights(newHeights);\n }\n });\n\n // A wrapped toast changes height with the viewport, not only on a render.\n // Re-rendering on a viewport resize lets the measurement above restack the\n // items. A height change from content that re-renders on its own, outside\n // this container, still waits for the container's next render.\n useViewportSize();\n\n // After heights change, schedule settledIds update for the next frame.\n // This ensures the item is painted at its correct position (with no top\n // transition) before we enable the transition.\n useEffect(() => {\n const heightKeys = Object.keys(heights);\n const newIds = heightKeys.filter((id) => !settledIds.has(id));\n const hasStaleIds =\n settledIds.size > 0 && [...settledIds].some((id) => !(id in heights));\n\n if (newIds.length === 0 && !hasStaleIds) return;\n\n if (rafRef.current != null) {\n cancelAnimationFrame(rafRef.current);\n }\n\n // For pruning-only updates (no new items), apply synchronously since\n // there's no need to wait for a paint frame.\n if (newIds.length === 0 && hasStaleIds) {\n setSettledIds((prev) => new Set(heightKeys.filter((id) => prev.has(id))));\n return;\n }\n\n rafRef.current = requestAnimationFrame(() => {\n rafRef.current = null;\n setSettledIds((prev) => {\n const next = new Set<string>();\n\n // Only keep IDs that still exist in heights (prune removed items)\n for (const id of heightKeys) {\n if (prev.has(id)) {\n next.add(id);\n }\n }\n\n for (const id of newIds) {\n next.add(id);\n }\n\n return next;\n });\n });\n\n return () => {\n if (rafRef.current != null) {\n cancelAnimationFrame(rafRef.current);\n rafRef.current = null;\n }\n };\n }, [heights]);\n\n const createRefCallback =\n (itemId: string, displayRef: (el: HTMLElement | null) => void) =>\n (el: HTMLDivElement | null) => {\n displayRef(el);\n\n if (el) {\n itemRefs.current.set(itemId, el);\n } else {\n itemRefs.current.delete(itemId);\n }\n };\n\n const positions = useMemo(() => {\n const posMap = new Map<string, number>();\n let currentTop = 0;\n\n for (const item of visibleItems) {\n const id = getItemId(item);\n posMap.set(id, currentTop);\n const height = heights[id] ?? DEFAULT_ITEM_HEIGHT;\n currentTop += height + ITEM_GAP;\n }\n\n return posMap;\n }, [visibleItems, heights]);\n\n useEffect(() => {\n positions.forEach((pos, id) => {\n lastPositionsRef.current.set(id, pos);\n });\n }, [positions]);\n\n return {\n heights,\n settledIds,\n positions,\n lastPositionsRef,\n itemRefs,\n createRefCallback,\n };\n}\n\n// ─── useCollapseState Hook ───────────────────────────────────────────\n\ninterface CollapseStateResult {\n isCollapsed: boolean;\n handleMouseEnter: () => void;\n handleMouseMove: () => void;\n handleMouseLeave: () => void;\n handleFocus: () => void;\n handleBlur: (e: FocusEvent) => void;\n containerRef: RefObject<HTMLDivElement | null>;\n}\n\n/**\n * Manages collapse/expand behavior and pause state for the overlay container.\n * Extracted from OverlayContainer for readability.\n */\nfunction useCollapseState(\n canCollapse: boolean,\n allItems: OverlayItem[],\n itemRefs: ReturnType<typeof useRef<Map<string, HTMLDivElement>>>,\n onPauseChange: (paused: boolean) => void,\n): CollapseStateResult {\n const [isCollapsed, setIsCollapsed] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n const boundsRef = useRef<DOMRect | null>(null);\n\n const updateBounds = () => {\n const refs = itemRefs.current;\n\n if (!refs || refs.size === 0) {\n boundsRef.current = null;\n return;\n }\n\n let minX = Infinity,\n minY = Infinity,\n maxX = -Infinity,\n maxY = -Infinity;\n\n refs.forEach((el) => {\n const rect = el.getBoundingClientRect();\n minX = Math.min(minX, rect.left);\n minY = Math.min(minY, rect.top);\n maxX = Math.max(maxX, rect.right);\n maxY = Math.max(maxY, rect.bottom);\n });\n\n if (typeof DOMRect !== 'undefined') {\n boundsRef.current = new DOMRect(minX, minY, maxX - minX, maxY - minY);\n } else {\n boundsRef.current = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n top: minY,\n right: maxX,\n bottom: maxY,\n left: minX,\n toJSON: () => ({}),\n } as DOMRect;\n }\n };\n\n // Track mouse for collapse — expand when mouse leaves bounds\n useEffect(() => {\n if (!isCollapsed) return;\n\n const handleMouseMove = (e: MouseEvent) => {\n const bounds = boundsRef.current;\n\n if (!bounds) {\n setIsCollapsed(false);\n onPauseChange(false);\n return;\n }\n\n const padding = 20;\n const isInBounds =\n e.clientX >= bounds.left - padding &&\n e.clientX <= bounds.right + padding &&\n e.clientY >= bounds.top - padding &&\n e.clientY <= bounds.bottom + padding;\n\n if (!isInBounds) {\n setIsCollapsed(false);\n onPauseChange(false);\n }\n };\n\n window.addEventListener('mousemove', handleMouseMove);\n return () => window.removeEventListener('mousemove', handleMouseMove);\n }, [isCollapsed, onPauseChange]);\n\n // An empty container must not carry hover state into the next toast stack.\n useEffect(() => {\n updateBounds();\n\n if (allItems.length === 0) {\n setIsCollapsed(false);\n onPauseChange(false);\n }\n }, [allItems, updateBounds, onPauseChange]);\n\n const handleMouseEnter = () => {\n onPauseChange(true);\n };\n\n // Layout and enter animations can put an item under a stationary pointer\n // and fire mouseenter. Collapse only after the user moves over the stack.\n const handleMouseMove = () => {\n if (canCollapse && !isCollapsed) {\n updateBounds();\n setIsCollapsed(true);\n }\n };\n\n const handleMouseLeave = () => {\n if (!isCollapsed) {\n onPauseChange(false);\n }\n };\n\n const handleFocus = () => {\n onPauseChange(true);\n };\n\n const handleBlur = (e: FocusEvent) => {\n if (\n containerRef.current &&\n !containerRef.current.contains(e.relatedTarget as Node)\n ) {\n onPauseChange(false);\n }\n };\n\n return {\n isCollapsed,\n handleMouseEnter,\n handleMouseMove,\n handleMouseLeave,\n handleFocus,\n handleBlur,\n containerRef,\n };\n}\n\n// ─── Overlay Container ───────────────────────────────────────────────\n//\n// INTENTIONAL: Position calculations are done manually (absolute positioning + JS\n// height tracking) rather than relying on CSS flexbox/grid layout. This is\n// deliberate — the container mixes enter/exit animations, collapse behavior, and\n// heterogeneous item sizes (toasts vs notifications) which require per-item\n// position control. CSS-only solutions (e.g., flex column with gap) break when\n// items exit asynchronously or when collapse transforms need to be computed per-item.\n\nexport interface OverlayContainerProps {\n toasts: InternalToast[];\n notifications: InternalNotification[];\n onToastExitComplete: (internalId: string) => void;\n onNotificationExitComplete: (internalId: string) => void;\n onNotificationDismiss: (id: Key, reason: DismissReason) => void;\n onNotificationRestore: (id: Key) => void;\n onPauseChange: (paused: boolean) => void;\n}\n\nexport function OverlayContainer({\n toasts,\n notifications,\n onToastExitComplete,\n onNotificationExitComplete,\n onNotificationDismiss,\n onNotificationRestore,\n onPauseChange,\n}: OverlayContainerProps) {\n // Merge toasts and notifications into a single ordered list\n const allItems: OverlayItem[] = useMemo(() => {\n const items: OverlayItem[] = [\n ...toasts.map((t): OverlayItem => ({ kind: 'toast', data: t })),\n ...notifications.map(\n (n): OverlayItem => ({ kind: 'notification', data: n }),\n ),\n ];\n\n // Sort by createdAt ascending (oldest first = bottom of stack, newest last = top)\n items.sort((a, b) => getItemCreatedAt(a) - getItemCreatedAt(b));\n\n return items;\n }, [toasts, notifications]);\n\n const visibleItems = useMemo(\n () => allItems.filter((item) => !isItemExiting(item)),\n [allItems],\n );\n const hasNotifications = notifications.some((n) => !n.isExiting);\n const hasActionableToasts = toasts.some((t) => !t.isExiting && t.actions);\n const canCollapse = !hasNotifications && !hasActionableToasts;\n\n const {\n heights,\n settledIds,\n positions,\n lastPositionsRef,\n itemRefs,\n createRefCallback,\n } = useItemPositions(visibleItems);\n\n const {\n isCollapsed,\n handleMouseEnter,\n handleMouseMove,\n handleMouseLeave,\n handleFocus,\n handleBlur,\n containerRef,\n } = useCollapseState(canCollapse, allItems, itemRefs, onPauseChange);\n\n // ─── Callbacks ─────────────────────────────────────────────────────\n\n // When the user dismisses a notification they were hovering, the element\n // is removed from the DOM so mouseLeave never fires. Explicitly unpause\n // so remaining notifications' timers resume.\n const handleNotificationDismiss = useEvent(\n (id: Key, reason: DismissReason) => {\n onNotificationDismiss(id, reason);\n onPauseChange(false);\n },\n );\n\n const handleExitComplete = useEvent((item: OverlayItem) => {\n const id = getItemId(item);\n lastPositionsRef.current?.delete(id);\n\n if (item.kind === 'toast') {\n onToastExitComplete(item.data.internalId);\n } else {\n onNotificationExitComplete(item.data.internalId);\n }\n });\n\n // useCallback (not useEvent) because this is called during render.\n // useEvent defers the ref update to useLayoutEffect, so during render\n // it would still read the previous closure's positions/heights.\n const getItemStyle = (item: OverlayItem, index: number, total: number) => {\n const id = getItemId(item);\n const baseTop = positions.get(id) ?? lastPositionsRef.current?.get(id) ?? 0;\n const height = heights[id] ?? DEFAULT_ITEM_HEIGHT;\n\n if (!isCollapsed || !canCollapse) {\n return { top: `${baseTop}px` };\n }\n\n const isNewest = index === total - 1;\n const collapsedTop = COLLAPSE_VISIBLE_HEIGHT - CONTAINER_OFFSET - height;\n\n return {\n top: `${collapsedTop}px`,\n zIndex: index,\n opacity: isNewest ? 1 : 0,\n pointerEvents: 'none' as const,\n };\n };\n\n // Build a visibleIndex lookup map to avoid O(n²) findIndex inside render loop\n const visibleIndexMap = new Map<string, number>(\n visibleItems.map((item, index) => [getItemId(item), index]),\n );\n\n if (allItems.length === 0) return null;\n\n return (\n <Portal>\n <OverlayContainerElement\n ref={containerRef}\n // Portaled outside any open Dialog, so React Aria would count a press\n // on a toast as a press outside it: the Dialog closed and the action\n // never ran. A top layer is never \"outside\", stays reachable by focus\n // from a Dialog's contained scope and visible to screen readers, as\n // React Aria's own toast region does.\n data-react-aria-top-layer=\"\"\n onFocus={handleFocus}\n onBlur={handleBlur}\n >\n {allItems.map((item) => {\n const itemId = getItemId(item);\n const visibleIndex = visibleIndexMap.get(itemId) ?? 0;\n const isExiting = isItemExiting(item);\n\n return (\n <DisplayTransition\n key={itemId}\n isShown={!isExiting}\n onRest={(transition) => {\n if (transition === 'exit') {\n handleExitComplete(item);\n }\n }}\n >\n {({ isShown, ref }) => (\n <OverlayItemWrapper\n ref={createRefCallback(itemId, ref)}\n mods={{ isShown, isMeasured: settledIds.has(itemId) }}\n style={getItemStyle(item, visibleIndex, visibleItems.length)}\n onMouseEnter={handleMouseEnter}\n onMouseMove={handleMouseMove}\n onMouseLeave={handleMouseLeave}\n >\n {item.kind === 'toast' ? (\n <ToastItem\n {...item.data.itemProps}\n title={item.data.title}\n description={item.data.description}\n theme={item.data.theme}\n icon={item.data.icon}\n isLoading={item.data.isLoading}\n actions={item.data.actions}\n />\n ) : (\n <NotificationItem\n notification={item.data}\n onDismiss={handleNotificationDismiss}\n onRestore={onNotificationRestore}\n />\n )}\n </OverlayItemWrapper>\n )}\n </DisplayTransition>\n );\n })}\n </OverlayContainerElement>\n </Portal>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OverlayContainer.js","names":["tasty","FocusEvent","Key","RefObject","useCallback","useEffect","useMemo","useRef","useState","useEvent","useLayoutEffect","useViewportSize","DisplayTransition","Portal","ToastItem","NotificationItem","InternalToast","DismissReason","InternalNotification","COLLAPSE_VISIBLE_HEIGHT","CONTAINER_OFFSET","ITEM_GAP","DEFAULT_ITEM_HEIGHT","OverlayContainerElement","styles","position","top","left","transform","zIndex","padding","height","pointerEvents","OverlayItemWrapper","width","transition","isMeasured","opacity","isShown","OverlayItem","kind","data","getItemId","item","internalId","isItemExiting","isExiting","getItemCreatedAt","createdAt","ItemPositionsResult","heights","Record","settledIds","Set","positions","Map","lastPositionsRef","ReturnType","itemRefs","HTMLDivElement","createRefCallback","itemId","displayRef","el","HTMLElement","useItemPositions","visibleItems","$","_c","t0","Symbol","for","setHeights","t1","t2","t3","setSettledIds","t4","newHeights","hasChanges","hasRemovals","current","forEach","id","offsetHeight","id_0","Object","keys","has","prev","next","filter","id_1","size","t5","heightKeys","newIds","id_2","length","frame","requestAnimationFrame","prev_0","cancelAnimationFrame","t6","t7","el_0","set","delete","posMap","currentTop","id_3","height_0","t8","t9","pos","id_4","t10","CollapseStateResult","isCollapsed","handleMouseEnter","handleMouseMove","handleMouseLeave","handleFocus","handleBlur","e","containerRef","useCollapseState","canCollapse","allItems","onPauseChange","setIsCollapsed","boundsRef","refs","minX","Infinity","minY","maxX","maxY","rect","getBoundingClientRect","Math","min","max","right","bottom","DOMRect","x","y","toJSON","_temp","updateBounds","bounds","isInBounds","clientX","clientY","window","addEventListener","removeEventListener","handleMouseMove_0","e_0","contains","relatedTarget","Node","OverlayContainerProps","toasts","notifications","onToastExitComplete","onNotificationExitComplete","onNotificationDismiss","reason","onNotificationRestore","paused","OverlayContainer","items","map","_temp2","_temp3","sort","_temp4","_temp5","some","_temp6","hasNotifications","_temp7","hasActionableToasts","handleNotificationDismiss","item_0","handleExitComplete","T0","T1","t11","bb0","getItemStyle","item_1","index","total","baseTop","get","isNewest","collapsedTop","const","visibleIndexMap","_temp8","item_3","visibleIndex","t12","ref","itemProps","title","description","theme","icon","isLoading","actions","t13","item_2","index_0","t_0","t","n_0","n","a","b"],"sources":["../../../../src/components/overlays/Notifications/OverlayContainer.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport {\n FocusEvent,\n Key,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { useEvent } from '../../../_internal';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { useViewportSize } from '../../../utils/react/useViewportSize';\nimport { DisplayTransition } from '../../helpers/DisplayTransition/DisplayTransition';\nimport { Portal } from '../../portal';\nimport { ToastItem } from '../Toast/ToastItem';\n\nimport { NotificationItem } from './NotificationItem';\n\nimport type { InternalToast } from '../Toast/types';\nimport type { DismissReason, InternalNotification } from './types';\n\n// ─── Constants ───────────────────────────────────────────────────────\n\nconst COLLAPSE_VISIBLE_HEIGHT = 10;\nconst CONTAINER_OFFSET = 16;\nconst ITEM_GAP = 8;\nconst DEFAULT_ITEM_HEIGHT = 56;\n\n// ─── Styled Elements ─────────────────────────────────────────────────\n\nconst OverlayContainerElement = tasty({\n styles: {\n position: 'fixed',\n top: '2x',\n left: '50%',\n transform: 'translateX(-50%)',\n zIndex: 100,\n padding: '1x',\n height: '0',\n pointerEvents: 'none',\n },\n});\n\nconst OverlayItemWrapper = tasty({\n styles: {\n position: 'absolute',\n top: '0',\n left: '50%',\n transform: {\n '': 'translateX(-50%) translateY(-50%)',\n 'isMeasured & isShown': 'translateX(-50%) translateY(0)',\n },\n // Sized to its content: the container has no width of its own. Capped,\n // never floored, so a long toast wraps inside the viewport. The cap\n // matches NotificationCard's own width.\n width: 'initial max-content min((100vw - 4x), 50x)',\n pointerEvents: 'auto',\n transition: {\n '': 'opacity $transition ease-in, transform $transition ease-in',\n isMeasured:\n 'top $transition ease-in, opacity $transition ease-in, transform $transition ease-in',\n },\n opacity: {\n '': 0,\n isShown: 1,\n },\n },\n});\n\n// ─── Unified Item Type ───────────────────────────────────────────────\n\ntype OverlayItem =\n | { kind: 'toast'; data: InternalToast }\n | { kind: 'notification'; data: InternalNotification };\n\nfunction getItemId(item: OverlayItem): string {\n return item.data.internalId;\n}\n\nfunction isItemExiting(item: OverlayItem): boolean {\n return item.data.isExiting === true;\n}\n\nfunction getItemCreatedAt(item: OverlayItem): number {\n return item.data.createdAt;\n}\n\n// ─── useItemPositions Hook ───────────────────────────────────────────\n\ninterface ItemPositionsResult {\n heights: Record<string, number>;\n /** Set of item IDs that have been measured AND painted at their correct position. */\n settledIds: Set<string>;\n positions: Map<string, number>;\n lastPositionsRef: ReturnType<typeof useRef<Map<string, number>>>;\n itemRefs: ReturnType<typeof useRef<Map<string, HTMLDivElement>>>;\n createRefCallback: (\n itemId: string,\n displayRef: (el: HTMLElement | null) => void,\n ) => (el: HTMLDivElement | null) => void;\n}\n\n/**\n * Manages height measurement, position calculation, and ref tracking\n * for overlay items. Extracted from OverlayContainer for readability.\n */\nfunction useItemPositions(visibleItems: OverlayItem[]): ItemPositionsResult {\n const [heights, setHeights] = useState<Record<string, number>>({});\n const itemRefs = useRef<Map<string, HTMLDivElement>>(new Map());\n const lastPositionsRef = useRef<Map<string, number>>(new Map());\n\n // Items that have been measured AND painted at their correct position.\n // Lags one frame behind `heights` so the browser paints the item at\n // its final `top` before the CSS `top` transition is enabled.\n const [settledIds, setSettledIds] = useState<Set<string>>(new Set());\n\n // Measure heights using layout effect to avoid visible layout shifts.\n // Runs every render but bails early if nothing changed.\n useLayoutEffect(() => {\n const newHeights: Record<string, number> = {};\n let hasChanges = false;\n let hasRemovals = false;\n\n itemRefs.current.forEach((el, id) => {\n const height = el.offsetHeight || DEFAULT_ITEM_HEIGHT;\n newHeights[id] = height;\n\n if (heights[id] !== height) {\n hasChanges = true;\n }\n });\n\n for (const id of Object.keys(heights)) {\n if (!itemRefs.current.has(id)) {\n hasRemovals = true;\n }\n }\n\n if (hasChanges || hasRemovals) {\n setHeights(newHeights);\n }\n\n // Drop a removed item's settled id with its height, so a restored\n // notification settles again under its old id. Pruning later, from the\n // `heights` effect, left an update pending after each removal's sync\n // commit, which React 19 counts as nested (\"Maximum update depth\").\n if (hasRemovals) {\n setSettledIds((prev) => {\n const next = new Set([...prev].filter((id) => id in newHeights));\n\n return next.size === prev.size ? prev : next;\n });\n }\n });\n\n // A wrapped toast changes height with the viewport, not only on a render.\n // Re-rendering on a viewport resize lets the measurement above restack the\n // items. A height change from content that re-renders on its own, outside\n // this container, still waits for the container's next render.\n useViewportSize();\n\n // After heights change, schedule settledIds update for the next frame.\n // This ensures the item is painted at its correct position (with no top\n // transition) before we enable the transition.\n useEffect(() => {\n const heightKeys = Object.keys(heights);\n const newIds = heightKeys.filter((id) => !settledIds.has(id));\n\n if (newIds.length === 0) return;\n\n // A removal changes `heights`, which cancels this frame, so the ids to\n // add are still current when it runs.\n const frame = requestAnimationFrame(() => {\n setSettledIds((prev) => new Set([...prev, ...newIds]));\n });\n\n return () => cancelAnimationFrame(frame);\n }, [heights]);\n\n const createRefCallback =\n (itemId: string, displayRef: (el: HTMLElement | null) => void) =>\n (el: HTMLDivElement | null) => {\n displayRef(el);\n\n if (el) {\n itemRefs.current.set(itemId, el);\n } else {\n itemRefs.current.delete(itemId);\n }\n };\n\n const positions = useMemo(() => {\n const posMap = new Map<string, number>();\n let currentTop = 0;\n\n for (const item of visibleItems) {\n const id = getItemId(item);\n posMap.set(id, currentTop);\n const height = heights[id] ?? DEFAULT_ITEM_HEIGHT;\n currentTop += height + ITEM_GAP;\n }\n\n return posMap;\n }, [visibleItems, heights]);\n\n useEffect(() => {\n positions.forEach((pos, id) => {\n lastPositionsRef.current.set(id, pos);\n });\n }, [positions]);\n\n return {\n heights,\n settledIds,\n positions,\n lastPositionsRef,\n itemRefs,\n createRefCallback,\n };\n}\n\n// ─── useCollapseState Hook ───────────────────────────────────────────\n\ninterface CollapseStateResult {\n isCollapsed: boolean;\n handleMouseEnter: () => void;\n handleMouseMove: () => void;\n handleMouseLeave: () => void;\n handleFocus: () => void;\n handleBlur: (e: FocusEvent) => void;\n containerRef: RefObject<HTMLDivElement | null>;\n}\n\n/**\n * Manages collapse/expand behavior and pause state for the overlay container.\n * Extracted from OverlayContainer for readability.\n */\nfunction useCollapseState(\n canCollapse: boolean,\n allItems: OverlayItem[],\n itemRefs: ReturnType<typeof useRef<Map<string, HTMLDivElement>>>,\n onPauseChange: (paused: boolean) => void,\n): CollapseStateResult {\n const [isCollapsed, setIsCollapsed] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n const boundsRef = useRef<DOMRect | null>(null);\n\n const updateBounds = () => {\n const refs = itemRefs.current;\n\n if (!refs || refs.size === 0) {\n boundsRef.current = null;\n return;\n }\n\n let minX = Infinity,\n minY = Infinity,\n maxX = -Infinity,\n maxY = -Infinity;\n\n refs.forEach((el) => {\n const rect = el.getBoundingClientRect();\n minX = Math.min(minX, rect.left);\n minY = Math.min(minY, rect.top);\n maxX = Math.max(maxX, rect.right);\n maxY = Math.max(maxY, rect.bottom);\n });\n\n if (typeof DOMRect !== 'undefined') {\n boundsRef.current = new DOMRect(minX, minY, maxX - minX, maxY - minY);\n } else {\n boundsRef.current = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n top: minY,\n right: maxX,\n bottom: maxY,\n left: minX,\n toJSON: () => ({}),\n } as DOMRect;\n }\n };\n\n // Track mouse for collapse — expand when mouse leaves bounds\n useEffect(() => {\n if (!isCollapsed) return;\n\n const handleMouseMove = (e: MouseEvent) => {\n const bounds = boundsRef.current;\n\n if (!bounds) {\n setIsCollapsed(false);\n onPauseChange(false);\n return;\n }\n\n const padding = 20;\n const isInBounds =\n e.clientX >= bounds.left - padding &&\n e.clientX <= bounds.right + padding &&\n e.clientY >= bounds.top - padding &&\n e.clientY <= bounds.bottom + padding;\n\n if (!isInBounds) {\n setIsCollapsed(false);\n onPauseChange(false);\n }\n };\n\n window.addEventListener('mousemove', handleMouseMove);\n return () => window.removeEventListener('mousemove', handleMouseMove);\n }, [isCollapsed, onPauseChange]);\n\n // An empty container must not carry hover state into the next toast stack.\n useEffect(() => {\n updateBounds();\n\n if (allItems.length === 0) {\n setIsCollapsed(false);\n onPauseChange(false);\n }\n }, [allItems, updateBounds, onPauseChange]);\n\n const handleMouseEnter = () => {\n onPauseChange(true);\n };\n\n // Layout and enter animations can put an item under a stationary pointer\n // and fire mouseenter. Collapse only after the user moves over the stack.\n const handleMouseMove = () => {\n if (canCollapse && !isCollapsed) {\n updateBounds();\n setIsCollapsed(true);\n }\n };\n\n const handleMouseLeave = () => {\n if (!isCollapsed) {\n onPauseChange(false);\n }\n };\n\n const handleFocus = () => {\n onPauseChange(true);\n };\n\n const handleBlur = (e: FocusEvent) => {\n if (\n containerRef.current &&\n !containerRef.current.contains(e.relatedTarget as Node)\n ) {\n onPauseChange(false);\n }\n };\n\n return {\n isCollapsed,\n handleMouseEnter,\n handleMouseMove,\n handleMouseLeave,\n handleFocus,\n handleBlur,\n containerRef,\n };\n}\n\n// ─── Overlay Container ───────────────────────────────────────────────\n//\n// INTENTIONAL: Position calculations are done manually (absolute positioning + JS\n// height tracking) rather than relying on CSS flexbox/grid layout. This is\n// deliberate — the container mixes enter/exit animations, collapse behavior, and\n// heterogeneous item sizes (toasts vs notifications) which require per-item\n// position control. CSS-only solutions (e.g., flex column with gap) break when\n// items exit asynchronously or when collapse transforms need to be computed per-item.\n\nexport interface OverlayContainerProps {\n toasts: InternalToast[];\n notifications: InternalNotification[];\n onToastExitComplete: (internalId: string) => void;\n onNotificationExitComplete: (internalId: string) => void;\n onNotificationDismiss: (id: Key, reason: DismissReason) => void;\n onNotificationRestore: (id: Key) => void;\n onPauseChange: (paused: boolean) => void;\n}\n\nexport function OverlayContainer({\n toasts,\n notifications,\n onToastExitComplete,\n onNotificationExitComplete,\n onNotificationDismiss,\n onNotificationRestore,\n onPauseChange,\n}: OverlayContainerProps) {\n // Merge toasts and notifications into a single ordered list\n const allItems: OverlayItem[] = useMemo(() => {\n const items: OverlayItem[] = [\n ...toasts.map((t): OverlayItem => ({ kind: 'toast', data: t })),\n ...notifications.map(\n (n): OverlayItem => ({ kind: 'notification', data: n }),\n ),\n ];\n\n // Sort by createdAt ascending (oldest first = bottom of stack, newest last = top)\n items.sort((a, b) => getItemCreatedAt(a) - getItemCreatedAt(b));\n\n return items;\n }, [toasts, notifications]);\n\n const visibleItems = useMemo(\n () => allItems.filter((item) => !isItemExiting(item)),\n [allItems],\n );\n const hasNotifications = notifications.some((n) => !n.isExiting);\n const hasActionableToasts = toasts.some((t) => !t.isExiting && t.actions);\n const canCollapse = !hasNotifications && !hasActionableToasts;\n\n const {\n heights,\n settledIds,\n positions,\n lastPositionsRef,\n itemRefs,\n createRefCallback,\n } = useItemPositions(visibleItems);\n\n const {\n isCollapsed,\n handleMouseEnter,\n handleMouseMove,\n handleMouseLeave,\n handleFocus,\n handleBlur,\n containerRef,\n } = useCollapseState(canCollapse, allItems, itemRefs, onPauseChange);\n\n // ─── Callbacks ─────────────────────────────────────────────────────\n\n // When the user dismisses a notification they were hovering, the element\n // is removed from the DOM so mouseLeave never fires. Explicitly unpause\n // so remaining notifications' timers resume.\n const handleNotificationDismiss = useEvent(\n (id: Key, reason: DismissReason) => {\n onNotificationDismiss(id, reason);\n onPauseChange(false);\n },\n );\n\n const handleExitComplete = useEvent((item: OverlayItem) => {\n const id = getItemId(item);\n lastPositionsRef.current?.delete(id);\n\n if (item.kind === 'toast') {\n onToastExitComplete(item.data.internalId);\n } else {\n onNotificationExitComplete(item.data.internalId);\n }\n });\n\n // useCallback (not useEvent) because this is called during render.\n // useEvent defers the ref update to useLayoutEffect, so during render\n // it would still read the previous closure's positions/heights.\n const getItemStyle = (item: OverlayItem, index: number, total: number) => {\n const id = getItemId(item);\n const baseTop = positions.get(id) ?? lastPositionsRef.current?.get(id) ?? 0;\n const height = heights[id] ?? DEFAULT_ITEM_HEIGHT;\n\n if (!isCollapsed || !canCollapse) {\n return { top: `${baseTop}px` };\n }\n\n const isNewest = index === total - 1;\n const collapsedTop = COLLAPSE_VISIBLE_HEIGHT - CONTAINER_OFFSET - height;\n\n return {\n top: `${collapsedTop}px`,\n zIndex: index,\n opacity: isNewest ? 1 : 0,\n pointerEvents: 'none' as const,\n };\n };\n\n // Build a visibleIndex lookup map to avoid O(n²) findIndex inside render loop\n const visibleIndexMap = new Map<string, number>(\n visibleItems.map((item, index) => [getItemId(item), index]),\n );\n\n if (allItems.length === 0) return null;\n\n return (\n <Portal>\n <OverlayContainerElement\n ref={containerRef}\n // Portaled outside any open Dialog, so React Aria would count a press\n // on a toast as a press outside it: the Dialog closed and the action\n // never ran. A top layer is never \"outside\", stays reachable by focus\n // from a Dialog's contained scope and visible to screen readers, as\n // React Aria's own toast region does.\n data-react-aria-top-layer=\"\"\n onFocus={handleFocus}\n onBlur={handleBlur}\n >\n {allItems.map((item) => {\n const itemId = getItemId(item);\n const visibleIndex = visibleIndexMap.get(itemId) ?? 0;\n const isExiting = isItemExiting(item);\n\n return (\n <DisplayTransition\n key={itemId}\n isShown={!isExiting}\n onRest={(transition) => {\n if (transition === 'exit') {\n handleExitComplete(item);\n }\n }}\n >\n {({ isShown, ref }) => (\n <OverlayItemWrapper\n ref={createRefCallback(itemId, ref)}\n mods={{ isShown, isMeasured: settledIds.has(itemId) }}\n style={getItemStyle(item, visibleIndex, visibleItems.length)}\n onMouseEnter={handleMouseEnter}\n onMouseMove={handleMouseMove}\n onMouseLeave={handleMouseLeave}\n >\n {item.kind === 'toast' ? (\n <ToastItem\n {...item.data.itemProps}\n title={item.data.title}\n description={item.data.description}\n theme={item.data.theme}\n icon={item.data.icon}\n isLoading={item.data.isLoading}\n actions={item.data.actions}\n />\n ) : (\n <NotificationItem\n notification={item.data}\n onDismiss={handleNotificationDismiss}\n onRestore={onNotificationRestore}\n />\n )}\n </OverlayItemWrapper>\n )}\n </DisplayTransition>\n );\n })}\n </OverlayContainerElement>\n </Portal>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.196.0 | Cube Dev Team */
|
|
2
2
|
import { NotificationContext, PersistentNotificationsContext, ToastContext, useNotificationContext, useToastContext } from "./NotificationContext.js";
|
|
3
3
|
import { OverlayContainer } from "./OverlayContainer.js";
|
|
4
4
|
import { useNotificationState } from "./use-notification-state.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.196.0 | Cube Dev Team */
|
|
2
2
|
import { _Text } from "../../content/Text.js";
|
|
3
3
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
4
4
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.196.0 | Cube Dev Team */
|
|
2
2
|
//#region src/components/overlays/Notifications/dismissed-storage.ts
|
|
3
3
|
const STORAGE_KEY = "cube-ui-dismissed-notifications";
|
|
4
4
|
const TTL_MS = 864e5;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.196.0 | Cube Dev Team */
|
|
2
2
|
import { useToastContext } from "./NotificationContext.js";
|
|
3
3
|
import { NotificationAction } from "./NotificationAction.js";
|
|
4
4
|
import { NotificationCard } from "./NotificationCard.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.196.0 | Cube Dev Team */
|
|
2
2
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
3
3
|
import { useWarn } from "../../../_internal/hooks/use-warn.js";
|
|
4
4
|
import { useNotificationContext } from "./NotificationContext.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.196.0 | Cube Dev Team */
|
|
2
2
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
3
3
|
import { cleanupAndGetValidIds, saveDismissedId } from "./dismissed-storage.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.196.0 | Cube Dev Team */
|
|
2
2
|
import { _Item } from "../../content/Item/Item.js";
|
|
3
3
|
import { getThemeIcon } from "./useToast.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.196.0 | Cube Dev Team */
|
|
2
2
|
import { useToastContext } from "../Notifications/NotificationContext.js";
|
|
3
3
|
import { useProgressToast } from "./useProgressToast.js";
|
|
4
4
|
import { getThemeIcon, useToast } from "./useToast.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.196.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 { 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.196.0 | Cube Dev Team */
|
|
2
2
|
import { CheckIcon } from "../../../icons/CheckIcon.js";
|
|
3
3
|
import { InfoCircleIcon } from "../../../icons/InfoCircleIcon.js";
|
|
4
4
|
import { useToastContext } from "../Notifications/NotificationContext.js";
|
|
@@ -8,6 +8,9 @@ import { DOMRefValue } from "@react-types/shared";
|
|
|
8
8
|
//#region src/components/overlays/Tooltip/Tooltip.d.ts
|
|
9
9
|
interface CubeTooltipProps extends BaseProps, ContainerStyleProps, AriaTooltipProps {
|
|
10
10
|
tipStyles?: Styles;
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated Has no effect. No icon is ever rendered.
|
|
13
|
+
*/
|
|
11
14
|
showIcon?: boolean;
|
|
12
15
|
placement?: PlacementAxis;
|
|
13
16
|
isMaterial?: boolean;
|
|
@@ -15,6 +18,11 @@ interface CubeTooltipProps extends BaseProps, ContainerStyleProps, AriaTooltipPr
|
|
|
15
18
|
isLight?: boolean;
|
|
16
19
|
onOpenChange?: (isOpen: boolean) => void;
|
|
17
20
|
defaultOpen?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Whether the tooltip moves to the opposite side of its trigger when there
|
|
23
|
+
* is not enough room on the requested one.
|
|
24
|
+
* @default true
|
|
25
|
+
*/
|
|
18
26
|
shouldFlip?: boolean;
|
|
19
27
|
}
|
|
20
28
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.196.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
|
|
4
4
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
@@ -109,8 +109,8 @@ const TooltipTipElement = tasty({ styles: {
|
|
|
109
109
|
transition: "theme"
|
|
110
110
|
} });
|
|
111
111
|
function Tooltip(props, ref) {
|
|
112
|
-
const $ = c(
|
|
113
|
-
|
|
112
|
+
const $ = c(29);
|
|
113
|
+
const { ref: overlayRef, transitionRef, arrowProps, state, overlayProps, isMaterial: isMaterialContext, isLight: isLightContext, phase, isShown, updatePosition, ...tooltipProviderProps } = useContext(TooltipContext);
|
|
114
114
|
const defaultRef = useRef(null);
|
|
115
115
|
const layerRef = useModalLayerRef();
|
|
116
116
|
const t0 = overlayRef ?? defaultRef;
|
|
@@ -125,7 +125,7 @@ function Tooltip(props, ref) {
|
|
|
125
125
|
const combinedRef = t1;
|
|
126
126
|
const finalOverlayRef = overlayRef ?? defaultRef;
|
|
127
127
|
props = mergeProps$1(props, tooltipProviderProps);
|
|
128
|
-
const { placement: t2, isOpen, tipStyles,
|
|
128
|
+
const { placement: t2, isOpen, tipStyles, isMaterial: t3, isLight: t4, ...otherProps } = props;
|
|
129
129
|
const placement = t2 === void 0 ? "top" : t2;
|
|
130
130
|
const isMaterial = t3 === void 0 ? isMaterialContext : t3;
|
|
131
131
|
const isLight = t4 === void 0 ? isLightContext : t4;
|
|
@@ -138,8 +138,6 @@ function Tooltip(props, ref) {
|
|
|
138
138
|
$[5] = t5;
|
|
139
139
|
} else t5 = $[5];
|
|
140
140
|
useImperativeHandle(ref, t5);
|
|
141
|
-
if (typeof minOffset === "number") minOffset = `${minOffset}px`;
|
|
142
|
-
if (typeof minScale === "number") minScale = String(minScale);
|
|
143
141
|
const placementDirection = placement?.split(" ")[0] || placement || "top";
|
|
144
142
|
const t6 = isShown ?? isOpen;
|
|
145
143
|
let t7;
|
|
@@ -184,7 +182,7 @@ function Tooltip(props, ref) {
|
|
|
184
182
|
$[17] = t10;
|
|
185
183
|
} else t10 = $[17];
|
|
186
184
|
let t11;
|
|
187
|
-
if ($[18] !== combinedRef || $[19] !==
|
|
185
|
+
if ($[18] !== combinedRef || $[19] !== mods || $[20] !== otherProps.qa || $[21] !== overlayProps || $[22] !== phase || $[23] !== placementDirection || $[24] !== props.children || $[25] !== styles || $[26] !== t10 || $[27] !== tooltipProps) {
|
|
188
186
|
t11 = /* @__PURE__ */ jsxs(TooltipElement, {
|
|
189
187
|
...tooltipProps,
|
|
190
188
|
...overlayProps,
|
|
@@ -192,26 +190,22 @@ function Tooltip(props, ref) {
|
|
|
192
190
|
qa: otherProps.qa,
|
|
193
191
|
styles,
|
|
194
192
|
mods,
|
|
195
|
-
"data-min-offset": minOffset,
|
|
196
|
-
"data-min-scale": minScale,
|
|
197
193
|
"data-placement": placementDirection,
|
|
198
194
|
"data-phase": phase,
|
|
199
195
|
children: [props.children, t10]
|
|
200
196
|
});
|
|
201
197
|
$[18] = combinedRef;
|
|
202
|
-
$[19] =
|
|
203
|
-
$[20] =
|
|
204
|
-
$[21] =
|
|
205
|
-
$[22] =
|
|
206
|
-
$[23] =
|
|
207
|
-
$[24] =
|
|
208
|
-
$[25] =
|
|
209
|
-
$[26] =
|
|
210
|
-
$[27] =
|
|
211
|
-
$[28] =
|
|
212
|
-
|
|
213
|
-
$[30] = t11;
|
|
214
|
-
} else t11 = $[30];
|
|
198
|
+
$[19] = mods;
|
|
199
|
+
$[20] = otherProps.qa;
|
|
200
|
+
$[21] = overlayProps;
|
|
201
|
+
$[22] = phase;
|
|
202
|
+
$[23] = placementDirection;
|
|
203
|
+
$[24] = props.children;
|
|
204
|
+
$[25] = styles;
|
|
205
|
+
$[26] = t10;
|
|
206
|
+
$[27] = tooltipProps;
|
|
207
|
+
$[28] = t11;
|
|
208
|
+
} else t11 = $[28];
|
|
215
209
|
return t11;
|
|
216
210
|
}
|
|
217
211
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","names":["createDOMRef","DOMRefValue","BaseProps","CONTAINER_STYLES","ContainerStyleProps","Styles","tasty","ForwardedRef","forwardRef","useContext","useImperativeHandle","useRef","AriaTooltipProps","useTooltip","PlacementAxis","mergeProps","mergeRefs","useLayoutEffect","extractStyles","useModalLayerRef","TooltipContext","TooltipElement","styles","display","fill","light","color","width","radius","padding","preset","backdropFilter","whiteSpace","overflowWrap","pointerEvents","material","filter","transition","translate","transformOrigin","scale","opacity","Description","$","TooltipTipElement","position","height","border","borderTop","borderBottom","top","left","right","bottom","transform","CubeTooltipProps","tipStyles","showIcon","placement","isMaterial","isOpen","isLight","onOpenChange","defaultOpen","shouldFlip","Tooltip","props","ref","_c","overlayRef","transitionRef","arrowProps","state","overlayProps","minOffset","minScale","isMaterialContext","isLightContext","phase","isShown","updatePosition","tooltipProviderProps","defaultRef","layerRef","t0","t1","combinedRef","finalOverlayRef","t2","t3","t4","otherProps","undefined","tooltipProps","t5","String","placementDirection","split","t6","t7","open","mods","t8","t9","Symbol","for","t10","t11","qa","children","_Tooltip","displayName"],"sources":["../../../../src/components/overlays/Tooltip/Tooltip.tsx"],"sourcesContent":["import { createDOMRef } from '@react-spectrum/utils';\nimport { DOMRefValue } from '@react-types/shared';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n useContext,\n useImperativeHandle,\n useRef,\n} from 'react';\nimport { AriaTooltipProps, useTooltip } from 'react-aria';\n\nimport { PlacementAxis } from '../../../shared';\nimport { mergeProps, mergeRefs, useLayoutEffect } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\nimport { useModalLayerRef } from '../Modal/modal-containment';\n\nimport { TooltipContext } from './context';\n\nexport type { AriaTooltipProps };\n\nconst TooltipElement = tasty({\n styles: {\n display: 'block',\n // The DEFAULT (dark) tooltip is intentionally scheme-invariant:\n // `#surface-inverse.85` + `#white` keep it the \"always dark\" tooltip in\n // light, dark, and high-contrast schemes — matching the legacy `#dark.85`\n // + `#white` design.\n //\n // The `light` variant uses the adaptive surface tokens (`#surface` +\n // `#surface-text-soft`) so it follows the page scheme. This restores the\n // softer legacy `#dark-02` look in light mode (cr≈9.2) and stays AA-safe\n // in dark mode (the previous fixed `#surface-inverse` was much darker\n // than the legacy `#dark-02`, and pairing the fixed `#white` fill with\n // the adaptive `#surface-text-soft` text — the LEGACY_ALIASES port of\n // `#dark-02` — would collapse to cr≈1.8 in dark schemes; using `#surface`\n // for the fill keeps both ends of the pair adapting together).\n fill: {\n '': '#surface-inverse.85',\n light: '#surface',\n },\n color: {\n '': '#white',\n light: '#surface-text-soft',\n },\n width: 'initial min(36x, (100dvw - 4x)) max-content',\n radius: true,\n padding: '.75x 1x',\n preset: 't4',\n backdropFilter: 'blur(.5x)',\n whiteSpace: 'pre-line',\n // The tooltip is width-capped (`min(36x, …)`) with `max-width: max-content`,\n // so a run with no spaces — a URL, a token, an identifier, an error string —\n // stays on one line and spills straight out of the bubble. `anywhere` breaks\n // it at the cap instead. It inherits, so tooltip children wrap too.\n overflowWrap: 'anywhere',\n pointerEvents: {\n '': 'none',\n material: 'auto',\n },\n filter: {\n '': false,\n light: 'drop-shadow(0 0 1px #surface-text-soft.2)',\n },\n transition:\n 'translate $transition ease-out, scale $transition ease-out, theme $transition ease-out',\n translate: {\n '': '0 0',\n 'open & [data-placement=\"top\"]': '0 0',\n '!open & [data-placement=\"top\"]': '0 1x',\n 'open & [data-placement=\"bottom\"]': '0 0',\n '!open & [data-placement=\"bottom\"]': '0 -1x',\n 'open & [data-placement=\"left\"]': '0 0',\n '!open & [data-placement=\"left\"]': '1x 0',\n 'open & [data-placement=\"right\"]': '0 0',\n '!open & [data-placement=\"right\"]': '-1x 0',\n },\n transformOrigin: {\n '': 'top center',\n '[data-placement=\"top\"]': 'bottom center',\n '[data-placement=\"left\"]': 'right center',\n '[data-placement=\"right\"]': 'left center',\n },\n scale: {\n '': '1 1',\n '!open': '1 .8',\n '!open & ([data-placement=\"left\"] | [data-placement=\"right\"])': '.8 1',\n },\n opacity: {\n '': 1,\n '!open': 0.001,\n },\n\n // A secondary line under the title — the description an auto tooltip\n // shows when a row's label and description are both cut off. Lighter and\n // dimmed like the row's own description, from the tooltip's own color, so\n // it follows the `light` variant. Direct children only: a tooltip whose\n // body is an `Item` keeps that item's description as it is.\n Description: {\n $: '>',\n display: 'block',\n preset: 't4n',\n opacity: 0.75,\n },\n },\n});\n\nconst TooltipTipElement = tasty({\n styles: {\n position: 'absolute',\n width: '1px',\n height: '1px',\n border: '.5x #clear',\n borderTop: {\n '': '.5x solid #surface-inverse.85',\n light: '.5x solid #surface',\n },\n borderBottom: '0',\n top: {\n '': 'initial',\n '[data-placement=\"left\"] | [data-placement=\"right\"]': '50%',\n '[data-placement=\"top\"]': '100%',\n },\n left: {\n '': 'initial',\n '[data-placement=\"top\"] | [data-placement=\"bottom\"]': '50%',\n '[data-placement=\"left\"]': '100%',\n },\n right: {\n '': 'initial',\n '[data-placement=\"right\"]': '100%',\n },\n bottom: {\n '': 'initial',\n '[data-placement=\"bottom\"]': '100%',\n },\n transform: {\n '': 'translate((-.375x - 1px), 0)',\n '[data-placement=\"bottom\"]':\n 'translate((-.375x - 1px), 0) rotate(180deg)',\n '[data-placement=\"left\"]': 'translate(-.25x, -.25x) rotate(270deg)',\n '[data-placement=\"right\"]': 'translate(.25x, -.25x) rotate(90deg)',\n },\n transition: 'theme',\n },\n});\n\nexport interface CubeTooltipProps\n extends BaseProps,\n ContainerStyleProps,\n AriaTooltipProps {\n tipStyles?: Styles;\n showIcon?: boolean;\n placement?: PlacementAxis;\n isMaterial?: boolean;\n isOpen?: boolean;\n isLight?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n shouldFlip?: boolean;\n}\n\nfunction Tooltip(\n props: CubeTooltipProps,\n ref: ForwardedRef<DOMRefValue<HTMLDivElement>>,\n) {\n let {\n ref: overlayRef,\n transitionRef,\n arrowProps,\n state,\n overlayProps,\n minOffset,\n minScale,\n isMaterial: isMaterialContext,\n isLight: isLightContext,\n phase,\n isShown,\n updatePosition,\n ...tooltipProviderProps\n } = useContext(TooltipContext);\n\n const defaultRef = useRef<HTMLDivElement>(null);\n // Opened inside a modal, the tooltip stays readable while the modal hides\n // the page.\n const layerRef = useModalLayerRef();\n const combinedRef = mergeRefs(\n transitionRef,\n overlayRef ?? defaultRef,\n layerRef,\n );\n const finalOverlayRef = overlayRef ?? defaultRef;\n\n props = mergeProps(props, tooltipProviderProps);\n\n let {\n placement = 'top',\n isOpen,\n tipStyles,\n showIcon,\n isMaterial = isMaterialContext,\n isLight = isLightContext,\n ...otherProps\n } = props;\n\n const styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n let { tooltipProps } = useTooltip(props, state);\n\n // Sync ref with overlayRef from context.\n useImperativeHandle(ref, () => createDOMRef(finalOverlayRef));\n\n if (typeof minOffset === 'number') {\n minOffset = `${minOffset}px`;\n }\n\n if (typeof minScale === 'number') {\n minScale = String(minScale);\n }\n\n // Extract primary placement direction for consistent styling\n const placementDirection = placement?.split(' ')[0] || placement || 'top';\n\n const mods = {\n material: isMaterial,\n light: isLight,\n open: isShown ?? isOpen,\n };\n\n // Update position when tooltip becomes visible\n useLayoutEffect(() => {\n updatePosition?.();\n }, []);\n\n return (\n <TooltipElement\n {...tooltipProps}\n {...overlayProps}\n ref={combinedRef}\n // `qa` is typed through `BaseProps` but nothing forwarded it, so a test\n // had no way to tell one control's tooltip from another's.\n qa={otherProps.qa}\n styles={styles}\n mods={mods}\n data-min-offset={minOffset}\n data-min-scale={minScale}\n data-placement={placementDirection}\n data-phase={phase}\n >\n {props.children}\n <TooltipTipElement\n data-placement={placementDirection}\n styles={tipStyles}\n mods={mods}\n {...arrowProps}\n />\n </TooltipElement>\n );\n}\n\n/**\n * Display container for Tooltip content. Has a directional arrow dependent on its placement.\n */\nlet _Tooltip = forwardRef(Tooltip);\n\n_Tooltip.displayName = 'Tooltip';\n\nexport { _Tooltip as Tooltip };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tooltip.js","names":["createDOMRef","DOMRefValue","BaseProps","CONTAINER_STYLES","ContainerStyleProps","Styles","tasty","ForwardedRef","forwardRef","useContext","useImperativeHandle","useRef","AriaTooltipProps","useTooltip","PlacementAxis","mergeProps","mergeRefs","useLayoutEffect","extractStyles","useModalLayerRef","TooltipContext","TooltipElement","styles","display","fill","light","color","width","radius","padding","preset","backdropFilter","whiteSpace","overflowWrap","pointerEvents","material","filter","transition","translate","transformOrigin","scale","opacity","Description","$","TooltipTipElement","position","height","border","borderTop","borderBottom","top","left","right","bottom","transform","CubeTooltipProps","tipStyles","showIcon","placement","isMaterial","isOpen","isLight","onOpenChange","defaultOpen","shouldFlip","Tooltip","props","ref","_c","overlayRef","transitionRef","arrowProps","state","overlayProps","isMaterialContext","isLightContext","phase","isShown","updatePosition","tooltipProviderProps","defaultRef","layerRef","t0","t1","combinedRef","finalOverlayRef","t2","t3","t4","otherProps","undefined","tooltipProps","t5","placementDirection","split","t6","t7","open","mods","t8","t9","Symbol","for","t10","t11","qa","children","_Tooltip","displayName"],"sources":["../../../../src/components/overlays/Tooltip/Tooltip.tsx"],"sourcesContent":["import { createDOMRef } from '@react-spectrum/utils';\nimport { DOMRefValue } from '@react-types/shared';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n useContext,\n useImperativeHandle,\n useRef,\n} from 'react';\nimport { AriaTooltipProps, useTooltip } from 'react-aria';\n\nimport { PlacementAxis } from '../../../shared';\nimport { mergeProps, mergeRefs, useLayoutEffect } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\nimport { useModalLayerRef } from '../Modal/modal-containment';\n\nimport { TooltipContext } from './context';\n\nexport type { AriaTooltipProps };\n\nconst TooltipElement = tasty({\n styles: {\n display: 'block',\n // The DEFAULT (dark) tooltip is intentionally scheme-invariant:\n // `#surface-inverse.85` + `#white` keep it the \"always dark\" tooltip in\n // light, dark, and high-contrast schemes — matching the legacy `#dark.85`\n // + `#white` design.\n //\n // The `light` variant uses the adaptive surface tokens (`#surface` +\n // `#surface-text-soft`) so it follows the page scheme. This restores the\n // softer legacy `#dark-02` look in light mode (cr≈9.2) and stays AA-safe\n // in dark mode (the previous fixed `#surface-inverse` was much darker\n // than the legacy `#dark-02`, and pairing the fixed `#white` fill with\n // the adaptive `#surface-text-soft` text — the LEGACY_ALIASES port of\n // `#dark-02` — would collapse to cr≈1.8 in dark schemes; using `#surface`\n // for the fill keeps both ends of the pair adapting together).\n fill: {\n '': '#surface-inverse.85',\n light: '#surface',\n },\n color: {\n '': '#white',\n light: '#surface-text-soft',\n },\n width: 'initial min(36x, (100dvw - 4x)) max-content',\n radius: true,\n padding: '.75x 1x',\n preset: 't4',\n backdropFilter: 'blur(.5x)',\n whiteSpace: 'pre-line',\n // The tooltip is width-capped (`min(36x, …)`) with `max-width: max-content`,\n // so a run with no spaces — a URL, a token, an identifier, an error string —\n // stays on one line and spills straight out of the bubble. `anywhere` breaks\n // it at the cap instead. It inherits, so tooltip children wrap too.\n overflowWrap: 'anywhere',\n pointerEvents: {\n '': 'none',\n material: 'auto',\n },\n filter: {\n '': false,\n light: 'drop-shadow(0 0 1px #surface-text-soft.2)',\n },\n transition:\n 'translate $transition ease-out, scale $transition ease-out, theme $transition ease-out',\n translate: {\n '': '0 0',\n 'open & [data-placement=\"top\"]': '0 0',\n '!open & [data-placement=\"top\"]': '0 1x',\n 'open & [data-placement=\"bottom\"]': '0 0',\n '!open & [data-placement=\"bottom\"]': '0 -1x',\n 'open & [data-placement=\"left\"]': '0 0',\n '!open & [data-placement=\"left\"]': '1x 0',\n 'open & [data-placement=\"right\"]': '0 0',\n '!open & [data-placement=\"right\"]': '-1x 0',\n },\n transformOrigin: {\n '': 'top center',\n '[data-placement=\"top\"]': 'bottom center',\n '[data-placement=\"left\"]': 'right center',\n '[data-placement=\"right\"]': 'left center',\n },\n scale: {\n '': '1 1',\n '!open': '1 .8',\n '!open & ([data-placement=\"left\"] | [data-placement=\"right\"])': '.8 1',\n },\n opacity: {\n '': 1,\n '!open': 0.001,\n },\n\n // A secondary line under the title — the description an auto tooltip\n // shows when a row's label and description are both cut off. Lighter and\n // dimmed like the row's own description, from the tooltip's own color, so\n // it follows the `light` variant. Direct children only: a tooltip whose\n // body is an `Item` keeps that item's description as it is.\n Description: {\n $: '>',\n display: 'block',\n preset: 't4n',\n opacity: 0.75,\n },\n },\n});\n\nconst TooltipTipElement = tasty({\n styles: {\n position: 'absolute',\n width: '1px',\n height: '1px',\n border: '.5x #clear',\n borderTop: {\n '': '.5x solid #surface-inverse.85',\n light: '.5x solid #surface',\n },\n borderBottom: '0',\n top: {\n '': 'initial',\n '[data-placement=\"left\"] | [data-placement=\"right\"]': '50%',\n '[data-placement=\"top\"]': '100%',\n },\n left: {\n '': 'initial',\n '[data-placement=\"top\"] | [data-placement=\"bottom\"]': '50%',\n '[data-placement=\"left\"]': '100%',\n },\n right: {\n '': 'initial',\n '[data-placement=\"right\"]': '100%',\n },\n bottom: {\n '': 'initial',\n '[data-placement=\"bottom\"]': '100%',\n },\n transform: {\n '': 'translate((-.375x - 1px), 0)',\n '[data-placement=\"bottom\"]':\n 'translate((-.375x - 1px), 0) rotate(180deg)',\n '[data-placement=\"left\"]': 'translate(-.25x, -.25x) rotate(270deg)',\n '[data-placement=\"right\"]': 'translate(.25x, -.25x) rotate(90deg)',\n },\n transition: 'theme',\n },\n});\n\nexport interface CubeTooltipProps\n extends BaseProps,\n ContainerStyleProps,\n AriaTooltipProps {\n tipStyles?: Styles;\n /**\n * @deprecated Has no effect. No icon is ever rendered.\n */\n showIcon?: boolean;\n placement?: PlacementAxis;\n isMaterial?: boolean;\n isOpen?: boolean;\n isLight?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n /**\n * Whether the tooltip moves to the opposite side of its trigger when there\n * is not enough room on the requested one.\n * @default true\n */\n shouldFlip?: boolean;\n}\n\nfunction Tooltip(\n props: CubeTooltipProps,\n ref: ForwardedRef<DOMRefValue<HTMLDivElement>>,\n) {\n let {\n ref: overlayRef,\n transitionRef,\n arrowProps,\n state,\n overlayProps,\n isMaterial: isMaterialContext,\n isLight: isLightContext,\n phase,\n isShown,\n updatePosition,\n ...tooltipProviderProps\n } = useContext(TooltipContext);\n\n const defaultRef = useRef<HTMLDivElement>(null);\n // Opened inside a modal, the tooltip stays readable while the modal hides\n // the page.\n const layerRef = useModalLayerRef();\n const combinedRef = mergeRefs(\n transitionRef,\n overlayRef ?? defaultRef,\n layerRef,\n );\n const finalOverlayRef = overlayRef ?? defaultRef;\n\n props = mergeProps(props, tooltipProviderProps);\n\n let {\n placement = 'top',\n isOpen,\n tipStyles,\n isMaterial = isMaterialContext,\n isLight = isLightContext,\n ...otherProps\n } = props;\n\n const styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n let { tooltipProps } = useTooltip(props, state);\n\n // Sync ref with overlayRef from context.\n useImperativeHandle(ref, () => createDOMRef(finalOverlayRef));\n\n // Extract primary placement direction for consistent styling\n const placementDirection = placement?.split(' ')[0] || placement || 'top';\n\n const mods = {\n material: isMaterial,\n light: isLight,\n open: isShown ?? isOpen,\n };\n\n // Update position when tooltip becomes visible\n useLayoutEffect(() => {\n updatePosition?.();\n }, []);\n\n return (\n <TooltipElement\n {...tooltipProps}\n {...overlayProps}\n ref={combinedRef}\n // `qa` is typed through `BaseProps` but nothing forwarded it, so a test\n // had no way to tell one control's tooltip from another's.\n qa={otherProps.qa}\n styles={styles}\n mods={mods}\n data-placement={placementDirection}\n data-phase={phase}\n >\n {props.children}\n <TooltipTipElement\n data-placement={placementDirection}\n styles={tipStyles}\n mods={mods}\n {...arrowProps}\n />\n </TooltipElement>\n );\n}\n\n/**\n * Display container for Tooltip content. Has a directional arrow dependent on its placement.\n */\nlet _Tooltip = forwardRef(Tooltip);\n\n_Tooltip.displayName = 'Tooltip';\n\nexport { _Tooltip as Tooltip };\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.196.0 | Cube Dev Team */
|
|
2
2
|
import { _Tooltip } from "./Tooltip.js";
|
|
3
3
|
import { TooltipTrigger } from "./TooltipTrigger.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|