@cube-dev/ui-kit 0.0.0-canary-4777472 → 0.0.0-canary-4ec8603
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 +6 -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/CollectionItem.js +1 -1
- package/es/components/GlobalStyles.js +55 -64
- package/es/components/GridProvider.js +1 -1
- package/es/components/HiddenInput.js +1 -1
- package/es/components/OpenTrasition.js +1 -1
- package/es/components/Root.js +11 -52
- package/es/components/actions/Action/Action.js +1 -1
- package/es/components/actions/Button/Button.js +2 -2
- package/es/components/actions/Button/index.js +1 -1
- package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/es/components/actions/CommandMenu/index.js +1 -1
- package/es/components/actions/CommandMenu/styled.js +1 -1
- package/es/components/actions/ItemAction/ItemAction.js +1 -1
- package/es/components/actions/ItemAction/index.js +1 -1
- package/es/components/actions/ItemActionContext.js +1 -1
- package/es/components/actions/ItemButton/ItemButton.js +1 -1
- package/es/components/actions/ItemButton/index.js +1 -1
- package/es/components/actions/Link/Link.js +1 -1
- package/es/components/actions/Menu/Menu.js +1 -1
- package/es/components/actions/Menu/MenuItem.js +1 -1
- package/es/components/actions/Menu/MenuSection.js +1 -1
- package/es/components/actions/Menu/MenuTrigger.js +1 -1
- package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/es/components/actions/Menu/context.js +1 -1
- package/es/components/actions/Menu/index.js +1 -1
- package/es/components/actions/Menu/styled.js +1 -1
- package/es/components/actions/index.js +1 -1
- package/es/components/actions/use-action.js +1 -1
- package/es/components/actions/use-anchored-menu.js +1 -1
- package/es/components/actions/use-context-menu.js +1 -1
- package/es/components/content/ActiveZone/ActiveZone.js +1 -1
- package/es/components/content/Alert/Alert.js +1 -1
- package/es/components/content/Alert/index.js +1 -1
- package/es/components/content/Alert/types.js +1 -1
- package/es/components/content/Alert/use-alert.js +1 -1
- package/es/components/content/Avatar/Avatar.js +1 -1
- package/es/components/content/Badge/Badge.js +1 -1
- package/es/components/content/Card/Card.js +1 -1
- package/es/components/content/Content.js +1 -1
- package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +2 -2
- package/es/components/content/CopyPasteBlock/index.js +1 -1
- package/es/components/content/CopySnippet/CopySnippet.js +1 -1
- package/es/components/content/CopySnippet/index.js +1 -1
- package/es/components/content/Disclosure/Disclosure.js +1 -1
- package/es/components/content/Disclosure/index.js +1 -1
- package/es/components/content/Divider.js +1 -1
- package/es/components/content/Footer.js +1 -1
- package/es/components/content/Header.js +1 -1
- package/es/components/content/HotKeys/HotKeys.js +1 -1
- package/es/components/content/HotKeys/index.js +1 -1
- package/es/components/content/Item/Item.js +2 -2
- package/es/components/content/Item/index.js +1 -1
- package/es/components/content/ItemBadge/ItemBadge.js +1 -1
- package/es/components/content/ItemBadge/index.js +1 -1
- package/es/components/content/Layout/GridLayout.js +1 -1
- package/es/components/content/Layout/Layout.js +2 -1
- package/es/components/content/Layout/LayoutBlock.js +2 -1
- package/es/components/content/Layout/LayoutCenter.js +1 -1
- package/es/components/content/Layout/LayoutContainer.js +1 -1
- package/es/components/content/Layout/LayoutContent.js +2 -1
- package/es/components/content/Layout/LayoutContext.js +1 -1
- package/es/components/content/Layout/LayoutFlex.js +2 -1
- package/es/components/content/Layout/LayoutFooter.js +2 -1
- package/es/components/content/Layout/LayoutGrid.js +2 -1
- package/es/components/content/Layout/LayoutHeader.js +2 -1
- package/es/components/content/Layout/LayoutPane.js +2 -1
- package/es/components/content/Layout/LayoutPanel.js +2 -1
- package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/es/components/content/Layout/LayoutToolbar.js +2 -1
- package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/es/components/content/Layout/index.js +1 -1
- package/es/components/content/Layout/utils.js +1 -1
- package/es/components/content/List/SectionHeading.js +1 -1
- package/es/components/content/List/index.js +1 -1
- package/es/components/content/Paragraph.js +1 -1
- package/es/components/content/Placeholder/Placeholder.js +1 -1
- package/es/components/content/PrismCode/PrismCode.js +1 -1
- package/es/components/content/PrismCode/prismSetup.js +1 -1
- package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/es/components/content/Result/Result.js +1 -1
- package/es/components/content/Skeleton/Skeleton.js +1 -1
- package/es/components/content/Tag/Tag.js +1 -1
- package/es/components/content/Text.js +1 -1
- package/es/components/content/TextItem/TextItem.js +1 -1
- package/es/components/content/TextItem/index.js +1 -1
- package/es/components/content/Title.js +1 -1
- package/es/components/content/highlightText.js +1 -1
- package/es/components/content/use-auto-tooltip.js +1 -1
- package/es/components/fields/Checkbox/Checkbox.js +1 -1
- package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/es/components/fields/Checkbox/context.js +1 -1
- package/es/components/fields/Checkbox/index.js +1 -1
- package/es/components/fields/ComboBox/ComboBox.js +1 -1
- package/es/components/fields/ComboBox/index.js +1 -1
- package/es/components/fields/DatePicker/DateInput.js +1 -1
- package/es/components/fields/DatePicker/DateInputBase.js +1 -1
- package/es/components/fields/DatePicker/DatePicker.js +1 -1
- package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
- package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
- package/es/components/fields/DatePicker/TimeInput.js +1 -1
- package/es/components/fields/DatePicker/index.js +1 -1
- package/es/components/fields/DatePicker/intl.js +1 -1
- package/es/components/fields/DatePicker/parseDate.js +1 -1
- package/es/components/fields/DatePicker/props.js +1 -1
- package/es/components/fields/DatePicker/types.js +1 -1
- package/es/components/fields/DatePicker/utils.js +1 -1
- package/es/components/fields/FileInput/FileInput.js +1 -1
- package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/es/components/fields/FilterListBox/index.js +1 -1
- package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
- package/es/components/fields/FilterPicker/index.js +1 -1
- package/es/components/fields/Input/Input.js +1 -1
- package/es/components/fields/Input/index.js +1 -1
- package/es/components/fields/ListBox/ListBox.js +3 -3
- package/es/components/fields/ListBox/index.js +1 -1
- package/es/components/fields/NumberInput/NumberInput.js +1 -1
- package/es/components/fields/NumberInput/StepButton.js +1 -1
- package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/es/components/fields/Picker/Picker.js +1 -1
- package/es/components/fields/Picker/index.js +1 -1
- package/es/components/fields/RadioGroup/Radio.js +1 -1
- package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/es/components/fields/RadioGroup/context.js +1 -1
- package/es/components/fields/RadioGroup/index.js +1 -1
- package/es/components/fields/SearchInput/SearchInput.js +1 -1
- package/es/components/fields/SearchInput/index.js +1 -1
- package/es/components/fields/Select/Select.js +1 -1
- package/es/components/fields/Select/index.js +1 -1
- package/es/components/fields/Slider/Gradation.js +1 -1
- package/es/components/fields/Slider/Header.js +1 -1
- package/es/components/fields/Slider/RangeSlider.js +1 -1
- package/es/components/fields/Slider/Slider.js +1 -1
- package/es/components/fields/Slider/SliderBase.js +1 -1
- package/es/components/fields/Slider/SliderInput.js +1 -1
- package/es/components/fields/Slider/SliderThumb.js +1 -1
- package/es/components/fields/Slider/SliderTrack.js +1 -1
- package/es/components/fields/Slider/elements.js +1 -1
- package/es/components/fields/Slider/index.js +1 -1
- package/es/components/fields/Slider/types.js +1 -1
- package/es/components/fields/Switch/Switch.js +1 -1
- package/es/components/fields/Switch/index.js +1 -1
- package/es/components/fields/TextArea/TextArea.js +1 -1
- package/es/components/fields/TextArea/index.js +1 -1
- package/es/components/fields/TextInput/TextInput.js +1 -1
- package/es/components/fields/TextInput/TextInputBase.js +1 -1
- package/es/components/fields/TextInput/index.js +1 -1
- package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/es/components/fields/TextInputMapper/index.js +1 -1
- package/es/components/fields/index.js +1 -1
- package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
- package/es/components/form/FieldWrapper/index.js +1 -1
- package/es/components/form/FieldWrapper/types.js +1 -1
- package/es/components/form/Form/Field.js +1 -1
- package/es/components/form/Form/Form.js +1 -1
- package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/es/components/form/Form/ResetButton/index.js +1 -1
- package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/es/components/form/Form/SubmitButton/index.js +1 -1
- package/es/components/form/Form/SubmitError.js +1 -1
- package/es/components/form/Form/index.js +1 -1
- package/es/components/form/Form/types.js +1 -1
- package/es/components/form/Form/use-field/index.js +1 -1
- package/es/components/form/Form/use-field/types.js +1 -1
- package/es/components/form/Form/use-field/use-field-props.js +1 -1
- package/es/components/form/Form/use-field/use-field.js +1 -1
- package/es/components/form/Form/use-form.js +1 -1
- package/es/components/form/Form/validation.js +1 -1
- package/es/components/form/Label.js +1 -1
- package/es/components/form/index.js +1 -1
- package/es/components/form/wrapper.js +1 -1
- package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/es/components/helpers/DisplayTransition/index.js +1 -1
- package/es/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/es/components/helpers/index.js +1 -1
- package/es/components/layout/Flex.js +1 -1
- package/es/components/layout/Flow.js +1 -1
- package/es/components/layout/Grid.js +1 -1
- package/es/components/layout/Panel.js +1 -1
- package/es/components/layout/Prefix.js +1 -1
- package/es/components/layout/ResizablePanel.js +1 -1
- package/es/components/layout/Space.js +1 -1
- package/es/components/layout/Suffix.js +1 -1
- package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
- package/es/components/organisms/FileTabs/FileTabs.js +1 -1
- package/es/components/organisms/StatsCard/StatsCard.js +1 -1
- package/es/components/other/Base64Upload/Base64Upload.js +1 -1
- package/es/components/other/Calendar/Calendar.js +1 -1
- package/es/components/other/Calendar/CalendarCell.js +1 -1
- package/es/components/other/Calendar/CalendarGrid.js +1 -1
- package/es/components/other/Calendar/RangeCalendar.js +1 -1
- package/es/components/other/CloudLogo/CloudLogo.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/es/components/overlays/AlertDialog/index.js +1 -1
- package/es/components/overlays/AlertDialog/types.js +1 -1
- package/es/components/overlays/Dialog/Dialog.js +1 -1
- package/es/components/overlays/Dialog/DialogContainer.js +1 -1
- package/es/components/overlays/Dialog/DialogForm.js +1 -1
- package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/es/components/overlays/Dialog/context.js +1 -1
- package/es/components/overlays/Dialog/index.js +1 -1
- package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/es/components/overlays/Modal/Modal.js +1 -1
- package/es/components/overlays/Modal/OpenTransition.js +1 -1
- package/es/components/overlays/Modal/Overlay.js +1 -1
- package/es/components/overlays/Modal/Popover.js +1 -1
- package/es/components/overlays/Modal/Tray.js +1 -1
- package/es/components/overlays/Modal/Underlay.js +1 -1
- package/es/components/overlays/Modal/index.js +1 -1
- package/es/components/overlays/Modal/types.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
- package/es/components/overlays/NewNotifications/Notification.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
- package/es/components/overlays/NewNotifications/index.js +1 -1
- package/es/components/overlays/NewNotifications/types.js +1 -1
- package/es/components/overlays/Notification/Notification.js +1 -1
- package/es/components/overlays/OverlayWrapper.js +1 -1
- package/es/components/overlays/Toasts/Toast.js +1 -1
- package/es/components/overlays/Toasts/index.js +1 -1
- package/es/components/overlays/Toasts/types.js +1 -1
- package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
- package/es/components/overlays/Tooltip/Tooltip.js +1 -1
- package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/es/components/overlays/Tooltip/context.js +1 -1
- package/es/components/overlays/Tooltip/index.js +1 -1
- package/es/components/portal/Portal.js +1 -1
- package/es/components/portal/PortalProvider.js +1 -1
- package/es/components/portal/index.js +1 -1
- package/es/components/portal/types.js +1 -1
- package/es/components/portal/usePortal.js +1 -1
- package/es/components/shared/InvalidIcon.js +1 -1
- package/es/components/shared/ValidIcon.js +1 -1
- package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/es/components/status/LoadingAnimation/index.js +1 -1
- package/es/components/status/Spin/Cube.js +1 -1
- package/es/components/status/Spin/InternalSpinner.js +1 -1
- package/es/components/status/Spin/Spin.js +1 -1
- package/es/components/status/Spin/SpinsContainer.js +1 -1
- package/es/components/status/Spin/index.js +1 -1
- package/es/components/status/Spin/types.js +1 -1
- package/es/components/status/index.js +1 -1
- package/es/data/item-themes.js +1 -1
- package/es/data/themes.js +1 -1
- package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/es/icons/AdjustmentsIcon.js +1 -1
- package/es/icons/AiIcon.js +1 -1
- package/es/icons/AreaChartIcon.js +1 -1
- package/es/icons/BackwardIcon.js +1 -1
- package/es/icons/BarChartIcon.js +1 -1
- package/es/icons/BellFilledIcon.js +1 -1
- package/es/icons/BellIcon.js +1 -1
- package/es/icons/BooleanIcon.js +1 -1
- package/es/icons/CalendarEditIcon.js +1 -1
- package/es/icons/CalendarIcon.js +1 -1
- package/es/icons/CaretDownIcon.js +1 -1
- package/es/icons/CaretUpIcon.js +1 -1
- package/es/icons/ChartAreaStackedIcon.js +1 -1
- package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/es/icons/ChartBarGroupedIcon.js +1 -1
- package/es/icons/ChartBarHorizontalIcon.js +1 -1
- package/es/icons/ChartBarLineIcon.js +1 -1
- package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/es/icons/ChartBarStackedIcon.js +1 -1
- package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/es/icons/ChartBoxPlot2Icon.js +1 -1
- package/es/icons/ChartBoxPlotIcon.js +1 -1
- package/es/icons/ChartBubbleIcon.js +1 -1
- package/es/icons/ChartDonut2Icon.js +1 -1
- package/es/icons/ChartFunnelIcon.js +1 -1
- package/es/icons/ChartHeatmapIcon.js +1 -1
- package/es/icons/ChartKPIIcon.js +1 -1
- package/es/icons/ChartPie2Icon.js +1 -1
- package/es/icons/ChartScatterIcon.js +1 -1
- package/es/icons/CheckCircleFilledIcon.js +1 -1
- package/es/icons/CheckCircleIcon.js +1 -1
- package/es/icons/CheckIcon.js +1 -1
- package/es/icons/CircleFilledIcon.js +1 -1
- package/es/icons/ClearIcon.js +1 -1
- package/es/icons/CloseCircleFilledIcon.js +1 -1
- package/es/icons/CloseCircleIcon.js +1 -1
- package/es/icons/CloseIcon.js +1 -1
- package/es/icons/CodeIcon.js +1 -1
- package/es/icons/ColumnTotalIcon.js +1 -1
- package/es/icons/CopyIcon.js +1 -1
- package/es/icons/CountIcon.js +1 -1
- package/es/icons/CubeIcon.js +1 -1
- package/es/icons/CubePauseIcon.js +1 -1
- package/es/icons/CubePlayIcon.js +1 -1
- package/es/icons/CurrencyDollarIcon.js +1 -1
- package/es/icons/DangerIcon.js +1 -1
- package/es/icons/DashboardIcon.js +1 -1
- package/es/icons/DatabaseIcon.js +1 -1
- package/es/icons/DecimalDecreaseIcon.js +1 -1
- package/es/icons/DecimalIncreaseIcon.js +1 -1
- package/es/icons/DirectionIcon.js +1 -1
- package/es/icons/DonutIcon.js +1 -1
- package/es/icons/DownIcon.js +1 -1
- package/es/icons/EditIcon.js +1 -1
- package/es/icons/ExclamationCircleFilledIcon.js +1 -1
- package/es/icons/ExclamationCircleIcon.js +1 -1
- package/es/icons/ExclamationIcon.js +1 -1
- package/es/icons/EyeIcon.js +1 -1
- package/es/icons/EyeInvisibleIcon.js +1 -1
- package/es/icons/FilterIcon.js +1 -1
- package/es/icons/FolderFilledIcon.js +1 -1
- package/es/icons/FolderIcon.js +1 -1
- package/es/icons/FolderOpenFilledIcon.js +1 -1
- package/es/icons/FolderOpenIcon.js +1 -1
- package/es/icons/ForwardIcon.js +1 -1
- package/es/icons/HierarchyIcon.js +1 -1
- package/es/icons/HierarchyOpenIcon.js +1 -1
- package/es/icons/Icon.js +1 -1
- package/es/icons/InfoCircleIcon.js +1 -1
- package/es/icons/InfoIcon.js +1 -1
- package/es/icons/KeyIcon.js +1 -1
- package/es/icons/LeftIcon.js +1 -1
- package/es/icons/LineChartIcon.js +1 -1
- package/es/icons/LoadingIcon.js +1 -1
- package/es/icons/LockFilledIcon.js +1 -1
- package/es/icons/LockIcon.js +1 -1
- package/es/icons/MoreIcon.js +1 -1
- package/es/icons/NotAllowedIcon.js +1 -1
- package/es/icons/Number123Icon.js +1 -1
- package/es/icons/NumberIcon.js +1 -1
- package/es/icons/PauseCircleFilledIcon.js +1 -1
- package/es/icons/PauseCircleIcon.js +1 -1
- package/es/icons/PauseIcon.js +1 -1
- package/es/icons/PercentageIcon.js +1 -1
- package/es/icons/PieChartIcon.js +1 -1
- package/es/icons/PlayCircleIcon.js +1 -1
- package/es/icons/PlayIcon.js +1 -1
- package/es/icons/PlusIcon.js +1 -1
- package/es/icons/ProgressBarIcon.js +1 -1
- package/es/icons/ReloadIcon.js +1 -1
- package/es/icons/ReportIcon.js +1 -1
- package/es/icons/ReturnIcon.js +1 -1
- package/es/icons/RightIcon.js +1 -1
- package/es/icons/RowTotalsIcon.js +1 -1
- package/es/icons/SchemeIcon.js +1 -1
- package/es/icons/SearchIcon.js +1 -1
- package/es/icons/SettingsIcon.js +1 -1
- package/es/icons/ShieldFilledIcon.js +1 -1
- package/es/icons/ShieldIcon.js +1 -1
- package/es/icons/SlashIcon.js +1 -1
- package/es/icons/SparklesIcon.js +1 -1
- package/es/icons/SqlIcon.js +1 -1
- package/es/icons/StatsIcon.js +1 -1
- package/es/icons/StopIcon.js +1 -1
- package/es/icons/StringIcon.js +1 -1
- package/es/icons/SubtotalsIcon.js +1 -1
- package/es/icons/SwitchIcon.js +1 -1
- package/es/icons/TableIcon.js +1 -1
- package/es/icons/ThumbsDownIcon.js +1 -1
- package/es/icons/ThumbsUpIcon.js +1 -1
- package/es/icons/ThunderboltCrossedIcon.js +1 -1
- package/es/icons/ThunderboltFilledIcon.js +1 -1
- package/es/icons/ThunderboltIcon.js +1 -1
- package/es/icons/TimeIcon.js +1 -1
- package/es/icons/TrashIcon.js +1 -1
- package/es/icons/UnlockIcon.js +1 -1
- package/es/icons/UpIcon.js +1 -1
- package/es/icons/UserGroupIcon.js +1 -1
- package/es/icons/UserIcon.js +1 -1
- package/es/icons/UserLockIcon.js +1 -1
- package/es/icons/ViewIcon.js +1 -1
- package/es/icons/WarningFilledIcon.js +1 -1
- package/es/icons/WarningIcon.js +1 -1
- package/es/icons/add-new-icon.js +1 -1
- package/es/icons/index.js +1 -1
- package/es/icons/wrap-icon.js +1 -1
- package/es/index.js +2 -1
- package/es/provider.js +2 -8
- package/es/providers/TrackingProvider.js +1 -1
- package/es/providers/navigation.types.js +1 -1
- package/es/providers/navigationAdapter.default.js +1 -1
- package/es/services/notification.js +1 -1
- package/es/shared/form.js +1 -1
- package/es/shared/index.js +1 -1
- package/es/stories/Form.legacy-stories.js +1 -1
- package/es/stories/FormFieldArgs.js +1 -1
- package/es/stories/SimpleLayout.stories.js +1 -1
- package/es/stories/Tasty.stories.js +1 -1
- package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
- package/es/stories/components/DialogFormApp.js +1 -1
- package/es/stories/components/StyledButton.js +18 -14
- package/es/stories/lists/baseProps.js +1 -1
- package/es/tasty/chunks/cacheKey.js +98 -0
- package/es/tasty/chunks/definitions.js +280 -0
- package/es/tasty/chunks/index.js +12 -0
- package/es/tasty/chunks/renderChunk.js +97 -0
- package/es/tasty/config.js +244 -0
- package/es/tasty/debug.js +193 -7
- 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 +146 -0
- package/es/tasty/index.js +18 -4
- package/es/tasty/injector/index.js +31 -87
- package/es/tasty/injector/injector.js +30 -279
- package/es/tasty/injector/sheet-manager.js +126 -2
- package/es/tasty/injector/types.js +1 -1
- package/es/tasty/parser/classify.js +5 -3
- package/es/tasty/parser/const.js +1 -1
- package/es/tasty/parser/lru.js +1 -1
- package/es/tasty/parser/parser.js +14 -1
- package/es/tasty/parser/tokenizer.js +1 -1
- package/es/tasty/parser/types.js +2 -1
- package/es/tasty/pipeline/conditions.js +469 -0
- package/es/tasty/pipeline/exclusive.js +193 -0
- package/es/tasty/pipeline/index.js +515 -0
- package/es/tasty/pipeline/materialize.js +1001 -0
- package/es/tasty/pipeline/parseStateKey.js +565 -0
- package/es/tasty/pipeline/simplify.js +786 -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 +515 -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 +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 +10 -20
- 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 +75 -55
- package/es/tasty/styles/outline.js +1 -1
- package/es/tasty/styles/padding.js +75 -55
- package/es/tasty/styles/place.js +1 -1
- package/es/tasty/styles/predefined.js +3 -2
- package/es/tasty/styles/preset.js +1 -1
- package/es/tasty/styles/radius.js +1 -1
- package/es/tasty/styles/reset.js +2 -6
- 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 +9 -2
- package/es/tasty/styles/types.js +1 -1
- package/es/tasty/styles/width.js +1 -1
- package/es/tasty/tasty.js +76 -117
- 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 +1 -1
- package/es/tasty/utils/processTokens.js +87 -1
- package/es/tasty/utils/string.js +1 -1
- package/es/tasty/utils/styles.js +252 -19
- package/es/tasty/utils/typography.js +67 -0
- package/es/tasty/utils/warnings.js +1 -1
- package/es/tasty/zero/babel.js +401 -0
- package/es/tasty/zero/css-writer.js +94 -0
- package/es/tasty/zero/extractor.js +124 -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 +1 -1
- package/es/utils/modules.js +1 -1
- package/es/utils/promise.js +1 -1
- package/es/utils/raf.js +1 -1
- package/es/utils/random.js +1 -1
- package/es/utils/range.js +1 -1
- package/es/utils/react/RenderCache.js +1 -1
- package/es/utils/react/Slots.js +1 -1
- package/es/utils/react/chain.js +1 -1
- package/es/utils/react/forwardRefWithGenerics.js +1 -1
- package/es/utils/react/index.js +1 -1
- package/es/utils/react/interactions.js +1 -1
- package/es/utils/react/isTextOnly.js +1 -1
- package/es/utils/react/mapProps.js +1 -1
- package/es/utils/react/mergeProps.js +1 -1
- package/es/utils/react/nullableValue.js +1 -1
- package/es/utils/react/resolveIcon.js +1 -1
- package/es/utils/react/sharedStore.js +1 -1
- package/es/utils/react/useCombinedRefs.js +1 -1
- package/es/utils/react/useControlledFocusVisible.js +1 -1
- package/es/utils/react/useEventBus.js +1 -1
- package/es/utils/react/useId.js +1 -1
- package/es/utils/react/useIsDarwin.js +1 -1
- package/es/utils/react/useKeySymbols.js +1 -1
- package/es/utils/react/useLayoutEffect.js +1 -1
- package/es/utils/react/useLocalStorage.js +1 -1
- package/es/utils/react/useQaProps.js +1 -1
- package/es/utils/react/useViewportSize.js +1 -1
- package/es/utils/react/wrapNodeIfPlain.js +1 -1
- package/es/utils/tree.js +1 -1
- package/es/utils/warnings.js +1 -1
- package/es/version.js +2 -2
- package/package.json +13 -2
- package/types/components/GlobalStyles.d.ts +2 -1
- package/types/components/HiddenInput.d.ts +827 -826
- package/types/components/Root.d.ts +1 -0
- package/types/components/actions/Button/Button.d.ts +1647 -1645
- package/types/components/actions/CommandMenu/styled.d.ts +4135 -4130
- package/types/components/actions/Menu/styled.d.ts +4384 -4379
- package/types/components/actions/use-action.d.ts +1 -1
- package/types/components/content/List/SectionHeading.d.ts +83 -83
- package/types/components/content/Text.d.ts +311 -311
- package/types/components/fields/DatePicker/DatePickerElement.d.ts +83 -83
- package/types/components/fields/Select/Select.d.ts +827 -826
- package/types/components/fields/Slider/elements.d.ts +4962 -4956
- package/types/index.d.ts +1 -0
- package/types/provider.d.ts +1 -2
- package/types/stories/components/StyledButton.d.ts +1 -1
- 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 +145 -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 +38 -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 +13 -13
- package/types/tasty/injector/sheet-manager.d.ts +25 -1
- package/types/tasty/injector/types.d.ts +20 -1
- 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 +248 -0
- package/types/tasty/pipeline/exclusive.d.ts +78 -0
- package/types/tasty/pipeline/index.d.ts +67 -0
- package/types/tasty/pipeline/materialize.d.ts +115 -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/types.d.ts +13 -3
- package/types/tasty/tasty.d.ts +891 -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 +56 -0
- package/types/tasty/zero/css-writer.d.ts +41 -0
- package/types/tasty/zero/extractor.d.ts +19 -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/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/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,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-4ec8603
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -88,7 +88,14 @@ export function transitionStyle({ transition }) {
|
|
|
88
88
|
});
|
|
89
89
|
const result = Object.entries(map)
|
|
90
90
|
.map(([style, [name, easing, timing, delay]]) => {
|
|
91
|
-
|
|
91
|
+
let value = `${style} ${timing || getTiming(name)}`;
|
|
92
|
+
if (easing || delay) {
|
|
93
|
+
value += ` ${easing || DEFAULT_EASING}`;
|
|
94
|
+
}
|
|
95
|
+
if (delay) {
|
|
96
|
+
value += ` ${delay}`;
|
|
97
|
+
}
|
|
98
|
+
return value;
|
|
92
99
|
})
|
|
93
100
|
.join(', ');
|
|
94
101
|
return { transition: result };
|
package/es/tasty/styles/types.js
CHANGED
package/es/tasty/styles/width.js
CHANGED
package/es/tasty/tasty.js
CHANGED
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-4ec8603
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { createElement, forwardRef,
|
|
8
|
+
import { createElement, forwardRef, useMemo, } from 'react';
|
|
9
9
|
import { isValidElementType } from 'react-is';
|
|
10
|
-
import {
|
|
11
|
-
import { BreakpointsContext } from './providers/BreakpointsProvider';
|
|
10
|
+
import { useStyles } from './hooks/useStyles';
|
|
12
11
|
import { BASE_STYLES } from './styles/list';
|
|
13
|
-
import { cacheWrapper } from './utils/cache-wrapper';
|
|
14
12
|
import { getDisplayName } from './utils/getDisplayName';
|
|
15
13
|
import { mergeStyles } from './utils/mergeStyles';
|
|
16
14
|
import { modAttrs } from './utils/modAttrs';
|
|
17
15
|
import { processTokens, stringifyTokens } from './utils/processTokens';
|
|
18
|
-
import { renderStyles } from './utils/renderStyles';
|
|
19
|
-
import { stringifyStyles } from './utils/styles';
|
|
20
16
|
/**
|
|
21
17
|
* Mapping of is* properties to their corresponding HTML attributes
|
|
22
18
|
*/
|
|
@@ -47,51 +43,68 @@ function handleIsProperties(props) {
|
|
|
47
43
|
}
|
|
48
44
|
}
|
|
49
45
|
/**
|
|
50
|
-
*
|
|
46
|
+
* Creates a sub-element component for compound component patterns.
|
|
47
|
+
* Sub-elements are lightweight components with data-element attribute for CSS targeting.
|
|
51
48
|
*/
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
49
|
+
function createSubElement(elementName, definition) {
|
|
50
|
+
// Normalize definition to object form
|
|
51
|
+
const config = typeof definition === 'string'
|
|
52
|
+
? { as: definition }
|
|
53
|
+
: definition;
|
|
54
|
+
const tag = config.as ?? 'div';
|
|
55
|
+
const defaultQa = config.qa;
|
|
56
|
+
const defaultQaVal = config.qaVal;
|
|
57
|
+
const SubElement = forwardRef((props, ref) => {
|
|
58
|
+
const { qa, qaVal, mods, tokens, isDisabled, isHidden, isChecked, className, style, ...htmlProps } = props;
|
|
59
|
+
// Build mod attributes
|
|
60
|
+
let modProps;
|
|
61
|
+
if (mods) {
|
|
62
|
+
modProps = modAttrs(mods);
|
|
63
|
+
}
|
|
64
|
+
// Process tokens into inline style properties
|
|
65
|
+
const tokenStyle = tokens
|
|
66
|
+
? processTokens(tokens)
|
|
67
|
+
: undefined;
|
|
68
|
+
// Merge token styles with explicit style prop (style has priority)
|
|
69
|
+
let mergedStyle;
|
|
70
|
+
if (tokenStyle || style) {
|
|
71
|
+
mergedStyle =
|
|
72
|
+
tokenStyle && style
|
|
73
|
+
? { ...tokenStyle, ...style }
|
|
74
|
+
: (tokenStyle ?? style);
|
|
75
|
+
}
|
|
76
|
+
const elementProps = {
|
|
77
|
+
'data-element': elementName,
|
|
78
|
+
'data-qa': qa ?? defaultQa,
|
|
79
|
+
'data-qaval': qaVal ?? defaultQaVal,
|
|
80
|
+
...(modProps || {}),
|
|
81
|
+
...htmlProps,
|
|
82
|
+
className,
|
|
83
|
+
style: mergedStyle,
|
|
84
|
+
isDisabled,
|
|
85
|
+
isHidden,
|
|
86
|
+
isChecked,
|
|
87
|
+
ref,
|
|
88
|
+
};
|
|
89
|
+
// Handle is* properties (isDisabled -> disabled + data-disabled, etc.)
|
|
90
|
+
handleIsProperties(elementProps);
|
|
91
|
+
// Clean up undefined data attributes
|
|
92
|
+
if (elementProps['data-qa'] === undefined)
|
|
93
|
+
delete elementProps['data-qa'];
|
|
94
|
+
if (elementProps['data-qaval'] === undefined)
|
|
95
|
+
delete elementProps['data-qaval'];
|
|
96
|
+
return createElement(tag, elementProps);
|
|
97
|
+
});
|
|
98
|
+
SubElement.displayName = `SubElement(${elementName})`;
|
|
99
|
+
return SubElement;
|
|
56
100
|
}
|
|
57
101
|
// Implementation
|
|
58
102
|
export function tasty(Component, options) {
|
|
59
|
-
if (typeof Component === 'string') {
|
|
60
|
-
return tastyGlobal(Component, options);
|
|
61
|
-
}
|
|
62
103
|
if (isValidElementType(Component)) {
|
|
63
104
|
return tastyWrap(Component, options);
|
|
64
105
|
}
|
|
65
106
|
return tastyElement(Component);
|
|
66
107
|
}
|
|
67
|
-
// Internal specialized implementations
|
|
68
|
-
function tastyGlobal(selector, styles) {
|
|
69
|
-
const _StyleDeclarationComponent = ({ breakpoints, }) => {
|
|
70
|
-
let contextBreakpoints = useContext(BreakpointsContext);
|
|
71
|
-
const breakpointsList = (breakpoints ?? contextBreakpoints) || [980];
|
|
72
|
-
const disposeRef = useRef(null);
|
|
73
|
-
const styleResults = useMemo(() => {
|
|
74
|
-
if (!styles)
|
|
75
|
-
return [];
|
|
76
|
-
return renderStyles(styles, breakpointsList, selector);
|
|
77
|
-
}, [selector, styles, breakpointsList]);
|
|
78
|
-
// Inject styles at insertion phase; cleanup on change/unmount
|
|
79
|
-
useInsertionEffect(() => {
|
|
80
|
-
disposeRef.current?.();
|
|
81
|
-
if (styleResults.length === 0)
|
|
82
|
-
return;
|
|
83
|
-
const { dispose } = injectGlobal(styleResults);
|
|
84
|
-
disposeRef.current = dispose;
|
|
85
|
-
return () => {
|
|
86
|
-
disposeRef.current?.();
|
|
87
|
-
disposeRef.current = null;
|
|
88
|
-
};
|
|
89
|
-
}, [styleResults]);
|
|
90
|
-
return null;
|
|
91
|
-
};
|
|
92
|
-
_StyleDeclarationComponent.displayName = `TastyStyleDeclaration(${selector})`;
|
|
93
|
-
return _StyleDeclarationComponent;
|
|
94
|
-
}
|
|
95
108
|
function tastyWrap(Component, options) {
|
|
96
109
|
let { as: extendTag, element: extendElement, ...defaultProps } = (options ?? {});
|
|
97
110
|
let propsWithStyles = ['styles'].concat(Object.keys(defaultProps).filter((prop) => prop.endsWith('Styles')));
|
|
@@ -125,7 +138,7 @@ function tastyWrap(Component, options) {
|
|
|
125
138
|
return _WrappedComponent;
|
|
126
139
|
}
|
|
127
140
|
function tastyElement(tastyOptions) {
|
|
128
|
-
let { as: originalAs = 'div', element: defaultElement, styles: defaultStyles, styleProps, variants, tokens: defaultTokens, ...defaultProps } = tastyOptions;
|
|
141
|
+
let { as: originalAs = 'div', element: defaultElement, styles: defaultStyles, styleProps, variants, tokens: defaultTokens, elements, ...defaultProps } = tastyOptions;
|
|
129
142
|
let _TastyComponent;
|
|
130
143
|
if (variants) {
|
|
131
144
|
const variantEntries = Object.entries(variants);
|
|
@@ -162,18 +175,10 @@ function tastyElement(tastyOptions) {
|
|
|
162
175
|
});
|
|
163
176
|
}
|
|
164
177
|
else {
|
|
165
|
-
/**
|
|
166
|
-
* An additional optimization that allows to avoid rendering styles across various instances
|
|
167
|
-
* of the same element if no custom styles are provided via `styles` prop or direct style props.
|
|
168
|
-
*/
|
|
169
|
-
const renderDefaultStyles = cacheWrapper((breakpoints) => {
|
|
170
|
-
// Return rules without className - injector will add it
|
|
171
|
-
return renderStyles(defaultStyles || {}, breakpoints);
|
|
172
|
-
});
|
|
173
178
|
let { qa: defaultQa, qaVal: defaultQaVal, ...otherDefaultProps } = defaultProps ?? {};
|
|
174
179
|
// eslint-disable-next-line react/display-name
|
|
175
180
|
_TastyComponent = forwardRef((allProps, ref) => {
|
|
176
|
-
let { as, styles, variant: _omitVariant,
|
|
181
|
+
let { as, styles, variant: _omitVariant, mods, element, qa, qaVal, className: userClassName, tokens, style, ...otherProps } = allProps;
|
|
177
182
|
// Optimize propStyles extraction - avoid creating empty objects
|
|
178
183
|
let propStyles = null;
|
|
179
184
|
const propsToCheck = styleProps
|
|
@@ -192,66 +197,17 @@ function tastyElement(tastyOptions) {
|
|
|
192
197
|
(styles && Object.keys(styles).length === 0)) {
|
|
193
198
|
styles = undefined;
|
|
194
199
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
// Memoize breakpoints key once
|
|
198
|
-
const breakpointsKey = useMemo(() => breakpoints?.join(',') || '', [breakpoints?.join(',')]);
|
|
199
|
-
const propStylesKey = stringifyStyles(propStyles);
|
|
200
|
-
// Optimize style computation and cache key generation
|
|
201
|
-
const { allStyles, cacheKey, useDefaultStyles } = useMemo(() => {
|
|
200
|
+
// Merge default styles with instance styles and prop styles
|
|
201
|
+
const allStyles = useMemo(() => {
|
|
202
202
|
const hasStyles = styles && Object.keys(styles).length > 0;
|
|
203
203
|
const hasPropStyles = propStyles && Object.keys(propStyles).length > 0;
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
? defaultStyles
|
|
207
|
-
: mergeStyles(defaultStyles, styles, propStyles);
|
|
208
|
-
// Generate cache key for style deduplication
|
|
209
|
-
const styleKey = stringifyStyles(merged || {});
|
|
210
|
-
const key = generateStyleCacheKey(styleKey, breakpointsKey ? `bp:${breakpointsKey}` : undefined);
|
|
211
|
-
return {
|
|
212
|
-
allStyles: merged,
|
|
213
|
-
cacheKey: key,
|
|
214
|
-
useDefaultStyles: useDefault,
|
|
215
|
-
};
|
|
216
|
-
}, [styles, propStylesKey, breakpointsKey]);
|
|
217
|
-
// Compute rules synchronously; inject via insertion effect
|
|
218
|
-
const directResult = useMemo(() => {
|
|
219
|
-
if (useDefaultStyles) {
|
|
220
|
-
return renderDefaultStyles(breakpoints);
|
|
221
|
-
}
|
|
222
|
-
else if (allStyles && Object.keys(allStyles).length > 0) {
|
|
223
|
-
// Return rules without className - injector will add it
|
|
224
|
-
return renderStyles(allStyles, breakpoints);
|
|
225
|
-
}
|
|
226
|
-
else {
|
|
227
|
-
return { rules: [], className: '' };
|
|
228
|
-
}
|
|
229
|
-
}, [useDefaultStyles, allStyles, breakpointsKey, cacheKey]);
|
|
230
|
-
const disposeRef = useRef(null);
|
|
231
|
-
// Allocate className in render phase (safe for React Strict Mode)
|
|
232
|
-
const allocatedClassName = useMemo(() => {
|
|
233
|
-
if (!directResult.rules.length || !cacheKey)
|
|
234
|
-
return '';
|
|
235
|
-
const { className } = allocateClassName(cacheKey);
|
|
236
|
-
return className;
|
|
237
|
-
}, [directResult.rules.length, cacheKey]);
|
|
238
|
-
// Inject styles in insertion effect (avoids render phase side effects)
|
|
239
|
-
useInsertionEffect(() => {
|
|
240
|
-
// Cleanup previous disposal reference
|
|
241
|
-
disposeRef.current?.();
|
|
242
|
-
if (directResult.rules.length > 0) {
|
|
243
|
-
const injectionResult = inject(directResult.rules, { cacheKey });
|
|
244
|
-
disposeRef.current = injectionResult.dispose;
|
|
204
|
+
if (!hasStyles && !hasPropStyles) {
|
|
205
|
+
return defaultStyles;
|
|
245
206
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
disposeRef.current?.();
|
|
251
|
-
disposeRef.current = null;
|
|
252
|
-
};
|
|
253
|
-
}, [directResult.rules, cacheKey]);
|
|
254
|
-
const injectedClassName = allocatedClassName;
|
|
207
|
+
return mergeStyles(defaultStyles, styles, propStyles);
|
|
208
|
+
}, [styles, propStyles]);
|
|
209
|
+
// Use the useStyles hook for style generation and injection
|
|
210
|
+
const { className: stylesClassName } = useStyles({ styles: allStyles });
|
|
255
211
|
// Merge default tokens with instance tokens (instance overrides defaults)
|
|
256
212
|
const tokensKey = stringifyTokens(tokens);
|
|
257
213
|
const mergedTokens = useMemo(() => {
|
|
@@ -282,11 +238,8 @@ function tastyElement(tastyOptions) {
|
|
|
282
238
|
const modsObject = mods;
|
|
283
239
|
modProps = modAttrs(modsObject);
|
|
284
240
|
}
|
|
285
|
-
// Merge user className with
|
|
286
|
-
const finalClassName = [
|
|
287
|
-
userClassName || '',
|
|
288
|
-
injectedClassName,
|
|
289
|
-
]
|
|
241
|
+
// Merge user className with generated className
|
|
242
|
+
const finalClassName = [userClassName || '', stylesClassName]
|
|
290
243
|
.filter(Boolean)
|
|
291
244
|
.join(' ');
|
|
292
245
|
const elementProps = {
|
|
@@ -302,13 +255,19 @@ function tastyElement(tastyOptions) {
|
|
|
302
255
|
};
|
|
303
256
|
// Apply the helper to handle is* properties
|
|
304
257
|
handleIsProperties(elementProps);
|
|
305
|
-
// NEW: Use plain createElement instead of styled Element
|
|
306
258
|
const renderedElement = createElement(as ?? originalAs, elementProps);
|
|
307
|
-
// Note: Empty className is normal for elements with no styles
|
|
308
259
|
return renderedElement;
|
|
309
260
|
});
|
|
310
261
|
}
|
|
311
262
|
_TastyComponent.displayName = `TastyComponent(${defaultProps.qa || originalAs})`;
|
|
263
|
+
// Attach sub-element components if elements are defined
|
|
264
|
+
if (elements) {
|
|
265
|
+
const subElements = Object.entries(elements).reduce((acc, [name, definition]) => {
|
|
266
|
+
acc[name] = createSubElement(name, definition);
|
|
267
|
+
return acc;
|
|
268
|
+
}, {});
|
|
269
|
+
return Object.assign(_TastyComponent, subElements);
|
|
270
|
+
}
|
|
312
271
|
return _TastyComponent;
|
|
313
272
|
}
|
|
314
273
|
export const Element = tasty({});
|
package/es/tasty/types.js
CHANGED
package/es/tasty/utils/colors.js
CHANGED
package/es/tasty/utils/dotize.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-4ec8603
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { isSelector } from '
|
|
8
|
+
import { isSelector } from '../pipeline';
|
|
9
9
|
export function mergeStyles(...objects) {
|
|
10
10
|
let styles = objects[0] ? { ...objects[0] } : {};
|
|
11
11
|
let pos = 1;
|
|
@@ -1,12 +1,86 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-4ec8603
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { getRgbValuesFromRgbaString, hexToRgb, parseStyle } from './styles';
|
|
9
9
|
const devMode = process.env.NODE_ENV !== 'production';
|
|
10
|
+
/**
|
|
11
|
+
* Parse HSL values from an hsl()/hsla() string.
|
|
12
|
+
* Supports both comma-separated (legacy) and space-separated (modern) syntax:
|
|
13
|
+
* hsl(200, 40%, 50%)
|
|
14
|
+
* hsl(200 40% 50%)
|
|
15
|
+
* hsl(200 40% 50% / 0.5)
|
|
16
|
+
*
|
|
17
|
+
* Returns [h, s, l] where h is 0-360, s and l are 0-1, or null if parsing fails.
|
|
18
|
+
*/
|
|
19
|
+
function parseHslValues(str) {
|
|
20
|
+
const match = str.match(/hsla?\(([^)]+)\)/i);
|
|
21
|
+
if (!match)
|
|
22
|
+
return null;
|
|
23
|
+
const inner = match[1].trim();
|
|
24
|
+
// Split by slash first (for alpha), then handle color components
|
|
25
|
+
const [colorPart] = inner.split('/');
|
|
26
|
+
// Split by comma or whitespace
|
|
27
|
+
const parts = colorPart
|
|
28
|
+
.trim()
|
|
29
|
+
.split(/[,\s]+/)
|
|
30
|
+
.filter(Boolean);
|
|
31
|
+
if (parts.length < 3)
|
|
32
|
+
return null;
|
|
33
|
+
// Parse hue (can be unitless degrees, deg, turn, rad, or grad)
|
|
34
|
+
let h = parseFloat(parts[0]);
|
|
35
|
+
const hueStr = parts[0].toLowerCase();
|
|
36
|
+
if (hueStr.endsWith('turn')) {
|
|
37
|
+
h = parseFloat(hueStr) * 360;
|
|
38
|
+
}
|
|
39
|
+
else if (hueStr.endsWith('rad')) {
|
|
40
|
+
h = (parseFloat(hueStr) * 180) / Math.PI;
|
|
41
|
+
}
|
|
42
|
+
else if (hueStr.endsWith('grad')) {
|
|
43
|
+
h = parseFloat(hueStr) * 0.9; // 400 grad = 360 deg
|
|
44
|
+
}
|
|
45
|
+
// deg or unitless are already in degrees
|
|
46
|
+
// Normalize hue to 0-360 range
|
|
47
|
+
h = h % 360;
|
|
48
|
+
if (h < 0)
|
|
49
|
+
h += 360;
|
|
50
|
+
// Parse saturation and lightness (percentages)
|
|
51
|
+
const parsePercent = (val) => {
|
|
52
|
+
const num = parseFloat(val);
|
|
53
|
+
return val.includes('%') ? num / 100 : num;
|
|
54
|
+
};
|
|
55
|
+
const s = Math.max(0, Math.min(1, parsePercent(parts[1])));
|
|
56
|
+
const l = Math.max(0, Math.min(1, parsePercent(parts[2])));
|
|
57
|
+
return [h, s, l];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Convert HSL to RGB (sRGB).
|
|
61
|
+
* Algorithm from: https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_RGB_alternative
|
|
62
|
+
* Same as used in CSS Color 4 spec.
|
|
63
|
+
*
|
|
64
|
+
* @param h - Hue in degrees (0-360)
|
|
65
|
+
* @param s - Saturation (0-1)
|
|
66
|
+
* @param l - Lightness (0-1)
|
|
67
|
+
* @returns RGB values in 0-255 range (may have fractional values)
|
|
68
|
+
*/
|
|
69
|
+
function hslToRgb(h, s, l) {
|
|
70
|
+
const a = s * Math.min(l, 1 - l);
|
|
71
|
+
const f = (n) => {
|
|
72
|
+
const k = (n + h / 30) % 12;
|
|
73
|
+
return l - a * Math.max(-1, Math.min(k - 3, 9 - k, 1));
|
|
74
|
+
};
|
|
75
|
+
// Convert 0-1 range to 0-255
|
|
76
|
+
return [f(0) * 255, f(8) * 255, f(4) * 255];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Format a number to a string with up to 1 decimal place, removing trailing zeros.
|
|
80
|
+
*/
|
|
81
|
+
function formatRgbComponent(n) {
|
|
82
|
+
return parseFloat(n.toFixed(1)).toString();
|
|
83
|
+
}
|
|
10
84
|
/**
|
|
11
85
|
* Extract RGB triplet from a color value.
|
|
12
86
|
* Returns the RGB values as a space-separated string (e.g., "255 128 0")
|
|
@@ -25,6 +99,18 @@ function extractRgbValue(colorValue, parsedOutput) {
|
|
|
25
99
|
return rgbValues.join(' ');
|
|
26
100
|
}
|
|
27
101
|
}
|
|
102
|
+
// For hsl(...) values, convert to RGB triplet
|
|
103
|
+
if (parsedOutput.startsWith('hsl(') ||
|
|
104
|
+
parsedOutput.startsWith('hsla(') ||
|
|
105
|
+
colorValue.startsWith('hsl(') ||
|
|
106
|
+
colorValue.startsWith('hsla(')) {
|
|
107
|
+
// Try parsedOutput first, then original colorValue
|
|
108
|
+
const hslValues = parseHslValues(parsedOutput) || parseHslValues(colorValue);
|
|
109
|
+
if (hslValues) {
|
|
110
|
+
const [r, g, b] = hslToRgb(hslValues[0], hslValues[1], hslValues[2]);
|
|
111
|
+
return `${formatRgbComponent(r)} ${formatRgbComponent(g)} ${formatRgbComponent(b)}`;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
28
114
|
// For hex values, convert to RGB triplet
|
|
29
115
|
if (colorValue.startsWith('#') && /^#[0-9a-fA-F]{3,8}$/.test(colorValue)) {
|
|
30
116
|
const rgbResult = hexToRgb(colorValue);
|