@cube-dev/ui-kit 0.75.0 → 0.76.1
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 +20 -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 +644 -775
- package/es/tasty/index.js +1 -1
- package/es/tasty/injector/index.js +37 -15
- package/es/tasty/injector/injector.js +157 -145
- 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 +133 -222
- package/types/tasty/injector/index.d.ts +18 -2
- package/types/tasty/injector/injector.d.ts +24 -16
- 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,93 @@
|
|
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[];
|
51
|
-
};
|
52
|
-
/**
|
53
|
-
* Get a comprehensive summary of all tasty styles
|
54
|
-
*/
|
55
|
-
getSummary(): {
|
56
|
-
activeClasses: string[];
|
57
|
-
cachedClasses: string[];
|
58
|
-
totalStyledClasses: string[];
|
59
|
-
activeCSSSize: number;
|
60
|
-
cachedCSSSize: number;
|
61
|
-
totalCSSSize: number;
|
62
|
-
activeCSS: string;
|
63
|
-
cachedCSS: string;
|
64
|
-
allCSS: string;
|
65
|
-
globalCSS: string;
|
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
|
-
};
|
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[];
|
94
38
|
};
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
39
|
+
metrics: CacheMetrics | null;
|
40
|
+
}
|
41
|
+
interface Definitions {
|
42
|
+
properties: string[];
|
43
|
+
keyframes: Array<{
|
44
|
+
name: string;
|
45
|
+
refCount: number;
|
46
|
+
}>;
|
47
|
+
}
|
48
|
+
interface SummaryOptions {
|
49
|
+
root?: Document | ShadowRoot;
|
50
|
+
log?: boolean;
|
51
|
+
includePageCSS?: false | true | 'all';
|
52
|
+
}
|
53
|
+
interface Summary {
|
54
|
+
activeClasses: string[];
|
55
|
+
unusedClasses: string[];
|
56
|
+
totalStyledClasses: string[];
|
57
|
+
activeCSSSize: number;
|
58
|
+
unusedCSSSize: number;
|
59
|
+
globalCSSSize: number;
|
60
|
+
rawCSSSize: number;
|
61
|
+
keyframesCSSSize: number;
|
62
|
+
propertyCSSSize: number;
|
63
|
+
totalCSSSize: number;
|
64
|
+
activeCSS: string;
|
65
|
+
unusedCSS: string;
|
66
|
+
globalCSS: string;
|
67
|
+
rawCSS: string;
|
68
|
+
keyframesCSS: string;
|
69
|
+
propertyCSS: string;
|
70
|
+
allCSS: string;
|
71
|
+
globalRuleCount: number;
|
72
|
+
rawRuleCount: number;
|
73
|
+
keyframesRuleCount: number;
|
74
|
+
propertyRuleCount: number;
|
75
|
+
page?: {
|
76
|
+
css?: string;
|
106
77
|
cssSize: number;
|
107
78
|
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
|
-
};
|
79
|
+
stylesheetCount: number;
|
80
|
+
skippedStylesheets: number;
|
122
81
|
};
|
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(): {
|
82
|
+
metrics: CacheMetrics | null;
|
83
|
+
definedProperties: string[];
|
84
|
+
definedKeyframes: Array<{
|
139
85
|
name: string;
|
140
86
|
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(): {
|
87
|
+
}>;
|
88
|
+
propertyCount: number;
|
89
|
+
keyframeCount: number;
|
90
|
+
cleanupSummary: {
|
171
91
|
enabled: boolean;
|
172
92
|
totalCleanups: number;
|
173
93
|
totalClassesDeleted: number;
|
@@ -184,67 +104,58 @@ export declare const tastyDebug: {
|
|
184
104
|
rulesDeleted: number;
|
185
105
|
};
|
186
106
|
};
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
107
|
+
}
|
108
|
+
/**
|
109
|
+
* Concise tastyDebug API for inspecting styles at runtime
|
110
|
+
*/
|
111
|
+
export declare const tastyDebug: {
|
112
|
+
css(target: CSSTarget, opts?: CssOptions): string;
|
113
|
+
inspect(target: string | Element, opts?: {
|
114
|
+
root?: Document | ShadowRoot;
|
115
|
+
}): InspectResult;
|
116
|
+
cache(opts?: {
|
117
|
+
root?: Document | ShadowRoot;
|
118
|
+
includeHistory?: boolean;
|
119
|
+
}): CacheStatus;
|
120
|
+
cleanup(opts?: {
|
121
|
+
root?: Document | ShadowRoot;
|
122
|
+
}): void;
|
123
|
+
metrics(opts?: {
|
124
|
+
root?: Document | ShadowRoot;
|
125
|
+
}): CacheMetrics | null;
|
126
|
+
resetMetrics(opts?: {
|
127
|
+
root?: Document | ShadowRoot;
|
128
|
+
}): void;
|
129
|
+
getGlobalTypeCSS(type: "global" | "raw" | "keyframes" | "property", opts?: {
|
130
|
+
root?: Document | ShadowRoot;
|
131
|
+
}): {
|
210
132
|
css: string;
|
211
|
-
|
212
|
-
|
213
|
-
classes: string[];
|
214
|
-
ids: string[];
|
215
|
-
pseudoClasses: string[];
|
216
|
-
mediaQueries: string[];
|
217
|
-
keyframes: string[];
|
218
|
-
other: string[];
|
219
|
-
};
|
133
|
+
ruleCount: number;
|
134
|
+
size: number;
|
220
135
|
};
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
136
|
+
defs(opts?: {
|
137
|
+
root?: Document | ShadowRoot;
|
138
|
+
}): Definitions;
|
139
|
+
summary(opts?: SummaryOptions): Summary;
|
140
|
+
pageCSS(opts?: {
|
141
|
+
root?: Document | ShadowRoot;
|
142
|
+
prettify?: boolean;
|
143
|
+
log?: boolean;
|
144
|
+
includeCrossOrigin?: boolean;
|
145
|
+
}): string;
|
146
|
+
pageStats(opts?: {
|
147
|
+
root?: Document | ShadowRoot;
|
148
|
+
includeCrossOrigin?: boolean;
|
149
|
+
}): {
|
150
|
+
cssSize: number;
|
151
|
+
ruleCount: number;
|
152
|
+
stylesheetCount: number;
|
153
|
+
skippedStylesheets: number;
|
154
|
+
};
|
155
|
+
install(): void;
|
156
|
+
log(target: CSSTarget, opts?: CssOptions & {
|
157
|
+
title?: string;
|
158
|
+
}): void;
|
159
|
+
help(): void;
|
243
160
|
};
|
244
|
-
|
245
|
-
* Install tastyDebug on window object for easy access in browser console
|
246
|
-
* Only in non-production environments
|
247
|
-
*/
|
248
|
-
export declare function installGlobalDebug(options?: {
|
249
|
-
force?: boolean;
|
250
|
-
}): void;
|
161
|
+
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,53 @@
|
|
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
|
-
|
36
|
+
injectGlobal(rules: StyleResult[], options?: {
|
37
|
+
root?: Document | ShadowRoot;
|
38
|
+
}): GlobalInjectResult;
|
23
39
|
/**
|
24
|
-
*
|
40
|
+
* Inject styles from createGlobalStyle (separate from injectGlobal for tracking)
|
25
41
|
*/
|
26
|
-
|
42
|
+
injectCreateGlobalStyle(rules: StyleResult[], options?: {
|
43
|
+
root?: Document | ShadowRoot;
|
44
|
+
}): GlobalInjectResult;
|
27
45
|
/**
|
28
46
|
* Dispose of a className
|
29
47
|
*/
|
30
48
|
private dispose;
|
31
|
-
/**
|
32
|
-
* Cleanup unused rules
|
33
|
-
*/
|
34
|
-
cleanup(root?: Document | ShadowRoot): void;
|
35
49
|
/**
|
36
50
|
* Force bulk cleanup of unused styles
|
37
51
|
*/
|
38
|
-
|
52
|
+
cleanup(root?: Document | ShadowRoot): void;
|
39
53
|
/**
|
40
54
|
* Get CSS text from all sheets (for SSR)
|
41
55
|
*/
|
@@ -60,12 +74,6 @@ export declare class StyleInjector {
|
|
60
74
|
resetMetrics(options?: {
|
61
75
|
root?: Document | ShadowRoot;
|
62
76
|
}): void;
|
63
|
-
/**
|
64
|
-
* Force cleanup of unused styles (useful for memory pressure)
|
65
|
-
*/
|
66
|
-
forceCleanupUnused(options?: {
|
67
|
-
root?: Document | ShadowRoot;
|
68
|
-
}): void;
|
69
77
|
/**
|
70
78
|
* Define a CSS @property custom property
|
71
79
|
* 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>;
|