@cube-dev/ui-kit 0.98.9 → 0.99.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 +36 -0
- package/es/_internal/hooks/index.js +10 -10
- package/es/_internal/hooks/use-chained-callback.js +2 -2
- package/es/_internal/hooks/use-debounced-value.js +1 -1
- package/es/_internal/hooks/use-deprecation-warning.js +2 -2
- package/es/_internal/hooks/use-effect-once.js +1 -1
- package/es/_internal/hooks/use-event.js +2 -2
- package/es/_internal/hooks/use-is-first-render.js +1 -1
- package/es/_internal/hooks/use-sync-ref.js +2 -2
- package/es/_internal/hooks/use-timer/index.js +3 -3
- package/es/_internal/hooks/use-timer/timer.js +1 -1
- package/es/_internal/hooks/use-timer/use-timer.js +3 -3
- package/es/_internal/hooks/use-update-effect.js +2 -2
- package/es/_internal/hooks/use-warn.js +3 -3
- package/es/_internal/index.js +2 -2
- package/es/components/Block.js +2 -2
- package/es/components/CollectionItem.js +3 -3
- package/es/components/GlobalStyles.js +56 -65
- package/es/components/GridProvider.js +4 -4
- package/es/components/HiddenInput.js +2 -2
- package/es/components/OpenTrasition.js +1 -1
- package/es/components/Root.js +22 -64
- package/es/components/actions/Action/Action.js +3 -3
- package/es/components/actions/Button/Button.js +12 -12
- package/es/components/actions/Button/index.js +2 -2
- package/es/components/actions/ButtonGroup/ButtonGroup.js +4 -4
- package/es/components/actions/CommandMenu/CommandMenu.js +11 -11
- package/es/components/actions/CommandMenu/index.js +2 -2
- package/es/components/actions/CommandMenu/styled.js +2 -2
- package/es/components/actions/ItemAction/ItemAction.js +9 -9
- package/es/components/actions/ItemAction/index.js +2 -2
- package/es/components/actions/ItemActionContext.js +1 -1
- package/es/components/actions/ItemButton/ItemButton.js +9 -9
- package/es/components/actions/ItemButton/index.js +2 -2
- package/es/components/actions/Link/Link.js +2 -2
- package/es/components/actions/Menu/Menu.js +10 -10
- package/es/components/actions/Menu/MenuItem.js +7 -7
- package/es/components/actions/Menu/MenuSection.js +4 -4
- package/es/components/actions/Menu/MenuTrigger.js +6 -6
- package/es/components/actions/Menu/SubMenuTrigger.js +6 -6
- 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 +10 -10
- package/es/components/actions/Menu/styled.js +5 -5
- package/es/components/actions/index.js +13 -13
- package/es/components/actions/use-action.js +7 -7
- package/es/components/actions/use-anchored-menu.js +6 -6
- package/es/components/actions/use-context-menu.js +6 -6
- package/es/components/content/ActiveZone/ActiveZone.js +4 -4
- package/es/components/content/Alert/Alert.js +4 -4
- package/es/components/content/Alert/index.js +2 -2
- package/es/components/content/Alert/types.js +1 -1
- package/es/components/content/Alert/use-alert.js +3 -3
- package/es/components/content/Avatar/Avatar.js +2 -2
- package/es/components/content/Badge/Badge.js +4 -4
- package/es/components/content/Card/Card.js +2 -2
- package/es/components/content/Content.js +3 -3
- package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +8 -8
- package/es/components/content/CopyPasteBlock/index.js +2 -2
- package/es/components/content/CopySnippet/CopySnippet.js +9 -9
- package/es/components/content/CopySnippet/index.js +2 -2
- package/es/components/content/Disclosure/Disclosure.js +6 -6
- package/es/components/content/Disclosure/index.js +2 -2
- package/es/components/content/Divider.js +3 -3
- package/es/components/content/Footer.js +3 -3
- package/es/components/content/Header.js +3 -3
- package/es/components/content/HotKeys/HotKeys.js +5 -5
- package/es/components/content/HotKeys/index.js +2 -2
- package/es/components/content/Item/Item.js +15 -15
- package/es/components/content/Item/index.js +3 -3
- package/es/components/content/ItemBadge/ItemBadge.js +8 -8
- package/es/components/content/ItemBadge/index.js +2 -2
- package/es/components/content/Layout/GridLayout.js +13 -13
- package/es/components/content/Layout/Layout.js +7 -6
- package/es/components/content/Layout/LayoutBlock.js +4 -3
- package/es/components/content/Layout/LayoutCenter.js +3 -3
- package/es/components/content/Layout/LayoutContainer.js +4 -4
- package/es/components/content/Layout/LayoutContent.js +6 -5
- package/es/components/content/Layout/LayoutContext.js +1 -1
- package/es/components/content/Layout/LayoutFlex.js +4 -3
- package/es/components/content/Layout/LayoutFooter.js +4 -3
- package/es/components/content/Layout/LayoutGrid.js +4 -3
- package/es/components/content/Layout/LayoutHeader.js +8 -7
- package/es/components/content/Layout/LayoutPane.js +8 -7
- package/es/components/content/Layout/LayoutPanel.js +10 -9
- package/es/components/content/Layout/LayoutPanelHeader.js +7 -7
- package/es/components/content/Layout/LayoutToolbar.js +4 -3
- package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/es/components/content/Layout/index.js +16 -16
- package/es/components/content/Layout/utils.js +1 -1
- package/es/components/content/List/SectionHeading.js +3 -3
- package/es/components/content/List/index.js +2 -2
- package/es/components/content/Paragraph.js +3 -3
- package/es/components/content/Placeholder/Placeholder.js +2 -2
- package/es/components/content/PrismCode/PrismCode.js +7 -7
- package/es/components/content/PrismCode/prismSetup.js +1 -1
- package/es/components/content/PrismDiffCode/PrismDiffCode.js +2 -2
- package/es/components/content/Result/Result.js +4 -4
- package/es/components/content/Skeleton/Skeleton.js +5 -5
- package/es/components/content/Tag/Tag.js +4 -4
- package/es/components/content/Text.js +3 -3
- package/es/components/content/TextItem/TextItem.js +5 -5
- package/es/components/content/TextItem/index.js +2 -2
- package/es/components/content/Title.js +4 -4
- package/es/components/content/highlightText.js +2 -2
- package/es/components/content/use-auto-tooltip.js +2 -2
- package/es/components/fields/Checkbox/Checkbox.js +12 -12
- package/es/components/fields/Checkbox/CheckboxGroup.js +7 -7
- package/es/components/fields/Checkbox/context.js +1 -1
- package/es/components/fields/Checkbox/index.js +3 -3
- package/es/components/fields/ComboBox/ComboBox.js +18 -18
- package/es/components/fields/ComboBox/index.js +2 -2
- package/es/components/fields/DatePicker/DateInput.js +10 -10
- package/es/components/fields/DatePicker/DateInputBase.js +6 -6
- package/es/components/fields/DatePicker/DatePicker.js +14 -14
- package/es/components/fields/DatePicker/DatePickerButton.js +4 -4
- package/es/components/fields/DatePicker/DatePickerElement.js +3 -3
- package/es/components/fields/DatePicker/DatePickerInput.js +5 -5
- package/es/components/fields/DatePicker/DatePickerSegment.js +2 -2
- package/es/components/fields/DatePicker/DateRangePicker.js +15 -15
- package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +15 -15
- package/es/components/fields/DatePicker/TimeInput.js +9 -9
- package/es/components/fields/DatePicker/index.js +8 -8
- 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 +6 -6
- package/es/components/fields/FilterListBox/FilterListBox.js +10 -10
- package/es/components/fields/FilterListBox/index.js +2 -2
- package/es/components/fields/FilterPicker/FilterPicker.js +14 -14
- package/es/components/fields/FilterPicker/index.js +2 -2
- package/es/components/fields/Input/Input.js +6 -6
- package/es/components/fields/Input/index.js +2 -2
- package/es/components/fields/ListBox/ListBox.js +14 -14
- package/es/components/fields/ListBox/index.js +2 -2
- package/es/components/fields/NumberInput/NumberInput.js +8 -8
- package/es/components/fields/NumberInput/StepButton.js +4 -4
- package/es/components/fields/PasswordInput/PasswordInput.js +8 -8
- package/es/components/fields/Picker/Picker.js +13 -13
- package/es/components/fields/Picker/index.js +2 -2
- package/es/components/fields/RadioGroup/Radio.js +10 -10
- package/es/components/fields/RadioGroup/RadioGroup.js +7 -7
- package/es/components/fields/RadioGroup/context.js +1 -1
- package/es/components/fields/RadioGroup/index.js +3 -3
- package/es/components/fields/SearchInput/SearchInput.js +8 -8
- package/es/components/fields/SearchInput/index.js +2 -2
- package/es/components/fields/Select/Select.js +20 -20
- package/es/components/fields/Select/index.js +2 -2
- package/es/components/fields/Slider/Gradation.js +2 -2
- package/es/components/fields/Slider/Header.js +1 -1
- package/es/components/fields/Slider/RangeSlider.js +5 -5
- package/es/components/fields/Slider/Slider.js +7 -7
- package/es/components/fields/Slider/SliderBase.js +6 -6
- package/es/components/fields/Slider/SliderInput.js +2 -2
- package/es/components/fields/Slider/SliderThumb.js +3 -3
- package/es/components/fields/Slider/SliderTrack.js +2 -2
- package/es/components/fields/Slider/elements.js +2 -2
- package/es/components/fields/Slider/index.js +4 -4
- package/es/components/fields/Slider/types.js +1 -1
- package/es/components/fields/Switch/Switch.js +11 -11
- package/es/components/fields/Switch/index.js +2 -2
- package/es/components/fields/TextArea/TextArea.js +7 -7
- package/es/components/fields/TextArea/index.js +2 -2
- package/es/components/fields/TextInput/TextInput.js +6 -6
- package/es/components/fields/TextInput/TextInputBase.js +9 -9
- package/es/components/fields/TextInput/index.js +3 -3
- package/es/components/fields/TextInputMapper/TextInputMapper.js +14 -14
- package/es/components/fields/TextInputMapper/index.js +2 -2
- package/es/components/fields/index.js +20 -20
- package/es/components/form/FieldWrapper/FieldWrapper.js +9 -9
- package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
- package/es/components/form/FieldWrapper/index.js +4 -4
- package/es/components/form/FieldWrapper/types.js +1 -1
- package/es/components/form/Form/Field.js +6 -6
- package/es/components/form/Form/Form.js +6 -6
- package/es/components/form/Form/ResetButton/ResetButton.js +6 -6
- package/es/components/form/Form/ResetButton/index.js +2 -2
- package/es/components/form/Form/SubmitButton/SubmitButton.js +4 -4
- package/es/components/form/Form/SubmitButton/index.js +2 -2
- package/es/components/form/Form/SubmitError.js +3 -3
- package/es/components/form/Form/index.js +11 -11
- package/es/components/form/Form/types.js +1 -1
- package/es/components/form/Form/use-field/index.js +4 -4
- package/es/components/form/Form/use-field/types.js +1 -1
- package/es/components/form/Form/use-field/use-field-props.js +6 -6
- package/es/components/form/Form/use-field/use-field.js +4 -4
- package/es/components/form/Form/use-form.js +3 -3
- package/es/components/form/Form/validation.js +1 -1
- package/es/components/form/Label.js +3 -3
- package/es/components/form/index.js +5 -5
- package/es/components/form/wrapper.js +3 -3
- package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/es/components/helpers/DisplayTransition/index.js +2 -2
- package/es/components/helpers/IconSwitch/IconSwitch.js +3 -3
- package/es/components/helpers/index.js +3 -3
- package/es/components/layout/Flex.js +2 -2
- package/es/components/layout/Flow.js +2 -2
- package/es/components/layout/Grid.js +2 -2
- package/es/components/layout/Panel.js +2 -2
- package/es/components/layout/Prefix.js +3 -3
- package/es/components/layout/ResizablePanel.js +5 -5
- package/es/components/layout/Space.js +2 -2
- package/es/components/layout/Suffix.js +3 -3
- package/es/components/organisms/FileTabs/FileTabs.js +8 -8
- package/es/components/organisms/StatsCard/StatsCard.js +4 -4
- package/es/components/other/Calendar/Calendar.js +8 -8
- package/es/components/other/Calendar/CalendarCell.js +2 -2
- package/es/components/other/Calendar/CalendarGrid.js +3 -3
- package/es/components/other/Calendar/RangeCalendar.js +8 -8
- package/es/components/other/CloudLogo/CloudLogo.js +3 -3
- package/es/components/overlays/AlertDialog/AlertDialog.js +11 -11
- package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +2 -2
- package/es/components/overlays/AlertDialog/AlertDialogZone.js +4 -4
- package/es/components/overlays/AlertDialog/index.js +4 -4
- package/es/components/overlays/AlertDialog/types.js +1 -1
- package/es/components/overlays/Dialog/Dialog.js +7 -7
- package/es/components/overlays/Dialog/DialogContainer.js +3 -3
- package/es/components/overlays/Dialog/DialogForm.js +8 -8
- package/es/components/overlays/Dialog/DialogTrigger.js +4 -4
- package/es/components/overlays/Dialog/context.js +1 -1
- package/es/components/overlays/Dialog/index.js +6 -6
- package/es/components/overlays/Dialog/use-dialog-container.js +4 -4
- package/es/components/overlays/Modal/Modal.js +5 -5
- package/es/components/overlays/Modal/OpenTransition.js +1 -1
- package/es/components/overlays/Modal/Overlay.js +3 -3
- package/es/components/overlays/Modal/Popover.js +4 -4
- package/es/components/overlays/Modal/Tray.js +6 -6
- package/es/components/overlays/Modal/Underlay.js +2 -2
- package/es/components/overlays/Modal/index.js +7 -7
- package/es/components/overlays/Modal/types.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +5 -5
- package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +7 -7
- package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +36 -34
- package/es/components/overlays/NewNotifications/Bar/index.js +2 -2
- package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +8 -8
- package/es/components/overlays/NewNotifications/Dialog/index.js +2 -2
- package/es/components/overlays/NewNotifications/Notification.js +4 -4
- package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +5 -5
- package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +4 -4
- package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +4 -4
- package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +3 -3
- package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +3 -3
- package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +4 -4
- package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +12 -12
- package/es/components/overlays/NewNotifications/NotificationView/index.js +3 -3
- 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 +5 -5
- package/es/components/overlays/NewNotifications/NotificationsContext/index.js +3 -3
- package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +2 -2
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +4 -4
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +5 -5
- package/es/components/overlays/NewNotifications/NotificationsList/index.js +2 -2
- package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/index.js +6 -6
- 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 +2 -2
- package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +3 -3
- package/es/components/overlays/NewNotifications/index.js +7 -7
- package/es/components/overlays/NewNotifications/types.js +1 -1
- package/es/components/overlays/Notification/Notification.js +7 -7
- package/es/components/overlays/OverlayWrapper.js +2 -2
- package/es/components/overlays/Toasts/Toast.js +4 -4
- package/es/components/overlays/Toasts/index.js +3 -3
- package/es/components/overlays/Toasts/types.js +1 -1
- package/es/components/overlays/Toasts/use-toasts-api.js +2 -2
- package/es/components/overlays/Tooltip/Tooltip.js +4 -4
- package/es/components/overlays/Tooltip/TooltipProvider.js +3 -3
- package/es/components/overlays/Tooltip/TooltipTrigger.js +6 -6
- package/es/components/overlays/Tooltip/context.js +1 -1
- package/es/components/overlays/Tooltip/index.js +4 -4
- package/es/components/portal/Portal.js +2 -2
- package/es/components/portal/PortalProvider.js +1 -1
- package/es/components/portal/index.js +3 -3
- package/es/components/portal/types.js +1 -1
- package/es/components/portal/usePortal.js +2 -2
- package/es/components/shared/InvalidIcon.js +2 -2
- package/es/components/shared/ValidIcon.js +2 -2
- package/es/components/status/LoadingAnimation/LoadingAnimation.js +58 -114
- package/es/components/status/LoadingAnimation/index.js +2 -2
- package/es/components/status/Spin/Cube.js +95 -179
- package/es/components/status/Spin/InternalSpinner.js +5 -5
- package/es/components/status/Spin/Spin.js +4 -4
- package/es/components/status/Spin/SpinsContainer.js +28 -30
- package/es/components/status/Spin/index.js +2 -2
- package/es/components/status/Spin/types.js +1 -1
- package/es/components/status/index.js +3 -3
- package/es/data/item-themes.js +1 -1
- package/es/data/themes.js +1 -1
- package/es/icons/AdjustmentsHorizontalIcon.js +2 -2
- package/es/icons/AdjustmentsIcon.js +2 -2
- package/es/icons/AiIcon.js +2 -2
- package/es/icons/AreaChartIcon.js +2 -2
- package/es/icons/BackwardIcon.js +2 -2
- package/es/icons/BarChartIcon.js +2 -2
- package/es/icons/BellFilledIcon.js +2 -2
- package/es/icons/BellIcon.js +2 -2
- package/es/icons/BooleanIcon.js +2 -2
- package/es/icons/CalendarEditIcon.js +2 -2
- package/es/icons/CalendarIcon.js +2 -2
- package/es/icons/CaretDownIcon.js +2 -2
- package/es/icons/CaretUpIcon.js +2 -2
- package/es/icons/ChartAreaStackedIcon.js +2 -2
- package/es/icons/ChartAreaStackedPercentageIcon.js +2 -2
- package/es/icons/ChartBarGroupedHorizontalIcon.js +2 -2
- package/es/icons/ChartBarGroupedIcon.js +2 -2
- package/es/icons/ChartBarHorizontalIcon.js +2 -2
- package/es/icons/ChartBarLineIcon.js +2 -2
- package/es/icons/ChartBarStackedHorizontalIcon.js +2 -2
- package/es/icons/ChartBarStackedIcon.js +2 -2
- package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +2 -2
- package/es/icons/ChartBarStackedPercentageIcon.js +2 -2
- package/es/icons/ChartBoxPlot2Icon.js +2 -2
- package/es/icons/ChartBoxPlotIcon.js +2 -2
- package/es/icons/ChartBubbleIcon.js +2 -2
- package/es/icons/ChartDonut2Icon.js +2 -2
- package/es/icons/ChartFunnelIcon.js +2 -2
- package/es/icons/ChartHeatmapIcon.js +2 -2
- package/es/icons/ChartKPIIcon.js +2 -2
- package/es/icons/ChartPie2Icon.js +2 -2
- package/es/icons/ChartScatterIcon.js +2 -2
- package/es/icons/CheckCircleFilledIcon.js +2 -2
- package/es/icons/CheckCircleIcon.js +2 -2
- package/es/icons/CheckIcon.js +2 -2
- package/es/icons/CircleFilledIcon.js +2 -2
- package/es/icons/ClearIcon.js +2 -2
- package/es/icons/CloseCircleFilledIcon.js +2 -2
- package/es/icons/CloseCircleIcon.js +2 -2
- package/es/icons/CloseIcon.js +2 -2
- package/es/icons/CodeIcon.js +2 -2
- package/es/icons/ColumnTotalIcon.js +2 -2
- package/es/icons/CopyIcon.js +2 -2
- package/es/icons/CountIcon.js +2 -2
- package/es/icons/CubeIcon.js +2 -2
- package/es/icons/CubePauseIcon.js +2 -2
- package/es/icons/CubePlayIcon.js +2 -2
- package/es/icons/CurrencyDollarIcon.js +2 -2
- package/es/icons/DangerIcon.js +2 -2
- package/es/icons/DashboardIcon.js +2 -2
- package/es/icons/DatabaseIcon.js +2 -2
- package/es/icons/DecimalDecreaseIcon.js +2 -2
- package/es/icons/DecimalIncreaseIcon.js +2 -2
- package/es/icons/DirectionIcon.js +3 -3
- package/es/icons/DonutIcon.js +2 -2
- package/es/icons/DownIcon.js +2 -2
- package/es/icons/EditIcon.js +2 -2
- package/es/icons/ExclamationCircleFilledIcon.js +2 -2
- package/es/icons/ExclamationCircleIcon.js +2 -2
- package/es/icons/ExclamationIcon.js +2 -2
- package/es/icons/EyeIcon.js +2 -2
- package/es/icons/EyeInvisibleIcon.js +2 -2
- package/es/icons/FilterIcon.js +2 -2
- package/es/icons/FolderFilledIcon.js +2 -2
- package/es/icons/FolderIcon.js +2 -2
- package/es/icons/FolderOpenFilledIcon.js +2 -2
- package/es/icons/FolderOpenIcon.js +2 -2
- package/es/icons/ForwardIcon.js +2 -2
- package/es/icons/HierarchyIcon.js +2 -2
- package/es/icons/HierarchyOpenIcon.js +2 -2
- package/es/icons/Icon.js +2 -2
- package/es/icons/InfoCircleIcon.js +2 -2
- package/es/icons/InfoIcon.js +2 -2
- package/es/icons/KeyIcon.js +2 -2
- package/es/icons/LeftIcon.js +2 -2
- package/es/icons/LineChartIcon.js +2 -2
- package/es/icons/LoadingIcon.js +2 -2
- package/es/icons/LockFilledIcon.js +2 -2
- package/es/icons/LockIcon.js +2 -2
- package/es/icons/MoreIcon.js +2 -2
- package/es/icons/NotAllowedIcon.js +2 -2
- package/es/icons/Number123Icon.js +2 -2
- package/es/icons/NumberIcon.js +2 -2
- package/es/icons/PauseCircleFilledIcon.js +2 -2
- package/es/icons/PauseCircleIcon.js +2 -2
- package/es/icons/PauseIcon.js +2 -2
- package/es/icons/PercentageIcon.js +2 -2
- package/es/icons/PieChartIcon.js +2 -2
- package/es/icons/PlayCircleIcon.js +2 -2
- package/es/icons/PlayIcon.js +2 -2
- package/es/icons/PlusIcon.js +2 -2
- package/es/icons/ProgressBarIcon.js +2 -2
- package/es/icons/ReloadIcon.js +2 -2
- package/es/icons/ReportIcon.js +2 -2
- package/es/icons/ReturnIcon.js +2 -2
- package/es/icons/RightIcon.js +2 -2
- package/es/icons/RowTotalsIcon.js +2 -2
- package/es/icons/SchemeIcon.js +2 -2
- package/es/icons/SearchIcon.js +2 -2
- package/es/icons/SemanticQueryIcon.js +2 -2
- package/es/icons/SettingsIcon.js +2 -2
- package/es/icons/ShieldFilledIcon.js +2 -2
- package/es/icons/ShieldIcon.js +2 -2
- package/es/icons/SlashIcon.js +2 -2
- package/es/icons/SparklesIcon.js +2 -2
- package/es/icons/SqlIcon.js +2 -2
- package/es/icons/StatsIcon.js +2 -2
- package/es/icons/StopIcon.js +2 -2
- package/es/icons/StringIcon.js +2 -2
- package/es/icons/SubtotalsIcon.js +2 -2
- package/es/icons/SwitchIcon.js +2 -2
- package/es/icons/TableIcon.js +2 -2
- package/es/icons/ThumbsDownIcon.js +2 -2
- package/es/icons/ThumbsUpIcon.js +2 -2
- package/es/icons/ThunderboltCrossedIcon.js +2 -2
- package/es/icons/ThunderboltFilledIcon.js +2 -2
- package/es/icons/ThunderboltIcon.js +2 -2
- package/es/icons/TimeIcon.js +2 -2
- package/es/icons/TrashIcon.js +2 -2
- package/es/icons/UnlockIcon.js +2 -2
- package/es/icons/UpIcon.js +2 -2
- package/es/icons/UserGroupIcon.js +2 -2
- package/es/icons/UserIcon.js +2 -2
- package/es/icons/UserLockIcon.js +2 -2
- package/es/icons/ViewIcon.js +2 -2
- package/es/icons/WarningFilledIcon.js +2 -2
- package/es/icons/WarningIcon.js +2 -2
- package/es/icons/index.js +129 -129
- package/es/icons/wrap-icon.js +2 -2
- package/es/index.js +73 -74
- package/es/provider.js +4 -10
- package/es/providers/TrackingProvider.js +1 -1
- package/es/providers/navigation.types.js +1 -1
- package/es/providers/navigationAdapter.default.js +1 -1
- package/es/services/notification.js +2 -2
- package/es/shared/form.js +1 -1
- package/es/shared/index.js +2 -2
- package/es/stories/Form.legacy-stories.js +4 -4
- package/es/stories/FormFieldArgs.js +2 -2
- package/es/stories/SimpleLayout.stories.js +2 -2
- package/es/stories/Tasty.stories.js +2 -2
- package/es/stories/components/ConfirmDeletionDialogForm.js +2 -2
- package/es/stories/components/DialogFormApp.js +3 -3
- package/es/stories/components/StyledButton.js +19 -15
- package/es/stories/lists/baseProps.js +2 -2
- package/es/stories/playground/PlaygroundEditor.js +89 -0
- package/es/stories/playground/PlaygroundLayout.js +16 -0
- package/es/stories/playground/PlaygroundOutput.js +92 -0
- package/es/stories/playground/PlaygroundPreview.js +91 -0
- package/es/stories/playground/components/Button.js +45 -0
- package/es/stories/playground/components/Card.js +20 -0
- package/es/stories/playground/components/ScrollProgress.js +17 -0
- package/es/stories/playground/examples.js +158 -0
- package/es/tasty/chunks/cacheKey.js +98 -0
- package/es/tasty/chunks/definitions.js +281 -0
- package/es/tasty/chunks/index.js +12 -0
- package/es/tasty/chunks/renderChunk.js +97 -0
- package/es/tasty/config.js +280 -0
- package/es/tasty/debug.js +195 -9
- package/es/tasty/hooks/index.js +12 -0
- package/es/tasty/hooks/useGlobalStyles.js +67 -0
- package/es/tasty/hooks/useRawCSS.js +40 -0
- package/es/tasty/hooks/useStyles.js +206 -0
- package/es/tasty/index.js +31 -17
- package/es/tasty/injector/index.js +34 -90
- package/es/tasty/injector/injector.js +81 -299
- package/es/tasty/injector/sheet-manager.js +138 -3
- package/es/tasty/injector/types.js +1 -1
- package/es/tasty/keyframes/index.js +301 -0
- package/es/tasty/parser/classify.js +8 -6
- package/es/tasty/parser/const.js +1 -1
- package/es/tasty/parser/lru.js +1 -1
- package/es/tasty/parser/parser.js +18 -5
- package/es/tasty/parser/tokenizer.js +1 -1
- package/es/tasty/parser/types.js +2 -1
- package/es/tasty/pipeline/conditions.js +426 -0
- package/es/tasty/pipeline/exclusive.js +311 -0
- package/es/tasty/pipeline/index.js +543 -0
- package/es/tasty/pipeline/materialize.js +1260 -0
- package/es/tasty/pipeline/parseStateKey.js +592 -0
- package/es/tasty/pipeline/simplify.js +898 -0
- package/es/tasty/plugins/index.js +26 -0
- package/es/tasty/plugins/okhsl-plugin.js +400 -0
- package/es/tasty/plugins/types.js +10 -0
- package/es/tasty/states/index.js +523 -0
- package/es/tasty/static/index.js +47 -0
- package/es/tasty/static/tastyStatic.js +55 -0
- package/es/tasty/static/types.js +34 -0
- package/es/tasty/styles/align.js +1 -1
- package/es/tasty/styles/border.js +2 -2
- package/es/tasty/styles/boxShadow.combinator.js +1 -1
- package/es/tasty/styles/color.js +3 -3
- package/es/tasty/styles/createStyle.js +3 -3
- package/es/tasty/styles/dimension.js +2 -2
- package/es/tasty/styles/display.js +1 -1
- package/es/tasty/styles/fade.js +2 -2
- package/es/tasty/styles/fill.js +11 -21
- 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 +2 -2
- package/es/tasty/styles/groupRadius.js +2 -2
- package/es/tasty/styles/height.js +2 -2
- package/es/tasty/styles/index.js +3 -3
- package/es/tasty/styles/inset.js +2 -2
- package/es/tasty/styles/justify.js +1 -1
- package/es/tasty/styles/list.js +1 -1
- package/es/tasty/styles/margin.js +76 -56
- package/es/tasty/styles/outline.js +2 -2
- package/es/tasty/styles/padding.js +76 -56
- package/es/tasty/styles/place.js +1 -1
- package/es/tasty/styles/predefined.js +28 -27
- package/es/tasty/styles/preset.js +2 -2
- package/es/tasty/styles/radius.js +5 -12
- package/es/tasty/styles/reset.js +3 -7
- package/es/tasty/styles/scrollbar.js +2 -2
- package/es/tasty/styles/shadow.js +2 -2
- package/es/tasty/styles/styledScrollbar.js +1 -1
- package/es/tasty/styles/transition.js +10 -3
- package/es/tasty/styles/types.js +1 -1
- package/es/tasty/styles/width.js +2 -2
- package/es/tasty/tasty.js +81 -122
- package/es/tasty/types.js +1 -1
- package/es/tasty/utils/cache-wrapper.js +1 -1
- package/es/tasty/utils/case-converter.js +1 -1
- package/es/tasty/utils/colors.js +1 -1
- package/es/tasty/utils/dotize.js +1 -1
- package/es/tasty/utils/filterBaseProps.js +1 -1
- package/es/tasty/utils/getDisplayName.js +1 -1
- package/es/tasty/utils/isDevEnv.js +1 -1
- package/es/tasty/utils/mergeStyles.js +2 -2
- package/es/tasty/utils/modAttrs.js +3 -3
- package/es/tasty/utils/processTokens.js +88 -2
- package/es/tasty/utils/string.js +1 -1
- package/es/tasty/utils/styles.js +255 -22
- package/es/tasty/utils/typography.js +67 -0
- package/es/tasty/utils/warnings.js +1 -1
- package/es/tasty/zero/babel.js +453 -0
- package/es/tasty/zero/css-writer.js +94 -0
- package/es/tasty/zero/extractor.js +222 -0
- package/es/tasty/zero/index.js +28 -0
- package/es/tasty/zero/next.js +102 -0
- package/es/tokens/base.js +64 -0
- package/es/tokens/colors.js +68 -0
- package/es/tokens/index.js +63 -0
- package/es/tokens/layout.js +26 -0
- package/es/tokens/shadows.js +27 -0
- package/es/tokens/sizes.js +42 -0
- package/es/tokens/spacing.js +22 -0
- package/es/tokens/typography.js +237 -0
- package/es/utils/ResizeSensor.js +1 -1
- package/es/utils/index.js +10 -10
- package/es/utils/modules.js +1 -1
- package/es/utils/promise.js +1 -1
- package/es/utils/raf.js +1 -1
- package/es/utils/random.js +1 -1
- package/es/utils/range.js +1 -1
- package/es/utils/react/RenderCache.js +1 -1
- package/es/utils/react/Slots.js +2 -2
- package/es/utils/react/chain.js +1 -1
- package/es/utils/react/forwardRefWithGenerics.js +1 -1
- package/es/utils/react/index.js +17 -17
- 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 +4 -4
- package/es/utils/react/nullableValue.js +1 -1
- package/es/utils/react/resolveIcon.js +1 -1
- package/es/utils/react/sharedStore.js +2 -2
- package/es/utils/react/useCombinedRefs.js +1 -1
- package/es/utils/react/useControlledFocusVisible.js +2 -2
- package/es/utils/react/useEventBus.js +1 -1
- package/es/utils/react/useId.js +2 -2
- package/es/utils/react/useIsDarwin.js +1 -1
- package/es/utils/react/useKeySymbols.js +2 -2
- package/es/utils/react/useLayoutEffect.js +1 -1
- package/es/utils/react/useLocalStorage.js +2 -2
- package/es/utils/react/useQaProps.js +1 -1
- package/es/utils/react/useViewportSize.js +1 -1
- package/es/utils/react/wrapNodeIfPlain.js +1 -1
- package/es/utils/tree.js +1 -1
- package/es/utils/warnings.js +1 -1
- package/es/version.js +2 -2
- package/package.json +14 -4
- package/types/components/GlobalStyles.d.ts +2 -1
- package/types/components/HiddenInput.d.ts +828 -826
- package/types/components/Root.d.ts +1 -0
- package/types/components/actions/Button/Button.d.ts +1649 -1645
- package/types/components/actions/CommandMenu/styled.d.ts +4140 -4130
- package/types/components/actions/Menu/styled.d.ts +4893 -4883
- package/types/components/actions/use-action.d.ts +1 -1
- package/types/components/content/List/SectionHeading.d.ts +251 -251
- package/types/components/content/Text.d.ts +1487 -1487
- package/types/components/fields/DatePicker/DatePickerElement.d.ts +251 -251
- package/types/components/fields/Select/Select.d.ts +828 -826
- package/types/components/fields/Slider/elements.d.ts +4968 -4956
- package/types/components/status/Spin/Cube.d.ts +1 -1
- package/types/components/status/Spin/SpinsContainer.d.ts +6 -3
- package/types/index.d.ts +1 -4
- package/types/provider.d.ts +1 -2
- package/types/stories/components/StyledButton.d.ts +1 -1
- package/types/stories/playground/PlaygroundEditor.d.ts +6 -0
- package/types/stories/playground/PlaygroundLayout.d.ts +8 -0
- package/types/stories/playground/PlaygroundOutput.d.ts +5 -0
- package/types/stories/playground/PlaygroundPreview.d.ts +6 -0
- package/types/stories/playground/components/Button.d.ts +11 -0
- package/types/stories/playground/components/Card.d.ts +7 -0
- package/types/stories/playground/components/ScrollProgress.d.ts +5 -0
- package/types/stories/playground/examples.d.ts +7 -0
- package/types/tasty/chunks/cacheKey.d.ts +26 -0
- package/types/tasty/chunks/definitions.d.ts +75 -0
- package/types/tasty/chunks/index.d.ts +4 -0
- package/types/tasty/chunks/renderChunk.d.ts +25 -0
- package/types/tasty/config.d.ts +171 -0
- package/types/tasty/debug.d.ts +35 -0
- package/types/tasty/hooks/index.d.ts +4 -0
- package/types/tasty/hooks/useGlobalStyles.d.ts +22 -0
- package/types/tasty/hooks/useRawCSS.d.ts +50 -0
- package/types/tasty/hooks/useStyles.d.ts +35 -0
- package/types/tasty/index.d.ts +14 -4
- package/types/tasty/injector/index.d.ts +30 -19
- package/types/tasty/injector/injector.d.ts +19 -13
- package/types/tasty/injector/sheet-manager.d.ts +25 -1
- package/types/tasty/injector/types.d.ts +23 -2
- package/types/tasty/keyframes/index.d.ts +49 -0
- package/types/tasty/parser/parser.d.ts +4 -0
- package/types/tasty/parser/types.d.ts +1 -0
- package/types/tasty/pipeline/conditions.d.ts +243 -0
- package/types/tasty/pipeline/exclusive.d.ts +103 -0
- package/types/tasty/pipeline/index.d.ts +67 -0
- package/types/tasty/pipeline/materialize.d.ts +162 -0
- package/types/tasty/pipeline/parseStateKey.d.ts +20 -0
- package/types/tasty/pipeline/simplify.d.ts +28 -0
- package/types/tasty/plugins/index.d.ts +17 -0
- package/types/tasty/plugins/okhsl-plugin.d.ts +45 -0
- package/types/tasty/plugins/types.d.ts +34 -0
- package/types/tasty/states/index.d.ts +101 -0
- package/types/tasty/static/index.d.ts +39 -0
- package/types/tasty/static/tastyStatic.d.ts +41 -0
- package/types/tasty/static/types.d.ts +44 -0
- package/types/tasty/styles/fill.d.ts +11 -1
- package/types/tasty/styles/margin.d.ts +3 -1
- package/types/tasty/styles/padding.d.ts +3 -1
- package/types/tasty/styles/radius.d.ts +2 -10
- package/types/tasty/styles/types.d.ts +24 -3
- package/types/tasty/tasty.d.ts +892 -840
- package/types/tasty/utils/styles.d.ts +50 -6
- package/types/tasty/utils/typography.d.ts +32 -0
- package/types/tasty/zero/babel.d.ts +63 -0
- package/types/tasty/zero/css-writer.d.ts +41 -0
- package/types/tasty/zero/extractor.d.ts +40 -0
- package/types/tasty/zero/index.d.ts +18 -0
- package/types/tasty/zero/next.d.ts +57 -0
- package/types/tokens/base.d.ts +8 -0
- package/types/tokens/colors.d.ts +6 -0
- package/types/tokens/index.d.ts +41 -0
- package/types/tokens/layout.d.ts +7 -0
- package/types/tokens/shadows.d.ts +12 -0
- package/types/tokens/sizes.d.ts +25 -0
- package/types/tokens/spacing.d.ts +8 -0
- package/types/tokens/typography.d.ts +30 -0
- package/es/components/navigation/LegacyTabs/LegacyTabs.js +0 -275
- package/es/components/other/Base64Upload/Base64Upload.js +0 -103
- package/es/icons/add-new-icon.js +0 -129
- package/es/tasty/providers/BreakpointsProvider.js +0 -16
- package/es/tasty/utils/getModCombinations.js +0 -38
- package/es/tasty/utils/renderStyles.js +0 -1050
- package/es/tasty/utils/responsive.js +0 -60
- package/es/tokens.js +0 -309
- package/types/components/navigation/LegacyTabs/LegacyTabs.d.ts +0 -43
- package/types/components/other/Base64Upload/Base64Upload.d.ts +0 -5
- package/types/icons/add-new-icon.d.ts +0 -2
- package/types/tasty/providers/BreakpointsProvider.d.ts +0 -8
- package/types/tasty/utils/getModCombinations.d.ts +0 -9
- package/types/tasty/utils/renderStyles.d.ts +0 -41
- package/types/tasty/utils/responsive.d.ts +0 -8
- package/types/tokens.d.ts +0 -221
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { SpinCubeProps } from './types';
|
|
2
|
-
export declare const Cube: import("react").NamedExoticComponent<
|
|
2
|
+
export declare const Cube: import("react").NamedExoticComponent<SpinCubeProps>;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface SpinsContainerProps {
|
|
3
|
+
ownSize: number;
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
export declare function SpinsContainer({ ownSize, children }: SpinsContainerProps): import("react/jsx-runtime").JSX.Element;
|
package/types/index.d.ts
CHANGED
|
@@ -62,8 +62,6 @@ export type { CubeResultProps, CubeResultStatus, } from './components/content/Re
|
|
|
62
62
|
export { Layout, GridLayout } from './components/content/Layout';
|
|
63
63
|
export type { CubeLayoutProps, CubeGridLayoutProps, CubeLayoutToolbarProps, CubeLayoutHeaderProps, CubeLayoutFooterProps, CubeLayoutContentProps, CubeLayoutPaneProps, CubeLayoutPanelProps, CubeLayoutPanelHeaderProps, ScrollbarType, } from './components/content/Layout';
|
|
64
64
|
export * from './components/status';
|
|
65
|
-
export { Base64Upload } from './components/other/Base64Upload/Base64Upload';
|
|
66
|
-
export type { CubeBase64UploadProps } from './components/other/Base64Upload/Base64Upload';
|
|
67
65
|
export { Card } from './components/content/Card/Card';
|
|
68
66
|
export type { CubeCardProps } from './components/content/Card/Card';
|
|
69
67
|
export * from './components/actions';
|
|
@@ -100,8 +98,6 @@ export type { CubeTooltipTriggerProps } from './components/overlays/Tooltip/Tool
|
|
|
100
98
|
export { TooltipProvider } from './components/overlays/Tooltip/TooltipProvider';
|
|
101
99
|
export type { CubeTooltipProviderProps } from './components/overlays/Tooltip/TooltipProvider';
|
|
102
100
|
export * from './components/content/Alert';
|
|
103
|
-
export { LegacyTabs } from './components/navigation/LegacyTabs/LegacyTabs';
|
|
104
|
-
export type { CubeTabsProps } from './components/navigation/LegacyTabs/LegacyTabs';
|
|
105
101
|
export { FileTabs } from './components/organisms/FileTabs/FileTabs';
|
|
106
102
|
export type { CubeFileTabProps } from './components/organisms/FileTabs/FileTabs';
|
|
107
103
|
export { StatsCard } from './components/organisms/StatsCard/StatsCard';
|
|
@@ -136,3 +132,4 @@ export * from './components/overlays/Toasts';
|
|
|
136
132
|
export * from './shared';
|
|
137
133
|
export * from './icons';
|
|
138
134
|
export * from './components/form';
|
|
135
|
+
export * from './tokens';
|
package/types/provider.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { ForwardedRef, PropsWithChildren, ReactElement } from 'react';
|
|
|
2
2
|
import { NavigationAdapter } from './providers/navigation.types';
|
|
3
3
|
import { Props } from './tasty';
|
|
4
4
|
export interface ProviderProps extends Props {
|
|
5
|
-
breakpoints?: number[];
|
|
6
5
|
insideForm?: boolean;
|
|
7
6
|
isDisabled?: boolean;
|
|
8
7
|
isReadOnly?: boolean;
|
|
@@ -12,7 +11,7 @@ export interface ProviderProps extends Props {
|
|
|
12
11
|
ref?: ReactElement;
|
|
13
12
|
root?: ForwardedRef<any>;
|
|
14
13
|
}
|
|
15
|
-
export type ProviderInsideProps = Omit<ProviderProps, 'styles'
|
|
14
|
+
export type ProviderInsideProps = Omit<ProviderProps, 'styles'>;
|
|
16
15
|
export declare const UIKitContext: import("react").Context<ProviderInsideProps>;
|
|
17
16
|
export declare function Provider(allProps: PropsWithChildren<ProviderProps>): import("react/jsx-runtime").JSX.Element;
|
|
18
17
|
export declare function useProviderProps<T extends ProviderProps = Props>(props: T): T;
|
|
@@ -3,5 +3,5 @@ export declare const StyledButton: import("react").ComponentType<{
|
|
|
3
3
|
[x: number]: any;
|
|
4
4
|
[x: symbol]: any;
|
|
5
5
|
} & {}>;
|
|
6
|
-
export declare
|
|
6
|
+
export declare function GlobalStyledHeading(): null;
|
|
7
7
|
export declare function Block(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Styles } from '../../tasty/styles/types';
|
|
2
|
+
export interface PlaygroundEditorProps {
|
|
3
|
+
value: Styles;
|
|
4
|
+
onChange: (styles: Styles) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function PlaygroundEditor({ value, onChange }: PlaygroundEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface PlaygroundLayoutProps {
|
|
3
|
+
toolbar: ReactNode;
|
|
4
|
+
editor: ReactNode;
|
|
5
|
+
preview?: ReactNode;
|
|
6
|
+
output: ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export declare function PlaygroundLayout({ toolbar, editor, preview, output, }: PlaygroundLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Styles } from '../../tasty/styles/types';
|
|
2
|
+
export interface PlaygroundPreviewProps {
|
|
3
|
+
component: 'card' | 'button' | 'scroll-progress';
|
|
4
|
+
styles: Styles;
|
|
5
|
+
}
|
|
6
|
+
export declare function PlaygroundPreview({ component, styles, }: PlaygroundPreviewProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { Styles } from '../../../tasty/styles/types';
|
|
3
|
+
export interface ButtonProps {
|
|
4
|
+
styles?: Styles;
|
|
5
|
+
children?: ReactNode;
|
|
6
|
+
isDisabled?: boolean;
|
|
7
|
+
onPress?: () => void;
|
|
8
|
+
/** Override internal mods (for forcing specific states in demos) */
|
|
9
|
+
mods?: Record<string, boolean>;
|
|
10
|
+
}
|
|
11
|
+
export declare function Button({ styles, children, isDisabled, onPress, mods: externalMods, }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { Styles } from '../../../tasty/styles/types';
|
|
3
|
+
export interface CardProps {
|
|
4
|
+
styles?: Styles;
|
|
5
|
+
children?: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function Card({ styles, children }: CardProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chunk-specific cache key generation.
|
|
3
|
+
*
|
|
4
|
+
* Generates cache keys that only include styles relevant to a specific chunk,
|
|
5
|
+
* enabling more granular caching and reuse.
|
|
6
|
+
*
|
|
7
|
+
* Enhanced to support predefined states:
|
|
8
|
+
* - Global predefined states don't affect cache keys (constant across app)
|
|
9
|
+
* - Local predefined states only affect cache keys if referenced in the chunk
|
|
10
|
+
*/
|
|
11
|
+
import { Styles } from '../styles/types';
|
|
12
|
+
/**
|
|
13
|
+
* Generate a cache key for a specific chunk.
|
|
14
|
+
*
|
|
15
|
+
* Only includes the styles that belong to this chunk, allowing
|
|
16
|
+
* chunks to be cached independently.
|
|
17
|
+
*
|
|
18
|
+
* Also includes relevant local predefined states that are referenced
|
|
19
|
+
* by this chunk's styles.
|
|
20
|
+
*
|
|
21
|
+
* @param styles - The full styles object
|
|
22
|
+
* @param chunkName - Name of the chunk
|
|
23
|
+
* @param styleKeys - Keys of styles belonging to this chunk
|
|
24
|
+
* @returns A stable cache key string
|
|
25
|
+
*/
|
|
26
|
+
export declare function generateChunkCacheKey(styles: Styles, chunkName: string, styleKeys: string[]): string;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Style chunk definitions for CSS chunking optimization.
|
|
3
|
+
*
|
|
4
|
+
* Styles are grouped into chunks based on:
|
|
5
|
+
* 1. Handler dependencies - styles that share a handler MUST be in the same chunk
|
|
6
|
+
* 2. Logical grouping - related styles grouped for better cache reuse
|
|
7
|
+
*
|
|
8
|
+
* See STYLE_CHUNKING_SPEC.md for detailed rationale.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Appearance chunk - visual styling with independent handlers
|
|
12
|
+
*/
|
|
13
|
+
export declare const APPEARANCE_CHUNK_STYLES: readonly ["fill", "color", "opacity", "border", "radius", "outline", "outlineOffset", "shadow", "fade"];
|
|
14
|
+
/**
|
|
15
|
+
* Font chunk - typography styles
|
|
16
|
+
* ⚠️ presetStyle handler requires: preset, fontSize, lineHeight, letterSpacing,
|
|
17
|
+
* textTransform, fontWeight, fontStyle, font - all MUST stay together
|
|
18
|
+
*/
|
|
19
|
+
export declare const FONT_CHUNK_STYLES: readonly ["preset", "font", "fontWeight", "fontStyle", "fontSize", "lineHeight", "letterSpacing", "textTransform", "fontFamily", "textAlign", "whiteSpace", "textDecoration", "textOverflow", "wordBreak", "wordWrap", "boldFontWeight"];
|
|
20
|
+
/**
|
|
21
|
+
* Dimension chunk - sizing and spacing
|
|
22
|
+
* ⚠️ paddingStyle handler requires all padding variants together
|
|
23
|
+
* ⚠️ marginStyle handler requires all margin variants together
|
|
24
|
+
*/
|
|
25
|
+
export declare const DIMENSION_CHUNK_STYLES: readonly ["padding", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingBlock", "paddingInline", "margin", "marginTop", "marginRight", "marginBottom", "marginLeft", "marginBlock", "marginInline", "width", "height", "minWidth", "maxWidth", "minHeight", "maxHeight", "flexBasis", "flexGrow", "flexShrink", "flex"];
|
|
26
|
+
/**
|
|
27
|
+
* Container chunk - display, flow, and grid layout
|
|
28
|
+
* ⚠️ FORCED TOGETHER by transitive handler dependencies:
|
|
29
|
+
* displayStyle(display,hide) + flowStyle(display,flow) +
|
|
30
|
+
* gapStyle(display,flow,gap) + groupRadiusAttr(groupRadius,flow)
|
|
31
|
+
*/
|
|
32
|
+
export declare const CONTAINER_CHUNK_STYLES: readonly ["display", "hide", "flow", "gap", "groupRadius", "placeItems", "placeContent", "alignItems", "alignContent", "justifyItems", "justifyContent", "align", "justify", "place", "columnGap", "rowGap", "gridColumns", "gridRows", "gridTemplate", "gridAreas", "gridAutoFlow", "gridAutoColumns", "gridAutoRows"];
|
|
33
|
+
/**
|
|
34
|
+
* Scrollbar chunk - scrollbar and overflow
|
|
35
|
+
* ⚠️ scrollbarStyle handler requires scrollbar ↔ overflow together
|
|
36
|
+
*/
|
|
37
|
+
export declare const SCROLLBAR_CHUNK_STYLES: readonly ["scrollbar", "overflow", "styledScrollbar"];
|
|
38
|
+
/**
|
|
39
|
+
* Position chunk - element positioning (all independent handlers)
|
|
40
|
+
*/
|
|
41
|
+
export declare const POSITION_CHUNK_STYLES: readonly ["position", "inset", "top", "right", "bottom", "left", "zIndex", "gridArea", "gridColumn", "gridRow", "order", "placeSelf", "alignSelf", "justifySelf", "transform", "transition", "animation"];
|
|
42
|
+
export declare const CHUNK_NAMES: {
|
|
43
|
+
/** Special chunk for styles that cannot be split (e.g., @starting-style) */
|
|
44
|
+
readonly COMBINED: "combined";
|
|
45
|
+
readonly SUBCOMPONENTS: "subcomponents";
|
|
46
|
+
readonly APPEARANCE: "appearance";
|
|
47
|
+
readonly FONT: "font";
|
|
48
|
+
readonly DIMENSION: "dimension";
|
|
49
|
+
readonly CONTAINER: "container";
|
|
50
|
+
readonly SCROLLBAR: "scrollbar";
|
|
51
|
+
readonly POSITION: "position";
|
|
52
|
+
readonly MISC: "misc";
|
|
53
|
+
};
|
|
54
|
+
export type ChunkName = (typeof CHUNK_NAMES)[keyof typeof CHUNK_NAMES];
|
|
55
|
+
/**
|
|
56
|
+
* Pre-computed map for O(1) style-to-chunk lookup.
|
|
57
|
+
* Built once at module load time.
|
|
58
|
+
*/
|
|
59
|
+
export declare const STYLE_TO_CHUNK: Map<string, ChunkName>;
|
|
60
|
+
export interface ChunkInfo {
|
|
61
|
+
/** Name of the chunk */
|
|
62
|
+
name: ChunkName | string;
|
|
63
|
+
/** Style keys belonging to this chunk */
|
|
64
|
+
styleKeys: string[];
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Categorize style keys into chunks.
|
|
68
|
+
*
|
|
69
|
+
* Returns chunks in a deterministic order (by CHUNK_ORDER) regardless
|
|
70
|
+
* of the order of keys in the input styles object.
|
|
71
|
+
*
|
|
72
|
+
* @param styles - The styles object to categorize
|
|
73
|
+
* @returns Map of chunk name to array of style keys in that chunk (in priority order)
|
|
74
|
+
*/
|
|
75
|
+
export declare function categorizeStyleKeys(styles: Record<string, unknown>): Map<string, string[]>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { APPEARANCE_CHUNK_STYLES, FONT_CHUNK_STYLES, DIMENSION_CHUNK_STYLES, CONTAINER_CHUNK_STYLES, SCROLLBAR_CHUNK_STYLES, POSITION_CHUNK_STYLES, CHUNK_NAMES, STYLE_TO_CHUNK, categorizeStyleKeys, } from './definitions';
|
|
2
|
+
export type { ChunkName, ChunkInfo } from './definitions';
|
|
3
|
+
export { generateChunkCacheKey } from './cacheKey';
|
|
4
|
+
export { renderStylesForChunk } from './renderChunk';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chunk-specific style rendering.
|
|
3
|
+
*
|
|
4
|
+
* Renders styles for a specific chunk by filtering the styles object
|
|
5
|
+
* to only include relevant keys before passing to renderStyles.
|
|
6
|
+
*/
|
|
7
|
+
import { RenderResult } from '../pipeline';
|
|
8
|
+
import { Styles } from '../styles/types';
|
|
9
|
+
/**
|
|
10
|
+
* Render styles for a specific chunk.
|
|
11
|
+
*
|
|
12
|
+
* Creates a filtered styles object containing only the keys for this chunk,
|
|
13
|
+
* then delegates to the existing renderStyles function.
|
|
14
|
+
*
|
|
15
|
+
* IMPORTANT: Local predefined states (e.g., '@mobile': '@media(w < 600px)')
|
|
16
|
+
* are always included in the filtered styles, regardless of which chunk is
|
|
17
|
+
* being rendered. This ensures that state references like '@mobile' in any
|
|
18
|
+
* chunk can be properly resolved by the pipeline.
|
|
19
|
+
*
|
|
20
|
+
* @param styles - The full styles object
|
|
21
|
+
* @param chunkName - Name of the chunk being rendered
|
|
22
|
+
* @param styleKeys - Keys of styles belonging to this chunk
|
|
23
|
+
* @returns RenderResult with rules for this chunk
|
|
24
|
+
*/
|
|
25
|
+
export declare function renderStylesForChunk(styles: Styles, chunkName: string, styleKeys: string[]): RenderResult;
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tasty Configuration Module
|
|
3
|
+
*
|
|
4
|
+
* Centralizes all tasty configuration, including:
|
|
5
|
+
* - Style injector settings (nonce, cleanup thresholds, etc.)
|
|
6
|
+
* - Global predefined states for advanced state mapping
|
|
7
|
+
* - stylesGenerated flag that locks configuration after first style generation
|
|
8
|
+
*
|
|
9
|
+
* Configuration must be done BEFORE any styles are generated.
|
|
10
|
+
* After the first `inject()` call, configuration is locked and attempts to
|
|
11
|
+
* reconfigure will emit a warning and be ignored.
|
|
12
|
+
*/
|
|
13
|
+
import type { KeyframesSteps } from './injector/types';
|
|
14
|
+
import type { StyleDetails, UnitHandler } from './parser/types';
|
|
15
|
+
import type { TastyPlugin } from './plugins/types';
|
|
16
|
+
/**
|
|
17
|
+
* Configuration options for the Tasty style system
|
|
18
|
+
*/
|
|
19
|
+
export interface TastyConfig {
|
|
20
|
+
/** CSP nonce for style elements */
|
|
21
|
+
nonce?: string;
|
|
22
|
+
/** Maximum rules per stylesheet (default: 8192) */
|
|
23
|
+
maxRulesPerSheet?: number;
|
|
24
|
+
/** Threshold for bulk cleanup of unused styles (default: 500) */
|
|
25
|
+
unusedStylesThreshold?: number;
|
|
26
|
+
/** Delay before bulk cleanup in ms, ignored if idleCleanup is true (default: 5000) */
|
|
27
|
+
bulkCleanupDelay?: number;
|
|
28
|
+
/** Use requestIdleCallback for cleanup when available (default: true) */
|
|
29
|
+
idleCleanup?: boolean;
|
|
30
|
+
/** Force text injection mode, auto-detected in test environments (default: auto) */
|
|
31
|
+
forceTextInjection?: boolean;
|
|
32
|
+
/** Enable development mode features: performance metrics and debug info (default: auto) */
|
|
33
|
+
devMode?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Ratio of unused styles to delete per bulk cleanup run (0..1).
|
|
36
|
+
* Defaults to 0.5 (oldest half) to reduce risk of removing styles
|
|
37
|
+
* that may be restored shortly after being marked unused.
|
|
38
|
+
*/
|
|
39
|
+
bulkCleanupBatchRatio?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Minimum age (in ms) a style must remain unused before eligible for deletion.
|
|
42
|
+
* Helps avoid races during rapid mount/unmount cycles. Default: 10000ms.
|
|
43
|
+
*/
|
|
44
|
+
unusedStylesMinAgeMs?: number;
|
|
45
|
+
/**
|
|
46
|
+
* Global predefined states for advanced state mapping.
|
|
47
|
+
* These are state aliases that can be used in any component.
|
|
48
|
+
* Example: { '@mobile': '@media(w < 920px)', '@dark': '@root(theme=dark)' }
|
|
49
|
+
*/
|
|
50
|
+
states?: Record<string, string>;
|
|
51
|
+
/**
|
|
52
|
+
* Parser LRU cache size (default: 1000).
|
|
53
|
+
* Larger values improve performance for apps with many unique style values.
|
|
54
|
+
*/
|
|
55
|
+
parserCacheSize?: number;
|
|
56
|
+
/**
|
|
57
|
+
* Custom units for the style parser (merged with built-in units).
|
|
58
|
+
* Units transform numeric values like `2x` → `calc(2 * var(--gap))`.
|
|
59
|
+
* @example { em: 'em', vw: 'vw', custom: (n) => `${n * 10}px` }
|
|
60
|
+
*/
|
|
61
|
+
units?: Record<string, string | UnitHandler>;
|
|
62
|
+
/**
|
|
63
|
+
* Custom functions for the style parser (merged with existing).
|
|
64
|
+
* Functions process parsed style groups and return CSS values.
|
|
65
|
+
* @example { myFunc: (groups) => groups.map(g => g.output).join(' ') }
|
|
66
|
+
*/
|
|
67
|
+
funcs?: Record<string, (groups: StyleDetails[]) => string>;
|
|
68
|
+
/**
|
|
69
|
+
* Plugins that extend tasty with custom functions, units, or states.
|
|
70
|
+
* Plugins are processed in order, with later plugins overriding earlier ones.
|
|
71
|
+
* @example
|
|
72
|
+
* ```ts
|
|
73
|
+
* import { okhslPlugin } from '@cube-dev/ui-kit/tasty/plugins';
|
|
74
|
+
*
|
|
75
|
+
* configure({
|
|
76
|
+
* plugins: [okhslPlugin()],
|
|
77
|
+
* });
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
plugins?: TastyPlugin[];
|
|
81
|
+
/**
|
|
82
|
+
* Global keyframes definitions that can be referenced by animation names in styles.
|
|
83
|
+
* Keys are animation names, values are keyframes step definitions.
|
|
84
|
+
* Keyframes are only injected when actually used in styles.
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts
|
|
87
|
+
* configure({
|
|
88
|
+
* keyframes: {
|
|
89
|
+
* fadeIn: { from: { opacity: 0 }, to: { opacity: 1 } },
|
|
90
|
+
* pulse: { '0%, 100%': { transform: 'scale(1)' }, '50%': { transform: 'scale(1.05)' } },
|
|
91
|
+
* },
|
|
92
|
+
* });
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
keyframes?: Record<string, KeyframesSteps>;
|
|
96
|
+
}
|
|
97
|
+
declare const GLOBAL_INJECTOR_KEY = "__TASTY_GLOBAL_INJECTOR__";
|
|
98
|
+
declare global {
|
|
99
|
+
interface Window {
|
|
100
|
+
[GLOBAL_INJECTOR_KEY]?: import('./injector/injector').StyleInjector;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Detect if we're running in a test environment
|
|
105
|
+
*/
|
|
106
|
+
export declare function isTestEnvironment(): boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Mark that styles have been generated (called by injector on first inject)
|
|
109
|
+
* This locks the configuration - no further changes allowed.
|
|
110
|
+
*/
|
|
111
|
+
export declare function markStylesGenerated(): void;
|
|
112
|
+
/**
|
|
113
|
+
* Check if styles have been generated (configuration is locked)
|
|
114
|
+
*/
|
|
115
|
+
export declare function hasStylesGenerated(): boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Reset styles generated flag (for testing only)
|
|
118
|
+
*/
|
|
119
|
+
export declare function resetStylesGenerated(): void;
|
|
120
|
+
/**
|
|
121
|
+
* Check if any global keyframes are configured.
|
|
122
|
+
* Fast path: returns false if no keyframes were ever set.
|
|
123
|
+
*/
|
|
124
|
+
export declare function hasGlobalKeyframes(): boolean;
|
|
125
|
+
/**
|
|
126
|
+
* Get global keyframes configuration.
|
|
127
|
+
* Returns null if no keyframes configured (fast path for zero-overhead).
|
|
128
|
+
*/
|
|
129
|
+
export declare function getGlobalKeyframes(): Record<string, KeyframesSteps> | null;
|
|
130
|
+
/**
|
|
131
|
+
* Check if configuration is locked (styles have been generated)
|
|
132
|
+
*/
|
|
133
|
+
export declare function isConfigLocked(): boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Configure the Tasty style system.
|
|
136
|
+
*
|
|
137
|
+
* Must be called BEFORE any styles are generated (before first render that uses tasty).
|
|
138
|
+
* After styles are generated, configuration is locked and calls to configure() will
|
|
139
|
+
* emit a warning and be ignored.
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```ts
|
|
143
|
+
* import { configure } from '@cube-dev/ui-kit';
|
|
144
|
+
*
|
|
145
|
+
* // Configure before app renders
|
|
146
|
+
* configure({
|
|
147
|
+
* nonce: 'abc123',
|
|
148
|
+
* states: {
|
|
149
|
+
* '@mobile': '@media(w < 768px)',
|
|
150
|
+
* '@dark': '@root(theme=dark)',
|
|
151
|
+
* },
|
|
152
|
+
* });
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
export declare function configure(config?: Partial<TastyConfig>): void;
|
|
156
|
+
/**
|
|
157
|
+
* Get the current configuration.
|
|
158
|
+
* If not configured, returns default configuration.
|
|
159
|
+
*/
|
|
160
|
+
export declare function getConfig(): TastyConfig;
|
|
161
|
+
/**
|
|
162
|
+
* Get the global injector instance.
|
|
163
|
+
* Auto-configures with defaults if not already configured.
|
|
164
|
+
*/
|
|
165
|
+
export declare function getGlobalInjector(): import('./injector/injector').StyleInjector;
|
|
166
|
+
/**
|
|
167
|
+
* Reset configuration (for testing only).
|
|
168
|
+
* Clears the global injector and allows reconfiguration.
|
|
169
|
+
*/
|
|
170
|
+
export declare function resetConfig(): void;
|
|
171
|
+
export type { TastyConfig as StyleInjectorConfig };
|
package/types/tasty/debug.d.ts
CHANGED
|
@@ -7,9 +7,14 @@ interface CssOptions {
|
|
|
7
7
|
prettify?: boolean;
|
|
8
8
|
log?: boolean;
|
|
9
9
|
}
|
|
10
|
+
interface ChunkInfo {
|
|
11
|
+
className: string;
|
|
12
|
+
chunkName: string | null;
|
|
13
|
+
}
|
|
10
14
|
interface InspectResult {
|
|
11
15
|
element?: Element | null;
|
|
12
16
|
classes: string[];
|
|
17
|
+
chunks: ChunkInfo[];
|
|
13
18
|
css: string;
|
|
14
19
|
size: number;
|
|
15
20
|
rules: number;
|
|
@@ -104,6 +109,14 @@ interface Summary {
|
|
|
104
109
|
rulesDeleted: number;
|
|
105
110
|
};
|
|
106
111
|
};
|
|
112
|
+
chunkBreakdown: {
|
|
113
|
+
byChunk: Record<string, {
|
|
114
|
+
classes: string[];
|
|
115
|
+
cssSize: number;
|
|
116
|
+
ruleCount: number;
|
|
117
|
+
}>;
|
|
118
|
+
totalChunkTypes: number;
|
|
119
|
+
};
|
|
107
120
|
}
|
|
108
121
|
/**
|
|
109
122
|
* Concise tastyDebug API for inspecting styles at runtime
|
|
@@ -126,6 +139,28 @@ export declare const tastyDebug: {
|
|
|
126
139
|
resetMetrics(opts?: {
|
|
127
140
|
root?: Document | ShadowRoot;
|
|
128
141
|
}): void;
|
|
142
|
+
/**
|
|
143
|
+
* Get breakdown of styles by chunk type.
|
|
144
|
+
*
|
|
145
|
+
* With style chunking enabled, styles are split into logical chunks
|
|
146
|
+
* (appearance, font, dimension, container, etc.) for better caching
|
|
147
|
+
* and CSS reuse.
|
|
148
|
+
*
|
|
149
|
+
* @param opts - Options including root document/shadow root
|
|
150
|
+
* @returns Breakdown by chunk type with class counts and CSS sizes
|
|
151
|
+
*/
|
|
152
|
+
chunks(opts?: {
|
|
153
|
+
root?: Document | ShadowRoot;
|
|
154
|
+
log?: boolean;
|
|
155
|
+
}): {
|
|
156
|
+
byChunk: Record<string, {
|
|
157
|
+
classes: string[];
|
|
158
|
+
cssSize: number;
|
|
159
|
+
ruleCount: number;
|
|
160
|
+
}>;
|
|
161
|
+
totalChunkTypes: number;
|
|
162
|
+
totalClasses: number;
|
|
163
|
+
};
|
|
129
164
|
getGlobalTypeCSS(type: "global" | "raw" | "keyframes" | "property", opts?: {
|
|
130
165
|
root?: Document | ShadowRoot;
|
|
131
166
|
}): {
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Styles } from '../styles/types';
|
|
2
|
+
/**
|
|
3
|
+
* Hook to inject global styles for a given selector.
|
|
4
|
+
* Useful for styling elements by selector without generating classNames.
|
|
5
|
+
*
|
|
6
|
+
* @param selector - CSS selector to apply styles to (e.g., '.my-class', ':root', 'body')
|
|
7
|
+
* @param styles - Tasty styles object
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* function MyComponent() {
|
|
12
|
+
* useGlobalStyles('.card', {
|
|
13
|
+
* padding: '2x',
|
|
14
|
+
* radius: '1r',
|
|
15
|
+
* fill: '#white',
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* return <div className="card">Content</div>;
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function useGlobalStyles(selector: string, styles?: Styles): void;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
type UseRawCSSOptions = {
|
|
2
|
+
root?: Document | ShadowRoot;
|
|
3
|
+
};
|
|
4
|
+
/**
|
|
5
|
+
* Hook to inject raw CSS text directly without parsing.
|
|
6
|
+
* This is a low-overhead alternative for injecting global CSS that doesn't need tasty processing.
|
|
7
|
+
*
|
|
8
|
+
* The CSS is inserted into a separate style element (data-tasty-raw) to avoid conflicts
|
|
9
|
+
* with tasty's chunked style sheets.
|
|
10
|
+
*
|
|
11
|
+
* @example Static CSS string
|
|
12
|
+
* ```tsx
|
|
13
|
+
* function GlobalStyles() {
|
|
14
|
+
* useRawCSS(`
|
|
15
|
+
* body {
|
|
16
|
+
* margin: 0;
|
|
17
|
+
* padding: 0;
|
|
18
|
+
* font-family: sans-serif;
|
|
19
|
+
* }
|
|
20
|
+
* `);
|
|
21
|
+
*
|
|
22
|
+
* return null;
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @example Factory function with dependencies (like useMemo)
|
|
27
|
+
* ```tsx
|
|
28
|
+
* function ThemeStyles({ theme }: { theme: 'light' | 'dark' }) {
|
|
29
|
+
* useRawCSS(() => `
|
|
30
|
+
* :root {
|
|
31
|
+
* --bg-color: ${theme === 'dark' ? '#1a1a1a' : '#ffffff'};
|
|
32
|
+
* --text-color: ${theme === 'dark' ? '#ffffff' : '#1a1a1a'};
|
|
33
|
+
* }
|
|
34
|
+
* `, [theme]);
|
|
35
|
+
*
|
|
36
|
+
* return null;
|
|
37
|
+
* }
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @example With options
|
|
41
|
+
* ```tsx
|
|
42
|
+
* function ShadowStyles({ shadowRoot }) {
|
|
43
|
+
* useRawCSS(() => `.scoped { color: red; }`, [], { root: shadowRoot });
|
|
44
|
+
* return null;
|
|
45
|
+
* }
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export declare function useRawCSS(css: string, options?: UseRawCSSOptions): void;
|
|
49
|
+
export declare function useRawCSS(factory: () => string, deps: readonly unknown[], options?: UseRawCSSOptions): void;
|
|
50
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Styles } from '../styles/types';
|
|
2
|
+
/**
|
|
3
|
+
* Tasty styles object to generate CSS classes for.
|
|
4
|
+
* Can be undefined or empty object for no styles.
|
|
5
|
+
*/
|
|
6
|
+
export type UseStylesOptions = Styles | undefined;
|
|
7
|
+
export interface UseStylesResult {
|
|
8
|
+
/**
|
|
9
|
+
* Generated className(s) to apply to the element.
|
|
10
|
+
* Can be empty string if no styles are provided.
|
|
11
|
+
* With chunking enabled, may contain multiple space-separated class names.
|
|
12
|
+
*/
|
|
13
|
+
className: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Hook to generate CSS classes from Tasty styles.
|
|
17
|
+
* Handles style rendering, className allocation, and CSS injection.
|
|
18
|
+
*
|
|
19
|
+
* Uses chunking to split styles into logical groups for better caching
|
|
20
|
+
* and CSS reuse across components.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* function MyComponent() {
|
|
25
|
+
* const { className } = useStyles({
|
|
26
|
+
* padding: '2x',
|
|
27
|
+
* fill: '#purple',
|
|
28
|
+
* radius: '1r',
|
|
29
|
+
* });
|
|
30
|
+
*
|
|
31
|
+
* return <div className={className}>Styled content</div>;
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare function useStyles(styles: UseStylesOptions): UseStylesResult;
|
package/types/tasty/index.d.ts
CHANGED
|
@@ -1,19 +1,29 @@
|
|
|
1
1
|
export { tasty, Element } from './tasty';
|
|
2
|
+
export { useStyles, useGlobalStyles, useRawCSS } from './hooks';
|
|
3
|
+
export type { UseStylesOptions, UseStylesResult } from './hooks';
|
|
4
|
+
export { configure, getConfig, isConfigLocked, hasStylesGenerated, resetConfig, isTestEnvironment, hasGlobalKeyframes, getGlobalKeyframes, } from './config';
|
|
5
|
+
export type { TastyConfig } from './config';
|
|
6
|
+
export { okhslPlugin, okhslFunc } from './plugins';
|
|
7
|
+
export type { TastyPlugin, TastyPluginFactory } from './plugins';
|
|
8
|
+
export { CHUNK_NAMES, STYLE_TO_CHUNK, categorizeStyleKeys } from './chunks';
|
|
9
|
+
export type { ChunkName, ChunkInfo } from './chunks';
|
|
10
|
+
export { getGlobalPredefinedStates, setGlobalPredefinedStates } from './states';
|
|
11
|
+
export type { StateParserContext, ParsedAdvancedState, AtRuleContext, } from './states';
|
|
2
12
|
export * from './utils/filterBaseProps';
|
|
3
13
|
export * from './utils/colors';
|
|
4
14
|
export * from './utils/styles';
|
|
5
15
|
export * from './utils/modAttrs';
|
|
6
|
-
export
|
|
7
|
-
export
|
|
16
|
+
export { renderStyles, isSelector } from './pipeline';
|
|
17
|
+
export type { StyleResult, RenderResult } from './pipeline';
|
|
8
18
|
export * from './utils/dotize';
|
|
9
19
|
export * from './styles/list';
|
|
10
|
-
export * from './providers/BreakpointsProvider';
|
|
11
20
|
export * from './utils/mergeStyles';
|
|
12
21
|
export * from './utils/warnings';
|
|
13
22
|
export * from './utils/getDisplayName';
|
|
14
23
|
export * from './utils/processTokens';
|
|
24
|
+
export * from './utils/typography';
|
|
15
25
|
export * from './injector';
|
|
16
26
|
export * from './debug';
|
|
17
|
-
export type { TastyProps, TastyElementOptions, TastyElementProps,
|
|
27
|
+
export type { TastyProps, TastyElementOptions, TastyElementProps, AllBasePropsWithMods, SubElementDefinition, ElementsDefinition, SubElementProps, } from './tasty';
|
|
18
28
|
export type { AllBaseProps, BaseProps, BaseStyleProps, DimensionStyleProps, ColorStyleProps, OuterStyleProps, PositionStyleProps, TextStyleProps, BlockStyleProps, BlockInnerStyleProps, BlockOuterStyleProps, ContainerStyleProps, BasePropsWithoutChildren, Props, FlowStyleProps, ShortGridStyles, GlobalStyledProps, TagName, Mods, ModValue, Tokens, TokenValue, } from './types';
|
|
19
29
|
export type { StylesInterface, Styles, StylesWithoutSelectors, NoType, Selector, SuffixForSelector, NotSelector, } from './styles/types';
|