@cube-dev/ui-kit 0.0.0-canary-da1f163 → 0.0.0-canary-7f29fb4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/_internal/hooks/index.js +1 -1
- package/es/_internal/hooks/use-chained-callback.js +1 -1
- package/es/_internal/hooks/use-debounced-value.js +1 -1
- package/es/_internal/hooks/use-deprecation-warning.js +1 -1
- package/es/_internal/hooks/use-effect-once.js +1 -1
- package/es/_internal/hooks/use-event.js +1 -1
- package/es/_internal/hooks/use-is-first-render.js +1 -1
- package/es/_internal/hooks/use-sync-ref.js +1 -1
- package/es/_internal/hooks/use-timer/index.js +1 -1
- package/es/_internal/hooks/use-timer/timer.js +1 -1
- package/es/_internal/hooks/use-timer/use-timer.js +1 -1
- package/es/_internal/hooks/use-update-effect.js +1 -1
- package/es/_internal/hooks/use-warn.js +1 -1
- package/es/_internal/index.js +1 -1
- package/es/components/Block.js +1 -1
- package/es/components/GlobalStyles.js +1 -1
- package/es/components/GridProvider.js +1 -1
- package/es/components/HiddenInput.js +1 -1
- package/es/components/Item.js +1 -1
- package/es/components/OpenTrasition.js +1 -1
- package/es/components/Root.js +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 +3 -8
- package/es/components/actions/Menu/MenuSection.js +1 -1
- package/es/components/actions/Menu/MenuTrigger.js +1 -1
- package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/es/components/actions/Menu/context.js +1 -1
- package/es/components/actions/Menu/index.js +1 -1
- package/es/components/actions/Menu/styled.js +1 -1
- package/es/components/actions/index.js +1 -1
- package/es/components/actions/use-action.js +1 -1
- package/es/components/actions/use-anchored-menu.js +1 -1
- package/es/components/actions/use-context-menu.js +1 -1
- package/es/components/content/ActiveZone/ActiveZone.js +1 -1
- package/es/components/content/Alert/Alert.js +1 -1
- package/es/components/content/Alert/index.js +1 -1
- package/es/components/content/Alert/types.js +1 -1
- package/es/components/content/Alert/use-alert.js +1 -1
- package/es/components/content/Avatar/Avatar.js +1 -1
- package/es/components/content/Badge/Badge.js +1 -1
- package/es/components/content/Card/Card.js +1 -1
- package/es/components/content/Content.js +1 -1
- package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/es/components/content/CopyPasteBlock/index.js +1 -1
- package/es/components/content/CopySnippet/CopySnippet.js +1 -1
- package/es/components/content/CopySnippet/index.js +1 -1
- package/es/components/content/Divider.js +1 -1
- package/es/components/content/Footer.js +1 -1
- package/es/components/content/Header.js +1 -1
- package/es/components/content/HotKeys/HotKeys.js +1 -1
- package/es/components/content/HotKeys/index.js +1 -1
- package/es/components/content/ItemBase/ItemBase.js +6 -5
- 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/debug.js +572 -0
- package/es/tasty/index.js +3 -1
- package/es/tasty/injector/flatten.js +350 -0
- package/es/tasty/injector/index.js +165 -0
- package/es/tasty/injector/injector.js +336 -0
- package/es/tasty/injector/sheet-manager.js +737 -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 +789 -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/debug.d.ts +133 -0
- package/types/tasty/index.d.ts +2 -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 +105 -0
- package/types/tasty/injector/types.d.ts +105 -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
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Debug utilities for inspecting tasty-generated CSS at runtime
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Debug utilities for inspecting tasty styles in runtime applications
|
|
6
|
+
*/
|
|
7
|
+
export declare const tastyDebug: {
|
|
8
|
+
/** Resolve the document where tasty styles live (handles Storybook iframe). */
|
|
9
|
+
_resolveRoot(): Document | ShadowRoot;
|
|
10
|
+
/**
|
|
11
|
+
* Get CSS for a specific tasty class (e.g., 't24')
|
|
12
|
+
*/
|
|
13
|
+
getCSSForClass(className: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Get CSS for multiple tasty classes
|
|
16
|
+
*/
|
|
17
|
+
getCSSForClasses(classNames: string[]): string;
|
|
18
|
+
/**
|
|
19
|
+
* Get detailed batched selector groups that affect a specific tasty class.
|
|
20
|
+
* Includes selector, declarations, at-rules and the full class list in the group.
|
|
21
|
+
*/
|
|
22
|
+
getBatchedGroupsForClass(className: string): Array<{
|
|
23
|
+
selector: string;
|
|
24
|
+
declarations: string;
|
|
25
|
+
atRules?: string[];
|
|
26
|
+
classes: string[];
|
|
27
|
+
css: string;
|
|
28
|
+
}>;
|
|
29
|
+
/**
|
|
30
|
+
* List classes that participate in at least one batched group
|
|
31
|
+
*/
|
|
32
|
+
findClassesWithBatches(): string[];
|
|
33
|
+
/**
|
|
34
|
+
* List a brief summary of existing batched groups
|
|
35
|
+
*/
|
|
36
|
+
listBatchedGroups(limit?: number): Array<{
|
|
37
|
+
key: string;
|
|
38
|
+
size: number;
|
|
39
|
+
sampleSelector: string;
|
|
40
|
+
}>;
|
|
41
|
+
/**
|
|
42
|
+
* Log CSS for a specific tasty class (e.g., 't24') to console
|
|
43
|
+
*/
|
|
44
|
+
logCSSForClass(className: string): void;
|
|
45
|
+
/**
|
|
46
|
+
* Log CSS for multiple tasty classes to console
|
|
47
|
+
*/
|
|
48
|
+
logCSSForClasses(classNames: string[]): void;
|
|
49
|
+
/**
|
|
50
|
+
* Inspect an element by CSS selector and get its tasty CSS
|
|
51
|
+
*/
|
|
52
|
+
inspectElement(selector: string): string;
|
|
53
|
+
/**
|
|
54
|
+
* Inspect a DOM element directly and get its tasty CSS
|
|
55
|
+
*/
|
|
56
|
+
inspectDOMElement(element: Element): string;
|
|
57
|
+
/**
|
|
58
|
+
* Get all tasty CSS currently injected into the page
|
|
59
|
+
*/
|
|
60
|
+
getAllCSS(): string;
|
|
61
|
+
/**
|
|
62
|
+
* Find all tasty classes used in the page (in DOM)
|
|
63
|
+
*/
|
|
64
|
+
findAllTastyClasses(): string[];
|
|
65
|
+
/**
|
|
66
|
+
* Find all tasty classes that have styles in the stylesheet (used + unused)
|
|
67
|
+
*/
|
|
68
|
+
findAllStyledClasses(): string[];
|
|
69
|
+
/**
|
|
70
|
+
* Get active vs cached class breakdown
|
|
71
|
+
*/
|
|
72
|
+
getClassUsage(): {
|
|
73
|
+
activeClasses: string[];
|
|
74
|
+
cachedClasses: string[];
|
|
75
|
+
totalStyledClasses: string[];
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Get a comprehensive summary of all tasty styles
|
|
79
|
+
*/
|
|
80
|
+
getSummary(): {
|
|
81
|
+
activeClasses: string[];
|
|
82
|
+
cachedClasses: string[];
|
|
83
|
+
totalStyledClasses: string[];
|
|
84
|
+
activeCSSSize: number;
|
|
85
|
+
cachedCSSSize: number;
|
|
86
|
+
totalCSSSize: number;
|
|
87
|
+
activeCSS: string;
|
|
88
|
+
cachedCSS: string;
|
|
89
|
+
allCSS: string;
|
|
90
|
+
metrics: any;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Helper to log CSS in a readable format
|
|
94
|
+
*/
|
|
95
|
+
logCSS(css: string, title?: string): void;
|
|
96
|
+
/**
|
|
97
|
+
* Advanced inspection with detailed breakdown and statistics
|
|
98
|
+
*/
|
|
99
|
+
inspect(target: string | Element): {
|
|
100
|
+
element: Element | null;
|
|
101
|
+
tastyClasses: string[];
|
|
102
|
+
css: string;
|
|
103
|
+
cssSize: number;
|
|
104
|
+
ruleCount: number;
|
|
105
|
+
breakdown: {
|
|
106
|
+
[className: string]: {
|
|
107
|
+
css: string;
|
|
108
|
+
cssSize: number;
|
|
109
|
+
ruleCount: number;
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
stats: {
|
|
113
|
+
totalClasses: number;
|
|
114
|
+
totalRules: number;
|
|
115
|
+
totalCSSSize: number;
|
|
116
|
+
averageRulesPerClass: number;
|
|
117
|
+
averageCSSPerClass: number;
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* Get CSS for active classes only
|
|
122
|
+
*/
|
|
123
|
+
getActiveCSS(): string;
|
|
124
|
+
/**
|
|
125
|
+
* Get CSS for cached classes only
|
|
126
|
+
*/
|
|
127
|
+
getCachedCSS(): string;
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* Install tastyDebug on window object for easy access in browser console
|
|
131
|
+
* Only in non-production environments unless forced
|
|
132
|
+
*/
|
|
133
|
+
export declare function installGlobalDebug(force?: boolean): void;
|
package/types/tasty/index.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export * from './providers/BreakpointsProvider';
|
|
|
11
11
|
export * from './utils/mergeStyles';
|
|
12
12
|
export * from './utils/warnings';
|
|
13
13
|
export * from './utils/getDisplayName';
|
|
14
|
+
export * from './injector';
|
|
15
|
+
export * from './debug';
|
|
14
16
|
export type { TastyProps, GlobalTastyProps, AllBasePropsWithMods, } from './tasty';
|
|
15
17
|
export type { AllBaseProps, BaseProps, BaseStyleProps, DimensionStyleProps, ColorStyleProps, OuterStyleProps, PositionStyleProps, TextStyleProps, BlockStyleProps, ContainerStyleProps, BasePropsWithoutChildren, Props, FlowStyleProps, ShortGridStyles, GlobalStyledProps, TagName, } from './types';
|
|
16
18
|
export type { StylesInterface, Styles, StylesWithoutSelectors, NoType, Selector, SuffixForSelector, NotSelector, } from './styles/types';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FlattenedRule } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Parse and flatten nested CSS
|
|
4
|
+
* Handles &, .Class, SubElement patterns from renderStyles output
|
|
5
|
+
* Preserves at-rule context (media queries, supports, etc.)
|
|
6
|
+
*/
|
|
7
|
+
export declare function flattenNestedCss(cssText: string, baseClassName: string, atRuleStack?: string[]): FlattenedRule[];
|
|
8
|
+
/**
|
|
9
|
+
* Flatten nested CSS for a concrete selector (global styles).
|
|
10
|
+
* Unlike the className-based variant, this preserves the provided selector string as-is.
|
|
11
|
+
*/
|
|
12
|
+
export declare function flattenNestedCssForSelector(cssText: string, baseSelector: string, atRuleStack?: string[]): FlattenedRule[];
|
|
13
|
+
/**
|
|
14
|
+
* Wrap a CSS rule with at-rules (media queries, supports, etc.)
|
|
15
|
+
*/
|
|
16
|
+
export declare function wrapWithAtRules(rule: string, atRules?: string[]): string;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { StyleResult } from '../utils/renderStyles';
|
|
2
|
+
import { StyleInjector } from './injector';
|
|
3
|
+
import { DisposeFunction, InjectResult, StyleInjectorConfig } from './types';
|
|
4
|
+
declare const GLOBAL_INJECTOR_KEY = "__TASTY_GLOBAL_INJECTOR__";
|
|
5
|
+
declare global {
|
|
6
|
+
interface Window {
|
|
7
|
+
[GLOBAL_INJECTOR_KEY]?: StyleInjector;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Configure the global style injector
|
|
12
|
+
*/
|
|
13
|
+
export declare function configure(config?: Partial<StyleInjectorConfig>): void;
|
|
14
|
+
/**
|
|
15
|
+
* Inject styles and return className with dispose function
|
|
16
|
+
*/
|
|
17
|
+
export declare function inject(rules: StyleResult[], options?: {
|
|
18
|
+
root?: Document | ShadowRoot;
|
|
19
|
+
}): InjectResult;
|
|
20
|
+
/**
|
|
21
|
+
* Inject global CSS rule (legacy method - not supported in direct injector)
|
|
22
|
+
*/
|
|
23
|
+
export declare function injectGlobal(selector: string, cssText: string, options?: {
|
|
24
|
+
root?: Document | ShadowRoot;
|
|
25
|
+
}): DisposeFunction;
|
|
26
|
+
/**
|
|
27
|
+
* Get CSS text from all sheets (for SSR)
|
|
28
|
+
*/
|
|
29
|
+
export declare function getCssText(options?: {
|
|
30
|
+
root?: Document | ShadowRoot;
|
|
31
|
+
}): string;
|
|
32
|
+
/**
|
|
33
|
+
* Collect only CSS used by a rendered subtree (like jest-styled-components).
|
|
34
|
+
* Pass the container returned by render(...).
|
|
35
|
+
*/
|
|
36
|
+
export declare function getCssTextForNode(node: ParentNode | Element | DocumentFragment, options?: {
|
|
37
|
+
root?: Document | ShadowRoot;
|
|
38
|
+
}): string;
|
|
39
|
+
/**
|
|
40
|
+
* Force cleanup of unused rules
|
|
41
|
+
*/
|
|
42
|
+
export declare function cleanup(root?: Document | ShadowRoot): void;
|
|
43
|
+
/**
|
|
44
|
+
* Check if we're currently running in a test environment
|
|
45
|
+
*/
|
|
46
|
+
export declare function getIsTestEnvironment(): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Get the global injector instance for debugging
|
|
49
|
+
*/
|
|
50
|
+
export declare const injector: {
|
|
51
|
+
readonly instance: StyleInjector;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Destroy all resources and clean up
|
|
55
|
+
*/
|
|
56
|
+
export declare function destroy(root?: Document | ShadowRoot): void;
|
|
57
|
+
/**
|
|
58
|
+
* Create a new isolated injector instance
|
|
59
|
+
*/
|
|
60
|
+
export declare function createInjector(config?: Partial<StyleInjectorConfig>): StyleInjector;
|
|
61
|
+
export type { StyleInjectorConfig, InjectResult, DisposeFunction, RuleInfo, SheetInfo, RootRegistry, FlattenedRule, KeyframesInfo, UnusedRuleInfo, CacheMetrics, } from './types';
|
|
62
|
+
export { StyleInjector } from './injector';
|
|
63
|
+
export { SheetManager } from './sheet-manager';
|
|
64
|
+
export { flattenNestedCss } from './flatten';
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Style injector that works with structured style objects
|
|
3
|
+
* Eliminates CSS string parsing for better performance
|
|
4
|
+
*/
|
|
5
|
+
import { StyleResult } from '../utils/renderStyles';
|
|
6
|
+
import { DisposeFunction, InjectResult, StyleInjectorConfig } from './types';
|
|
7
|
+
export declare class StyleInjector {
|
|
8
|
+
private sheetManager;
|
|
9
|
+
private config;
|
|
10
|
+
private cleanupScheduled;
|
|
11
|
+
constructor(config?: StyleInjectorConfig);
|
|
12
|
+
/**
|
|
13
|
+
* Inject styles from StyleResult objects
|
|
14
|
+
*/
|
|
15
|
+
inject(rules: StyleResult[], options?: {
|
|
16
|
+
root?: Document | ShadowRoot;
|
|
17
|
+
}): InjectResult;
|
|
18
|
+
/**
|
|
19
|
+
* Convert StyleResult to FlattenedRule format
|
|
20
|
+
*/
|
|
21
|
+
private convertToFlattenedRules;
|
|
22
|
+
/**
|
|
23
|
+
* Extract className from rules (assumes first rule contains the base className)
|
|
24
|
+
*/
|
|
25
|
+
private extractClassName;
|
|
26
|
+
/**
|
|
27
|
+
* Generate cache key from flattened rules with optimized deduplication
|
|
28
|
+
*/
|
|
29
|
+
private generateCacheKey;
|
|
30
|
+
/**
|
|
31
|
+
* Dispose of a className
|
|
32
|
+
*/
|
|
33
|
+
private dispose;
|
|
34
|
+
/**
|
|
35
|
+
* Cleanup unused rules
|
|
36
|
+
*/
|
|
37
|
+
cleanup(root?: Document | ShadowRoot): void;
|
|
38
|
+
/**
|
|
39
|
+
* Force bulk cleanup of unused styles
|
|
40
|
+
*/
|
|
41
|
+
forceBulkCleanup(root?: Document | ShadowRoot): void;
|
|
42
|
+
/**
|
|
43
|
+
* Inject global CSS rule
|
|
44
|
+
*/
|
|
45
|
+
injectGlobal(selector: string, cssText: string, options?: {
|
|
46
|
+
root?: Document | ShadowRoot;
|
|
47
|
+
}): DisposeFunction;
|
|
48
|
+
/**
|
|
49
|
+
* Get CSS text from all sheets (for SSR)
|
|
50
|
+
*/
|
|
51
|
+
getCssText(options?: {
|
|
52
|
+
root?: Document | ShadowRoot;
|
|
53
|
+
}): string;
|
|
54
|
+
/**
|
|
55
|
+
* Get CSS only for the provided tasty classNames (e.g., ["t0","t3"])
|
|
56
|
+
*/
|
|
57
|
+
getCssTextForClasses(classNames: Iterable<string>, options?: {
|
|
58
|
+
root?: Document | ShadowRoot;
|
|
59
|
+
}): string;
|
|
60
|
+
/**
|
|
61
|
+
* Get cache performance metrics
|
|
62
|
+
*/
|
|
63
|
+
getMetrics(options?: {
|
|
64
|
+
root?: Document | ShadowRoot;
|
|
65
|
+
}): any;
|
|
66
|
+
/**
|
|
67
|
+
* Reset cache performance metrics
|
|
68
|
+
*/
|
|
69
|
+
resetMetrics(options?: {
|
|
70
|
+
root?: Document | ShadowRoot;
|
|
71
|
+
}): void;
|
|
72
|
+
/**
|
|
73
|
+
* Force cleanup of unused styles (useful for memory pressure)
|
|
74
|
+
*/
|
|
75
|
+
forceCleanupUnused(options?: {
|
|
76
|
+
root?: Document | ShadowRoot;
|
|
77
|
+
}): void;
|
|
78
|
+
/**
|
|
79
|
+
* Destroy all resources for a root
|
|
80
|
+
*/
|
|
81
|
+
destroy(root?: Document | ShadowRoot): void;
|
|
82
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { CacheMetrics, FlattenedRule, RootRegistry, RuleInfo, SheetInfo, StyleInjectorConfig } from './types';
|
|
2
|
+
export declare class SheetManager {
|
|
3
|
+
private rootRegistries;
|
|
4
|
+
private config;
|
|
5
|
+
constructor(config: StyleInjectorConfig);
|
|
6
|
+
/**
|
|
7
|
+
* Get or create registry for a root (Document or ShadowRoot)
|
|
8
|
+
*/
|
|
9
|
+
getRegistry(root: Document | ShadowRoot): RootRegistry;
|
|
10
|
+
/**
|
|
11
|
+
* Create a new stylesheet for the registry
|
|
12
|
+
*/
|
|
13
|
+
createSheet(registry: RootRegistry, root: Document | ShadowRoot): SheetInfo;
|
|
14
|
+
/**
|
|
15
|
+
* Create a style element and append to document
|
|
16
|
+
*/
|
|
17
|
+
private createStyleElement;
|
|
18
|
+
/**
|
|
19
|
+
* Insert CSS rules as a single block
|
|
20
|
+
*/
|
|
21
|
+
insertRule(registry: RootRegistry, flattenedRules: FlattenedRule[], className: string, root: Document | ShadowRoot): RuleInfo | null;
|
|
22
|
+
/**
|
|
23
|
+
* Insert global CSS rules
|
|
24
|
+
*/
|
|
25
|
+
insertGlobalRule(registry: RootRegistry, flattenedRules: FlattenedRule[], className: string, root: Document | ShadowRoot): RuleInfo | null;
|
|
26
|
+
/**
|
|
27
|
+
* Delete a CSS rule from the sheet
|
|
28
|
+
*/
|
|
29
|
+
deleteRule(registry: RootRegistry, ruleInfo: RuleInfo): void;
|
|
30
|
+
/**
|
|
31
|
+
* Find a sheet with available space or return null
|
|
32
|
+
*/
|
|
33
|
+
private findAvailableSheet;
|
|
34
|
+
/**
|
|
35
|
+
* Find an available rule index in the sheet
|
|
36
|
+
*/
|
|
37
|
+
findAvailableRuleIndex(sheet: SheetInfo): number;
|
|
38
|
+
/**
|
|
39
|
+
* Mark a ruleset as unused but keep it in the stylesheet
|
|
40
|
+
*/
|
|
41
|
+
markAsUnused(registry: RootRegistry, className: string): void;
|
|
42
|
+
/**
|
|
43
|
+
* Restore a ruleset from unused styles
|
|
44
|
+
*/
|
|
45
|
+
restoreFromUnused(registry: RootRegistry, className: string): RuleInfo | null;
|
|
46
|
+
/**
|
|
47
|
+
* Schedule bulk cleanup of all unused styles
|
|
48
|
+
*/
|
|
49
|
+
private scheduleBulkCleanup;
|
|
50
|
+
/**
|
|
51
|
+
* Perform bulk cleanup of all unused styles
|
|
52
|
+
*/
|
|
53
|
+
private performBulkCleanup;
|
|
54
|
+
/**
|
|
55
|
+
* Clean up unused classes from batched rules
|
|
56
|
+
*/
|
|
57
|
+
private cleanupBatchedUnusedClasses;
|
|
58
|
+
/**
|
|
59
|
+
* Process the deletion queue for cleanup
|
|
60
|
+
*/
|
|
61
|
+
processCleanupQueue(registry: RootRegistry): void;
|
|
62
|
+
/**
|
|
63
|
+
* Get total number of rules across all sheets
|
|
64
|
+
*/
|
|
65
|
+
getTotalRuleCount(registry: RootRegistry): number;
|
|
66
|
+
/**
|
|
67
|
+
* Get CSS text from all sheets (for SSR)
|
|
68
|
+
*/
|
|
69
|
+
getCssText(registry: RootRegistry): string;
|
|
70
|
+
/**
|
|
71
|
+
* Get cache performance metrics
|
|
72
|
+
*/
|
|
73
|
+
getMetrics(registry: RootRegistry): CacheMetrics | null;
|
|
74
|
+
/**
|
|
75
|
+
* Reset cache performance metrics
|
|
76
|
+
*/
|
|
77
|
+
resetMetrics(registry: RootRegistry): void;
|
|
78
|
+
/**
|
|
79
|
+
* Clean up resources for a root
|
|
80
|
+
*/
|
|
81
|
+
cleanup(root: Document | ShadowRoot): void;
|
|
82
|
+
/** Normalize declaration list by sorting properties for stable keys */
|
|
83
|
+
private normalizeDeclarations;
|
|
84
|
+
/** Build selector template normalizing class references to placeholders.
|
|
85
|
+
* Rules:
|
|
86
|
+
* - Replace any occurrence of :is(.class[, .class]*) with :is(__CLASS__)
|
|
87
|
+
* - If starts with .<name>.<name>, replace with __CLASS__.__CLASS__ (legacy specificity)
|
|
88
|
+
* - Else if starts with .<name>, replace with __CLASS__
|
|
89
|
+
*/
|
|
90
|
+
private makeSelectorTemplate;
|
|
91
|
+
/** Compose a unique batch key */
|
|
92
|
+
private getBatchKey;
|
|
93
|
+
/** Ensure there is a target sheet and available rule index */
|
|
94
|
+
private ensureTargetSheetAndIndex;
|
|
95
|
+
/** Compose CSS text for a batched rule entry */
|
|
96
|
+
private composeCssForEntry;
|
|
97
|
+
/** Update CSSOM/textContent for an existing batched rule */
|
|
98
|
+
private updateBatchedRuleCss;
|
|
99
|
+
/** Remove a batched rule entirely from the stylesheet */
|
|
100
|
+
private removeBatchedEntry;
|
|
101
|
+
/** Find existing class that has an identical rule (same batch key) */
|
|
102
|
+
private findClassWithIdenticalRule;
|
|
103
|
+
/** Convert an existing single-class rule to a batched rule with additional class */
|
|
104
|
+
private convertToBatchedRule;
|
|
105
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
export interface InjectResult {
|
|
2
|
+
className: string;
|
|
3
|
+
dispose: () => void;
|
|
4
|
+
}
|
|
5
|
+
export type DisposeFunction = () => void;
|
|
6
|
+
export interface StyleInjectorConfig {
|
|
7
|
+
nonce?: string;
|
|
8
|
+
maxRulesPerSheet?: number;
|
|
9
|
+
unusedStylesThreshold?: number;
|
|
10
|
+
bulkCleanupDelay?: number;
|
|
11
|
+
idleCleanup?: boolean;
|
|
12
|
+
collectMetrics?: boolean;
|
|
13
|
+
forceTextInjection?: boolean;
|
|
14
|
+
/** When false, avoid storing full cssText for each rule block to reduce memory. */
|
|
15
|
+
debugMode?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface RuleInfo {
|
|
18
|
+
className: string;
|
|
19
|
+
ruleIndex: number;
|
|
20
|
+
sheetIndex: number;
|
|
21
|
+
cssText: string[];
|
|
22
|
+
/** Inclusive end index of the contiguous block of inserted rules for this className */
|
|
23
|
+
endRuleIndex?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface SheetInfo {
|
|
26
|
+
sheet: HTMLStyleElement;
|
|
27
|
+
ruleCount: number;
|
|
28
|
+
holes: number[];
|
|
29
|
+
}
|
|
30
|
+
export interface UnusedRuleInfo {
|
|
31
|
+
ruleInfo: RuleInfo;
|
|
32
|
+
markedUnusedAt: number;
|
|
33
|
+
}
|
|
34
|
+
export interface CacheMetrics {
|
|
35
|
+
hits: number;
|
|
36
|
+
misses: number;
|
|
37
|
+
unusedHits: number;
|
|
38
|
+
bulkCleanups: number;
|
|
39
|
+
totalInsertions: number;
|
|
40
|
+
totalUnused: number;
|
|
41
|
+
stylesCleanedUp: number;
|
|
42
|
+
startTime: number;
|
|
43
|
+
}
|
|
44
|
+
export interface RootRegistry {
|
|
45
|
+
sheets: SheetInfo[];
|
|
46
|
+
refCounts: Map<string, number>;
|
|
47
|
+
rules: Map<string, RuleInfo>;
|
|
48
|
+
unusedRules: Map<string, UnusedRuleInfo>;
|
|
49
|
+
/** Deduplication set of fully materialized CSS rules inserted into sheets */
|
|
50
|
+
ruleTextSet: Set<string>;
|
|
51
|
+
/** Scheduled bulk cleanup timeout */
|
|
52
|
+
bulkCleanupTimeout: ReturnType<typeof requestIdleCallback> | ReturnType<typeof setTimeout> | null;
|
|
53
|
+
/** Performance metrics (optional) */
|
|
54
|
+
metrics?: CacheMetrics;
|
|
55
|
+
/** Counter for generating sequential class names like t0, t1, t2... */
|
|
56
|
+
classCounter: number;
|
|
57
|
+
/**
|
|
58
|
+
* Batched rules keyed by normalized signature (atRules + selector template + declarations)
|
|
59
|
+
* Used to combine identical rules across multiple classes using :is(...)
|
|
60
|
+
*/
|
|
61
|
+
batchedRules: Map<string, BatchedRuleEntry>;
|
|
62
|
+
/**
|
|
63
|
+
* Meta information for batched rules, kept even when there are no active classes, to allow restoration
|
|
64
|
+
*/
|
|
65
|
+
batchedRuleMeta: Map<string, BatchedRuleMeta>;
|
|
66
|
+
/** Mapping from className to all batched rule keys it participates in */
|
|
67
|
+
classToBatchedKeys: Map<string, Set<string>>;
|
|
68
|
+
/** Set of class names that are marked as unused in batched rules */
|
|
69
|
+
unusedBatchedClasses: Set<string>;
|
|
70
|
+
}
|
|
71
|
+
export interface FlattenedRule {
|
|
72
|
+
selector: string;
|
|
73
|
+
declarations: string;
|
|
74
|
+
atRules?: string[];
|
|
75
|
+
}
|
|
76
|
+
/** Internal structure describing a batched rule entry in a stylesheet */
|
|
77
|
+
export interface BatchedRuleEntry {
|
|
78
|
+
/** The normalized key for this batched rule */
|
|
79
|
+
key: string;
|
|
80
|
+
/** Selector template with "__CLASS__" placeholder where class selector should be */
|
|
81
|
+
selectorTemplate: string;
|
|
82
|
+
/** Declarations (normalized and sorted) */
|
|
83
|
+
declarations: string;
|
|
84
|
+
/** At-rules context */
|
|
85
|
+
atRules?: string[];
|
|
86
|
+
/** Set of classNames included in this batched selector */
|
|
87
|
+
classNames: Set<string>;
|
|
88
|
+
/** Location of the rule in the target sheet */
|
|
89
|
+
sheetIndex: number;
|
|
90
|
+
ruleIndex: number;
|
|
91
|
+
/** Cached CSS text for textContent-based sheets (forceTextInjection) */
|
|
92
|
+
currentCssText?: string;
|
|
93
|
+
}
|
|
94
|
+
/** Meta needed to reconstruct a batched rule if it was fully removed */
|
|
95
|
+
export interface BatchedRuleMeta {
|
|
96
|
+
selectorTemplate: string;
|
|
97
|
+
declarations: string;
|
|
98
|
+
atRules?: string[];
|
|
99
|
+
}
|
|
100
|
+
export interface KeyframesInfo {
|
|
101
|
+
name: string;
|
|
102
|
+
sheetIndex: number;
|
|
103
|
+
ruleIndex: number;
|
|
104
|
+
cssText: string;
|
|
105
|
+
}
|
|
@@ -3,9 +3,13 @@ export declare class Lru<K, V> {
|
|
|
3
3
|
private map;
|
|
4
4
|
private head;
|
|
5
5
|
private tail;
|
|
6
|
-
|
|
6
|
+
private onEvict?;
|
|
7
|
+
constructor(limit?: number, onEvict?: (key: K, value: V) => void);
|
|
8
|
+
setOnEvict(fn?: (key: K, value: V) => void): void;
|
|
7
9
|
get(key: K): V | undefined;
|
|
8
10
|
set(key: K, value: V): void;
|
|
11
|
+
delete(key: K): void;
|
|
12
|
+
keys(): IterableIterator<K>;
|
|
9
13
|
private touch;
|
|
10
14
|
private evict;
|
|
11
15
|
clear(): void;
|
package/types/tasty/types.d.ts
CHANGED
|
@@ -32,8 +32,6 @@ export interface BasePropsWithoutChildren<K extends TagName = TagName> extends P
|
|
|
32
32
|
isDisabled?: boolean;
|
|
33
33
|
/** Plain css for the element */
|
|
34
34
|
css?: string;
|
|
35
|
-
/** The element name for using in style overriding */
|
|
36
|
-
styleName?: string;
|
|
37
35
|
/** The CSS style map */
|
|
38
36
|
style?: CSSProperties | (CSSProperties & {
|
|
39
37
|
[key: string]: string | number | null;
|
|
@@ -1,10 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Style rendering that works with structured style objects
|
|
3
|
+
* Eliminates CSS string parsing for better performance
|
|
4
|
+
*/
|
|
1
5
|
import { Styles } from '../styles/types';
|
|
2
|
-
export
|
|
6
|
+
export interface StyleResult {
|
|
7
|
+
selector: string;
|
|
8
|
+
declarations: string;
|
|
9
|
+
atRules?: string[];
|
|
10
|
+
}
|
|
11
|
+
export interface RenderResult {
|
|
12
|
+
rules: StyleResult[];
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Check if a key represents a CSS selector
|
|
17
|
+
*/
|
|
18
|
+
export declare function isSelector(key: string): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Render styles without CSS string conversion
|
|
21
|
+
* This is a performance-optimized version of renderStyles
|
|
22
|
+
*/
|
|
23
|
+
export declare function renderStyles(styles?: Styles, responsive?: number[], className?: string): RenderResult;
|
|
3
24
|
/**
|
|
4
|
-
* Render
|
|
5
|
-
*
|
|
6
|
-
* @param responsive - A list of responsive zones
|
|
7
|
-
* @param {string} [suffix]
|
|
8
|
-
* @return {string}
|
|
25
|
+
* Render styles for global injection (without class names)
|
|
26
|
+
* Returns CSS with & selectors that injectGlobal can process
|
|
9
27
|
*/
|
|
10
|
-
export declare function
|
|
28
|
+
export declare function renderStylesForGlobal(styles?: Styles, responsive?: number[]): string;
|
|
@@ -95,6 +95,7 @@ export declare const CUSTOM_UNITS: {
|
|
|
95
95
|
};
|
|
96
96
|
export declare const DIRECTIONS: string[];
|
|
97
97
|
export declare function createRule(prop: string, value: StyleValue, selector?: string): string;
|
|
98
|
+
export declare function getModSelector(modName: string): string;
|
|
98
99
|
export declare function customFunc(name: string, fn: (groups: StyleDetails[]) => string): void;
|
|
99
100
|
/**
|
|
100
101
|
*
|
|
@@ -137,12 +138,6 @@ export declare function extractStyles(props: {
|
|
|
137
138
|
}, styleList?: readonly string[], defaultStyles?: Styles, propMap?: {
|
|
138
139
|
[key: string]: string;
|
|
139
140
|
}, ignoreList?: readonly string[]): Styles;
|
|
140
|
-
/**
|
|
141
|
-
* Render CSSMap to Styled Components CSS
|
|
142
|
-
* @param styles
|
|
143
|
-
* @param [selector]
|
|
144
|
-
*/
|
|
145
|
-
export declare function renderStylesToSC(styles: StyleHandlerResult, selector?: string): any;
|
|
146
141
|
/**
|
|
147
142
|
* Compile states to finite CSS with selectors.
|
|
148
143
|
* State values should contain a string value with CSS style list.
|
|
@@ -151,9 +146,6 @@ export declare function renderStylesToSC(styles: StyleHandlerResult, selector?:
|
|
|
151
146
|
* @param {string} suffix
|
|
152
147
|
*/
|
|
153
148
|
export declare function applyStates(selector: string, states: any, suffix?: string): any;
|
|
154
|
-
export declare function styleHandlerCacheWrapper(styleHandler: StyleHandler, limit?: number): ((styleMap: any, suffix?: string | undefined) => any) & {
|
|
155
|
-
__lookupStyles: string[];
|
|
156
|
-
};
|
|
157
149
|
/**
|
|
158
150
|
* Replace state values with new ones.
|
|
159
151
|
* For example, if you want to replace initial values with finite CSS code.
|