@cube-dev/ui-kit 0.127.2 → 0.128.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/dist/CHANGELOG.md +23 -0
- package/dist/_internal/hooks/use-chained-callback.js +1 -1
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Button/Button.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +1 -1
- package/dist/components/content/Divider.js +1 -1
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +1 -1
- package/dist/components/content/Item/Item.js +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPane.js +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/LayoutToolbar.js +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/dist/components/content/Layout/index.js +1 -1
- package/dist/components/content/Layout/utils.js +1 -1
- package/dist/components/content/Paragraph.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +1 -1
- package/dist/components/content/Tag/Tag.js +1 -1
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/Title.js +1 -1
- package/dist/components/content/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
- package/dist/components/fields/DatePicker/DatePicker.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.js +1 -1
- package/dist/components/fields/DatePicker/intl.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.js +1 -1
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/utils.js +1 -1
- package/dist/components/fields/FileInput/FileInput.js +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.d.ts +3 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +115 -51
- package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.d.ts +6 -0
- package/dist/components/fields/FilterPicker/FilterPicker.js +3 -2
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/ListBox/ListBox.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/dist/components/fields/Picker/Picker.js +1 -1
- package/dist/components/fields/RadioGroup/Radio.js +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.js +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/SliderBase.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +1 -1
- package/dist/components/fields/TextInput/TextInput.js +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
- package/dist/components/form/Form/Field.js +1 -1
- package/dist/components/form/Form/Form.js +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/dist/components/form/Form/SubmitError.js +1 -1
- package/dist/components/form/Form/index.js +1 -1
- package/dist/components/form/Form/use-field/use-field-props.js +1 -1
- package/dist/components/form/Form/use-field/use-field.js +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.js +1 -1
- package/dist/components/form/wrapper.js +1 -1
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/dist/components/layout/Flex.js +1 -1
- package/dist/components/layout/Flow.js +1 -1
- package/dist/components/layout/Grid.js +1 -1
- package/dist/components/layout/Panel.js +1 -1
- package/dist/components/layout/Prefix.js +1 -1
- package/dist/components/layout/ResizablePanel.js +1 -1
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/styled.js +1 -1
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
- package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
- package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
- package/dist/components/other/Calendar/Calendar.js +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransition.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +1 -1
- package/dist/components/overlays/Modal/Tray.js +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useToast.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/InvalidIcon.js +1 -1
- package/dist/components/shared/ValidIcon.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/dist/components/status/Spin/Cube.js +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +1 -1
- package/dist/components/status/Spin/Spin.js +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +1 -1
- package/dist/data/item-themes.js +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/BackwardIcon.js +1 -1
- package/dist/icons/BarChartIcon.js +1 -1
- package/dist/icons/BellFilledIcon.js +1 -1
- package/dist/icons/BellIcon.js +1 -1
- package/dist/icons/BooleanIcon.js +1 -1
- package/dist/icons/CalendarEditIcon.js +1 -1
- package/dist/icons/CalendarIcon.js +1 -1
- package/dist/icons/CaretDownIcon.js +1 -1
- package/dist/icons/CaretUpIcon.js +1 -1
- package/dist/icons/ChartAreaStackedIcon.js +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarGroupedIcon.js +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarLineIcon.js +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js +1 -1
- package/dist/icons/ChartBoxPlotIcon.js +1 -1
- package/dist/icons/ChartBubbleIcon.js +1 -1
- package/dist/icons/ChartDonut2Icon.js +1 -1
- package/dist/icons/ChartFunnelIcon.js +1 -1
- package/dist/icons/ChartHeatmapIcon.js +1 -1
- package/dist/icons/ChartKPIIcon.js +1 -1
- package/dist/icons/ChartPie2Icon.js +1 -1
- package/dist/icons/ChartScatterIcon.js +1 -1
- package/dist/icons/CheckCircleFilledIcon.js +1 -1
- package/dist/icons/CheckCircleIcon.js +1 -1
- package/dist/icons/CheckIcon.js +1 -1
- package/dist/icons/CircleFilledIcon.js +1 -1
- package/dist/icons/ClearIcon.js +1 -1
- package/dist/icons/CloseCircleFilledIcon.js +1 -1
- package/dist/icons/CloseCircleIcon.js +1 -1
- package/dist/icons/CloseIcon.js +1 -1
- package/dist/icons/CodeIcon.js +1 -1
- package/dist/icons/ColumnTotalIcon.js +1 -1
- package/dist/icons/CopyIcon.js +1 -1
- package/dist/icons/CountIcon.js +1 -1
- package/dist/icons/CubeIcon.js +1 -1
- package/dist/icons/CubePauseIcon.js +1 -1
- package/dist/icons/CubePlayIcon.js +1 -1
- package/dist/icons/CurrencyDollarIcon.js +1 -1
- package/dist/icons/DangerIcon.js +1 -1
- package/dist/icons/DashboardIcon.js +1 -1
- package/dist/icons/DatabaseIcon.js +1 -1
- package/dist/icons/DecimalDecreaseIcon.js +1 -1
- package/dist/icons/DecimalIncreaseIcon.js +1 -1
- package/dist/icons/DirectionIcon.js +1 -1
- package/dist/icons/DonutIcon.js +1 -1
- package/dist/icons/DownIcon.js +1 -1
- package/dist/icons/EditIcon.js +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
- package/dist/icons/ExclamationCircleIcon.js +1 -1
- package/dist/icons/ExclamationIcon.js +1 -1
- package/dist/icons/EyeIcon.js +1 -1
- package/dist/icons/EyeInvisibleIcon.js +1 -1
- package/dist/icons/FilterIcon.js +1 -1
- package/dist/icons/FolderFilledIcon.js +1 -1
- package/dist/icons/FolderIcon.js +1 -1
- package/dist/icons/FolderOpenFilledIcon.js +1 -1
- package/dist/icons/FolderOpenIcon.js +1 -1
- package/dist/icons/ForwardIcon.js +1 -1
- package/dist/icons/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/Icon.js +1 -1
- package/dist/icons/InfoCircleIcon.js +1 -1
- package/dist/icons/InfoIcon.js +1 -1
- package/dist/icons/KeyIcon.js +1 -1
- package/dist/icons/LeftIcon.js +1 -1
- package/dist/icons/LineChartIcon.js +1 -1
- package/dist/icons/LoadingIcon.js +1 -1
- package/dist/icons/LockFilledIcon.js +1 -1
- package/dist/icons/LockIcon.js +1 -1
- package/dist/icons/MoreIcon.js +1 -1
- package/dist/icons/NotAllowedIcon.js +1 -1
- package/dist/icons/Number123Icon.js +1 -1
- package/dist/icons/NumberIcon.js +1 -1
- package/dist/icons/PauseCircleFilledIcon.js +1 -1
- package/dist/icons/PauseCircleIcon.js +1 -1
- package/dist/icons/PauseIcon.js +1 -1
- package/dist/icons/PercentageIcon.js +1 -1
- package/dist/icons/PieChartIcon.js +1 -1
- package/dist/icons/PlayCircleIcon.js +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.js +1 -1
- package/dist/provider.js +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/index.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/shadows.js +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/typography.js +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/is-dev-env.js +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/react/RenderCache.js +1 -1
- package/dist/utils/react/Slots.js +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.js +1 -1
- package/dist/utils/react/interactions.js +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/selection.js +1 -1
- package/dist/utils/styles.js +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/version.js +2 -2
- package/docs/components/fields/FilterListBox.md +27 -17
- package/docs/components/fields/FilterPicker.md +58 -59
- package/docs/tasty/injector.md +2 -2
- package/package.json +2 -2
package/dist/tokens/sizes.js
CHANGED
package/dist/tokens/spacing.js
CHANGED
package/dist/utils/is-dev-env.js
CHANGED
package/dist/utils/modules.js
CHANGED
package/dist/utils/promise.js
CHANGED
package/dist/utils/raf.js
CHANGED
package/dist/utils/random.js
CHANGED
package/dist/utils/range.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps } from "./mergeProps.js";
|
|
3
3
|
import { Children, cloneElement, createContext, useContext, useMemo } from "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
|
|
2
2
|
import { chain } from "./chain.js";
|
|
3
3
|
import { forwardRefWithGenerics } from "./forwardRefWithGenerics.js";
|
|
4
4
|
import { isTextOnly } from "./isTextOnly.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
|
|
2
2
|
//#region src/utils/react/nullableValue.ts
|
|
3
3
|
function castNullableStringValue(props) {
|
|
4
4
|
return castNullableField(props, ["value", "defaultValue"], "string", (v) => String(v));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
|
|
2
2
|
import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
|
|
3
3
|
import { useEffect, useRef, useState } from "react";
|
|
4
4
|
import { useSSRSafeId } from "@react-aria/ssr";
|
package/dist/utils/selection.js
CHANGED
package/dist/utils/styles.js
CHANGED
package/dist/utils/tree.js
CHANGED
package/dist/utils/warnings.js
CHANGED
package/dist/version.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
|
|
2
2
|
//#region src/version.ts
|
|
3
|
-
const VERSION = "0.
|
|
3
|
+
const VERSION = "0.128.0";
|
|
4
4
|
if (typeof window !== "undefined") {
|
|
5
5
|
const version = VERSION;
|
|
6
6
|
window.CubeUIKit = window.CubeUIKit || { version };
|
|
@@ -28,7 +28,7 @@ A searchable list selection component that combines a ListBox with an integrated
|
|
|
28
28
|
- **`size`** `'small' | 'medium' | 'large'` (default: `medium`) — FilterListBox size
|
|
29
29
|
- **`searchPlaceholder`** `string` (default: `Search...`) — Placeholder text in the search input
|
|
30
30
|
- **`filter`** `((textValue: string, inputValue: string) => boolean) | false` — Custom filter function or `false` to disable filtering
|
|
31
|
-
- **`emptyLabel`** `ReactNode` (default: `No items`
|
|
31
|
+
- **`emptyLabel`** `ReactNode` (default: context-aware: `No items` or `No results found`) — Label shown when the list is empty. When provided, overrides both defaults for any empty state
|
|
32
32
|
- **`allowsCustomValue`** `boolean` (default: `false`) — Whether to allow custom values not in the options list
|
|
33
33
|
- **`isCheckable`** `boolean` (default: `false`) — Whether to show checkboxes for multiple selection
|
|
34
34
|
- **`shouldFocusWrap`** `boolean` (default: `false`) — Whether keyboard navigation should wrap around
|
|
@@ -44,6 +44,7 @@ A searchable list selection component that combines a ListBox with an integrated
|
|
|
44
44
|
- **`onOptionClick`** `(key: Key) => void` — Callback when an option is clicked
|
|
45
45
|
- **`items`** `Iterable<T>` — Array of items for dynamic content with render function pattern
|
|
46
46
|
- **`isLoading`** `boolean` (default: `false`) — Whether the FilterListBox is in a loading state (shows loading icon in search input)
|
|
47
|
+
- **`isLoadingItems`** `boolean` (default: `false`) — Whether items are currently loading. Shows a loading icon in the search input suffix
|
|
47
48
|
- **`autoFocus`** `boolean` — Whether the search input should have autofocus
|
|
48
49
|
- **`customValueProps`** `Partial<CubeItemProps>` — Props to apply to existing custom values (already selected but not in predefined options)
|
|
49
50
|
- **`newCustomValueProps`** `Partial<CubeItemProps>` — Props to apply to new custom values appearing in search results (merged with `customValueProps`)
|
|
@@ -142,6 +143,7 @@ The `mods` property accepts the following modifiers you can override:
|
|
|
142
143
|
- `disabled` `boolean` — Applied when `isDisabled={true}`
|
|
143
144
|
- `focused` `boolean` — Applied when the FilterListBox has focus
|
|
144
145
|
- `loading` `boolean` — Applied when `isLoading={true}`
|
|
146
|
+
- `loading-items` `boolean` — Applied when `isLoadingItems={true}`
|
|
145
147
|
- `searchable` `boolean` — Always true for FilterListBox
|
|
146
148
|
- `prefix` `boolean` — Applied when loading icon is shown
|
|
147
149
|
|
|
@@ -622,36 +624,44 @@ Use `customValueProps` to style existing custom values and `newCustomValueProps`
|
|
|
622
624
|
- `customValueProps` - Applied to custom values that are already selected
|
|
623
625
|
- `newCustomValueProps` - Applied to new custom values appearing when typing in search (merged with `customValueProps`)
|
|
624
626
|
|
|
625
|
-
###
|
|
627
|
+
### Server-Side / Dynamic Search
|
|
626
628
|
|
|
627
|
-
For server-side filtering
|
|
629
|
+
For server-side filtering, use `filter={false}` with controlled search and dynamic `items`. Items are replaced when the server responds, and `isLoadingItems` shows a subtle spinner in the search input while the fetch is in flight.
|
|
628
630
|
|
|
629
631
|
```jsx
|
|
632
|
+
const [items, setItems] = useState(initialItems);
|
|
630
633
|
const [searchValue, setSearchValue] = useState('');
|
|
631
|
-
const [
|
|
634
|
+
const [isLoadingItems, setIsLoadingItems] = useState(false);
|
|
632
635
|
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
636
|
+
const handleSearchChange = useCallback((value) => {
|
|
637
|
+
setSearchValue(value);
|
|
638
|
+
setIsLoadingItems(true);
|
|
639
|
+
debouncedFetch(value)
|
|
640
|
+
.then(setItems)
|
|
641
|
+
.finally(() => setIsLoadingItems(false));
|
|
642
|
+
}, []);
|
|
638
643
|
|
|
639
644
|
<FilterListBox
|
|
645
|
+
items={items}
|
|
640
646
|
searchValue={searchValue}
|
|
641
|
-
onSearchChange={
|
|
647
|
+
onSearchChange={handleSearchChange}
|
|
642
648
|
filter={false}
|
|
649
|
+
isLoadingItems={isLoadingItems}
|
|
643
650
|
>
|
|
644
|
-
{
|
|
651
|
+
{(item) => (
|
|
645
652
|
<FilterListBox.Item key={item.id}>{item.name}</FilterListBox.Item>
|
|
646
|
-
)
|
|
653
|
+
)}
|
|
647
654
|
</FilterListBox>
|
|
648
655
|
```
|
|
649
656
|
|
|
650
|
-
**
|
|
651
|
-
-
|
|
652
|
-
-
|
|
653
|
-
-
|
|
654
|
-
-
|
|
657
|
+
**How it works:**
|
|
658
|
+
- **`filter={false}`** disables client-side filtering so items appear exactly as the server returns them
|
|
659
|
+
- **`searchValue` + `onSearchChange`** give you control over the search input; debounce and fetch on your side
|
|
660
|
+
- **`items`** is reactive — replace it with server results and the list updates automatically
|
|
661
|
+
- **`isLoadingItems`** shows a loading spinner in the search input suffix while fetching. While loading, stale items that do not text-match the current search are hidden client-side so the user only sees relevant suggestions
|
|
662
|
+
- **Selected custom values** (with `allowsCustomValue` in multi-select) are filtered against the search input too, so they don't appear when they don't match
|
|
663
|
+
- **`emptyLabel`** can be used to customize the empty state message (e.g. `"Loading items..."` during initial load)
|
|
664
|
+
- Debouncing is the consumer's responsibility (300-500ms is typical)
|
|
655
665
|
|
|
656
666
|
### Escape Key Handling
|
|
657
667
|
|
|
@@ -24,6 +24,7 @@ A versatile selection component that combines a trigger button with a searchable
|
|
|
24
24
|
- **`selectionMode`** `'single' | 'multiple'` (default: `single`) — Selection mode for the picker
|
|
25
25
|
- **`allowsCustomValue`** `boolean` (default: `false`) — Whether to allow entering custom values that are not present in the predefined options
|
|
26
26
|
- **`isClearable`** `boolean` (default: `false`) — Whether the filter picker is clearable using a clear button in the rightIcon slot
|
|
27
|
+
- **`isLoadingItems`** `boolean` (default: `false`) — Whether items are currently loading. Shows a loading spinner in the search input suffix inside the popover. Unlike `isLoading`, does not disable the trigger.
|
|
27
28
|
- **`disallowEmptySelection`** `boolean` (default: `false`) — Whether to disallow empty selection
|
|
28
29
|
- **`disabledKeys`** `Key[]` — Array of keys for disabled items
|
|
29
30
|
- **`items`** `Iterable<T>` — Array of items to render when using the render function pattern for large datasets with dynamic content
|
|
@@ -33,7 +34,7 @@ A versatile selection component that combines a trigger button with a searchable
|
|
|
33
34
|
- **`theme`** `'default' | 'special'` (default: `default`) — Button theme
|
|
34
35
|
- **`size`** `'small' | 'medium' | 'large'` (default: `medium`) — Size of the picker component
|
|
35
36
|
- **`searchPlaceholder`** `string` — Placeholder text in the search input
|
|
36
|
-
- **`emptyLabel`** `
|
|
37
|
+
- **`emptyLabel`** `ReactNode` (default: context-aware: `No items` or `No results found`) — Label shown when the list is empty. When provided, overrides both defaults for any empty state
|
|
37
38
|
- **`filter`** `((textValue: string, inputValue: string) => boolean) | false` — Custom filter function for determining if an option should be included in search results
|
|
38
39
|
- **`header`** `ReactNode` — Custom header content
|
|
39
40
|
- **`footer`** `ReactNode` — Custom footer content
|
|
@@ -455,6 +456,22 @@ const categories = [
|
|
|
455
456
|
</FilterPicker>
|
|
456
457
|
```
|
|
457
458
|
|
|
459
|
+
### Loading Items
|
|
460
|
+
|
|
461
|
+
Use `isLoadingItems` to indicate that items are currently being fetched. Unlike `isLoading`, the trigger stays enabled so users can still open the popover and interact with items that have already loaded. A loading spinner appears in the search input suffix.
|
|
462
|
+
|
|
463
|
+
```jsx
|
|
464
|
+
<FilterPicker
|
|
465
|
+
label="Loading Items"
|
|
466
|
+
placeholder="Select a fruit..."
|
|
467
|
+
isLoadingItems={true}
|
|
468
|
+
selectionMode="multiple"
|
|
469
|
+
>
|
|
470
|
+
<FilterPicker.Item key="apple">Apple</FilterPicker.Item>
|
|
471
|
+
<FilterPicker.Item key="banana">Banana</FilterPicker.Item>
|
|
472
|
+
</FilterPicker>
|
|
473
|
+
```
|
|
474
|
+
|
|
458
475
|
### Complex Example
|
|
459
476
|
|
|
460
477
|
```jsx
|
|
@@ -714,78 +731,60 @@ The clear button:
|
|
|
714
731
|
- Calls the optional `onClear` callback
|
|
715
732
|
- Is hidden when the picker is disabled or read-only
|
|
716
733
|
|
|
717
|
-
###
|
|
718
|
-
|
|
719
|
-
FilterPicker provides two approaches for implementing external filtering when you need to control the filtering logic outside the component:
|
|
734
|
+
### Server-Side / Dynamic Search
|
|
720
735
|
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
Use `filter={false}` to disable internal filtering while providing pre-filtered items:
|
|
724
|
-
|
|
725
|
-
```jsx
|
|
726
|
-
const [externalSearch, setExternalSearch] = useState('');
|
|
727
|
-
|
|
728
|
-
const filteredFruits = useMemo(() => {
|
|
729
|
-
if (!externalSearch.trim()) return allFruits;
|
|
730
|
-
return allFruits.filter((fruit) =>
|
|
731
|
-
fruit.label.toLowerCase().includes(externalSearch.toLowerCase())
|
|
732
|
-
);
|
|
733
|
-
}, [externalSearch]);
|
|
734
|
-
|
|
735
|
-
<FilterPicker
|
|
736
|
-
label="Select Fruits"
|
|
737
|
-
placeholder="Choose fruits..."
|
|
738
|
-
selectionMode="multiple"
|
|
739
|
-
filter={false}
|
|
740
|
-
items={filteredFruits}
|
|
741
|
-
searchPlaceholder="Type to search..."
|
|
742
|
-
>
|
|
743
|
-
{(fruit) => (
|
|
744
|
-
<FilterPicker.Item key={fruit.key}>{fruit.label}</FilterPicker.Item>
|
|
745
|
-
)}
|
|
746
|
-
</FilterPicker>
|
|
747
|
-
```
|
|
748
|
-
|
|
749
|
-
#### Approach 2: Controlled Search Input
|
|
750
|
-
|
|
751
|
-
Use `searchValue` and `onSearchChange` for complete control over the search behavior:
|
|
736
|
+
When items come from a backend API, use `filter={false}` with controlled search to let the server handle filtering. Items are replaced when the response arrives, and `isLoadingItems` shows a subtle spinner in the search input while the fetch is in flight.
|
|
752
737
|
|
|
753
738
|
```jsx
|
|
739
|
+
const [items, setItems] = useState(initialItems);
|
|
754
740
|
const [searchValue, setSearchValue] = useState('');
|
|
741
|
+
const [isLoadingItems, setIsLoadingItems] = useState(false);
|
|
755
742
|
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
const filteredFruits = useMemo(() => {
|
|
764
|
-
if (!processedSearch.trim()) return allFruits;
|
|
765
|
-
return allFruits.filter((fruit) =>
|
|
766
|
-
fruit.label.toLowerCase().includes(processedSearch.toLowerCase())
|
|
767
|
-
);
|
|
768
|
-
}, [processedSearch]);
|
|
743
|
+
const handleSearchChange = useCallback((value) => {
|
|
744
|
+
setSearchValue(value);
|
|
745
|
+
setIsLoadingItems(true);
|
|
746
|
+
debouncedFetch(value)
|
|
747
|
+
.then(setItems)
|
|
748
|
+
.finally(() => setIsLoadingItems(false));
|
|
749
|
+
}, []);
|
|
769
750
|
|
|
770
751
|
<FilterPicker
|
|
771
|
-
|
|
772
|
-
placeholder="Choose fruits..."
|
|
773
|
-
selectionMode="multiple"
|
|
752
|
+
items={items}
|
|
774
753
|
searchValue={searchValue}
|
|
754
|
+
onSearchChange={handleSearchChange}
|
|
775
755
|
filter={false}
|
|
776
|
-
|
|
777
|
-
|
|
756
|
+
sortSelectedToTop={false}
|
|
757
|
+
isLoadingItems={isLoadingItems}
|
|
758
|
+
placeholder="Search items..."
|
|
759
|
+
selectionMode="multiple"
|
|
760
|
+
onOpenChange={(isOpen) => {
|
|
761
|
+
if (!isOpen) {
|
|
762
|
+
setSearchValue('');
|
|
763
|
+
setItems(initialItems);
|
|
764
|
+
}
|
|
765
|
+
}}
|
|
778
766
|
>
|
|
779
|
-
{(
|
|
780
|
-
<FilterPicker.Item key={
|
|
767
|
+
{(item) => (
|
|
768
|
+
<FilterPicker.Item key={item.id} textValue={item.name}>
|
|
769
|
+
{item.name}
|
|
770
|
+
</FilterPicker.Item>
|
|
781
771
|
)}
|
|
782
772
|
</FilterPicker>
|
|
783
773
|
```
|
|
784
774
|
|
|
785
|
-
**
|
|
786
|
-
- **`filter={false}
|
|
787
|
-
-
|
|
788
|
-
-
|
|
775
|
+
**How it works:**
|
|
776
|
+
- **`filter={false}`** disables client-side filtering so items are shown exactly as the server returns them
|
|
777
|
+
- **`searchValue` + `onSearchChange`** give you control over the search input; debounce and fetch on your side
|
|
778
|
+
- **`items`** is a reactive prop — replace it with server results and the list updates automatically
|
|
779
|
+
- **`isLoadingItems`** shows a loading spinner in the search input suffix while fetching. While loading, stale items that do not text-match the current search are hidden client-side so the user only sees relevant suggestions
|
|
780
|
+
- **Selected custom values** (with `allowsCustomValue` in multi-select) are filtered against the search input too, so they don't appear when they don't match
|
|
781
|
+
- **`sortSelectedToTop={false}`** is recommended when the server controls item order
|
|
782
|
+
- **`emptyLabel`** can be used to customize the empty state message (e.g. `"Loading items..."` during initial load)
|
|
783
|
+
- **Reset on close** — use `onOpenChange` to restore the initial item set and clear the search when the popover closes, ensuring the trigger label resolves correctly
|
|
784
|
+
|
|
785
|
+
**Tips:**
|
|
786
|
+
- Debouncing is the consumer's responsibility (300-500ms is typical)
|
|
787
|
+
- During the debounce delay, old items remain visible — if you want instant client-side feedback while waiting, use a filter function instead of `false`
|
|
789
788
|
|
|
790
789
|
## Performance
|
|
791
790
|
|
package/docs/tasty/injector.md
CHANGED
|
@@ -224,7 +224,7 @@ configure({
|
|
|
224
224
|
|
|
225
225
|
**Auto-Detection Features:**
|
|
226
226
|
- `devMode`: Automatically enabled in development environments (detected via `isDevEnv()`)
|
|
227
|
-
- `forceTextInjection`: Automatically enabled in test environments (Jest, Vitest, Mocha, jsdom)
|
|
227
|
+
- `forceTextInjection`: Automatically enabled in test environments (Jest, Vitest, Mocha, happy-dom, jsdom)
|
|
228
228
|
|
|
229
229
|
**Configuration Notes:**
|
|
230
230
|
- Most options have sensible defaults and auto-detection
|
|
@@ -366,7 +366,7 @@ const componentCSS = getCssTextForNode(container);
|
|
|
366
366
|
// Automatically detected test environments:
|
|
367
367
|
// - NODE_ENV === 'test'
|
|
368
368
|
// - Jest globals (jest, describe, it, expect)
|
|
369
|
-
// - jsdom user agent
|
|
369
|
+
// - jsdom / HappyDOM user agent
|
|
370
370
|
// - Vitest globals (vitest)
|
|
371
371
|
// - Mocha globals (mocha)
|
|
372
372
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cube-dev/ui-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.128.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "UIKit for Cube Projects",
|
|
6
6
|
"repository": {
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"@react-types/shared": "^3.32.1",
|
|
46
46
|
"@tabler/icons-react": "^3.31.0",
|
|
47
47
|
"@tanstack/react-virtual": "^3.13.12",
|
|
48
|
-
"@tenphi/tasty": "2.0
|
|
48
|
+
"@tenphi/tasty": "2.1.0",
|
|
49
49
|
"clipboard-copy": "^4.0.1",
|
|
50
50
|
"clsx": "^1.1.1",
|
|
51
51
|
"diff": "^8.0.3",
|