@cube-dev/ui-kit 0.69.2 → 0.70.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 +16 -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/GlobalStyles.js +1 -1
- package/es/components/GridProvider.js +2 -2
- package/es/components/HiddenInput.js +1 -1
- package/es/components/OpenTrasition.js +1 -1
- package/es/components/Root.js +2 -2
- package/es/components/actions/Action/Action.js +1 -1
- package/es/components/actions/Button/Button.js +13 -14
- 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 +5 -5
- 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/context.js +1 -1
- package/es/components/actions/Menu/index.js +1 -1
- package/es/components/actions/Menu/styled.js +10 -10
- 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 +5 -5
- 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 +9 -9
- 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/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 +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 +4 -4
- 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 +2 -2
- 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 +242 -91
- 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 +3 -3
- 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 +2 -2
- 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 +6 -6
- 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 +7 -7
- 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 +22 -22
- 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 +4 -4
- 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 +3 -3
- 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 +5 -5
- package/es/components/layout/ResizablePanel.js +8 -8
- package/es/components/layout/Space.js +1 -1
- package/es/components/layout/Suffix.js +5 -5
- package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
- package/es/components/navigation/Link/Link.js +1 -1
- package/es/components/organisms/FileTabs/FileTabs.js +1 -1
- package/es/components/organisms/Modal/Modal.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 +13 -13
- 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/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/storybook/templates/CustomRoot.js +1 -1
- package/es/components/portal/storybook/templates/PortalOrder.js +1 -1
- package/es/components/portal/storybook/templates/basic.js +1 -1
- package/es/components/portal/storybook/templates/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/themes.js +1 -1
- package/es/icons/AdjustmentsHorizontalIcon.js +2 -2
- package/es/icons/AdjustmentsIcon.js +2 -2
- 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 +2 -2
- package/es/icons/ChartAreaStackedPercentageIcon.js +2 -2
- package/es/icons/ChartBarGroupedHorizontalIcon.js +2 -2
- package/es/icons/ChartBarGroupedIcon.js +2 -2
- package/es/icons/ChartBarHorizontalIcon.js +2 -2
- package/es/icons/ChartBarLineIcon.js +2 -2
- package/es/icons/ChartBarStackedHorizontalIcon.js +2 -2
- package/es/icons/ChartBarStackedIcon.js +2 -2
- package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +2 -2
- package/es/icons/ChartBarStackedPercentageIcon.js +2 -2
- package/es/icons/ChartBoxPlot2Icon.js +2 -2
- package/es/icons/ChartBoxPlotIcon.js +2 -2
- package/es/icons/ChartBubbleIcon.js +2 -2
- package/es/icons/ChartDonut2Icon.js +2 -2
- package/es/icons/ChartFunnelIcon.js +2 -2
- package/es/icons/ChartKPIIcon.js +2 -2
- package/es/icons/ChartPie2Icon.js +2 -2
- package/es/icons/ChartScatterIcon.js +2 -2
- 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/DangerIcon.js +1 -1
- package/es/icons/DashboardIcon.js +1 -1
- package/es/icons/DatabaseIcon.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 +5 -5
- 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/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/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 -1
- package/es/provider.js +1 -1
- package/es/providers/TrackingProvider.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/index.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 +2 -2
- 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/marginBlock.js +1 -1
- package/es/tasty/styles/marginInline.js +1 -1
- package/es/tasty/styles/outline.js +1 -1
- package/es/tasty/styles/padding.js +1 -1
- package/es/tasty/styles/paddingBlock.js +1 -1
- package/es/tasty/styles/paddingInline.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/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 +4 -4
- 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/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/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/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/actions/Button/Button.d.ts +11 -11
- package/types/components/fields/FilterPicker/FilterPicker.d.ts +5 -5
@@ -1,7 +1,7 @@
|
|
1
1
|
/**
|
2
2
|
* @license MIT
|
3
3
|
* author: Cube Dev Team
|
4
|
-
* @cube-dev/ui-kit v0.
|
4
|
+
* @cube-dev/ui-kit v0.70.0
|
5
5
|
* Released under the MIT license.
|
6
6
|
*/
|
7
7
|
|
@@ -75,6 +75,8 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
|
|
75
75
|
// Track popover open/close and capture children order for session
|
76
76
|
const [isPopoverOpen, setIsPopoverOpen] = useState(false);
|
77
77
|
const cachedChildrenOrder = useRef(null);
|
78
|
+
// Cache for sorted items array when using `items` prop
|
79
|
+
const cachedItemsOrder = useRef(null);
|
78
80
|
const triggerRef = useRef(null);
|
79
81
|
const isControlledSingle = selectedKey !== undefined;
|
80
82
|
const isControlledMultiple = selectedKeys !== undefined;
|
@@ -112,13 +114,14 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
|
|
112
114
|
Children.forEach(nodes, (child) => {
|
113
115
|
if (!child || typeof child !== 'object')
|
114
116
|
return;
|
115
|
-
|
116
|
-
|
117
|
-
|
117
|
+
const element = child;
|
118
|
+
if (element.key != null) {
|
119
|
+
if (normalizeKeyValue(element.key) === normalizedLookup) {
|
120
|
+
foundKey = element.key;
|
118
121
|
}
|
119
122
|
}
|
120
|
-
if (
|
121
|
-
traverse(
|
123
|
+
if (element.props?.children) {
|
124
|
+
traverse(element.props.children);
|
122
125
|
}
|
123
126
|
});
|
124
127
|
};
|
@@ -129,7 +132,7 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
|
|
129
132
|
const mappedSelectedKey = useMemo(() => {
|
130
133
|
if (selectionMode !== 'single')
|
131
134
|
return null;
|
132
|
-
return findReactKey(effectiveSelectedKey);
|
135
|
+
return effectiveSelectedKey ? findReactKey(effectiveSelectedKey) : null;
|
133
136
|
}, [selectionMode, effectiveSelectedKey, findReactKey]);
|
134
137
|
const mappedSelectedKeys = useMemo(() => {
|
135
138
|
if (selectionMode !== 'multiple')
|
@@ -157,29 +160,66 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
|
|
157
160
|
};
|
158
161
|
// Helper to get selected item labels for display
|
159
162
|
const getSelectedLabels = () => {
|
160
|
-
if (!children)
|
161
|
-
return [];
|
162
163
|
// Handle "all" selection - return all available labels
|
163
164
|
if (selectionMode === 'multiple' && effectiveSelectedKeys === 'all') {
|
164
165
|
const allLabels = [];
|
165
|
-
|
166
|
-
|
167
|
-
|
166
|
+
// Extract from items prop if available
|
167
|
+
if (items) {
|
168
|
+
const extractFromItems = (itemsArray) => {
|
169
|
+
itemsArray.forEach((item) => {
|
170
|
+
if (item && typeof item === 'object') {
|
171
|
+
const itemObj = item;
|
172
|
+
if (Array.isArray(itemObj.children)) {
|
173
|
+
// Section-like object
|
174
|
+
extractFromItems(itemObj.children);
|
175
|
+
}
|
176
|
+
else {
|
177
|
+
// Regular item - extract label
|
178
|
+
const label = itemObj.textValue ||
|
179
|
+
itemObj.label ||
|
180
|
+
(typeof itemObj.children === 'string'
|
181
|
+
? itemObj.children
|
182
|
+
: '') ||
|
183
|
+
String(itemObj.children ||
|
184
|
+
itemObj.key ||
|
185
|
+
itemObj.id ||
|
186
|
+
item);
|
187
|
+
allLabels.push(label);
|
188
|
+
}
|
189
|
+
}
|
190
|
+
});
|
191
|
+
};
|
192
|
+
const itemsArray = Array.isArray(items)
|
193
|
+
? items
|
194
|
+
: Array.from(items);
|
195
|
+
extractFromItems(itemsArray);
|
196
|
+
return allLabels;
|
197
|
+
}
|
198
|
+
// Extract from children if available
|
199
|
+
if (children) {
|
200
|
+
const extractAllLabels = (nodes) => {
|
201
|
+
if (!nodes)
|
168
202
|
return;
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
203
|
+
Children.forEach(nodes, (child) => {
|
204
|
+
if (!child || typeof child !== 'object')
|
205
|
+
return;
|
206
|
+
const element = child;
|
207
|
+
if (element.type === Item) {
|
208
|
+
const label = element.props.textValue ||
|
209
|
+
(typeof element.props.children === 'string'
|
210
|
+
? element.props.children
|
211
|
+
: '') ||
|
212
|
+
String(element.props.children || '');
|
213
|
+
allLabels.push(label);
|
214
|
+
}
|
215
|
+
if (element.props?.children) {
|
216
|
+
extractAllLabels(element.props.children);
|
217
|
+
}
|
218
|
+
});
|
219
|
+
};
|
220
|
+
extractAllLabels(children);
|
221
|
+
return allLabels;
|
222
|
+
}
|
183
223
|
return allLabels;
|
184
224
|
}
|
185
225
|
const selectedSet = new Set(selectionMode === 'multiple' && effectiveSelectedKeys !== 'all'
|
@@ -188,50 +228,69 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
|
|
188
228
|
? [normalizeKeyValue(effectiveSelectedKey)]
|
189
229
|
: []);
|
190
230
|
const labels = [];
|
191
|
-
const extractLabels = (nodes) => {
|
192
|
-
Children.forEach(nodes, (child) => {
|
193
|
-
if (!child || typeof child !== 'object')
|
194
|
-
return;
|
195
|
-
if (child.type === Item) {
|
196
|
-
if (selectedSet.has(normalizeKeyValue(child.key))) {
|
197
|
-
const label = child.props.textValue ||
|
198
|
-
(typeof child.props.children === 'string'
|
199
|
-
? child.props.children
|
200
|
-
: '') ||
|
201
|
-
String(child.props.children || '');
|
202
|
-
labels.push(label);
|
203
|
-
}
|
204
|
-
}
|
205
|
-
if (child.props?.children) {
|
206
|
-
extractLabels(child.props.children);
|
207
|
-
}
|
208
|
-
});
|
209
|
-
};
|
210
231
|
const processedKeys = new Set();
|
211
|
-
//
|
212
|
-
|
213
|
-
|
214
|
-
|
232
|
+
// Extract from items prop if available
|
233
|
+
if (items) {
|
234
|
+
const extractFromItems = (itemsArray) => {
|
235
|
+
itemsArray.forEach((item) => {
|
236
|
+
if (item && typeof item === 'object') {
|
237
|
+
const itemObj = item;
|
238
|
+
if (Array.isArray(itemObj.children)) {
|
239
|
+
// Section-like object
|
240
|
+
extractFromItems(itemObj.children);
|
241
|
+
}
|
242
|
+
else {
|
243
|
+
// Regular item - check if selected
|
244
|
+
const itemKey = itemObj.key || itemObj.id;
|
245
|
+
if (itemKey != null &&
|
246
|
+
selectedSet.has(normalizeKeyValue(itemKey))) {
|
247
|
+
const label = itemObj.textValue ||
|
248
|
+
itemObj.label ||
|
249
|
+
(typeof itemObj.children === 'string'
|
250
|
+
? itemObj.children
|
251
|
+
: '') ||
|
252
|
+
String(itemObj.children || itemKey);
|
253
|
+
labels.push(label);
|
254
|
+
processedKeys.add(normalizeKeyValue(itemKey));
|
255
|
+
}
|
256
|
+
}
|
257
|
+
}
|
258
|
+
});
|
259
|
+
};
|
260
|
+
const itemsArray = Array.isArray(items)
|
261
|
+
? items
|
262
|
+
: Array.from(items);
|
263
|
+
extractFromItems(itemsArray);
|
264
|
+
}
|
265
|
+
// Extract from children if available (for mixed mode or fallback)
|
266
|
+
if (children) {
|
267
|
+
const extractLabelsWithTracking = (nodes) => {
|
268
|
+
if (!nodes)
|
215
269
|
return;
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
270
|
+
Children.forEach(nodes, (child) => {
|
271
|
+
if (!child || typeof child !== 'object')
|
272
|
+
return;
|
273
|
+
const element = child;
|
274
|
+
if (element.type === Item) {
|
275
|
+
const childKey = String(element.key);
|
276
|
+
if (selectedSet.has(normalizeKeyValue(childKey))) {
|
277
|
+
const label = element.props.textValue ||
|
278
|
+
(typeof element.props.children === 'string'
|
279
|
+
? element.props.children
|
280
|
+
: '') ||
|
281
|
+
String(element.props.children || '');
|
282
|
+
labels.push(label);
|
283
|
+
processedKeys.add(normalizeKeyValue(childKey));
|
284
|
+
}
|
226
285
|
}
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
}
|
231
|
-
}
|
232
|
-
|
233
|
-
|
234
|
-
// Handle custom values that don't have corresponding children
|
286
|
+
if (element.props?.children) {
|
287
|
+
extractLabelsWithTracking(element.props.children);
|
288
|
+
}
|
289
|
+
});
|
290
|
+
};
|
291
|
+
extractLabelsWithTracking(children);
|
292
|
+
}
|
293
|
+
// Handle custom values that don't have corresponding items/children
|
235
294
|
const selectedKeysArr = selectionMode === 'multiple' && effectiveSelectedKeys !== 'all'
|
236
295
|
? (effectiveSelectedKeys || []).map(String)
|
237
296
|
: effectiveSelectedKey != null
|
@@ -271,7 +330,8 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
|
|
271
330
|
}, []); // run only once on mount
|
272
331
|
// Function to sort children with selected items on top
|
273
332
|
const getSortedChildren = useCallback(() => {
|
274
|
-
|
333
|
+
// If children is not provided or is a render function, return it as-is
|
334
|
+
if (!children || typeof children === 'function')
|
275
335
|
return children;
|
276
336
|
// When the popover is **closed**, reuse the cached order if we have it to
|
277
337
|
// avoid unnecessary reflows. If we don't have a cache yet (first open),
|
@@ -319,7 +379,7 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
|
|
319
379
|
// Helper function to sort children array
|
320
380
|
const sortChildrenArray = (childrenArray) => {
|
321
381
|
const cloneWithNormalizedKey = (item) => cloneElement(item, {
|
322
|
-
key: normalizeKeyValue(item.key),
|
382
|
+
key: item.key ? normalizeKeyValue(item.key) : undefined,
|
323
383
|
});
|
324
384
|
const selected = [];
|
325
385
|
const unselected = [];
|
@@ -328,25 +388,30 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
|
|
328
388
|
unselected.push(child);
|
329
389
|
return;
|
330
390
|
}
|
391
|
+
const element = child;
|
331
392
|
// Handle sections - sort items within each section
|
332
|
-
if (
|
333
|
-
|
334
|
-
const sectionChildren = Array.isArray(
|
335
|
-
?
|
336
|
-
: [
|
393
|
+
if (element.type === BaseSection ||
|
394
|
+
element.type?.displayName === 'Section') {
|
395
|
+
const sectionChildren = Array.isArray(element.props.children)
|
396
|
+
? element.props.children
|
397
|
+
: [element.props.children];
|
337
398
|
const selectedItems = [];
|
338
399
|
const unselectedItems = [];
|
339
400
|
sectionChildren.forEach((sectionChild) => {
|
340
|
-
if (sectionChild &&
|
341
|
-
|
342
|
-
(
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
401
|
+
if (sectionChild && typeof sectionChild === 'object') {
|
402
|
+
const sectionElement = sectionChild;
|
403
|
+
if (sectionElement.type === Item ||
|
404
|
+
sectionElement.type?.displayName === 'Item') {
|
405
|
+
const clonedItem = cloneWithNormalizedKey(sectionElement);
|
406
|
+
if (isItemSelected(sectionElement)) {
|
407
|
+
selectedItems.push(clonedItem);
|
408
|
+
}
|
409
|
+
else {
|
410
|
+
unselectedItems.push(clonedItem);
|
411
|
+
}
|
347
412
|
}
|
348
413
|
else {
|
349
|
-
unselectedItems.push(
|
414
|
+
unselectedItems.push(sectionChild);
|
350
415
|
}
|
351
416
|
}
|
352
417
|
else {
|
@@ -354,15 +419,15 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
|
|
354
419
|
}
|
355
420
|
});
|
356
421
|
// Create new section with sorted children, preserving React element properly
|
357
|
-
unselected.push(cloneElement(
|
358
|
-
...
|
422
|
+
unselected.push(cloneElement(element, {
|
423
|
+
...element.props,
|
359
424
|
children: [...selectedItems, ...unselectedItems],
|
360
425
|
}));
|
361
426
|
}
|
362
427
|
// Handle non-section elements (items, dividers, etc.)
|
363
428
|
else {
|
364
|
-
const clonedItem = cloneWithNormalizedKey(
|
365
|
-
if (isItemSelected(
|
429
|
+
const clonedItem = cloneWithNormalizedKey(element);
|
430
|
+
if (isItemSelected(element)) {
|
366
431
|
selected.push(clonedItem);
|
367
432
|
}
|
368
433
|
else {
|
@@ -388,8 +453,85 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
|
|
388
453
|
selectionMode,
|
389
454
|
isPopoverOpen,
|
390
455
|
]);
|
456
|
+
// Compute sorted items array when using `items` prop
|
457
|
+
const getSortedItems = useCallback(() => {
|
458
|
+
if (!items)
|
459
|
+
return items;
|
460
|
+
// Reuse cached order when popover is closed to avoid needless re-renders
|
461
|
+
if (!isPopoverOpen && cachedItemsOrder.current) {
|
462
|
+
return cachedItemsOrder.current;
|
463
|
+
}
|
464
|
+
const selectedSet = new Set();
|
465
|
+
const addSelected = (key) => {
|
466
|
+
if (key != null)
|
467
|
+
selectedSet.add(String(key));
|
468
|
+
};
|
469
|
+
if (selectionMode === 'multiple') {
|
470
|
+
if (selectionsWhenClosed.current.multiple === 'all') {
|
471
|
+
// Do not sort when all selected – keep original order
|
472
|
+
return items;
|
473
|
+
}
|
474
|
+
selectionsWhenClosed.current.multiple.forEach(addSelected);
|
475
|
+
}
|
476
|
+
else {
|
477
|
+
if (selectionsWhenClosed.current.single != null) {
|
478
|
+
addSelected(selectionsWhenClosed.current.single);
|
479
|
+
}
|
480
|
+
}
|
481
|
+
if (selectedSet.size === 0) {
|
482
|
+
return items;
|
483
|
+
}
|
484
|
+
// Helpers to extract key from item object
|
485
|
+
const getItemKey = (obj) => {
|
486
|
+
if (obj == null || typeof obj !== 'object')
|
487
|
+
return undefined;
|
488
|
+
const item = obj;
|
489
|
+
if (item.key != null)
|
490
|
+
return String(item.key);
|
491
|
+
if (item.id != null)
|
492
|
+
return String(item.id);
|
493
|
+
return undefined;
|
494
|
+
};
|
495
|
+
const sortArray = (arr) => {
|
496
|
+
const selectedArr = [];
|
497
|
+
const unselectedArr = [];
|
498
|
+
arr.forEach((obj) => {
|
499
|
+
const item = obj;
|
500
|
+
if (obj && Array.isArray(item.children)) {
|
501
|
+
// Section-like object – keep order, but sort its children
|
502
|
+
const sortedChildren = sortArray(item.children);
|
503
|
+
unselectedArr.push({ ...item, children: sortedChildren });
|
504
|
+
}
|
505
|
+
else {
|
506
|
+
const key = getItemKey(obj);
|
507
|
+
if (key && selectedSet.has(key)) {
|
508
|
+
selectedArr.push(obj);
|
509
|
+
}
|
510
|
+
else {
|
511
|
+
unselectedArr.push(obj);
|
512
|
+
}
|
513
|
+
}
|
514
|
+
});
|
515
|
+
return [...selectedArr, ...unselectedArr];
|
516
|
+
};
|
517
|
+
const itemsArray = Array.isArray(items)
|
518
|
+
? items
|
519
|
+
: Array.from(items);
|
520
|
+
const sorted = sortArray(itemsArray);
|
521
|
+
if (isPopoverOpen || !cachedItemsOrder.current) {
|
522
|
+
cachedItemsOrder.current = sorted;
|
523
|
+
}
|
524
|
+
return sorted;
|
525
|
+
}, [
|
526
|
+
items,
|
527
|
+
selectionMode,
|
528
|
+
isPopoverOpen,
|
529
|
+
selectionsWhenClosed.current.multiple,
|
530
|
+
selectionsWhenClosed.current.single,
|
531
|
+
]);
|
532
|
+
const finalItems = getSortedItems();
|
391
533
|
// FilterListBox handles custom values internally when allowsCustomValue={true}
|
392
|
-
// We
|
534
|
+
// We provide sorted children (if any) and sorted items
|
393
535
|
const finalChildren = getSortedChildren();
|
394
536
|
const renderTriggerContent = () => {
|
395
537
|
// When there is a selection and a custom summary renderer is provided – use it.
|
@@ -464,7 +606,7 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
|
|
464
606
|
...externalMods,
|
465
607
|
}, icon: icon, rightIcon: rightIcon !== undefined ? (rightIcon) : (_jsx(DirectionIcon, { to: state.isOpen ? 'top' : 'bottom' })), styles: styles, ...keyboardProps, "aria-label": `${props['aria-label'] ?? props.label ?? ''}`, children: renderTriggerContent() }));
|
466
608
|
};
|
467
|
-
const filterPickerField = (_jsx(FilterPickerWrapper, { qa: props.qa || 'FilterPicker', styles: styles, ...otherProps, children: _jsxs(DialogTrigger, { type: "popover", placement: "bottom start", styles: triggerStyles, shouldUpdatePosition: shouldUpdatePosition, shouldFlip: shouldFlip, isDismissable: true, children: [renderTrigger, (close) => (_jsx(Dialog, { display: "grid", styles: { gridRows: '1sf', ...popoverStyles }, children: _jsx(FocusScope, { restoreFocus: true, children: _jsx(FilterListBox, { autoFocus: true, items: items, "aria-label": `${props['aria-label'] ?? props.label ?? ''} Picker`, selectedKey: selectionMode === 'single' ? mappedSelectedKey : undefined, selectedKeys: selectionMode === 'multiple' ? mappedSelectedKeys : undefined, disabledKeys: disabledKeys, focusOnHover: focusOnHover, shouldFocusWrap: shouldFocusWrap, allowsCustomValue: allowsCustomValue, selectionMode: selectionMode, validationState: validationState, isDisabled: isDisabled, stateRef: listStateRef, isCheckable: isCheckable, mods: {
|
609
|
+
const filterPickerField = (_jsx(FilterPickerWrapper, { qa: props.qa || 'FilterPicker', styles: styles, ...otherProps, children: _jsxs(DialogTrigger, { type: "popover", placement: "bottom start", styles: triggerStyles, shouldUpdatePosition: shouldUpdatePosition, shouldFlip: shouldFlip, isDismissable: true, children: [renderTrigger, (close) => (_jsx(Dialog, { display: "grid", styles: { gridRows: '1sf', ...popoverStyles }, children: _jsx(FocusScope, { restoreFocus: true, children: _jsx(FilterListBox, { autoFocus: true, items: items ? finalItems : undefined, "aria-label": `${props['aria-label'] ?? props.label ?? ''} Picker`, selectedKey: selectionMode === 'single' ? mappedSelectedKey : undefined, selectedKeys: selectionMode === 'multiple' ? mappedSelectedKeys : undefined, disabledKeys: disabledKeys, focusOnHover: focusOnHover, shouldFocusWrap: shouldFocusWrap, allowsCustomValue: allowsCustomValue, selectionMode: selectionMode, validationState: validationState, isDisabled: isDisabled, stateRef: listStateRef, isCheckable: isCheckable, mods: {
|
468
610
|
popover: true,
|
469
611
|
}, size: size === 'small' ? 'medium' : size, showSelectAll: showSelectAll, selectAllLabel: selectAllLabel, header: header, footer: footer, headerStyles: headerStyles, footerStyles: footerStyles, qa: `${props.qa || 'FilterPicker'}ListBox`, onEscape: () => close(), onOptionClick: (key) => {
|
470
612
|
// For FilterPicker, clicking the content area should close the popover
|
@@ -500,7 +642,8 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
|
|
500
642
|
}
|
501
643
|
// Update latest selection ref synchronously
|
502
644
|
if (selectionMode === 'single') {
|
503
|
-
latestSelectionRef.current.single =
|
645
|
+
latestSelectionRef.current.single =
|
646
|
+
selection != null ? String(selection) : null;
|
504
647
|
}
|
505
648
|
else {
|
506
649
|
if (selection === 'all') {
|
@@ -515,16 +658,24 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
|
|
515
658
|
latestSelectionRef.current.multiple = Array.from(new Set(processSelectionArray(selection)));
|
516
659
|
}
|
517
660
|
else {
|
518
|
-
latestSelectionRef.current.multiple =
|
661
|
+
latestSelectionRef.current.multiple =
|
662
|
+
selection === 'all'
|
663
|
+
? 'all'
|
664
|
+
: Array.isArray(selection)
|
665
|
+
? selection.map(String)
|
666
|
+
: [];
|
519
667
|
}
|
520
668
|
}
|
521
669
|
onSelectionChange?.(selection);
|
522
670
|
if (selectionMode === 'single') {
|
523
671
|
close();
|
524
672
|
}
|
525
|
-
}, children:
|
673
|
+
}, children: (children
|
674
|
+
? finalChildren
|
675
|
+
: undefined) }) }) }))] }) }));
|
526
676
|
return wrapWithField(filterPickerField, ref, mergeProps({
|
527
677
|
...props,
|
678
|
+
children: undefined,
|
528
679
|
styles: undefined,
|
529
680
|
}, {}));
|
530
681
|
});
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/**
|
2
2
|
* @license MIT
|
3
3
|
* author: Cube Dev Team
|
4
|
-
* @cube-dev/ui-kit v0.
|
4
|
+
* @cube-dev/ui-kit v0.70.0
|
5
5
|
* Released under the MIT license.
|
6
6
|
*/
|
7
7
|
|
@@ -89,8 +89,8 @@ const OptionElement = tasty({
|
|
89
89
|
all: '.5x',
|
90
90
|
},
|
91
91
|
height: {
|
92
|
-
'': 'min
|
93
|
-
'[data-size="large"]': 'min
|
92
|
+
'': 'min $size-md',
|
93
|
+
'[data-size="large"]': 'min $size-lg',
|
94
94
|
},
|
95
95
|
boxSizing: 'border-box',
|
96
96
|
radius: '1r',
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/**
|
2
2
|
* @license MIT
|
3
3
|
* author: Cube Dev Team
|
4
|
-
* @cube-dev/ui-kit v0.
|
4
|
+
* @cube-dev/ui-kit v0.70.0
|
5
5
|
* Released under the MIT license.
|
6
6
|
*/
|
7
7
|
|
@@ -27,7 +27,7 @@ const StepButtonElement = tasty(Button, {
|
|
27
27
|
pressed: '#purple.10',
|
28
28
|
'[disabled]': '#dark.0',
|
29
29
|
},
|
30
|
-
'
|
30
|
+
'$icon-size': '1fs',
|
31
31
|
},
|
32
32
|
});
|
33
33
|
/**
|