@cube-dev/ui-kit 0.0.0-canary-ac46c4b → 0.0.0-canary-9bde021
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/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Button/Button.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +2 -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 -8
- package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +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/Menu.js.map +1 -1
- package/dist/components/actions/Menu/MenuItem.js +19 -15
- package/dist/components/actions/Menu/MenuItem.js.map +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -8
- package/dist/components/actions/Menu/MenuSection.js.map +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +1 -7
- package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/actions-run.js +1 -1
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -2
- package/dist/components/content/Content.js.map +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.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 +27 -2
- package/dist/components/content/Item/Item.js +240 -231
- package/dist/components/content/Item/Item.js.map +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 +123 -118
- package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
- package/dist/components/content/Layout/LayoutPane.js +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/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.d.ts +14 -14
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/Title.js +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/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.d.ts +1 -1
- package/dist/components/content/use-auto-tooltip.js +231 -125
- 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/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 +1 -1
- package/dist/components/data/TableBase/column-menu.js +1 -1
- package/dist/components/data/TableBase/column-tint.js +1 -1
- package/dist/components/data/TableBase/row-menu.js +1 -1
- package/dist/components/data/TableBase/styled.d.ts +1 -0
- 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-order.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-tree-state.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.d.ts +8 -0
- package/dist/components/fields/Checkbox/Checkbox.js +58 -39
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +2 -2
- 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.d.ts +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.js +1 -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 +1 -1
- package/dist/components/fields/ComboBox/ComboBox.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/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 +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.d.ts +2 -2
- package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.js +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.d.ts +2 -2
- package/dist/components/fields/Picker/Picker.js +1 -1
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.d.ts +10 -2
- package/dist/components/fields/RadioGroup/Radio.js +215 -213
- 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.d.ts +3 -2
- package/dist/components/fields/Select/Select.js +5 -2
- package/dist/components/fields/Select/Select.js.map +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/SliderBase.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +1 -1
- package/dist/components/fields/TextInput/TextInput.js +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js +2 -2
- package/dist/components/fields/TextInput/TextInputBase.js.map +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/form/FieldWrapper/FieldWrapper.d.ts +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +11 -9
- package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
- package/dist/components/form/FieldWrapper/types.d.ts +1 -1
- package/dist/components/form/Form/Field.js +6 -4
- package/dist/components/form/Form/Field.js.map +1 -1
- package/dist/components/form/Form/Form.js +5 -20
- package/dist/components/form/Form/Form.js.map +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/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/legacy-tooltip.js +28 -0
- package/dist/components/form/legacy-tooltip.js.map +1 -0
- 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 +5 -3
- 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/Board/Board.js +1 -1
- package/dist/components/layout/Board/BoardProvider.js +1 -1
- package/dist/components/layout/Board/BoardResponsive.js +1 -1
- package/dist/components/layout/Board/Widget.js +1 -1
- package/dist/components/layout/Board/WidgetHost.js +1 -1
- package/dist/components/layout/Board/board-context.js +1 -1
- package/dist/components/layout/Board/board-store.js +1 -1
- package/dist/components/layout/Board/grid-core/calculate.js +1 -1
- package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
- package/dist/components/layout/Board/grid-core/collision.js +1 -1
- package/dist/components/layout/Board/grid-core/compactors.js +1 -1
- package/dist/components/layout/Board/grid-core/constraints.js +1 -1
- package/dist/components/layout/Board/grid-core/group-move.js +1 -1
- package/dist/components/layout/Board/grid-core/layout.js +1 -1
- package/dist/components/layout/Board/grid-core/placement.js +1 -1
- package/dist/components/layout/Board/grid-core/sort.js +1 -1
- package/dist/components/layout/Board/index.js +1 -1
- package/dist/components/layout/Board/responsive-utils.js +1 -1
- package/dist/components/layout/Board/use-board-layout.js +1 -1
- package/dist/components/layout/Board/use-board-registry.js +1 -1
- package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
- package/dist/components/layout/Board/use-board-selection.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/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +131 -110
- package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +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 +2 -2
- package/dist/components/navigation/Tabs/styled.js.map +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 +9 -18
- 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 +5 -6
- package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +64 -71
- package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.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/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 +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +72 -69
- 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.d.ts +16 -0
- package/dist/components/overlays/Tooltip/split-trigger-props.js +54 -0
- package/dist/components/overlays/Tooltip/split-trigger-props.js.map +1 -0
- 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/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/navigationAdapter.default.js +1 -1
- package/dist/shared/form.d.ts +9 -2
- 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/escapePropagation.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/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/FieldProperties.md +2 -2
- package/docs/components/actions/ButtonSplit.md +2 -0
- package/docs/components/content/InfoBadge.md +1 -1
- package/docs/components/content/Layout.md +1 -1
- package/docs/components/fields/Checkbox.md +11 -0
- package/docs/components/fields/ColorPicker.md +1 -1
- package/docs/components/fields/FilterPicker.md +1 -1
- package/docs/components/fields/Picker.md +1 -1
- package/docs/components/fields/RadioGroup.md +2 -2
- package/docs/components/fields/Select.md +3 -0
- package/docs/components/form/Field.md +2 -2
- package/docs/components/form/Form.md +0 -2
- package/docs/components/navigation/Tabs.md +3 -3
- package/docs/components/overlays/Dialog.md +3 -30
- package/docs/components/overlays/DialogForm.md +0 -1
- package/package.json +1 -1
- package/dist/components/overlays/Dialog/use-content-overflow.js +0 -68
- package/dist/components/overlays/Dialog/use-content-overflow.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | Cube Dev Team */
|
|
2
2
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
3
3
|
import { isDevEnv } from "../../../utils/is-dev-env.js";
|
|
4
4
|
import { TooltipContext } from "./context.js";
|
|
@@ -29,7 +29,7 @@ function isReactElement(value) {
|
|
|
29
29
|
* relative to the trigger.
|
|
30
30
|
*/
|
|
31
31
|
function TooltipTrigger(props) {
|
|
32
|
-
const $ = c(
|
|
32
|
+
const $ = c(45);
|
|
33
33
|
const { children, activeWrap, targetRef: externalRef, crossOffset: t0, isDisabled, isMaterial, isLight, offset: t1, trigger: triggerAction, delay: t2, isOpen, onOpenChange, defaultOpen, disableFocusableProvider } = props;
|
|
34
34
|
const crossOffset = t0 === void 0 ? DEFAULT_CROSS_OFFSET : t0;
|
|
35
35
|
const offset = t1 === void 0 ? DEFAULT_OFFSET : t1;
|
|
@@ -54,8 +54,9 @@ function TooltipTrigger(props) {
|
|
|
54
54
|
} else t3 = $[2];
|
|
55
55
|
const state = useTooltipTriggerState(t3);
|
|
56
56
|
let t4;
|
|
57
|
-
if ($[3] !== defaultOpen || $[4] !== delay || $[5] !==
|
|
57
|
+
if ($[3] !== defaultOpen || $[4] !== delay || $[5] !== isDisabled || $[6] !== isOpen || $[7] !== onOpenChange || $[8] !== triggerAction) {
|
|
58
58
|
t4 = {
|
|
59
|
+
isDisabled,
|
|
59
60
|
trigger: triggerAction,
|
|
60
61
|
delay,
|
|
61
62
|
isOpen,
|
|
@@ -65,21 +66,22 @@ function TooltipTrigger(props) {
|
|
|
65
66
|
};
|
|
66
67
|
$[3] = defaultOpen;
|
|
67
68
|
$[4] = delay;
|
|
68
|
-
$[5] =
|
|
69
|
-
$[6] =
|
|
70
|
-
$[7] =
|
|
71
|
-
$[8] =
|
|
72
|
-
|
|
69
|
+
$[5] = isDisabled;
|
|
70
|
+
$[6] = isOpen;
|
|
71
|
+
$[7] = onOpenChange;
|
|
72
|
+
$[8] = triggerAction;
|
|
73
|
+
$[9] = t4;
|
|
74
|
+
} else t4 = $[9];
|
|
73
75
|
const { triggerProps: rawTriggerProps, tooltipProps } = useTooltipTrigger(t4, state, tooltipTriggerRef);
|
|
74
76
|
let t5;
|
|
75
|
-
if ($[
|
|
77
|
+
if ($[10] !== rawTriggerProps) {
|
|
76
78
|
t5 = (event) => {
|
|
77
79
|
if (isFocusRestoration()) return;
|
|
78
80
|
rawTriggerProps.onFocus?.(event);
|
|
79
81
|
};
|
|
80
|
-
$[
|
|
81
|
-
$[
|
|
82
|
-
} else t5 = $[
|
|
82
|
+
$[10] = rawTriggerProps;
|
|
83
|
+
$[11] = t5;
|
|
84
|
+
} else t5 = $[11];
|
|
83
85
|
const onFocus = useEvent(t5);
|
|
84
86
|
const triggerProps = {
|
|
85
87
|
...rawTriggerProps,
|
|
@@ -87,7 +89,7 @@ function TooltipTrigger(props) {
|
|
|
87
89
|
};
|
|
88
90
|
const t6 = props.placement || "top";
|
|
89
91
|
let t7;
|
|
90
|
-
if ($[
|
|
92
|
+
if ($[12] !== crossOffset || $[13] !== offset || $[14] !== state.isOpen || $[15] !== t6 || $[16] !== tooltipTriggerRef) {
|
|
91
93
|
t7 = {
|
|
92
94
|
placement: t6,
|
|
93
95
|
targetRef: tooltipTriggerRef,
|
|
@@ -97,17 +99,17 @@ function TooltipTrigger(props) {
|
|
|
97
99
|
isDismissable: false,
|
|
98
100
|
isOpen: state.isOpen
|
|
99
101
|
};
|
|
100
|
-
$[
|
|
101
|
-
$[
|
|
102
|
-
$[
|
|
103
|
-
$[
|
|
104
|
-
$[
|
|
105
|
-
$[
|
|
106
|
-
} else t7 = $[
|
|
102
|
+
$[12] = crossOffset;
|
|
103
|
+
$[13] = offset;
|
|
104
|
+
$[14] = state.isOpen;
|
|
105
|
+
$[15] = t6;
|
|
106
|
+
$[16] = tooltipTriggerRef;
|
|
107
|
+
$[17] = t7;
|
|
108
|
+
} else t7 = $[17];
|
|
107
109
|
const { overlayProps, arrowProps, placement, updatePosition } = useOverlayPosition(t7);
|
|
108
110
|
const t8 = placement || props.placement || "top";
|
|
109
111
|
let t9;
|
|
110
|
-
if ($[
|
|
112
|
+
if ($[18] !== arrowProps || $[19] !== isLight || $[20] !== isMaterial || $[21] !== overlayProps || $[22] !== state || $[23] !== t8 || $[24] !== tooltipProps || $[25] !== updatePosition) {
|
|
111
113
|
t9 = {
|
|
112
114
|
state,
|
|
113
115
|
placement: t8,
|
|
@@ -121,20 +123,21 @@ function TooltipTrigger(props) {
|
|
|
121
123
|
updatePosition,
|
|
122
124
|
...tooltipProps
|
|
123
125
|
};
|
|
124
|
-
$[
|
|
125
|
-
$[
|
|
126
|
-
$[
|
|
127
|
-
$[
|
|
128
|
-
$[
|
|
129
|
-
$[
|
|
130
|
-
$[
|
|
131
|
-
$[
|
|
132
|
-
$[
|
|
133
|
-
} else t9 = $[
|
|
126
|
+
$[18] = arrowProps;
|
|
127
|
+
$[19] = isLight;
|
|
128
|
+
$[20] = isMaterial;
|
|
129
|
+
$[21] = overlayProps;
|
|
130
|
+
$[22] = state;
|
|
131
|
+
$[23] = t8;
|
|
132
|
+
$[24] = tooltipProps;
|
|
133
|
+
$[25] = updatePosition;
|
|
134
|
+
$[26] = t9;
|
|
135
|
+
} else t9 = $[26];
|
|
134
136
|
const tooltipContextValue = t9;
|
|
135
137
|
if (isTriggerFunction(trigger)) {
|
|
136
|
-
const t10 =
|
|
137
|
-
|
|
138
|
+
const t10 = state.isOpen && !isDisabled;
|
|
139
|
+
const t11 = (t12) => {
|
|
140
|
+
const { phase, isShown, ref: transitionRef } = t12;
|
|
138
141
|
return /* @__PURE__ */ jsx(TooltipContext.Provider, {
|
|
139
142
|
value: {
|
|
140
143
|
...tooltipContextValue,
|
|
@@ -146,49 +149,49 @@ function TooltipTrigger(props) {
|
|
|
146
149
|
children: /* @__PURE__ */ jsx(Portal, { children: tooltip })
|
|
147
150
|
});
|
|
148
151
|
};
|
|
149
|
-
let
|
|
150
|
-
if ($[
|
|
151
|
-
|
|
152
|
-
isShown:
|
|
153
|
-
children:
|
|
152
|
+
let t13;
|
|
153
|
+
if ($[27] !== t10 || $[28] !== t11) {
|
|
154
|
+
t13 = /* @__PURE__ */ jsx(DisplayTransition, {
|
|
155
|
+
isShown: t10,
|
|
156
|
+
children: t11
|
|
154
157
|
});
|
|
155
|
-
$[26] = state.isOpen;
|
|
156
158
|
$[27] = t10;
|
|
157
|
-
$[28] =
|
|
158
|
-
|
|
159
|
-
|
|
159
|
+
$[28] = t11;
|
|
160
|
+
$[29] = t13;
|
|
161
|
+
} else t13 = $[29];
|
|
162
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [trigger(triggerProps, tooltipTriggerRef), t13] });
|
|
160
163
|
}
|
|
161
164
|
if (!activeWrap && typeof trigger === "string") {
|
|
162
165
|
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.");
|
|
163
166
|
let t10;
|
|
164
|
-
if ($[
|
|
167
|
+
if ($[30] !== trigger) {
|
|
165
168
|
t10 = /* @__PURE__ */ jsx(Block, { children: trigger });
|
|
166
|
-
$[
|
|
167
|
-
$[
|
|
168
|
-
} else t10 = $[
|
|
169
|
+
$[30] = trigger;
|
|
170
|
+
$[31] = t10;
|
|
171
|
+
} else t10 = $[31];
|
|
169
172
|
return t10;
|
|
170
173
|
}
|
|
171
174
|
let t10;
|
|
172
|
-
if ($[
|
|
175
|
+
if ($[32] === Symbol.for("react.memo_cache_sentinel")) {
|
|
173
176
|
t10 = function onClick(e) {
|
|
174
177
|
e?.currentTarget?.parentNode.click();
|
|
175
178
|
};
|
|
176
|
-
$[
|
|
177
|
-
} else t10 = $[
|
|
179
|
+
$[32] = t10;
|
|
180
|
+
} else t10 = $[32];
|
|
178
181
|
const onClick = t10;
|
|
179
182
|
let t11;
|
|
180
|
-
if ($[
|
|
183
|
+
if ($[33] !== activeWrap || $[34] !== trigger) {
|
|
181
184
|
t11 = activeWrap ? /* @__PURE__ */ jsx(_ActiveZone, {
|
|
182
185
|
onClick,
|
|
183
186
|
children: trigger
|
|
184
187
|
}) : trigger;
|
|
185
|
-
$[
|
|
186
|
-
$[
|
|
187
|
-
$[
|
|
188
|
-
} else t11 = $[
|
|
188
|
+
$[33] = activeWrap;
|
|
189
|
+
$[34] = trigger;
|
|
190
|
+
$[35] = t11;
|
|
191
|
+
} else t11 = $[35];
|
|
189
192
|
const t12 = state.isOpen && !isDisabled;
|
|
190
193
|
let t13;
|
|
191
|
-
if ($[
|
|
194
|
+
if ($[36] !== tooltip || $[37] !== tooltipContextValue) {
|
|
192
195
|
t13 = (t14) => {
|
|
193
196
|
const { phase: phase_0, isShown: isShown_0, ref: transitionRef_0 } = t14;
|
|
194
197
|
return /* @__PURE__ */ jsx(TooltipContext.Provider, {
|
|
@@ -202,27 +205,27 @@ function TooltipTrigger(props) {
|
|
|
202
205
|
children: /* @__PURE__ */ jsx(Portal, { children: tooltip })
|
|
203
206
|
});
|
|
204
207
|
};
|
|
205
|
-
$[
|
|
206
|
-
$[
|
|
207
|
-
$[
|
|
208
|
-
} else t13 = $[
|
|
208
|
+
$[36] = tooltip;
|
|
209
|
+
$[37] = tooltipContextValue;
|
|
210
|
+
$[38] = t13;
|
|
211
|
+
} else t13 = $[38];
|
|
209
212
|
let t14;
|
|
210
|
-
if ($[
|
|
213
|
+
if ($[39] !== t12 || $[40] !== t13) {
|
|
211
214
|
t14 = /* @__PURE__ */ jsx(DisplayTransition, {
|
|
212
215
|
isShown: t12,
|
|
213
216
|
children: t13
|
|
214
217
|
});
|
|
215
|
-
$[
|
|
216
|
-
$[
|
|
217
|
-
$[
|
|
218
|
-
} else t14 = $[
|
|
218
|
+
$[39] = t12;
|
|
219
|
+
$[40] = t13;
|
|
220
|
+
$[41] = t14;
|
|
221
|
+
} else t14 = $[41];
|
|
219
222
|
let t15;
|
|
220
|
-
if ($[
|
|
223
|
+
if ($[42] !== t11 || $[43] !== t14) {
|
|
221
224
|
t15 = /* @__PURE__ */ jsxs(Fragment$1, { children: [t11, t14] });
|
|
222
|
-
$[
|
|
223
|
-
$[
|
|
224
|
-
$[
|
|
225
|
-
} else t15 = $[
|
|
225
|
+
$[42] = t11;
|
|
226
|
+
$[43] = t14;
|
|
227
|
+
$[44] = t15;
|
|
228
|
+
} else t15 = $[44];
|
|
226
229
|
const triggerContent = t15;
|
|
227
230
|
if (disableFocusableProvider) return triggerContent;
|
|
228
231
|
return /* @__PURE__ */ jsx(FocusableProvider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipTrigger.js","names":["FocusableProvider","FocusEvent","HTMLAttributes","isValidElement","ReactElement","ReactNode","RefObject","useRef","Placement","TooltipTriggerProps","useOverlayPosition","useTooltipTrigger","useTooltipTriggerState","useEvent","isDevEnv","isFocusRestoration","Block","ActiveZone","DisplayTransition","Portal","TooltipContext","DEFAULT_OFFSET","DEFAULT_CROSS_OFFSET","isTriggerFunction","value","TooltipTriggerFunction","isReactElement","triggerProps","HTMLElement","ref","CubeTooltipTriggerProps","children","crossOffset","offset","placement","isMaterial","isLight","activeWrap","targetRef","isOpen","onOpenChange","defaultOpen","isDisabled","delay","closeDelay","trigger","disableFocusableProvider","TooltipTrigger","props","$","_c","externalRef","t0","t1","triggerAction","t2","undefined","rawChildrenArray","Array","isArray","tooltip","Error","console","warn","internalRef","tooltipTriggerRef","overlayRef","t3","isDismissable","state","t4","rawTriggerProps","tooltipProps","t5","event","onFocus","t6","t7","overlayProps","arrowProps","updatePosition","t8","t9","minOffset","minScale","tooltipContextValue","t10","t11","phase","isShown","transitionRef","t12","Symbol","for","onClick","e","currentTarget","parentNode","click","t13","t14","phase_0","isShown_0","transitionRef_0","t15","triggerContent"],"sources":["../../../../src/components/overlays/Tooltip/TooltipTrigger.tsx"],"sourcesContent":["import { FocusableProvider } from '@react-aria/focus';\nimport {\n FocusEvent,\n HTMLAttributes,\n isValidElement,\n ReactElement,\n ReactNode,\n RefObject,\n useRef,\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';\nimport { isDevEnv } from '../../../utils/is-dev-env';\nimport { isFocusRestoration } from '../../../utils/react/programmaticFocus';\nimport { Block } from '../../Block';\nimport { ActiveZone } from '../../content/ActiveZone/ActiveZone';\nimport { DisplayTransition } from '../../helpers/DisplayTransition/DisplayTransition';\nimport { Portal } from '../../portal';\n\nimport { TooltipContext } from './context';\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(value: unknown): value is ReactElement {\n return isValidElement(value);\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 1500\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 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(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<HTMLElement | null>(null);\n\n let state = useTooltipTriggerState({ delay, ...props, isDismissable: false });\n\n let { triggerProps: rawTriggerProps, tooltipProps } = useTooltipTrigger(\n {\n trigger: triggerAction,\n delay,\n isOpen,\n onOpenChange,\n isDismissable: false,\n defaultOpen,\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 = { ...rawTriggerProps, onFocus };\n\n let { overlayProps, arrowProps, placement, updatePosition } =\n useOverlayPosition({\n placement: props.placement || 'top',\n targetRef: tooltipTriggerRef,\n overlayRef,\n offset,\n crossOffset,\n isDismissable: false,\n isOpen: state.isOpen,\n });\n\n const tooltipContextValue = {\n state,\n placement: placement || props.placement || 'top',\n ref: overlayRef,\n overlayProps,\n arrowProps,\n minOffset: 'var(--gap)',\n minScale: '1',\n isMaterial,\n isLight,\n updatePosition,\n ...tooltipProps,\n };\n\n // Function trigger pattern (new)\n if (isTriggerFunction(trigger)) {\n return (\n <>\n {trigger(triggerProps, tooltipTriggerRef)}\n <DisplayTransition isShown={state.isOpen}>\n {({ phase, isShown, ref: transitionRef }) => (\n <TooltipContext.Provider\n value={{\n ...tooltipContextValue,\n phase,\n isShown,\n ref: overlayRef,\n transitionRef,\n }}\n >\n <Portal>{tooltip}</Portal>\n </TooltipContext.Provider>\n )}\n </DisplayTransition>\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 <DisplayTransition isShown={state.isOpen && !isDisabled}>\n {({ phase, isShown, ref: transitionRef }) => (\n <TooltipContext.Provider\n value={{\n ...tooltipContextValue,\n phase,\n isShown,\n ref: overlayRef,\n transitionRef,\n }}\n >\n <Portal>{tooltip}</Portal>\n </TooltipContext.Provider>\n )}\n </DisplayTransition>\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","FocusEvent","HTMLAttributes","isValidElement","ReactElement","ReactNode","RefObject","useRef","Placement","TooltipTriggerProps","useOverlayPosition","useTooltipTrigger","useTooltipTriggerState","useEvent","isDevEnv","isFocusRestoration","Block","ActiveZone","DisplayTransition","Portal","TooltipContext","DEFAULT_OFFSET","DEFAULT_CROSS_OFFSET","isTriggerFunction","value","TooltipTriggerFunction","isReactElement","triggerProps","HTMLElement","ref","CubeTooltipTriggerProps","children","crossOffset","offset","placement","isMaterial","isLight","activeWrap","targetRef","isOpen","onOpenChange","defaultOpen","isDisabled","delay","closeDelay","trigger","disableFocusableProvider","TooltipTrigger","props","$","_c","externalRef","t0","t1","triggerAction","t2","undefined","rawChildrenArray","Array","isArray","tooltip","Error","console","warn","internalRef","tooltipTriggerRef","overlayRef","t3","isDismissable","state","t4","rawTriggerProps","tooltipProps","t5","event","onFocus","t6","t7","overlayProps","arrowProps","updatePosition","t8","t9","minOffset","minScale","tooltipContextValue","t10","t11","t12","phase","isShown","transitionRef","t13","Symbol","for","onClick","e","currentTarget","parentNode","click","t14","phase_0","isShown_0","transitionRef_0","t15","triggerContent"],"sources":["../../../../src/components/overlays/Tooltip/TooltipTrigger.tsx"],"sourcesContent":["import { FocusableProvider } from '@react-aria/focus';\nimport {\n FocusEvent,\n HTMLAttributes,\n isValidElement,\n ReactElement,\n ReactNode,\n RefObject,\n useRef,\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';\nimport { isDevEnv } from '../../../utils/is-dev-env';\nimport { isFocusRestoration } from '../../../utils/react/programmaticFocus';\nimport { Block } from '../../Block';\nimport { ActiveZone } from '../../content/ActiveZone/ActiveZone';\nimport { DisplayTransition } from '../../helpers/DisplayTransition/DisplayTransition';\nimport { Portal } from '../../portal';\n\nimport { TooltipContext } from './context';\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(value: unknown): value is ReactElement {\n return isValidElement(value);\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 1500\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 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(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<HTMLElement | null>(null);\n\n let state = useTooltipTriggerState({ delay, ...props, isDismissable: false });\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,\n trigger: triggerAction,\n delay,\n isOpen,\n onOpenChange,\n isDismissable: false,\n defaultOpen,\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 = { ...rawTriggerProps, onFocus };\n\n let { overlayProps, arrowProps, placement, updatePosition } =\n useOverlayPosition({\n placement: props.placement || 'top',\n targetRef: tooltipTriggerRef,\n overlayRef,\n offset,\n crossOffset,\n isDismissable: false,\n isOpen: state.isOpen,\n });\n\n const tooltipContextValue = {\n state,\n placement: placement || props.placement || 'top',\n ref: overlayRef,\n overlayProps,\n arrowProps,\n minOffset: 'var(--gap)',\n minScale: '1',\n isMaterial,\n isLight,\n updatePosition,\n ...tooltipProps,\n };\n\n // Function trigger pattern (new)\n if (isTriggerFunction(trigger)) {\n return (\n <>\n {trigger(triggerProps, tooltipTriggerRef)}\n <DisplayTransition isShown={state.isOpen && !isDisabled}>\n {({ phase, isShown, ref: transitionRef }) => (\n <TooltipContext.Provider\n value={{\n ...tooltipContextValue,\n phase,\n isShown,\n ref: overlayRef,\n transitionRef,\n }}\n >\n <Portal>{tooltip}</Portal>\n </TooltipContext.Provider>\n )}\n </DisplayTransition>\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 <DisplayTransition isShown={state.isOpen && !isDisabled}>\n {({ phase, isShown, ref: transitionRef }) => (\n <TooltipContext.Provider\n value={{\n ...tooltipContextValue,\n phase,\n isShown,\n ref: overlayRef,\n transitionRef,\n }}\n >\n <Portal>{tooltip}</Portal>\n </TooltipContext.Provider>\n )}\n </DisplayTransition>\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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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
import { HTMLAttributes } from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/overlays/Tooltip/split-trigger-props.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* The tooltip trigger props that only work on the element that takes focus.
|
|
7
|
+
* React Aria's `useFocus` ignores focus that bubbles up from a child, so on a
|
|
8
|
+
* wrapper around a native input — a radio's or a checkbox's `<label>` — the
|
|
9
|
+
* tooltip never opened from the keyboard, and `aria-describedby` described the
|
|
10
|
+
* wrapper instead of the control a screen reader announces.
|
|
11
|
+
*/
|
|
12
|
+
declare const FOCUS_TRIGGER_PROPS: readonly ["onFocus", "onBlur", "onKeyDown", "onKeyUp", "aria-describedby"];
|
|
13
|
+
type TooltipFocusProps = Pick<HTMLAttributes<HTMLElement>, (typeof FOCUS_TRIGGER_PROPS)[number]>;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { TooltipFocusProps };
|
|
16
|
+
//# sourceMappingURL=split-trigger-props.d.ts.map
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | Cube Dev Team */
|
|
2
|
+
import { mergeProps } from "../../../utils/react/mergeProps.js";
|
|
3
|
+
|
|
4
|
+
//#region src/components/overlays/Tooltip/split-trigger-props.ts
|
|
5
|
+
/**
|
|
6
|
+
* The tooltip trigger props that only work on the element that takes focus.
|
|
7
|
+
* React Aria's `useFocus` ignores focus that bubbles up from a child, so on a
|
|
8
|
+
* wrapper around a native input — a radio's or a checkbox's `<label>` — the
|
|
9
|
+
* tooltip never opened from the keyboard, and `aria-describedby` described the
|
|
10
|
+
* wrapper instead of the control a screen reader announces.
|
|
11
|
+
*/
|
|
12
|
+
const FOCUS_TRIGGER_PROPS = [
|
|
13
|
+
"onFocus",
|
|
14
|
+
"onBlur",
|
|
15
|
+
"onKeyDown",
|
|
16
|
+
"onKeyUp",
|
|
17
|
+
"aria-describedby"
|
|
18
|
+
];
|
|
19
|
+
/**
|
|
20
|
+
* Splits a tooltip's trigger props between the element it is positioned
|
|
21
|
+
* against and hovered on (`pointerProps`) and the focusable element inside it
|
|
22
|
+
* (`focusProps`).
|
|
23
|
+
*/
|
|
24
|
+
function splitTooltipTriggerProps(triggerProps = {}) {
|
|
25
|
+
const pointerProps = { ...triggerProps };
|
|
26
|
+
const focusProps = {};
|
|
27
|
+
for (const key of FOCUS_TRIGGER_PROPS) if (key in pointerProps) {
|
|
28
|
+
focusProps[key] = pointerProps[key];
|
|
29
|
+
delete pointerProps[key];
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
pointerProps,
|
|
33
|
+
focusProps
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Adds a tooltip's focus-side trigger props to a focusable element's own:
|
|
38
|
+
* handlers are chained, and the tooltip joins any description the element
|
|
39
|
+
* already has rather than replacing it. `tabIndex` is never touched — a radio
|
|
40
|
+
* group's roving tab index owns it.
|
|
41
|
+
*/
|
|
42
|
+
function mergeTooltipFocusProps(props, tooltipProps) {
|
|
43
|
+
if (!tooltipProps) return props;
|
|
44
|
+
const { "aria-describedby": tooltipDescribedBy, ...handlers } = tooltipProps;
|
|
45
|
+
const ownDescribedBy = props["aria-describedby"];
|
|
46
|
+
return {
|
|
47
|
+
...mergeProps(props, handlers),
|
|
48
|
+
"aria-describedby": [ownDescribedBy, tooltipDescribedBy].filter(Boolean).join(" ") || void 0
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
export { mergeTooltipFocusProps, splitTooltipTriggerProps };
|
|
54
|
+
//# sourceMappingURL=split-trigger-props.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"split-trigger-props.js","names":["mergeProps","HTMLAttributes","FOCUS_TRIGGER_PROPS","const","TooltipFocusProps","Pick","HTMLElement","splitTooltipTriggerProps","triggerProps","pointerProps","focusProps","key","Record","mergeTooltipFocusProps","props","P","tooltipProps","tooltipDescribedBy","handlers","ownDescribedBy","filter","Boolean","join","undefined"],"sources":["../../../../src/components/overlays/Tooltip/split-trigger-props.ts"],"sourcesContent":["import { mergeProps } from '../../../utils/react/mergeProps';\n\nimport type { HTMLAttributes } from 'react';\n\n/**\n * The tooltip trigger props that only work on the element that takes focus.\n * React Aria's `useFocus` ignores focus that bubbles up from a child, so on a\n * wrapper around a native input — a radio's or a checkbox's `<label>` — the\n * tooltip never opened from the keyboard, and `aria-describedby` described the\n * wrapper instead of the control a screen reader announces.\n */\nconst FOCUS_TRIGGER_PROPS = [\n 'onFocus',\n 'onBlur',\n 'onKeyDown',\n 'onKeyUp',\n 'aria-describedby',\n] as const;\n\nexport type TooltipFocusProps = Pick<\n HTMLAttributes<HTMLElement>,\n (typeof FOCUS_TRIGGER_PROPS)[number]\n>;\n\n/**\n * Splits a tooltip's trigger props between the element it is positioned\n * against and hovered on (`pointerProps`) and the focusable element inside it\n * (`focusProps`).\n */\nexport function splitTooltipTriggerProps(\n triggerProps: HTMLAttributes<HTMLElement> = {},\n) {\n const pointerProps: HTMLAttributes<HTMLElement> = { ...triggerProps };\n const focusProps: TooltipFocusProps = {};\n\n for (const key of FOCUS_TRIGGER_PROPS) {\n if (key in pointerProps) {\n (focusProps as Record<string, unknown>)[key] = pointerProps[key];\n delete pointerProps[key];\n }\n }\n\n return { pointerProps, focusProps };\n}\n\n/**\n * Adds a tooltip's focus-side trigger props to a focusable element's own:\n * handlers are chained, and the tooltip joins any description the element\n * already has rather than replacing it. `tabIndex` is never touched — a radio\n * group's roving tab index owns it.\n */\nexport function mergeTooltipFocusProps<P extends object>(\n props: P,\n tooltipProps?: TooltipFocusProps,\n): P {\n if (!tooltipProps) return props;\n\n const { 'aria-describedby': tooltipDescribedBy, ...handlers } = tooltipProps;\n const ownDescribedBy = (props as { 'aria-describedby'?: string })[\n 'aria-describedby'\n ];\n\n return {\n ...mergeProps(props, handlers),\n 'aria-describedby':\n [ownDescribedBy, tooltipDescribedBy].filter(Boolean).join(' ') ||\n undefined,\n } as P;\n}\n"],"mappings":";;;;;;;;;;;AAWA,MAAME,sBAAsB;CAC1B;CACA;CACA;CACA;CACA;CACD;;;;;;AAYD,SAAgBK,yBACdC,eAA4C,EAAE,EAC9C;CACA,MAAMC,eAA4C,EAAE,GAAGD,cAAc;CACrE,MAAME,aAAgC,EAAE;AAExC,MAAK,MAAMC,OAAOT,oBAChB,KAAIS,OAAOF,cAAc;AACvB,EAACC,WAAuCC,OAAOF,aAAaE;AAC5D,SAAOF,aAAaE;;AAIxB,QAAO;EAAEF;EAAcC;EAAY;;;;;;;;AASrC,SAAgBG,uBACdC,OACAE,cACG;AACH,KAAI,CAACA,aAAc,QAAOF;CAE1B,MAAM,EAAE,oBAAoBG,oBAAoB,GAAGC,aAAaF;CAChE,MAAMG,iBAAkBL,MACtB;AAGF,QAAO;EACL,GAAGd,WAAWc,OAAOI,SAAS;EAC9B,oBACE,CAACC,gBAAgBF,mBAAmB,CAACG,OAAOC,QAAQ,CAACC,KAAK,IAAI,IAC9DC;EACH"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | Cube Dev Team */
|
|
2
2
|
import { usePortalContext } from "./PortalProvider.js";
|
|
3
3
|
import { useEffect, useRef, useState } from "react";
|
|
4
4
|
import invariant from "tiny-invariant";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | Cube Dev Team */
|
|
2
2
|
import { useEvent } from "../../_internal/hooks/use-event.js";
|
|
3
3
|
import { useCallback, useEffect, useMemo, useRef } from "react";
|
|
4
4
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | Cube Dev Team */
|
|
2
2
|
import { c } from "react-compiler-runtime";
|
|
3
3
|
import { tasty } from "@tenphi/tasty";
|
|
4
4
|
import { memo } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | Cube Dev Team */
|
|
2
2
|
import { Cube } from "./Cube.js";
|
|
3
3
|
import { SpinsContainer } from "./SpinsContainer.js";
|
|
4
4
|
import { c } from "react-compiler-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | Cube Dev Team */
|
|
2
2
|
import { c } from "react-compiler-runtime";
|
|
3
3
|
import { tasty } from "@tenphi/tasty";
|
|
4
4
|
import { jsx } from "react/jsx-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.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | Cube Dev Team */
|
|
2
2
|
import { DEFAULTS } from "../defaults.generated.js";
|
|
3
3
|
|
|
4
4
|
//#region src/eslint-plugin/rules/no-redundant-default-prop.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | Cube Dev Team */
|
|
2
2
|
import { UIKIT_I18N_NAMESPACE, getI18n } from "./instance.js";
|
|
3
3
|
import { c } from "react-compiler-runtime";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | Cube Dev Team */
|
|
2
2
|
//#region src/i18n/createFormatter.ts
|
|
3
3
|
const cache = /* @__PURE__ */ new Map();
|
|
4
4
|
function getIntl(kind, Ctor, locale, options) {
|
package/dist/i18n/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | Cube Dev Team */
|
|
2
2
|
import { LOCALE_LABELS, SUPPORTED_LOCALES, isSupportedLocale } from "./locales.js";
|
|
3
3
|
import { UIKIT_I18N_NAMESPACE, createUIKitI18n, getI18n } from "./instance.js";
|
|
4
4
|
import { useI18n } from "./useI18n.js";
|
package/dist/i18n/instance.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | Cube Dev Team */
|
|
2
2
|
import { SUPPORTED_LOCALES } from "./locales.js";
|
|
3
3
|
import uikit_default from "./locales/de-DE/uikit.js";
|
|
4
4
|
import uikit_default$1 from "./locales/en-US/uikit.js";
|