@cube-dev/ui-kit 0.120.1 → 0.121.1
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 +20 -0
- package/dist/_internal/hooks/use-chained-callback.js +1 -1
- 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.d.ts +1 -0
- package/dist/components/actions/Button/Button.js +34 -14
- package/dist/components/actions/Button/Button.js.map +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.d.ts +47 -0
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +105 -0
- package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -0
- package/dist/components/actions/ButtonSplit/context.d.ts +18 -0
- package/dist/components/actions/ButtonSplit/context.js +12 -0
- package/dist/components/actions/ButtonSplit/context.js.map +1 -0
- package/dist/components/actions/ButtonSplit/index.d.ts +3 -0
- 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/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.d.ts +2 -2
- package/dist/components/actions/Menu/Menu.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/index.d.ts +8 -3
- package/dist/components/actions/index.js +10 -5
- package/dist/components/actions/index.js.map +1 -1
- package/dist/components/actions/use-action.d.ts +1 -0
- package/dist/components/actions/use-action.js +21 -18
- package/dist/components/actions/use-action.js.map +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +2 -1
- package/dist/components/content/Badge/Badge.js.map +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 +5 -2
- package/dist/components/content/Disclosure/Disclosure.js.map +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/Item/Item.js +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +3 -2
- package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPane.js +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/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 +2 -1
- package/dist/components/content/Tag/Tag.js.map +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/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.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/ComboBox/ComboBox.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/TimeInput.js +1 -1
- package/dist/components/fields/DatePicker/intl.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.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.js +2 -2
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/ListBox/ListBox.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 +2 -2
- package/dist/components/fields/RadioGroup/Radio.js +3 -1
- 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/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.d.ts +8 -2
- package/dist/components/fields/Select/Select.js +1 -1
- 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 +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/dist/components/form/FieldWrapper/extract-field-wrapper-props.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/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/index.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/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/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +2 -1
- package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/styled.js +3 -1
- package/dist/components/navigation/Tabs/styled.js.map +1 -1
- package/dist/components/navigation/Tabs/types.d.ts +2 -2
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/types.js.map +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
- package/dist/components/organisms/FileTabs/FileTabs.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/RangeCalendar.js +1 -1
- package/dist/components/other/CloudLogo/CloudLogo.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 +2 -2
- 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/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/OpenTransition.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 +1 -1
- package/dist/components/overlays/Tooltip/context.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/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 +6 -6
- package/dist/data/item-themes.js.map +1 -1
- package/dist/data/themes.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/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/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/PlayCircleIcon.js +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.js +7 -5
- package/dist/index.js.map +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/tokens/base.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/index.js +1 -1
- package/dist/tokens/layout.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/utils/ResizeSensor.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/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/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.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/useQaProps.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.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/BaseProperties.md +78 -0
- package/docs/ComplexLayout.md +459 -0
- package/docs/CreateComponent.md +410 -0
- package/docs/FieldProperties.md +117 -0
- package/docs/Introduction.md +122 -0
- package/docs/RenderCache.md +177 -0
- package/docs/Result.md +42 -0
- package/docs/SimpleLayout.md +26 -0
- package/docs/Typography.md +38 -0
- package/docs/components/Block.md +33 -0
- package/docs/components/CollectionItem.md +293 -0
- package/docs/components/GridProvider.md +38 -0
- package/docs/components/Root.md +50 -0
- package/docs/components/actions/Action.md +47 -0
- package/docs/components/actions/Banner.md +195 -0
- package/docs/components/actions/Button.md +209 -0
- package/docs/components/actions/ButtonGroup.md +46 -0
- package/docs/components/actions/ButtonSplit.md +199 -0
- package/docs/components/actions/CommandMenu.md +422 -0
- package/docs/components/actions/ItemAction.md +60 -0
- package/docs/components/actions/ItemButton.md +316 -0
- package/docs/components/actions/Link.md +325 -0
- package/docs/components/actions/Menu.md +485 -0
- package/docs/components/actions/MenuTrigger.md +47 -0
- package/docs/components/actions/SubMenuTrigger.md +38 -0
- package/docs/components/actions/use-anchored-menu.md +209 -0
- package/docs/components/actions/use-context-menu.md +218 -0
- package/docs/components/content/ActiveZone.md +37 -0
- package/docs/components/content/Alert.md +40 -0
- package/docs/components/content/Avatar.md +37 -0
- package/docs/components/content/Badge.md +194 -0
- package/docs/components/content/Card.md +40 -0
- package/docs/components/content/Content.md +44 -0
- package/docs/components/content/CopyPasteBlock.md +36 -0
- package/docs/components/content/CopySnippet.md +43 -0
- package/docs/components/content/Disclosure.md +181 -0
- package/docs/components/content/Divider.md +39 -0
- package/docs/components/content/Footer.md +35 -0
- package/docs/components/content/Header.md +35 -0
- package/docs/components/content/HotKeys.md +352 -0
- package/docs/components/content/Item.md +499 -0
- package/docs/components/content/ItemBadge.md +31 -0
- package/docs/components/content/ItemCard.md +131 -0
- package/docs/components/content/Layout.md +843 -0
- package/docs/components/content/Paragraph.md +32 -0
- package/docs/components/content/Placeholder.md +37 -0
- package/docs/components/content/PrismCode.md +36 -0
- package/docs/components/content/PrismDiffCode.md +29 -0
- package/docs/components/content/Result.md +46 -0
- package/docs/components/content/Skeleton.md +35 -0
- package/docs/components/content/Tag.md +165 -0
- package/docs/components/content/Text.md +54 -0
- package/docs/components/content/TextItem.md +217 -0
- package/docs/components/content/Title.md +45 -0
- package/docs/components/fields/Checkbox.md +176 -0
- package/docs/components/fields/ComboBox.md +651 -0
- package/docs/components/fields/DatePicker.md +227 -0
- package/docs/components/fields/FileInput.md +194 -0
- package/docs/components/fields/FilterListBox.md +726 -0
- package/docs/components/fields/FilterPicker.md +776 -0
- package/docs/components/fields/HueSlider.md +175 -0
- package/docs/components/fields/ListBox.md +714 -0
- package/docs/components/fields/NumberInput.md +180 -0
- package/docs/components/fields/PasswordInput.md +214 -0
- package/docs/components/fields/Picker.md +906 -0
- package/docs/components/fields/RadioGroup.md +310 -0
- package/docs/components/fields/SearchInput.md +224 -0
- package/docs/components/fields/Select.md +576 -0
- package/docs/components/fields/Slider.md +53 -0
- package/docs/components/fields/Switch.md +169 -0
- package/docs/components/fields/TextArea.md +61 -0
- package/docs/components/fields/TextInput.md +205 -0
- package/docs/components/fields/TextInputMapper.md +34 -0
- package/docs/components/form/Field.md +333 -0
- package/docs/components/form/Form.md +644 -0
- package/docs/components/form/FormInstance.md +307 -0
- package/docs/components/helpers/DisplayTransition.md +268 -0
- package/docs/components/helpers/IconSwitch.md +160 -0
- package/docs/components/layout/Flex.md +51 -0
- package/docs/components/layout/Flow.md +32 -0
- package/docs/components/layout/Grid.md +46 -0
- package/docs/components/layout/Panel.md +65 -0
- package/docs/components/layout/Prefix.md +37 -0
- package/docs/components/layout/ResizablePanel.md +69 -0
- package/docs/components/layout/Space.md +44 -0
- package/docs/components/layout/Suffix.md +39 -0
- package/docs/components/navigation/Tabs.md +726 -0
- package/docs/components/organisms/FileTabs.md +39 -0
- package/docs/components/organisms/StatsCard.md +40 -0
- package/docs/components/other/CloudLogo.md +33 -0
- package/docs/components/overlays/AlertDialog.md +51 -0
- package/docs/components/overlays/Dialog.md +200 -0
- package/docs/components/overlays/DialogContainer.md +201 -0
- package/docs/components/overlays/DialogForm.md +295 -0
- package/docs/components/overlays/DialogTrigger.md +191 -0
- package/docs/components/overlays/Notifications.md +402 -0
- package/docs/components/overlays/Toast.md +289 -0
- package/docs/components/overlays/Tooltip.md +400 -0
- package/docs/components/overlays/TooltipProvider.md +42 -0
- package/docs/components/overlays/TooltipTrigger.md +42 -0
- package/docs/components/overlays/UseDialogContainer.md +597 -0
- package/docs/components/portal/Portal.md +29 -0
- package/docs/components/status/LoadingAnimation.md +27 -0
- package/docs/components/status/Spin.md +35 -0
- package/docs/tasty/configuration.md +211 -0
- package/docs/tasty/debug.md +505 -0
- package/docs/tasty/injector.md +528 -0
- package/docs/tasty/styles.md +567 -0
- package/docs/tasty/tasty-static.md +376 -0
- package/docs/tasty/usage.md +643 -0
- package/package.json +5 -9
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
# Tooltip
|
|
2
|
+
|
|
3
|
+
Tooltips display informative text when users hover over or focus an element. They provide supplementary information about an element without cluttering the interface.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- Provide brief descriptions of buttons, icons, or other UI elements
|
|
8
|
+
- Show keyboard shortcuts or additional context for actions
|
|
9
|
+
- Display truncated text or labels in full
|
|
10
|
+
- Explain unfamiliar terms or provide helpful hints
|
|
11
|
+
- Add supplementary information without overwhelming the interface
|
|
12
|
+
|
|
13
|
+
## Components
|
|
14
|
+
|
|
15
|
+
This module exports three components that work together:
|
|
16
|
+
|
|
17
|
+
- **`TooltipProvider`** - Convenience wrapper for simple tooltip use cases (recommended)
|
|
18
|
+
- **`TooltipTrigger`** - Lower-level component for advanced tooltip scenarios
|
|
19
|
+
- **`Tooltip`** - The tooltip content container (used with `TooltipTrigger`)
|
|
20
|
+
|
|
21
|
+
## TooltipProvider (Recommended)
|
|
22
|
+
|
|
23
|
+
The simplest way to add tooltips to your components. It combines `TooltipTrigger` and `Tooltip` for convenience.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
### Properties
|
|
28
|
+
|
|
29
|
+
- **`title`** `ReactNode` — Content to display inside the tooltip
|
|
30
|
+
- **`tooltipStyles`** `Styles` — Custom styles for the tooltip content container
|
|
31
|
+
- **`width`** `string` — Width of the tooltip
|
|
32
|
+
- **`placement`** `Placement` (default: `'top'`) — Position of the tooltip relative to its trigger. Options: `top`, `bottom`, `left`, `right`, `start`, `end`
|
|
33
|
+
- **`delay`** `number` (default: `250`) — The delay time in ms for the tooltip to show up
|
|
34
|
+
- **`closeDelay`** `number` (default: `500`) — The delay time in ms for the tooltip to close
|
|
35
|
+
- **`offset`** `number` (default: `8`) — Distance between the tooltip and the trigger element
|
|
36
|
+
- **`crossOffset`** `number` (default: `0`) — Cross-axis offset of the tooltip
|
|
37
|
+
- **`isMaterial`** `boolean` — Enables material-style tooltip with auto pointer events
|
|
38
|
+
- **`isLight`** `boolean` — Uses light color scheme for the tooltip
|
|
39
|
+
- **`isDisabled`** `boolean` — Whether the tooltip is disabled
|
|
40
|
+
- **`isOpen`** `boolean` — Controlled open state of the tooltip
|
|
41
|
+
- **`defaultOpen`** `boolean` — Whether the tooltip is open by default (uncontrolled)
|
|
42
|
+
- **`onOpenChange`** `(isOpen: boolean) => void` — Callback when the tooltip open state changes
|
|
43
|
+
- **`trigger`** `'focus'` — When set, opens the tooltip only on focus instead of both focus and hover
|
|
44
|
+
|
|
45
|
+
### Base Properties
|
|
46
|
+
|
|
47
|
+
Supports [Base properties](../../BaseProperties.md)
|
|
48
|
+
|
|
49
|
+
### Styling Properties
|
|
50
|
+
|
|
51
|
+
#### tooltipStyles
|
|
52
|
+
|
|
53
|
+
Customizes the tooltip content container.
|
|
54
|
+
|
|
55
|
+
**Sub-elements:**
|
|
56
|
+
- None (tooltip tip is styled via `tipStyles` prop on `Tooltip` component)
|
|
57
|
+
|
|
58
|
+
### Style Properties
|
|
59
|
+
|
|
60
|
+
These properties allow direct style application without using the `styles` prop: `width`.
|
|
61
|
+
|
|
62
|
+
### Modifiers
|
|
63
|
+
|
|
64
|
+
The `mods` property on the tooltip accepts the following modifiers you can override:
|
|
65
|
+
|
|
66
|
+
- **`material`** `boolean` — Enables material-style tooltip with pointer events
|
|
67
|
+
- **`light`** `boolean` — Uses light color scheme instead of dark
|
|
68
|
+
- **`open`** `boolean` — Indicates whether the tooltip is currently visible
|
|
69
|
+
|
|
70
|
+
## TooltipTrigger
|
|
71
|
+
|
|
72
|
+
Lower-level component that wraps a trigger element and a `Tooltip`. Use this when you need more control over the tooltip content or behavior.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
### Properties
|
|
77
|
+
|
|
78
|
+
- **`placement`** `Placement` (default: `'top'`) — Position of the tooltip relative to its trigger. Options: `top`, `bottom`, `left`, `right`, `start`, `end`
|
|
79
|
+
- **`delay`** `number` (default: `250`) — The delay time in ms for the tooltip to show up
|
|
80
|
+
- **`closeDelay`** `number` (default: `500`) — The delay time in ms for the tooltip to close
|
|
81
|
+
- **`offset`** `number` (default: `8`) — Distance between the tooltip and the trigger element
|
|
82
|
+
- **`crossOffset`** `number` (default: `0`) — Cross-axis offset of the tooltip
|
|
83
|
+
- **`isMaterial`** `boolean` — Enables material-style tooltip with auto pointer events
|
|
84
|
+
- **`isLight`** `boolean` — Uses light color scheme for the tooltip
|
|
85
|
+
- **`isDisabled`** `boolean` — Whether the tooltip is disabled
|
|
86
|
+
- **`isOpen`** `boolean` — Controlled open state of the tooltip
|
|
87
|
+
- **`defaultOpen`** `boolean` — Whether the tooltip is open by default (uncontrolled)
|
|
88
|
+
- **`onOpenChange`** `(isOpen: boolean) => void` — Callback when the tooltip open state changes
|
|
89
|
+
- **`trigger`** `'focus'` — When set, opens the tooltip only on focus instead of both focus and hover
|
|
90
|
+
- **`activeWrap`** `boolean` — *(deprecated)* Whether the trigger should have an ActiveZone wrap. Use function-as-first-child pattern instead.
|
|
91
|
+
- **`targetRef`** `RefObject<HTMLElement>` — External ref to use for the trigger element
|
|
92
|
+
|
|
93
|
+
### Base Properties
|
|
94
|
+
|
|
95
|
+
Supports [Base properties](../../BaseProperties.md)
|
|
96
|
+
|
|
97
|
+
## Tooltip
|
|
98
|
+
|
|
99
|
+
Display container for tooltip content. Has a directional arrow dependent on its placement. This component is typically used as a child of `TooltipTrigger` or automatically rendered by `TooltipProvider`.
|
|
100
|
+
|
|
101
|
+
### Properties
|
|
102
|
+
|
|
103
|
+
#### tipStyles
|
|
104
|
+
|
|
105
|
+
Customizes the tooltip arrow (tip) element.
|
|
106
|
+
|
|
107
|
+
#### showIcon
|
|
108
|
+
|
|
109
|
+
`boolean` - Controls whether an icon should be displayed in the tooltip.
|
|
110
|
+
|
|
111
|
+
#### placement
|
|
112
|
+
|
|
113
|
+
`PlacementAxis` - Controls the position of the tooltip relative to its trigger. Options: `top`, `bottom`, `left`, `right`.
|
|
114
|
+
|
|
115
|
+
#### isMaterial
|
|
116
|
+
|
|
117
|
+
`boolean` - Enables material-style tooltip with auto pointer events.
|
|
118
|
+
|
|
119
|
+
#### isLight
|
|
120
|
+
|
|
121
|
+
`boolean` - Uses light color scheme for the tooltip.
|
|
122
|
+
|
|
123
|
+
#### width
|
|
124
|
+
|
|
125
|
+
Specifies the width of the tooltip.
|
|
126
|
+
|
|
127
|
+
### Base Properties
|
|
128
|
+
|
|
129
|
+
Supports [Base properties](../../BaseProperties.md)
|
|
130
|
+
|
|
131
|
+
### Styling Properties
|
|
132
|
+
|
|
133
|
+
#### styles
|
|
134
|
+
|
|
135
|
+
Customizes the root element of the tooltip.
|
|
136
|
+
|
|
137
|
+
**Sub-elements:**
|
|
138
|
+
- None
|
|
139
|
+
|
|
140
|
+
## Usage Patterns
|
|
141
|
+
|
|
142
|
+
### Standard Pattern (Active Elements)
|
|
143
|
+
|
|
144
|
+
For focusable and hoverable elements like `Button`, `Link`, `IconButton`, etc., use the standard pattern with `TooltipProvider`:
|
|
145
|
+
|
|
146
|
+
```jsx
|
|
147
|
+
<TooltipProvider title="Click to save">
|
|
148
|
+
<Button>Save</Button>
|
|
149
|
+
</TooltipProvider>
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Or with `TooltipTrigger`:
|
|
153
|
+
|
|
154
|
+
```jsx
|
|
155
|
+
<TooltipTrigger>
|
|
156
|
+
<Button>Save</Button>
|
|
157
|
+
<Tooltip>Click to save</Tooltip>
|
|
158
|
+
</TooltipTrigger>
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Function Pattern (Non-Focusable Elements)
|
|
162
|
+
|
|
163
|
+
For elements that don't have native DOM focus or hover support (like `div`, `span`, or custom components), use the function-as-child pattern:
|
|
164
|
+
|
|
165
|
+
```jsx
|
|
166
|
+
<TooltipProvider title="Additional information">
|
|
167
|
+
{(triggerProps, ref) => (
|
|
168
|
+
<div ref={ref} {...triggerProps}>
|
|
169
|
+
Hoverable content
|
|
170
|
+
</div>
|
|
171
|
+
)}
|
|
172
|
+
</TooltipProvider>
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
With `TooltipTrigger`:
|
|
176
|
+
|
|
177
|
+
```jsx
|
|
178
|
+
<TooltipTrigger>
|
|
179
|
+
{(triggerProps, ref) => (
|
|
180
|
+
<span ref={ref} {...triggerProps}>
|
|
181
|
+
Custom element
|
|
182
|
+
</span>
|
|
183
|
+
)}
|
|
184
|
+
<Tooltip>Tooltip content</Tooltip>
|
|
185
|
+
</TooltipTrigger>
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Different Placements
|
|
189
|
+
|
|
190
|
+
Control where the tooltip appears relative to its trigger:
|
|
191
|
+
|
|
192
|
+
```jsx
|
|
193
|
+
<TooltipProvider title="Tooltip on the right" placement="right">
|
|
194
|
+
<Button>Hover me</Button>
|
|
195
|
+
</TooltipProvider>
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Light Theme
|
|
199
|
+
|
|
200
|
+
Use the light theme for tooltips on dark backgrounds:
|
|
201
|
+
|
|
202
|
+
```jsx
|
|
203
|
+
<TooltipProvider title="Light tooltip" isLight>
|
|
204
|
+
<Button>Hover me</Button>
|
|
205
|
+
</TooltipProvider>
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Custom Delay
|
|
209
|
+
|
|
210
|
+
Adjust how long the user must hover before the tooltip appears:
|
|
211
|
+
|
|
212
|
+
```jsx
|
|
213
|
+
<TooltipProvider title="Quick tooltip" delay={100}>
|
|
214
|
+
<Button>Fast tooltip</Button>
|
|
215
|
+
</TooltipProvider>
|
|
216
|
+
|
|
217
|
+
<TooltipProvider title="Slower tooltip" delay={1000}>
|
|
218
|
+
<Button>Slow tooltip</Button>
|
|
219
|
+
</TooltipProvider>
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Custom Styling
|
|
223
|
+
|
|
224
|
+
Customize the appearance of the tooltip:
|
|
225
|
+
|
|
226
|
+
```jsx
|
|
227
|
+
<TooltipProvider
|
|
228
|
+
title="Styled tooltip"
|
|
229
|
+
tooltipStyles={{
|
|
230
|
+
fill: '#purple',
|
|
231
|
+
color: '#white',
|
|
232
|
+
padding: '1.5x 2x',
|
|
233
|
+
}}
|
|
234
|
+
>
|
|
235
|
+
<Button>Custom tooltip</Button>
|
|
236
|
+
</TooltipProvider>
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Controlled Tooltip
|
|
240
|
+
|
|
241
|
+
Programmatically control when the tooltip is shown:
|
|
242
|
+
|
|
243
|
+
```jsx
|
|
244
|
+
function ControlledExample() {
|
|
245
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
246
|
+
|
|
247
|
+
return (
|
|
248
|
+
<TooltipProvider
|
|
249
|
+
title="Controlled tooltip"
|
|
250
|
+
isOpen={isOpen}
|
|
251
|
+
onOpenChange={setIsOpen}
|
|
252
|
+
>
|
|
253
|
+
<Button onClick={() => setIsOpen(!isOpen)}>
|
|
254
|
+
Toggle tooltip
|
|
255
|
+
</Button>
|
|
256
|
+
</TooltipProvider>
|
|
257
|
+
);
|
|
258
|
+
}
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### Conditional Tooltip
|
|
262
|
+
|
|
263
|
+
Show a tooltip only when certain conditions are met:
|
|
264
|
+
|
|
265
|
+
```jsx
|
|
266
|
+
<TooltipProvider title={hasError ? "Fix errors first" : null}>
|
|
267
|
+
<Button isDisabled={hasError}>Submit</Button>
|
|
268
|
+
</TooltipProvider>
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Focus-Only Trigger
|
|
272
|
+
|
|
273
|
+
Show tooltip only on focus, not on hover:
|
|
274
|
+
|
|
275
|
+
```jsx
|
|
276
|
+
<TooltipProvider title="Focus only" trigger="focus">
|
|
277
|
+
<Button>Focus me</Button>
|
|
278
|
+
</TooltipProvider>
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
## Accessibility
|
|
282
|
+
|
|
283
|
+
### Keyboard Navigation
|
|
284
|
+
|
|
285
|
+
- `Tab` - Moves focus to the trigger element, showing the tooltip after the delay
|
|
286
|
+
- `Shift + Tab` - Moves focus away from the trigger, hiding the tooltip
|
|
287
|
+
- Tooltips automatically appear on focus for keyboard users
|
|
288
|
+
|
|
289
|
+
### Screen Reader Support
|
|
290
|
+
|
|
291
|
+
- Tooltips use the `tooltip` ARIA role
|
|
292
|
+
- Content is announced to screen readers when the tooltip appears
|
|
293
|
+
- The trigger element maintains proper focus management
|
|
294
|
+
- Tooltips are associated with their triggers via ARIA attributes
|
|
295
|
+
|
|
296
|
+
### ARIA Properties
|
|
297
|
+
|
|
298
|
+
- `aria-describedby` - Automatically set on the trigger to reference the tooltip
|
|
299
|
+
- All standard ARIA labeling props are supported
|
|
300
|
+
|
|
301
|
+
### Best Practices
|
|
302
|
+
|
|
303
|
+
1. **Keep it brief** - Tooltips should contain concise, supplementary information
|
|
304
|
+
```jsx
|
|
305
|
+
{/* Good */}
|
|
306
|
+
<TooltipProvider title="Save changes">
|
|
307
|
+
<Button><IconDeviceFloppy /></Button>
|
|
308
|
+
</TooltipProvider>
|
|
309
|
+
|
|
310
|
+
{/* Avoid */}
|
|
311
|
+
<TooltipProvider title="This button will save all your changes to the database and close the dialog. Make sure you review your changes before clicking.">
|
|
312
|
+
<Button>Save</Button>
|
|
313
|
+
</TooltipProvider>
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
2. **Don't hide critical information** - Never put essential information only in a tooltip
|
|
317
|
+
```jsx
|
|
318
|
+
{/* Good - tooltip adds context */}
|
|
319
|
+
<TooltipProvider title="Permanently delete this item">
|
|
320
|
+
<Button theme="danger">Delete</Button>
|
|
321
|
+
</TooltipProvider>
|
|
322
|
+
|
|
323
|
+
{/* Avoid - essential action only in tooltip */}
|
|
324
|
+
<TooltipProvider title="Delete item">
|
|
325
|
+
<Button><IconX /></Button>
|
|
326
|
+
</TooltipProvider>
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
3. **Use appropriate delays** - Default delay (250ms) works for most cases
|
|
330
|
+
```jsx
|
|
331
|
+
{/* Good - default delay */}
|
|
332
|
+
<TooltipProvider title="Info">
|
|
333
|
+
<Button>Action</Button>
|
|
334
|
+
</TooltipProvider>
|
|
335
|
+
|
|
336
|
+
{/* Consider longer delay for dense interfaces */}
|
|
337
|
+
<TooltipProvider title="Info" delay={500}>
|
|
338
|
+
<IconButton><IconInfo /></IconButton>
|
|
339
|
+
</TooltipProvider>
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
4. **Choose the right pattern** - Use function pattern only when necessary
|
|
343
|
+
```jsx
|
|
344
|
+
{/* Good - standard pattern for active elements */}
|
|
345
|
+
<TooltipProvider title="Click me">
|
|
346
|
+
<Button>Action</Button>
|
|
347
|
+
</TooltipProvider>
|
|
348
|
+
|
|
349
|
+
{/* Good - function pattern for non-focusable elements */}
|
|
350
|
+
<TooltipProvider title="Info">
|
|
351
|
+
{(props, ref) => (
|
|
352
|
+
<div ref={ref} {...props}>Content</div>
|
|
353
|
+
)}
|
|
354
|
+
</TooltipProvider>
|
|
355
|
+
|
|
356
|
+
{/* Avoid - unnecessary function pattern */}
|
|
357
|
+
<TooltipProvider title="Click me">
|
|
358
|
+
{(props, ref) => (
|
|
359
|
+
<Button ref={ref} {...props}>Action</Button>
|
|
360
|
+
)}
|
|
361
|
+
</TooltipProvider>
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
5. **Provide meaningful context** - Ensure tooltip text is descriptive
|
|
365
|
+
```jsx
|
|
366
|
+
{/* Good */}
|
|
367
|
+
<TooltipProvider title="Export as CSV">
|
|
368
|
+
<IconButton><IconDownload /></IconButton>
|
|
369
|
+
</TooltipProvider>
|
|
370
|
+
|
|
371
|
+
{/* Avoid */}
|
|
372
|
+
<TooltipProvider title="Click here">
|
|
373
|
+
<IconButton><IconDownload /></IconButton>
|
|
374
|
+
</TooltipProvider>
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
## Migration from activeWrap
|
|
378
|
+
|
|
379
|
+
The `activeWrap` prop is deprecated. If you're using it, migrate to the function pattern:
|
|
380
|
+
|
|
381
|
+
```jsx
|
|
382
|
+
{/* Before (deprecated) */}
|
|
383
|
+
<TooltipProvider title="Tooltip" activeWrap>
|
|
384
|
+
<span>Text</span>
|
|
385
|
+
</TooltipProvider>
|
|
386
|
+
|
|
387
|
+
{/* After */}
|
|
388
|
+
<TooltipProvider title="Tooltip">
|
|
389
|
+
{(props, ref) => (
|
|
390
|
+
<span ref={ref} {...props}>
|
|
391
|
+
Text
|
|
392
|
+
</span>
|
|
393
|
+
)}
|
|
394
|
+
</TooltipProvider>
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
## Related Components
|
|
398
|
+
|
|
399
|
+
- [Button](../actions/Button.md) - Primary use case for tooltips
|
|
400
|
+
- [Dialog](./Dialog.md) - For more complex interactive content
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# TooltipProvider
|
|
2
|
+
|
|
3
|
+
A convenience wrapper that combines `TooltipTrigger` and `Tooltip` into a single component. The simplest way to add tooltips.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- Simple tooltips with minimal configuration
|
|
8
|
+
- Wrapping elements that need tooltip on hover
|
|
9
|
+
- When separate `TooltipTrigger` + `Tooltip` would be verbose
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- **`title`** `ReactNode` — Tooltip content
|
|
14
|
+
- **`tooltipStyles`** `Styles` — Custom styles for the tooltip
|
|
15
|
+
- **`width`** `string` — Tooltip width
|
|
16
|
+
- **`isDisabled`** `boolean` — Disable the tooltip
|
|
17
|
+
|
|
18
|
+
Inherits all TooltipTrigger properties: `placement`, `offset`, `crossOffset`, `delay`, etc.
|
|
19
|
+
|
|
20
|
+
### Base Properties
|
|
21
|
+
|
|
22
|
+
Supports [Base properties](../../BaseProperties.md).
|
|
23
|
+
|
|
24
|
+
## Examples
|
|
25
|
+
|
|
26
|
+
### Simple tooltip
|
|
27
|
+
|
|
28
|
+
```jsx
|
|
29
|
+
<TooltipProvider title="Help text">
|
|
30
|
+
<Button>Hover me</Button>
|
|
31
|
+
</TooltipProvider>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Render function children
|
|
35
|
+
|
|
36
|
+
```jsx
|
|
37
|
+
<TooltipProvider title="Click to copy">
|
|
38
|
+
{(triggerProps, ref) => (
|
|
39
|
+
<span {...triggerProps} ref={ref}>Custom trigger</span>
|
|
40
|
+
)}
|
|
41
|
+
</TooltipProvider>
|
|
42
|
+
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# TooltipTrigger
|
|
2
|
+
|
|
3
|
+
Lower-level component that wraps a trigger element and a `Tooltip`. Use when you need full control over tooltip content and positioning.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- Adding tooltips to buttons, icons, or any focusable element
|
|
8
|
+
- Providing additional context on hover
|
|
9
|
+
- When you need custom tooltip content or layout
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- **`placement`** `Placement` (default: `'top'`) — Tooltip position relative to trigger
|
|
14
|
+
- **`offset`** `number` (default: `8`) — Distance from trigger in pixels
|
|
15
|
+
- **`crossOffset`** `number` (default: `0`) — Cross-axis offset in pixels
|
|
16
|
+
- **`delay`** `number` (default: `250`) — Show delay in milliseconds
|
|
17
|
+
- **`isMaterial`** `boolean` — Material design style tooltip
|
|
18
|
+
- **`isLight`** `boolean` — Light theme tooltip
|
|
19
|
+
- **`isDisabled`** `boolean` — Disable the tooltip
|
|
20
|
+
- **`isOpen`** `boolean` — Controlled open state
|
|
21
|
+
- **`defaultOpen`** `boolean` — Initially open (uncontrolled)
|
|
22
|
+
- **`onOpenChange`** `(isOpen: boolean) => void` — Callback when open state changes
|
|
23
|
+
|
|
24
|
+
### Base Properties
|
|
25
|
+
|
|
26
|
+
Supports [Base properties](../../BaseProperties.md).
|
|
27
|
+
|
|
28
|
+
## Examples
|
|
29
|
+
|
|
30
|
+
```jsx
|
|
31
|
+
<TooltipTrigger>
|
|
32
|
+
<Button iconOnly>
|
|
33
|
+
<Icon icon={IconDeviceFloppy} />
|
|
34
|
+
</Button>
|
|
35
|
+
<Tooltip>Save document</Tooltip>
|
|
36
|
+
</TooltipTrigger>
|
|
37
|
+
|
|
38
|
+
<TooltipTrigger placement="bottom">
|
|
39
|
+
<Button>More</Button>
|
|
40
|
+
<Tooltip>Additional options</Tooltip>
|
|
41
|
+
</TooltipTrigger>
|
|
42
|
+
```
|