@cube-dev/ui-kit 0.0.0-canary-195ca54 → 0.0.0-canary-98d6974
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/ItemButton/ItemButton.js +1 -1
- package/es/components/actions/ItemButton/index.js +1 -1
- package/es/components/actions/Menu/Menu.js +1 -1
- package/es/components/actions/Menu/MenuItem.js +3 -8
- 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 +1 -1
- package/es/components/fields/ComboBox/index.js +1 -1
- package/es/components/fields/DatePicker/DateInput.js +1 -1
- package/es/components/fields/DatePicker/DateInputBase.js +1 -1
- package/es/components/fields/DatePicker/DatePicker.js +1 -1
- package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
- package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
- package/es/components/fields/DatePicker/TimeInput.js +1 -1
- package/es/components/fields/DatePicker/index.js +1 -1
- package/es/components/fields/DatePicker/intl.js +1 -1
- package/es/components/fields/DatePicker/parseDate.js +1 -1
- package/es/components/fields/DatePicker/props.js +1 -1
- package/es/components/fields/DatePicker/types.js +1 -1
- package/es/components/fields/DatePicker/utils.js +1 -1
- package/es/components/fields/FileInput/FileInput.js +1 -1
- package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/es/components/fields/FilterListBox/index.js +1 -1
- package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
- package/es/components/fields/FilterPicker/index.js +1 -1
- package/es/components/fields/Input/Input.js +1 -1
- package/es/components/fields/Input/index.js +1 -1
- package/es/components/fields/ListBox/ListBox.js +1 -1
- package/es/components/fields/ListBox/index.js +1 -1
- package/es/components/fields/NumberInput/NumberInput.js +1 -1
- package/es/components/fields/NumberInput/StepButton.js +1 -1
- package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/es/components/fields/RadioGroup/Radio.js +1 -1
- package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/es/components/fields/RadioGroup/context.js +1 -1
- package/es/components/fields/RadioGroup/index.js +1 -1
- package/es/components/fields/SearchInput/SearchInput.js +1 -1
- package/es/components/fields/SearchInput/index.js +1 -1
- package/es/components/fields/Select/Select.js +1 -1
- package/es/components/fields/Select/index.js +1 -1
- package/es/components/fields/Slider/Gradation.js +1 -1
- package/es/components/fields/Slider/Header.js +1 -1
- package/es/components/fields/Slider/RangeSlider.js +1 -1
- package/es/components/fields/Slider/Slider.js +1 -1
- package/es/components/fields/Slider/SliderBase.js +1 -1
- package/es/components/fields/Slider/SliderInput.js +1 -1
- package/es/components/fields/Slider/SliderThumb.js +1 -1
- package/es/components/fields/Slider/SliderTrack.js +1 -1
- package/es/components/fields/Slider/elements.js +1 -1
- package/es/components/fields/Slider/index.js +1 -1
- package/es/components/fields/Slider/types.js +1 -1
- package/es/components/fields/Switch/Switch.js +1 -1
- package/es/components/fields/Switch/index.js +1 -1
- package/es/components/fields/TextArea/TextArea.js +1 -1
- package/es/components/fields/TextArea/index.js +1 -1
- package/es/components/fields/TextInput/TextInput.js +1 -1
- package/es/components/fields/TextInput/TextInputBase.js +1 -1
- package/es/components/fields/TextInput/index.js +1 -1
- package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/es/components/fields/TextInputMapper/index.js +1 -1
- package/es/components/fields/index.js +1 -1
- package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
- package/es/components/form/FieldWrapper/index.js +1 -1
- package/es/components/form/FieldWrapper/types.js +1 -1
- package/es/components/form/Form/Field.js +1 -1
- package/es/components/form/Form/Form.js +1 -1
- package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/es/components/form/Form/ResetButton/index.js +1 -1
- package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/es/components/form/Form/SubmitButton/index.js +1 -1
- package/es/components/form/Form/SubmitError.js +1 -1
- package/es/components/form/Form/index.js +1 -1
- package/es/components/form/Form/types.js +1 -1
- package/es/components/form/Form/use-field/index.js +1 -1
- package/es/components/form/Form/use-field/types.js +1 -1
- package/es/components/form/Form/use-field/use-field-props.js +1 -1
- package/es/components/form/Form/use-field/use-field.js +1 -1
- package/es/components/form/Form/use-form.js +1 -1
- package/es/components/form/Form/validation.js +1 -1
- package/es/components/form/Label.js +1 -1
- package/es/components/form/index.js +1 -1
- package/es/components/form/wrapper.js +1 -1
- package/es/components/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/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 +2 -5
- 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/NotificationsDialogTrigger.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
- package/es/components/overlays/NewNotifications/Notification.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
- package/es/components/overlays/NewNotifications/index.js +1 -1
- package/es/components/overlays/NewNotifications/types.js +1 -1
- package/es/components/overlays/Notification/Notification.js +1 -1
- package/es/components/overlays/OverlayWrapper.js +1 -1
- package/es/components/overlays/Toasts/Toast.js +1 -1
- package/es/components/overlays/Toasts/index.js +1 -1
- package/es/components/overlays/Toasts/types.js +1 -1
- package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
- package/es/components/overlays/Tooltip/Tooltip.js +1 -1
- package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/es/components/overlays/Tooltip/context.js +1 -1
- package/es/components/overlays/Tooltip/index.js +1 -1
- package/es/components/portal/Portal.js +1 -1
- package/es/components/portal/PortalProvider.js +1 -1
- package/es/components/portal/index.js +1 -1
- package/es/components/portal/types.js +1 -1
- package/es/components/portal/usePortal.js +1 -1
- package/es/components/shared/InvalidIcon.js +1 -1
- package/es/components/shared/ValidIcon.js +1 -1
- package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/es/components/status/LoadingAnimation/index.js +1 -1
- package/es/components/status/Spin/Cube.js +1 -1
- package/es/components/status/Spin/InternalSpinner.js +1 -1
- package/es/components/status/Spin/Spin.js +1 -1
- package/es/components/status/Spin/SpinsContainer.js +1 -1
- package/es/components/status/Spin/index.js +1 -1
- package/es/components/status/Spin/types.js +1 -1
- package/es/components/status/index.js +1 -1
- package/es/data/item-themes.js +1 -1
- package/es/data/themes.js +1 -1
- package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/es/icons/AdjustmentsIcon.js +1 -1
- package/es/icons/AiIcon.js +1 -1
- package/es/icons/AreaChartIcon.js +1 -1
- package/es/icons/BackwardIcon.js +1 -1
- package/es/icons/BarChartIcon.js +1 -1
- package/es/icons/BellFilledIcon.js +1 -1
- package/es/icons/BellIcon.js +1 -1
- package/es/icons/BooleanIcon.js +1 -1
- package/es/icons/CalendarEditIcon.js +1 -1
- package/es/icons/CalendarIcon.js +1 -1
- package/es/icons/CaretDownIcon.js +1 -1
- package/es/icons/CaretUpIcon.js +1 -1
- package/es/icons/ChartAreaStackedIcon.js +1 -1
- package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/es/icons/ChartBarGroupedIcon.js +1 -1
- package/es/icons/ChartBarHorizontalIcon.js +1 -1
- package/es/icons/ChartBarLineIcon.js +1 -1
- package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/es/icons/ChartBarStackedIcon.js +1 -1
- package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/es/icons/ChartBoxPlot2Icon.js +1 -1
- package/es/icons/ChartBoxPlotIcon.js +1 -1
- package/es/icons/ChartBubbleIcon.js +1 -1
- package/es/icons/ChartDonut2Icon.js +1 -1
- package/es/icons/ChartFunnelIcon.js +1 -1
- package/es/icons/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/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 +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/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/injector/flatten.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/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/optimizeAttributeSelectors.js +109 -0
- package/es/tasty/utils/renderStyles.js +31 -37
- package/es/tasty/utils/responsive.js +1 -1
- package/es/tasty/utils/string.js +1 -1
- package/es/tasty/utils/styles.js +1 -84
- 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 +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/tasty/utils/optimizeAttributeSelectors.d.ts +11 -0
- package/types/tasty/utils/styles.d.ts +0 -8
package/es/tasty/utils/colors.js
CHANGED
package/es/tasty/utils/dotize.js
CHANGED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license MIT
|
|
3
|
+
* author: Cube Dev Team
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-98d6974
|
|
5
|
+
* Released under the MIT license.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Utility functions for optimizing attribute selectors
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Parse an attribute selector like [data-size="medium"] into its components
|
|
13
|
+
*/
|
|
14
|
+
function parseAttributeSelector(selector) {
|
|
15
|
+
const match = selector.match(/^\[([^=]+)="([^"]+)"\]$/);
|
|
16
|
+
if (!match)
|
|
17
|
+
return null;
|
|
18
|
+
return {
|
|
19
|
+
attribute: match[1],
|
|
20
|
+
value: match[2],
|
|
21
|
+
originalSelector: selector,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Optimize a list of modifiers and not-modifiers to avoid redundant selectors
|
|
26
|
+
*
|
|
27
|
+
* For example:
|
|
28
|
+
* - [data-size="medium"]:not([data-size="large"]) -> [data-size="medium"]
|
|
29
|
+
* - :not([data-size="medium"]):not([data-size="large"]) -> :not([data-size])
|
|
30
|
+
*/
|
|
31
|
+
export function optimizeModifierSelectors(mods, notMods, getModSelector) {
|
|
32
|
+
// Convert modifiers to selectors
|
|
33
|
+
const modSelectors = mods.map(getModSelector);
|
|
34
|
+
const notModSelectors = notMods.map(getModSelector);
|
|
35
|
+
// Parse attribute selectors
|
|
36
|
+
const parsedModSelectors = modSelectors.map((sel) => ({
|
|
37
|
+
selector: sel,
|
|
38
|
+
parsed: parseAttributeSelector(sel),
|
|
39
|
+
}));
|
|
40
|
+
const parsedNotModSelectors = notModSelectors.map((sel) => ({
|
|
41
|
+
selector: sel,
|
|
42
|
+
parsed: parseAttributeSelector(sel),
|
|
43
|
+
}));
|
|
44
|
+
// Group by attribute name
|
|
45
|
+
const modsByAttribute = new Map();
|
|
46
|
+
const notModsByAttribute = new Map();
|
|
47
|
+
parsedModSelectors.forEach(({ parsed }) => {
|
|
48
|
+
if (parsed) {
|
|
49
|
+
const set = modsByAttribute.get(parsed.attribute) || new Set();
|
|
50
|
+
set.add(parsed.value);
|
|
51
|
+
modsByAttribute.set(parsed.attribute, set);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
parsedNotModSelectors.forEach(({ parsed }) => {
|
|
55
|
+
if (parsed) {
|
|
56
|
+
const set = notModsByAttribute.get(parsed.attribute) || new Set();
|
|
57
|
+
set.add(parsed.value);
|
|
58
|
+
notModsByAttribute.set(parsed.attribute, set);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
// Check for conflicting attributes (same attribute with different values in mods)
|
|
62
|
+
for (const [attribute, values] of modsByAttribute) {
|
|
63
|
+
if (values.size > 1) {
|
|
64
|
+
// This combination is impossible (e.g., [data-size="medium"][data-size="large"])
|
|
65
|
+
return 'IMPOSSIBLE_SELECTOR';
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Build optimized selectors
|
|
69
|
+
const finalModSelectors = [];
|
|
70
|
+
const finalNotSelectors = [];
|
|
71
|
+
// Add regular mod selectors
|
|
72
|
+
parsedModSelectors.forEach(({ selector, parsed }) => {
|
|
73
|
+
finalModSelectors.push(selector);
|
|
74
|
+
});
|
|
75
|
+
// First pass: collect all not selectors that aren't attribute selectors
|
|
76
|
+
parsedNotModSelectors.forEach(({ selector, parsed }) => {
|
|
77
|
+
if (!parsed) {
|
|
78
|
+
// Not an attribute selector, keep as is
|
|
79
|
+
const sel = selector.startsWith(':not(')
|
|
80
|
+
? selector.slice(5, -1)
|
|
81
|
+
: `:not(${selector})`;
|
|
82
|
+
finalNotSelectors.push(sel);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
// Handle attribute-based not selectors with optimization
|
|
86
|
+
notModsByAttribute.forEach((values, attribute) => {
|
|
87
|
+
const modValues = modsByAttribute.get(attribute);
|
|
88
|
+
if (modValues && modValues.size > 0) {
|
|
89
|
+
// We have a positive selector for this attribute (e.g., [data-size="medium"])
|
|
90
|
+
// So we don't need any :not() selectors for other values of the same attribute
|
|
91
|
+
// because they're mutually exclusive
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
// No positive selector for this attribute
|
|
95
|
+
if (values.size >= 2) {
|
|
96
|
+
// Multiple values being negated - optimize to :not([attribute])
|
|
97
|
+
finalNotSelectors.push(`:not([${attribute}])`);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
// Single value being negated
|
|
101
|
+
values.forEach((value) => {
|
|
102
|
+
finalNotSelectors.push(`:not([${attribute}="${value}"])`);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
return finalModSelectors.join('') + finalNotSelectors.join('');
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-98d6974
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
* Eliminates CSS string parsing for better performance
|
|
11
11
|
*/
|
|
12
12
|
import { createStyle, STYLE_HANDLER_MAP } from '../styles';
|
|
13
|
-
import {
|
|
13
|
+
import { optimizeModifierSelectors } from './optimizeAttributeSelectors';
|
|
14
14
|
import { mediaWrapper, normalizeStyleZones, pointsToZones, } from './responsive';
|
|
15
|
-
import {
|
|
15
|
+
import { computeState, getModSelector, styleStateMapToStyleStateDataList, } from './styles';
|
|
16
16
|
// Normalize selector suffixes coming from `$` in style handler results.
|
|
17
17
|
// Some legacy handlers return suffixes starting with `&` (e.g. '& > *').
|
|
18
18
|
// The renderer expects suffixes without the ampersand because it adds
|
|
@@ -319,9 +319,14 @@ export function renderStyles(styles, responsive = [], className = 'unknown') {
|
|
|
319
319
|
});
|
|
320
320
|
// Generate all possible mod combinations
|
|
321
321
|
const allModsArray = Array.from(allMods);
|
|
322
|
-
|
|
323
|
-
//
|
|
324
|
-
|
|
322
|
+
const combinations = [[]]; // Start with empty combination
|
|
323
|
+
// Generate all combinations (including empty)
|
|
324
|
+
for (let i = 0; i < allModsArray.length; i++) {
|
|
325
|
+
const currentLength = combinations.length;
|
|
326
|
+
for (let j = 0; j < currentLength; j++) {
|
|
327
|
+
combinations.push([...combinations[j], allModsArray[i]]);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
325
330
|
combinations.forEach((modCombination) => {
|
|
326
331
|
const stateProps = {};
|
|
327
332
|
lookupStyles.forEach((style) => {
|
|
@@ -337,20 +342,12 @@ export function renderStyles(styles, responsive = [], className = 'unknown') {
|
|
|
337
342
|
const result = handler(stateProps);
|
|
338
343
|
if (!result)
|
|
339
344
|
return;
|
|
340
|
-
|
|
341
|
-
const
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
const { mods } = styleStateMapToStyleStateDataList(value);
|
|
347
|
-
mods.forEach((m) => activeModsUniverse.add(m));
|
|
348
|
-
}
|
|
349
|
-
});
|
|
350
|
-
const includeRelevant = modCombination.filter((m) => activeModsUniverse.has(m));
|
|
351
|
-
const notRelevant = Array.from(activeModsUniverse).filter((m) => !modCombination.includes(m));
|
|
352
|
-
const preferEnumeratedBase = includeRelevant.length === 0;
|
|
353
|
-
const modsSelectors = buildOptimizedModsSelector(includeRelevant, notRelevant, preferEnumeratedBase);
|
|
345
|
+
const notMods = allModsArray.filter((mod) => !modCombination.includes(mod));
|
|
346
|
+
const modsSelectors = optimizeModifierSelectors(modCombination, notMods, getModSelector);
|
|
347
|
+
// Skip impossible selector combinations
|
|
348
|
+
if (modsSelectors === 'IMPOSSIBLE_SELECTOR') {
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
354
351
|
const logical = explodeHandlerResult(result, zones || [], `${modsSelectors}${parentSuffix}`);
|
|
355
352
|
allLogicalRules.push(...logical);
|
|
356
353
|
});
|
|
@@ -499,9 +496,14 @@ export function renderStylesForGlobal(styles, responsive = []) {
|
|
|
499
496
|
});
|
|
500
497
|
// Generate all possible mod combinations
|
|
501
498
|
const allModsArray = Array.from(allMods);
|
|
502
|
-
|
|
503
|
-
//
|
|
504
|
-
|
|
499
|
+
const combinations = [[]]; // Start with empty combination
|
|
500
|
+
// Generate all combinations (including empty)
|
|
501
|
+
for (let i = 0; i < allModsArray.length; i++) {
|
|
502
|
+
const currentLength = combinations.length;
|
|
503
|
+
for (let j = 0; j < currentLength; j++) {
|
|
504
|
+
combinations.push([...combinations[j], allModsArray[i]]);
|
|
505
|
+
}
|
|
506
|
+
}
|
|
505
507
|
combinations.forEach((modCombination) => {
|
|
506
508
|
const stateProps = {};
|
|
507
509
|
lookupStyles.forEach((style) => {
|
|
@@ -517,20 +519,12 @@ export function renderStylesForGlobal(styles, responsive = []) {
|
|
|
517
519
|
const result = handler(stateProps);
|
|
518
520
|
if (!result)
|
|
519
521
|
return;
|
|
520
|
-
|
|
521
|
-
const
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
const { mods } = styleStateMapToStyleStateDataList(value);
|
|
527
|
-
mods.forEach((m) => activeModsUniverse.add(m));
|
|
528
|
-
}
|
|
529
|
-
});
|
|
530
|
-
const includeRelevant = modCombination.filter((m) => activeModsUniverse.has(m));
|
|
531
|
-
const notRelevant = Array.from(activeModsUniverse).filter((m) => !modCombination.includes(m));
|
|
532
|
-
const preferEnumeratedBase = includeRelevant.length === 0;
|
|
533
|
-
const modsSelectors = buildOptimizedModsSelector(includeRelevant, notRelevant, preferEnumeratedBase);
|
|
522
|
+
const notMods = allModsArray.filter((mod) => !modCombination.includes(mod));
|
|
523
|
+
const modsSelectors = optimizeModifierSelectors(modCombination, notMods, getModSelector);
|
|
524
|
+
// Skip impossible selector combinations
|
|
525
|
+
if (modsSelectors === 'IMPOSSIBLE_SELECTOR') {
|
|
526
|
+
return;
|
|
527
|
+
}
|
|
534
528
|
// Convert to CSS with proper selectors
|
|
535
529
|
const cssResult = convertHandlerResultToCSS(result, modsSelectors);
|
|
536
530
|
if (cssResult) {
|
package/es/tasty/utils/string.js
CHANGED
package/es/tasty/utils/styles.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-98d6974
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -53,89 +53,6 @@ export function getModSelector(modName) {
|
|
|
53
53
|
}
|
|
54
54
|
return MOD_NAME_CACHE.get(modName);
|
|
55
55
|
}
|
|
56
|
-
/**
|
|
57
|
-
* Build optimized selector suffix from mods and notMods.
|
|
58
|
-
* - Groups attribute selectors like [data-size="large"] by attribute name
|
|
59
|
-
* - For a positive attribute value present, drops redundant :not for other values
|
|
60
|
-
* - For base (no value) case, emits a single :not([attr]) instead of
|
|
61
|
-
* :not([attr="v1"]):not([attr="v2"])…
|
|
62
|
-
*/
|
|
63
|
-
export function buildOptimizedModsSelector(mods, notMods, preferEnumeratedBase = false) {
|
|
64
|
-
const includedSelectors = mods.map(getModSelector);
|
|
65
|
-
const isBaseCombination = mods.length === 0;
|
|
66
|
-
// Helper to parse attribute selectors
|
|
67
|
-
const parseAttr = (sel) => {
|
|
68
|
-
// [attr="value"]
|
|
69
|
-
let m = sel.match(/^\[([^=\]]+)="([^"]+)"\]$/);
|
|
70
|
-
if (m)
|
|
71
|
-
return { name: m[1], value: m[2] };
|
|
72
|
-
m = sel.match(/^\[([^=\]]+)='([^']+)'\]$/);
|
|
73
|
-
if (m)
|
|
74
|
-
return { name: m[1], value: m[2] };
|
|
75
|
-
// [attr]
|
|
76
|
-
m = sel.match(/^\[([^=\]]+)\]$/);
|
|
77
|
-
if (m)
|
|
78
|
-
return { name: m[1] };
|
|
79
|
-
return null;
|
|
80
|
-
};
|
|
81
|
-
// Collect attribute names that are positively included
|
|
82
|
-
const includedAttrNames = new Set();
|
|
83
|
-
includedSelectors.forEach((sel) => {
|
|
84
|
-
const info = parseAttr(sel);
|
|
85
|
-
if (info)
|
|
86
|
-
includedAttrNames.add(info.name);
|
|
87
|
-
});
|
|
88
|
-
const keepNotSelectors = [];
|
|
89
|
-
// Track attribute values seen in notMods: name -> set(values)
|
|
90
|
-
const notAttrValues = new Map();
|
|
91
|
-
notMods.forEach((mod) => {
|
|
92
|
-
const sel = getModSelector(mod);
|
|
93
|
-
const info = parseAttr(sel);
|
|
94
|
-
if (info) {
|
|
95
|
-
if (!notAttrValues.has(info.name))
|
|
96
|
-
notAttrValues.set(info.name, new Set());
|
|
97
|
-
notAttrValues.get(info.name).add(info.value);
|
|
98
|
-
return; // defer attribute handling until after we know counts
|
|
99
|
-
}
|
|
100
|
-
// Non-attribute selectors keep current logic
|
|
101
|
-
if (sel.startsWith(':not(')) {
|
|
102
|
-
keepNotSelectors.push(sel.slice(5, -1));
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
keepNotSelectors.push(`:not(${sel})`);
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
// Decide per-attribute whether to compress to :not([attr]) or keep specific values
|
|
109
|
-
notAttrValues.forEach((values, name) => {
|
|
110
|
-
const hasIncluded = includedAttrNames.has(name);
|
|
111
|
-
// If attribute is explicitly included (e.g. [data-size="large"]),
|
|
112
|
-
// do not add any not-selectors for other values of the same attribute.
|
|
113
|
-
if (hasIncluded)
|
|
114
|
-
return;
|
|
115
|
-
const distinctValueCount = Array.from(values).filter((v) => v !== undefined).length;
|
|
116
|
-
const sawPresenceToken = values.has(undefined);
|
|
117
|
-
// Compress only when we saw at least two different specific values to
|
|
118
|
-
// exclude OR an explicit presence token; allow overriding to keep
|
|
119
|
-
// enumerated base (e.g. for Button preset) using preferEnumeratedBase.
|
|
120
|
-
const shouldCompress = (!isBaseCombination || !preferEnumeratedBase) &&
|
|
121
|
-
(distinctValueCount >= 2 || sawPresenceToken);
|
|
122
|
-
if (shouldCompress) {
|
|
123
|
-
keepNotSelectors.push(`:not([${name}])`);
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
// Keep value-specific exclusions
|
|
127
|
-
values.forEach((value) => {
|
|
128
|
-
if (value === undefined) {
|
|
129
|
-
keepNotSelectors.push(`:not([${name}])`);
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
keepNotSelectors.push(`:not([${name}="${value}"])`);
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
return `${includedSelectors.join('')}${keepNotSelectors.join('')}`;
|
|
138
|
-
}
|
|
139
56
|
// Keep a single shared instance across the whole library so that the cache of
|
|
140
57
|
// the new StyleParser keeps working and custom functions/units can be updated
|
|
141
58
|
// at runtime.
|
package/es/tokens.js
CHANGED
package/es/type-checks.js
CHANGED
package/es/utils/ResizeSensor.js
CHANGED
package/es/utils/modules.js
CHANGED
package/es/utils/promise.js
CHANGED
package/es/utils/random.js
CHANGED
package/es/utils/range.js
CHANGED
package/es/utils/react/Slots.js
CHANGED
package/es/utils/react/chain.js
CHANGED
package/es/utils/react/index.js
CHANGED
package/es/utils/react/useId.js
CHANGED