@cube-dev/ui-kit 0.102.0 → 0.103.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/es/_internal/hooks/index.js +1 -1
- package/es/_internal/hooks/use-chained-callback.js +1 -1
- package/es/_internal/hooks/use-debounced-value.js +1 -1
- package/es/_internal/hooks/use-deprecation-warning.js +1 -1
- package/es/_internal/hooks/use-effect-once.js +1 -1
- package/es/_internal/hooks/use-event.js +1 -1
- package/es/_internal/hooks/use-is-first-render.js +1 -1
- package/es/_internal/hooks/use-sync-ref.js +1 -1
- package/es/_internal/hooks/use-timer/index.js +1 -1
- package/es/_internal/hooks/use-timer/timer.js +1 -1
- package/es/_internal/hooks/use-timer/use-timer.js +1 -1
- package/es/_internal/hooks/use-update-effect.js +1 -1
- package/es/_internal/hooks/use-warn.js +1 -1
- package/es/_internal/index.js +1 -1
- package/es/components/Block.js +1 -1
- package/es/components/CollectionItem.js +1 -1
- package/es/components/GlobalStyles.js +1 -1
- package/es/components/GridProvider.js +1 -1
- package/es/components/HiddenInput.js +1 -1
- package/es/components/OpenTrasition.js +1 -1
- package/es/components/Root.js +1 -1
- package/es/components/actions/Action/Action.js +1 -1
- package/es/components/actions/Button/Button.js +1 -1
- package/es/components/actions/Button/index.js +1 -1
- package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/es/components/actions/CommandMenu/index.js +1 -1
- package/es/components/actions/CommandMenu/styled.js +1 -1
- package/es/components/actions/ItemAction/ItemAction.js +1 -1
- package/es/components/actions/ItemAction/index.js +1 -1
- package/es/components/actions/ItemActionContext.js +1 -1
- package/es/components/actions/ItemButton/ItemButton.js +1 -1
- package/es/components/actions/ItemButton/index.js +1 -1
- package/es/components/actions/Link/Link.js +1 -1
- package/es/components/actions/Menu/Menu.js +1 -1
- package/es/components/actions/Menu/MenuItem.js +1 -1
- package/es/components/actions/Menu/MenuSection.js +1 -1
- package/es/components/actions/Menu/MenuTrigger.js +1 -1
- package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/es/components/actions/Menu/context.js +1 -1
- package/es/components/actions/Menu/index.js +1 -1
- package/es/components/actions/Menu/styled.js +1 -1
- package/es/components/actions/index.js +1 -1
- package/es/components/actions/use-action.js +1 -1
- package/es/components/actions/use-anchored-menu.js +1 -1
- package/es/components/actions/use-context-menu.js +1 -1
- package/es/components/content/ActiveZone/ActiveZone.js +1 -1
- package/es/components/content/Alert/Alert.js +1 -1
- package/es/components/content/Alert/index.js +1 -1
- package/es/components/content/Alert/types.js +1 -1
- package/es/components/content/Alert/use-alert.js +1 -1
- package/es/components/content/Avatar/Avatar.js +1 -1
- package/es/components/content/Badge/Badge.js +1 -1
- package/es/components/content/Card/Card.js +1 -1
- package/es/components/content/Content.js +1 -1
- package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/es/components/content/CopyPasteBlock/index.js +1 -1
- package/es/components/content/CopySnippet/CopySnippet.js +1 -1
- package/es/components/content/CopySnippet/index.js +1 -1
- package/es/components/content/Disclosure/Disclosure.js +1 -1
- package/es/components/content/Disclosure/index.js +1 -1
- package/es/components/content/Divider.js +1 -1
- package/es/components/content/Footer.js +1 -1
- package/es/components/content/Header.js +1 -1
- package/es/components/content/HotKeys/HotKeys.js +1 -1
- package/es/components/content/HotKeys/index.js +1 -1
- package/es/components/content/Item/Item.js +2 -2
- package/es/components/content/Item/index.js +1 -1
- package/es/components/content/ItemBadge/ItemBadge.js +1 -1
- package/es/components/content/ItemBadge/index.js +1 -1
- package/es/components/content/Layout/GridLayout.js +1 -1
- package/es/components/content/Layout/Layout.js +1 -1
- package/es/components/content/Layout/LayoutBlock.js +1 -1
- package/es/components/content/Layout/LayoutCenter.js +1 -1
- package/es/components/content/Layout/LayoutContainer.js +1 -1
- package/es/components/content/Layout/LayoutContent.js +1 -1
- package/es/components/content/Layout/LayoutContext.js +1 -1
- package/es/components/content/Layout/LayoutFlex.js +1 -1
- package/es/components/content/Layout/LayoutFooter.js +1 -1
- package/es/components/content/Layout/LayoutGrid.js +1 -1
- package/es/components/content/Layout/LayoutHeader.js +1 -1
- package/es/components/content/Layout/LayoutPane.js +1 -1
- package/es/components/content/Layout/LayoutPanel.js +1 -1
- package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/es/components/content/Layout/LayoutToolbar.js +1 -1
- package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/es/components/content/Layout/index.js +1 -1
- package/es/components/content/Layout/utils.js +1 -1
- package/es/components/content/List/SectionHeading.js +1 -1
- package/es/components/content/List/index.js +1 -1
- package/es/components/content/Paragraph.js +1 -1
- package/es/components/content/Placeholder/Placeholder.js +1 -1
- package/es/components/content/PrismCode/PrismCode.js +1 -1
- package/es/components/content/PrismCode/prismSetup.js +1 -1
- package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/es/components/content/Result/Result.js +1 -1
- package/es/components/content/Skeleton/Skeleton.js +1 -1
- package/es/components/content/Tag/Tag.js +1 -1
- package/es/components/content/Text.js +1 -1
- package/es/components/content/TextItem/TextItem.js +1 -1
- package/es/components/content/TextItem/index.js +1 -1
- package/es/components/content/Title.js +1 -1
- package/es/components/content/highlightText.js +1 -1
- package/es/components/content/use-auto-tooltip.js +1 -1
- package/es/components/fields/Checkbox/Checkbox.js +1 -1
- package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/es/components/fields/Checkbox/context.js +1 -1
- package/es/components/fields/Checkbox/index.js +1 -1
- package/es/components/fields/ComboBox/ComboBox.js +1 -1
- package/es/components/fields/ComboBox/index.js +1 -1
- package/es/components/fields/DatePicker/DateInput.js +1 -1
- package/es/components/fields/DatePicker/DateInputBase.js +1 -1
- package/es/components/fields/DatePicker/DatePicker.js +1 -1
- package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
- package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
- package/es/components/fields/DatePicker/TimeInput.js +1 -1
- package/es/components/fields/DatePicker/index.js +1 -1
- package/es/components/fields/DatePicker/intl.js +1 -1
- package/es/components/fields/DatePicker/parseDate.js +1 -1
- package/es/components/fields/DatePicker/props.js +1 -1
- package/es/components/fields/DatePicker/types.js +1 -1
- package/es/components/fields/DatePicker/utils.js +1 -1
- package/es/components/fields/FileInput/FileInput.js +1 -1
- package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/es/components/fields/FilterListBox/index.js +1 -1
- package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
- package/es/components/fields/FilterPicker/index.js +1 -1
- package/es/components/fields/Input/Input.js +1 -1
- package/es/components/fields/Input/index.js +1 -1
- package/es/components/fields/ListBox/ListBox.js +1 -1
- package/es/components/fields/ListBox/index.js +1 -1
- package/es/components/fields/NumberInput/NumberInput.js +1 -1
- package/es/components/fields/NumberInput/StepButton.js +1 -1
- package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/es/components/fields/Picker/Picker.js +1 -1
- package/es/components/fields/Picker/index.js +1 -1
- package/es/components/fields/RadioGroup/Radio.js +1 -1
- package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/es/components/fields/RadioGroup/context.js +1 -1
- package/es/components/fields/RadioGroup/index.js +1 -1
- package/es/components/fields/SearchInput/SearchInput.js +1 -1
- package/es/components/fields/SearchInput/index.js +1 -1
- package/es/components/fields/Select/Select.js +1 -1
- package/es/components/fields/Select/index.js +1 -1
- package/es/components/fields/Slider/Gradation.js +1 -1
- package/es/components/fields/Slider/Header.js +1 -1
- package/es/components/fields/Slider/RangeSlider.js +1 -1
- package/es/components/fields/Slider/Slider.js +1 -1
- package/es/components/fields/Slider/SliderBase.js +1 -1
- package/es/components/fields/Slider/SliderInput.js +1 -1
- package/es/components/fields/Slider/SliderThumb.js +1 -1
- package/es/components/fields/Slider/SliderTrack.js +1 -1
- package/es/components/fields/Slider/elements.js +1 -1
- package/es/components/fields/Slider/index.js +1 -1
- package/es/components/fields/Slider/types.js +1 -1
- package/es/components/fields/Switch/Switch.js +1 -1
- package/es/components/fields/Switch/index.js +1 -1
- package/es/components/fields/TextArea/TextArea.js +1 -1
- package/es/components/fields/TextArea/index.js +1 -1
- package/es/components/fields/TextInput/TextInput.js +1 -1
- package/es/components/fields/TextInput/TextInputBase.js +1 -1
- package/es/components/fields/TextInput/index.js +1 -1
- package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/es/components/fields/TextInputMapper/index.js +1 -1
- package/es/components/fields/index.js +1 -1
- package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
- package/es/components/form/FieldWrapper/index.js +1 -1
- package/es/components/form/FieldWrapper/types.js +1 -1
- package/es/components/form/Form/Field.js +1 -1
- package/es/components/form/Form/Form.js +1 -1
- package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/es/components/form/Form/ResetButton/index.js +1 -1
- package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/es/components/form/Form/SubmitButton/index.js +1 -1
- package/es/components/form/Form/SubmitError.js +1 -1
- package/es/components/form/Form/index.js +1 -1
- package/es/components/form/Form/types.js +1 -1
- package/es/components/form/Form/use-field/index.js +1 -1
- package/es/components/form/Form/use-field/types.js +1 -1
- package/es/components/form/Form/use-field/use-field-props.js +1 -1
- package/es/components/form/Form/use-field/use-field.js +1 -1
- package/es/components/form/Form/use-form.js +1 -1
- package/es/components/form/Form/validation.js +1 -1
- package/es/components/form/Label.js +1 -1
- package/es/components/form/index.js +1 -1
- package/es/components/form/wrapper.js +1 -1
- package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/es/components/helpers/DisplayTransition/index.js +1 -1
- package/es/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/es/components/helpers/index.js +1 -1
- package/es/components/layout/Flex.js +1 -1
- package/es/components/layout/Flow.js +1 -1
- package/es/components/layout/Grid.js +1 -1
- package/es/components/layout/Panel.js +1 -1
- package/es/components/layout/Prefix.js +1 -1
- package/es/components/layout/ResizablePanel.js +1 -1
- package/es/components/layout/Space.js +1 -1
- package/es/components/layout/Suffix.js +1 -1
- package/es/components/navigation/Tabs/DraggableTabList.js +101 -0
- package/es/components/navigation/Tabs/EditableTitle.js +116 -0
- package/es/components/navigation/Tabs/TabButton.js +320 -0
- package/es/components/navigation/Tabs/TabDropIndicator.js +34 -0
- package/es/components/navigation/Tabs/TabPanel.js +128 -0
- package/es/components/navigation/Tabs/TabPicker.js +32 -0
- package/es/components/navigation/Tabs/Tabs.js +163 -706
- package/es/components/navigation/Tabs/TabsContext.js +29 -0
- package/es/components/navigation/Tabs/index.js +1 -1
- package/es/components/navigation/Tabs/styled.js +337 -0
- package/es/components/navigation/Tabs/types.js +17 -0
- package/es/components/navigation/Tabs/use-tab-editing.js +61 -0
- package/es/components/navigation/Tabs/use-tab-indicator.js +77 -0
- package/es/components/navigation/index.js +1 -1
- package/es/components/organisms/FileTabs/FileTabs.js +1 -1
- package/es/components/organisms/StatsCard/StatsCard.js +1 -1
- package/es/components/other/Calendar/Calendar.js +1 -1
- package/es/components/other/Calendar/CalendarCell.js +1 -1
- package/es/components/other/Calendar/CalendarGrid.js +1 -1
- package/es/components/other/Calendar/RangeCalendar.js +1 -1
- package/es/components/other/CloudLogo/CloudLogo.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/es/components/overlays/AlertDialog/index.js +1 -1
- package/es/components/overlays/AlertDialog/types.js +1 -1
- package/es/components/overlays/Dialog/Dialog.js +1 -1
- package/es/components/overlays/Dialog/DialogContainer.js +1 -1
- package/es/components/overlays/Dialog/DialogForm.js +1 -1
- package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/es/components/overlays/Dialog/context.js +1 -1
- package/es/components/overlays/Dialog/index.js +1 -1
- package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/es/components/overlays/Modal/Modal.js +1 -1
- package/es/components/overlays/Modal/OpenTransition.js +1 -1
- package/es/components/overlays/Modal/Overlay.js +1 -1
- package/es/components/overlays/Modal/Popover.js +1 -1
- package/es/components/overlays/Modal/Tray.js +1 -1
- package/es/components/overlays/Modal/Underlay.js +1 -1
- package/es/components/overlays/Modal/index.js +1 -1
- package/es/components/overlays/Modal/types.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
- package/es/components/overlays/NewNotifications/Notification.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
- package/es/components/overlays/NewNotifications/index.js +1 -1
- package/es/components/overlays/NewNotifications/types.js +1 -1
- package/es/components/overlays/Notification/Notification.js +1 -1
- package/es/components/overlays/OverlayWrapper.js +1 -1
- package/es/components/overlays/Toasts/Toast.js +1 -1
- package/es/components/overlays/Toasts/index.js +1 -1
- package/es/components/overlays/Toasts/types.js +1 -1
- package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
- package/es/components/overlays/Tooltip/Tooltip.js +1 -1
- package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/es/components/overlays/Tooltip/context.js +1 -1
- package/es/components/overlays/Tooltip/index.js +1 -1
- package/es/components/portal/Portal.js +1 -1
- package/es/components/portal/PortalProvider.js +1 -1
- package/es/components/portal/index.js +1 -1
- package/es/components/portal/types.js +1 -1
- package/es/components/portal/usePortal.js +1 -1
- package/es/components/shared/InvalidIcon.js +1 -1
- package/es/components/shared/ValidIcon.js +1 -1
- package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/es/components/status/LoadingAnimation/index.js +1 -1
- package/es/components/status/Spin/Cube.js +1 -1
- package/es/components/status/Spin/InternalSpinner.js +1 -1
- package/es/components/status/Spin/Spin.js +1 -1
- package/es/components/status/Spin/SpinsContainer.js +1 -1
- package/es/components/status/Spin/index.js +1 -1
- package/es/components/status/Spin/types.js +1 -1
- package/es/components/status/index.js +1 -1
- package/es/data/item-themes.js +1 -1
- package/es/data/themes.js +1 -1
- package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/es/icons/AdjustmentsIcon.js +1 -1
- package/es/icons/AiIcon.js +1 -1
- package/es/icons/AreaChartIcon.js +1 -1
- package/es/icons/BackwardIcon.js +1 -1
- package/es/icons/BarChartIcon.js +1 -1
- package/es/icons/BellFilledIcon.js +1 -1
- package/es/icons/BellIcon.js +1 -1
- package/es/icons/BooleanIcon.js +1 -1
- package/es/icons/CalendarEditIcon.js +1 -1
- package/es/icons/CalendarIcon.js +1 -1
- package/es/icons/CaretDownIcon.js +1 -1
- package/es/icons/CaretUpIcon.js +1 -1
- package/es/icons/ChartAreaStackedIcon.js +1 -1
- package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/es/icons/ChartBarGroupedIcon.js +1 -1
- package/es/icons/ChartBarHorizontalIcon.js +1 -1
- package/es/icons/ChartBarLineIcon.js +1 -1
- package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/es/icons/ChartBarStackedIcon.js +1 -1
- package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/es/icons/ChartBoxPlot2Icon.js +1 -1
- package/es/icons/ChartBoxPlotIcon.js +1 -1
- package/es/icons/ChartBubbleIcon.js +1 -1
- package/es/icons/ChartDonut2Icon.js +1 -1
- package/es/icons/ChartFunnelIcon.js +1 -1
- package/es/icons/ChartHeatmapIcon.js +1 -1
- package/es/icons/ChartKPIIcon.js +1 -1
- package/es/icons/ChartPie2Icon.js +1 -1
- package/es/icons/ChartScatterIcon.js +1 -1
- package/es/icons/CheckCircleFilledIcon.js +1 -1
- package/es/icons/CheckCircleIcon.js +1 -1
- package/es/icons/CheckIcon.js +1 -1
- package/es/icons/CircleFilledIcon.js +1 -1
- package/es/icons/ClearIcon.js +1 -1
- package/es/icons/CloseCircleFilledIcon.js +1 -1
- package/es/icons/CloseCircleIcon.js +1 -1
- package/es/icons/CloseIcon.js +1 -1
- package/es/icons/CodeIcon.js +1 -1
- package/es/icons/ColumnTotalIcon.js +1 -1
- package/es/icons/CopyIcon.js +1 -1
- package/es/icons/CountIcon.js +1 -1
- package/es/icons/CubeIcon.js +1 -1
- package/es/icons/CubePauseIcon.js +1 -1
- package/es/icons/CubePlayIcon.js +1 -1
- package/es/icons/CurrencyDollarIcon.js +1 -1
- package/es/icons/DangerIcon.js +1 -1
- package/es/icons/DashboardIcon.js +1 -1
- package/es/icons/DatabaseIcon.js +1 -1
- package/es/icons/DecimalDecreaseIcon.js +1 -1
- package/es/icons/DecimalIncreaseIcon.js +1 -1
- package/es/icons/DirectionIcon.js +1 -1
- package/es/icons/DonutIcon.js +1 -1
- package/es/icons/DownIcon.js +1 -1
- package/es/icons/EditIcon.js +1 -1
- package/es/icons/ExclamationCircleFilledIcon.js +1 -1
- package/es/icons/ExclamationCircleIcon.js +1 -1
- package/es/icons/ExclamationIcon.js +1 -1
- package/es/icons/EyeIcon.js +1 -1
- package/es/icons/EyeInvisibleIcon.js +1 -1
- package/es/icons/FilterIcon.js +1 -1
- package/es/icons/FolderFilledIcon.js +1 -1
- package/es/icons/FolderIcon.js +1 -1
- package/es/icons/FolderOpenFilledIcon.js +1 -1
- package/es/icons/FolderOpenIcon.js +1 -1
- package/es/icons/ForwardIcon.js +1 -1
- package/es/icons/HierarchyIcon.js +1 -1
- package/es/icons/HierarchyOpenIcon.js +1 -1
- package/es/icons/Icon.js +1 -1
- package/es/icons/InfoCircleIcon.js +1 -1
- package/es/icons/InfoIcon.js +1 -1
- package/es/icons/KeyIcon.js +1 -1
- package/es/icons/LeftIcon.js +1 -1
- package/es/icons/LineChartIcon.js +1 -1
- package/es/icons/LoadingIcon.js +1 -1
- package/es/icons/LockFilledIcon.js +1 -1
- package/es/icons/LockIcon.js +1 -1
- package/es/icons/MoreIcon.js +1 -1
- package/es/icons/NotAllowedIcon.js +1 -1
- package/es/icons/Number123Icon.js +1 -1
- package/es/icons/NumberIcon.js +1 -1
- package/es/icons/PauseCircleFilledIcon.js +1 -1
- package/es/icons/PauseCircleIcon.js +1 -1
- package/es/icons/PauseIcon.js +1 -1
- package/es/icons/PercentageIcon.js +1 -1
- package/es/icons/PieChartIcon.js +1 -1
- package/es/icons/PlayCircleIcon.js +1 -1
- package/es/icons/PlayIcon.js +1 -1
- package/es/icons/PlusIcon.js +1 -1
- package/es/icons/ProgressBarIcon.js +1 -1
- package/es/icons/ReloadIcon.js +1 -1
- package/es/icons/ReportIcon.js +1 -1
- package/es/icons/ReturnIcon.js +1 -1
- package/es/icons/RightIcon.js +1 -1
- package/es/icons/RowTotalsIcon.js +1 -1
- package/es/icons/SchemeIcon.js +1 -1
- package/es/icons/SearchIcon.js +1 -1
- package/es/icons/SemanticQueryIcon.js +1 -1
- package/es/icons/SettingsIcon.js +1 -1
- package/es/icons/ShieldFilledIcon.js +1 -1
- package/es/icons/ShieldIcon.js +1 -1
- package/es/icons/SlashIcon.js +1 -1
- package/es/icons/SparklesIcon.js +1 -1
- package/es/icons/SqlIcon.js +1 -1
- package/es/icons/StatsIcon.js +1 -1
- package/es/icons/StopIcon.js +1 -1
- package/es/icons/StringIcon.js +1 -1
- package/es/icons/SubtotalsIcon.js +1 -1
- package/es/icons/SwitchIcon.js +1 -1
- package/es/icons/TableIcon.js +1 -1
- package/es/icons/ThumbsDownIcon.js +1 -1
- package/es/icons/ThumbsUpIcon.js +1 -1
- package/es/icons/ThunderboltCrossedIcon.js +1 -1
- package/es/icons/ThunderboltFilledIcon.js +1 -1
- package/es/icons/ThunderboltIcon.js +1 -1
- package/es/icons/TimeIcon.js +1 -1
- package/es/icons/TrashIcon.js +1 -1
- package/es/icons/UnlockIcon.js +1 -1
- package/es/icons/UpIcon.js +1 -1
- package/es/icons/UserGroupIcon.js +1 -1
- package/es/icons/UserIcon.js +1 -1
- package/es/icons/UserLockIcon.js +1 -1
- package/es/icons/ViewIcon.js +1 -1
- package/es/icons/WarningFilledIcon.js +1 -1
- package/es/icons/WarningIcon.js +1 -1
- package/es/icons/index.js +1 -1
- package/es/icons/wrap-icon.js +1 -1
- package/es/index.js +1 -1
- package/es/provider.js +1 -1
- package/es/providers/TrackingProvider.js +1 -1
- package/es/providers/navigation.types.js +1 -1
- package/es/providers/navigationAdapter.default.js +1 -1
- package/es/services/notification.js +1 -1
- package/es/shared/form.js +1 -1
- package/es/shared/index.js +1 -1
- package/es/stories/Form.legacy-stories.js +1 -1
- package/es/stories/FormFieldArgs.js +1 -1
- package/es/stories/SimpleLayout.stories.js +1 -1
- package/es/stories/Tasty.stories.js +1 -1
- package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
- package/es/stories/components/DialogFormApp.js +1 -1
- package/es/stories/components/StyledButton.js +1 -1
- package/es/stories/lists/baseProps.js +1 -1
- package/es/stories/playground/PlaygroundEditor.js +1 -1
- package/es/stories/playground/PlaygroundLayout.js +1 -1
- package/es/stories/playground/PlaygroundOutput.js +1 -1
- package/es/stories/playground/PlaygroundPreview.js +1 -1
- package/es/stories/playground/components/Button.js +1 -1
- package/es/stories/playground/components/Card.js +1 -1
- package/es/stories/playground/components/ScrollProgress.js +1 -1
- package/es/stories/playground/examples.js +1 -1
- package/es/tasty/chunks/cacheKey.js +1 -1
- package/es/tasty/chunks/definitions.js +1 -1
- package/es/tasty/chunks/index.js +1 -1
- package/es/tasty/chunks/renderChunk.js +1 -1
- package/es/tasty/config.js +1 -1
- package/es/tasty/debug.js +1 -1
- package/es/tasty/hooks/index.js +1 -1
- package/es/tasty/hooks/useGlobalStyles.js +1 -1
- package/es/tasty/hooks/useKeyframes.js +1 -1
- package/es/tasty/hooks/useProperty.js +1 -1
- package/es/tasty/hooks/useRawCSS.js +1 -1
- package/es/tasty/hooks/useStyles.js +1 -1
- package/es/tasty/index.js +1 -1
- package/es/tasty/injector/index.js +1 -1
- package/es/tasty/injector/injector.js +1 -1
- package/es/tasty/injector/sheet-manager.js +1 -1
- package/es/tasty/injector/types.js +1 -1
- package/es/tasty/keyframes/index.js +1 -1
- package/es/tasty/parser/classify.js +1 -1
- package/es/tasty/parser/const.js +1 -1
- package/es/tasty/parser/lru.js +1 -1
- package/es/tasty/parser/parser.js +1 -1
- package/es/tasty/parser/tokenizer.js +1 -1
- package/es/tasty/parser/types.js +1 -1
- package/es/tasty/pipeline/conditions.js +1 -1
- package/es/tasty/pipeline/exclusive.js +1 -1
- package/es/tasty/pipeline/index.js +1 -1
- package/es/tasty/pipeline/materialize.js +1 -1
- package/es/tasty/pipeline/parseStateKey.js +1 -1
- package/es/tasty/pipeline/simplify.js +1 -1
- package/es/tasty/plugins/index.js +1 -1
- package/es/tasty/plugins/okhsl-plugin.js +1 -1
- package/es/tasty/plugins/types.js +1 -1
- package/es/tasty/properties/index.js +1 -1
- package/es/tasty/states/index.js +1 -1
- package/es/tasty/static/index.js +1 -1
- package/es/tasty/static/tastyStatic.js +1 -1
- package/es/tasty/static/types.js +1 -1
- package/es/tasty/styles/align.js +1 -1
- package/es/tasty/styles/border.js +1 -1
- package/es/tasty/styles/boxShadow.combinator.js +1 -1
- package/es/tasty/styles/color.js +1 -1
- package/es/tasty/styles/createStyle.js +1 -1
- package/es/tasty/styles/dimension.js +1 -1
- package/es/tasty/styles/display.js +1 -1
- package/es/tasty/styles/fade.js +1 -1
- package/es/tasty/styles/fill.js +1 -1
- package/es/tasty/styles/flow.js +1 -1
- package/es/tasty/styles/gap.js +1 -1
- package/es/tasty/styles/height.js +1 -1
- package/es/tasty/styles/index.js +1 -1
- package/es/tasty/styles/inset.js +6 -5
- package/es/tasty/styles/justify.js +1 -1
- package/es/tasty/styles/list.js +1 -1
- package/es/tasty/styles/margin.js +6 -5
- package/es/tasty/styles/outline.js +1 -1
- package/es/tasty/styles/padding.js +6 -5
- package/es/tasty/styles/place.js +1 -1
- package/es/tasty/styles/predefined.js +1 -1
- package/es/tasty/styles/preset.js +1 -1
- package/es/tasty/styles/radius.js +1 -1
- package/es/tasty/styles/reset.js +1 -1
- package/es/tasty/styles/scrollbar.js +1 -1
- package/es/tasty/styles/shadow.js +1 -1
- package/es/tasty/styles/styledScrollbar.js +1 -1
- package/es/tasty/styles/transition.js +1 -1
- package/es/tasty/styles/types.js +1 -1
- package/es/tasty/styles/width.js +1 -1
- package/es/tasty/tasty.js +1 -1
- package/es/tasty/types.js +1 -1
- package/es/tasty/utils/cache-wrapper.js +1 -1
- package/es/tasty/utils/case-converter.js +1 -1
- package/es/tasty/utils/colors.js +1 -1
- package/es/tasty/utils/dotize.js +1 -1
- package/es/tasty/utils/filter-base-props.js +1 -1
- package/es/tasty/utils/get-display-name.js +1 -1
- package/es/tasty/utils/hsl-to-rgb.js +1 -1
- package/es/tasty/utils/is-dev-env.js +1 -1
- package/es/tasty/utils/merge-styles.js +1 -1
- package/es/tasty/utils/mod-attrs.js +1 -1
- package/es/tasty/utils/okhsl-to-rgb.js +1 -1
- package/es/tasty/utils/process-tokens.js +1 -1
- package/es/tasty/utils/rgb-to-okhsl.js +1 -1
- package/es/tasty/utils/string.js +1 -1
- package/es/tasty/utils/styles.js +1 -1
- package/es/tasty/utils/typography.js +1 -1
- package/es/tasty/utils/warnings.js +1 -1
- package/es/tasty/zero/babel.js +1 -1
- package/es/tasty/zero/css-writer.js +1 -1
- package/es/tasty/zero/extractor.js +1 -1
- package/es/tasty/zero/index.js +1 -1
- package/es/tasty/zero/next.js +1 -1
- package/es/tokens/base.js +1 -1
- package/es/tokens/colors.js +1 -1
- package/es/tokens/index.js +1 -1
- package/es/tokens/layout.js +1 -1
- package/es/tokens/shadows.js +1 -1
- package/es/tokens/sizes.js +1 -1
- package/es/tokens/spacing.js +1 -1
- package/es/tokens/typography.js +1 -1
- package/es/utils/ResizeSensor.js +1 -1
- package/es/utils/index.js +1 -1
- package/es/utils/modules.js +1 -1
- package/es/utils/promise.js +1 -1
- package/es/utils/raf.js +1 -1
- package/es/utils/random.js +1 -1
- package/es/utils/range.js +1 -1
- package/es/utils/react/RenderCache.js +1 -1
- package/es/utils/react/Slots.js +1 -1
- package/es/utils/react/chain.js +1 -1
- package/es/utils/react/forwardRefWithGenerics.js +1 -1
- package/es/utils/react/index.js +1 -1
- package/es/utils/react/interactions.js +1 -1
- package/es/utils/react/isTextOnly.js +1 -1
- package/es/utils/react/mapProps.js +1 -1
- package/es/utils/react/mergeProps.js +1 -1
- package/es/utils/react/nullableValue.js +1 -1
- package/es/utils/react/resolveIcon.js +1 -1
- package/es/utils/react/sharedStore.js +1 -1
- package/es/utils/react/useCombinedRefs.js +1 -1
- package/es/utils/react/useControlledFocusVisible.js +1 -1
- package/es/utils/react/useEventBus.js +1 -1
- package/es/utils/react/useId.js +1 -1
- package/es/utils/react/useIsDarwin.js +1 -1
- package/es/utils/react/useKeySymbols.js +1 -1
- package/es/utils/react/useLayoutEffect.js +1 -1
- package/es/utils/react/useLocalStorage.js +1 -1
- package/es/utils/react/useQaProps.js +1 -1
- package/es/utils/react/useViewportSize.js +1 -1
- package/es/utils/react/wrapNodeIfPlain.js +1 -1
- package/es/utils/tree.js +1 -1
- package/es/utils/warnings.js +1 -1
- package/es/version.js +2 -2
- package/package.json +2 -2
- package/types/components/navigation/Tabs/DraggableTabList.d.ts +23 -0
- package/types/components/navigation/Tabs/EditableTitle.d.ts +24 -0
- package/types/components/navigation/Tabs/TabButton.d.ts +22 -0
- package/types/components/navigation/Tabs/TabDropIndicator.d.ts +17 -0
- package/types/components/navigation/Tabs/TabPanel.d.ts +49 -0
- package/types/components/navigation/Tabs/TabPicker.d.ts +19 -0
- package/types/components/navigation/Tabs/Tabs.d.ts +3 -188
- package/types/components/navigation/Tabs/TabsContext.d.ts +52 -0
- package/types/components/navigation/Tabs/index.d.ts +1 -1
- package/types/components/navigation/Tabs/styled.d.ts +5927 -0
- package/types/components/navigation/Tabs/types.d.ts +238 -0
- package/types/components/navigation/Tabs/use-tab-editing.d.ts +30 -0
- package/types/components/navigation/Tabs/use-tab-indicator.d.ts +20 -0
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import type { Key } from '@react-types/shared';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import type { BaseProps, OuterStyleProps, Styles } from '../../../tasty';
|
|
4
|
+
import type { CubeItemActionProps } from '../../actions/ItemAction';
|
|
5
|
+
import type { CubeMenuProps } from '../../actions/Menu';
|
|
6
|
+
import type { CubeItemProps } from '../../content/Item';
|
|
7
|
+
/** Visual appearance type for tabs */
|
|
8
|
+
export type TabType = 'default' | 'narrow' | 'file' | 'panel' | 'radio';
|
|
9
|
+
/**
|
|
10
|
+
* Tab size options.
|
|
11
|
+
* Radio type only supports 'medium' | 'large' (mapped to smaller Item sizes).
|
|
12
|
+
*/
|
|
13
|
+
export type TabSize = 'xsmall' | 'small' | 'medium' | 'large';
|
|
14
|
+
/**
|
|
15
|
+
* Size mapping for radio type tabs.
|
|
16
|
+
* Radio type uses smaller sizes similar to RadioGroup tabs mode.
|
|
17
|
+
*/
|
|
18
|
+
export declare const RADIO_SIZE_MAP: Record<'medium' | 'large', TabSize>;
|
|
19
|
+
/** Common props for panel rendering behavior */
|
|
20
|
+
export interface PanelBehaviorProps {
|
|
21
|
+
/** If true, panel is rendered but hidden when not active. */
|
|
22
|
+
prerender?: boolean;
|
|
23
|
+
/** If true, once visited the panel stays in DOM. */
|
|
24
|
+
keepMounted?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/** Common props for QA attributes */
|
|
27
|
+
export interface QAProps {
|
|
28
|
+
/** QA selector attribute. */
|
|
29
|
+
qa?: string;
|
|
30
|
+
/** Additional QA value attribute. */
|
|
31
|
+
qaVal?: string;
|
|
32
|
+
}
|
|
33
|
+
/** Props from CubeItemProps that don't apply to Tab */
|
|
34
|
+
type OmittedItemProps = 'id' | 'type' | 'size' | 'theme' | 'shape' | 'icon' | 'rightIcon' | 'prefix' | 'suffix' | 'description' | 'descriptionPlacement' | 'descriptionProps' | 'tooltip' | 'defaultTooltipPlacement' | 'hotkeys' | 'keyboardShortcutProps' | 'loadingSlot' | 'isLoading' | 'labelProps' | 'labelRef' | 'level' | 'highlight' | 'highlightCaseSensitive' | 'highlightStyles' | 'variant' | 'htmlType' | 'isSelected' | 'preserveActionsSpace' | 'disableActionsFocus' | 'actions' | 'showActionsOnHover';
|
|
35
|
+
/** Common styling props for tabs - inherits style props from CubeItemProps */
|
|
36
|
+
export interface TabStyleProps extends Omit<CubeItemProps, OmittedItemProps> {
|
|
37
|
+
/**
|
|
38
|
+
* Tab size. Supports 'xsmall', 'small', 'medium', 'large'.
|
|
39
|
+
* Radio type only supports 'medium' | 'large' (mapped to smaller Item sizes).
|
|
40
|
+
*/
|
|
41
|
+
size?: TabSize;
|
|
42
|
+
/** Visual appearance type. */
|
|
43
|
+
type?: TabType;
|
|
44
|
+
/** Whether to show actions only on hover. */
|
|
45
|
+
showActionsOnHover?: boolean;
|
|
46
|
+
}
|
|
47
|
+
/** Cache key type - primitives only for reliable comparison */
|
|
48
|
+
export type CacheKeyValue = string | number | boolean | null | undefined;
|
|
49
|
+
export interface CubeTabsProps extends BaseProps, OuterStyleProps, PanelBehaviorProps {
|
|
50
|
+
/** Controlled active tab key. When provided, component is controlled. */
|
|
51
|
+
activeKey?: Key;
|
|
52
|
+
/** Initial active tab key for uncontrolled mode. */
|
|
53
|
+
defaultActiveKey?: Key;
|
|
54
|
+
/**
|
|
55
|
+
* Visual appearance type for tabs.
|
|
56
|
+
* - `default` - Standard tabs with selection indicator below (default)
|
|
57
|
+
* - `narrow` - Same as default but with collapsed vertical padding on labels
|
|
58
|
+
* - `file` - File-style tabs with fill highlight on selection, delimiter between tabs
|
|
59
|
+
* - `panel` - Panel-style tabs with border bottom highlight on selection, delimiter between tabs
|
|
60
|
+
* - `radio` - Radio button style for tab selection
|
|
61
|
+
* @default 'default'
|
|
62
|
+
*/
|
|
63
|
+
type?: TabType;
|
|
64
|
+
/**
|
|
65
|
+
* Tab size. Supports 'xsmall', 'small', 'medium', 'large'.
|
|
66
|
+
* Radio type only supports 'medium' | 'large' (mapped to smaller Item sizes).
|
|
67
|
+
* @default 'medium'
|
|
68
|
+
*/
|
|
69
|
+
size?: TabSize;
|
|
70
|
+
/** Accessible label for the tab list. */
|
|
71
|
+
label?: string;
|
|
72
|
+
/** Content rendered before the tab list. */
|
|
73
|
+
prefix?: ReactNode;
|
|
74
|
+
/** Content rendered after the tab list. */
|
|
75
|
+
suffix?: ReactNode;
|
|
76
|
+
/** Callback when active tab changes. */
|
|
77
|
+
onChange?: (key: Key) => void;
|
|
78
|
+
/** Callback when tab delete button is clicked. Presence enables delete buttons. */
|
|
79
|
+
onDelete?: (key: Key) => void;
|
|
80
|
+
/** Callback when a tab title is changed. Enables title editing on tabs with isEditable. */
|
|
81
|
+
onTitleChange?: (key: Key, newTitle: string) => void;
|
|
82
|
+
/** Whether to show tab actions only on hover. Can be overridden per-tab. */
|
|
83
|
+
showActionsOnHover?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Whether tabs are editable by default.
|
|
86
|
+
* Can be overridden per-tab via Tab's isEditable prop.
|
|
87
|
+
* @default false
|
|
88
|
+
*/
|
|
89
|
+
isEditable?: boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Default menu items for all tabs.
|
|
92
|
+
* Can be overridden per-tab via Tab's menu prop.
|
|
93
|
+
* Set to `null` on individual Tab to disable menu for that tab.
|
|
94
|
+
*/
|
|
95
|
+
menu?: ReactNode;
|
|
96
|
+
/**
|
|
97
|
+
* Default props for the menu trigger button.
|
|
98
|
+
* Can be overridden per-tab via Tab's menuTriggerProps prop.
|
|
99
|
+
* @default { icon: <MoreIcon /> }
|
|
100
|
+
*/
|
|
101
|
+
menuTriggerProps?: Partial<CubeItemActionProps>;
|
|
102
|
+
/**
|
|
103
|
+
* Default props passed to the Menu component.
|
|
104
|
+
* Can be overridden per-tab via Tab's menuProps prop.
|
|
105
|
+
*/
|
|
106
|
+
menuProps?: Partial<CubeMenuProps<object>>;
|
|
107
|
+
/**
|
|
108
|
+
* Whether to show context menu on right-click for all tabs.
|
|
109
|
+
* Can be overridden per-tab via Tab's contextMenu prop.
|
|
110
|
+
* @default false
|
|
111
|
+
*/
|
|
112
|
+
contextMenu?: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Callback when a menu action is triggered on any tab.
|
|
115
|
+
* Called with the action key and the tab key.
|
|
116
|
+
* Tab-level onAction is called first, then this.
|
|
117
|
+
*/
|
|
118
|
+
onAction?: (action: Key, tabKey: Key) => void;
|
|
119
|
+
/** Custom tasty styles for the tab bar container. */
|
|
120
|
+
styles?: Styles;
|
|
121
|
+
/** QA selector attribute. */
|
|
122
|
+
qa?: string;
|
|
123
|
+
/** Tab components or Tabs.List with Tabs.Panel. */
|
|
124
|
+
children?: ReactNode;
|
|
125
|
+
/**
|
|
126
|
+
* Functional content renderer for optimized lazy evaluation.
|
|
127
|
+
* When provided, panel content is only evaluated for the active tab,
|
|
128
|
+
* while inactive tabs use cached content.
|
|
129
|
+
*/
|
|
130
|
+
renderPanel?: (key: Key) => ReactNode;
|
|
131
|
+
/**
|
|
132
|
+
* Cache keys for individual panels. Enables caching for specified panels.
|
|
133
|
+
*/
|
|
134
|
+
panelCacheKeys?: Record<string | number, CacheKeyValue>;
|
|
135
|
+
/**
|
|
136
|
+
* Enable drag-and-drop tab reordering.
|
|
137
|
+
* @default false
|
|
138
|
+
*/
|
|
139
|
+
isReorderable?: boolean;
|
|
140
|
+
/**
|
|
141
|
+
* Controlled order of tab keys.
|
|
142
|
+
* When provided, tabs are displayed in this order.
|
|
143
|
+
*/
|
|
144
|
+
keyOrder?: Key[];
|
|
145
|
+
/**
|
|
146
|
+
* Callback when tabs are reordered via drag-and-drop.
|
|
147
|
+
*/
|
|
148
|
+
onReorder?: (newOrder: Key[]) => void;
|
|
149
|
+
/**
|
|
150
|
+
* Whether to show a tab picker dropdown in the suffix area.
|
|
151
|
+
* - `true` - always show the tab picker
|
|
152
|
+
* - `false` - never show the tab picker (default)
|
|
153
|
+
* - `'auto'` - show only when tabs overflow (has horizontal scroll)
|
|
154
|
+
* @default false
|
|
155
|
+
*/
|
|
156
|
+
showTabPicker?: boolean | 'auto';
|
|
157
|
+
}
|
|
158
|
+
export interface CubeTabProps extends TabStyleProps, PanelBehaviorProps {
|
|
159
|
+
/**
|
|
160
|
+
* Unique identifier for the tab.
|
|
161
|
+
* Auto-injected from the React `key` prop (converted to string).
|
|
162
|
+
*/
|
|
163
|
+
id?: string;
|
|
164
|
+
/** Content displayed in the tab button. */
|
|
165
|
+
title: ReactNode;
|
|
166
|
+
/** Panel content rendered when tab is active. */
|
|
167
|
+
children?: ReactNode;
|
|
168
|
+
/** Disables the tab (cannot be selected). */
|
|
169
|
+
isDisabled?: boolean;
|
|
170
|
+
/** Actions to render in the tab. Rendered before menu trigger if tab has menu. */
|
|
171
|
+
actions?: ReactNode;
|
|
172
|
+
/** Whether the tab title can be edited. Overrides the Tabs-level isEditable default. */
|
|
173
|
+
isEditable?: boolean;
|
|
174
|
+
/** Callback when this tab's title is changed. Overrides parent's onTitleChange. */
|
|
175
|
+
onTitleChange?: (newTitle: string) => void;
|
|
176
|
+
/**
|
|
177
|
+
* Menu items to display in a dropdown menu on the tab.
|
|
178
|
+
* Pass Menu.Item elements directly - they will be wrapped in a Menu internally.
|
|
179
|
+
* Overrides the Tabs-level menu default. Set to `null` to disable menu.
|
|
180
|
+
*/
|
|
181
|
+
menu?: ReactNode | null;
|
|
182
|
+
/**
|
|
183
|
+
* Props to customize the menu trigger button.
|
|
184
|
+
* Overrides the Tabs-level menuTriggerProps default.
|
|
185
|
+
*/
|
|
186
|
+
menuTriggerProps?: Partial<CubeItemActionProps>;
|
|
187
|
+
/**
|
|
188
|
+
* Props passed to the Menu component.
|
|
189
|
+
* Overrides the Tabs-level menuProps default.
|
|
190
|
+
*/
|
|
191
|
+
menuProps?: Partial<CubeMenuProps<object>>;
|
|
192
|
+
/**
|
|
193
|
+
* Whether to show context menu on right-click.
|
|
194
|
+
* Uses the same menu items as `menu` prop.
|
|
195
|
+
* @default false
|
|
196
|
+
*/
|
|
197
|
+
contextMenu?: boolean;
|
|
198
|
+
/**
|
|
199
|
+
* Callback when a menu action is triggered.
|
|
200
|
+
* Called with the action key from Menu.Item.
|
|
201
|
+
*/
|
|
202
|
+
onAction?: (action: Key) => void;
|
|
203
|
+
}
|
|
204
|
+
export interface CubeTabPanelProps extends PanelBehaviorProps, QAProps {
|
|
205
|
+
/**
|
|
206
|
+
* Panel identifier. Must match a Tab's id.
|
|
207
|
+
* Auto-injected from the React `key` prop (converted to string).
|
|
208
|
+
*/
|
|
209
|
+
id?: string;
|
|
210
|
+
/** Panel content. */
|
|
211
|
+
children?: ReactNode;
|
|
212
|
+
/** Custom tasty styles for the panel container. */
|
|
213
|
+
styles?: Styles;
|
|
214
|
+
}
|
|
215
|
+
export interface CubeTabListProps {
|
|
216
|
+
/** Tab components. */
|
|
217
|
+
children?: ReactNode;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Internal representation of a parsed Tab.
|
|
221
|
+
* Uses `content` instead of `children` to distinguish panel content.
|
|
222
|
+
*/
|
|
223
|
+
export interface ParsedTab extends Omit<CubeTabProps, 'id' | 'children'> {
|
|
224
|
+
/** Tab key (always a string internally for React Aria compatibility) */
|
|
225
|
+
key: string;
|
|
226
|
+
/** Panel content extracted from Tab's children prop */
|
|
227
|
+
content: ReactNode;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Internal representation of a parsed TabPanel.
|
|
231
|
+
*/
|
|
232
|
+
export interface ParsedPanel extends Omit<CubeTabPanelProps, 'id' | 'children'> {
|
|
233
|
+
/** Panel key (always a string internally for React Aria compatibility) */
|
|
234
|
+
key: string;
|
|
235
|
+
/** Panel content extracted from TabPanel's children prop */
|
|
236
|
+
content: ReactNode;
|
|
237
|
+
}
|
|
238
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Key } from '@react-types/shared';
|
|
2
|
+
export interface UseTabEditingOptions {
|
|
3
|
+
/** Callback when tab selection changes (used to select tab when editing starts) */
|
|
4
|
+
onChange?: (key: Key) => void;
|
|
5
|
+
/** Callback when a tab title is changed */
|
|
6
|
+
onTitleChange?: (key: Key, newTitle: string) => void;
|
|
7
|
+
}
|
|
8
|
+
export interface UseTabEditingResult {
|
|
9
|
+
/** Currently editing tab key (null if not editing) */
|
|
10
|
+
editingKey: Key | null;
|
|
11
|
+
/** Current edit input value */
|
|
12
|
+
editValue: string;
|
|
13
|
+
/** Set the edit value */
|
|
14
|
+
setEditValue: (value: string) => void;
|
|
15
|
+
/** Start editing a tab with the given title */
|
|
16
|
+
startEditing: (key: Key, currentTitle: string) => void;
|
|
17
|
+
/** Submit the current edit */
|
|
18
|
+
submitEditing: (key: Key, newTitle: string, tabOnTitleChange?: (title: string) => void) => void;
|
|
19
|
+
/** Cancel the current edit */
|
|
20
|
+
cancelEditing: () => void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Hook to manage tab title editing state.
|
|
24
|
+
*
|
|
25
|
+
* Provides state and callbacks for inline title editing with support for:
|
|
26
|
+
* - Starting edit mode (selecting the tab and focusing input)
|
|
27
|
+
* - Submitting changes (with tab-level or parent-level callback)
|
|
28
|
+
* - Canceling edits
|
|
29
|
+
*/
|
|
30
|
+
export declare function useTabEditing({ onChange, onTitleChange, }?: UseTabEditingOptions): UseTabEditingResult;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
import type { Key } from '@react-types/shared';
|
|
3
|
+
export interface IndicatorStyle {
|
|
4
|
+
left: number;
|
|
5
|
+
width: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Hook to track and animate tab indicator position.
|
|
9
|
+
*
|
|
10
|
+
* Calculates the position and width of the selection indicator
|
|
11
|
+
* based on the currently selected tab. Returns null if disabled
|
|
12
|
+
* (e.g., for non-default tab types).
|
|
13
|
+
*
|
|
14
|
+
* @param containerRef - Ref to the tab container element
|
|
15
|
+
* @param selectedKey - Currently selected tab key
|
|
16
|
+
* @param enabled - Whether the indicator should be shown
|
|
17
|
+
* @param orderToken - Optional token that changes when tab order changes (triggers recalculation)
|
|
18
|
+
* @returns Indicator style (left, width) or null if disabled/not ready
|
|
19
|
+
*/
|
|
20
|
+
export declare function useTabIndicator(containerRef: RefObject<HTMLElement | null>, selectedKey: Key | null, enabled: boolean, orderToken?: string): IndicatorStyle | null;
|