@cube-dev/ui-kit 0.0.0-canary-4030902 → 0.0.0-canary-7bbea62
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 +1 -1
- package/es/components/actions/Menu/MenuSection.js +1 -1
- package/es/components/actions/Menu/MenuTrigger.js +1 -1
- package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/es/components/actions/Menu/context.js +1 -1
- package/es/components/actions/Menu/index.js +1 -1
- package/es/components/actions/Menu/styled.js +1 -1
- package/es/components/actions/index.js +1 -1
- package/es/components/actions/use-action.js +1 -1
- package/es/components/actions/use-anchored-menu.js +1 -1
- package/es/components/actions/use-context-menu.js +1 -1
- package/es/components/content/ActiveZone/ActiveZone.js +1 -1
- package/es/components/content/Alert/Alert.js +1 -1
- package/es/components/content/Alert/index.js +1 -1
- package/es/components/content/Alert/types.js +1 -1
- package/es/components/content/Alert/use-alert.js +1 -1
- package/es/components/content/Avatar/Avatar.js +1 -1
- package/es/components/content/Badge/Badge.js +1 -1
- package/es/components/content/Card/Card.js +1 -1
- package/es/components/content/Content.js +1 -1
- package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/es/components/content/CopyPasteBlock/index.js +1 -1
- package/es/components/content/CopySnippet/CopySnippet.js +1 -1
- package/es/components/content/CopySnippet/index.js +1 -1
- package/es/components/content/Divider.js +1 -1
- package/es/components/content/Footer.js +1 -1
- package/es/components/content/Header.js +1 -1
- package/es/components/content/HotKeys/HotKeys.js +1 -1
- package/es/components/content/HotKeys/index.js +1 -1
- package/es/components/content/ItemBase/ItemBase.js +1 -1
- package/es/components/content/ItemBase/index.js +1 -1
- package/es/components/content/List/SectionHeading.js +1 -1
- package/es/components/content/List/index.js +1 -1
- package/es/components/content/Paragraph.js +1 -1
- package/es/components/content/Placeholder/Placeholder.js +1 -1
- package/es/components/content/PrismCode/PrismCode.js +1 -1
- package/es/components/content/PrismCode/prismSetup.js +1 -1
- package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/es/components/content/Result/Result.js +1 -1
- package/es/components/content/Skeleton/Skeleton.js +1 -1
- package/es/components/content/Tag/Tag.js +1 -1
- package/es/components/content/Text.js +1 -1
- package/es/components/content/Title.js +1 -1
- package/es/components/fields/Checkbox/Checkbox.js +1 -1
- package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/es/components/fields/Checkbox/context.js +1 -1
- package/es/components/fields/Checkbox/index.js +1 -1
- package/es/components/fields/ComboBox/ComboBox.js +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 +1 -1
- package/es/components/other/Calendar/CalendarGrid.js +1 -1
- package/es/components/other/Calendar/RangeCalendar.js +1 -1
- package/es/components/other/CloudLogo/CloudLogo.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/es/components/overlays/AlertDialog/index.js +1 -1
- package/es/components/overlays/AlertDialog/types.js +1 -1
- package/es/components/overlays/Dialog/Dialog.js +1 -1
- package/es/components/overlays/Dialog/DialogContainer.js +1 -1
- package/es/components/overlays/Dialog/DialogForm.js +1 -1
- package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/es/components/overlays/Dialog/context.js +1 -1
- package/es/components/overlays/Dialog/index.js +1 -1
- package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/es/components/overlays/Modal/Modal.js +1 -1
- package/es/components/overlays/Modal/OpenTransition.js +1 -1
- package/es/components/overlays/Modal/Overlay.js +1 -1
- package/es/components/overlays/Modal/Popover.js +1 -1
- package/es/components/overlays/Modal/Tray.js +1 -1
- package/es/components/overlays/Modal/Underlay.js +1 -1
- package/es/components/overlays/Modal/index.js +1 -1
- package/es/components/overlays/Modal/types.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/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/debug.js +1 -1
- package/es/tasty/index.js +1 -1
- package/es/tasty/injector/index.js +1 -8
- package/es/tasty/injector/injector.js +6 -40
- 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 +11 -10
- 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 +129 -172
- package/es/tasty/utils/responsive.js +1 -7
- package/es/tasty/utils/string.js +1 -1
- package/es/tasty/utils/styles.js +1 -1
- package/es/tasty/utils/warnings.js +1 -1
- package/es/tokens.js +1 -1
- package/es/type-checks.js +1 -1
- package/es/utils/ResizeSensor.js +1 -1
- package/es/utils/modules.js +1 -1
- package/es/utils/promise.js +1 -1
- package/es/utils/random.js +1 -1
- package/es/utils/range.js +1 -1
- package/es/utils/react/Slots.js +1 -1
- package/es/utils/react/chain.js +1 -1
- package/es/utils/react/forwardRefWithGenerics.js +1 -1
- package/es/utils/react/index.js +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/Menu/styled.d.ts +6 -6
- package/types/components/content/List/SectionHeading.d.ts +2 -2
- package/types/components/fields/DatePicker/DatePickerElement.d.ts +2 -2
- package/types/tasty/injector/index.d.ts +2 -9
- package/types/tasty/injector/injector.d.ts +2 -12
- package/types/tasty/injector/sheet-manager.d.ts +3 -3
- package/types/tasty/injector/types.d.ts +1 -5
- package/types/tasty/utils/renderStyles.d.ts +5 -5
- package/types/tasty/utils/responsive.d.ts +0 -1
- package/es/tasty/injector/flatten.js +0 -350
- package/types/tasty/injector/flatten.d.ts +0 -16
package/es/tasty/styles/types.js
CHANGED
package/es/tasty/styles/width.js
CHANGED
package/es/tasty/tasty.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
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-7bbea62
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { createElement, forwardRef, useContext, useInsertionEffect, useMemo, useRef, } from 'react';
|
|
9
9
|
import { isValidElementType } from 'react-is';
|
|
10
|
-
import { inject
|
|
10
|
+
import { inject } from './injector';
|
|
11
11
|
import { BreakpointsContext } from './providers/BreakpointsProvider';
|
|
12
12
|
import { BASE_STYLES } from './styles/list';
|
|
13
13
|
import { cacheWrapper } from './utils/cache-wrapper';
|
|
14
14
|
import { getDisplayName } from './utils/getDisplayName';
|
|
15
15
|
import { mergeStyles } from './utils/mergeStyles';
|
|
16
16
|
import { modAttrs } from './utils/modAttrs';
|
|
17
|
-
import { renderStyles
|
|
17
|
+
import { renderStyles } from './utils/renderStyles';
|
|
18
18
|
/**
|
|
19
19
|
* Simple hash function for internal cache keys
|
|
20
20
|
*/
|
|
@@ -46,22 +46,23 @@ function tastyGlobal(selector, styles) {
|
|
|
46
46
|
const breakpointsList = (breakpoints ?? contextBreakpoints) || [980];
|
|
47
47
|
const breakpointsHash = breakpointsList.join(',');
|
|
48
48
|
const disposeRef = useRef(null);
|
|
49
|
-
const
|
|
49
|
+
const styleResults = useMemo(() => {
|
|
50
50
|
if (!styles)
|
|
51
|
-
return
|
|
52
|
-
return
|
|
53
|
-
}, [breakpointsHash]);
|
|
51
|
+
return [];
|
|
52
|
+
return renderStyles(styles, breakpointsList, selector, true);
|
|
53
|
+
}, [selector, breakpointsHash]);
|
|
54
54
|
// Inject styles at insertion phase; cleanup on change/unmount
|
|
55
55
|
useInsertionEffect(() => {
|
|
56
56
|
disposeRef.current?.();
|
|
57
|
-
if (
|
|
57
|
+
if (styleResults.length === 0)
|
|
58
58
|
return;
|
|
59
|
-
|
|
59
|
+
const { dispose } = inject(styleResults);
|
|
60
|
+
disposeRef.current = dispose;
|
|
60
61
|
return () => {
|
|
61
62
|
disposeRef.current?.();
|
|
62
63
|
disposeRef.current = null;
|
|
63
64
|
};
|
|
64
|
-
}, [
|
|
65
|
+
}, [styleResults]);
|
|
65
66
|
return null;
|
|
66
67
|
};
|
|
67
68
|
_StyleDeclarationComponent.displayName = `TastyStyleDeclaration(${selector})`;
|
package/es/tasty/types.js
CHANGED
package/es/tasty/utils/colors.js
CHANGED
package/es/tasty/utils/dotize.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-7bbea62
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
import { Lru } from '../parser/lru';
|
|
13
13
|
import { createStyle, STYLE_HANDLER_MAP } from '../styles';
|
|
14
14
|
import { getModCombinationsIterative } from './getModCombinations';
|
|
15
|
-
import {
|
|
15
|
+
import { normalizeStyleZones, pointsToZones, } from './responsive';
|
|
16
16
|
import { computeState, getModSelector, styleStateMapToStyleStateDataList, } from './styles';
|
|
17
17
|
// Detect if a value is a state map whose entries contain responsive arrays
|
|
18
18
|
function stateMapHasResponsiveArrays(value) {
|
|
@@ -20,86 +20,6 @@ function stateMapHasResponsiveArrays(value) {
|
|
|
20
20
|
return false;
|
|
21
21
|
return Object.values(value).some((v) => Array.isArray(v));
|
|
22
22
|
}
|
|
23
|
-
// Convert a state-map-of-arrays into an array-of-state-maps of length zoneNumber
|
|
24
|
-
// Example:
|
|
25
|
-
// { '': ['1x', '2x'], large: [null, '3x'] } →
|
|
26
|
-
// [ { '': '1x', large: null }, { '': '2x', large: '3x' } ]
|
|
27
|
-
function stateMapToArrayOfStateMaps(value, zoneNumber) {
|
|
28
|
-
// Short-circuit for single zone - avoid array allocation
|
|
29
|
-
if (zoneNumber === 1) {
|
|
30
|
-
const singleMap = {};
|
|
31
|
-
for (const [state, stateValue] of Object.entries(value)) {
|
|
32
|
-
if (Array.isArray(stateValue)) {
|
|
33
|
-
// Take the first value from the array or null if empty
|
|
34
|
-
singleMap[state] = stateValue.length > 0 ? stateValue[0] : null;
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
singleMap[state] = stateValue;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return [singleMap];
|
|
41
|
-
}
|
|
42
|
-
const result = Array.from({ length: zoneNumber }, () => ({}));
|
|
43
|
-
for (const [state, stateValue] of Object.entries(value)) {
|
|
44
|
-
const perZone = Array.isArray(stateValue)
|
|
45
|
-
? normalizeStyleZones(stateValue, zoneNumber)
|
|
46
|
-
: Array(zoneNumber).fill(stateValue);
|
|
47
|
-
for (let i = 0; i < zoneNumber; i++) {
|
|
48
|
-
const v = perZone[i];
|
|
49
|
-
// Always include the state in the result, even if null or empty
|
|
50
|
-
// This preserves the state structure across all breakpoints
|
|
51
|
-
result[i][state] = v;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return result;
|
|
55
|
-
}
|
|
56
|
-
// Normalize an array that may contain plain values and/or state maps into
|
|
57
|
-
// an array-of-state-maps of fixed length zoneNumber with propagation.
|
|
58
|
-
// Example:
|
|
59
|
-
// ['1x', { '': '1x', large: '2x' }] (zoneNumber=2) →
|
|
60
|
-
// [ { '': '1x' }, { '': '1x', large: '2x' } ]
|
|
61
|
-
function normalizeArrayWithStateMaps(valueArray, zoneNumber) {
|
|
62
|
-
// Short-circuit for single zone - avoid array propagation and mapping
|
|
63
|
-
if (zoneNumber === 1) {
|
|
64
|
-
const firstEntry = valueArray.length > 0 ? valueArray[0] : null;
|
|
65
|
-
if (firstEntry &&
|
|
66
|
-
typeof firstEntry === 'object' &&
|
|
67
|
-
!Array.isArray(firstEntry)) {
|
|
68
|
-
return [firstEntry];
|
|
69
|
-
}
|
|
70
|
-
return [{ '': firstEntry }];
|
|
71
|
-
}
|
|
72
|
-
const propagated = normalizeStyleZones(valueArray, zoneNumber);
|
|
73
|
-
// Trim trailing null/undefined entries to reduce processing
|
|
74
|
-
let lastNonNullIndex = propagated.length - 1;
|
|
75
|
-
while (lastNonNullIndex >= 0 && propagated[lastNonNullIndex] == null) {
|
|
76
|
-
lastNonNullIndex--;
|
|
77
|
-
}
|
|
78
|
-
// If all entries are null, return minimal array
|
|
79
|
-
if (lastNonNullIndex < 0) {
|
|
80
|
-
return Array.from({ length: zoneNumber }, () => ({ '': null }));
|
|
81
|
-
}
|
|
82
|
-
// Process only up to the last non-null entry, then fill the rest with the last value
|
|
83
|
-
const result = [];
|
|
84
|
-
let lastProcessedEntry = null;
|
|
85
|
-
for (let i = 0; i <= lastNonNullIndex; i++) {
|
|
86
|
-
const entry = propagated[i];
|
|
87
|
-
let processedEntry;
|
|
88
|
-
if (entry && typeof entry === 'object' && !Array.isArray(entry)) {
|
|
89
|
-
processedEntry = entry;
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
processedEntry = { '': entry };
|
|
93
|
-
}
|
|
94
|
-
result.push(processedEntry);
|
|
95
|
-
lastProcessedEntry = processedEntry;
|
|
96
|
-
}
|
|
97
|
-
// Fill remaining slots with the last processed entry (CSS cascade behavior)
|
|
98
|
-
for (let i = lastNonNullIndex + 1; i < zoneNumber; i++) {
|
|
99
|
-
result.push(lastProcessedEntry || { '': null });
|
|
100
|
-
}
|
|
101
|
-
return result;
|
|
102
|
-
}
|
|
103
23
|
// Normalize selector suffixes coming from `$` in style handler results.
|
|
104
24
|
// Some legacy handlers return suffixes starting with `&` (e.g. '& > *').
|
|
105
25
|
// The renderer expects suffixes without the ampersand because it adds
|
|
@@ -239,7 +159,7 @@ function explodeHandlerResult(result, zones, selectorSuffix = '', forceBreakpoin
|
|
|
239
159
|
for (const item of resultArray) {
|
|
240
160
|
if (!item || typeof item !== 'object')
|
|
241
161
|
continue;
|
|
242
|
-
const { $,
|
|
162
|
+
const { $, ...styleProps } = item;
|
|
243
163
|
// Phase 2: Responsive fan-out - handle array values
|
|
244
164
|
const breakpointGroups = new Map();
|
|
245
165
|
if (forceBreakpointIdx !== undefined) {
|
|
@@ -278,14 +198,6 @@ function explodeHandlerResult(result, zones, selectorSuffix = '', forceBreakpoin
|
|
|
278
198
|
breakpointGroups.set(breakpointIdx, group);
|
|
279
199
|
}
|
|
280
200
|
}
|
|
281
|
-
// Handle raw CSS if present (add to base breakpoint)
|
|
282
|
-
if (css && typeof css === 'string') {
|
|
283
|
-
const baseGroup = breakpointGroups.get(0) || {};
|
|
284
|
-
// For now, we'll add raw CSS as a special property
|
|
285
|
-
// This is a limitation - raw CSS should be parsed properly
|
|
286
|
-
baseGroup['--raw-css'] = css;
|
|
287
|
-
breakpointGroups.set(0, baseGroup);
|
|
288
|
-
}
|
|
289
201
|
// Phase 3: Selector fan-out - handle $ suffixes
|
|
290
202
|
// IMPORTANT: If we are already in a pseudo-element context (contains '::'),
|
|
291
203
|
// CSS does not allow further descendant/child selectors (e.g., '>*') after
|
|
@@ -397,7 +309,6 @@ function materializeRules(logicalRules, className, zones) {
|
|
|
397
309
|
return logicalRules.map((rule) => {
|
|
398
310
|
const selector = `.${className}${rule.selectorSuffix}`;
|
|
399
311
|
const declarations = Object.entries(rule.declarations)
|
|
400
|
-
.filter(([key]) => key !== '--raw-css') // Skip raw CSS for now
|
|
401
312
|
.map(([prop, value]) => `${prop}: ${value};`)
|
|
402
313
|
.join(' ');
|
|
403
314
|
const q = rule.breakpointIdx > 0
|
|
@@ -415,11 +326,104 @@ function materializeRules(logicalRules, className, zones) {
|
|
|
415
326
|
}
|
|
416
327
|
/**
|
|
417
328
|
* Core style processing logic that generates logical rules
|
|
418
|
-
*
|
|
329
|
+
* Used by the unified renderStyles function
|
|
419
330
|
*/
|
|
420
331
|
function generateLogicalRules(styles, responsive = [], parentSuffix = '') {
|
|
421
332
|
const zones = pointsToZones(responsive || []);
|
|
422
333
|
const allLogicalRules = [];
|
|
334
|
+
// Cache for normalizeStyleZones results to avoid repeated computation
|
|
335
|
+
// WeakMap allows automatic cleanup when arrays are garbage collected
|
|
336
|
+
const normalizeCache = new WeakMap();
|
|
337
|
+
// Helper function to get cached normalizeStyleZones result
|
|
338
|
+
function cachedNormalizeStyleZones(value, zoneNumber) {
|
|
339
|
+
// Only cache for arrays - other types are fast to process
|
|
340
|
+
if (!Array.isArray(value)) {
|
|
341
|
+
return normalizeStyleZones(value, zoneNumber);
|
|
342
|
+
}
|
|
343
|
+
// Check if we have a cache for this array reference
|
|
344
|
+
let zoneCache = normalizeCache.get(value);
|
|
345
|
+
if (!zoneCache) {
|
|
346
|
+
zoneCache = new Map();
|
|
347
|
+
normalizeCache.set(value, zoneCache);
|
|
348
|
+
}
|
|
349
|
+
// Check if we have a cached result for this zone count
|
|
350
|
+
let result = zoneCache.get(zoneNumber);
|
|
351
|
+
if (result === undefined) {
|
|
352
|
+
result = normalizeStyleZones(value, zoneNumber);
|
|
353
|
+
zoneCache.set(zoneNumber, result);
|
|
354
|
+
}
|
|
355
|
+
return result;
|
|
356
|
+
}
|
|
357
|
+
// Local versions of helpers that leverage cachedNormalizeStyleZones
|
|
358
|
+
function stateMapToArrayOfStateMapsLocal(value, zoneNumber) {
|
|
359
|
+
// Short-circuit for single zone - avoid array allocation
|
|
360
|
+
if (zoneNumber === 1) {
|
|
361
|
+
const singleMap = {};
|
|
362
|
+
for (const [state, stateValue] of Object.entries(value)) {
|
|
363
|
+
if (Array.isArray(stateValue)) {
|
|
364
|
+
// Take the first value from the array or null if empty
|
|
365
|
+
singleMap[state] = stateValue.length > 0 ? stateValue[0] : null;
|
|
366
|
+
}
|
|
367
|
+
else {
|
|
368
|
+
singleMap[state] = stateValue;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
return [singleMap];
|
|
372
|
+
}
|
|
373
|
+
const result = Array.from({ length: zoneNumber }, () => ({}));
|
|
374
|
+
for (const [state, stateValue] of Object.entries(value)) {
|
|
375
|
+
const perZone = Array.isArray(stateValue)
|
|
376
|
+
? cachedNormalizeStyleZones(stateValue, zoneNumber)
|
|
377
|
+
: Array(zoneNumber).fill(stateValue);
|
|
378
|
+
for (let i = 0; i < zoneNumber; i++) {
|
|
379
|
+
const v = perZone[i];
|
|
380
|
+
result[i][state] = v;
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
return result;
|
|
384
|
+
}
|
|
385
|
+
function normalizeArrayWithStateMapsLocal(valueArray, zoneNumber) {
|
|
386
|
+
// Short-circuit for single zone - avoid array propagation and mapping
|
|
387
|
+
if (zoneNumber === 1) {
|
|
388
|
+
const firstEntry = valueArray.length > 0 ? valueArray[0] : null;
|
|
389
|
+
if (firstEntry &&
|
|
390
|
+
typeof firstEntry === 'object' &&
|
|
391
|
+
!Array.isArray(firstEntry)) {
|
|
392
|
+
return [firstEntry];
|
|
393
|
+
}
|
|
394
|
+
return [{ '': firstEntry }];
|
|
395
|
+
}
|
|
396
|
+
const propagated = cachedNormalizeStyleZones(valueArray, zoneNumber);
|
|
397
|
+
// Trim trailing null/undefined entries to reduce processing
|
|
398
|
+
let lastNonNullIndex = propagated.length - 1;
|
|
399
|
+
while (lastNonNullIndex >= 0 && propagated[lastNonNullIndex] == null) {
|
|
400
|
+
lastNonNullIndex--;
|
|
401
|
+
}
|
|
402
|
+
// If all entries are null, return minimal array
|
|
403
|
+
if (lastNonNullIndex < 0) {
|
|
404
|
+
return Array.from({ length: zoneNumber }, () => ({ '': null }));
|
|
405
|
+
}
|
|
406
|
+
// Process only up to the last non-null entry, then fill the rest with the last value
|
|
407
|
+
const result = [];
|
|
408
|
+
let lastProcessedEntry = null;
|
|
409
|
+
for (let i = 0; i <= lastNonNullIndex; i++) {
|
|
410
|
+
const entry = propagated[i];
|
|
411
|
+
let processedEntry;
|
|
412
|
+
if (entry && typeof entry === 'object' && !Array.isArray(entry)) {
|
|
413
|
+
processedEntry = entry;
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
processedEntry = { '': entry };
|
|
417
|
+
}
|
|
418
|
+
result.push(processedEntry);
|
|
419
|
+
lastProcessedEntry = processedEntry;
|
|
420
|
+
}
|
|
421
|
+
// Fill remaining slots with the last processed entry (CSS cascade behavior)
|
|
422
|
+
for (let i = lastNonNullIndex + 1; i < zoneNumber; i++) {
|
|
423
|
+
result.push(lastProcessedEntry || { '': null });
|
|
424
|
+
}
|
|
425
|
+
return result;
|
|
426
|
+
}
|
|
423
427
|
// Process styles recursively, preserving mod selectors and combining with nested selector suffixes
|
|
424
428
|
function processStyles(currentStyles, parentSuffix = '') {
|
|
425
429
|
const keys = Object.keys(currentStyles || {});
|
|
@@ -456,13 +460,13 @@ function generateLogicalRules(styles, responsive = [], parentSuffix = '') {
|
|
|
456
460
|
typeof value === 'object' &&
|
|
457
461
|
!Array.isArray(value) &&
|
|
458
462
|
stateMapHasResponsiveArrays(value)) {
|
|
459
|
-
map[name] =
|
|
463
|
+
map[name] = stateMapToArrayOfStateMapsLocal(value, zones.length);
|
|
460
464
|
isResponsive = true;
|
|
461
465
|
}
|
|
462
466
|
else if (Array.isArray(value)) {
|
|
463
467
|
// Case 2: array that may contain state maps → normalize to array-of-state-maps
|
|
464
468
|
if (value.length > 0) {
|
|
465
|
-
map[name] =
|
|
469
|
+
map[name] = normalizeArrayWithStateMapsLocal(value, zones.length);
|
|
466
470
|
isResponsive = true;
|
|
467
471
|
}
|
|
468
472
|
}
|
|
@@ -485,7 +489,7 @@ function generateLogicalRules(styles, responsive = [], parentSuffix = '') {
|
|
|
485
489
|
if (isResponsive) {
|
|
486
490
|
// For responsive styles, resolve arrays using normalizeStyleZones
|
|
487
491
|
const valueMap = lookupStyles.reduce((map, style) => {
|
|
488
|
-
map[style] =
|
|
492
|
+
map[style] = cachedNormalizeStyleZones(styleMap[style], zones.length);
|
|
489
493
|
return map;
|
|
490
494
|
}, {});
|
|
491
495
|
// Create props for each breakpoint
|
|
@@ -624,7 +628,7 @@ function generateLogicalRules(styles, responsive = [], parentSuffix = '') {
|
|
|
624
628
|
lookupStyles.forEach((style) => {
|
|
625
629
|
const v = stateProps[style];
|
|
626
630
|
if (Array.isArray(v)) {
|
|
627
|
-
const arr =
|
|
631
|
+
const arr = cachedNormalizeStyleZones(v, zones.length);
|
|
628
632
|
pointProps[style] = arr?.[i];
|
|
629
633
|
}
|
|
630
634
|
else {
|
|
@@ -666,18 +670,37 @@ function generateLogicalRules(styles, responsive = [], parentSuffix = '') {
|
|
|
666
670
|
processStyles(styles, parentSuffix);
|
|
667
671
|
return allLogicalRules;
|
|
668
672
|
}
|
|
669
|
-
|
|
670
|
-
* Render styles without CSS string conversion
|
|
671
|
-
* This is a performance-optimized version of renderStyles
|
|
672
|
-
*/
|
|
673
|
-
export function renderStyles(styles, responsive = [], className = 'unknown') {
|
|
673
|
+
export function renderStyles(styles, responsive = [], classNameOrSelector = 'unknown', directSelector = false) {
|
|
674
674
|
if (!styles) {
|
|
675
|
-
return { rules: [] };
|
|
675
|
+
return directSelector ? [] : { rules: [] };
|
|
676
676
|
}
|
|
677
677
|
// Generate logical rules using shared pipeline
|
|
678
678
|
const allLogicalRules = generateLogicalRules(styles, responsive);
|
|
679
679
|
const zones = pointsToZones(responsive || []);
|
|
680
|
-
|
|
680
|
+
if (directSelector) {
|
|
681
|
+
// Direct selector mode: convert logical rules directly to StyleResult format
|
|
682
|
+
return allLogicalRules.map((rule) => {
|
|
683
|
+
// Replace & with the actual selector or append suffix to selector
|
|
684
|
+
const finalSelector = rule.selectorSuffix
|
|
685
|
+
? `${classNameOrSelector}${rule.selectorSuffix}`
|
|
686
|
+
: classNameOrSelector;
|
|
687
|
+
const declarations = Object.entries(rule.declarations)
|
|
688
|
+
.map(([prop, value]) => `${prop}: ${value};`)
|
|
689
|
+
.join(' ');
|
|
690
|
+
const q = rule.breakpointIdx > 0
|
|
691
|
+
? zones[rule.breakpointIdx]?.mediaQuery
|
|
692
|
+
: rule.responsiveSource
|
|
693
|
+
? zones[0]?.mediaQuery
|
|
694
|
+
: undefined;
|
|
695
|
+
const atRules = q ? [`@media ${q}`] : undefined;
|
|
696
|
+
return {
|
|
697
|
+
selector: finalSelector,
|
|
698
|
+
declarations,
|
|
699
|
+
atRules,
|
|
700
|
+
};
|
|
701
|
+
});
|
|
702
|
+
}
|
|
703
|
+
// Standard mode: use accumulation and materialization with className
|
|
681
704
|
const accumulatedRules = new Map();
|
|
682
705
|
for (const rule of allLogicalRules) {
|
|
683
706
|
// Create a key based on breakpointIdx, selectorSuffix, and responsiveOrigin
|
|
@@ -698,7 +721,7 @@ export function renderStyles(styles, responsive = [], className = 'unknown') {
|
|
|
698
721
|
}
|
|
699
722
|
}
|
|
700
723
|
// Materialize the accumulated logical rules into final format
|
|
701
|
-
const finalRulesRaw = materializeRules(Array.from(accumulatedRules.values()),
|
|
724
|
+
const finalRulesRaw = materializeRules(Array.from(accumulatedRules.values()), classNameOrSelector, zones || []);
|
|
702
725
|
// Simplified deduplication (should be much less work now)
|
|
703
726
|
const seen = new Set();
|
|
704
727
|
const finalRules = finalRulesRaw.filter((rule) => {
|
|
@@ -711,74 +734,8 @@ export function renderStyles(styles, responsive = [], className = 'unknown') {
|
|
|
711
734
|
});
|
|
712
735
|
return {
|
|
713
736
|
rules: finalRules,
|
|
714
|
-
className,
|
|
737
|
+
className: classNameOrSelector,
|
|
715
738
|
};
|
|
716
739
|
}
|
|
717
|
-
/**
|
|
718
|
-
* Convert logical rules to global CSS strings with & selectors
|
|
719
|
-
*/
|
|
720
|
-
function logicalRulesToGlobalCSS(logicalRules, zones) {
|
|
721
|
-
const declarations = [];
|
|
722
|
-
const responsiveStyles = Array.from(Array(zones.length)).map(() => []);
|
|
723
|
-
const innerStylesFragments = [];
|
|
724
|
-
// Accumulate rules by type
|
|
725
|
-
for (const rule of logicalRules) {
|
|
726
|
-
// Create CSS rule string
|
|
727
|
-
const declarationList = Object.entries(rule.declarations)
|
|
728
|
-
.map(([prop, value]) => `${prop}: ${value};`)
|
|
729
|
-
.join(' ');
|
|
730
|
-
if (!declarationList)
|
|
731
|
-
continue;
|
|
732
|
-
const cssRule = `&${rule.selectorSuffix} { ${declarationList} }`;
|
|
733
|
-
if (rule.breakpointIdx > 0) {
|
|
734
|
-
// Responsive rule
|
|
735
|
-
responsiveStyles[rule.breakpointIdx].push(cssRule);
|
|
736
|
-
}
|
|
737
|
-
else if (rule.responsiveSource) {
|
|
738
|
-
// Base responsive rule
|
|
739
|
-
responsiveStyles[0].push(cssRule);
|
|
740
|
-
}
|
|
741
|
-
else if (rule.selectorSuffix) {
|
|
742
|
-
// Nested selector rule
|
|
743
|
-
innerStylesFragments.push(cssRule);
|
|
744
|
-
}
|
|
745
|
-
else {
|
|
746
|
-
// Base rule
|
|
747
|
-
const declarationBlock = Object.entries(rule.declarations)
|
|
748
|
-
.map(([prop, value]) => `${prop}: ${value};`)
|
|
749
|
-
.join('\n');
|
|
750
|
-
if (declarationBlock) {
|
|
751
|
-
declarations.push(declarationBlock);
|
|
752
|
-
}
|
|
753
|
-
}
|
|
754
|
-
}
|
|
755
|
-
// Build final CSS similar to original renderStyles
|
|
756
|
-
// Merge all declarations into a single rule
|
|
757
|
-
const baseRule = declarations.length > 0 ? `& { ${declarations.join('\n')} }` : '';
|
|
758
|
-
const mediaRules = zones.length > 0 && responsiveStyles.some((s) => s.length > 0)
|
|
759
|
-
? mediaWrapper(responsiveStyles.map((fragments) => fragments.join('')), zones)
|
|
760
|
-
: '';
|
|
761
|
-
// Ensure we always separate the base rule, inner complex selectors and media rules with
|
|
762
|
-
// a newline so the selector replacement step ( & -> actual selector ) cannot accidentally
|
|
763
|
-
// concatenate two selectors and create the invalid form "..selector selector".
|
|
764
|
-
const innerStyles = innerStylesFragments.join('');
|
|
765
|
-
const parts = [baseRule, innerStyles, mediaRules].filter(Boolean);
|
|
766
|
-
const result = parts.join('\n');
|
|
767
|
-
return result;
|
|
768
|
-
}
|
|
769
|
-
/**
|
|
770
|
-
* Render styles for global injection (without class names)
|
|
771
|
-
* Returns CSS with & selectors that injectGlobal can process
|
|
772
|
-
*/
|
|
773
|
-
export function renderStylesForGlobal(styles, responsive = []) {
|
|
774
|
-
if (!styles) {
|
|
775
|
-
return '';
|
|
776
|
-
}
|
|
777
|
-
// Generate logical rules using shared pipeline
|
|
778
|
-
const allLogicalRules = generateLogicalRules(styles, responsive);
|
|
779
|
-
const zones = pointsToZones(responsive || []);
|
|
780
|
-
// Convert logical rules to global CSS
|
|
781
|
-
return logicalRulesToGlobalCSS(allLogicalRules, zones);
|
|
782
|
-
}
|
|
783
740
|
|
|
784
741
|
|
|
@@ -1,16 +1,10 @@
|
|
|
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-7bbea62
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
export function mediaWrapper(cssRules, points) {
|
|
9
|
-
return points
|
|
10
|
-
.filter((point) => point.mediaQuery)
|
|
11
|
-
.map((point, i) => `@media ${point.mediaQuery} {${cssRules[i]}}`)
|
|
12
|
-
.join('\n');
|
|
13
|
-
}
|
|
14
8
|
const zonesCache = {};
|
|
15
9
|
export function pointsToZones(points) {
|
|
16
10
|
const cacheKey = points.join('|');
|
package/es/tasty/utils/string.js
CHANGED
package/es/tasty/utils/styles.js
CHANGED
package/es/tokens.js
CHANGED
package/es/type-checks.js
CHANGED
package/es/utils/ResizeSensor.js
CHANGED