@cube-dev/ui-kit 0.208.0 → 0.209.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 +14 -0
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +5 -2
- 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/AutoCollapseObserver.js +215 -0
- package/dist/components/actions/Button/AutoCollapseObserver.js.map +1 -0
- package/dist/components/actions/Button/Button.d.ts +38 -0
- package/dist/components/actions/Button/Button.js +73 -13
- package/dist/components/actions/Button/Button.js.map +1 -1
- package/dist/components/actions/Button/index.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +2 -2
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/actions-run.js +1 -1
- package/dist/components/actions/use-action.js +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +2 -2
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +1 -1
- package/dist/components/content/Divider/Divider.js +1 -1
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +1 -1
- package/dist/components/content/Item/Item.d.ts +0 -9
- package/dist/components/content/Item/Item.js +108 -112
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPane.js +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +2 -2
- 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 +1 -1
- package/dist/components/content/Tree/checked-keys.js +1 -1
- package/dist/components/content/Tree/rowId.js +1 -1
- package/dist/components/content/Tree/styled.js +1 -1
- package/dist/components/content/Tree/tree-index.js +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
- package/dist/components/content/Tree/use-load-data.js +1 -1
- package/dist/components/content/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.js +233 -111
- package/dist/components/content/use-auto-tooltip.js.map +1 -1
- package/dist/components/data/DataTable/DataTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
- package/dist/components/data/ItemTable/item-table-sections.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/RowCollection.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableRowLink.js +1 -1
- package/dist/components/data/TableBase/TableView.js +1 -1
- package/dist/components/data/TableBase/TreeGridTable.js +1 -1
- package/dist/components/data/TableBase/column-header.js +1 -1
- package/dist/components/data/TableBase/column-menu.js +1 -1
- package/dist/components/data/TableBase/column-styles.js +1 -1
- package/dist/components/data/TableBase/column-tint.js +1 -1
- package/dist/components/data/TableBase/row-menu.js +1 -1
- package/dist/components/data/TableBase/styled.js +1 -1
- package/dist/components/data/TableBase/table-body-sections.js +1 -1
- package/dist/components/data/TableBase/table-tree.js +1 -1
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-column-menu.js +1 -1
- package/dist/components/data/TableBase/use-column-order.js +1 -1
- package/dist/components/data/TableBase/use-column-window.js +1 -1
- package/dist/components/data/TableBase/use-container-width.js +1 -1
- package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
- package/dist/components/data/TableBase/use-scrollability.js +1 -1
- package/dist/components/data/TableBase/use-table-columns.js +1 -1
- package/dist/components/data/TableBase/use-table-search.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js +1 -1
- package/dist/components/data/TableBase/use-table-sort.js +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +1 -1
- package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.js +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +1 -1
- package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
- package/dist/components/fields/DatePicker/CalendarPopover.js +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.js +1 -1
- package/dist/components/fields/DatePicker/period.js +1 -1
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/utils.js +1 -1
- package/dist/components/fields/FileInput/FileInput.js +206 -184
- package/dist/components/fields/FileInput/FileInput.js.map +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/dist/components/fields/FilterListBox/styled.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
- package/dist/components/fields/FilterPicker/FilterTree.js +1 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.js +1 -1
- package/dist/components/fields/ListBox/optionId.js +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/dist/components/fields/Picker/Picker.js +1 -1
- package/dist/components/fields/RadioGroup/Radio.js +2 -4
- package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.js +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/SliderBase.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +1 -1
- package/dist/components/fields/TagInput/TagInput.js +1 -1
- package/dist/components/fields/TagInput/TagList.js +1 -1
- package/dist/components/fields/TagInput/useActiveOption.js +1 -1
- package/dist/components/fields/TagInput/useTagError.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +1 -1
- package/dist/components/fields/TextInput/TextInput.js +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js +1 -1
- package/dist/components/fields/TextInput/displayed-validation.js +1 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/fields/TriggerActions.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +1 -1
- package/dist/components/fields/color/channels.js +1 -1
- package/dist/components/fields/color/color.js +1 -1
- package/dist/components/fields/color/context.js +1 -1
- package/dist/components/fields/option-origin-press.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/dist/components/form/FieldWrapper/field-description.js +1 -1
- package/dist/components/form/Form/Field.js +1 -1
- package/dist/components/form/Form/Form.js +1 -1
- package/dist/components/form/Form/FormContext.js +1 -1
- package/dist/components/form/Form/FormElement.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 +1 -1
- package/dist/components/form/Form/use-field/use-field.js +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.js +1 -1
- package/dist/components/form/field-chrome.js +1 -1
- package/dist/components/form/field-layout.js +1 -1
- package/dist/components/form/legacy-tooltip.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.js +1 -1
- package/dist/components/form/validation/resolve-validation-props.js +1 -1
- package/dist/components/form/validation/use-validation-props.js +1 -1
- package/dist/components/form/wrapper.js +1 -1
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/dist/components/layout/Flex.js +1 -1
- package/dist/components/layout/Flow.js +1 -1
- package/dist/components/layout/Grid.js +1 -1
- package/dist/components/layout/Panel.js +1 -1
- package/dist/components/layout/Prefix.js +1 -1
- package/dist/components/layout/ResizablePanel.js +1 -1
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/popover-placement.js +1 -1
- package/dist/components/navigation/Tabs/segmented-styles.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.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/default-button-text.js +1 -1
- package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
- package/dist/components/overlays/Dialog/use-dismiss-confirmation.js +1 -1
- package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +1 -1
- package/dist/components/overlays/Modal/Tray.js +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Modal/modal-containment.js +1 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useToast.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +20 -7
- package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.d.ts +1 -0
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +223 -101
- package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/DraggableCollection.js +1 -1
- package/dist/components/shared/InvalidIcon.js +1 -1
- package/dist/components/shared/ValidIcon.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/dist/components/status/Spin/Cube.js +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +1 -1
- package/dist/components/status/Spin/Spin.js +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +1 -1
- package/dist/data/item-themes.js +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +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 +1 -1
- package/dist/i18n/locales/en-US/uikit.js +1 -1
- package/dist/i18n/locales/es-ES/uikit.js +1 -1
- package/dist/i18n/locales/es-MX/uikit.js +1 -1
- package/dist/i18n/locales/fr-FR/uikit.js +1 -1
- package/dist/i18n/locales/it-IT/uikit.js +1 -1
- package/dist/i18n/locales/ja-JP/uikit.js +1 -1
- package/dist/i18n/locales/nb-NO/uikit.js +1 -1
- package/dist/i18n/locales/pt-BR/uikit.js +1 -1
- package/dist/i18n/locales/pt-PT/uikit.js +1 -1
- package/dist/i18n/locales/sv-SE/uikit.js +1 -1
- package/dist/i18n/locales/vi-VN/uikit.js +1 -1
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/namespace.js +1 -1
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/useI18n.js +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/ArrowNarrowDownIcon.js +1 -1
- package/dist/icons/ArrowNarrowUpIcon.js +1 -1
- package/dist/icons/BackwardIcon.js +1 -1
- package/dist/icons/BarChartIcon.js +1 -1
- package/dist/icons/BellFilledIcon.js +1 -1
- package/dist/icons/BellIcon.js +1 -1
- package/dist/icons/BooleanIcon.js +1 -1
- package/dist/icons/CalendarEditIcon.js +1 -1
- package/dist/icons/CalendarIcon.js +1 -1
- package/dist/icons/CaretDownIcon.js +1 -1
- package/dist/icons/CaretUpIcon.js +1 -1
- package/dist/icons/ChartAreaStackedIcon.js +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarGroupedIcon.js +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarLineIcon.js +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js +1 -1
- package/dist/icons/ChartBoxPlotIcon.js +1 -1
- package/dist/icons/ChartBubbleIcon.js +1 -1
- package/dist/icons/ChartDonut2Icon.js +1 -1
- package/dist/icons/ChartFunnelIcon.js +1 -1
- package/dist/icons/ChartHeatmapIcon.js +1 -1
- package/dist/icons/ChartKPIIcon.js +1 -1
- package/dist/icons/ChartPie2Icon.js +1 -1
- package/dist/icons/ChartScatterIcon.js +1 -1
- package/dist/icons/CheckCircleFilledIcon.js +1 -1
- package/dist/icons/CheckCircleIcon.js +1 -1
- package/dist/icons/CheckIcon.js +1 -1
- package/dist/icons/CircleFilledIcon.js +1 -1
- package/dist/icons/ClearIcon.js +1 -1
- package/dist/icons/CloseCircleFilledIcon.js +1 -1
- package/dist/icons/CloseCircleIcon.js +1 -1
- package/dist/icons/CloseIcon.js +1 -1
- package/dist/icons/CodeIcon.js +1 -1
- package/dist/icons/ColumnTotalIcon.js +1 -1
- package/dist/icons/CopyIcon.js +1 -1
- package/dist/icons/CountIcon.js +1 -1
- package/dist/icons/CubeIcon.js +1 -1
- package/dist/icons/CubePauseIcon.js +1 -1
- package/dist/icons/CubePlayIcon.js +1 -1
- package/dist/icons/CurrencyDollarIcon.js +1 -1
- package/dist/icons/DangerIcon.js +1 -1
- package/dist/icons/DashboardIcon.js +1 -1
- package/dist/icons/DatabaseIcon.js +1 -1
- package/dist/icons/DecimalDecreaseIcon.js +1 -1
- package/dist/icons/DecimalIncreaseIcon.js +1 -1
- package/dist/icons/DirectionIcon.js +1 -1
- package/dist/icons/DonutIcon.js +1 -1
- package/dist/icons/DownIcon.js +1 -1
- package/dist/icons/EditIcon.js +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
- package/dist/icons/ExclamationCircleIcon.js +1 -1
- package/dist/icons/ExclamationIcon.js +1 -1
- package/dist/icons/EyeIcon.js +1 -1
- package/dist/icons/EyeInvisibleIcon.js +1 -1
- package/dist/icons/FilterIcon.js +1 -1
- package/dist/icons/FolderFilledIcon.js +1 -1
- package/dist/icons/FolderIcon.js +1 -1
- package/dist/icons/FolderOpenFilledIcon.js +1 -1
- package/dist/icons/FolderOpenIcon.js +1 -1
- package/dist/icons/ForwardIcon.js +1 -1
- package/dist/icons/GripVerticalIcon.js +1 -1
- package/dist/icons/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/Icon.js +1 -1
- package/dist/icons/InfoCircleIcon.js +1 -1
- package/dist/icons/InfoIcon.js +1 -1
- package/dist/icons/KeyIcon.js +1 -1
- package/dist/icons/LeftIcon.js +1 -1
- package/dist/icons/LineChartIcon.js +1 -1
- package/dist/icons/LoadingIcon.js +1 -1
- package/dist/icons/LockFilledIcon.js +1 -1
- package/dist/icons/LockIcon.js +1 -1
- package/dist/icons/MoreIcon.js +1 -1
- package/dist/icons/NotAllowedIcon.js +1 -1
- package/dist/icons/Number123Icon.js +1 -1
- package/dist/icons/NumberIcon.js +1 -1
- package/dist/icons/PauseCircleFilledIcon.js +1 -1
- package/dist/icons/PauseCircleIcon.js +1 -1
- package/dist/icons/PauseIcon.js +1 -1
- package/dist/icons/PercentageIcon.js +1 -1
- package/dist/icons/PieChartIcon.js +1 -1
- package/dist/icons/PipetteIcon.js +1 -1
- package/dist/icons/PlayCircleIcon.js +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.js +1 -1
- package/dist/probe/canonicalize.js +1 -1
- package/dist/probe/css.js +1 -1
- package/dist/probe/index.js +1 -1
- package/dist/provider.js +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigation-url.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/providers/use-navigation.js +1 -1
- package/dist/tokens/all-tokens.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/color-seed.js +1 -1
- package/dist/tokens/color-theme.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/legacy-color.js +1 -1
- package/dist/tokens/palette-config.js +1 -1
- package/dist/tokens/palette.js +1 -1
- package/dist/tokens/resolve.js +1 -1
- package/dist/tokens/shadows.js +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/typography.js +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/dotize.js +1 -1
- package/dist/utils/is-dev-env.js +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/react/RenderCache.js +1 -1
- package/dist/utils/react/Slots.js +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/disabledProps.js +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.js +1 -1
- package/dist/utils/react/interactions.js +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/overlayKeyPropagation.js +1 -1
- package/dist/utils/react/programmaticFocus.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useBufferedValue.js +1 -1
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useScheme.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/selection.js +1 -1
- package/dist/utils/styles.js +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/version.js +3 -3
- package/docs/Usage.md +15 -1
- package/docs/components/actions/Button.md +45 -0
- package/docs/components/fields/FileInput.md +18 -5
- package/docs/tasty/ai-agents.md +1 -1
- package/docs/tasty/design-system.md +12 -0
- package/docs/tasty/dsl.md +20 -0
- package/docs/tasty/pipeline.md +1 -1
- package/package.json +2 -2
- package/tasty.config.generated.ts +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
|
|
3
3
|
import { TooltipContext } from "./context.js";
|
|
4
4
|
import { Tooltip as _Tooltip } from "./Tooltip.js";
|
|
@@ -143,20 +143,24 @@ function isEmptyTooltip(tooltip) {
|
|
|
143
143
|
return tooltip.type === _Tooltip && Children.toArray(tooltip.props.children).every((child) => child === "");
|
|
144
144
|
}
|
|
145
145
|
/**
|
|
146
|
-
* TooltipTrigger
|
|
147
|
-
* the
|
|
148
|
-
*
|
|
146
|
+
* Everything `TooltipTrigger` does except render the trigger: the open state,
|
|
147
|
+
* the trigger's props and ref, and the positioned tooltip.
|
|
148
|
+
*
|
|
149
|
+
* A component that renders its own trigger and turns its tooltip on and off
|
|
150
|
+
* calls this directly and renders the tooltip beside the trigger. Wrapping the
|
|
151
|
+
* trigger in `TooltipTrigger` only while a tooltip exists changes the element
|
|
152
|
+
* type above the trigger, so React remounts it: the node is replaced and its
|
|
153
|
+
* focus drops to the page.
|
|
154
|
+
*
|
|
155
|
+
* `tooltip` is the second child `TooltipTrigger` would get: the `Tooltip` to
|
|
156
|
+
* show, or a placeholder while `isDisabled`.
|
|
149
157
|
*/
|
|
150
|
-
function
|
|
151
|
-
const $ = c(
|
|
152
|
-
const {
|
|
158
|
+
function useTooltipTriggerBinding(props, tooltip) {
|
|
159
|
+
const $ = c(37);
|
|
160
|
+
const { targetRef: externalRef, crossOffset: t0, isDisabled, isMaterial, isLight, offset: t1, trigger: triggerAction, delay: t2, shouldCloseOnPress, isOpen, onOpenChange, defaultOpen } = props;
|
|
153
161
|
const crossOffset = t0 === void 0 ? DEFAULT_CROSS_OFFSET : t0;
|
|
154
162
|
const offset = t1 === void 0 ? DEFAULT_OFFSET : t1;
|
|
155
163
|
const delay = t2 === void 0 ? 250 : t2;
|
|
156
|
-
const [trigger, tooltip] = Array.isArray(children) ? children : [children];
|
|
157
|
-
if (!isReactElement(tooltip)) throw new Error("CubeUIKit: TooltipTrigger expects the second child to be a valid React element (Tooltip component).");
|
|
158
|
-
if (!isTriggerFunction(trigger) && !isReactElement(trigger) && typeof trigger !== "string") throw new Error("CubeUIKit: TooltipTrigger expects the first child to be a function, React element, or string.");
|
|
159
|
-
if (activeWrap && isDevEnv()) console.warn("CubeUIKit: The `activeWrap` prop is deprecated. Use function-as-first-child pattern instead.");
|
|
160
164
|
const internalRef = useRef(null);
|
|
161
165
|
const tooltipTriggerRef = externalRef ?? internalRef;
|
|
162
166
|
const overlayRef = useRef(null);
|
|
@@ -171,111 +175,229 @@ function TooltipTrigger(props) {
|
|
|
171
175
|
$[2] = t3;
|
|
172
176
|
} else t3 = $[2];
|
|
173
177
|
const state = useTooltipTriggerState(t3);
|
|
174
|
-
const isTooltipDisabled = isDisabled || isEmptyTooltip(tooltip);
|
|
175
|
-
const { triggerProps: rawTriggerProps, tooltipProps } = useTooltipTrigger({
|
|
176
|
-
isDisabled: isTooltipDisabled,
|
|
177
|
-
trigger: triggerAction,
|
|
178
|
-
delay,
|
|
179
|
-
isOpen,
|
|
180
|
-
onOpenChange,
|
|
181
|
-
defaultOpen,
|
|
182
|
-
shouldCloseOnPress
|
|
183
|
-
}, state, tooltipTriggerRef);
|
|
184
178
|
let t4;
|
|
185
|
-
if ($[3] !==
|
|
186
|
-
t4 = (
|
|
179
|
+
if ($[3] !== isDisabled || $[4] !== tooltip) {
|
|
180
|
+
t4 = isDisabled || isEmptyTooltip(tooltip);
|
|
181
|
+
$[3] = isDisabled;
|
|
182
|
+
$[4] = tooltip;
|
|
183
|
+
$[5] = t4;
|
|
184
|
+
} else t4 = $[5];
|
|
185
|
+
const isTooltipDisabled = t4;
|
|
186
|
+
let t5;
|
|
187
|
+
if ($[6] !== defaultOpen || $[7] !== delay || $[8] !== isOpen || $[9] !== isTooltipDisabled || $[10] !== onOpenChange || $[11] !== shouldCloseOnPress || $[12] !== triggerAction) {
|
|
188
|
+
t5 = {
|
|
189
|
+
isDisabled: isTooltipDisabled,
|
|
190
|
+
trigger: triggerAction,
|
|
191
|
+
delay,
|
|
192
|
+
isOpen,
|
|
193
|
+
onOpenChange,
|
|
194
|
+
defaultOpen,
|
|
195
|
+
shouldCloseOnPress
|
|
196
|
+
};
|
|
197
|
+
$[6] = defaultOpen;
|
|
198
|
+
$[7] = delay;
|
|
199
|
+
$[8] = isOpen;
|
|
200
|
+
$[9] = isTooltipDisabled;
|
|
201
|
+
$[10] = onOpenChange;
|
|
202
|
+
$[11] = shouldCloseOnPress;
|
|
203
|
+
$[12] = triggerAction;
|
|
204
|
+
$[13] = t5;
|
|
205
|
+
} else t5 = $[13];
|
|
206
|
+
const { triggerProps: rawTriggerProps, tooltipProps } = useTooltipTrigger(t5, state, tooltipTriggerRef);
|
|
207
|
+
let t6;
|
|
208
|
+
if ($[14] !== rawTriggerProps) {
|
|
209
|
+
t6 = (event) => {
|
|
187
210
|
if (isFocusRestoration()) return;
|
|
188
211
|
rawTriggerProps.onFocus?.(event);
|
|
189
212
|
};
|
|
190
|
-
$[
|
|
191
|
-
$[
|
|
192
|
-
} else
|
|
193
|
-
const onFocus = useEvent(
|
|
194
|
-
const
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
$[
|
|
203
|
-
$[
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
isMaterial
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
213
|
+
$[14] = rawTriggerProps;
|
|
214
|
+
$[15] = t6;
|
|
215
|
+
} else t6 = $[15];
|
|
216
|
+
const onFocus = useEvent(t6);
|
|
217
|
+
const t7 = isTooltipDisabled ? void 0 : rawTriggerProps["aria-describedby"];
|
|
218
|
+
let t8;
|
|
219
|
+
if ($[16] !== onFocus || $[17] !== rawTriggerProps || $[18] !== t7) {
|
|
220
|
+
t8 = {
|
|
221
|
+
...rawTriggerProps,
|
|
222
|
+
onFocus,
|
|
223
|
+
"aria-describedby": t7
|
|
224
|
+
};
|
|
225
|
+
$[16] = onFocus;
|
|
226
|
+
$[17] = rawTriggerProps;
|
|
227
|
+
$[18] = t7;
|
|
228
|
+
$[19] = t8;
|
|
229
|
+
} else t8 = $[19];
|
|
230
|
+
const triggerProps = t8;
|
|
231
|
+
let t9;
|
|
232
|
+
if ($[20] !== isLight || $[21] !== isMaterial || $[22] !== state || $[23] !== tooltipProps) {
|
|
233
|
+
t9 = {
|
|
234
|
+
state,
|
|
235
|
+
ref: overlayRef,
|
|
236
|
+
isMaterial,
|
|
237
|
+
isLight,
|
|
238
|
+
...tooltipProps
|
|
239
|
+
};
|
|
240
|
+
$[20] = isLight;
|
|
241
|
+
$[21] = isMaterial;
|
|
242
|
+
$[22] = state;
|
|
243
|
+
$[23] = tooltipProps;
|
|
244
|
+
$[24] = t9;
|
|
245
|
+
} else t9 = $[24];
|
|
246
|
+
const tooltipContextValue = t9;
|
|
247
|
+
let t10;
|
|
248
|
+
if ($[25] !== crossOffset || $[26] !== isTooltipDisabled || $[27] !== offset || $[28] !== state || $[29] !== tooltip || $[30] !== tooltipContextValue || $[31] !== tooltipTriggerRef) {
|
|
249
|
+
t10 = (placement) => {
|
|
250
|
+
const positionOptions = {
|
|
251
|
+
placement: placement || "top",
|
|
252
|
+
targetRef: tooltipTriggerRef,
|
|
253
|
+
overlayRef,
|
|
254
|
+
offset,
|
|
255
|
+
crossOffset,
|
|
256
|
+
isOpen: state.isOpen,
|
|
257
|
+
shouldFlip: tooltip.props.shouldFlip,
|
|
258
|
+
onClose: () => state.close(true)
|
|
259
|
+
};
|
|
260
|
+
return /* @__PURE__ */ jsx(TooltipPositionContext.Provider, {
|
|
261
|
+
value: positionOptions,
|
|
262
|
+
children: /* @__PURE__ */ jsx(TooltipTransition, {
|
|
263
|
+
isShown: state.isOpen && !isTooltipDisabled,
|
|
264
|
+
children: (t11) => {
|
|
265
|
+
const { phase, isShown, ref: transitionRef } = t11;
|
|
266
|
+
return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(PositionedTooltip, {
|
|
267
|
+
tooltip,
|
|
268
|
+
contextValue: {
|
|
269
|
+
...tooltipContextValue,
|
|
270
|
+
phase,
|
|
271
|
+
isShown,
|
|
272
|
+
ref: overlayRef,
|
|
273
|
+
transitionRef
|
|
274
|
+
}
|
|
275
|
+
}) });
|
|
236
276
|
}
|
|
237
|
-
})
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
|
|
277
|
+
})
|
|
278
|
+
});
|
|
279
|
+
};
|
|
280
|
+
$[25] = crossOffset;
|
|
281
|
+
$[26] = isTooltipDisabled;
|
|
282
|
+
$[27] = offset;
|
|
283
|
+
$[28] = state;
|
|
284
|
+
$[29] = tooltip;
|
|
285
|
+
$[30] = tooltipContextValue;
|
|
286
|
+
$[31] = tooltipTriggerRef;
|
|
287
|
+
$[32] = t10;
|
|
288
|
+
} else t10 = $[32];
|
|
289
|
+
const renderTooltip = t10;
|
|
290
|
+
let t11;
|
|
291
|
+
if ($[33] !== renderTooltip || $[34] !== tooltipTriggerRef || $[35] !== triggerProps) {
|
|
292
|
+
t11 = {
|
|
293
|
+
triggerProps,
|
|
294
|
+
triggerRef: tooltipTriggerRef,
|
|
295
|
+
renderTooltip
|
|
296
|
+
};
|
|
297
|
+
$[33] = renderTooltip;
|
|
298
|
+
$[34] = tooltipTriggerRef;
|
|
299
|
+
$[35] = triggerProps;
|
|
300
|
+
$[36] = t11;
|
|
301
|
+
} else t11 = $[36];
|
|
302
|
+
return t11;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* TooltipTrigger wraps around a trigger element and a Tooltip. It handles opening and closing
|
|
306
|
+
* the Tooltip when the user hovers over or focuses the trigger, and positioning the Tooltip
|
|
307
|
+
* relative to the trigger.
|
|
308
|
+
*/
|
|
309
|
+
function TooltipTrigger(props) {
|
|
310
|
+
const $ = c(25);
|
|
311
|
+
const { children, activeWrap, disableFocusableProvider } = props;
|
|
312
|
+
let t0;
|
|
313
|
+
if ($[0] !== children) {
|
|
314
|
+
t0 = Array.isArray(children) ? children : [children];
|
|
315
|
+
$[0] = children;
|
|
316
|
+
$[1] = t0;
|
|
317
|
+
} else t0 = $[1];
|
|
318
|
+
const [trigger, tooltip] = t0;
|
|
319
|
+
if (!isReactElement(tooltip)) throw new Error("CubeUIKit: TooltipTrigger expects the second child to be a valid React element (Tooltip component).");
|
|
320
|
+
if (!isTriggerFunction(trigger) && !isReactElement(trigger) && typeof trigger !== "string") throw new Error("CubeUIKit: TooltipTrigger expects the first child to be a function, React element, or string.");
|
|
321
|
+
if (activeWrap && isDevEnv()) console.warn("CubeUIKit: The `activeWrap` prop is deprecated. Use function-as-first-child pattern instead.");
|
|
322
|
+
const { triggerProps, triggerRef: tooltipTriggerRef, renderTooltip } = useTooltipTriggerBinding(props, tooltip);
|
|
323
|
+
let t1;
|
|
324
|
+
if ($[2] !== props.placement || $[3] !== renderTooltip) {
|
|
325
|
+
t1 = renderTooltip(props.placement);
|
|
326
|
+
$[2] = props.placement;
|
|
327
|
+
$[3] = renderTooltip;
|
|
328
|
+
$[4] = t1;
|
|
329
|
+
} else t1 = $[4];
|
|
330
|
+
const tooltipContent = t1;
|
|
331
|
+
if (isTriggerFunction(trigger)) {
|
|
332
|
+
let t2;
|
|
333
|
+
if ($[5] !== tooltipTriggerRef || $[6] !== trigger || $[7] !== triggerProps) {
|
|
334
|
+
t2 = trigger(triggerProps, tooltipTriggerRef);
|
|
335
|
+
$[5] = tooltipTriggerRef;
|
|
336
|
+
$[6] = trigger;
|
|
337
|
+
$[7] = triggerProps;
|
|
338
|
+
$[8] = t2;
|
|
339
|
+
} else t2 = $[8];
|
|
340
|
+
let t3;
|
|
341
|
+
if ($[9] !== t2 || $[10] !== tooltipContent) {
|
|
342
|
+
t3 = /* @__PURE__ */ jsxs(Fragment$1, { children: [t2, tooltipContent] });
|
|
343
|
+
$[9] = t2;
|
|
344
|
+
$[10] = tooltipContent;
|
|
345
|
+
$[11] = t3;
|
|
346
|
+
} else t3 = $[11];
|
|
347
|
+
return t3;
|
|
348
|
+
}
|
|
242
349
|
if (!activeWrap && typeof trigger === "string") {
|
|
243
350
|
console.warn("CubeUIKit: Tooltips are only supported on elements that are both focusable and hoverable. To solve this issue you can: 1) Use active element as a trigger (`Button`, `Link`, etc); 2) Use function-as-first-child pattern to manually apply trigger props; 3) Use `ActiveZone` component to manually wrap the content.");
|
|
244
|
-
let
|
|
245
|
-
if ($[
|
|
246
|
-
|
|
247
|
-
$[
|
|
248
|
-
$[
|
|
249
|
-
} else
|
|
250
|
-
return
|
|
351
|
+
let t2;
|
|
352
|
+
if ($[12] !== trigger) {
|
|
353
|
+
t2 = /* @__PURE__ */ jsx(Block, { children: trigger });
|
|
354
|
+
$[12] = trigger;
|
|
355
|
+
$[13] = t2;
|
|
356
|
+
} else t2 = $[13];
|
|
357
|
+
return t2;
|
|
251
358
|
}
|
|
252
|
-
let
|
|
253
|
-
if ($[
|
|
254
|
-
|
|
359
|
+
let t2;
|
|
360
|
+
if ($[14] === Symbol.for("react.memo_cache_sentinel")) {
|
|
361
|
+
t2 = function onClick(e) {
|
|
255
362
|
e?.currentTarget?.parentNode.click();
|
|
256
363
|
};
|
|
257
|
-
$[
|
|
258
|
-
} else
|
|
259
|
-
const onClick =
|
|
260
|
-
let
|
|
261
|
-
if ($[
|
|
262
|
-
|
|
364
|
+
$[14] = t2;
|
|
365
|
+
} else t2 = $[14];
|
|
366
|
+
const onClick = t2;
|
|
367
|
+
let t3;
|
|
368
|
+
if ($[15] !== activeWrap || $[16] !== trigger) {
|
|
369
|
+
t3 = activeWrap ? /* @__PURE__ */ jsx(_ActiveZone, {
|
|
263
370
|
onClick,
|
|
264
371
|
children: trigger
|
|
265
372
|
}) : trigger;
|
|
266
|
-
$[
|
|
267
|
-
$[
|
|
268
|
-
$[
|
|
269
|
-
} else
|
|
270
|
-
|
|
373
|
+
$[15] = activeWrap;
|
|
374
|
+
$[16] = trigger;
|
|
375
|
+
$[17] = t3;
|
|
376
|
+
} else t3 = $[17];
|
|
377
|
+
let t4;
|
|
378
|
+
if ($[18] !== t3 || $[19] !== tooltipContent) {
|
|
379
|
+
t4 = /* @__PURE__ */ jsxs(Fragment$1, { children: [t3, tooltipContent] });
|
|
380
|
+
$[18] = t3;
|
|
381
|
+
$[19] = tooltipContent;
|
|
382
|
+
$[20] = t4;
|
|
383
|
+
} else t4 = $[20];
|
|
384
|
+
const triggerContent = t4;
|
|
271
385
|
if (disableFocusableProvider) return triggerContent;
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
386
|
+
let t5;
|
|
387
|
+
if ($[21] !== tooltipTriggerRef || $[22] !== triggerContent || $[23] !== triggerProps) {
|
|
388
|
+
t5 = /* @__PURE__ */ jsx(FocusableProvider, {
|
|
389
|
+
...triggerProps,
|
|
390
|
+
ref: tooltipTriggerRef,
|
|
391
|
+
children: triggerContent
|
|
392
|
+
});
|
|
393
|
+
$[21] = tooltipTriggerRef;
|
|
394
|
+
$[22] = triggerContent;
|
|
395
|
+
$[23] = triggerProps;
|
|
396
|
+
$[24] = t5;
|
|
397
|
+
} else t5 = $[24];
|
|
398
|
+
return t5;
|
|
277
399
|
}
|
|
278
400
|
//#endregion
|
|
279
|
-
export { TooltipTrigger };
|
|
401
|
+
export { TooltipTrigger, useTooltipTriggerBinding };
|
|
280
402
|
|
|
281
403
|
//# sourceMappingURL=TooltipTrigger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipTrigger.js","names":["FocusableProvider","Children","ContextType","createContext","FocusEvent","HTMLAttributes","isValidElement","ReactElement","ReactNode","RefObject","useContext","useEffectEvent","useRef","useState","Placement","TooltipTriggerProps","useOverlayPosition","useTooltipTrigger","useTooltipTriggerState","useEvent","isDevEnv","isFocusRestoration","useLayoutEffect","Block","ActiveZone","DisplayTransition","DisplayTransitionProps","Portal","TooltipContext","CubeTooltipProps","Tooltip","TooltipPositionOptions","Pick","Parameters","onClose","TooltipPositionContext","TooltipTransition","props","$","_c","hasShown","setHasShown","isShown","t0","Box","DOMRect","overlaps","a","b","bottom","top","right","left","isInView","trigger","Element","scrolled","EventTarget","rect","getBoundingClientRect","viewport","window","innerHeight","innerWidth","PositionedTooltip","tooltip","contextValue","t1","options","overlayProps","arrowProps","placement","updatePosition","t2","targetRef","current","event","target","Node","contains","HTMLInputElement","HTMLTextAreaElement","onScroll","t3","isOpen","listener","event_0","addEventListener","removeEventListener","t4","t5","t6","t7","DEFAULT_OFFSET","DEFAULT_CROSS_OFFSET","isTriggerFunction","value","TooltipTriggerFunction","isReactElement","P","isEmptyTooltip","type","toArray","children","every","child","triggerProps","HTMLElement","ref","CubeTooltipTriggerProps","crossOffset","offset","isMaterial","isLight","activeWrap","onOpenChange","defaultOpen","isDisabled","delay","closeDelay","disableFocusableProvider","TooltipTrigger","externalRef","triggerAction","shouldCloseOnPress","undefined","rawChildrenArray","Array","isArray","Error","console","warn","internalRef","tooltipTriggerRef","overlayRef","state","isTooltipDisabled","rawTriggerProps","tooltipProps","onFocus","close","positionOptions","shouldFlip","tooltipContextValue","tooltipContent","phase","transitionRef","Symbol","for","onClick","e","currentTarget","parentNode","click","t8","triggerContent","_c","Tooltip","ActiveZone"],"sources":["../../../../src/components/overlays/Tooltip/TooltipTrigger.tsx"],"sourcesContent":["import { FocusableProvider } from '@react-aria/focus';\nimport {\n Children,\n ContextType,\n createContext,\n FocusEvent,\n HTMLAttributes,\n isValidElement,\n ReactElement,\n ReactNode,\n RefObject,\n useContext,\n useEffectEvent,\n useRef,\n useState,\n} from 'react';\nimport {\n Placement,\n TooltipTriggerProps,\n useOverlayPosition,\n useTooltipTrigger,\n} from 'react-aria';\nimport { useTooltipTriggerState } from 'react-stately';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { isDevEnv } from '../../../utils/is-dev-env';\nimport { isFocusRestoration } from '../../../utils/react/programmaticFocus';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { Block } from '../../Block';\nimport { ActiveZone } from '../../content/ActiveZone/ActiveZone';\nimport {\n DisplayTransition,\n DisplayTransitionProps,\n} from '../../helpers/DisplayTransition/DisplayTransition';\nimport { Portal } from '../../portal/Portal';\n\nimport { TooltipContext } from './context';\nimport { CubeTooltipProps, Tooltip } from './Tooltip';\n\ntype TooltipPositionOptions = Pick<\n Parameters<typeof useOverlayPosition>[0],\n | 'placement'\n | 'targetRef'\n | 'overlayRef'\n | 'offset'\n | 'crossOffset'\n | 'isOpen'\n | 'shouldFlip'\n> & {\n onClose: () => void;\n};\n\n// DisplayTransition preserves its last shown render prop during exit. Position\n// subscriptions must still see the current target, configuration and open state.\nconst TooltipPositionContext = createContext<TooltipPositionOptions>(null!);\n\nfunction TooltipTransition(\n props: Pick<DisplayTransitionProps, 'children' | 'isShown'>,\n) {\n const [hasShown, setHasShown] = useState(props.isShown);\n\n // Once opened, retain the transition owner through closing and reopening.\n // A never-opened tooltip has no animation resources to maintain.\n if (props.isShown && !hasShown) setHasShown(true);\n if (!hasShown && !props.isShown) return null;\n\n return <DisplayTransition {...props} />;\n}\n\ntype Box = Pick<DOMRect, 'top' | 'right' | 'bottom' | 'left'>;\n\nfunction overlaps(a: Box, b: Box) {\n return (\n a.bottom > b.top && a.top < b.bottom && a.right > b.left && a.left < b.right\n );\n}\n\n/**\n * Whether the trigger is still visible after `scrolled` scrolled: it overlaps\n * the viewport and, when an element scrolled, that element's box.\n */\nfunction isInView(trigger: Element, scrolled: EventTarget | null) {\n const rect = trigger.getBoundingClientRect();\n const viewport = {\n top: 0,\n left: 0,\n bottom: window.innerHeight,\n right: window.innerWidth,\n };\n\n return (\n overlaps(rect, viewport) &&\n (!(scrolled instanceof Element) ||\n overlaps(rect, scrolled.getBoundingClientRect()))\n );\n}\n\nfunction PositionedTooltip({\n tooltip,\n contextValue,\n}: {\n tooltip: ReactElement;\n contextValue: ContextType<typeof TooltipContext>;\n}) {\n const { onClose, ...options } = useContext(TooltipPositionContext);\n const { overlayProps, arrowProps, placement, updatePosition } =\n useOverlayPosition(options);\n\n // A scroll of the page or of an element that contains the trigger moves the\n // trigger. The tooltip follows it while it stays in view, and closes once it\n // is scrolled out. Closing on any scroll, as a popover does, would close the\n // tooltip a keyboard user just opened: focus scrolls a trigger into view —\n // the browser at once, a list a frame later — and the scroll is reported\n // after the tooltip opened.\n const onScroll = useEffectEvent((event: Event) => {\n const trigger = options.targetRef.current;\n const { target } = event;\n\n if (\n !trigger ||\n (target instanceof Node && !target.contains(trigger)) ||\n // A text field scrolls its own text to keep the caret in view.\n target instanceof HTMLInputElement ||\n target instanceof HTMLTextAreaElement\n ) {\n return;\n }\n\n if (isInView(trigger, target)) {\n updatePosition();\n } else {\n onClose();\n }\n });\n\n // Subscribed at commit, with the positioning, so a scroll reported on the\n // next frame is never missed.\n useLayoutEffect(() => {\n if (!options.isOpen) return;\n\n const listener = (event: Event) => onScroll(event);\n\n window.addEventListener('scroll', listener, true);\n\n return () => window.removeEventListener('scroll', listener, true);\n }, [options.isOpen]);\n\n return (\n <TooltipContext.Provider\n value={{\n ...contextValue,\n placement: placement || options.placement || 'top',\n overlayProps,\n arrowProps,\n updatePosition,\n }}\n >\n {tooltip}\n </TooltipContext.Provider>\n );\n}\n\nconst DEFAULT_OFFSET = 8; // Offset needed to reach 4px/5px (med/large) distance between tooltip and trigger button\nconst DEFAULT_CROSS_OFFSET = 0;\n\n// Type guards\nfunction isTriggerFunction(value: unknown): value is TooltipTriggerFunction {\n return typeof value === 'function';\n}\n\nfunction isReactElement<P = unknown>(value: unknown): value is ReactElement<P> {\n return isValidElement(value);\n}\n\n/**\n * Whether a `Tooltip` has nothing to show. The docs turn a tooltip off with\n * `title={null}`, and opening it anyway drew an empty bubble and described the\n * trigger by it. Only a `Tooltip` is inspected: another component may render\n * content of its own.\n */\nfunction isEmptyTooltip(tooltip: ReactElement<CubeTooltipProps>): boolean {\n return (\n tooltip.type === Tooltip &&\n Children.toArray(tooltip.props.children).every((child) => child === '')\n );\n}\n\nexport type TooltipTriggerFunction = (\n triggerProps: HTMLAttributes<HTMLElement>,\n ref: RefObject<HTMLElement>,\n) => ReactNode;\n\nexport interface CubeTooltipTriggerProps extends TooltipTriggerProps {\n children: [ReactElement | string | TooltipTriggerFunction, ReactElement];\n crossOffset?: number;\n offset?: number;\n placement?: Placement;\n isMaterial?: boolean;\n isLight?: boolean;\n /**\n * @deprecated Use function-as-first-child pattern instead.\n * Whether the trigger should have an ActiveZone wrap to make sure it's focusable and hoverable.\n * Otherwise, tooltip won't work.\n */\n activeWrap?: boolean;\n /**\n * External ref to use instead of internal ref (optional).\n */\n targetRef?: RefObject<HTMLElement>;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n /**\n * Whether the tooltip should be disabled, independent of the trigger.\n */\n isDisabled?: boolean;\n /**\n * The delay time for the tooltip to show up.\n * @default 250\n */\n delay?: number;\n /**\n * The delay time for the tooltip to close.\n * @default 500\n */\n closeDelay?: number;\n /**\n * By default, opens for both focus and hover. Can be made to open only for focus.\n */\n trigger?: 'focus';\n /**\n * When true, FocusableProvider won't be applied to the trigger.\n * Useful when trigger already handles focus or uses render props pattern.\n */\n disableFocusableProvider?: boolean;\n}\n\n/**\n * TooltipTrigger wraps around a trigger element and a Tooltip. It handles opening and closing\n * the Tooltip when the user hovers over or focuses the trigger, and positioning the Tooltip\n * relative to the trigger.\n */\nexport function TooltipTrigger(props: CubeTooltipTriggerProps) {\n let {\n children,\n activeWrap,\n targetRef: externalRef,\n crossOffset = DEFAULT_CROSS_OFFSET,\n isDisabled,\n isMaterial,\n isLight,\n offset = DEFAULT_OFFSET,\n trigger: triggerAction,\n delay = 250,\n shouldCloseOnPress,\n isOpen,\n onOpenChange,\n defaultOpen,\n disableFocusableProvider,\n } = props;\n\n // Extract both children without using React.Children.toArray so we don't lose\n // function-as-child (render-prop) which React.Children filters out.\n const rawChildrenArray = Array.isArray(children)\n ? (children as unknown[])\n : ([children] as unknown[]);\n\n const [trigger, tooltip] = rawChildrenArray;\n\n // Type guard the tooltip\n if (!isReactElement<CubeTooltipProps>(tooltip)) {\n throw new Error(\n 'CubeUIKit: TooltipTrigger expects the second child to be a valid React element (Tooltip component).',\n );\n }\n\n // Type guard the trigger\n if (\n !isTriggerFunction(trigger) &&\n !isReactElement(trigger) &&\n typeof trigger !== 'string'\n ) {\n throw new Error(\n 'CubeUIKit: TooltipTrigger expects the first child to be a function, React element, or string.',\n );\n }\n\n // Show deprecation warning for activeWrap\n if (activeWrap && isDevEnv()) {\n console.warn(\n 'CubeUIKit: The `activeWrap` prop is deprecated. Use function-as-first-child pattern instead.',\n );\n }\n\n let internalRef = useRef<HTMLElement>(null!);\n let tooltipTriggerRef = externalRef ?? internalRef;\n let overlayRef = useRef<HTMLDivElement>(null);\n\n let state = useTooltipTriggerState({ delay, ...props });\n\n // A tooltip with nothing to show is a disabled one.\n const isTooltipDisabled = isDisabled || isEmptyTooltip(tooltip);\n\n let { triggerProps: rawTriggerProps, tooltipProps } = useTooltipTrigger(\n {\n // Without it a disabled tooltip still opened — invisibly, since nothing\n // renders it — and while open React Aria's document-level listener eats\n // every `Escape`, so a Dialog under the pointer would not close.\n isDisabled: isTooltipDisabled,\n trigger: triggerAction,\n delay,\n isOpen,\n onOpenChange,\n defaultOpen,\n shouldCloseOnPress,\n },\n state,\n tooltipTriggerRef,\n );\n\n // A tooltip answers a user arriving at the trigger. Focus handed back by a\n // component — a popup returning it to the trigger it came from — is not that\n // arrival, but the DOM event is identical and the modality is still\n // \"keyboard\", so React Aria would show the tooltip anyway. It then absorbs\n // the user's next `Escape` from its own document-level listener, which is\n // how a Dialog ended up needing two presses to close (CUB-4839).\n //\n // Dropping the focus handler rather than closing after the fact: React Aria\n // decides to show inside it, so this never starts and nothing flashes.\n //\n // Covers both restore paths — ours and a `FocusScope`'s — see\n // `programmaticFocus`.\n const onFocus = useEvent((event: FocusEvent<HTMLElement>) => {\n if (isFocusRestoration()) return;\n\n rawTriggerProps.onFocus?.(event);\n });\n\n const triggerProps = {\n ...rawTriggerProps,\n onFocus,\n // A controlled `isOpen` still opens a disabled tooltip's state, and nothing\n // is rendered to describe the trigger by.\n 'aria-describedby': isTooltipDisabled\n ? undefined\n : rawTriggerProps['aria-describedby'],\n };\n\n const positionOptions: TooltipPositionOptions = {\n placement: props.placement || 'top',\n targetRef: tooltipTriggerRef,\n overlayRef,\n offset,\n crossOffset,\n isOpen: state.isOpen,\n // Documented on `Tooltip`, which renders inside the positioned layer, so\n // it is read from the element here.\n shouldFlip: tooltip.props.shouldFlip,\n // Called once a scroll carries the trigger out of view.\n onClose: () => state.close(true),\n };\n\n const tooltipContextValue = {\n state,\n ref: overlayRef,\n isMaterial,\n isLight,\n ...tooltipProps,\n };\n\n // Closed triggers retain their interaction state, but positioning resources\n // belong to the overlay's visible/closing lifetime rather than every label.\n const tooltipContent = (\n <TooltipPositionContext.Provider value={positionOptions}>\n <TooltipTransition isShown={state.isOpen && !isTooltipDisabled}>\n {({ phase, isShown, ref: transitionRef }) => (\n <Portal>\n <PositionedTooltip\n tooltip={tooltip}\n contextValue={{\n ...tooltipContextValue,\n phase,\n isShown,\n ref: overlayRef,\n transitionRef,\n }}\n />\n </Portal>\n )}\n </TooltipTransition>\n </TooltipPositionContext.Provider>\n );\n\n // Function trigger pattern (new)\n if (isTriggerFunction(trigger)) {\n return (\n <>\n {trigger(triggerProps, tooltipTriggerRef)}\n {tooltipContent}\n </>\n );\n }\n\n // Legacy element/string trigger pattern\n if (!activeWrap && typeof trigger === 'string') {\n console.warn(\n 'CubeUIKit: Tooltips are only supported on elements that are both focusable and hoverable. To solve this issue you can: 1) Use active element as a trigger (`Button`, `Link`, etc); 2) Use function-as-first-child pattern to manually apply trigger props; 3) Use `ActiveZone` component to manually wrap the content.',\n );\n\n return <Block>{trigger}</Block>;\n }\n\n function onClick(e) {\n e?.currentTarget?.parentNode.click();\n }\n\n const triggerContent = (\n <>\n {activeWrap ? (\n <ActiveZone onClick={onClick}>{trigger}</ActiveZone>\n ) : (\n trigger\n )}\n {tooltipContent}\n </>\n );\n\n if (disableFocusableProvider) {\n return triggerContent;\n }\n\n return (\n <FocusableProvider {...triggerProps} ref={tooltipTriggerRef}>\n {triggerContent}\n </FocusableProvider>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TooltipTrigger.js","names":["FocusableProvider","Children","ContextType","createContext","FocusEvent","HTMLAttributes","isValidElement","ReactElement","ReactNode","RefObject","useContext","useEffectEvent","useRef","useState","Placement","TooltipTriggerProps","useOverlayPosition","useTooltipTrigger","useTooltipTriggerState","useEvent","isDevEnv","isFocusRestoration","useLayoutEffect","Block","ActiveZone","DisplayTransition","DisplayTransitionProps","Portal","TooltipContext","CubeTooltipProps","Tooltip","TooltipPositionOptions","Pick","Parameters","onClose","TooltipPositionContext","TooltipTransition","props","$","_c","hasShown","setHasShown","isShown","t0","Box","DOMRect","overlaps","a","b","bottom","top","right","left","isInView","trigger","Element","scrolled","EventTarget","rect","getBoundingClientRect","viewport","window","innerHeight","innerWidth","PositionedTooltip","tooltip","contextValue","t1","options","overlayProps","arrowProps","placement","updatePosition","t2","targetRef","current","event","target","Node","contains","HTMLInputElement","HTMLTextAreaElement","onScroll","t3","isOpen","listener","event_0","addEventListener","removeEventListener","t4","t5","t6","t7","DEFAULT_OFFSET","DEFAULT_CROSS_OFFSET","isTriggerFunction","value","TooltipTriggerFunction","isReactElement","P","isEmptyTooltip","type","toArray","children","every","child","triggerProps","HTMLElement","ref","CubeTooltipTriggerProps","crossOffset","offset","isMaterial","isLight","activeWrap","onOpenChange","defaultOpen","isDisabled","delay","closeDelay","disableFocusableProvider","TooltipTriggerBindingProps","Omit","TooltipTriggerBinding","triggerRef","renderTooltip","useTooltipTriggerBinding","externalRef","triggerAction","shouldCloseOnPress","undefined","internalRef","tooltipTriggerRef","overlayRef","state","isTooltipDisabled","rawTriggerProps","tooltipProps","onFocus","t8","t9","tooltipContextValue","t10","positionOptions","shouldFlip","close","t11","phase","transitionRef","TooltipTrigger","Array","isArray","rawChildrenArray","Error","console","warn","tooltipContent","Symbol","for","onClick","e","currentTarget","parentNode","click","triggerContent","_c","Tooltip","rawChildrenArray","ActiveZone"],"sources":["../../../../src/components/overlays/Tooltip/TooltipTrigger.tsx"],"sourcesContent":["import { FocusableProvider } from '@react-aria/focus';\nimport {\n Children,\n ContextType,\n createContext,\n FocusEvent,\n HTMLAttributes,\n isValidElement,\n ReactElement,\n ReactNode,\n RefObject,\n useContext,\n useEffectEvent,\n useRef,\n useState,\n} from 'react';\nimport {\n Placement,\n TooltipTriggerProps,\n useOverlayPosition,\n useTooltipTrigger,\n} from 'react-aria';\nimport { useTooltipTriggerState } from 'react-stately';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { isDevEnv } from '../../../utils/is-dev-env';\nimport { isFocusRestoration } from '../../../utils/react/programmaticFocus';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { Block } from '../../Block';\nimport { ActiveZone } from '../../content/ActiveZone/ActiveZone';\nimport {\n DisplayTransition,\n DisplayTransitionProps,\n} from '../../helpers/DisplayTransition/DisplayTransition';\nimport { Portal } from '../../portal/Portal';\n\nimport { TooltipContext } from './context';\nimport { CubeTooltipProps, Tooltip } from './Tooltip';\n\ntype TooltipPositionOptions = Pick<\n Parameters<typeof useOverlayPosition>[0],\n | 'placement'\n | 'targetRef'\n | 'overlayRef'\n | 'offset'\n | 'crossOffset'\n | 'isOpen'\n | 'shouldFlip'\n> & {\n onClose: () => void;\n};\n\n// DisplayTransition preserves its last shown render prop during exit. Position\n// subscriptions must still see the current target, configuration and open state.\nconst TooltipPositionContext = createContext<TooltipPositionOptions>(null!);\n\nfunction TooltipTransition(\n props: Pick<DisplayTransitionProps, 'children' | 'isShown'>,\n) {\n const [hasShown, setHasShown] = useState(props.isShown);\n\n // Once opened, retain the transition owner through closing and reopening.\n // A never-opened tooltip has no animation resources to maintain.\n if (props.isShown && !hasShown) setHasShown(true);\n if (!hasShown && !props.isShown) return null;\n\n return <DisplayTransition {...props} />;\n}\n\ntype Box = Pick<DOMRect, 'top' | 'right' | 'bottom' | 'left'>;\n\nfunction overlaps(a: Box, b: Box) {\n return (\n a.bottom > b.top && a.top < b.bottom && a.right > b.left && a.left < b.right\n );\n}\n\n/**\n * Whether the trigger is still visible after `scrolled` scrolled: it overlaps\n * the viewport and, when an element scrolled, that element's box.\n */\nfunction isInView(trigger: Element, scrolled: EventTarget | null) {\n const rect = trigger.getBoundingClientRect();\n const viewport = {\n top: 0,\n left: 0,\n bottom: window.innerHeight,\n right: window.innerWidth,\n };\n\n return (\n overlaps(rect, viewport) &&\n (!(scrolled instanceof Element) ||\n overlaps(rect, scrolled.getBoundingClientRect()))\n );\n}\n\nfunction PositionedTooltip({\n tooltip,\n contextValue,\n}: {\n tooltip: ReactElement;\n contextValue: ContextType<typeof TooltipContext>;\n}) {\n const { onClose, ...options } = useContext(TooltipPositionContext);\n const { overlayProps, arrowProps, placement, updatePosition } =\n useOverlayPosition(options);\n\n // A scroll of the page or of an element that contains the trigger moves the\n // trigger. The tooltip follows it while it stays in view, and closes once it\n // is scrolled out. Closing on any scroll, as a popover does, would close the\n // tooltip a keyboard user just opened: focus scrolls a trigger into view —\n // the browser at once, a list a frame later — and the scroll is reported\n // after the tooltip opened.\n const onScroll = useEffectEvent((event: Event) => {\n const trigger = options.targetRef.current;\n const { target } = event;\n\n if (\n !trigger ||\n (target instanceof Node && !target.contains(trigger)) ||\n // A text field scrolls its own text to keep the caret in view.\n target instanceof HTMLInputElement ||\n target instanceof HTMLTextAreaElement\n ) {\n return;\n }\n\n if (isInView(trigger, target)) {\n updatePosition();\n } else {\n onClose();\n }\n });\n\n // Subscribed at commit, with the positioning, so a scroll reported on the\n // next frame is never missed.\n useLayoutEffect(() => {\n if (!options.isOpen) return;\n\n const listener = (event: Event) => onScroll(event);\n\n window.addEventListener('scroll', listener, true);\n\n return () => window.removeEventListener('scroll', listener, true);\n }, [options.isOpen]);\n\n return (\n <TooltipContext.Provider\n value={{\n ...contextValue,\n placement: placement || options.placement || 'top',\n overlayProps,\n arrowProps,\n updatePosition,\n }}\n >\n {tooltip}\n </TooltipContext.Provider>\n );\n}\n\nconst DEFAULT_OFFSET = 8; // Offset needed to reach 4px/5px (med/large) distance between tooltip and trigger button\nconst DEFAULT_CROSS_OFFSET = 0;\n\n// Type guards\nfunction isTriggerFunction(value: unknown): value is TooltipTriggerFunction {\n return typeof value === 'function';\n}\n\nfunction isReactElement<P = unknown>(value: unknown): value is ReactElement<P> {\n return isValidElement(value);\n}\n\n/**\n * Whether a `Tooltip` has nothing to show. The docs turn a tooltip off with\n * `title={null}`, and opening it anyway drew an empty bubble and described the\n * trigger by it. Only a `Tooltip` is inspected: another component may render\n * content of its own.\n */\nfunction isEmptyTooltip(tooltip: ReactElement<CubeTooltipProps>): boolean {\n return (\n tooltip.type === Tooltip &&\n Children.toArray(tooltip.props.children).every((child) => child === '')\n );\n}\n\nexport type TooltipTriggerFunction = (\n triggerProps: HTMLAttributes<HTMLElement>,\n ref: RefObject<HTMLElement>,\n) => ReactNode;\n\nexport interface CubeTooltipTriggerProps extends TooltipTriggerProps {\n children: [ReactElement | string | TooltipTriggerFunction, ReactElement];\n crossOffset?: number;\n offset?: number;\n placement?: Placement;\n isMaterial?: boolean;\n isLight?: boolean;\n /**\n * @deprecated Use function-as-first-child pattern instead.\n * Whether the trigger should have an ActiveZone wrap to make sure it's focusable and hoverable.\n * Otherwise, tooltip won't work.\n */\n activeWrap?: boolean;\n /**\n * External ref to use instead of internal ref (optional).\n */\n targetRef?: RefObject<HTMLElement>;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n /**\n * Whether the tooltip should be disabled, independent of the trigger.\n */\n isDisabled?: boolean;\n /**\n * The delay time for the tooltip to show up.\n * @default 250\n */\n delay?: number;\n /**\n * The delay time for the tooltip to close.\n * @default 500\n */\n closeDelay?: number;\n /**\n * By default, opens for both focus and hover. Can be made to open only for focus.\n */\n trigger?: 'focus';\n /**\n * When true, FocusableProvider won't be applied to the trigger.\n * Useful when trigger already handles focus or uses render props pattern.\n */\n disableFocusableProvider?: boolean;\n}\n\n/** The `TooltipTrigger` options `useTooltipTriggerBinding` reads. */\nexport type TooltipTriggerBindingProps = Omit<\n CubeTooltipTriggerProps,\n 'children' | 'activeWrap' | 'disableFocusableProvider'\n>;\n\nexport interface TooltipTriggerBinding {\n /** Spread on the trigger element. */\n triggerProps: HTMLAttributes<HTMLElement>;\n /** Attached to the trigger element; the tooltip is positioned against it. */\n triggerRef: RefObject<HTMLElement>;\n /**\n * The positioned tooltip, rendered beside the trigger: it portals out, and\n * mounts nothing until the tooltip first opens.\n */\n renderTooltip: (placement?: Placement) => ReactNode;\n}\n\n/**\n * Everything `TooltipTrigger` does except render the trigger: the open state,\n * the trigger's props and ref, and the positioned tooltip.\n *\n * A component that renders its own trigger and turns its tooltip on and off\n * calls this directly and renders the tooltip beside the trigger. Wrapping the\n * trigger in `TooltipTrigger` only while a tooltip exists changes the element\n * type above the trigger, so React remounts it: the node is replaced and its\n * focus drops to the page.\n *\n * `tooltip` is the second child `TooltipTrigger` would get: the `Tooltip` to\n * show, or a placeholder while `isDisabled`.\n */\nexport function useTooltipTriggerBinding(\n props: TooltipTriggerBindingProps,\n tooltip: ReactElement<CubeTooltipProps>,\n): TooltipTriggerBinding {\n const {\n targetRef: externalRef,\n crossOffset = DEFAULT_CROSS_OFFSET,\n isDisabled,\n isMaterial,\n isLight,\n offset = DEFAULT_OFFSET,\n trigger: triggerAction,\n delay = 250,\n shouldCloseOnPress,\n isOpen,\n onOpenChange,\n defaultOpen,\n } = props;\n\n let internalRef = useRef<HTMLElement>(null!);\n let tooltipTriggerRef = externalRef ?? internalRef;\n let overlayRef = useRef<HTMLDivElement>(null);\n\n let state = useTooltipTriggerState({ delay, ...props });\n\n // A tooltip with nothing to show is a disabled one.\n const isTooltipDisabled = isDisabled || isEmptyTooltip(tooltip);\n\n let { triggerProps: rawTriggerProps, tooltipProps } = useTooltipTrigger(\n {\n // Without it a disabled tooltip still opened — invisibly, since nothing\n // renders it — and while open React Aria's document-level listener eats\n // every `Escape`, so a Dialog under the pointer would not close.\n isDisabled: isTooltipDisabled,\n trigger: triggerAction,\n delay,\n isOpen,\n onOpenChange,\n defaultOpen,\n shouldCloseOnPress,\n },\n state,\n tooltipTriggerRef,\n );\n\n // A tooltip answers a user arriving at the trigger. Focus handed back by a\n // component — a popup returning it to the trigger it came from — is not that\n // arrival, but the DOM event is identical and the modality is still\n // \"keyboard\", so React Aria would show the tooltip anyway. It then absorbs\n // the user's next `Escape` from its own document-level listener, which is\n // how a Dialog ended up needing two presses to close (CUB-4839).\n //\n // Dropping the focus handler rather than closing after the fact: React Aria\n // decides to show inside it, so this never starts and nothing flashes.\n //\n // Covers both restore paths — ours and a `FocusScope`'s — see\n // `programmaticFocus`.\n const onFocus = useEvent((event: FocusEvent<HTMLElement>) => {\n if (isFocusRestoration()) return;\n\n rawTriggerProps.onFocus?.(event);\n });\n\n const triggerProps = {\n ...rawTriggerProps,\n onFocus,\n // A controlled `isOpen` still opens a disabled tooltip's state, and nothing\n // is rendered to describe the trigger by.\n 'aria-describedby': isTooltipDisabled\n ? undefined\n : rawTriggerProps['aria-describedby'],\n };\n\n const tooltipContextValue = {\n state,\n ref: overlayRef,\n isMaterial,\n isLight,\n ...tooltipProps,\n };\n\n // Closed triggers retain their interaction state, but positioning resources\n // belong to the overlay's visible/closing lifetime rather than every label.\n const renderTooltip = (placement?: Placement) => {\n const positionOptions: TooltipPositionOptions = {\n placement: placement || 'top',\n targetRef: tooltipTriggerRef,\n overlayRef,\n offset,\n crossOffset,\n isOpen: state.isOpen,\n // Documented on `Tooltip`, which renders inside the positioned layer, so\n // it is read from the element here.\n shouldFlip: tooltip.props.shouldFlip,\n // Called once a scroll carries the trigger out of view.\n onClose: () => state.close(true),\n };\n\n return (\n <TooltipPositionContext.Provider value={positionOptions}>\n <TooltipTransition isShown={state.isOpen && !isTooltipDisabled}>\n {({ phase, isShown, ref: transitionRef }) => (\n <Portal>\n <PositionedTooltip\n tooltip={tooltip}\n contextValue={{\n ...tooltipContextValue,\n phase,\n isShown,\n ref: overlayRef,\n transitionRef,\n }}\n />\n </Portal>\n )}\n </TooltipTransition>\n </TooltipPositionContext.Provider>\n );\n };\n\n return { triggerProps, triggerRef: tooltipTriggerRef, renderTooltip };\n}\n\n/**\n * TooltipTrigger wraps around a trigger element and a Tooltip. It handles opening and closing\n * the Tooltip when the user hovers over or focuses the trigger, and positioning the Tooltip\n * relative to the trigger.\n */\nexport function TooltipTrigger(props: CubeTooltipTriggerProps) {\n const { children, activeWrap, disableFocusableProvider } = props;\n\n // Extract both children without using React.Children.toArray so we don't lose\n // function-as-child (render-prop) which React.Children filters out.\n const rawChildrenArray = Array.isArray(children)\n ? (children as unknown[])\n : ([children] as unknown[]);\n\n const [trigger, tooltip] = rawChildrenArray;\n\n // Type guard the tooltip\n if (!isReactElement<CubeTooltipProps>(tooltip)) {\n throw new Error(\n 'CubeUIKit: TooltipTrigger expects the second child to be a valid React element (Tooltip component).',\n );\n }\n\n // Type guard the trigger\n if (\n !isTriggerFunction(trigger) &&\n !isReactElement(trigger) &&\n typeof trigger !== 'string'\n ) {\n throw new Error(\n 'CubeUIKit: TooltipTrigger expects the first child to be a function, React element, or string.',\n );\n }\n\n // Show deprecation warning for activeWrap\n if (activeWrap && isDevEnv()) {\n console.warn(\n 'CubeUIKit: The `activeWrap` prop is deprecated. Use function-as-first-child pattern instead.',\n );\n }\n\n const {\n triggerProps,\n triggerRef: tooltipTriggerRef,\n renderTooltip,\n } = useTooltipTriggerBinding(props, tooltip);\n\n const tooltipContent = renderTooltip(props.placement);\n\n // Function trigger pattern (new)\n if (isTriggerFunction(trigger)) {\n return (\n <>\n {trigger(triggerProps, tooltipTriggerRef)}\n {tooltipContent}\n </>\n );\n }\n\n // Legacy element/string trigger pattern\n if (!activeWrap && typeof trigger === 'string') {\n console.warn(\n 'CubeUIKit: Tooltips are only supported on elements that are both focusable and hoverable. To solve this issue you can: 1) Use active element as a trigger (`Button`, `Link`, etc); 2) Use function-as-first-child pattern to manually apply trigger props; 3) Use `ActiveZone` component to manually wrap the content.',\n );\n\n return <Block>{trigger}</Block>;\n }\n\n function onClick(e) {\n e?.currentTarget?.parentNode.click();\n }\n\n const triggerContent = (\n <>\n {activeWrap ? (\n <ActiveZone onClick={onClick}>{trigger}</ActiveZone>\n ) : (\n trigger\n )}\n {tooltipContent}\n </>\n );\n\n if (disableFocusableProvider) {\n return triggerContent;\n }\n\n return (\n <FocusableProvider {...triggerProps} ref={tooltipTriggerRef}>\n {triggerContent}\n </FocusableProvider>\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.209.0 | Cube Dev Team */
|
|
2
2
|
import { usePortal } from "./usePortal.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { TastyBatchProvider } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { c } from "react/compiler-runtime";
|
|
3
3
|
import { createContext, useContext } from "react";
|
|
4
4
|
//#region src/components/portal/PortalProvider.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { usePortalContext } from "./PortalProvider.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { useEffect, useEffectEvent, useState } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { useEvent } from "../../_internal/hooks/use-event.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { useEffect, useEffectEvent, useRef } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { WarningIcon } from "../../icons/WarningIcon.js";
|
|
3
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/shared/InvalidIcon.tsx
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { CheckIcon } from "../../icons/CheckIcon.js";
|
|
3
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/shared/ValidIcon.tsx
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
|
|
3
3
|
import { Block } from "../../Block.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.209.0 | Cube Dev Team */
|
|
2
2
|
import { Block } from "../../Block.js";
|
|
3
3
|
import { InternalSpinner } from "./InternalSpinner.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
package/dist/data/item-themes.js
CHANGED
package/dist/data/themes.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { DEFAULTS } from "./defaults.generated.js";
|
|
3
3
|
import { createRule, noRedundantDefaultProp } from "./rules/no-redundant-default-prop.js";
|
|
4
4
|
//#region src/eslint-plugin/index.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { UIKIT_I18N_NAMESPACE } from "./namespace.js";
|
|
3
3
|
import { getI18n } from "./instance.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|