@cube-dev/ui-kit 0.0.0-canary-a6187c8 → 0.0.0-canary-0776b49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/_internal/hooks/index.js +1 -1
- package/es/_internal/hooks/use-chained-callback.js +1 -1
- package/es/_internal/hooks/use-debounced-value.js +1 -1
- package/es/_internal/hooks/use-deprecation-warning.js +1 -1
- package/es/_internal/hooks/use-effect-once.js +1 -1
- package/es/_internal/hooks/use-event.js +1 -1
- package/es/_internal/hooks/use-is-first-render.js +1 -1
- package/es/_internal/hooks/use-sync-ref.js +1 -1
- package/es/_internal/hooks/use-timer/index.js +1 -1
- package/es/_internal/hooks/use-timer/timer.js +1 -1
- package/es/_internal/hooks/use-timer/use-timer.js +1 -1
- package/es/_internal/hooks/use-update-effect.js +1 -1
- package/es/_internal/hooks/use-warn.js +1 -1
- package/es/_internal/index.js +1 -1
- package/es/components/Block.js +1 -1
- package/es/components/CollectionItem.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/OpenTrasition.js +1 -1
- package/es/components/Root.js +1 -1
- package/es/components/actions/Action/Action.js +1 -1
- package/es/components/actions/Button/Button.js +1 -1
- package/es/components/actions/Button/index.js +1 -1
- package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/es/components/actions/CommandMenu/index.js +1 -1
- package/es/components/actions/CommandMenu/styled.js +1 -1
- package/es/components/actions/ItemAction/ItemAction.js +1 -1
- package/es/components/actions/ItemAction/index.js +1 -1
- package/es/components/actions/ItemActionContext.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/Link/Link.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/Disclosure/Disclosure.js +1 -1
- package/es/components/content/Disclosure/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/Item/Item.js +1 -1
- package/es/components/content/Item/index.js +1 -1
- package/es/components/content/ItemBadge/ItemBadge.js +1 -1
- package/es/components/content/ItemBadge/index.js +1 -1
- package/es/components/content/Layout/GridLayout.js +1 -1
- package/es/components/content/Layout/Layout.js +1 -1
- package/es/components/content/Layout/LayoutBlock.js +1 -1
- package/es/components/content/Layout/LayoutCenter.js +1 -1
- package/es/components/content/Layout/LayoutContainer.js +1 -1
- package/es/components/content/Layout/LayoutContent.js +1 -1
- package/es/components/content/Layout/LayoutContext.js +1 -1
- package/es/components/content/Layout/LayoutFlex.js +1 -1
- package/es/components/content/Layout/LayoutFooter.js +1 -1
- package/es/components/content/Layout/LayoutGrid.js +1 -1
- package/es/components/content/Layout/LayoutHeader.js +1 -1
- package/es/components/content/Layout/LayoutPane.js +1 -1
- package/es/components/content/Layout/LayoutPanel.js +1 -1
- package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/es/components/content/Layout/LayoutToolbar.js +1 -1
- package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/es/components/content/Layout/index.js +1 -1
- package/es/components/content/Layout/utils.js +1 -1
- package/es/components/content/List/SectionHeading.js +1 -1
- package/es/components/content/List/index.js +1 -1
- package/es/components/content/Paragraph.js +1 -1
- package/es/components/content/Placeholder/Placeholder.js +1 -1
- package/es/components/content/PrismCode/PrismCode.js +1 -1
- package/es/components/content/PrismCode/prismSetup.js +1 -1
- package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/es/components/content/Result/Result.js +1 -1
- package/es/components/content/Skeleton/Skeleton.js +1 -1
- package/es/components/content/Tag/Tag.js +1 -1
- package/es/components/content/Text.js +1 -1
- package/es/components/content/TextItem/TextItem.js +1 -1
- package/es/components/content/TextItem/index.js +1 -1
- package/es/components/content/Title.js +1 -1
- package/es/components/content/highlightText.js +1 -1
- package/es/components/content/use-auto-tooltip.js +1 -1
- package/es/components/fields/Checkbox/Checkbox.js +1 -1
- package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/es/components/fields/Checkbox/context.js +1 -1
- package/es/components/fields/Checkbox/index.js +1 -1
- package/es/components/fields/ComboBox/ComboBox.js +1 -1
- package/es/components/fields/ComboBox/index.js +1 -1
- package/es/components/fields/DatePicker/DateInput.js +1 -1
- package/es/components/fields/DatePicker/DateInputBase.js +1 -1
- package/es/components/fields/DatePicker/DatePicker.js +1 -1
- package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
- package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
- package/es/components/fields/DatePicker/TimeInput.js +1 -1
- package/es/components/fields/DatePicker/index.js +1 -1
- package/es/components/fields/DatePicker/intl.js +1 -1
- package/es/components/fields/DatePicker/parseDate.js +1 -1
- package/es/components/fields/DatePicker/props.js +1 -1
- package/es/components/fields/DatePicker/types.js +1 -1
- package/es/components/fields/DatePicker/utils.js +1 -1
- package/es/components/fields/FileInput/FileInput.js +1 -1
- package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/es/components/fields/FilterListBox/index.js +1 -1
- package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
- package/es/components/fields/FilterPicker/index.js +1 -1
- package/es/components/fields/Input/Input.js +1 -1
- package/es/components/fields/Input/index.js +1 -1
- package/es/components/fields/ListBox/ListBox.js +1 -1
- package/es/components/fields/ListBox/index.js +1 -1
- package/es/components/fields/NumberInput/NumberInput.js +1 -1
- package/es/components/fields/NumberInput/StepButton.js +1 -1
- package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/es/components/fields/Picker/Picker.js +1 -1
- package/es/components/fields/Picker/index.js +1 -1
- package/es/components/fields/RadioGroup/Radio.js +1 -1
- package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/es/components/fields/RadioGroup/context.js +1 -1
- package/es/components/fields/RadioGroup/index.js +1 -1
- package/es/components/fields/SearchInput/SearchInput.js +1 -1
- package/es/components/fields/SearchInput/index.js +1 -1
- package/es/components/fields/Select/Select.js +1 -1
- package/es/components/fields/Select/index.js +1 -1
- package/es/components/fields/Slider/Gradation.js +1 -1
- package/es/components/fields/Slider/Header.js +1 -1
- package/es/components/fields/Slider/RangeSlider.js +1 -1
- package/es/components/fields/Slider/Slider.js +1 -1
- package/es/components/fields/Slider/SliderBase.js +1 -1
- package/es/components/fields/Slider/SliderInput.js +1 -1
- package/es/components/fields/Slider/SliderThumb.js +1 -1
- package/es/components/fields/Slider/SliderTrack.js +1 -1
- package/es/components/fields/Slider/elements.js +1 -1
- package/es/components/fields/Slider/index.js +1 -1
- package/es/components/fields/Slider/types.js +1 -1
- package/es/components/fields/Switch/Switch.js +1 -1
- package/es/components/fields/Switch/index.js +1 -1
- package/es/components/fields/TextArea/TextArea.js +1 -1
- package/es/components/fields/TextArea/index.js +1 -1
- package/es/components/fields/TextInput/TextInput.js +1 -1
- package/es/components/fields/TextInput/TextInputBase.js +1 -1
- package/es/components/fields/TextInput/index.js +1 -1
- package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/es/components/fields/TextInputMapper/index.js +1 -1
- package/es/components/fields/index.js +1 -1
- package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
- package/es/components/form/FieldWrapper/index.js +1 -1
- package/es/components/form/FieldWrapper/types.js +1 -1
- package/es/components/form/Form/Field.js +1 -1
- package/es/components/form/Form/Form.js +1 -1
- package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/es/components/form/Form/ResetButton/index.js +1 -1
- package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/es/components/form/Form/SubmitButton/index.js +1 -1
- package/es/components/form/Form/SubmitError.js +1 -1
- package/es/components/form/Form/index.js +1 -1
- package/es/components/form/Form/types.js +1 -1
- package/es/components/form/Form/use-field/index.js +1 -1
- package/es/components/form/Form/use-field/types.js +1 -1
- package/es/components/form/Form/use-field/use-field-props.js +1 -1
- package/es/components/form/Form/use-field/use-field.js +1 -1
- package/es/components/form/Form/use-form.js +1 -1
- package/es/components/form/Form/validation.js +1 -1
- package/es/components/form/Label.js +1 -1
- package/es/components/form/index.js +1 -1
- package/es/components/form/wrapper.js +1 -1
- package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/es/components/helpers/DisplayTransition/index.js +1 -1
- package/es/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/es/components/helpers/index.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/organisms/FileTabs/FileTabs.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/NotificationsDialogContext.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/ChartHeatmapIcon.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/ColumnTotalIcon.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/CubePauseIcon.js +1 -1
- package/es/icons/CubePlayIcon.js +1 -1
- package/es/icons/CurrencyDollarIcon.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/DecimalDecreaseIcon.js +1 -1
- package/es/icons/DecimalIncreaseIcon.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/HierarchyOpenIcon.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/Number123Icon.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/PercentageIcon.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/ProgressBarIcon.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/RowTotalsIcon.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/SubtotalsIcon.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/TrashIcon.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/providers/navigation.types.js +1 -1
- package/es/providers/navigationAdapter.default.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/SimpleLayout.stories.js +1 -1
- package/es/stories/Tasty.stories.js +1 -1
- package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
- package/es/stories/components/DialogFormApp.js +1 -1
- package/es/stories/components/StyledButton.js +1 -1
- package/es/stories/lists/baseProps.js +1 -1
- package/es/stories/playground/PlaygroundEditor.js +1 -1
- package/es/stories/playground/PlaygroundLayout.js +1 -1
- package/es/stories/playground/PlaygroundOutput.js +1 -1
- package/es/stories/playground/PlaygroundPreview.js +1 -1
- package/es/stories/playground/components/Button.js +1 -1
- package/es/stories/playground/components/Card.js +1 -1
- package/es/stories/playground/components/ScrollProgress.js +1 -1
- package/es/stories/playground/examples.js +1 -1
- package/es/tasty/chunks/cacheKey.js +1 -1
- package/es/tasty/chunks/definitions.js +1 -1
- package/es/tasty/chunks/index.js +1 -1
- package/es/tasty/chunks/renderChunk.js +1 -1
- package/es/tasty/config.js +1 -1
- package/es/tasty/debug.js +1 -1
- package/es/tasty/hooks/index.js +1 -1
- package/es/tasty/hooks/useGlobalStyles.js +1 -1
- package/es/tasty/hooks/useRawCSS.js +1 -1
- package/es/tasty/hooks/useStyles.js +1 -1
- package/es/tasty/index.js +1 -1
- package/es/tasty/injector/index.js +1 -1
- package/es/tasty/injector/injector.js +1 -1
- package/es/tasty/injector/sheet-manager.js +1 -1
- package/es/tasty/injector/types.js +1 -1
- package/es/tasty/keyframes/index.js +1 -1
- package/es/tasty/parser/classify.js +1 -1
- package/es/tasty/parser/const.js +1 -1
- package/es/tasty/parser/lru.js +1 -1
- package/es/tasty/parser/parser.js +1 -1
- package/es/tasty/parser/tokenizer.js +1 -1
- package/es/tasty/parser/types.js +1 -1
- package/es/tasty/pipeline/conditions.js +1 -1
- package/es/tasty/pipeline/exclusive.js +1 -1
- package/es/tasty/pipeline/index.js +1 -1
- package/es/tasty/pipeline/materialize.js +1 -1
- package/es/tasty/pipeline/parseStateKey.js +1 -1
- package/es/tasty/pipeline/simplify.js +1 -1
- package/es/tasty/plugins/index.js +1 -1
- package/es/tasty/plugins/okhsl-plugin.js +1 -1
- package/es/tasty/plugins/types.js +1 -1
- package/es/tasty/states/index.js +1 -1
- package/es/tasty/static/index.js +1 -1
- package/es/tasty/static/tastyStatic.js +1 -1
- package/es/tasty/static/types.js +1 -1
- package/es/tasty/styles/align.js +1 -1
- package/es/tasty/styles/border.js +1 -1
- package/es/tasty/styles/boxShadow.combinator.js +1 -1
- package/es/tasty/styles/color.js +1 -1
- package/es/tasty/styles/createStyle.js +1 -1
- package/es/tasty/styles/dimension.js +1 -1
- package/es/tasty/styles/display.js +1 -1
- package/es/tasty/styles/fade.js +1 -1
- package/es/tasty/styles/fill.js +1 -1
- package/es/tasty/styles/flow.js +1 -1
- package/es/tasty/styles/font.js +1 -1
- package/es/tasty/styles/fontStyle.js +1 -1
- package/es/tasty/styles/gap.js +1 -1
- package/es/tasty/styles/groupRadius.js +1 -1
- package/es/tasty/styles/height.js +1 -1
- package/es/tasty/styles/index.js +1 -1
- package/es/tasty/styles/inset.js +1 -1
- package/es/tasty/styles/justify.js +1 -1
- package/es/tasty/styles/list.js +1 -1
- package/es/tasty/styles/margin.js +1 -1
- package/es/tasty/styles/outline.js +1 -1
- package/es/tasty/styles/padding.js +1 -1
- package/es/tasty/styles/place.js +1 -1
- package/es/tasty/styles/predefined.js +1 -1
- package/es/tasty/styles/preset.js +1 -1
- package/es/tasty/styles/radius.js +1 -1
- package/es/tasty/styles/reset.js +1 -1
- package/es/tasty/styles/scrollbar.js +1 -1
- package/es/tasty/styles/shadow.js +1 -1
- package/es/tasty/styles/styledScrollbar.js +1 -1
- package/es/tasty/styles/transition.js +1 -1
- package/es/tasty/styles/types.js +1 -1
- package/es/tasty/styles/width.js +1 -1
- package/es/tasty/tasty.js +1 -1
- package/es/tasty/types.js +1 -1
- package/es/tasty/utils/cache-wrapper.js +1 -1
- package/es/tasty/utils/case-converter.js +1 -1
- package/es/tasty/utils/colors.js +1 -1
- package/es/tasty/utils/dotize.js +1 -1
- package/es/tasty/utils/filterBaseProps.js +1 -1
- package/es/tasty/utils/getDisplayName.js +1 -1
- package/es/tasty/utils/isDevEnv.js +1 -1
- package/es/tasty/utils/mergeStyles.js +1 -1
- package/es/tasty/utils/modAttrs.js +1 -1
- package/es/tasty/utils/processTokens.js +1 -1
- package/es/tasty/utils/string.js +1 -1
- package/es/tasty/utils/styles.js +1 -1
- package/es/tasty/utils/typography.js +1 -1
- package/es/tasty/utils/warnings.js +1 -1
- package/es/tasty/zero/babel.js +66 -14
- package/es/tasty/zero/css-writer.js +1 -1
- package/es/tasty/zero/extractor.js +85 -1
- package/es/tasty/zero/index.js +1 -1
- package/es/tasty/zero/next.js +1 -1
- package/es/tokens/base.js +1 -1
- package/es/tokens/colors.js +1 -1
- package/es/tokens/index.js +1 -1
- package/es/tokens/layout.js +1 -1
- package/es/tokens/shadows.js +1 -1
- package/es/tokens/sizes.js +1 -1
- package/es/tokens/spacing.js +1 -1
- package/es/tokens/typography.js +1 -1
- package/es/utils/ResizeSensor.js +1 -1
- package/es/utils/index.js +1 -1
- 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 +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/resolveIcon.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/useLocalStorage.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/tree.js +1 -1
- package/es/utils/warnings.js +1 -1
- package/es/version.js +2 -2
- package/package.json +1 -1
- package/types/tasty/zero/extractor.d.ts +21 -0
package/es/tasty/styles/types.js
CHANGED
package/es/tasty/styles/width.js
CHANGED
package/es/tasty/tasty.js
CHANGED
package/es/tasty/types.js
CHANGED
package/es/tasty/utils/colors.js
CHANGED
package/es/tasty/utils/dotize.js
CHANGED
package/es/tasty/utils/string.js
CHANGED
package/es/tasty/utils/styles.js
CHANGED
package/es/tasty/zero/babel.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-0776b49
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -29,7 +29,7 @@ import { setGlobalPredefinedStates } from '../states/index.js';
|
|
|
29
29
|
import { mergeStyles } from '../utils/mergeStyles.js';
|
|
30
30
|
import { CUSTOM_UNITS, getGlobalFuncs, getGlobalParser } from '../utils/styles.js';
|
|
31
31
|
import { CSSWriter } from './css-writer.js';
|
|
32
|
-
import { extractStylesForSelector, extractStylesWithChunks } from './extractor.js';
|
|
32
|
+
import { extractKeyframesFromStyles, extractStylesForSelector, extractStylesWithChunks, } from './extractor.js';
|
|
33
33
|
export default declare((api, options) => {
|
|
34
34
|
api.assertVersion(7);
|
|
35
35
|
const outputPath = options.output || 'tasty.css';
|
|
@@ -91,15 +91,15 @@ export default declare((api, options) => {
|
|
|
91
91
|
const firstArg = args[0];
|
|
92
92
|
if (t.isStringLiteral(firstArg)) {
|
|
93
93
|
// Selector mode: tastyStatic(selector, styles)
|
|
94
|
-
handleSelectorMode(path, args, cssWriter, state.sourceFile);
|
|
94
|
+
handleSelectorMode(path, args, cssWriter, state.sourceFile, config.keyframes);
|
|
95
95
|
}
|
|
96
96
|
else if (t.isObjectExpression(firstArg)) {
|
|
97
97
|
// Styles mode: tastyStatic(styles)
|
|
98
|
-
handleStylesMode(path, args, cssWriter, state, globalRegistry);
|
|
98
|
+
handleStylesMode(path, args, cssWriter, state, globalRegistry, config.keyframes);
|
|
99
99
|
}
|
|
100
100
|
else if (t.isIdentifier(firstArg)) {
|
|
101
101
|
// Extension mode: tastyStatic(base, styles)
|
|
102
|
-
handleExtensionMode(path, args, cssWriter, state, globalRegistry);
|
|
102
|
+
handleExtensionMode(path, args, cssWriter, state, globalRegistry, config.keyframes);
|
|
103
103
|
}
|
|
104
104
|
else {
|
|
105
105
|
throw path.buildCodeFrameError('tastyStatic() first argument must be an object (styles), ' +
|
|
@@ -169,18 +169,27 @@ function extractClassNameFromStaticStyleObject(node) {
|
|
|
169
169
|
/**
|
|
170
170
|
* Handle tastyStatic(styles) - returns StaticStyle object
|
|
171
171
|
*/
|
|
172
|
-
function handleStylesMode(path, args, cssWriter, state, globalRegistry) {
|
|
172
|
+
function handleStylesMode(path, args, cssWriter, state, globalRegistry, globalKeyframes) {
|
|
173
173
|
const stylesArg = args[0];
|
|
174
174
|
if (!t.isObjectExpression(stylesArg)) {
|
|
175
175
|
throw path.buildCodeFrameError('tastyStatic(styles) argument must be a static object literal');
|
|
176
176
|
}
|
|
177
177
|
// Evaluate styles object at build time
|
|
178
178
|
const styles = evaluateObjectExpression(stylesArg, path);
|
|
179
|
+
// Extract keyframes (deduplicated by content)
|
|
180
|
+
const { keyframes, nameMap } = extractKeyframesFromStyles(styles, globalKeyframes);
|
|
181
|
+
// Add keyframes CSS
|
|
182
|
+
for (const kf of keyframes) {
|
|
183
|
+
cssWriter.add(kf.css, kf.css, state.sourceFile);
|
|
184
|
+
}
|
|
179
185
|
// Extract styles with chunking
|
|
180
186
|
const chunks = extractStylesWithChunks(styles);
|
|
181
|
-
// Add CSS to writer
|
|
187
|
+
// Add CSS to writer, replacing animation names if needed
|
|
182
188
|
for (const chunk of chunks) {
|
|
183
|
-
|
|
189
|
+
const css = nameMap.size > 0
|
|
190
|
+
? replaceAnimationNamesInCSS(chunk.css, nameMap)
|
|
191
|
+
: chunk.css;
|
|
192
|
+
cssWriter.add(chunk.className, css, state.sourceFile);
|
|
184
193
|
}
|
|
185
194
|
// Generate className
|
|
186
195
|
const className = chunks.length > 0 ? chunks.map((c) => c.className).join(' ') : '';
|
|
@@ -193,7 +202,7 @@ function handleStylesMode(path, args, cssWriter, state, globalRegistry) {
|
|
|
193
202
|
/**
|
|
194
203
|
* Handle tastyStatic(base, styles) - extends base with additional styles
|
|
195
204
|
*/
|
|
196
|
-
function handleExtensionMode(path, args, cssWriter, state, globalRegistry) {
|
|
205
|
+
function handleExtensionMode(path, args, cssWriter, state, globalRegistry, globalKeyframes) {
|
|
197
206
|
if (args.length < 2) {
|
|
198
207
|
throw path.buildCodeFrameError('tastyStatic(base, styles) requires two arguments');
|
|
199
208
|
}
|
|
@@ -216,11 +225,20 @@ function handleExtensionMode(path, args, cssWriter, state, globalRegistry) {
|
|
|
216
225
|
const overrideStyles = evaluateObjectExpression(stylesArg, path);
|
|
217
226
|
// Merge styles using mergeStyles
|
|
218
227
|
const mergedStyles = mergeStyles(baseEntry.styles, overrideStyles);
|
|
228
|
+
// Extract keyframes (deduplicated by content)
|
|
229
|
+
const { keyframes, nameMap } = extractKeyframesFromStyles(mergedStyles, globalKeyframes);
|
|
230
|
+
// Add keyframes CSS
|
|
231
|
+
for (const kf of keyframes) {
|
|
232
|
+
cssWriter.add(kf.css, kf.css, state.sourceFile);
|
|
233
|
+
}
|
|
219
234
|
// Extract styles with chunking
|
|
220
235
|
const chunks = extractStylesWithChunks(mergedStyles);
|
|
221
|
-
// Add CSS to writer
|
|
236
|
+
// Add CSS to writer, replacing animation names if needed
|
|
222
237
|
for (const chunk of chunks) {
|
|
223
|
-
|
|
238
|
+
const css = nameMap.size > 0
|
|
239
|
+
? replaceAnimationNamesInCSS(chunk.css, nameMap)
|
|
240
|
+
: chunk.css;
|
|
241
|
+
cssWriter.add(chunk.className, css, state.sourceFile);
|
|
224
242
|
}
|
|
225
243
|
// Generate className
|
|
226
244
|
const className = chunks.length > 0 ? chunks.map((c) => c.className).join(' ') : '';
|
|
@@ -233,7 +251,7 @@ function handleExtensionMode(path, args, cssWriter, state, globalRegistry) {
|
|
|
233
251
|
/**
|
|
234
252
|
* Handle tastyStatic(selector, styles) - removes the call entirely
|
|
235
253
|
*/
|
|
236
|
-
function handleSelectorMode(path, args, cssWriter, sourceFile) {
|
|
254
|
+
function handleSelectorMode(path, args, cssWriter, sourceFile, globalKeyframes) {
|
|
237
255
|
if (args.length < 2) {
|
|
238
256
|
throw path.buildCodeFrameError('tastyStatic(selector, styles) requires two arguments');
|
|
239
257
|
}
|
|
@@ -247,10 +265,19 @@ function handleSelectorMode(path, args, cssWriter, sourceFile) {
|
|
|
247
265
|
}
|
|
248
266
|
const selector = selectorArg.value;
|
|
249
267
|
const styles = evaluateObjectExpression(stylesArg, path);
|
|
268
|
+
// Extract keyframes (deduplicated by content)
|
|
269
|
+
const { keyframes, nameMap } = extractKeyframesFromStyles(styles, globalKeyframes);
|
|
270
|
+
// Add keyframes CSS
|
|
271
|
+
for (const kf of keyframes) {
|
|
272
|
+
cssWriter.add(kf.css, kf.css, sourceFile);
|
|
273
|
+
}
|
|
250
274
|
// Extract styles for selector
|
|
251
275
|
const result = extractStylesForSelector(selector, styles);
|
|
252
|
-
//
|
|
253
|
-
|
|
276
|
+
// Replace animation names if needed and add CSS
|
|
277
|
+
const css = nameMap.size > 0
|
|
278
|
+
? replaceAnimationNamesInCSS(result.css, nameMap)
|
|
279
|
+
: result.css;
|
|
280
|
+
cssWriter.add(selector, css, sourceFile);
|
|
254
281
|
// Remove the entire statement
|
|
255
282
|
const parent = path.parentPath;
|
|
256
283
|
if (parent && t.isExpressionStatement(parent.node)) {
|
|
@@ -397,5 +424,30 @@ function evaluateExpression(node, path) {
|
|
|
397
424
|
throw path.buildCodeFrameError(`Dynamic expressions are not supported in tastyStatic() - got ${node.type}. ` +
|
|
398
425
|
'All values must be static literals.');
|
|
399
426
|
}
|
|
427
|
+
/**
|
|
428
|
+
* Replace animation names in CSS string.
|
|
429
|
+
* Wraps the keyframes replaceAnimationNames to work on full CSS blocks.
|
|
430
|
+
*/
|
|
431
|
+
function replaceAnimationNamesInCSS(css, nameMap) {
|
|
432
|
+
if (nameMap.size === 0)
|
|
433
|
+
return css;
|
|
434
|
+
// The CSS contains full rules like ".class { animation: name 1s; }"
|
|
435
|
+
// We need to replace animation names within declaration blocks
|
|
436
|
+
return css.replace(/(animation(?:-name)?)\s*:\s*([^;}]+)/gi, (match, prop, value) => {
|
|
437
|
+
let newValue = value;
|
|
438
|
+
for (const [original, replacement] of nameMap) {
|
|
439
|
+
// Word boundary replacement
|
|
440
|
+
const pattern = new RegExp(`\\b${escapeRegex(original)}\\b`, 'g');
|
|
441
|
+
newValue = newValue.replace(pattern, replacement);
|
|
442
|
+
}
|
|
443
|
+
return `${prop}: ${newValue}`;
|
|
444
|
+
});
|
|
445
|
+
}
|
|
446
|
+
/**
|
|
447
|
+
* Escape special regex characters.
|
|
448
|
+
*/
|
|
449
|
+
function escapeRegex(str) {
|
|
450
|
+
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
451
|
+
}
|
|
400
452
|
|
|
401
453
|
|
|
@@ -1,12 +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-0776b49
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { createHash } from 'crypto';
|
|
9
9
|
import { categorizeStyleKeys, generateChunkCacheKey, renderStylesForChunk, } from '../chunks/index.js';
|
|
10
|
+
import { extractAnimationNamesFromStyles, extractLocalKeyframes, filterUsedKeyframes, hasLocalKeyframes, mergeKeyframes, } from '../keyframes/index.js';
|
|
10
11
|
import { renderStyles } from '../pipeline/index.js';
|
|
11
12
|
/**
|
|
12
13
|
* Generate a deterministic className from a cache key using content hash.
|
|
@@ -134,5 +135,88 @@ function formatRulesDirectly(rules) {
|
|
|
134
135
|
}
|
|
135
136
|
// Note: With hash-based className generation, counter management functions
|
|
136
137
|
// are no longer needed. ClassNames are deterministic based on content.
|
|
138
|
+
/**
|
|
139
|
+
* Generate a deterministic keyframes name from content hash.
|
|
140
|
+
* This ensures the same keyframes content always produces the same name,
|
|
141
|
+
* enabling automatic deduplication across elements and files.
|
|
142
|
+
*/
|
|
143
|
+
function generateKeyframesName(steps) {
|
|
144
|
+
const content = JSON.stringify(steps);
|
|
145
|
+
const hash = createHash('md5').update(content).digest('hex').slice(0, 6);
|
|
146
|
+
return `kf${hash}`; // 'kf' prefix for "keyframes"
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Extract keyframes that are used in styles.
|
|
150
|
+
* Merges local @keyframes with global keyframes, filters to only used ones.
|
|
151
|
+
* Generates hash-based names from content for automatic deduplication.
|
|
152
|
+
*
|
|
153
|
+
* @param styles - The styles object (may contain @keyframes and animation properties)
|
|
154
|
+
* @param globalKeyframes - Optional global keyframes from config
|
|
155
|
+
* @returns Keyframes to inject and name mapping for replacement
|
|
156
|
+
*/
|
|
157
|
+
export function extractKeyframesFromStyles(styles, globalKeyframes) {
|
|
158
|
+
const emptyResult = {
|
|
159
|
+
keyframes: [],
|
|
160
|
+
nameMap: new Map(),
|
|
161
|
+
};
|
|
162
|
+
// Extract animation names from styles
|
|
163
|
+
const usedNames = extractAnimationNamesFromStyles(styles);
|
|
164
|
+
if (usedNames.size === 0)
|
|
165
|
+
return emptyResult;
|
|
166
|
+
// Merge local and global keyframes
|
|
167
|
+
const local = hasLocalKeyframes(styles)
|
|
168
|
+
? extractLocalKeyframes(styles)
|
|
169
|
+
: null;
|
|
170
|
+
const allKeyframes = mergeKeyframes(local, globalKeyframes ?? null);
|
|
171
|
+
// Filter to only used keyframes
|
|
172
|
+
const usedKeyframes = filterUsedKeyframes(allKeyframes, usedNames);
|
|
173
|
+
if (!usedKeyframes)
|
|
174
|
+
return emptyResult;
|
|
175
|
+
// Generate hash-based names and collect unique keyframes
|
|
176
|
+
const seenHashes = new Set();
|
|
177
|
+
const nameMap = new Map();
|
|
178
|
+
const keyframesToEmit = [];
|
|
179
|
+
for (const [originalName, steps] of Object.entries(usedKeyframes)) {
|
|
180
|
+
const hashedName = generateKeyframesName(steps);
|
|
181
|
+
// Always map original name to hashed name (for CSS replacement)
|
|
182
|
+
nameMap.set(originalName, hashedName);
|
|
183
|
+
// Only emit each unique keyframe once
|
|
184
|
+
if (!seenHashes.has(hashedName)) {
|
|
185
|
+
seenHashes.add(hashedName);
|
|
186
|
+
const css = keyframesToCSS(hashedName, steps);
|
|
187
|
+
keyframesToEmit.push({ name: hashedName, css });
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return { keyframes: keyframesToEmit, nameMap };
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Convert keyframes steps to CSS string.
|
|
194
|
+
*/
|
|
195
|
+
function keyframesToCSS(name, steps) {
|
|
196
|
+
const stepRules = [];
|
|
197
|
+
for (const [key, value] of Object.entries(steps)) {
|
|
198
|
+
if (typeof value === 'string') {
|
|
199
|
+
// Raw CSS string
|
|
200
|
+
stepRules.push(`${key} { ${value.trim()} }`);
|
|
201
|
+
}
|
|
202
|
+
else if (value && typeof value === 'object') {
|
|
203
|
+
// Style map - convert to CSS declarations
|
|
204
|
+
const declarations = Object.entries(value)
|
|
205
|
+
.map(([prop, val]) => {
|
|
206
|
+
const cssProperty = camelToKebab(prop);
|
|
207
|
+
return `${cssProperty}: ${val}`;
|
|
208
|
+
})
|
|
209
|
+
.join('; ');
|
|
210
|
+
stepRules.push(`${key} { ${declarations} }`);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
return `@keyframes ${name} { ${stepRules.join(' ')} }`;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Convert camelCase to kebab-case.
|
|
217
|
+
*/
|
|
218
|
+
function camelToKebab(str) {
|
|
219
|
+
return str.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);
|
|
220
|
+
}
|
|
137
221
|
|
|
138
222
|
|
package/es/tasty/zero/index.js
CHANGED
package/es/tasty/zero/next.js
CHANGED
package/es/tokens/base.js
CHANGED
package/es/tokens/colors.js
CHANGED
package/es/tokens/index.js
CHANGED
package/es/tokens/layout.js
CHANGED
package/es/tokens/shadows.js
CHANGED
package/es/tokens/sizes.js
CHANGED
package/es/tokens/spacing.js
CHANGED
package/es/tokens/typography.js
CHANGED
package/es/utils/ResizeSensor.js
CHANGED
package/es/utils/index.js
CHANGED
package/es/utils/modules.js
CHANGED
package/es/utils/promise.js
CHANGED
package/es/utils/raf.js
CHANGED
package/es/utils/random.js
CHANGED