@cube-dev/ui-kit 0.0.0-canary-a6187c8 → 0.0.0-canary-521eedd
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 +10 -10
- package/es/_internal/hooks/use-chained-callback.js +2 -2
- package/es/_internal/hooks/use-debounced-value.js +1 -1
- package/es/_internal/hooks/use-deprecation-warning.js +2 -2
- package/es/_internal/hooks/use-effect-once.js +1 -1
- package/es/_internal/hooks/use-event.js +2 -2
- package/es/_internal/hooks/use-is-first-render.js +1 -1
- package/es/_internal/hooks/use-sync-ref.js +2 -2
- package/es/_internal/hooks/use-timer/index.js +3 -3
- package/es/_internal/hooks/use-timer/timer.js +1 -1
- package/es/_internal/hooks/use-timer/use-timer.js +3 -3
- package/es/_internal/hooks/use-update-effect.js +2 -2
- package/es/_internal/hooks/use-warn.js +3 -3
- package/es/_internal/index.js +2 -2
- package/es/components/Block.js +2 -2
- package/es/components/CollectionItem.js +3 -3
- package/es/components/GlobalStyles.js +65 -56
- package/es/components/GridProvider.js +4 -4
- package/es/components/HiddenInput.js +2 -2
- package/es/components/OpenTrasition.js +1 -1
- package/es/components/Root.js +61 -20
- package/es/components/actions/Action/Action.js +3 -3
- package/es/components/actions/Button/Button.js +12 -12
- package/es/components/actions/Button/index.js +2 -2
- package/es/components/actions/ButtonGroup/ButtonGroup.js +4 -4
- package/es/components/actions/CommandMenu/CommandMenu.js +11 -11
- package/es/components/actions/CommandMenu/index.js +2 -2
- package/es/components/actions/CommandMenu/styled.js +2 -2
- package/es/components/actions/ItemAction/ItemAction.js +9 -9
- package/es/components/actions/ItemAction/index.js +2 -2
- package/es/components/actions/ItemActionContext.js +1 -1
- package/es/components/actions/ItemButton/ItemButton.js +9 -9
- package/es/components/actions/ItemButton/index.js +2 -2
- package/es/components/actions/Link/Link.js +2 -2
- package/es/components/actions/Menu/Menu.js +10 -10
- package/es/components/actions/Menu/MenuItem.js +7 -7
- package/es/components/actions/Menu/MenuSection.js +4 -4
- package/es/components/actions/Menu/MenuTrigger.js +6 -6
- package/es/components/actions/Menu/SubMenuTrigger.js +6 -6
- 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 +10 -10
- package/es/components/actions/Menu/styled.js +5 -5
- package/es/components/actions/index.js +13 -13
- package/es/components/actions/use-action.js +7 -7
- package/es/components/actions/use-anchored-menu.js +6 -6
- package/es/components/actions/use-context-menu.js +6 -6
- package/es/components/content/ActiveZone/ActiveZone.js +4 -4
- package/es/components/content/Alert/Alert.js +4 -4
- package/es/components/content/Alert/index.js +2 -2
- package/es/components/content/Alert/types.js +1 -1
- package/es/components/content/Alert/use-alert.js +3 -3
- package/es/components/content/Avatar/Avatar.js +2 -2
- package/es/components/content/Badge/Badge.js +4 -4
- package/es/components/content/Card/Card.js +2 -2
- package/es/components/content/Content.js +3 -3
- package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +8 -8
- package/es/components/content/CopyPasteBlock/index.js +2 -2
- package/es/components/content/CopySnippet/CopySnippet.js +9 -9
- package/es/components/content/CopySnippet/index.js +2 -2
- package/es/components/content/Disclosure/Disclosure.js +6 -6
- package/es/components/content/Disclosure/index.js +2 -2
- package/es/components/content/Divider.js +3 -3
- package/es/components/content/Footer.js +3 -3
- package/es/components/content/Header.js +3 -3
- package/es/components/content/HotKeys/HotKeys.js +5 -5
- package/es/components/content/HotKeys/index.js +2 -2
- package/es/components/content/Item/Item.js +15 -15
- package/es/components/content/Item/index.js +3 -3
- package/es/components/content/ItemBadge/ItemBadge.js +8 -8
- package/es/components/content/ItemBadge/index.js +2 -2
- package/es/components/content/Layout/GridLayout.js +13 -13
- package/es/components/content/Layout/Layout.js +6 -7
- package/es/components/content/Layout/LayoutBlock.js +3 -4
- package/es/components/content/Layout/LayoutCenter.js +3 -3
- package/es/components/content/Layout/LayoutContainer.js +4 -4
- package/es/components/content/Layout/LayoutContent.js +5 -6
- package/es/components/content/Layout/LayoutContext.js +1 -1
- package/es/components/content/Layout/LayoutFlex.js +3 -4
- package/es/components/content/Layout/LayoutFooter.js +3 -4
- package/es/components/content/Layout/LayoutGrid.js +3 -4
- package/es/components/content/Layout/LayoutHeader.js +7 -8
- package/es/components/content/Layout/LayoutPane.js +7 -8
- package/es/components/content/Layout/LayoutPanel.js +9 -10
- package/es/components/content/Layout/LayoutPanelHeader.js +7 -7
- package/es/components/content/Layout/LayoutToolbar.js +3 -4
- package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/es/components/content/Layout/index.js +16 -16
- package/es/components/content/Layout/utils.js +1 -1
- package/es/components/content/List/SectionHeading.js +3 -3
- package/es/components/content/List/index.js +2 -2
- package/es/components/content/Paragraph.js +3 -3
- package/es/components/content/Placeholder/Placeholder.js +2 -2
- package/es/components/content/PrismCode/PrismCode.js +7 -7
- package/es/components/content/PrismCode/prismSetup.js +1 -1
- package/es/components/content/PrismDiffCode/PrismDiffCode.js +2 -2
- package/es/components/content/Result/Result.js +4 -4
- package/es/components/content/Skeleton/Skeleton.js +5 -5
- package/es/components/content/Tag/Tag.js +4 -4
- package/es/components/content/Text.js +3 -3
- package/es/components/content/TextItem/TextItem.js +5 -5
- package/es/components/content/TextItem/index.js +2 -2
- package/es/components/content/Title.js +4 -4
- package/es/components/content/highlightText.js +2 -2
- package/es/components/content/use-auto-tooltip.js +2 -2
- package/es/components/fields/Checkbox/Checkbox.js +12 -12
- package/es/components/fields/Checkbox/CheckboxGroup.js +7 -7
- package/es/components/fields/Checkbox/context.js +1 -1
- package/es/components/fields/Checkbox/index.js +3 -3
- package/es/components/fields/ComboBox/ComboBox.js +18 -18
- package/es/components/fields/ComboBox/index.js +2 -2
- package/es/components/fields/DatePicker/DateInput.js +10 -10
- package/es/components/fields/DatePicker/DateInputBase.js +6 -6
- package/es/components/fields/DatePicker/DatePicker.js +14 -14
- package/es/components/fields/DatePicker/DatePickerButton.js +4 -4
- package/es/components/fields/DatePicker/DatePickerElement.js +3 -3
- package/es/components/fields/DatePicker/DatePickerInput.js +5 -5
- package/es/components/fields/DatePicker/DatePickerSegment.js +2 -2
- package/es/components/fields/DatePicker/DateRangePicker.js +15 -15
- package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +15 -15
- package/es/components/fields/DatePicker/TimeInput.js +9 -9
- package/es/components/fields/DatePicker/index.js +8 -8
- 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 +6 -6
- package/es/components/fields/FilterListBox/FilterListBox.js +10 -10
- package/es/components/fields/FilterListBox/index.js +2 -2
- package/es/components/fields/FilterPicker/FilterPicker.js +14 -14
- package/es/components/fields/FilterPicker/index.js +2 -2
- package/es/components/fields/Input/Input.js +6 -6
- package/es/components/fields/Input/index.js +2 -2
- package/es/components/fields/ListBox/ListBox.js +14 -14
- package/es/components/fields/ListBox/index.js +2 -2
- package/es/components/fields/NumberInput/NumberInput.js +8 -8
- package/es/components/fields/NumberInput/StepButton.js +4 -4
- package/es/components/fields/PasswordInput/PasswordInput.js +8 -8
- package/es/components/fields/Picker/Picker.js +13 -13
- package/es/components/fields/Picker/index.js +2 -2
- package/es/components/fields/RadioGroup/Radio.js +10 -10
- package/es/components/fields/RadioGroup/RadioGroup.js +7 -7
- package/es/components/fields/RadioGroup/context.js +1 -1
- package/es/components/fields/RadioGroup/index.js +3 -3
- package/es/components/fields/SearchInput/SearchInput.js +8 -8
- package/es/components/fields/SearchInput/index.js +2 -2
- package/es/components/fields/Select/Select.js +20 -20
- package/es/components/fields/Select/index.js +2 -2
- package/es/components/fields/Slider/Gradation.js +2 -2
- package/es/components/fields/Slider/Header.js +1 -1
- package/es/components/fields/Slider/RangeSlider.js +5 -5
- package/es/components/fields/Slider/Slider.js +7 -7
- package/es/components/fields/Slider/SliderBase.js +6 -6
- package/es/components/fields/Slider/SliderInput.js +2 -2
- package/es/components/fields/Slider/SliderThumb.js +3 -3
- package/es/components/fields/Slider/SliderTrack.js +2 -2
- package/es/components/fields/Slider/elements.js +2 -2
- package/es/components/fields/Slider/index.js +4 -4
- package/es/components/fields/Slider/types.js +1 -1
- package/es/components/fields/Switch/Switch.js +11 -11
- package/es/components/fields/Switch/index.js +2 -2
- package/es/components/fields/TextArea/TextArea.js +7 -7
- package/es/components/fields/TextArea/index.js +2 -2
- package/es/components/fields/TextInput/TextInput.js +6 -6
- package/es/components/fields/TextInput/TextInputBase.js +9 -9
- package/es/components/fields/TextInput/index.js +3 -3
- package/es/components/fields/TextInputMapper/TextInputMapper.js +14 -14
- package/es/components/fields/TextInputMapper/index.js +2 -2
- package/es/components/fields/index.js +20 -20
- package/es/components/form/FieldWrapper/FieldWrapper.js +9 -9
- package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
- package/es/components/form/FieldWrapper/index.js +4 -4
- package/es/components/form/FieldWrapper/types.js +1 -1
- package/es/components/form/Form/Field.js +6 -6
- package/es/components/form/Form/Form.js +6 -6
- package/es/components/form/Form/ResetButton/ResetButton.js +6 -6
- package/es/components/form/Form/ResetButton/index.js +2 -2
- package/es/components/form/Form/SubmitButton/SubmitButton.js +4 -4
- package/es/components/form/Form/SubmitButton/index.js +2 -2
- package/es/components/form/Form/SubmitError.js +3 -3
- package/es/components/form/Form/index.js +11 -11
- package/es/components/form/Form/types.js +1 -1
- package/es/components/form/Form/use-field/index.js +4 -4
- package/es/components/form/Form/use-field/types.js +1 -1
- package/es/components/form/Form/use-field/use-field-props.js +6 -6
- package/es/components/form/Form/use-field/use-field.js +4 -4
- package/es/components/form/Form/use-form.js +3 -3
- package/es/components/form/Form/validation.js +1 -1
- package/es/components/form/Label.js +3 -3
- package/es/components/form/index.js +5 -5
- package/es/components/form/wrapper.js +3 -3
- package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/es/components/helpers/DisplayTransition/index.js +2 -2
- package/es/components/helpers/IconSwitch/IconSwitch.js +3 -3
- package/es/components/helpers/index.js +3 -3
- package/es/components/layout/Flex.js +2 -2
- package/es/components/layout/Flow.js +2 -2
- package/es/components/layout/Grid.js +2 -2
- package/es/components/layout/Panel.js +2 -2
- package/es/components/layout/Prefix.js +3 -3
- package/es/components/layout/ResizablePanel.js +5 -5
- package/es/components/layout/Space.js +2 -2
- package/es/components/layout/Suffix.js +3 -3
- package/es/components/navigation/LegacyTabs/LegacyTabs.js +8 -8
- package/es/components/organisms/FileTabs/FileTabs.js +8 -8
- package/es/components/organisms/StatsCard/StatsCard.js +4 -4
- package/es/components/other/Base64Upload/Base64Upload.js +6 -6
- package/es/components/other/Calendar/Calendar.js +8 -8
- package/es/components/other/Calendar/CalendarCell.js +2 -2
- package/es/components/other/Calendar/CalendarGrid.js +3 -3
- package/es/components/other/Calendar/RangeCalendar.js +8 -8
- package/es/components/other/CloudLogo/CloudLogo.js +3 -3
- package/es/components/overlays/AlertDialog/AlertDialog.js +10 -10
- package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +2 -2
- package/es/components/overlays/AlertDialog/AlertDialogZone.js +4 -4
- package/es/components/overlays/AlertDialog/index.js +4 -4
- package/es/components/overlays/AlertDialog/types.js +1 -1
- package/es/components/overlays/Dialog/Dialog.js +25 -13
- package/es/components/overlays/Dialog/DialogContainer.js +3 -3
- package/es/components/overlays/Dialog/DialogForm.js +8 -8
- package/es/components/overlays/Dialog/DialogTrigger.js +4 -4
- package/es/components/overlays/Dialog/context.js +1 -1
- package/es/components/overlays/Dialog/index.js +6 -6
- package/es/components/overlays/Dialog/use-dialog-container.js +4 -4
- package/es/components/overlays/Modal/Modal.js +5 -5
- package/es/components/overlays/Modal/OpenTransition.js +1 -1
- package/es/components/overlays/Modal/Overlay.js +3 -3
- package/es/components/overlays/Modal/Popover.js +4 -4
- package/es/components/overlays/Modal/Tray.js +6 -6
- package/es/components/overlays/Modal/Underlay.js +2 -2
- package/es/components/overlays/Modal/index.js +7 -7
- package/es/components/overlays/Modal/types.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +5 -5
- package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +7 -7
- package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/index.js +2 -2
- package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +8 -8
- package/es/components/overlays/NewNotifications/Dialog/index.js +2 -2
- package/es/components/overlays/NewNotifications/Notification.js +4 -4
- package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +5 -5
- package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +4 -4
- package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +4 -4
- package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +3 -3
- package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +3 -3
- package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +4 -4
- package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +12 -12
- package/es/components/overlays/NewNotifications/NotificationView/index.js +3 -3
- 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 +5 -5
- package/es/components/overlays/NewNotifications/NotificationsContext/index.js +3 -3
- package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +2 -2
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +4 -4
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +5 -5
- package/es/components/overlays/NewNotifications/NotificationsList/index.js +2 -2
- package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/index.js +6 -6
- 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 +2 -2
- package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +3 -3
- package/es/components/overlays/NewNotifications/index.js +7 -7
- package/es/components/overlays/NewNotifications/types.js +1 -1
- package/es/components/overlays/Notification/Notification.js +7 -7
- package/es/components/overlays/OverlayWrapper.js +2 -2
- package/es/components/overlays/Toasts/Toast.js +4 -4
- package/es/components/overlays/Toasts/index.js +3 -3
- package/es/components/overlays/Toasts/types.js +1 -1
- package/es/components/overlays/Toasts/use-toasts-api.js +2 -2
- package/es/components/overlays/Tooltip/Tooltip.js +4 -4
- package/es/components/overlays/Tooltip/TooltipProvider.js +3 -3
- package/es/components/overlays/Tooltip/TooltipTrigger.js +6 -6
- package/es/components/overlays/Tooltip/context.js +1 -1
- package/es/components/overlays/Tooltip/index.js +4 -4
- package/es/components/portal/Portal.js +2 -2
- package/es/components/portal/PortalProvider.js +1 -1
- package/es/components/portal/index.js +3 -3
- package/es/components/portal/types.js +1 -1
- package/es/components/portal/usePortal.js +2 -2
- package/es/components/shared/InvalidIcon.js +2 -2
- package/es/components/shared/ValidIcon.js +2 -2
- package/es/components/status/LoadingAnimation/LoadingAnimation.js +2 -2
- package/es/components/status/LoadingAnimation/index.js +2 -2
- package/es/components/status/Spin/Cube.js +1 -1
- package/es/components/status/Spin/InternalSpinner.js +4 -4
- package/es/components/status/Spin/Spin.js +4 -4
- package/es/components/status/Spin/SpinsContainer.js +1 -1
- package/es/components/status/Spin/index.js +2 -2
- package/es/components/status/Spin/types.js +1 -1
- package/es/components/status/index.js +3 -3
- package/es/data/item-themes.js +1 -1
- package/es/data/themes.js +1 -1
- package/es/icons/AdjustmentsHorizontalIcon.js +2 -2
- package/es/icons/AdjustmentsIcon.js +2 -2
- package/es/icons/AiIcon.js +2 -2
- package/es/icons/AreaChartIcon.js +2 -2
- package/es/icons/BackwardIcon.js +2 -2
- package/es/icons/BarChartIcon.js +2 -2
- package/es/icons/BellFilledIcon.js +2 -2
- package/es/icons/BellIcon.js +2 -2
- package/es/icons/BooleanIcon.js +2 -2
- package/es/icons/CalendarEditIcon.js +2 -2
- package/es/icons/CalendarIcon.js +2 -2
- package/es/icons/CaretDownIcon.js +2 -2
- package/es/icons/CaretUpIcon.js +2 -2
- package/es/icons/ChartAreaStackedIcon.js +2 -2
- package/es/icons/ChartAreaStackedPercentageIcon.js +2 -2
- package/es/icons/ChartBarGroupedHorizontalIcon.js +2 -2
- package/es/icons/ChartBarGroupedIcon.js +2 -2
- package/es/icons/ChartBarHorizontalIcon.js +2 -2
- package/es/icons/ChartBarLineIcon.js +2 -2
- package/es/icons/ChartBarStackedHorizontalIcon.js +2 -2
- package/es/icons/ChartBarStackedIcon.js +2 -2
- package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +2 -2
- package/es/icons/ChartBarStackedPercentageIcon.js +2 -2
- package/es/icons/ChartBoxPlot2Icon.js +2 -2
- package/es/icons/ChartBoxPlotIcon.js +2 -2
- package/es/icons/ChartBubbleIcon.js +2 -2
- package/es/icons/ChartDonut2Icon.js +2 -2
- package/es/icons/ChartFunnelIcon.js +2 -2
- package/es/icons/ChartHeatmapIcon.js +2 -2
- package/es/icons/ChartKPIIcon.js +2 -2
- package/es/icons/ChartPie2Icon.js +2 -2
- package/es/icons/ChartScatterIcon.js +2 -2
- package/es/icons/CheckCircleFilledIcon.js +2 -2
- package/es/icons/CheckCircleIcon.js +2 -2
- package/es/icons/CheckIcon.js +2 -2
- package/es/icons/CircleFilledIcon.js +2 -2
- package/es/icons/ClearIcon.js +2 -2
- package/es/icons/CloseCircleFilledIcon.js +2 -2
- package/es/icons/CloseCircleIcon.js +2 -2
- package/es/icons/CloseIcon.js +2 -2
- package/es/icons/CodeIcon.js +2 -2
- package/es/icons/ColumnTotalIcon.js +2 -2
- package/es/icons/CopyIcon.js +2 -2
- package/es/icons/CountIcon.js +2 -2
- package/es/icons/CubeIcon.js +2 -2
- package/es/icons/CubePauseIcon.js +2 -2
- package/es/icons/CubePlayIcon.js +2 -2
- package/es/icons/CurrencyDollarIcon.js +2 -2
- package/es/icons/DangerIcon.js +2 -2
- package/es/icons/DashboardIcon.js +2 -2
- package/es/icons/DatabaseIcon.js +2 -2
- package/es/icons/DecimalDecreaseIcon.js +2 -2
- package/es/icons/DecimalIncreaseIcon.js +2 -2
- package/es/icons/DirectionIcon.js +3 -3
- package/es/icons/DonutIcon.js +2 -2
- package/es/icons/DownIcon.js +2 -2
- package/es/icons/EditIcon.js +2 -2
- package/es/icons/ExclamationCircleFilledIcon.js +2 -2
- package/es/icons/ExclamationCircleIcon.js +2 -2
- package/es/icons/ExclamationIcon.js +2 -2
- package/es/icons/EyeIcon.js +2 -2
- package/es/icons/EyeInvisibleIcon.js +2 -2
- package/es/icons/FilterIcon.js +2 -2
- package/es/icons/FolderFilledIcon.js +2 -2
- package/es/icons/FolderIcon.js +2 -2
- package/es/icons/FolderOpenFilledIcon.js +2 -2
- package/es/icons/FolderOpenIcon.js +2 -2
- package/es/icons/ForwardIcon.js +2 -2
- package/es/icons/HierarchyIcon.js +2 -2
- package/es/icons/HierarchyOpenIcon.js +2 -2
- package/es/icons/Icon.js +2 -2
- package/es/icons/InfoCircleIcon.js +2 -2
- package/es/icons/InfoIcon.js +2 -2
- package/es/icons/KeyIcon.js +2 -2
- package/es/icons/LeftIcon.js +2 -2
- package/es/icons/LineChartIcon.js +2 -2
- package/es/icons/LoadingIcon.js +2 -2
- package/es/icons/LockFilledIcon.js +2 -2
- package/es/icons/LockIcon.js +2 -2
- package/es/icons/MoreIcon.js +2 -2
- package/es/icons/NotAllowedIcon.js +2 -2
- package/es/icons/Number123Icon.js +2 -2
- package/es/icons/NumberIcon.js +2 -2
- package/es/icons/PauseCircleFilledIcon.js +2 -2
- package/es/icons/PauseCircleIcon.js +2 -2
- package/es/icons/PauseIcon.js +2 -2
- package/es/icons/PercentageIcon.js +2 -2
- package/es/icons/PieChartIcon.js +2 -2
- package/es/icons/PlayCircleIcon.js +2 -2
- package/es/icons/PlayIcon.js +2 -2
- package/es/icons/PlusIcon.js +2 -2
- package/es/icons/ProgressBarIcon.js +2 -2
- package/es/icons/ReloadIcon.js +2 -2
- package/es/icons/ReportIcon.js +2 -2
- package/es/icons/ReturnIcon.js +2 -2
- package/es/icons/RightIcon.js +2 -2
- package/es/icons/RowTotalsIcon.js +2 -2
- package/es/icons/SchemeIcon.js +2 -2
- package/es/icons/SearchIcon.js +2 -2
- package/es/icons/SettingsIcon.js +2 -2
- package/es/icons/ShieldFilledIcon.js +2 -2
- package/es/icons/ShieldIcon.js +2 -2
- package/es/icons/SlashIcon.js +2 -2
- package/es/icons/SparklesIcon.js +2 -2
- package/es/icons/SqlIcon.js +2 -2
- package/es/icons/StatsIcon.js +2 -2
- package/es/icons/StopIcon.js +2 -2
- package/es/icons/StringIcon.js +2 -2
- package/es/icons/SubtotalsIcon.js +2 -2
- package/es/icons/SwitchIcon.js +2 -2
- package/es/icons/TableIcon.js +2 -2
- package/es/icons/ThumbsDownIcon.js +2 -2
- package/es/icons/ThumbsUpIcon.js +2 -2
- package/es/icons/ThunderboltCrossedIcon.js +2 -2
- package/es/icons/ThunderboltFilledIcon.js +2 -2
- package/es/icons/ThunderboltIcon.js +2 -2
- package/es/icons/TimeIcon.js +2 -2
- package/es/icons/TrashIcon.js +2 -2
- package/es/icons/UnlockIcon.js +2 -2
- package/es/icons/UpIcon.js +2 -2
- package/es/icons/UserGroupIcon.js +2 -2
- package/es/icons/UserIcon.js +2 -2
- package/es/icons/UserLockIcon.js +2 -2
- package/es/icons/ViewIcon.js +2 -2
- package/es/icons/WarningFilledIcon.js +2 -2
- package/es/icons/WarningIcon.js +2 -2
- package/es/icons/add-new-icon.js +4 -4
- package/es/icons/index.js +128 -128
- package/es/icons/wrap-icon.js +2 -2
- package/es/index.js +74 -75
- package/es/provider.js +10 -4
- package/es/providers/TrackingProvider.js +1 -1
- package/es/providers/navigation.types.js +1 -1
- package/es/providers/navigationAdapter.default.js +1 -1
- package/es/services/notification.js +2 -2
- package/es/shared/form.js +1 -1
- package/es/shared/index.js +2 -2
- package/es/stories/Form.legacy-stories.js +4 -4
- package/es/stories/FormFieldArgs.js +2 -2
- package/es/stories/SimpleLayout.stories.js +2 -2
- package/es/stories/Tasty.stories.js +2 -2
- package/es/stories/components/ConfirmDeletionDialogForm.js +2 -2
- package/es/stories/components/DialogFormApp.js +3 -3
- package/es/stories/components/StyledButton.js +15 -19
- package/es/stories/lists/baseProps.js +2 -2
- package/es/tasty/debug.js +9 -195
- package/es/tasty/index.js +17 -31
- package/es/tasty/injector/index.js +90 -34
- package/es/tasty/injector/injector.js +299 -81
- package/es/tasty/injector/sheet-manager.js +3 -128
- package/es/tasty/injector/types.js +1 -1
- package/es/tasty/parser/classify.js +6 -8
- package/es/tasty/parser/const.js +1 -1
- package/es/tasty/parser/lru.js +1 -1
- package/es/tasty/parser/parser.js +5 -18
- package/es/tasty/parser/tokenizer.js +1 -1
- package/es/tasty/parser/types.js +1 -2
- package/es/tasty/providers/BreakpointsProvider.js +16 -0
- package/es/tasty/styles/align.js +1 -1
- package/es/tasty/styles/border.js +2 -2
- package/es/tasty/styles/boxShadow.combinator.js +1 -1
- package/es/tasty/styles/color.js +3 -3
- package/es/tasty/styles/createStyle.js +3 -3
- package/es/tasty/styles/dimension.js +2 -2
- package/es/tasty/styles/display.js +1 -1
- package/es/tasty/styles/fade.js +2 -2
- package/es/tasty/styles/fill.js +21 -11
- 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 +2 -2
- package/es/tasty/styles/groupRadius.js +2 -2
- package/es/tasty/styles/height.js +2 -2
- package/es/tasty/styles/index.js +3 -3
- package/es/tasty/styles/inset.js +2 -2
- package/es/tasty/styles/justify.js +1 -1
- package/es/tasty/styles/list.js +1 -1
- package/es/tasty/styles/margin.js +56 -76
- package/es/tasty/styles/outline.js +2 -2
- package/es/tasty/styles/padding.js +56 -76
- package/es/tasty/styles/place.js +1 -1
- package/es/tasty/styles/predefined.js +27 -28
- package/es/tasty/styles/preset.js +2 -2
- package/es/tasty/styles/radius.js +12 -5
- package/es/tasty/styles/reset.js +7 -3
- package/es/tasty/styles/scrollbar.js +2 -2
- package/es/tasty/styles/shadow.js +2 -2
- package/es/tasty/styles/styledScrollbar.js +1 -1
- package/es/tasty/styles/transition.js +3 -10
- package/es/tasty/styles/types.js +1 -1
- package/es/tasty/styles/width.js +2 -2
- package/es/tasty/tasty.js +122 -81
- 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 +38 -0
- package/es/tasty/utils/isDevEnv.js +1 -1
- package/es/tasty/utils/mergeStyles.js +2 -2
- package/es/tasty/utils/modAttrs.js +3 -3
- package/es/tasty/utils/processTokens.js +2 -88
- package/es/tasty/utils/renderStyles.js +1050 -0
- package/es/tasty/utils/responsive.js +60 -0
- package/es/tasty/utils/string.js +1 -1
- package/es/tasty/utils/styles.js +22 -255
- package/es/tasty/utils/warnings.js +1 -1
- package/es/tokens.js +309 -0
- package/es/utils/ResizeSensor.js +1 -1
- package/es/utils/index.js +10 -10
- package/es/utils/modules.js +1 -1
- package/es/utils/promise.js +1 -1
- package/es/utils/raf.js +1 -1
- package/es/utils/random.js +1 -1
- package/es/utils/range.js +1 -1
- package/es/utils/react/RenderCache.js +1 -1
- package/es/utils/react/Slots.js +2 -2
- package/es/utils/react/chain.js +1 -1
- package/es/utils/react/forwardRefWithGenerics.js +1 -1
- package/es/utils/react/index.js +17 -17
- 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 +4 -4
- package/es/utils/react/nullableValue.js +1 -1
- package/es/utils/react/resolveIcon.js +1 -1
- package/es/utils/react/sharedStore.js +2 -2
- package/es/utils/react/useCombinedRefs.js +1 -1
- package/es/utils/react/useControlledFocusVisible.js +2 -2
- package/es/utils/react/useEventBus.js +1 -1
- package/es/utils/react/useId.js +2 -2
- package/es/utils/react/useIsDarwin.js +1 -1
- package/es/utils/react/useKeySymbols.js +2 -2
- package/es/utils/react/useLayoutEffect.js +1 -1
- package/es/utils/react/useLocalStorage.js +2 -2
- 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/tree.js +1 -1
- package/es/utils/warnings.js +1 -1
- package/es/version.js +2 -2
- package/package.json +2 -13
- package/types/components/GlobalStyles.d.ts +1 -2
- package/types/components/HiddenInput.d.ts +826 -828
- package/types/components/Root.d.ts +0 -1
- package/types/components/actions/Button/Button.d.ts +1645 -1649
- package/types/components/actions/CommandMenu/styled.d.ts +4130 -4140
- package/types/components/actions/Menu/styled.d.ts +4883 -4893
- package/types/components/actions/use-action.d.ts +1 -1
- package/types/components/content/List/SectionHeading.d.ts +251 -251
- package/types/components/content/Text.d.ts +1487 -1487
- package/types/components/fields/DatePicker/DatePickerElement.d.ts +251 -251
- package/types/components/fields/Select/Select.d.ts +826 -828
- package/types/components/fields/Slider/elements.d.ts +4956 -4968
- package/types/index.d.ts +0 -1
- package/types/provider.d.ts +2 -1
- package/types/stories/components/StyledButton.d.ts +1 -1
- package/types/tasty/debug.d.ts +0 -35
- package/types/tasty/index.d.ts +4 -14
- package/types/tasty/injector/index.d.ts +19 -30
- package/types/tasty/injector/injector.d.ts +13 -19
- package/types/tasty/injector/sheet-manager.d.ts +1 -25
- package/types/tasty/injector/types.d.ts +2 -23
- package/types/tasty/parser/parser.d.ts +0 -4
- package/types/tasty/parser/types.d.ts +0 -1
- package/types/tasty/providers/BreakpointsProvider.d.ts +8 -0
- package/types/tasty/styles/fill.d.ts +1 -11
- package/types/tasty/styles/margin.d.ts +1 -3
- package/types/tasty/styles/padding.d.ts +1 -3
- package/types/tasty/styles/radius.d.ts +10 -2
- package/types/tasty/styles/types.d.ts +3 -24
- package/types/tasty/tasty.d.ts +840 -892
- package/types/tasty/utils/getModCombinations.d.ts +9 -0
- package/types/tasty/utils/renderStyles.d.ts +41 -0
- package/types/tasty/utils/responsive.d.ts +8 -0
- package/types/tasty/utils/styles.d.ts +6 -50
- package/types/tokens.d.ts +221 -0
- package/es/stories/playground/PlaygroundEditor.js +0 -89
- package/es/stories/playground/PlaygroundLayout.js +0 -16
- package/es/stories/playground/PlaygroundOutput.js +0 -92
- package/es/stories/playground/PlaygroundPreview.js +0 -91
- package/es/stories/playground/components/Button.js +0 -45
- package/es/stories/playground/components/Card.js +0 -20
- package/es/stories/playground/components/ScrollProgress.js +0 -17
- package/es/stories/playground/examples.js +0 -156
- package/es/tasty/chunks/cacheKey.js +0 -98
- package/es/tasty/chunks/definitions.js +0 -281
- package/es/tasty/chunks/index.js +0 -12
- package/es/tasty/chunks/renderChunk.js +0 -97
- package/es/tasty/config.js +0 -280
- package/es/tasty/hooks/index.js +0 -12
- package/es/tasty/hooks/useGlobalStyles.js +0 -67
- package/es/tasty/hooks/useRawCSS.js +0 -40
- package/es/tasty/hooks/useStyles.js +0 -208
- package/es/tasty/keyframes/index.js +0 -301
- package/es/tasty/pipeline/conditions.js +0 -426
- package/es/tasty/pipeline/exclusive.js +0 -311
- package/es/tasty/pipeline/index.js +0 -543
- package/es/tasty/pipeline/materialize.js +0 -1260
- package/es/tasty/pipeline/parseStateKey.js +0 -592
- package/es/tasty/pipeline/simplify.js +0 -898
- package/es/tasty/plugins/index.js +0 -26
- package/es/tasty/plugins/okhsl-plugin.js +0 -400
- package/es/tasty/plugins/types.js +0 -10
- package/es/tasty/states/index.js +0 -523
- package/es/tasty/static/index.js +0 -47
- package/es/tasty/static/tastyStatic.js +0 -55
- package/es/tasty/static/types.js +0 -34
- package/es/tasty/utils/typography.js +0 -67
- package/es/tasty/zero/babel.js +0 -401
- package/es/tasty/zero/css-writer.js +0 -94
- package/es/tasty/zero/extractor.js +0 -138
- package/es/tasty/zero/index.js +0 -28
- package/es/tasty/zero/next.js +0 -102
- package/es/tokens/base.js +0 -64
- package/es/tokens/colors.js +0 -68
- package/es/tokens/index.js +0 -63
- package/es/tokens/layout.js +0 -26
- package/es/tokens/shadows.js +0 -27
- package/es/tokens/sizes.js +0 -42
- package/es/tokens/spacing.js +0 -22
- package/es/tokens/typography.js +0 -237
- package/types/stories/playground/PlaygroundEditor.d.ts +0 -6
- package/types/stories/playground/PlaygroundLayout.d.ts +0 -8
- package/types/stories/playground/PlaygroundOutput.d.ts +0 -5
- package/types/stories/playground/PlaygroundPreview.d.ts +0 -6
- package/types/stories/playground/components/Button.d.ts +0 -11
- package/types/stories/playground/components/Card.d.ts +0 -7
- package/types/stories/playground/components/ScrollProgress.d.ts +0 -5
- package/types/stories/playground/examples.d.ts +0 -7
- package/types/tasty/chunks/cacheKey.d.ts +0 -26
- package/types/tasty/chunks/definitions.d.ts +0 -75
- package/types/tasty/chunks/index.d.ts +0 -4
- package/types/tasty/chunks/renderChunk.d.ts +0 -25
- package/types/tasty/config.d.ts +0 -171
- package/types/tasty/hooks/index.d.ts +0 -4
- package/types/tasty/hooks/useGlobalStyles.d.ts +0 -22
- package/types/tasty/hooks/useRawCSS.d.ts +0 -50
- package/types/tasty/hooks/useStyles.d.ts +0 -38
- package/types/tasty/keyframes/index.d.ts +0 -49
- package/types/tasty/pipeline/conditions.d.ts +0 -243
- package/types/tasty/pipeline/exclusive.d.ts +0 -103
- package/types/tasty/pipeline/index.d.ts +0 -67
- package/types/tasty/pipeline/materialize.d.ts +0 -162
- package/types/tasty/pipeline/parseStateKey.d.ts +0 -20
- package/types/tasty/pipeline/simplify.d.ts +0 -28
- package/types/tasty/plugins/index.d.ts +0 -17
- package/types/tasty/plugins/okhsl-plugin.d.ts +0 -45
- package/types/tasty/plugins/types.d.ts +0 -34
- package/types/tasty/states/index.d.ts +0 -101
- package/types/tasty/static/index.d.ts +0 -39
- package/types/tasty/static/tastyStatic.d.ts +0 -41
- package/types/tasty/static/types.d.ts +0 -44
- package/types/tasty/utils/typography.d.ts +0 -32
- package/types/tasty/zero/babel.d.ts +0 -63
- package/types/tasty/zero/css-writer.d.ts +0 -41
- package/types/tasty/zero/extractor.d.ts +0 -19
- package/types/tasty/zero/index.d.ts +0 -18
- package/types/tasty/zero/next.d.ts +0 -57
- package/types/tokens/base.d.ts +0 -8
- package/types/tokens/colors.d.ts +0 -6
- package/types/tokens/index.d.ts +0 -41
- package/types/tokens/layout.d.ts +0 -7
- package/types/tokens/shadows.d.ts +0 -12
- package/types/tokens/sizes.d.ts +0 -25
- package/types/tokens/spacing.d.ts +0 -8
- package/types/tokens/typography.d.ts +0 -30
|
@@ -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-521eedd
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -9,8 +9,10 @@
|
|
|
9
9
|
* Style injector that works with structured style objects
|
|
10
10
|
* Eliminates CSS string parsing for better performance
|
|
11
11
|
*/
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
12
|
+
import { Component } from 'react';
|
|
13
|
+
import { parseStyle } from '../utils/styles';
|
|
14
|
+
// Simple CSS text to StyleResult converter for injectGlobal backward compatibility
|
|
15
|
+
import { SheetManager } from './sheet-manager';
|
|
14
16
|
/**
|
|
15
17
|
* Generate sequential class name with format t{number}
|
|
16
18
|
*/
|
|
@@ -104,25 +106,13 @@ export class StyleInjector {
|
|
|
104
106
|
let newSelector = rule.selector;
|
|
105
107
|
// If rule needs className prepended
|
|
106
108
|
if (rule.needsClassName) {
|
|
107
|
-
//
|
|
108
|
-
|
|
109
|
-
const classPrefix = `.${className}.${className}`;
|
|
110
|
-
newSelector = selectorParts
|
|
111
|
-
.map((part) => {
|
|
112
|
-
const classSelector = part ? `${classPrefix}${part}` : classPrefix;
|
|
113
|
-
// If there's a root prefix, add it before the class selector
|
|
114
|
-
if (rule.rootPrefix) {
|
|
115
|
-
return `${rule.rootPrefix} ${classSelector}`;
|
|
116
|
-
}
|
|
117
|
-
return classSelector;
|
|
118
|
-
})
|
|
119
|
-
.join(', ');
|
|
109
|
+
// Simple concatenation: .className (double specificity) + selectorSuffix
|
|
110
|
+
newSelector = `.${className}.${className}${newSelector}`;
|
|
120
111
|
}
|
|
121
112
|
return {
|
|
122
113
|
...rule,
|
|
123
114
|
selector: newSelector,
|
|
124
115
|
needsClassName: undefined, // Remove the flag after processing
|
|
125
|
-
rootPrefix: undefined, // Remove rootPrefix after processing
|
|
126
116
|
};
|
|
127
117
|
});
|
|
128
118
|
// Before inserting, auto-register @property for any color custom properties being defined.
|
|
@@ -212,20 +202,26 @@ export class StyleInjector {
|
|
|
212
202
|
};
|
|
213
203
|
}
|
|
214
204
|
/**
|
|
215
|
-
* Inject
|
|
216
|
-
* This is a low-overhead alternative to createGlobalStyle for raw CSS
|
|
217
|
-
* The CSS is inserted into a separate style element to avoid conflicts with tasty's chunking
|
|
218
|
-
*/
|
|
219
|
-
injectRawCSS(css, options) {
|
|
220
|
-
const root = options?.root || document;
|
|
221
|
-
return this.sheetManager.injectRawCSS(css, root);
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Get raw CSS text for SSR
|
|
205
|
+
* Inject styles from createGlobalStyle (separate from injectGlobal for tracking)
|
|
225
206
|
*/
|
|
226
|
-
|
|
207
|
+
injectCreateGlobalStyle(rules, options) {
|
|
227
208
|
const root = options?.root || document;
|
|
228
|
-
|
|
209
|
+
const registry = this.sheetManager.getRegistry(root);
|
|
210
|
+
if (!rules || rules.length === 0) {
|
|
211
|
+
return { dispose: () => { } };
|
|
212
|
+
}
|
|
213
|
+
// Use a different prefix to distinguish from injectGlobal
|
|
214
|
+
const key = `raw:${this.globalRuleCounter++}`;
|
|
215
|
+
const info = this.sheetManager.insertGlobalRule(registry, rules, key, root);
|
|
216
|
+
if (registry.metrics) {
|
|
217
|
+
registry.metrics.totalInsertions++;
|
|
218
|
+
}
|
|
219
|
+
return {
|
|
220
|
+
dispose: () => {
|
|
221
|
+
if (info)
|
|
222
|
+
this.sheetManager.deleteGlobalRule(registry, key);
|
|
223
|
+
},
|
|
224
|
+
};
|
|
229
225
|
}
|
|
230
226
|
/**
|
|
231
227
|
* Dispose of a className
|
|
@@ -334,9 +330,9 @@ export class StyleInjector {
|
|
|
334
330
|
syntax = `"${syntax}"`;
|
|
335
331
|
parts.push(`syntax: ${syntax};`);
|
|
336
332
|
}
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
333
|
+
if (options?.inherits != null) {
|
|
334
|
+
parts.push(`inherits: ${options.inherits ? 'true' : 'false'};`);
|
|
335
|
+
}
|
|
340
336
|
if (options?.initialValue != null) {
|
|
341
337
|
let initialValueStr;
|
|
342
338
|
if (typeof options.initialValue === 'number') {
|
|
@@ -368,12 +364,6 @@ export class StyleInjector {
|
|
|
368
364
|
}
|
|
369
365
|
/**
|
|
370
366
|
* Inject keyframes and return object with toString() and dispose()
|
|
371
|
-
*
|
|
372
|
-
* Keyframes are cached by content (steps). If the same content is injected
|
|
373
|
-
* multiple times with different provided names, the first injected name is reused.
|
|
374
|
-
*
|
|
375
|
-
* If the same name is provided with different content (collision), a unique
|
|
376
|
-
* name is generated to avoid overwriting the existing keyframes.
|
|
377
367
|
*/
|
|
378
368
|
keyframes(steps, nameOrOptions) {
|
|
379
369
|
// Parse parameters
|
|
@@ -387,49 +377,32 @@ export class StyleInjector {
|
|
|
387
377
|
dispose: () => { },
|
|
388
378
|
};
|
|
389
379
|
}
|
|
390
|
-
// Generate
|
|
391
|
-
const
|
|
392
|
-
|
|
393
|
-
|
|
380
|
+
// Generate cache key from steps and name
|
|
381
|
+
const cacheKey = providedName
|
|
382
|
+
? `${providedName}:${JSON.stringify(steps)}`
|
|
383
|
+
: JSON.stringify(steps);
|
|
384
|
+
// Check if already cached
|
|
385
|
+
const existing = registry.keyframesCache.get(cacheKey);
|
|
394
386
|
if (existing) {
|
|
395
387
|
existing.refCount++;
|
|
396
388
|
return {
|
|
397
389
|
toString: () => existing.name,
|
|
398
|
-
dispose: () => this.disposeKeyframes(
|
|
390
|
+
dispose: () => this.disposeKeyframes(cacheKey, registry),
|
|
399
391
|
};
|
|
400
392
|
}
|
|
401
|
-
//
|
|
402
|
-
|
|
403
|
-
if (providedName) {
|
|
404
|
-
// Check if this name is already used with different content
|
|
405
|
-
const existingContentForName = registry.keyframesNameToContent.get(providedName);
|
|
406
|
-
if (existingContentForName && existingContentForName !== contentHash) {
|
|
407
|
-
// Name collision: same name, different content
|
|
408
|
-
// Generate a unique name to avoid overwriting
|
|
409
|
-
actualName = `${providedName}-k${registry.keyframesCounter++}`;
|
|
410
|
-
}
|
|
411
|
-
else {
|
|
412
|
-
// Name is available or used with same content
|
|
413
|
-
actualName = providedName;
|
|
414
|
-
// Track this name -> content mapping
|
|
415
|
-
registry.keyframesNameToContent.set(providedName, contentHash);
|
|
416
|
-
}
|
|
417
|
-
}
|
|
418
|
-
else {
|
|
419
|
-
// No name provided, generate one
|
|
420
|
-
actualName = `k${registry.keyframesCounter++}`;
|
|
421
|
-
}
|
|
393
|
+
// Use provided name or generate new one
|
|
394
|
+
const name = providedName || `k${registry.keyframesCounter++}`;
|
|
422
395
|
// Insert keyframes
|
|
423
|
-
const info = this.sheetManager.insertKeyframes(registry, steps,
|
|
396
|
+
const info = this.sheetManager.insertKeyframes(registry, steps, name, root);
|
|
424
397
|
if (!info) {
|
|
425
398
|
return {
|
|
426
399
|
toString: () => '',
|
|
427
400
|
dispose: () => { },
|
|
428
401
|
};
|
|
429
402
|
}
|
|
430
|
-
// Cache the result
|
|
431
|
-
registry.keyframesCache.set(
|
|
432
|
-
name
|
|
403
|
+
// Cache the result
|
|
404
|
+
registry.keyframesCache.set(cacheKey, {
|
|
405
|
+
name,
|
|
433
406
|
refCount: 1,
|
|
434
407
|
info,
|
|
435
408
|
});
|
|
@@ -439,30 +412,22 @@ export class StyleInjector {
|
|
|
439
412
|
registry.metrics.misses++;
|
|
440
413
|
}
|
|
441
414
|
return {
|
|
442
|
-
toString: () =>
|
|
443
|
-
dispose: () => this.disposeKeyframes(
|
|
415
|
+
toString: () => name,
|
|
416
|
+
dispose: () => this.disposeKeyframes(cacheKey, registry),
|
|
444
417
|
};
|
|
445
418
|
}
|
|
446
419
|
/**
|
|
447
420
|
* Dispose keyframes
|
|
448
421
|
*/
|
|
449
|
-
disposeKeyframes(
|
|
450
|
-
const entry = registry.keyframesCache.get(
|
|
422
|
+
disposeKeyframes(cacheKey, registry) {
|
|
423
|
+
const entry = registry.keyframesCache.get(cacheKey);
|
|
451
424
|
if (!entry)
|
|
452
425
|
return;
|
|
453
426
|
entry.refCount--;
|
|
454
427
|
if (entry.refCount <= 0) {
|
|
455
428
|
// Dispose immediately - keyframes are global and safe to clean up right away
|
|
456
429
|
this.sheetManager.deleteKeyframes(registry, entry.info);
|
|
457
|
-
registry.keyframesCache.delete(
|
|
458
|
-
// Clean up name-to-content mapping if this name was tracked
|
|
459
|
-
// Find and remove the mapping for this content hash
|
|
460
|
-
for (const [name, hash] of registry.keyframesNameToContent.entries()) {
|
|
461
|
-
if (hash === contentHash) {
|
|
462
|
-
registry.keyframesNameToContent.delete(name);
|
|
463
|
-
break;
|
|
464
|
-
}
|
|
465
|
-
}
|
|
430
|
+
registry.keyframesCache.delete(cacheKey);
|
|
466
431
|
// Update metrics
|
|
467
432
|
if (registry.metrics) {
|
|
468
433
|
registry.metrics.totalUnused++;
|
|
@@ -477,6 +442,259 @@ export class StyleInjector {
|
|
|
477
442
|
const targetRoot = root || document;
|
|
478
443
|
this.sheetManager.cleanup(targetRoot);
|
|
479
444
|
}
|
|
445
|
+
/**
|
|
446
|
+
* Create a global style component like styled-components createGlobalStyle
|
|
447
|
+
* Returns a React component that injects global styles when mounted and cleans up when unmounted
|
|
448
|
+
*/
|
|
449
|
+
createGlobalStyle(strings, ...interpolations) {
|
|
450
|
+
const injector = this; // Capture the injector instance
|
|
451
|
+
class GlobalStyleComponent extends Component {
|
|
452
|
+
disposeFunction = null;
|
|
453
|
+
componentDidMount() {
|
|
454
|
+
this.injectStyles();
|
|
455
|
+
}
|
|
456
|
+
componentDidUpdate() {
|
|
457
|
+
this.disposeStyles();
|
|
458
|
+
this.injectStyles();
|
|
459
|
+
}
|
|
460
|
+
componentWillUnmount() {
|
|
461
|
+
this.disposeStyles();
|
|
462
|
+
}
|
|
463
|
+
injectStyles = () => {
|
|
464
|
+
const css = this.interpolateTemplate();
|
|
465
|
+
if (css.trim()) {
|
|
466
|
+
const styleResults = this.parseCSSToStyleResults(css);
|
|
467
|
+
// Use a special method for createGlobalStyle to distinguish from injectGlobal
|
|
468
|
+
const result = injector.injectCreateGlobalStyle(styleResults, {
|
|
469
|
+
root: this.props.root,
|
|
470
|
+
});
|
|
471
|
+
this.disposeFunction = result.dispose;
|
|
472
|
+
}
|
|
473
|
+
};
|
|
474
|
+
disposeStyles = () => {
|
|
475
|
+
if (this.disposeFunction) {
|
|
476
|
+
this.disposeFunction();
|
|
477
|
+
this.disposeFunction = null;
|
|
478
|
+
}
|
|
479
|
+
};
|
|
480
|
+
interpolateTemplate = () => {
|
|
481
|
+
let result = strings[0];
|
|
482
|
+
for (let i = 0; i < interpolations.length; i++) {
|
|
483
|
+
const interpolation = interpolations[i];
|
|
484
|
+
const value = typeof interpolation === 'function'
|
|
485
|
+
? interpolation(this.props)
|
|
486
|
+
: interpolation;
|
|
487
|
+
result += String(value) + strings[i + 1];
|
|
488
|
+
}
|
|
489
|
+
return result;
|
|
490
|
+
};
|
|
491
|
+
parseCSSToStyleResults = (css) => {
|
|
492
|
+
const rules = [];
|
|
493
|
+
// Enhanced CSS parser for global styles that handles nested rules
|
|
494
|
+
this.parseCSS(css, rules, [], '');
|
|
495
|
+
return rules;
|
|
496
|
+
};
|
|
497
|
+
parseCSS = (css, rules, atRuleStack, parentSelector = '') => {
|
|
498
|
+
// Remove both CSS and JavaScript-style comments
|
|
499
|
+
let cleanCSS = css.replace(/\/\*[\s\S]*?\*\//g, ''); // CSS comments
|
|
500
|
+
cleanCSS = cleanCSS.replace(/\/\/.*$/gm, ''); // JavaScript-style comments
|
|
501
|
+
let i = 0;
|
|
502
|
+
while (i < cleanCSS.length) {
|
|
503
|
+
// Skip whitespace
|
|
504
|
+
while (i < cleanCSS.length && /\s/.test(cleanCSS[i])) {
|
|
505
|
+
i++;
|
|
506
|
+
}
|
|
507
|
+
if (i >= cleanCSS.length)
|
|
508
|
+
break;
|
|
509
|
+
// Find the next selector or at-rule
|
|
510
|
+
let selectorStart = i;
|
|
511
|
+
let braceDepth = 0;
|
|
512
|
+
let inString = false;
|
|
513
|
+
let stringChar = '';
|
|
514
|
+
// Find the opening brace
|
|
515
|
+
while (i < cleanCSS.length) {
|
|
516
|
+
const char = cleanCSS[i];
|
|
517
|
+
if (inString) {
|
|
518
|
+
if (char === stringChar && cleanCSS[i - 1] !== '\\') {
|
|
519
|
+
inString = false;
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
else {
|
|
523
|
+
if (char === '"' || char === "'") {
|
|
524
|
+
inString = true;
|
|
525
|
+
stringChar = char;
|
|
526
|
+
}
|
|
527
|
+
else if (char === '{') {
|
|
528
|
+
braceDepth++;
|
|
529
|
+
if (braceDepth === 1) {
|
|
530
|
+
break; // Found the opening brace
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
else if (char === '}') {
|
|
534
|
+
braceDepth--;
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
i++;
|
|
538
|
+
}
|
|
539
|
+
if (i >= cleanCSS.length)
|
|
540
|
+
break;
|
|
541
|
+
const selectorPart = cleanCSS.substring(selectorStart, i).trim();
|
|
542
|
+
i++; // Skip the opening brace
|
|
543
|
+
// Find the matching closing brace
|
|
544
|
+
const contentStart = i;
|
|
545
|
+
braceDepth = 1;
|
|
546
|
+
inString = false;
|
|
547
|
+
while (i < cleanCSS.length && braceDepth > 0) {
|
|
548
|
+
const char = cleanCSS[i];
|
|
549
|
+
if (inString) {
|
|
550
|
+
if (char === stringChar && cleanCSS[i - 1] !== '\\') {
|
|
551
|
+
inString = false;
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
else {
|
|
555
|
+
if (char === '"' || char === "'") {
|
|
556
|
+
inString = true;
|
|
557
|
+
stringChar = char;
|
|
558
|
+
}
|
|
559
|
+
else if (char === '{') {
|
|
560
|
+
braceDepth++;
|
|
561
|
+
}
|
|
562
|
+
else if (char === '}') {
|
|
563
|
+
braceDepth--;
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
i++;
|
|
567
|
+
}
|
|
568
|
+
const content = cleanCSS.substring(contentStart, i - 1).trim();
|
|
569
|
+
// Check if this is an at-rule
|
|
570
|
+
if (selectorPart.startsWith('@')) {
|
|
571
|
+
const atSelector = selectorPart.trim();
|
|
572
|
+
// Leaf at-rules that contain declarations directly and should be emitted as-is
|
|
573
|
+
const leafAtRules = [
|
|
574
|
+
'@font-face',
|
|
575
|
+
'@property',
|
|
576
|
+
'@page',
|
|
577
|
+
'@counter-style',
|
|
578
|
+
'@font-feature-values',
|
|
579
|
+
'@font-palette-values',
|
|
580
|
+
'@color-profile',
|
|
581
|
+
];
|
|
582
|
+
const isLeafAtRule = leafAtRules.some((prefix) => atSelector.startsWith(prefix));
|
|
583
|
+
if (isLeafAtRule) {
|
|
584
|
+
// Emit the at-rule with its declarations directly
|
|
585
|
+
if (content.trim()) {
|
|
586
|
+
rules.push({
|
|
587
|
+
selector: atSelector,
|
|
588
|
+
declarations: content,
|
|
589
|
+
atRules: atRuleStack.length > 0 ? [...atRuleStack] : undefined,
|
|
590
|
+
});
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
else {
|
|
594
|
+
// Wrapper at-rule (e.g., @media, @supports, @keyframes) — parse its content
|
|
595
|
+
const newAtRuleStack = [...atRuleStack, atSelector];
|
|
596
|
+
this.parseCSS(content, rules, newAtRuleStack, parentSelector);
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
else {
|
|
600
|
+
// Check if content contains nested rules (has { and })
|
|
601
|
+
if (content.includes('{') && content.includes('}')) {
|
|
602
|
+
// This selector has nested rules, parse them
|
|
603
|
+
const { declarations, nestedCSS } = this.separateDeclarationsAndNested(content);
|
|
604
|
+
// Process the selector (handle & syntax)
|
|
605
|
+
const processedSelector = this.processSelector(selectorPart, parentSelector);
|
|
606
|
+
// Add declarations if any
|
|
607
|
+
if (declarations.trim()) {
|
|
608
|
+
rules.push({
|
|
609
|
+
selector: processedSelector,
|
|
610
|
+
declarations: declarations.trim(),
|
|
611
|
+
atRules: atRuleStack.length > 0 ? [...atRuleStack] : undefined,
|
|
612
|
+
});
|
|
613
|
+
}
|
|
614
|
+
// Parse nested CSS with current selector as parent
|
|
615
|
+
if (nestedCSS.trim()) {
|
|
616
|
+
this.parseCSS(nestedCSS, rules, atRuleStack, processedSelector);
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
else {
|
|
620
|
+
// This is a regular selector with only declarations
|
|
621
|
+
const processedSelector = this.processSelector(selectorPart, parentSelector);
|
|
622
|
+
if (content && processedSelector) {
|
|
623
|
+
rules.push({
|
|
624
|
+
selector: processedSelector,
|
|
625
|
+
declarations: content,
|
|
626
|
+
atRules: atRuleStack.length > 0 ? [...atRuleStack] : undefined,
|
|
627
|
+
});
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
};
|
|
633
|
+
separateDeclarationsAndNested = (content) => {
|
|
634
|
+
const declarations = [];
|
|
635
|
+
const nestedRules = [];
|
|
636
|
+
let i = 0;
|
|
637
|
+
let currentDeclaration = '';
|
|
638
|
+
while (i < content.length) {
|
|
639
|
+
const char = content[i];
|
|
640
|
+
if (char === '{') {
|
|
641
|
+
// Found start of nested rule, find the selector before it
|
|
642
|
+
let selectorStart = currentDeclaration.lastIndexOf(';') + 1;
|
|
643
|
+
if (selectorStart === 0 && currentDeclaration.trim()) {
|
|
644
|
+
// No semicolon found, this might be the first rule
|
|
645
|
+
selectorStart = 0;
|
|
646
|
+
}
|
|
647
|
+
const beforeBrace = currentDeclaration.substring(0, selectorStart);
|
|
648
|
+
const selector = currentDeclaration.substring(selectorStart).trim();
|
|
649
|
+
if (beforeBrace.trim()) {
|
|
650
|
+
declarations.push(beforeBrace.trim());
|
|
651
|
+
}
|
|
652
|
+
// Find the matching closing brace
|
|
653
|
+
let braceDepth = 1;
|
|
654
|
+
let ruleStart = i + 1;
|
|
655
|
+
i++; // Skip opening brace
|
|
656
|
+
while (i < content.length && braceDepth > 0) {
|
|
657
|
+
if (content[i] === '{')
|
|
658
|
+
braceDepth++;
|
|
659
|
+
else if (content[i] === '}')
|
|
660
|
+
braceDepth--;
|
|
661
|
+
i++;
|
|
662
|
+
}
|
|
663
|
+
const ruleContent = content.substring(ruleStart, i - 1);
|
|
664
|
+
nestedRules.push(`${selector} { ${ruleContent} }`);
|
|
665
|
+
currentDeclaration = '';
|
|
666
|
+
}
|
|
667
|
+
else {
|
|
668
|
+
currentDeclaration += char;
|
|
669
|
+
i++;
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
// Add remaining declarations
|
|
673
|
+
if (currentDeclaration.trim()) {
|
|
674
|
+
declarations.push(currentDeclaration.trim());
|
|
675
|
+
}
|
|
676
|
+
return {
|
|
677
|
+
declarations: declarations.join(' '),
|
|
678
|
+
nestedCSS: nestedRules.join('\n'),
|
|
679
|
+
};
|
|
680
|
+
};
|
|
681
|
+
processSelector = (selector, parentSelector) => {
|
|
682
|
+
if (!parentSelector) {
|
|
683
|
+
return selector;
|
|
684
|
+
}
|
|
685
|
+
// Handle & syntax - replace & with parent selector
|
|
686
|
+
if (selector.includes('&')) {
|
|
687
|
+
return selector.replace(/&/g, parentSelector);
|
|
688
|
+
}
|
|
689
|
+
// If no &, treat as descendant selector
|
|
690
|
+
return `${parentSelector} ${selector}`;
|
|
691
|
+
};
|
|
692
|
+
render() {
|
|
693
|
+
return null;
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
return GlobalStyleComponent;
|
|
697
|
+
}
|
|
480
698
|
}
|
|
481
699
|
|
|
482
700
|
|
|
@@ -1,20 +1,14 @@
|
|
|
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-521eedd
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { createStyle, STYLE_HANDLER_MAP } from '../styles
|
|
8
|
+
import { createStyle, STYLE_HANDLER_MAP } from '../styles';
|
|
9
9
|
export class SheetManager {
|
|
10
10
|
rootRegistries = new WeakMap();
|
|
11
11
|
config;
|
|
12
|
-
/** Dedicated style elements for raw CSS per root */
|
|
13
|
-
rawStyleElements = new WeakMap();
|
|
14
|
-
/** Tracking for raw CSS blocks per root */
|
|
15
|
-
rawCSSBlocks = new WeakMap();
|
|
16
|
-
/** Counter for generating unique raw CSS IDs */
|
|
17
|
-
rawCSSCounter = 0;
|
|
18
12
|
constructor(config) {
|
|
19
13
|
this.config = config;
|
|
20
14
|
}
|
|
@@ -47,7 +41,6 @@ export class SheetManager {
|
|
|
47
41
|
metrics,
|
|
48
42
|
classCounter: 0,
|
|
49
43
|
keyframesCache: new Map(),
|
|
50
|
-
keyframesNameToContent: new Map(),
|
|
51
44
|
keyframesCounter: 0,
|
|
52
45
|
injectedProperties: new Set(),
|
|
53
46
|
globalRules: new Map(),
|
|
@@ -244,11 +237,8 @@ export class SheetManager {
|
|
|
244
237
|
currentRuleIndex = idx + 1;
|
|
245
238
|
anyInserted = true;
|
|
246
239
|
}
|
|
247
|
-
catch (
|
|
240
|
+
catch (_) {
|
|
248
241
|
// Skip unsupported selector in this engine (e.g., ::-moz-selection in Blink)
|
|
249
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
250
|
-
console.warn('[tasty] Browser rejected CSS rule:', singleRule, singleErr);
|
|
251
|
-
}
|
|
252
242
|
}
|
|
253
243
|
}
|
|
254
244
|
// If none inserted, continue without throwing to avoid aborting the whole batch
|
|
@@ -258,9 +248,6 @@ export class SheetManager {
|
|
|
258
248
|
}
|
|
259
249
|
else {
|
|
260
250
|
// Single selector failed — skip it silently (likely unsupported in this engine)
|
|
261
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
262
|
-
console.warn('[tasty] Browser rejected CSS rule:', fullRule, e);
|
|
263
|
-
}
|
|
264
251
|
}
|
|
265
252
|
}
|
|
266
253
|
}
|
|
@@ -919,118 +906,6 @@ export class SheetManager {
|
|
|
919
906
|
}
|
|
920
907
|
// Clear registry
|
|
921
908
|
this.rootRegistries.delete(root);
|
|
922
|
-
// Clean up raw CSS style element
|
|
923
|
-
const rawStyleElement = this.rawStyleElements.get(root);
|
|
924
|
-
if (rawStyleElement?.parentNode) {
|
|
925
|
-
rawStyleElement.parentNode.removeChild(rawStyleElement);
|
|
926
|
-
}
|
|
927
|
-
this.rawStyleElements.delete(root);
|
|
928
|
-
this.rawCSSBlocks.delete(root);
|
|
929
|
-
}
|
|
930
|
-
/**
|
|
931
|
-
* Get or create a dedicated style element for raw CSS
|
|
932
|
-
* Raw CSS is kept separate from tasty-managed sheets to avoid index conflicts
|
|
933
|
-
*/
|
|
934
|
-
getOrCreateRawStyleElement(root) {
|
|
935
|
-
let styleElement = this.rawStyleElements.get(root);
|
|
936
|
-
if (!styleElement) {
|
|
937
|
-
styleElement =
|
|
938
|
-
root.createElement?.('style') ||
|
|
939
|
-
document.createElement('style');
|
|
940
|
-
if (this.config.nonce) {
|
|
941
|
-
styleElement.nonce = this.config.nonce;
|
|
942
|
-
}
|
|
943
|
-
styleElement.setAttribute('data-tasty-raw', '');
|
|
944
|
-
// Append to head or shadow root
|
|
945
|
-
if ('head' in root && root.head) {
|
|
946
|
-
root.head.appendChild(styleElement);
|
|
947
|
-
}
|
|
948
|
-
else if ('appendChild' in root) {
|
|
949
|
-
root.appendChild(styleElement);
|
|
950
|
-
}
|
|
951
|
-
else {
|
|
952
|
-
document.head.appendChild(styleElement);
|
|
953
|
-
}
|
|
954
|
-
this.rawStyleElements.set(root, styleElement);
|
|
955
|
-
this.rawCSSBlocks.set(root, new Map());
|
|
956
|
-
}
|
|
957
|
-
return styleElement;
|
|
958
|
-
}
|
|
959
|
-
/**
|
|
960
|
-
* Inject raw CSS text directly without parsing
|
|
961
|
-
* Returns a dispose function to remove the injected CSS
|
|
962
|
-
*/
|
|
963
|
-
injectRawCSS(css, root) {
|
|
964
|
-
if (!css.trim()) {
|
|
965
|
-
return { dispose: () => { } };
|
|
966
|
-
}
|
|
967
|
-
const styleElement = this.getOrCreateRawStyleElement(root);
|
|
968
|
-
const blocksMap = this.rawCSSBlocks.get(root);
|
|
969
|
-
// Generate unique ID for this block
|
|
970
|
-
const id = `raw_${this.rawCSSCounter++}`;
|
|
971
|
-
// Calculate offsets
|
|
972
|
-
const currentContent = styleElement.textContent || '';
|
|
973
|
-
const startOffset = currentContent.length;
|
|
974
|
-
const cssWithNewline = (currentContent ? '\n' : '') + css;
|
|
975
|
-
const endOffset = startOffset + cssWithNewline.length;
|
|
976
|
-
// Append CSS
|
|
977
|
-
styleElement.textContent = currentContent + cssWithNewline;
|
|
978
|
-
// Track the block
|
|
979
|
-
const info = {
|
|
980
|
-
id,
|
|
981
|
-
css,
|
|
982
|
-
startOffset,
|
|
983
|
-
endOffset,
|
|
984
|
-
};
|
|
985
|
-
blocksMap.set(id, info);
|
|
986
|
-
return {
|
|
987
|
-
dispose: () => {
|
|
988
|
-
this.disposeRawCSS(id, root);
|
|
989
|
-
},
|
|
990
|
-
};
|
|
991
|
-
}
|
|
992
|
-
/**
|
|
993
|
-
* Remove a raw CSS block by ID
|
|
994
|
-
*/
|
|
995
|
-
disposeRawCSS(id, root) {
|
|
996
|
-
const styleElement = this.rawStyleElements.get(root);
|
|
997
|
-
const blocksMap = this.rawCSSBlocks.get(root);
|
|
998
|
-
if (!styleElement || !blocksMap) {
|
|
999
|
-
return;
|
|
1000
|
-
}
|
|
1001
|
-
const info = blocksMap.get(id);
|
|
1002
|
-
if (!info) {
|
|
1003
|
-
return;
|
|
1004
|
-
}
|
|
1005
|
-
// Remove from tracking
|
|
1006
|
-
blocksMap.delete(id);
|
|
1007
|
-
// Rebuild the CSS content from remaining blocks
|
|
1008
|
-
// This is simpler and more reliable than trying to splice strings
|
|
1009
|
-
const remainingBlocks = Array.from(blocksMap.values());
|
|
1010
|
-
if (remainingBlocks.length === 0) {
|
|
1011
|
-
styleElement.textContent = '';
|
|
1012
|
-
}
|
|
1013
|
-
else {
|
|
1014
|
-
// Rebuild with remaining CSS blocks in order of their original insertion
|
|
1015
|
-
// Sort by original startOffset to maintain order
|
|
1016
|
-
remainingBlocks.sort((a, b) => a.startOffset - b.startOffset);
|
|
1017
|
-
const newContent = remainingBlocks.map((block) => block.css).join('\n');
|
|
1018
|
-
styleElement.textContent = newContent;
|
|
1019
|
-
// Update offsets for remaining blocks
|
|
1020
|
-
let offset = 0;
|
|
1021
|
-
for (const block of remainingBlocks) {
|
|
1022
|
-
block.startOffset = offset;
|
|
1023
|
-
block.endOffset = offset + block.css.length;
|
|
1024
|
-
offset = block.endOffset + 1; // +1 for newline
|
|
1025
|
-
}
|
|
1026
|
-
}
|
|
1027
|
-
}
|
|
1028
|
-
/**
|
|
1029
|
-
* Get the raw CSS content for SSR
|
|
1030
|
-
*/
|
|
1031
|
-
getRawCSSText(root) {
|
|
1032
|
-
const styleElement = this.rawStyleElements.get(root);
|
|
1033
|
-
return styleElement?.textContent || '';
|
|
1034
909
|
}
|
|
1035
910
|
}
|
|
1036
911
|
|
|
@@ -1,13 +1,13 @@
|
|
|
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-521eedd
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { COLOR_FUNCS, RE_HEX, RE_NUMBER, RE_UNIT_NUM, VALUE_KEYWORDS, } from './const
|
|
9
|
-
import { StyleParser } from './parser
|
|
10
|
-
import { Bucket } from './types
|
|
8
|
+
import { COLOR_FUNCS, RE_HEX, RE_NUMBER, RE_UNIT_NUM, VALUE_KEYWORDS, } from './const';
|
|
9
|
+
import { StyleParser } from './parser';
|
|
10
|
+
import { Bucket } from './types';
|
|
11
11
|
export function classify(raw, opts, recurse) {
|
|
12
12
|
const token = raw.trim();
|
|
13
13
|
if (!token)
|
|
@@ -112,10 +112,8 @@ export function classify(raw, opts, recurse) {
|
|
|
112
112
|
if (opts.funcs && fname in opts.funcs) {
|
|
113
113
|
// split by top-level commas within inner
|
|
114
114
|
const tmp = new StyleParser(opts).process(inner); // fresh parser w/ same opts but no cache share issues
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
// Pass funcs: undefined to prevent infinite recursion if result matches a function pattern
|
|
118
|
-
return classify(funcResult, { ...opts, funcs: undefined }, recurse);
|
|
115
|
+
const argProcessed = opts.funcs[fname](tmp.groups);
|
|
116
|
+
return { bucket: Bucket.Value, processed: argProcessed };
|
|
119
117
|
}
|
|
120
118
|
// generic: process inner and rebuild
|
|
121
119
|
const argProcessed = recurse(inner).output;
|