@cube-dev/ui-kit 0.0.0-canary-e521c67 → 0.0.0-canary-810714b
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/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/GlobalStyles.js +1 -1
- package/es/components/GridProvider.js +1 -1
- package/es/components/HiddenInput.js +1 -1
- package/es/components/Item.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 +2 -7
- package/es/components/actions/ItemAction/index.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/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/ItemBase/ItemBase.js +1 -1
- package/es/components/content/ItemBase/index.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/Title.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 +180 -696
- package/es/components/fields/ComboBox/index.js +2 -2
- 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 +47 -42
- package/es/components/fields/FilterListBox/index.js +1 -1
- package/es/components/fields/FilterPicker/FilterPicker.js +311 -78
- 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 +5 -35
- 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/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 +50 -56
- 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 +30 -21
- 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 +2 -2
- package/es/components/fields/TextInputMapper/index.js +1 -1
- package/es/components/fields/index.js +1 -2
- 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/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/LegacyTabs/LegacyTabs.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/Base64Upload/Base64Upload.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 +18 -30
- package/es/components/overlays/Tooltip/TooltipProvider.js +2 -2
- package/es/components/overlays/Tooltip/TooltipTrigger.js +7 -25
- 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/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/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/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/SchemeIcon.js +1 -1
- package/es/icons/SearchIcon.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/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/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/add-new-icon.js +1 -1
- package/es/icons/index.js +1 -1
- package/es/icons/wrap-icon.js +1 -1
- package/es/index.js +1 -2
- 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/Layout.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/tasty/debug.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/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/providers/BreakpointsProvider.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/font.js +1 -1
- package/es/tasty/styles/fontStyle.js +1 -1
- package/es/tasty/styles/gap.js +1 -1
- package/es/tasty/styles/groupRadius.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 +1 -1
- package/es/tasty/styles/justify.js +1 -1
- package/es/tasty/styles/list.js +1 -1
- package/es/tasty/styles/margin.js +1 -1
- package/es/tasty/styles/outline.js +1 -1
- package/es/tasty/styles/padding.js +1 -1
- 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/filterBaseProps.js +1 -1
- package/es/tasty/utils/getDisplayName.js +1 -1
- package/es/tasty/utils/getModCombinations.js +1 -1
- package/es/tasty/utils/isDevEnv.js +1 -1
- package/es/tasty/utils/mergeStyles.js +1 -1
- package/es/tasty/utils/modAttrs.js +1 -1
- package/es/tasty/utils/renderStyles.js +1 -1
- package/es/tasty/utils/responsive.js +1 -1
- package/es/tasty/utils/string.js +1 -1
- package/es/tasty/utils/styles.js +1 -1
- package/es/tasty/utils/warnings.js +1 -1
- package/es/tokens.js +1 -1
- package/es/type-checks.js +1 -1
- package/es/utils/ResizeSensor.js +1 -1
- package/es/utils/modules.js +1 -1
- package/es/utils/promise.js +1 -1
- package/es/utils/random.js +1 -1
- package/es/utils/range.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 +2 -2
- 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/sharedStore.js +1 -1
- package/es/utils/react/useCombinedRefs.js +6 -11
- 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/useQaProps.js +1 -1
- package/es/utils/react/useViewportSize.js +1 -1
- package/es/utils/react/wrapNodeIfPlain.js +1 -1
- package/es/utils/transitions.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 +1 -1
- package/types/components/GridProvider.d.ts +1 -1
- package/types/components/fields/ComboBox/ComboBox.d.ts +30 -91
- package/types/components/fields/ComboBox/index.d.ts +1 -2
- package/types/components/fields/FilterListBox/FilterListBox.d.ts +0 -7
- package/types/components/fields/FilterPicker/FilterPicker.d.ts +2 -9
- package/types/components/fields/ListBox/ListBox.d.ts +0 -5
- package/types/components/fields/Select/Select.d.ts +1 -2
- package/types/components/fields/Switch/Switch.d.ts +2 -1
- package/types/components/fields/index.d.ts +0 -1
- package/types/components/layout/Prefix.d.ts +1 -1
- package/types/components/layout/Suffix.d.ts +1 -1
- package/types/components/overlays/Tooltip/TooltipTrigger.d.ts +0 -5
- package/types/components/overlays/Tooltip/context.d.ts +1 -6
- package/types/index.d.ts +0 -2
- package/types/utils/react/index.d.ts +1 -1
- package/types/utils/react/useCombinedRefs.d.ts +2 -3
- package/es/components/fields/LegacyComboBox/LegacyComboBox.js +0 -290
- package/es/components/fields/LegacyComboBox/index.js +0 -10
- package/es/components/helpers/DisplayTransition/DisplayTransition.js +0 -242
- package/es/components/helpers/index.js +0 -10
- package/types/components/fields/LegacyComboBox/LegacyComboBox.d.ts +0 -49
- package/types/components/fields/LegacyComboBox/index.d.ts +0 -1
- package/types/components/helpers/DisplayTransition/DisplayTransition.d.ts +0 -24
- package/types/components/helpers/index.d.ts +0 -1
|
@@ -1,105 +1,44 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { Section as BaseSection
|
|
1
|
+
import { ForwardedRef, ReactElement, RefObject } from 'react';
|
|
2
|
+
import { AriaComboBoxProps, AriaTextFieldProps } from 'react-aria';
|
|
3
|
+
import { Section as BaseSection } from 'react-stately';
|
|
4
4
|
import { FieldBaseProps } from '../../../shared';
|
|
5
|
-
import {
|
|
5
|
+
import { Item } from '../../Item';
|
|
6
|
+
import type { KeyboardDelegate, LoadingState } from '@react-types/shared';
|
|
7
|
+
import type { CubeSelectBaseProps } from '../Select';
|
|
6
8
|
type FilterFn = (textValue: string, inputValue: string) => boolean;
|
|
7
|
-
export type
|
|
8
|
-
export interface CubeComboBoxProps<T> extends
|
|
9
|
-
/** The selected key in controlled mode */
|
|
10
|
-
selectedKey?: string | null;
|
|
11
|
-
/** The default selected key in uncontrolled mode */
|
|
9
|
+
export type MenuTriggerAction = 'focus' | 'input' | 'manual';
|
|
10
|
+
export interface CubeComboBoxProps<T> extends Omit<CubeSelectBaseProps<T>, 'onOpenChange' | 'onBlur' | 'onFocus' | 'validate' | 'onSelectionChange'>, Omit<AriaComboBoxProps<T>, 'errorMessage'>, Omit<AriaTextFieldProps, 'errorMessage'>, FieldBaseProps {
|
|
12
11
|
defaultSelectedKey?: string | null;
|
|
13
|
-
|
|
14
|
-
onSelectionChange?: (
|
|
15
|
-
|
|
12
|
+
selectedKey?: string | null;
|
|
13
|
+
onSelectionChange?: (selectedKey: string | null) => void;
|
|
14
|
+
onInputChange?: (inputValue: string) => void;
|
|
16
15
|
inputValue?: string;
|
|
17
|
-
/** Callback fired when input value changes */
|
|
18
|
-
onInputChange?: (value: string) => void;
|
|
19
|
-
/** Placeholder text for the input */
|
|
20
16
|
placeholder?: string;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
17
|
+
icon?: ReactElement;
|
|
18
|
+
multiLine?: boolean;
|
|
19
|
+
autoComplete?: string;
|
|
20
|
+
wrapperRef?: RefObject<HTMLDivElement>;
|
|
21
|
+
inputRef?: RefObject<HTMLInputElement>;
|
|
22
|
+
/** The ref for the list box popover. */
|
|
23
|
+
popoverRef?: RefObject<HTMLDivElement>;
|
|
24
|
+
/** The ref for the list box. */
|
|
25
|
+
listBoxRef?: RefObject<HTMLElement>;
|
|
26
|
+
/** An optional keyboard delegate implementation, to override the default. */
|
|
27
|
+
keyboardDelegate?: KeyboardDelegate;
|
|
28
|
+
loadingState?: LoadingState;
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
31
|
-
*
|
|
30
|
+
* The filter function used to determine if a option should be included in the combo box list.
|
|
31
|
+
* Has no effect when `items` is provided.
|
|
32
32
|
*/
|
|
33
|
-
filter?: FilterFn
|
|
34
|
-
|
|
33
|
+
filter?: FilterFn;
|
|
34
|
+
size?: 'small' | 'medium' | 'large' | (string & {});
|
|
35
|
+
suffixPosition?: 'before' | 'after';
|
|
36
|
+
menuTrigger?: MenuTriggerAction;
|
|
35
37
|
allowsCustomValue?: boolean;
|
|
36
|
-
/** Whether
|
|
37
|
-
shouldCommitOnBlur?: boolean;
|
|
38
|
-
/** Whether the combobox is clearable using ESC key or clear button */
|
|
38
|
+
/** Whether the combo box is clearable using ESC keyboard button or clear button inside the input */
|
|
39
39
|
isClearable?: boolean;
|
|
40
40
|
/** Callback called when the clear button is pressed */
|
|
41
41
|
onClear?: () => void;
|
|
42
|
-
/** Left input icon */
|
|
43
|
-
icon?: ReactElement;
|
|
44
|
-
/** Input decoration before the main input */
|
|
45
|
-
prefix?: ReactNode;
|
|
46
|
-
/** Input decoration after the main input */
|
|
47
|
-
suffix?: ReactNode;
|
|
48
|
-
/** Whether to hide the trigger button */
|
|
49
|
-
hideTrigger?: boolean;
|
|
50
|
-
/** Size of the combobox */
|
|
51
|
-
size?: 'small' | 'medium' | 'large' | (string & {});
|
|
52
|
-
/** Ref for accessing the input element */
|
|
53
|
-
inputRef?: RefObject<HTMLInputElement>;
|
|
54
|
-
/** Ref for accessing the wrapper element */
|
|
55
|
-
wrapperRef?: RefObject<HTMLDivElement>;
|
|
56
|
-
/** Ref for accessing the listbox element */
|
|
57
|
-
listBoxRef?: RefObject<HTMLDivElement>;
|
|
58
|
-
/** Ref for accessing the popover element */
|
|
59
|
-
popoverRef?: RefObject<HTMLDivElement>;
|
|
60
|
-
/** Ref for accessing the trigger button element */
|
|
61
|
-
triggerRef?: RefObject<HTMLButtonElement>;
|
|
62
|
-
/** Custom styles for the input */
|
|
63
|
-
inputStyles?: Styles;
|
|
64
|
-
/** Custom styles for the trigger button */
|
|
65
|
-
triggerStyles?: Styles;
|
|
66
|
-
/** Custom styles for the field wrapper */
|
|
67
|
-
fieldStyles?: Styles;
|
|
68
|
-
/** Custom styles for the listbox */
|
|
69
|
-
listBoxStyles?: Styles;
|
|
70
|
-
/** Custom styles for the popover overlay */
|
|
71
|
-
overlayStyles?: Styles;
|
|
72
|
-
/** Custom styles for individual options */
|
|
73
|
-
optionStyles?: Styles;
|
|
74
|
-
/** Custom styles for sections */
|
|
75
|
-
sectionStyles?: Styles;
|
|
76
|
-
/** Custom styles for section headings */
|
|
77
|
-
headingStyles?: Styles;
|
|
78
|
-
/** Whether the combobox is disabled */
|
|
79
|
-
isDisabled?: boolean;
|
|
80
|
-
/** Whether the combobox is in loading state */
|
|
81
|
-
isLoading?: boolean;
|
|
82
|
-
/** Validation state of the combobox */
|
|
83
|
-
validationState?: 'valid' | 'invalid';
|
|
84
|
-
/** Keys of disabled items */
|
|
85
|
-
disabledKeys?: Iterable<Key>;
|
|
86
|
-
/** Whether to flip the popover placement */
|
|
87
|
-
shouldFlip?: boolean;
|
|
88
|
-
/** Placement direction for the popover */
|
|
89
|
-
direction?: 'bottom' | 'top';
|
|
90
|
-
/** Offset for the popover */
|
|
91
|
-
overlayOffset?: number;
|
|
92
|
-
/** Whether the combobox is read-only */
|
|
93
|
-
isReadOnly?: boolean;
|
|
94
|
-
/** Suffix position goes before or after the validation and loading statuses */
|
|
95
|
-
suffixPosition?: 'before' | 'after';
|
|
96
|
-
/**
|
|
97
|
-
* Sort selected item to the top when the popover opens.
|
|
98
|
-
* Only works when using the `items` prop (data-driven mode).
|
|
99
|
-
* Ignored when using JSX children.
|
|
100
|
-
* @default true when items are provided, false when using JSX children
|
|
101
|
-
*/
|
|
102
|
-
sortSelectedToTop?: boolean;
|
|
103
42
|
}
|
|
104
43
|
export declare const ComboBox: (<T>(props: CubeComboBoxProps<T> & {
|
|
105
44
|
ref?: ForwardedRef<HTMLDivElement>;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export type { CubeComboBoxProps } from './ComboBox';
|
|
1
|
+
export * from './ComboBox';
|
|
@@ -4,7 +4,6 @@ import { Section as BaseSection, Item } from 'react-stately';
|
|
|
4
4
|
import { Styles } from '../../../tasty';
|
|
5
5
|
import { CubeItemProps } from '../../Item';
|
|
6
6
|
import { CubeListBoxProps } from '../ListBox/ListBox';
|
|
7
|
-
import type { Collection, Node } from '@react-types/shared';
|
|
8
7
|
import type { FieldBaseProps } from '../../../shared';
|
|
9
8
|
type FilterFn = (textValue: string, inputValue: string) => boolean;
|
|
10
9
|
export interface CubeFilterListBoxProps<T> extends CubeListBoxProps<T>, FieldBaseProps {
|
|
@@ -65,12 +64,6 @@ export interface CubeFilterListBoxProps<T> extends CubeListBoxProps<T>, FieldBas
|
|
|
65
64
|
* Use with `searchValue` for controlled search input.
|
|
66
65
|
*/
|
|
67
66
|
onSearchChange?: (value: string) => void;
|
|
68
|
-
/**
|
|
69
|
-
* Pre-built collection to use instead of creating a new one.
|
|
70
|
-
* Used internally by FilterPicker to avoid duplicate collection creation.
|
|
71
|
-
* @internal
|
|
72
|
-
*/
|
|
73
|
-
_internalCollection?: Collection<Node<any>>;
|
|
74
67
|
}
|
|
75
68
|
export declare const FilterListBox: (<T>(props: CubeFilterListBoxProps<T> & {
|
|
76
69
|
ref?: ForwardedRef<HTMLDivElement>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ForwardedRef, ReactElement, ReactNode
|
|
1
|
+
import { ForwardedRef, MutableRefObject, ReactElement, ReactNode } from 'react';
|
|
2
2
|
import { Section as BaseSection, ListState } from 'react-stately';
|
|
3
3
|
import { BasePropsWithoutChildren, BaseStyleProps, ColorStyleProps, OuterStyleProps, Styles } from '../../../tasty';
|
|
4
4
|
import { CubeItemButtonProps } from '../../actions';
|
|
@@ -47,20 +47,13 @@ export interface CubeFilterPickerProps<T> extends Omit<CubeFilterListBoxProps<T>
|
|
|
47
47
|
selectionMode?: 'single' | 'multiple';
|
|
48
48
|
}) => ReactNode) | false;
|
|
49
49
|
/** Ref to access internal ListBox state (from FilterListBox) */
|
|
50
|
-
listStateRef?:
|
|
50
|
+
listStateRef?: MutableRefObject<ListState<T>>;
|
|
51
51
|
/** Additional modifiers for styling the FilterPicker */
|
|
52
52
|
mods?: Record<string, boolean>;
|
|
53
53
|
/** Whether the filter picker is clearable using a clear button in the rightIcon slot */
|
|
54
54
|
isClearable?: boolean;
|
|
55
55
|
/** Callback called when the clear button is pressed */
|
|
56
56
|
onClear?: () => void;
|
|
57
|
-
/**
|
|
58
|
-
* Sort selected items to the top when the popover opens.
|
|
59
|
-
* Only works when using the `items` prop (data-driven mode).
|
|
60
|
-
* Ignored when using JSX children.
|
|
61
|
-
* @default true when items are provided, false when using JSX children
|
|
62
|
-
*/
|
|
63
|
-
sortSelectedToTop?: boolean;
|
|
64
57
|
}
|
|
65
58
|
export declare const FilterPicker: (<T>(props: CubeFilterPickerProps<T> & {
|
|
66
59
|
ref?: ForwardedRef<HTMLElement>;
|
|
@@ -57,11 +57,6 @@ export interface CubeListBoxProps<T> extends AriaListBoxProps<T>, CollectionBase
|
|
|
57
57
|
mods?: Record<string, boolean>;
|
|
58
58
|
/** Size variant of the ListBox */
|
|
59
59
|
size?: 'medium' | 'large';
|
|
60
|
-
/**
|
|
61
|
-
* When `true`, clicking an already-selected item keeps it selected instead of toggling it off.
|
|
62
|
-
* Useful when embedding ListBox inside components like ComboBox.
|
|
63
|
-
*/
|
|
64
|
-
disableSelectionToggle?: boolean;
|
|
65
60
|
/**
|
|
66
61
|
* Whether to use virtual focus for keyboard navigation.
|
|
67
62
|
* When true, DOM focus stays outside individual option elements (useful for searchable lists).
|
|
@@ -61,7 +61,7 @@ export interface CubeSelectProps<T> extends CubeSelectBaseProps<T> {
|
|
|
61
61
|
size?: 'small' | 'medium' | 'large' | (string & {});
|
|
62
62
|
placeholder?: string;
|
|
63
63
|
}
|
|
64
|
-
export declare function ListBoxPopup({ state, popoverRef, listBoxRef, listBoxStyles, overlayStyles, optionStyles, overlayProps: parentOverlayProps, shouldUseVirtualFocus, placement, minWidth, size, triggerRef,
|
|
64
|
+
export declare function ListBoxPopup({ state, popoverRef, listBoxRef, listBoxStyles, overlayStyles, optionStyles, overlayProps: parentOverlayProps, shouldUseVirtualFocus, placement, minWidth, size, triggerRef, ...otherProps }: {
|
|
65
65
|
[x: string]: any;
|
|
66
66
|
state: any;
|
|
67
67
|
popoverRef: any;
|
|
@@ -75,7 +75,6 @@ export declare function ListBoxPopup({ state, popoverRef, listBoxRef, listBoxSty
|
|
|
75
75
|
minWidth: any;
|
|
76
76
|
size?: string | undefined;
|
|
77
77
|
triggerRef: any;
|
|
78
|
-
isDisabled: any;
|
|
79
78
|
}): import("react/jsx-runtime").JSX.Element;
|
|
80
79
|
type SectionComponent = typeof BaseSection;
|
|
81
80
|
declare const SelectSectionComponent: SectionComponent;
|
|
@@ -3,8 +3,9 @@ import { FieldBaseProps } from '../../../shared';
|
|
|
3
3
|
import { BaseProps, BlockStyleProps, OuterStyleProps, Styles } from '../../../tasty';
|
|
4
4
|
export interface CubeSwitchProps extends BaseProps, OuterStyleProps, BlockStyleProps, FieldBaseProps, AriaSwitchProps {
|
|
5
5
|
inputStyles?: Styles;
|
|
6
|
+
fieldStyles?: Styles;
|
|
6
7
|
isLoading?: boolean;
|
|
7
|
-
size?: 'large' | 'small';
|
|
8
|
+
size?: 'large' | 'medium' | 'small';
|
|
8
9
|
}
|
|
9
10
|
/**
|
|
10
11
|
* Switches allow users to turn an individual option on or off.
|
|
@@ -4,4 +4,4 @@ export interface CubePrefixProps extends BaseProps, ContainerStyleProps {
|
|
|
4
4
|
onWidthChange?: Function;
|
|
5
5
|
outerGap?: CSSProperties['gap'];
|
|
6
6
|
}
|
|
7
|
-
export declare const Prefix: import("react").ForwardRefExoticComponent<CubePrefixProps & import("react").RefAttributes<
|
|
7
|
+
export declare const Prefix: import("react").ForwardRefExoticComponent<CubePrefixProps & import("react").RefAttributes<unknown>>;
|
|
@@ -4,4 +4,4 @@ export interface CubeSuffixProps extends BaseProps, ContainerStyleProps {
|
|
|
4
4
|
onWidthChange?: Function;
|
|
5
5
|
outerGap?: CSSProperties['gap'];
|
|
6
6
|
}
|
|
7
|
-
export declare const Suffix: import("react").ForwardRefExoticComponent<CubeSuffixProps & import("react").RefAttributes<
|
|
7
|
+
export declare const Suffix: import("react").ForwardRefExoticComponent<CubeSuffixProps & import("react").RefAttributes<unknown>>;
|
|
@@ -39,11 +39,6 @@ export interface CubeTooltipTriggerProps extends TooltipTriggerProps {
|
|
|
39
39
|
* By default, opens for both focus and hover. Can be made to open only for focus.
|
|
40
40
|
*/
|
|
41
41
|
trigger?: 'focus';
|
|
42
|
-
/**
|
|
43
|
-
* When true, FocusableProvider won't be applied to the trigger.
|
|
44
|
-
* Useful when trigger already handles focus or uses render props pattern.
|
|
45
|
-
*/
|
|
46
|
-
disableFocusableProvider?: boolean;
|
|
47
42
|
}
|
|
48
43
|
/**
|
|
49
44
|
* TooltipTrigger wraps around a trigger element and a Tooltip. It handles opening and closing
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import React, { HTMLAttributes,
|
|
1
|
+
import React, { HTMLAttributes, RefObject } from 'react';
|
|
2
2
|
import { TooltipTriggerState } from 'react-stately';
|
|
3
3
|
import { PlacementAxis } from '../../../shared';
|
|
4
4
|
import { Props } from '../../../tasty';
|
|
5
|
-
type Phase = 'enter' | 'entered' | 'exit' | 'unmounted';
|
|
6
5
|
interface TooltipContextProps {
|
|
7
6
|
state?: TooltipTriggerState;
|
|
8
7
|
ref?: RefObject<HTMLDivElement>;
|
|
9
|
-
transitionRef?: RefCallback<HTMLDivElement>;
|
|
10
8
|
placement?: PlacementAxis;
|
|
11
9
|
arrowProps?: HTMLAttributes<HTMLElement>;
|
|
12
10
|
overlayProps?: Props;
|
|
@@ -14,9 +12,6 @@ interface TooltipContextProps {
|
|
|
14
12
|
minOffset?: string | number;
|
|
15
13
|
isMaterial?: boolean;
|
|
16
14
|
isLight?: boolean;
|
|
17
|
-
phase?: Phase;
|
|
18
|
-
isShown?: boolean;
|
|
19
|
-
updatePosition?: () => void;
|
|
20
15
|
}
|
|
21
16
|
export declare const TooltipContext: React.Context<TooltipContextProps>;
|
|
22
17
|
export {};
|
package/types/index.d.ts
CHANGED
|
@@ -28,8 +28,6 @@ export { ResizablePanel } from './components/layout/ResizablePanel';
|
|
|
28
28
|
export type { CubeResizablePanelProps } from './components/layout/ResizablePanel';
|
|
29
29
|
export { Root } from './components/Root';
|
|
30
30
|
export type { CubeRootProps } from './components/Root';
|
|
31
|
-
export { DisplayTransition } from './components/helpers/DisplayTransition/DisplayTransition';
|
|
32
|
-
export type { DisplayTransitionProps } from './components/helpers/DisplayTransition/DisplayTransition';
|
|
33
31
|
export type { NavigationAdapter, NavigateLike, Path, To, NavigateArg, NavigateOptions, RelativeRoutingType, } from './providers/navigation.types';
|
|
34
32
|
export { defaultNavigationAdapter } from './providers/navigationAdapter.default';
|
|
35
33
|
export { PrismCode } from './components/content/PrismCode/PrismCode';
|
|
@@ -5,7 +5,7 @@ export { mergeProps } from './mergeProps';
|
|
|
5
5
|
export { modAttrs } from '../../tasty';
|
|
6
6
|
export { useSlotProps, SlotProvider, ClearSlots } from './Slots';
|
|
7
7
|
export { useLayoutEffect } from './useLayoutEffect';
|
|
8
|
-
export { useCombinedRefs
|
|
8
|
+
export { useCombinedRefs } from './useCombinedRefs';
|
|
9
9
|
export { wrapNodeIfPlain } from './wrapNodeIfPlain';
|
|
10
10
|
export { useViewportSize } from './useViewportSize';
|
|
11
11
|
export { useQaProps } from './useQaProps';
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function useCombinedRefs<T>(...refs: Array<Ref<T> | undefined>): RefObject<T>;
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
export declare function useCombinedRefs(...refs: any[]): RefObject<any>;
|
|
@@ -1,290 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license MIT
|
|
3
|
-
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-e521c67
|
|
5
|
-
* Released under the MIT license.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
-
import { cloneElement, forwardRef, useEffect, useMemo, } from 'react';
|
|
10
|
-
import { useButton, useComboBox, useFilter, useHover, useOverlayPosition, } from 'react-aria';
|
|
11
|
-
import { Section as BaseSection, useComboBoxState } from 'react-stately';
|
|
12
|
-
import { useEvent } from '../../../_internal/index';
|
|
13
|
-
import { CloseIcon, DownIcon, LoadingIcon } from '../../../icons';
|
|
14
|
-
import { useProviderProps } from '../../../provider';
|
|
15
|
-
import { BASE_STYLES, COLOR_STYLES, extractStyles, OUTER_STYLES, tasty, } from '../../../tasty';
|
|
16
|
-
import { generateRandomId } from '../../../utils/random';
|
|
17
|
-
import { mergeProps, useCombinedRefs, useLayoutEffect, } from '../../../utils/react';
|
|
18
|
-
import { useFocus } from '../../../utils/react/interactions';
|
|
19
|
-
import { useEventBus } from '../../../utils/react/useEventBus';
|
|
20
|
-
import { ItemAction } from '../../actions';
|
|
21
|
-
import { useFieldProps, useFormProps, wrapWithField } from '../../form';
|
|
22
|
-
import { Item } from '../../Item';
|
|
23
|
-
import { OverlayWrapper } from '../../overlays/OverlayWrapper';
|
|
24
|
-
import { InvalidIcon } from '../../shared/InvalidIcon';
|
|
25
|
-
import { ValidIcon } from '../../shared/ValidIcon';
|
|
26
|
-
import { DEFAULT_INPUT_STYLES, INPUT_WRAPPER_STYLES } from '../index';
|
|
27
|
-
import { ListBoxPopup } from '../Select';
|
|
28
|
-
const LegacyComboBoxWrapperElement = tasty({
|
|
29
|
-
styles: INPUT_WRAPPER_STYLES,
|
|
30
|
-
});
|
|
31
|
-
const InputElement = tasty({
|
|
32
|
-
as: 'input',
|
|
33
|
-
styles: DEFAULT_INPUT_STYLES,
|
|
34
|
-
});
|
|
35
|
-
const TriggerElement = tasty({
|
|
36
|
-
as: 'button',
|
|
37
|
-
type: 'neutral',
|
|
38
|
-
styles: {
|
|
39
|
-
display: 'grid',
|
|
40
|
-
placeItems: 'center',
|
|
41
|
-
placeContent: 'center',
|
|
42
|
-
placeSelf: 'stretch',
|
|
43
|
-
radius: '(1r - 1bw) right',
|
|
44
|
-
padding: '0',
|
|
45
|
-
width: '3x',
|
|
46
|
-
boxSizing: 'border-box',
|
|
47
|
-
color: {
|
|
48
|
-
'': '#dark-02',
|
|
49
|
-
hovered: '#dark-02',
|
|
50
|
-
pressed: '#purple',
|
|
51
|
-
disabled: '#dark.30',
|
|
52
|
-
},
|
|
53
|
-
border: 'left',
|
|
54
|
-
reset: 'button',
|
|
55
|
-
margin: 0,
|
|
56
|
-
fill: {
|
|
57
|
-
'': '#dark.0',
|
|
58
|
-
hovered: '#dark.04',
|
|
59
|
-
pressed: '#purple.10',
|
|
60
|
-
disabled: '#clear',
|
|
61
|
-
},
|
|
62
|
-
cursor: 'pointer',
|
|
63
|
-
},
|
|
64
|
-
});
|
|
65
|
-
const PROP_STYLES = [...BASE_STYLES, ...OUTER_STYLES, ...COLOR_STYLES];
|
|
66
|
-
export const LegacyComboBox = forwardRef(function LegacyComboBox(props, ref) {
|
|
67
|
-
props = useProviderProps(props);
|
|
68
|
-
props = useFormProps(props);
|
|
69
|
-
props = useFieldProps(props, {
|
|
70
|
-
valuePropsMapper: ({ value, onChange }) => {
|
|
71
|
-
return {
|
|
72
|
-
selectedKey: !props.allowsCustomValue ? value ?? null : undefined,
|
|
73
|
-
inputValue: props.allowsCustomValue ? value ?? '' : undefined,
|
|
74
|
-
onInputChange(val) {
|
|
75
|
-
if (!props.allowsCustomValue) {
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
onChange(val);
|
|
79
|
-
},
|
|
80
|
-
onSelectionChange(val) {
|
|
81
|
-
if (val == null && props.allowsCustomValue) {
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
onChange(val);
|
|
85
|
-
},
|
|
86
|
-
};
|
|
87
|
-
},
|
|
88
|
-
});
|
|
89
|
-
let { qa, label, extra, labelStyles, isRequired, necessityIndicator, validationState, icon, prefix, isDisabled, multiLine, autoFocus, wrapperRef, inputRef, triggerRef, popoverRef, listBoxRef, isLoading, loadingIndicator, overlayOffset = 8, inputStyles, optionStyles, triggerStyles, listBoxStyles, overlayStyles, wrapperStyles, suffix, hideTrigger, message, description, size = 'medium', autoComplete = 'off', direction = 'bottom', shouldFlip = true, menuTrigger = 'input', suffixPosition = 'before', loadingState, filter, styles, labelSuffix, selectedKey, defaultSelectedKey, isClearable, ...otherProps } = props;
|
|
90
|
-
let isAsync = loadingState != null;
|
|
91
|
-
let { contains } = useFilter({ sensitivity: 'base' });
|
|
92
|
-
let comboBoxStateProps = {
|
|
93
|
-
...props,
|
|
94
|
-
defaultFilter: filter || contains,
|
|
95
|
-
filter: undefined,
|
|
96
|
-
allowsEmptyCollection: isAsync,
|
|
97
|
-
menuTrigger,
|
|
98
|
-
};
|
|
99
|
-
let state = useComboBoxState(comboBoxStateProps);
|
|
100
|
-
// Generate a unique ID for this combobox instance
|
|
101
|
-
const comboBoxId = useMemo(() => generateRandomId(), []);
|
|
102
|
-
// Get event bus for menu synchronization
|
|
103
|
-
const { emit, on } = useEventBus();
|
|
104
|
-
// Listen for other menus opening and close this one if needed
|
|
105
|
-
useEffect(() => {
|
|
106
|
-
const unsubscribe = on('popover:open', (data) => {
|
|
107
|
-
// If another menu is opening and this combobox is open, close this one
|
|
108
|
-
if (data.menuId !== comboBoxId && state.isOpen) {
|
|
109
|
-
state.close();
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
return unsubscribe;
|
|
113
|
-
}, [on, comboBoxId, state]);
|
|
114
|
-
// Emit event when this combobox opens
|
|
115
|
-
useEffect(() => {
|
|
116
|
-
if (state.isOpen) {
|
|
117
|
-
emit('popover:open', { menuId: comboBoxId });
|
|
118
|
-
}
|
|
119
|
-
}, [state.isOpen, emit, comboBoxId]);
|
|
120
|
-
styles = extractStyles(otherProps, PROP_STYLES, styles);
|
|
121
|
-
ref = useCombinedRefs(ref);
|
|
122
|
-
wrapperRef = useCombinedRefs(wrapperRef);
|
|
123
|
-
inputRef = useCombinedRefs(inputRef);
|
|
124
|
-
triggerRef = useCombinedRefs(triggerRef);
|
|
125
|
-
popoverRef = useCombinedRefs(popoverRef);
|
|
126
|
-
listBoxRef = useCombinedRefs(listBoxRef);
|
|
127
|
-
let { overlayProps, placement, updatePosition } = useOverlayPosition({
|
|
128
|
-
targetRef: triggerRef,
|
|
129
|
-
overlayRef: popoverRef,
|
|
130
|
-
scrollRef: listBoxRef,
|
|
131
|
-
placement: `${direction} end`,
|
|
132
|
-
shouldFlip: shouldFlip,
|
|
133
|
-
isOpen: state.isOpen,
|
|
134
|
-
onClose: state.close,
|
|
135
|
-
offset: overlayOffset,
|
|
136
|
-
});
|
|
137
|
-
let { labelProps, inputProps, listBoxProps, buttonProps: triggerProps, } = useComboBox({
|
|
138
|
-
...comboBoxStateProps,
|
|
139
|
-
inputRef,
|
|
140
|
-
buttonRef: triggerRef,
|
|
141
|
-
listBoxRef,
|
|
142
|
-
popoverRef,
|
|
143
|
-
menuTrigger,
|
|
144
|
-
}, state);
|
|
145
|
-
let { isFocused, focusProps } = useFocus({ isDisabled });
|
|
146
|
-
let { hoverProps, isHovered } = useHover({ isDisabled });
|
|
147
|
-
// Get props for the button based on the trigger props from useComboBox
|
|
148
|
-
let { buttonProps, isPressed: isTriggerPressed } = useButton(triggerProps, triggerRef);
|
|
149
|
-
let { hoverProps: triggerHoverProps, isHovered: isTriggerHovered } = useHover({ isDisabled });
|
|
150
|
-
let { focusProps: triggerFocusProps, isFocused: isTriggerFocused } = useFocus({ isDisabled }, true);
|
|
151
|
-
useLayoutEffect(() => {
|
|
152
|
-
if (state.isOpen) {
|
|
153
|
-
updatePosition();
|
|
154
|
-
}
|
|
155
|
-
}, [state.isOpen, state.collection.size]);
|
|
156
|
-
let isInvalid = validationState === 'invalid';
|
|
157
|
-
let validationIcon = isInvalid ? InvalidIcon : ValidIcon;
|
|
158
|
-
let validation = cloneElement(validationIcon);
|
|
159
|
-
// Clear button logic
|
|
160
|
-
let hasValue = props.allowsCustomValue
|
|
161
|
-
? state.inputValue !== ''
|
|
162
|
-
: state.selectedKey != null;
|
|
163
|
-
let showClearButton = isClearable && hasValue && !isDisabled && !props.isReadOnly;
|
|
164
|
-
// Clear function
|
|
165
|
-
let clearValue = useEvent(() => {
|
|
166
|
-
// Always clear input value in state so UI resets to placeholder
|
|
167
|
-
state.setInputValue('');
|
|
168
|
-
// Notify external input value only when custom value mode is enabled
|
|
169
|
-
if (props.allowsCustomValue) {
|
|
170
|
-
props.onInputChange?.('');
|
|
171
|
-
}
|
|
172
|
-
props.onSelectionChange?.(null);
|
|
173
|
-
state.setSelectedKey(null);
|
|
174
|
-
// Close the popup if it's open
|
|
175
|
-
if (state.isOpen) {
|
|
176
|
-
state.close();
|
|
177
|
-
}
|
|
178
|
-
// Focus back to the input
|
|
179
|
-
inputRef.current?.focus();
|
|
180
|
-
props.onClear?.();
|
|
181
|
-
});
|
|
182
|
-
let comboBoxWidth = wrapperRef?.current?.offsetWidth;
|
|
183
|
-
if (icon) {
|
|
184
|
-
icon = _jsx("div", { "data-element": "InputIcon", children: icon });
|
|
185
|
-
if (prefix) {
|
|
186
|
-
prefix = (_jsxs(_Fragment, { children: [icon, prefix] }));
|
|
187
|
-
}
|
|
188
|
-
else {
|
|
189
|
-
prefix = icon;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
let mods = useMemo(() => ({
|
|
193
|
-
invalid: isInvalid,
|
|
194
|
-
valid: validationState === 'valid',
|
|
195
|
-
disabled: isDisabled,
|
|
196
|
-
hovered: isHovered,
|
|
197
|
-
focused: isFocused,
|
|
198
|
-
loading: isLoading,
|
|
199
|
-
prefix: !!prefix,
|
|
200
|
-
suffix: true,
|
|
201
|
-
clearable: showClearButton,
|
|
202
|
-
}), [
|
|
203
|
-
isInvalid,
|
|
204
|
-
validationState,
|
|
205
|
-
isDisabled,
|
|
206
|
-
isHovered,
|
|
207
|
-
isFocused,
|
|
208
|
-
isLoading,
|
|
209
|
-
prefix,
|
|
210
|
-
showClearButton,
|
|
211
|
-
]);
|
|
212
|
-
// If input is not full and the user presses Enter, pick the first option.
|
|
213
|
-
let onKeyPress = useEvent((e) => {
|
|
214
|
-
if (!props.onSelectionChange) {
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
217
|
-
if (e.key === 'Enter') {
|
|
218
|
-
if (!props.allowsCustomValue) {
|
|
219
|
-
if (state.isOpen) {
|
|
220
|
-
// If there is a selected option then do nothing. It will be selected on Enter anyway.
|
|
221
|
-
if (listBoxRef.current?.querySelector('li[aria-selected="true"]')) {
|
|
222
|
-
return;
|
|
223
|
-
}
|
|
224
|
-
const option = [...state.collection][0]?.key;
|
|
225
|
-
if (option && selectedKey !== option) {
|
|
226
|
-
props.onSelectionChange?.(option);
|
|
227
|
-
e.stopPropagation();
|
|
228
|
-
e.preventDefault();
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
else if (inputRef.current?.value &&
|
|
232
|
-
![...state.collection]
|
|
233
|
-
.map((i) => i.textValue)
|
|
234
|
-
.includes(inputRef.current?.value)) {
|
|
235
|
-
// If the input value is not in the collection, we need to prevent the submitting of the form.
|
|
236
|
-
// Also, we reset value manually.
|
|
237
|
-
e.preventDefault();
|
|
238
|
-
props.onSelectionChange?.(null);
|
|
239
|
-
}
|
|
240
|
-
// If a custom value is allowed, we need to check if the input value is in the collection.
|
|
241
|
-
}
|
|
242
|
-
else if (props.allowsCustomValue) {
|
|
243
|
-
const inputValue = inputRef?.current?.value;
|
|
244
|
-
const item = [...state.collection].find((item) => item.textValue.toLowerCase() === inputValue?.toLowerCase());
|
|
245
|
-
props.onSelectionChange?.(item ? item.key : inputRef?.current?.value ?? '');
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
});
|
|
249
|
-
let onBlur = useEvent((e) => {
|
|
250
|
-
// If the input value is not in the collection, we need to reset the value.
|
|
251
|
-
if (!props.allowsCustomValue &&
|
|
252
|
-
inputRef.current?.value &&
|
|
253
|
-
![...state.collection]
|
|
254
|
-
.map((i) => i.textValue)
|
|
255
|
-
.includes(inputRef.current?.value)) {
|
|
256
|
-
props.onSelectionChange?.(null);
|
|
257
|
-
}
|
|
258
|
-
});
|
|
259
|
-
useEffect(() => {
|
|
260
|
-
inputRef.current?.addEventListener('keydown', onKeyPress, true);
|
|
261
|
-
inputRef.current?.addEventListener('blur', onBlur, true);
|
|
262
|
-
return () => {
|
|
263
|
-
inputRef.current?.removeEventListener('keydown', onKeyPress, true);
|
|
264
|
-
inputRef.current?.removeEventListener('blur', onBlur, true);
|
|
265
|
-
};
|
|
266
|
-
}, []);
|
|
267
|
-
let allInputProps = useMemo(() => mergeProps(inputProps, hoverProps, focusProps), [inputProps, hoverProps, focusProps]);
|
|
268
|
-
let comboBoxField = (_jsxs(LegacyComboBoxWrapperElement, { ref: wrapperRef, qa: qa || 'LegacyComboBox', mods: mods, styles: wrapperStyles, style: {
|
|
269
|
-
zIndex: isFocused ? 1 : 'initial',
|
|
270
|
-
}, "data-size": size, children: [prefix ? _jsx("div", { "data-element": "Prefix", children: prefix }) : null, _jsx(InputElement, { ref: inputRef, qa: "Input", autoFocus: autoFocus, "data-autofocus": autoFocus ? '' : undefined, ...allInputProps, autoComplete: autoComplete, styles: inputStyles, mods: mods, "data-size": size }), _jsxs("div", { "data-element": "Suffix", children: [suffixPosition === 'before' ? suffix : null, validationState || isLoading ? (_jsxs(_Fragment, { children: [validationState && !isLoading ? validation : null, isLoading ? _jsx(LoadingIcon, {}) : null] })) : null, suffixPosition === 'after' ? suffix : null, showClearButton && (_jsx(ItemAction, { icon: _jsx(CloseIcon, {}), size: size, theme: validationState === 'invalid' ? 'danger' : undefined, qa: "LegacyComboBoxClearButton", "data-no-trigger": hideTrigger ? '' : undefined, onPress: clearValue })), !hideTrigger ? (_jsx(TriggerElement, { "data-popover-trigger": true, qa: "LegacyComboBoxTrigger", ...mergeProps(buttonProps, triggerFocusProps, triggerHoverProps), ref: triggerRef, mods: {
|
|
271
|
-
pressed: isTriggerPressed,
|
|
272
|
-
focused: isTriggerFocused,
|
|
273
|
-
hovered: isTriggerHovered,
|
|
274
|
-
disabled: isDisabled,
|
|
275
|
-
loading: isLoading,
|
|
276
|
-
}, "data-size": size, isDisabled: isDisabled, styles: triggerStyles, children: _jsx(DownIcon, {}) })) : null] }), _jsx(OverlayWrapper, { isOpen: state.isOpen && !isDisabled, children: _jsx(ListBoxPopup, { ...listBoxProps, shouldUseVirtualFocus: true, listBoxRef: listBoxRef, popoverRef: popoverRef, overlayProps: overlayProps, placement: placement, state: state, listBoxStyles: listBoxStyles, overlayStyles: overlayStyles, optionStyles: optionStyles, minWidth: comboBoxWidth, triggerRef: triggerRef }) })] }));
|
|
277
|
-
return wrapWithField(comboBoxField, ref, mergeProps({ ...props, styles }, { labelProps }));
|
|
278
|
-
});
|
|
279
|
-
const LegacyComboBoxSectionComponent = Object.assign(BaseSection, {
|
|
280
|
-
displayName: 'Section',
|
|
281
|
-
});
|
|
282
|
-
LegacyComboBox.Item = Item;
|
|
283
|
-
LegacyComboBox.Section = LegacyComboBoxSectionComponent;
|
|
284
|
-
Object.defineProperty(LegacyComboBox, 'cubeInputType', {
|
|
285
|
-
value: 'LegacyComboBox',
|
|
286
|
-
enumerable: false,
|
|
287
|
-
configurable: false,
|
|
288
|
-
});
|
|
289
|
-
|
|
290
|
-
|