@cube-dev/ui-kit 0.75.0 → 0.76.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/es/_internal/hooks/index.js +1 -1
- package/es/_internal/hooks/use-chained-callback.js +1 -1
- package/es/_internal/hooks/use-debounced-value.js +1 -1
- package/es/_internal/hooks/use-deprecation-warning.js +1 -1
- package/es/_internal/hooks/use-effect-once.js +1 -1
- package/es/_internal/hooks/use-event.js +1 -1
- package/es/_internal/hooks/use-is-first-render.js +1 -1
- package/es/_internal/hooks/use-sync-ref.js +1 -1
- package/es/_internal/hooks/use-timer/index.js +1 -1
- package/es/_internal/hooks/use-timer/timer.js +1 -1
- package/es/_internal/hooks/use-timer/use-timer.js +1 -1
- package/es/_internal/hooks/use-update-effect.js +1 -1
- package/es/_internal/hooks/use-warn.js +1 -1
- package/es/_internal/index.js +1 -1
- package/es/components/Block.js +1 -1
- package/es/components/GlobalStyles.js +1 -1
- package/es/components/GridProvider.js +1 -1
- package/es/components/HiddenInput.js +1 -1
- package/es/components/Item.js +1 -1
- package/es/components/OpenTrasition.js +1 -1
- package/es/components/Root.js +1 -1
- package/es/components/actions/Action/Action.js +1 -1
- package/es/components/actions/Button/Button.js +1 -1
- package/es/components/actions/Button/index.js +1 -1
- package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/es/components/actions/CommandMenu/index.js +1 -1
- package/es/components/actions/CommandMenu/styled.js +1 -1
- package/es/components/actions/ItemButton/ItemButton.js +1 -1
- package/es/components/actions/ItemButton/index.js +1 -1
- package/es/components/actions/Menu/Menu.js +1 -1
- package/es/components/actions/Menu/MenuItem.js +1 -1
- package/es/components/actions/Menu/MenuSection.js +1 -1
- package/es/components/actions/Menu/MenuTrigger.js +1 -1
- package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/es/components/actions/Menu/context.js +1 -1
- package/es/components/actions/Menu/index.js +1 -1
- package/es/components/actions/Menu/styled.js +1 -1
- package/es/components/actions/index.js +1 -1
- package/es/components/actions/use-action.js +1 -1
- package/es/components/actions/use-anchored-menu.js +1 -1
- package/es/components/actions/use-context-menu.js +1 -1
- package/es/components/content/ActiveZone/ActiveZone.js +1 -1
- package/es/components/content/Alert/Alert.js +1 -1
- package/es/components/content/Alert/index.js +1 -1
- package/es/components/content/Alert/types.js +1 -1
- package/es/components/content/Alert/use-alert.js +1 -1
- package/es/components/content/Avatar/Avatar.js +1 -1
- package/es/components/content/Badge/Badge.js +1 -1
- package/es/components/content/Card/Card.js +1 -1
- package/es/components/content/Content.js +1 -1
- package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/es/components/content/CopyPasteBlock/index.js +1 -1
- package/es/components/content/CopySnippet/CopySnippet.js +1 -1
- package/es/components/content/CopySnippet/index.js +1 -1
- package/es/components/content/Divider.js +1 -1
- package/es/components/content/Footer.js +1 -1
- package/es/components/content/Header.js +1 -1
- package/es/components/content/HotKeys/HotKeys.js +1 -1
- package/es/components/content/HotKeys/index.js +1 -1
- package/es/components/content/ItemBase/ItemBase.js +1 -1
- package/es/components/content/ItemBase/index.js +1 -1
- package/es/components/content/List/SectionHeading.js +1 -1
- package/es/components/content/List/index.js +1 -1
- package/es/components/content/Paragraph.js +1 -1
- package/es/components/content/Placeholder/Placeholder.js +1 -1
- package/es/components/content/PrismCode/PrismCode.js +1 -1
- package/es/components/content/PrismCode/prismSetup.js +1 -1
- package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/es/components/content/Result/Result.js +1 -1
- package/es/components/content/Skeleton/Skeleton.js +1 -1
- package/es/components/content/Tag/Tag.js +1 -1
- package/es/components/content/Text.js +1 -1
- package/es/components/content/Title.js +1 -1
- package/es/components/fields/Checkbox/Checkbox.js +1 -1
- package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/es/components/fields/Checkbox/context.js +1 -1
- package/es/components/fields/Checkbox/index.js +1 -1
- package/es/components/fields/ComboBox/ComboBox.js +3 -7
- 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 +3 -3
- package/es/components/fields/FilterPicker/index.js +1 -1
- package/es/components/fields/Input/Input.js +1 -1
- package/es/components/fields/Input/index.js +1 -1
- package/es/components/fields/ListBox/ListBox.js +1 -1
- package/es/components/fields/ListBox/index.js +1 -1
- package/es/components/fields/NumberInput/NumberInput.js +1 -1
- package/es/components/fields/NumberInput/StepButton.js +1 -1
- package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/es/components/fields/RadioGroup/Radio.js +1 -1
- package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/es/components/fields/RadioGroup/context.js +1 -1
- package/es/components/fields/RadioGroup/index.js +1 -1
- package/es/components/fields/SearchInput/SearchInput.js +1 -1
- package/es/components/fields/SearchInput/index.js +1 -1
- package/es/components/fields/Select/Select.js +1 -1
- package/es/components/fields/Select/index.js +1 -1
- package/es/components/fields/Slider/Gradation.js +1 -1
- package/es/components/fields/Slider/Header.js +1 -1
- package/es/components/fields/Slider/RangeSlider.js +1 -1
- package/es/components/fields/Slider/Slider.js +1 -1
- package/es/components/fields/Slider/SliderBase.js +1 -1
- package/es/components/fields/Slider/SliderInput.js +1 -1
- package/es/components/fields/Slider/SliderThumb.js +1 -1
- package/es/components/fields/Slider/SliderTrack.js +1 -1
- package/es/components/fields/Slider/elements.js +1 -1
- package/es/components/fields/Slider/index.js +1 -1
- package/es/components/fields/Slider/types.js +1 -1
- package/es/components/fields/Switch/Switch.js +1 -1
- package/es/components/fields/Switch/index.js +1 -1
- package/es/components/fields/TextArea/TextArea.js +1 -1
- package/es/components/fields/TextArea/index.js +1 -1
- package/es/components/fields/TextInput/TextInput.js +1 -1
- package/es/components/fields/TextInput/TextInputBase.js +1 -1
- package/es/components/fields/TextInput/index.js +1 -1
- package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/es/components/fields/TextInputMapper/index.js +1 -1
- package/es/components/fields/index.js +1 -1
- package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
- package/es/components/form/FieldWrapper/index.js +1 -1
- package/es/components/form/FieldWrapper/types.js +1 -1
- package/es/components/form/Form/Field.js +1 -1
- package/es/components/form/Form/Form.js +1 -1
- package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/es/components/form/Form/ResetButton/index.js +1 -1
- package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/es/components/form/Form/SubmitButton/index.js +1 -1
- package/es/components/form/Form/SubmitError.js +1 -1
- package/es/components/form/Form/index.js +1 -1
- package/es/components/form/Form/types.js +1 -1
- package/es/components/form/Form/use-field/index.js +1 -1
- package/es/components/form/Form/use-field/types.js +1 -1
- package/es/components/form/Form/use-field/use-field-props.js +1 -1
- package/es/components/form/Form/use-field/use-field.js +1 -1
- package/es/components/form/Form/use-form.js +1 -1
- package/es/components/form/Form/validation.js +1 -1
- package/es/components/form/Label.js +1 -1
- package/es/components/form/index.js +1 -1
- package/es/components/form/wrapper.js +1 -1
- package/es/components/layout/Flex.js +1 -1
- package/es/components/layout/Flow.js +1 -1
- package/es/components/layout/Grid.js +1 -1
- package/es/components/layout/Panel.js +1 -1
- package/es/components/layout/Prefix.js +1 -1
- package/es/components/layout/ResizablePanel.js +1 -1
- package/es/components/layout/Space.js +1 -1
- package/es/components/layout/Suffix.js +1 -1
- package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
- package/es/components/navigation/Link/Link.js +1 -1
- package/es/components/organisms/FileTabs/FileTabs.js +1 -1
- package/es/components/organisms/Modal/Modal.js +1 -1
- package/es/components/organisms/StatsCard/StatsCard.js +1 -1
- package/es/components/other/Base64Upload/Base64Upload.js +1 -1
- package/es/components/other/Calendar/Calendar.js +1 -1
- package/es/components/other/Calendar/CalendarCell.js +1 -1
- package/es/components/other/Calendar/CalendarGrid.js +1 -1
- package/es/components/other/Calendar/RangeCalendar.js +1 -1
- package/es/components/other/CloudLogo/CloudLogo.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/es/components/overlays/AlertDialog/index.js +1 -1
- package/es/components/overlays/AlertDialog/types.js +1 -1
- package/es/components/overlays/Dialog/Dialog.js +1 -1
- package/es/components/overlays/Dialog/DialogContainer.js +1 -1
- package/es/components/overlays/Dialog/DialogForm.js +1 -1
- package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/es/components/overlays/Dialog/context.js +1 -1
- package/es/components/overlays/Dialog/index.js +1 -1
- package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/es/components/overlays/Modal/Modal.js +1 -1
- package/es/components/overlays/Modal/OpenTransition.js +1 -1
- package/es/components/overlays/Modal/Overlay.js +1 -1
- package/es/components/overlays/Modal/Popover.js +1 -1
- package/es/components/overlays/Modal/Tray.js +1 -1
- package/es/components/overlays/Modal/Underlay.js +1 -1
- package/es/components/overlays/Modal/index.js +1 -1
- package/es/components/overlays/Modal/types.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
- package/es/components/overlays/NewNotifications/Notification.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
- package/es/components/overlays/NewNotifications/index.js +1 -1
- package/es/components/overlays/NewNotifications/types.js +1 -1
- package/es/components/overlays/Notification/Notification.js +1 -1
- package/es/components/overlays/OverlayWrapper.js +1 -1
- package/es/components/overlays/Toasts/Toast.js +1 -1
- package/es/components/overlays/Toasts/index.js +1 -1
- package/es/components/overlays/Toasts/types.js +1 -1
- package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
- package/es/components/overlays/Tooltip/Tooltip.js +1 -1
- package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/es/components/overlays/Tooltip/context.js +1 -1
- package/es/components/overlays/Tooltip/index.js +1 -1
- package/es/components/portal/Portal.js +1 -1
- package/es/components/portal/PortalProvider.js +1 -1
- package/es/components/portal/index.js +1 -1
- package/es/components/portal/types.js +1 -1
- package/es/components/portal/usePortal.js +1 -1
- package/es/components/shared/InvalidIcon.js +1 -1
- package/es/components/shared/ValidIcon.js +1 -1
- package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/es/components/status/LoadingAnimation/index.js +1 -1
- package/es/components/status/Spin/Cube.js +1 -1
- package/es/components/status/Spin/InternalSpinner.js +1 -1
- package/es/components/status/Spin/Spin.js +1 -1
- package/es/components/status/Spin/SpinsContainer.js +1 -1
- package/es/components/status/Spin/index.js +1 -1
- package/es/components/status/Spin/types.js +1 -1
- package/es/components/status/index.js +1 -1
- package/es/data/item-themes.js +1 -1
- package/es/data/themes.js +1 -1
- package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/es/icons/AdjustmentsIcon.js +1 -1
- package/es/icons/AiIcon.js +1 -1
- package/es/icons/AreaChartIcon.js +1 -1
- package/es/icons/BackwardIcon.js +1 -1
- package/es/icons/BarChartIcon.js +1 -1
- package/es/icons/BellFilledIcon.js +1 -1
- package/es/icons/BellIcon.js +1 -1
- package/es/icons/BooleanIcon.js +1 -1
- package/es/icons/CalendarEditIcon.js +1 -1
- package/es/icons/CalendarIcon.js +1 -1
- package/es/icons/CaretDownIcon.js +1 -1
- package/es/icons/CaretUpIcon.js +1 -1
- package/es/icons/ChartAreaStackedIcon.js +1 -1
- package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/es/icons/ChartBarGroupedIcon.js +1 -1
- package/es/icons/ChartBarHorizontalIcon.js +1 -1
- package/es/icons/ChartBarLineIcon.js +1 -1
- package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/es/icons/ChartBarStackedIcon.js +1 -1
- package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/es/icons/ChartBoxPlot2Icon.js +1 -1
- package/es/icons/ChartBoxPlotIcon.js +1 -1
- package/es/icons/ChartBubbleIcon.js +1 -1
- package/es/icons/ChartDonut2Icon.js +1 -1
- package/es/icons/ChartFunnelIcon.js +1 -1
- package/es/icons/ChartKPIIcon.js +1 -1
- package/es/icons/ChartPie2Icon.js +1 -1
- package/es/icons/ChartScatterIcon.js +1 -1
- package/es/icons/CheckCircleFilledIcon.js +1 -1
- package/es/icons/CheckCircleIcon.js +1 -1
- package/es/icons/CheckIcon.js +1 -1
- package/es/icons/CircleFilledIcon.js +1 -1
- package/es/icons/ClearIcon.js +1 -1
- package/es/icons/CloseCircleFilledIcon.js +1 -1
- package/es/icons/CloseCircleIcon.js +1 -1
- package/es/icons/CloseIcon.js +1 -1
- package/es/icons/CodeIcon.js +1 -1
- package/es/icons/CopyIcon.js +1 -1
- package/es/icons/CountIcon.js +1 -1
- package/es/icons/CubeIcon.js +1 -1
- package/es/icons/DangerIcon.js +1 -1
- package/es/icons/DashboardIcon.js +1 -1
- package/es/icons/DatabaseIcon.js +1 -1
- package/es/icons/DirectionIcon.js +1 -1
- package/es/icons/DonutIcon.js +1 -1
- package/es/icons/DownIcon.js +1 -1
- package/es/icons/EditIcon.js +1 -1
- package/es/icons/ExclamationCircleFilledIcon.js +1 -1
- package/es/icons/ExclamationCircleIcon.js +1 -1
- package/es/icons/ExclamationIcon.js +1 -1
- package/es/icons/EyeIcon.js +1 -1
- package/es/icons/EyeInvisibleIcon.js +1 -1
- package/es/icons/FilterIcon.js +1 -1
- package/es/icons/FolderFilledIcon.js +1 -1
- package/es/icons/FolderIcon.js +1 -1
- package/es/icons/FolderOpenFilledIcon.js +1 -1
- package/es/icons/FolderOpenIcon.js +1 -1
- package/es/icons/ForwardIcon.js +1 -1
- package/es/icons/HierarchyIcon.js +1 -1
- package/es/icons/Icon.js +1 -1
- package/es/icons/InfoCircleIcon.js +1 -1
- package/es/icons/InfoIcon.js +1 -1
- package/es/icons/KeyIcon.js +1 -1
- package/es/icons/LeftIcon.js +1 -1
- package/es/icons/LineChartIcon.js +1 -1
- package/es/icons/LoadingIcon.js +1 -1
- package/es/icons/LockFilledIcon.js +1 -1
- package/es/icons/LockIcon.js +1 -1
- package/es/icons/MoreIcon.js +1 -1
- package/es/icons/NotAllowedIcon.js +1 -1
- package/es/icons/NumberIcon.js +1 -1
- package/es/icons/PauseCircleFilledIcon.js +1 -1
- package/es/icons/PauseCircleIcon.js +1 -1
- package/es/icons/PauseIcon.js +1 -1
- package/es/icons/PieChartIcon.js +1 -1
- package/es/icons/PlayCircleIcon.js +1 -1
- package/es/icons/PlayIcon.js +1 -1
- package/es/icons/PlusIcon.js +1 -1
- package/es/icons/ReloadIcon.js +1 -1
- package/es/icons/ReportIcon.js +1 -1
- package/es/icons/ReturnIcon.js +1 -1
- package/es/icons/RightIcon.js +1 -1
- package/es/icons/SchemeIcon.js +1 -1
- package/es/icons/SearchIcon.js +1 -1
- package/es/icons/SettingsIcon.js +1 -1
- package/es/icons/ShieldFilledIcon.js +1 -1
- package/es/icons/ShieldIcon.js +1 -1
- package/es/icons/SlashIcon.js +1 -1
- package/es/icons/SparklesIcon.js +1 -1
- package/es/icons/SqlIcon.js +1 -1
- package/es/icons/StatsIcon.js +1 -1
- package/es/icons/StopIcon.js +1 -1
- package/es/icons/StringIcon.js +1 -1
- package/es/icons/SwitchIcon.js +1 -1
- package/es/icons/TableIcon.js +1 -1
- package/es/icons/ThumbsDownIcon.js +1 -1
- package/es/icons/ThumbsUpIcon.js +1 -1
- package/es/icons/ThunderboltCrossedIcon.js +1 -1
- package/es/icons/ThunderboltFilledIcon.js +1 -1
- package/es/icons/ThunderboltIcon.js +1 -1
- package/es/icons/TimeIcon.js +1 -1
- package/es/icons/UnlockIcon.js +1 -1
- package/es/icons/UpIcon.js +1 -1
- package/es/icons/UserGroupIcon.js +1 -1
- package/es/icons/UserIcon.js +1 -1
- package/es/icons/UserLockIcon.js +1 -1
- package/es/icons/ViewIcon.js +1 -1
- package/es/icons/WarningFilledIcon.js +1 -1
- package/es/icons/WarningIcon.js +1 -1
- package/es/icons/add-new-icon.js +1 -1
- package/es/icons/index.js +1 -1
- package/es/icons/wrap-icon.js +1 -1
- package/es/index.js +1 -1
- package/es/provider.js +1 -1
- package/es/providers/TrackingProvider.js +1 -1
- package/es/services/notification.js +1 -1
- package/es/shared/form.js +1 -1
- package/es/shared/index.js +1 -1
- package/es/stories/Form.legacy-stories.js +1 -1
- package/es/stories/FormFieldArgs.js +1 -1
- package/es/stories/Layout.stories.js +1 -1
- package/es/stories/Tasty.stories.js +1 -1
- package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
- package/es/stories/components/DialogFormApp.js +1 -1
- package/es/stories/components/StyledButton.js +1 -1
- package/es/stories/lists/baseProps.js +1 -1
- package/es/tasty/debug.js +541 -744
- package/es/tasty/index.js +1 -1
- package/es/tasty/injector/index.js +31 -15
- package/es/tasty/injector/injector.js +138 -148
- package/es/tasty/injector/sheet-manager.js +292 -134
- package/es/tasty/injector/types.js +1 -1
- package/es/tasty/parser/classify.js +1 -1
- package/es/tasty/parser/const.js +1 -1
- package/es/tasty/parser/lru.js +1 -1
- package/es/tasty/parser/parser.js +1 -1
- package/es/tasty/parser/tokenizer.js +1 -1
- package/es/tasty/parser/types.js +1 -1
- package/es/tasty/providers/BreakpointsProvider.js +1 -1
- package/es/tasty/styles/align.js +1 -1
- package/es/tasty/styles/border.js +1 -1
- package/es/tasty/styles/boxShadow.combinator.js +1 -1
- package/es/tasty/styles/color.js +1 -1
- package/es/tasty/styles/createStyle.js +1 -1
- package/es/tasty/styles/dimension.js +1 -1
- package/es/tasty/styles/display.js +1 -1
- package/es/tasty/styles/fade.js +1 -1
- package/es/tasty/styles/fill.js +1 -1
- package/es/tasty/styles/flow.js +1 -1
- package/es/tasty/styles/font.js +1 -1
- package/es/tasty/styles/fontStyle.js +1 -1
- package/es/tasty/styles/gap.js +1 -1
- package/es/tasty/styles/groupRadius.js +1 -1
- package/es/tasty/styles/height.js +1 -1
- package/es/tasty/styles/index.js +1 -1
- package/es/tasty/styles/inset.js +1 -1
- package/es/tasty/styles/justify.js +1 -1
- package/es/tasty/styles/list.js +1 -1
- package/es/tasty/styles/margin.js +1 -1
- package/es/tasty/styles/marginBlock.js +1 -1
- package/es/tasty/styles/marginInline.js +1 -1
- package/es/tasty/styles/outline.js +1 -1
- package/es/tasty/styles/padding.js +1 -1
- package/es/tasty/styles/paddingBlock.js +1 -1
- package/es/tasty/styles/paddingInline.js +1 -1
- package/es/tasty/styles/place.js +1 -1
- package/es/tasty/styles/predefined.js +1 -1
- package/es/tasty/styles/preset.js +1 -1
- package/es/tasty/styles/radius.js +1 -1
- package/es/tasty/styles/reset.js +1 -1
- package/es/tasty/styles/scrollbar.js +1 -1
- package/es/tasty/styles/shadow.js +1 -1
- package/es/tasty/styles/styledScrollbar.js +1 -1
- package/es/tasty/styles/transition.js +1 -1
- package/es/tasty/styles/types.js +1 -1
- package/es/tasty/styles/width.js +1 -1
- package/es/tasty/tasty.js +61 -50
- 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/isDevEnv.js +36 -0
- package/es/tasty/utils/mergeStyles.js +1 -1
- package/es/tasty/utils/modAttrs.js +1 -1
- package/es/tasty/utils/renderStyles.js +44 -4
- package/es/tasty/utils/responsive.js +1 -1
- package/es/tasty/utils/string.js +1 -1
- package/es/tasty/utils/styles.js +39 -1
- package/es/tasty/utils/warnings.js +1 -1
- package/es/tokens.js +1 -1
- package/es/type-checks.js +1 -1
- package/es/utils/ResizeSensor.js +1 -1
- package/es/utils/modules.js +1 -1
- package/es/utils/promise.js +1 -1
- package/es/utils/random.js +1 -1
- package/es/utils/range.js +1 -1
- package/es/utils/react/Slots.js +1 -1
- package/es/utils/react/chain.js +1 -1
- package/es/utils/react/forwardRefWithGenerics.js +1 -1
- package/es/utils/react/index.js +1 -1
- package/es/utils/react/interactions.js +1 -1
- package/es/utils/react/isTextOnly.js +1 -1
- package/es/utils/react/mapProps.js +1 -1
- package/es/utils/react/mergeProps.js +1 -1
- package/es/utils/react/nullableValue.js +1 -1
- package/es/utils/react/sharedStore.js +1 -1
- package/es/utils/react/useCombinedRefs.js +1 -1
- package/es/utils/react/useControlledFocusVisible.js +1 -1
- package/es/utils/react/useEventBus.js +1 -1
- package/es/utils/react/useId.js +1 -1
- package/es/utils/react/useIsDarwin.js +1 -1
- package/es/utils/react/useKeySymbols.js +1 -1
- package/es/utils/react/useLayoutEffect.js +1 -1
- package/es/utils/react/useQaProps.js +1 -1
- package/es/utils/react/useViewportSize.js +1 -1
- package/es/utils/react/wrapNodeIfPlain.js +1 -1
- package/es/utils/transitions.js +1 -1
- package/es/utils/tree.js +1 -1
- package/es/utils/warnings.js +1 -1
- package/es/version.js +2 -2
- package/package.json +1 -1
- package/types/components/actions/Menu/styled.d.ts +60 -60
- package/types/components/content/List/SectionHeading.d.ts +20 -20
- package/types/components/fields/DatePicker/DatePickerElement.d.ts +20 -20
- package/types/tasty/debug.d.ts +135 -222
- package/types/tasty/injector/index.d.ts +18 -2
- package/types/tasty/injector/injector.d.ts +20 -18
- package/types/tasty/injector/sheet-manager.d.ts +19 -15
- package/types/tasty/injector/types.d.ts +29 -13
- package/types/tasty/utils/isDevEnv.d.ts +6 -0
- package/types/tasty/utils/renderStyles.d.ts +6 -1
- package/types/tasty/utils/styles.d.ts +1 -0
package/types/tasty/debug.d.ts
CHANGED
@@ -1,173 +1,98 @@
|
|
1
1
|
/**
|
2
2
|
* Debug utilities for inspecting tasty-generated CSS at runtime
|
3
3
|
*/
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
*/
|
39
|
-
findAllTastyClasses(): string[];
|
40
|
-
/**
|
41
|
-
* Find all tasty classes that have styles in the stylesheet (used + unused)
|
42
|
-
*/
|
43
|
-
findAllStyledClasses(): string[];
|
44
|
-
/**
|
45
|
-
* Get active vs cached class breakdown
|
46
|
-
*/
|
47
|
-
getClassUsage(): {
|
48
|
-
activeClasses: string[];
|
49
|
-
cachedClasses: string[];
|
50
|
-
totalStyledClasses: string[];
|
4
|
+
type CSSTarget = 'all' | 'global' | 'active' | 'unused' | 'page' | string | string[] | Element;
|
5
|
+
interface CssOptions {
|
6
|
+
root?: Document | ShadowRoot;
|
7
|
+
prettify?: boolean;
|
8
|
+
log?: boolean;
|
9
|
+
}
|
10
|
+
interface InspectResult {
|
11
|
+
element?: Element | null;
|
12
|
+
classes: string[];
|
13
|
+
css: string;
|
14
|
+
size: number;
|
15
|
+
rules: number;
|
16
|
+
}
|
17
|
+
interface CacheMetrics {
|
18
|
+
hits: number;
|
19
|
+
misses: number;
|
20
|
+
bulkCleanups: number;
|
21
|
+
totalInsertions: number;
|
22
|
+
totalUnused: number;
|
23
|
+
stylesCleanedUp: number;
|
24
|
+
cleanupHistory: Array<{
|
25
|
+
timestamp: number;
|
26
|
+
classesDeleted: number;
|
27
|
+
cssSize: number;
|
28
|
+
rulesDeleted: number;
|
29
|
+
}>;
|
30
|
+
startTime: number;
|
31
|
+
unusedHits?: number;
|
32
|
+
}
|
33
|
+
interface CacheStatus {
|
34
|
+
classes: {
|
35
|
+
active: string[];
|
36
|
+
unused: string[];
|
37
|
+
all: string[];
|
51
38
|
};
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
globalCSSSize: number;
|
67
|
-
globalRuleCount: number;
|
68
|
-
metrics: any;
|
69
|
-
definedProperties: string[];
|
70
|
-
definedKeyframes: {
|
71
|
-
name: string;
|
72
|
-
refCount: number;
|
73
|
-
cssText?: string;
|
74
|
-
}[];
|
75
|
-
propertyCount: number;
|
76
|
-
keyframeCount: number;
|
77
|
-
cleanupSummary: {
|
78
|
-
enabled: boolean;
|
79
|
-
totalCleanups: number;
|
80
|
-
totalClassesDeleted: number;
|
81
|
-
totalCssDeleted: number;
|
82
|
-
totalRulesDeleted: number;
|
83
|
-
averageClassesPerCleanup: number;
|
84
|
-
averageCssPerCleanup: number;
|
85
|
-
averageRulesPerCleanup: number;
|
86
|
-
lastCleanup?: {
|
87
|
-
timestamp: number;
|
88
|
-
date: string;
|
89
|
-
classesDeleted: number;
|
90
|
-
cssSize: number;
|
91
|
-
rulesDeleted: number;
|
92
|
-
};
|
93
|
-
};
|
39
|
+
metrics: CacheMetrics | null;
|
40
|
+
}
|
41
|
+
interface GlobalBreakdown {
|
42
|
+
css: string;
|
43
|
+
totalRules: number;
|
44
|
+
totalCSSSize: number;
|
45
|
+
selectors: {
|
46
|
+
elements: string[];
|
47
|
+
classes: string[];
|
48
|
+
ids: string[];
|
49
|
+
pseudoClasses: string[];
|
50
|
+
mediaQueries: string[];
|
51
|
+
keyframes: string[];
|
52
|
+
other: string[];
|
94
53
|
};
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
54
|
+
}
|
55
|
+
interface Definitions {
|
56
|
+
properties: string[];
|
57
|
+
keyframes: Array<{
|
58
|
+
name: string;
|
59
|
+
refCount: number;
|
60
|
+
}>;
|
61
|
+
}
|
62
|
+
interface SummaryOptions {
|
63
|
+
root?: Document | ShadowRoot;
|
64
|
+
log?: boolean;
|
65
|
+
includePageCSS?: false | true | 'all';
|
66
|
+
}
|
67
|
+
interface Summary {
|
68
|
+
activeClasses: string[];
|
69
|
+
unusedClasses: string[];
|
70
|
+
totalStyledClasses: string[];
|
71
|
+
activeCSSSize: number;
|
72
|
+
unusedCSSSize: number;
|
73
|
+
totalCSSSize: number;
|
74
|
+
activeCSS: string;
|
75
|
+
unusedCSS: string;
|
76
|
+
allCSS: string;
|
77
|
+
globalCSS: string;
|
78
|
+
globalCSSSize: number;
|
79
|
+
globalRuleCount: number;
|
80
|
+
page?: {
|
81
|
+
css?: string;
|
106
82
|
cssSize: number;
|
107
83
|
ruleCount: number;
|
108
|
-
|
109
|
-
|
110
|
-
css: string;
|
111
|
-
cssSize: number;
|
112
|
-
ruleCount: number;
|
113
|
-
};
|
114
|
-
};
|
115
|
-
stats: {
|
116
|
-
totalClasses: number;
|
117
|
-
totalRules: number;
|
118
|
-
totalCSSSize: number;
|
119
|
-
averageRulesPerClass: number;
|
120
|
-
averageCSSPerClass: number;
|
121
|
-
};
|
84
|
+
stylesheetCount: number;
|
85
|
+
skippedStylesheets: number;
|
122
86
|
};
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
getActiveCSS(): string;
|
127
|
-
/**
|
128
|
-
* Get CSS for cached classes only
|
129
|
-
*/
|
130
|
-
getCachedCSS(): string;
|
131
|
-
/**
|
132
|
-
* Get all defined @property custom properties
|
133
|
-
*/
|
134
|
-
getDefinedProperties(): string[];
|
135
|
-
/**
|
136
|
-
* Get all defined keyframes
|
137
|
-
*/
|
138
|
-
getDefinedKeyframes(): {
|
87
|
+
metrics: CacheMetrics | null;
|
88
|
+
definedProperties: string[];
|
89
|
+
definedKeyframes: Array<{
|
139
90
|
name: string;
|
140
91
|
refCount: number;
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
*/
|
146
|
-
isPropertyDefined(propertyName: string): boolean;
|
147
|
-
/**
|
148
|
-
* Check if a specific keyframe is defined
|
149
|
-
*/
|
150
|
-
isKeyframeDefined(keyframeName: string): boolean;
|
151
|
-
/**
|
152
|
-
* Get detailed cleanup statistics history
|
153
|
-
*/
|
154
|
-
getCleanupHistory(): {
|
155
|
-
totalCleanups: number;
|
156
|
-
totalClassesDeleted: number;
|
157
|
-
totalCssDeleted: number;
|
158
|
-
totalRulesDeleted: number;
|
159
|
-
cleanupHistory: Array<{
|
160
|
-
timestamp: number;
|
161
|
-
date: string;
|
162
|
-
classesDeleted: number;
|
163
|
-
cssSize: number;
|
164
|
-
rulesDeleted: number;
|
165
|
-
}>;
|
166
|
-
};
|
167
|
-
/**
|
168
|
-
* Get cleanup statistics summary
|
169
|
-
*/
|
170
|
-
getCleanupSummary(): {
|
92
|
+
}>;
|
93
|
+
propertyCount: number;
|
94
|
+
keyframeCount: number;
|
95
|
+
cleanupSummary: {
|
171
96
|
enabled: boolean;
|
172
97
|
totalCleanups: number;
|
173
98
|
totalClassesDeleted: number;
|
@@ -184,67 +109,55 @@ export declare const tastyDebug: {
|
|
184
109
|
rulesDeleted: number;
|
185
110
|
};
|
186
111
|
};
|
187
|
-
|
188
|
-
* Log cleanup history to console in a readable format
|
189
|
-
*/
|
190
|
-
logCleanupHistory(): void;
|
191
|
-
/**
|
192
|
-
* Get all global CSS rules (non-tasty class selectors)
|
193
|
-
*/
|
194
|
-
getGlobalCSS(): string;
|
195
|
-
/**
|
196
|
-
* Log global CSS to console
|
197
|
-
*/
|
198
|
-
logGlobalCSS(): void;
|
199
|
-
/**
|
200
|
-
* Get global CSS rules breakdown with detailed analysis
|
201
|
-
*/
|
202
|
-
getGlobalCSSBreakdown(): {
|
203
|
-
globalRules: Array<{
|
204
|
-
selector: string;
|
205
|
-
declarations: string;
|
206
|
-
ruleCount: number;
|
207
|
-
}>;
|
208
|
-
totalRules: number;
|
209
|
-
totalCSSSize: number;
|
210
|
-
css: string;
|
211
|
-
selectors: {
|
212
|
-
elements: string[];
|
213
|
-
classes: string[];
|
214
|
-
ids: string[];
|
215
|
-
pseudoClasses: string[];
|
216
|
-
mediaQueries: string[];
|
217
|
-
keyframes: string[];
|
218
|
-
other: string[];
|
219
|
-
};
|
220
|
-
};
|
221
|
-
/**
|
222
|
-
* Log detailed global CSS breakdown
|
223
|
-
*/
|
224
|
-
logGlobalCSSBreakdown(): void;
|
225
|
-
/**
|
226
|
-
* Helper to extract CSS rules from raw CSS text
|
227
|
-
*/
|
228
|
-
extractCSSRules(css: string): Array<{
|
229
|
-
selector: string;
|
230
|
-
declarations: string;
|
231
|
-
}>;
|
232
|
-
/**
|
233
|
-
* Safe CSS parser that handles nested rules properly
|
234
|
-
*/
|
235
|
-
parseCSSSafe(css: string, rules: Array<{
|
236
|
-
selector: string;
|
237
|
-
declarations: string;
|
238
|
-
}>): void;
|
239
|
-
/**
|
240
|
-
* Debug method to see raw CSS content and rule parsing
|
241
|
-
*/
|
242
|
-
debugRawCSS(): void;
|
243
|
-
};
|
112
|
+
}
|
244
113
|
/**
|
245
|
-
*
|
246
|
-
* Only in non-production environments
|
114
|
+
* Concise tastyDebug API for inspecting styles at runtime
|
247
115
|
*/
|
248
|
-
export declare
|
249
|
-
|
250
|
-
|
116
|
+
export declare const tastyDebug: {
|
117
|
+
css(target: CSSTarget, opts?: CssOptions): string;
|
118
|
+
inspect(target: string | Element, opts?: {
|
119
|
+
root?: Document | ShadowRoot;
|
120
|
+
}): InspectResult;
|
121
|
+
cache(opts?: {
|
122
|
+
root?: Document | ShadowRoot;
|
123
|
+
includeHistory?: boolean;
|
124
|
+
}): CacheStatus;
|
125
|
+
cleanup(opts?: {
|
126
|
+
root?: Document | ShadowRoot;
|
127
|
+
}): void;
|
128
|
+
metrics(opts?: {
|
129
|
+
root?: Document | ShadowRoot;
|
130
|
+
}): CacheMetrics | null;
|
131
|
+
resetMetrics(opts?: {
|
132
|
+
root?: Document | ShadowRoot;
|
133
|
+
}): void;
|
134
|
+
global(opts?: {
|
135
|
+
root?: Document | ShadowRoot;
|
136
|
+
log?: boolean;
|
137
|
+
}): GlobalBreakdown;
|
138
|
+
defs(opts?: {
|
139
|
+
root?: Document | ShadowRoot;
|
140
|
+
}): Definitions;
|
141
|
+
summary(opts?: SummaryOptions): Summary;
|
142
|
+
pageCSS(opts?: {
|
143
|
+
root?: Document | ShadowRoot;
|
144
|
+
prettify?: boolean;
|
145
|
+
log?: boolean;
|
146
|
+
includeCrossOrigin?: boolean;
|
147
|
+
}): string;
|
148
|
+
pageStats(opts?: {
|
149
|
+
root?: Document | ShadowRoot;
|
150
|
+
includeCrossOrigin?: boolean;
|
151
|
+
}): {
|
152
|
+
cssSize: number;
|
153
|
+
ruleCount: number;
|
154
|
+
stylesheetCount: number;
|
155
|
+
skippedStylesheets: number;
|
156
|
+
};
|
157
|
+
install(): void;
|
158
|
+
log(target: CSSTarget, opts?: CssOptions & {
|
159
|
+
title?: string;
|
160
|
+
}): void;
|
161
|
+
help(): void;
|
162
|
+
};
|
163
|
+
export {};
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { StyleResult } from '../utils/renderStyles';
|
2
2
|
import { StyleInjector } from './injector';
|
3
|
-
import { InjectResult, StyleInjectorConfig } from './types';
|
3
|
+
import { GlobalInjectResult, InjectResult, StyleInjectorConfig } from './types';
|
4
4
|
declare const GLOBAL_INJECTOR_KEY = "__TASTY_GLOBAL_INJECTOR__";
|
5
5
|
declare global {
|
6
6
|
interface Window {
|
@@ -11,12 +11,28 @@ declare global {
|
|
11
11
|
* Configure the global style injector
|
12
12
|
*/
|
13
13
|
export declare function configure(config?: Partial<StyleInjectorConfig>): void;
|
14
|
+
/**
|
15
|
+
* Allocate a className for a cacheKey without injecting styles yet
|
16
|
+
*/
|
17
|
+
export declare function allocateClassName(cacheKey: string, options?: {
|
18
|
+
root?: Document | ShadowRoot;
|
19
|
+
}): {
|
20
|
+
className: string;
|
21
|
+
isNewAllocation: boolean;
|
22
|
+
};
|
14
23
|
/**
|
15
24
|
* Inject styles and return className with dispose function
|
16
25
|
*/
|
17
26
|
export declare function inject(rules: StyleResult[], options?: {
|
18
27
|
root?: Document | ShadowRoot;
|
28
|
+
cacheKey?: string;
|
19
29
|
}): InjectResult;
|
30
|
+
/**
|
31
|
+
* Inject global rules that should not reserve tasty class names
|
32
|
+
*/
|
33
|
+
export declare function injectGlobal(rules: StyleResult[], options?: {
|
34
|
+
root?: Document | ShadowRoot;
|
35
|
+
}): GlobalInjectResult;
|
20
36
|
/**
|
21
37
|
* Inject keyframes and return object with toString() and dispose()
|
22
38
|
*/
|
@@ -66,6 +82,6 @@ export declare function createInjector(config?: Partial<StyleInjectorConfig>): S
|
|
66
82
|
export declare function createGlobalStyle<Props = {}>(strings: TemplateStringsArray, ...interpolations: Array<string | number | ((props: Props) => string | number)>): import('react').ComponentType<Props & {
|
67
83
|
root?: Document | ShadowRoot;
|
68
84
|
}>;
|
69
|
-
export type { StyleInjectorConfig, InjectResult, DisposeFunction, RuleInfo, SheetInfo, RootRegistry, StyleRule, KeyframesInfo, KeyframesResult, KeyframesSteps, KeyframesCacheEntry,
|
85
|
+
export type { StyleInjectorConfig, InjectResult, DisposeFunction, RuleInfo, SheetInfo, RootRegistry, StyleRule, KeyframesInfo, KeyframesResult, KeyframesSteps, KeyframesCacheEntry, CacheMetrics, } from './types';
|
70
86
|
export { StyleInjector } from './injector';
|
71
87
|
export { SheetManager } from './sheet-manager';
|
@@ -3,39 +3,47 @@
|
|
3
3
|
* Eliminates CSS string parsing for better performance
|
4
4
|
*/
|
5
5
|
import { StyleResult } from '../utils/renderStyles';
|
6
|
-
import { InjectResult, KeyframesResult, KeyframesSteps, StyleInjectorConfig } from './types';
|
6
|
+
import { GlobalInjectResult, InjectResult, KeyframesResult, KeyframesSteps, StyleInjectorConfig } from './types';
|
7
7
|
import type { ComponentType } from 'react';
|
8
8
|
export declare class StyleInjector {
|
9
9
|
private sheetManager;
|
10
10
|
private config;
|
11
11
|
private cleanupScheduled;
|
12
|
+
private globalRuleCounter;
|
12
13
|
constructor(config?: StyleInjectorConfig);
|
14
|
+
/**
|
15
|
+
* Allocate a className for a cacheKey without injecting styles yet.
|
16
|
+
* This allows separating className allocation (render phase) from style injection (insertion phase).
|
17
|
+
*/
|
18
|
+
allocateClassName(cacheKey: string, options?: {
|
19
|
+
root?: Document | ShadowRoot;
|
20
|
+
}): {
|
21
|
+
className: string;
|
22
|
+
isNewAllocation: boolean;
|
23
|
+
};
|
13
24
|
/**
|
14
25
|
* Inject styles from StyleResult objects
|
15
26
|
*/
|
16
27
|
inject(rules: StyleResult[], options?: {
|
17
28
|
root?: Document | ShadowRoot;
|
29
|
+
cacheKey?: string;
|
18
30
|
}): InjectResult;
|
19
31
|
/**
|
20
|
-
*
|
32
|
+
* Inject global styles (rules without a generated tasty class selector)
|
33
|
+
* This ensures we don't reserve a tasty class name (t{number}) for global rules,
|
34
|
+
* which could otherwise collide with element-level styles and break lookups.
|
21
35
|
*/
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
*/
|
26
|
-
private generateCacheKey;
|
36
|
+
injectGlobal(rules: StyleResult[], options?: {
|
37
|
+
root?: Document | ShadowRoot;
|
38
|
+
}): GlobalInjectResult;
|
27
39
|
/**
|
28
40
|
* Dispose of a className
|
29
41
|
*/
|
30
42
|
private dispose;
|
31
|
-
/**
|
32
|
-
* Cleanup unused rules
|
33
|
-
*/
|
34
|
-
cleanup(root?: Document | ShadowRoot): void;
|
35
43
|
/**
|
36
44
|
* Force bulk cleanup of unused styles
|
37
45
|
*/
|
38
|
-
|
46
|
+
cleanup(root?: Document | ShadowRoot): void;
|
39
47
|
/**
|
40
48
|
* Get CSS text from all sheets (for SSR)
|
41
49
|
*/
|
@@ -60,12 +68,6 @@ export declare class StyleInjector {
|
|
60
68
|
resetMetrics(options?: {
|
61
69
|
root?: Document | ShadowRoot;
|
62
70
|
}): void;
|
63
|
-
/**
|
64
|
-
* Force cleanup of unused styles (useful for memory pressure)
|
65
|
-
*/
|
66
|
-
forceCleanupUnused(options?: {
|
67
|
-
root?: Document | ShadowRoot;
|
68
|
-
}): void;
|
69
71
|
/**
|
70
72
|
* Define a CSS @property custom property
|
71
73
|
* Example:
|
@@ -22,7 +22,15 @@ export declare class SheetManager {
|
|
22
22
|
/**
|
23
23
|
* Insert global CSS rules
|
24
24
|
*/
|
25
|
-
insertGlobalRule(registry: RootRegistry, flattenedRules: StyleRule[],
|
25
|
+
insertGlobalRule(registry: RootRegistry, flattenedRules: StyleRule[], globalKey: string, root: Document | ShadowRoot): RuleInfo | null;
|
26
|
+
/**
|
27
|
+
* Delete a global CSS rule by key
|
28
|
+
*/
|
29
|
+
deleteGlobalRule(registry: RootRegistry, globalKey: string): void;
|
30
|
+
/**
|
31
|
+
* Adjust rule indices after deletion to account for shifting
|
32
|
+
*/
|
33
|
+
private adjustIndicesAfterDeletion;
|
26
34
|
/**
|
27
35
|
* Delete a CSS rule from the sheet
|
28
36
|
*/
|
@@ -36,25 +44,17 @@ export declare class SheetManager {
|
|
36
44
|
*/
|
37
45
|
findAvailableRuleIndex(sheet: SheetInfo): number;
|
38
46
|
/**
|
39
|
-
*
|
40
|
-
*/
|
41
|
-
markAsUnused(registry: RootRegistry, className: string): void;
|
42
|
-
/**
|
43
|
-
* Restore a ruleset from unused styles
|
47
|
+
* Schedule bulk cleanup of all unused styles (non-stacking)
|
44
48
|
*/
|
45
|
-
|
49
|
+
private scheduleBulkCleanup;
|
46
50
|
/**
|
47
|
-
*
|
51
|
+
* Force cleanup of unused styles
|
48
52
|
*/
|
49
|
-
|
53
|
+
forceCleanup(registry: RootRegistry): void;
|
50
54
|
/**
|
51
55
|
* Perform bulk cleanup of all unused styles
|
52
56
|
*/
|
53
57
|
private performBulkCleanup;
|
54
|
-
/**
|
55
|
-
* Process the deletion queue for cleanup
|
56
|
-
*/
|
57
|
-
processCleanupQueue(registry: RootRegistry): void;
|
58
58
|
/**
|
59
59
|
* Get total number of rules across all sheets
|
60
60
|
*/
|
@@ -84,9 +84,13 @@ export declare class SheetManager {
|
|
84
84
|
*/
|
85
85
|
deleteKeyframes(registry: RootRegistry, info: KeyframesInfo): void;
|
86
86
|
/**
|
87
|
-
*
|
87
|
+
* Schedule async cleanup check (non-stacking)
|
88
|
+
*/
|
89
|
+
checkCleanupNeeded(registry: RootRegistry): void;
|
90
|
+
/**
|
91
|
+
* Perform the actual cleanup check (called asynchronously)
|
88
92
|
*/
|
89
|
-
|
93
|
+
private performCleanupCheck;
|
90
94
|
/**
|
91
95
|
* Clean up resources for a root
|
92
96
|
*/
|
@@ -2,6 +2,9 @@ export interface InjectResult {
|
|
2
2
|
className: string;
|
3
3
|
dispose: () => void;
|
4
4
|
}
|
5
|
+
export interface GlobalInjectResult {
|
6
|
+
dispose: () => void;
|
7
|
+
}
|
5
8
|
export type DisposeFunction = () => void;
|
6
9
|
export interface StyleInjectorConfig {
|
7
10
|
nonce?: string;
|
@@ -9,28 +12,37 @@ export interface StyleInjectorConfig {
|
|
9
12
|
unusedStylesThreshold?: number;
|
10
13
|
bulkCleanupDelay?: number;
|
11
14
|
idleCleanup?: boolean;
|
12
|
-
collectMetrics?: boolean;
|
13
15
|
forceTextInjection?: boolean;
|
14
|
-
/**
|
15
|
-
|
16
|
+
/** Enable development mode features: performance metrics and debug information storage */
|
17
|
+
devMode?: boolean;
|
18
|
+
/**
|
19
|
+
* Ratio of unused styles to delete per bulk cleanup run (0..1).
|
20
|
+
* Defaults to 0.5 (oldest half) to reduce risk of removing styles
|
21
|
+
* that may be restored shortly after being marked unused.
|
22
|
+
*/
|
23
|
+
bulkCleanupBatchRatio?: number;
|
24
|
+
/**
|
25
|
+
* Minimum age (in ms) a style must remain unused before eligible for deletion.
|
26
|
+
* Helps avoid races during rapid mount/unmount cycles. Default: 10000ms.
|
27
|
+
*/
|
28
|
+
unusedStylesMinAgeMs?: number;
|
16
29
|
}
|
17
30
|
export interface RuleInfo {
|
18
31
|
className: string;
|
19
32
|
ruleIndex: number;
|
20
33
|
sheetIndex: number;
|
21
|
-
|
34
|
+
/** Dev-only: full CSS texts inserted for this class; omitted in production */
|
35
|
+
cssText?: string[];
|
22
36
|
/** Inclusive end index of the contiguous block of inserted rules for this className */
|
23
37
|
endRuleIndex?: number;
|
38
|
+
/** NEW: exact indices of all inserted rules for this className */
|
39
|
+
indices?: number[];
|
24
40
|
}
|
25
41
|
export interface SheetInfo {
|
26
42
|
sheet: HTMLStyleElement;
|
27
43
|
ruleCount: number;
|
28
44
|
holes: number[];
|
29
45
|
}
|
30
|
-
export interface UnusedRuleInfo {
|
31
|
-
ruleInfo: RuleInfo;
|
32
|
-
markedUnusedAt: number;
|
33
|
-
}
|
34
46
|
export interface CleanupStats {
|
35
47
|
timestamp: number;
|
36
48
|
classesDeleted: number;
|
@@ -40,42 +52,46 @@ export interface CleanupStats {
|
|
40
52
|
export interface CacheMetrics {
|
41
53
|
hits: number;
|
42
54
|
misses: number;
|
43
|
-
unusedHits: number;
|
44
55
|
bulkCleanups: number;
|
45
56
|
totalInsertions: number;
|
46
57
|
totalUnused: number;
|
47
58
|
stylesCleanedUp: number;
|
48
59
|
cleanupHistory: CleanupStats[];
|
49
60
|
startTime: number;
|
61
|
+
unusedHits?: number;
|
50
62
|
}
|
51
63
|
export interface RootRegistry {
|
52
64
|
sheets: SheetInfo[];
|
53
65
|
refCounts: Map<string, number>;
|
54
66
|
rules: Map<string, RuleInfo>;
|
55
|
-
|
67
|
+
/** Cache key to className mapping to avoid dual storage of RuleInfo objects */
|
68
|
+
cacheKeyToClassName: Map<string, string>;
|
56
69
|
/** Deduplication set of fully materialized CSS rules inserted into sheets */
|
57
70
|
ruleTextSet: Set<string>;
|
58
71
|
/** Scheduled bulk cleanup timeout */
|
59
72
|
bulkCleanupTimeout: ReturnType<typeof requestIdleCallback> | ReturnType<typeof setTimeout> | null;
|
73
|
+
/** Scheduled cleanup check timeout */
|
74
|
+
cleanupCheckTimeout: ReturnType<typeof setTimeout> | null;
|
60
75
|
/** Performance metrics (optional) */
|
61
76
|
metrics?: CacheMetrics;
|
62
77
|
/** Counter for generating sequential class names like t0, t1, t2... */
|
63
78
|
classCounter: number;
|
64
79
|
/** Keyframes cache by JSON.stringify(steps) -> entry */
|
65
80
|
keyframesCache: Map<string, KeyframesCacheEntry>;
|
66
|
-
/** Unused keyframes for cleanup */
|
67
|
-
unusedKeyframes: Map<string, UnusedRuleInfo>;
|
68
81
|
/** Counter for generating keyframes names like k0, k1, k2... */
|
69
82
|
keyframesCounter: number;
|
70
83
|
/** Set of injected @property names for tracking */
|
71
84
|
injectedProperties: Set<string>;
|
85
|
+
/** Global rules tracking for index adjustment */
|
86
|
+
globalRules: Map<string, RuleInfo>;
|
72
87
|
}
|
73
88
|
export type StyleRule = import('../utils/renderStyles').StyleResult;
|
74
89
|
export interface KeyframesInfo {
|
75
90
|
name: string;
|
76
91
|
sheetIndex: number;
|
77
92
|
ruleIndex: number;
|
78
|
-
|
93
|
+
/** Dev-only: full CSS text of the @keyframes rule; omitted in production */
|
94
|
+
cssText?: string;
|
79
95
|
}
|
80
96
|
export type KeyframeStep = string | Record<string, string | number>;
|
81
97
|
export type KeyframesSteps = Record<string, KeyframeStep>;
|