@cube-dev/ui-kit 0.0.0-canary-55e23f2 → 0.0.0-canary-21dd9ff
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/es/_internal/hooks/index.js +1 -1
- package/es/_internal/hooks/use-chained-callback.js +1 -1
- package/es/_internal/hooks/use-debounced-value.js +1 -1
- package/es/_internal/hooks/use-deprecation-warning.js +1 -1
- package/es/_internal/hooks/use-effect-once.js +1 -1
- package/es/_internal/hooks/use-event.js +1 -1
- package/es/_internal/hooks/use-is-first-render.js +1 -1
- package/es/_internal/hooks/use-sync-ref.js +1 -1
- package/es/_internal/hooks/use-timer/index.js +1 -1
- package/es/_internal/hooks/use-timer/timer.js +1 -1
- package/es/_internal/hooks/use-timer/use-timer.js +1 -1
- package/es/_internal/hooks/use-update-effect.js +1 -1
- package/es/_internal/hooks/use-warn.js +1 -1
- package/es/_internal/index.js +1 -1
- package/es/components/Block.js +1 -1
- package/es/components/GlobalStyles.js +1 -1
- package/es/components/GridProvider.js +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 +2 -2
- package/es/components/actions/Action/Action.js +14 -18
- package/es/components/actions/Button/Button.js +2 -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 +5 -4
- 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 +3 -3
- package/es/components/content/Title.js +3 -3
- 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 +3 -2
- 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 -2
- package/es/tasty/index.js +2 -1
- package/es/tasty/injector/flatten.js +350 -0
- package/es/tasty/injector/index.js +165 -0
- package/es/tasty/injector/injector.js +315 -0
- package/es/tasty/injector/sheet-manager.js +518 -0
- package/es/tasty/injector/types.js +10 -0
- package/es/tasty/parser/classify.js +1 -1
- package/es/tasty/parser/const.js +1 -1
- package/es/tasty/parser/lru.js +38 -2
- 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 +8 -12
- package/es/tasty/styles/createStyle.js +3 -3
- 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 +6 -8
- 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 -3
- package/es/tasty/styles/preset.js +1 -1
- package/es/tasty/styles/radius.js +1 -1
- package/es/tasty/styles/reset.js +40 -44
- 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 +92 -19
- 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 +515 -57
- package/es/tasty/utils/responsive.js +1 -1
- package/es/tasty/utils/string.js +1 -1
- package/es/tasty/utils/styles.js +3 -62
- 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/Button/Button.d.ts +1 -0
- package/types/components/actions/Menu/styled.d.ts +699 -702
- package/types/components/actions/use-action.d.ts +1 -1
- package/types/components/content/List/SectionHeading.d.ts +233 -234
- package/types/components/fields/DatePicker/DatePickerElement.d.ts +233 -234
- package/types/tasty/index.d.ts +1 -0
- package/types/tasty/injector/flatten.d.ts +16 -0
- package/types/tasty/injector/index.d.ts +64 -0
- package/types/tasty/injector/injector.d.ts +82 -0
- package/types/tasty/injector/sheet-manager.d.ts +74 -0
- package/types/tasty/injector/types.d.ts +71 -0
- package/types/tasty/parser/lru.d.ts +5 -1
- package/types/tasty/styles/color.d.ts +3 -1
- package/types/tasty/styles/reset.d.ts +1 -2
- package/types/tasty/types.d.ts +0 -2
- package/types/tasty/utils/renderStyles.d.ts +25 -7
- package/types/tasty/utils/styles.d.ts +1 -9
package/es/icons/WarningIcon.js
CHANGED
package/es/icons/add-new-icon.js
CHANGED
package/es/icons/index.js
CHANGED
package/es/icons/wrap-icon.js
CHANGED
package/es/index.js
CHANGED
package/es/provider.js
CHANGED
package/es/shared/form.js
CHANGED
package/es/shared/index.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-21dd9ff
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -26,7 +26,6 @@ export const baseProps = [
|
|
|
26
26
|
'style',
|
|
27
27
|
'styles',
|
|
28
28
|
'css',
|
|
29
|
-
'styleName',
|
|
30
29
|
'hidden',
|
|
31
30
|
'disabled',
|
|
32
31
|
'mods',
|
package/es/tasty/index.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-21dd9ff
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -18,5 +18,6 @@ export * from './providers/BreakpointsProvider';
|
|
|
18
18
|
export * from './utils/mergeStyles';
|
|
19
19
|
export * from './utils/warnings';
|
|
20
20
|
export * from './utils/getDisplayName';
|
|
21
|
+
export * from './injector';
|
|
21
22
|
|
|
22
23
|
|
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license MIT
|
|
3
|
+
* author: Cube Dev Team
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-21dd9ff
|
|
5
|
+
* Released under the MIT license.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Parse and flatten nested CSS
|
|
10
|
+
* Handles &, .Class, SubElement patterns from renderStyles output
|
|
11
|
+
* Preserves at-rule context (media queries, supports, etc.)
|
|
12
|
+
*/
|
|
13
|
+
export function flattenNestedCss(cssText, baseClassName, atRuleStack = []) {
|
|
14
|
+
const rules = [];
|
|
15
|
+
if (!cssText.trim()) {
|
|
16
|
+
return rules;
|
|
17
|
+
}
|
|
18
|
+
// Parse the CSS text into rules
|
|
19
|
+
const parsedRules = parseCssRules(cssText, atRuleStack);
|
|
20
|
+
for (const rule of parsedRules) {
|
|
21
|
+
const flattenedRules = flattenRule(rule, baseClassName);
|
|
22
|
+
rules.push(...flattenedRules);
|
|
23
|
+
}
|
|
24
|
+
return rules;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Parse CSS text into a tree structure
|
|
28
|
+
* Handles at-rules and preserves context
|
|
29
|
+
*/
|
|
30
|
+
function parseCssRules(cssText, atRuleStack = []) {
|
|
31
|
+
const rules = [];
|
|
32
|
+
// Enhanced regex to handle at-rules - improved to handle simple cases better
|
|
33
|
+
const rulePattern = /([^{]+)\s*\{\s*([^{}]*(?:\{[^}]*\}[^{}]*)*)\s*\}/g;
|
|
34
|
+
let match;
|
|
35
|
+
while ((match = rulePattern.exec(cssText)) !== null) {
|
|
36
|
+
const selector = match[1].trim();
|
|
37
|
+
const content = match[2].trim();
|
|
38
|
+
// Skip empty rules
|
|
39
|
+
if (!selector || (!content && !content.includes('{'))) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
// Check if this is an at-rule
|
|
43
|
+
if (selector.startsWith('@')) {
|
|
44
|
+
// This is an at-rule, parse its content with updated stack
|
|
45
|
+
const newAtRuleStack = [...atRuleStack, selector];
|
|
46
|
+
const nestedRules = parseCssRules(content, newAtRuleStack);
|
|
47
|
+
rules.push(...nestedRules); // Flatten at-rule contents
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
// Regular selector rule
|
|
51
|
+
if (content.includes('{')) {
|
|
52
|
+
// Has nested rules - need to separate declarations from nested rules
|
|
53
|
+
const { declarations, nestedContent } = separateDeclarationsFromNested(content);
|
|
54
|
+
// Add the rule for the selector if it has declarations
|
|
55
|
+
if (declarations && declarations.trim()) {
|
|
56
|
+
rules.push({
|
|
57
|
+
selector,
|
|
58
|
+
declarations: declarations.trim(),
|
|
59
|
+
atRules: atRuleStack.length > 0 ? [...atRuleStack] : undefined,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
// Parse nested rules
|
|
63
|
+
if (nestedContent.trim()) {
|
|
64
|
+
const nestedRules = parseCssRules(nestedContent, atRuleStack);
|
|
65
|
+
rules.push(...nestedRules);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
// Only declarations - this handles simple cases like &{display: block;}
|
|
70
|
+
if (content && content.trim()) {
|
|
71
|
+
rules.push({
|
|
72
|
+
selector,
|
|
73
|
+
declarations: content.trim(),
|
|
74
|
+
atRules: atRuleStack.length > 0 ? [...atRuleStack] : undefined,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return rules;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Separate declarations from nested rules in CSS content
|
|
84
|
+
*/
|
|
85
|
+
function separateDeclarationsFromNested(content) {
|
|
86
|
+
const declarations = [];
|
|
87
|
+
const nestedRules = [];
|
|
88
|
+
let i = 0;
|
|
89
|
+
let currentDeclaration = '';
|
|
90
|
+
while (i < content.length) {
|
|
91
|
+
const char = content[i];
|
|
92
|
+
if (char === '{') {
|
|
93
|
+
// Found start of nested rule - extract the entire nested rule
|
|
94
|
+
const ruleStart = i;
|
|
95
|
+
let braceDepth = 1;
|
|
96
|
+
i++; // Move past opening brace
|
|
97
|
+
// Find the matching closing brace
|
|
98
|
+
while (i < content.length && braceDepth > 0) {
|
|
99
|
+
if (content[i] === '{') {
|
|
100
|
+
braceDepth++;
|
|
101
|
+
}
|
|
102
|
+
else if (content[i] === '}') {
|
|
103
|
+
braceDepth--;
|
|
104
|
+
}
|
|
105
|
+
i++;
|
|
106
|
+
}
|
|
107
|
+
// Extract the complete nested rule (including selector before '{')
|
|
108
|
+
let selectorStart = ruleStart;
|
|
109
|
+
while (selectorStart > 0 &&
|
|
110
|
+
content[selectorStart - 1] !== ';' &&
|
|
111
|
+
content[selectorStart - 1] !== '\n') {
|
|
112
|
+
selectorStart--;
|
|
113
|
+
}
|
|
114
|
+
// Skip whitespace at start of selector
|
|
115
|
+
while (selectorStart < ruleStart && /\s/.test(content[selectorStart])) {
|
|
116
|
+
selectorStart++;
|
|
117
|
+
}
|
|
118
|
+
const nestedRule = content.slice(selectorStart, i);
|
|
119
|
+
nestedRules.push(nestedRule);
|
|
120
|
+
// Save any pending declaration
|
|
121
|
+
if (currentDeclaration.trim()) {
|
|
122
|
+
const decl = currentDeclaration.trim();
|
|
123
|
+
if (decl.includes(':') && !decl.includes('{') && !decl.includes('}')) {
|
|
124
|
+
declarations.push(decl);
|
|
125
|
+
}
|
|
126
|
+
currentDeclaration = '';
|
|
127
|
+
}
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
else if (char === ';') {
|
|
131
|
+
// End of declaration
|
|
132
|
+
const decl = currentDeclaration.trim();
|
|
133
|
+
if (decl &&
|
|
134
|
+
decl.includes(':') &&
|
|
135
|
+
!decl.includes('{') &&
|
|
136
|
+
!decl.includes('}')) {
|
|
137
|
+
declarations.push(decl);
|
|
138
|
+
}
|
|
139
|
+
currentDeclaration = '';
|
|
140
|
+
}
|
|
141
|
+
else if (char !== '\n' || currentDeclaration.trim()) {
|
|
142
|
+
// Add character to current declaration (skip leading newlines)
|
|
143
|
+
currentDeclaration += char;
|
|
144
|
+
}
|
|
145
|
+
i++;
|
|
146
|
+
}
|
|
147
|
+
// Handle final declaration if no trailing semicolon
|
|
148
|
+
if (currentDeclaration.trim()) {
|
|
149
|
+
const decl = currentDeclaration.trim();
|
|
150
|
+
if (decl.includes(':') && !decl.includes('{') && !decl.includes('}')) {
|
|
151
|
+
declarations.push(decl);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return {
|
|
155
|
+
declarations: declarations.join('; '),
|
|
156
|
+
nestedContent: nestedRules.join('\n'),
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Extract CSS declarations (non-nested rules) from content
|
|
161
|
+
*/
|
|
162
|
+
function extractDeclarations(content) {
|
|
163
|
+
const declarations = [];
|
|
164
|
+
let braceDepth = 0;
|
|
165
|
+
let currentDeclaration = '';
|
|
166
|
+
for (let i = 0; i < content.length; i++) {
|
|
167
|
+
const char = content[i];
|
|
168
|
+
if (char === '{') {
|
|
169
|
+
braceDepth++;
|
|
170
|
+
// If we're entering a nested rule, save any current declaration
|
|
171
|
+
if (braceDepth === 1 && currentDeclaration.trim()) {
|
|
172
|
+
const decl = currentDeclaration.trim();
|
|
173
|
+
if (decl.includes(':') && !decl.includes('{') && !decl.includes('}')) {
|
|
174
|
+
declarations.push(decl);
|
|
175
|
+
}
|
|
176
|
+
currentDeclaration = '';
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
else if (char === '}') {
|
|
180
|
+
braceDepth--;
|
|
181
|
+
currentDeclaration = ''; // Reset on closing brace
|
|
182
|
+
}
|
|
183
|
+
else if (braceDepth === 0) {
|
|
184
|
+
// Only collect content when we're not inside nested rules
|
|
185
|
+
if (char === ';') {
|
|
186
|
+
const decl = currentDeclaration.trim();
|
|
187
|
+
if (decl &&
|
|
188
|
+
decl.includes(':') &&
|
|
189
|
+
!decl.includes('{') &&
|
|
190
|
+
!decl.includes('}')) {
|
|
191
|
+
declarations.push(decl);
|
|
192
|
+
}
|
|
193
|
+
currentDeclaration = '';
|
|
194
|
+
}
|
|
195
|
+
else if (char !== '\n' || currentDeclaration.trim()) {
|
|
196
|
+
// Add character to current declaration (skip leading newlines)
|
|
197
|
+
currentDeclaration += char;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
// Ignore content inside nested rules (braceDepth > 0)
|
|
201
|
+
}
|
|
202
|
+
// Handle final declaration if no trailing semicolon
|
|
203
|
+
if (braceDepth === 0 && currentDeclaration.trim()) {
|
|
204
|
+
const decl = currentDeclaration.trim();
|
|
205
|
+
if (decl.includes(':') && !decl.includes('{') && !decl.includes('}')) {
|
|
206
|
+
declarations.push(decl);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
return declarations.join('; ');
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Flatten a parsed rule against a base class name
|
|
213
|
+
*/
|
|
214
|
+
function flattenRule(rule, baseClassName) {
|
|
215
|
+
const results = [];
|
|
216
|
+
// Process the main rule
|
|
217
|
+
const flatSelector = flattenSelector(rule.selector, baseClassName);
|
|
218
|
+
// Always process the main rule if it has declarations
|
|
219
|
+
if (rule.declarations && rule.declarations.trim()) {
|
|
220
|
+
results.push({
|
|
221
|
+
selector: flatSelector,
|
|
222
|
+
declarations: rule.declarations.trim(),
|
|
223
|
+
atRules: rule.atRules,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
// Process nested rules
|
|
227
|
+
if (rule.nested) {
|
|
228
|
+
for (const nestedRule of rule.nested) {
|
|
229
|
+
const nestedResults = flattenRule(nestedRule, baseClassName);
|
|
230
|
+
results.push(...nestedResults);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return results;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Flatten a selector against a base class name
|
|
237
|
+
* Handles &, .Class, SubElement patterns
|
|
238
|
+
* Uses doubled class name for increased specificity (.t0 -> .t0.t0)
|
|
239
|
+
*/
|
|
240
|
+
function flattenSelector(selector, baseClassName) {
|
|
241
|
+
// Handle media queries - pass through as-is
|
|
242
|
+
if (selector.startsWith('@media')) {
|
|
243
|
+
return selector;
|
|
244
|
+
}
|
|
245
|
+
// Create doubled class selector for increased specificity
|
|
246
|
+
const doubledClass = `.${baseClassName}.${baseClassName}`;
|
|
247
|
+
// Handle & replacement
|
|
248
|
+
if (selector.includes('&')) {
|
|
249
|
+
return selector.replace(/&/g, doubledClass);
|
|
250
|
+
}
|
|
251
|
+
// Handle .Class pattern -> descendant selector
|
|
252
|
+
if (selector.startsWith('.')) {
|
|
253
|
+
return `${doubledClass} ${selector}`;
|
|
254
|
+
}
|
|
255
|
+
// Handle SubElement pattern (uppercase start) -> data-element selector
|
|
256
|
+
if (/^[A-Z]/.test(selector)) {
|
|
257
|
+
return `${doubledClass} [data-element="${selector}"]`;
|
|
258
|
+
}
|
|
259
|
+
// Handle other selectors (pseudo-classes, attributes, etc.)
|
|
260
|
+
if (selector.startsWith(':') || selector.startsWith('[')) {
|
|
261
|
+
return `${doubledClass}${selector}`;
|
|
262
|
+
}
|
|
263
|
+
// Default: treat as descendant
|
|
264
|
+
return `${doubledClass} ${selector}`;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Global-aware selector flattener that uses an arbitrary base selector (e.g. ".myButton"),
|
|
268
|
+
* not a class name. It replaces "&" with the full selector and maps nested selectors
|
|
269
|
+
* relative to that base without introducing extra dots.
|
|
270
|
+
*/
|
|
271
|
+
function flattenSelectorWithBase(selector, baseSelector) {
|
|
272
|
+
// Pass-through media queries
|
|
273
|
+
if (selector.startsWith('@media')) {
|
|
274
|
+
return selector;
|
|
275
|
+
}
|
|
276
|
+
// Replace all ampersands with the provided base selector directly
|
|
277
|
+
if (selector.includes('&')) {
|
|
278
|
+
return selector.replace(/&/g, baseSelector);
|
|
279
|
+
}
|
|
280
|
+
// Pseudo-classes/attributes attach directly
|
|
281
|
+
if (selector.startsWith(':') || selector.startsWith('[')) {
|
|
282
|
+
return `${baseSelector}${selector}`;
|
|
283
|
+
}
|
|
284
|
+
// Class or id selectors become descendants
|
|
285
|
+
if (selector.startsWith('.') || selector.startsWith('#')) {
|
|
286
|
+
return `${baseSelector} ${selector}`;
|
|
287
|
+
}
|
|
288
|
+
// SubElement pattern (uppercase start) -> data-element selector as descendant
|
|
289
|
+
if (/^[A-Z]/.test(selector)) {
|
|
290
|
+
return `${baseSelector} [data-element="${selector}"]`;
|
|
291
|
+
}
|
|
292
|
+
// Default: descendant
|
|
293
|
+
return `${baseSelector} ${selector}`;
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Flatten nested CSS for a concrete selector (global styles).
|
|
297
|
+
* Unlike the className-based variant, this preserves the provided selector string as-is.
|
|
298
|
+
*/
|
|
299
|
+
export function flattenNestedCssForSelector(cssText, baseSelector, atRuleStack = []) {
|
|
300
|
+
const rules = [];
|
|
301
|
+
if (!cssText.trim()) {
|
|
302
|
+
return rules;
|
|
303
|
+
}
|
|
304
|
+
// If there are no blocks, treat it as a declaration list for the base selector
|
|
305
|
+
if (!cssText.includes('{')) {
|
|
306
|
+
const declarations = extractDeclarations(cssText);
|
|
307
|
+
if (declarations.trim()) {
|
|
308
|
+
rules.push({
|
|
309
|
+
selector: baseSelector,
|
|
310
|
+
declarations,
|
|
311
|
+
atRules: atRuleStack.length ? [...atRuleStack] : undefined,
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
return rules;
|
|
315
|
+
}
|
|
316
|
+
// Reuse the same parser to get structured rules
|
|
317
|
+
const parsedRules = parseCssRules(cssText, atRuleStack);
|
|
318
|
+
function flattenRuleWithBase(rule, baseSel) {
|
|
319
|
+
const results = [];
|
|
320
|
+
const flatSelector = flattenSelectorWithBase(rule.selector, baseSel);
|
|
321
|
+
if (rule.declarations && rule.declarations.trim()) {
|
|
322
|
+
results.push({
|
|
323
|
+
selector: flatSelector,
|
|
324
|
+
declarations: rule.declarations.trim(),
|
|
325
|
+
atRules: rule.atRules,
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
if (rule.nested) {
|
|
329
|
+
for (const nestedRule of rule.nested) {
|
|
330
|
+
results.push(...flattenRuleWithBase(nestedRule, baseSel));
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
return results;
|
|
334
|
+
}
|
|
335
|
+
for (const rule of parsedRules) {
|
|
336
|
+
rules.push(...flattenRuleWithBase(rule, baseSelector));
|
|
337
|
+
}
|
|
338
|
+
return rules;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Wrap a CSS rule with at-rules (media queries, supports, etc.)
|
|
342
|
+
*/
|
|
343
|
+
export function wrapWithAtRules(rule, atRules) {
|
|
344
|
+
if (!atRules || atRules.length === 0) {
|
|
345
|
+
return rule;
|
|
346
|
+
}
|
|
347
|
+
return atRules.reduceRight((acc, atRule) => `${atRule} { ${acc} }`, rule);
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
|