@cube-dev/ui-kit 0.74.3 → 0.76.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/es/_internal/hooks/index.js +1 -1
- package/es/_internal/hooks/use-chained-callback.js +1 -1
- package/es/_internal/hooks/use-debounced-value.js +1 -1
- package/es/_internal/hooks/use-deprecation-warning.js +1 -1
- package/es/_internal/hooks/use-effect-once.js +1 -1
- package/es/_internal/hooks/use-event.js +1 -1
- package/es/_internal/hooks/use-is-first-render.js +1 -1
- package/es/_internal/hooks/use-sync-ref.js +1 -1
- package/es/_internal/hooks/use-timer/index.js +1 -1
- package/es/_internal/hooks/use-timer/timer.js +1 -1
- package/es/_internal/hooks/use-timer/use-timer.js +1 -1
- package/es/_internal/hooks/use-update-effect.js +1 -1
- package/es/_internal/hooks/use-warn.js +1 -1
- package/es/_internal/index.js +1 -1
- package/es/components/Block.js +1 -1
- package/es/components/GlobalStyles.js +10 -15
- package/es/components/GridProvider.js +1 -1
- package/es/components/HiddenInput.js +25 -24
- package/es/components/Item.js +1 -1
- package/es/components/OpenTrasition.js +1 -1
- package/es/components/Root.js +2 -2
- package/es/components/actions/Action/Action.js +15 -19
- package/es/components/actions/Button/Button.js +2 -1
- package/es/components/actions/Button/index.js +1 -1
- package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/es/components/actions/CommandMenu/index.js +1 -1
- package/es/components/actions/CommandMenu/styled.js +1 -1
- package/es/components/actions/ItemButton/ItemButton.js +1 -1
- package/es/components/actions/ItemButton/index.js +1 -1
- package/es/components/actions/Menu/Menu.js +1 -1
- package/es/components/actions/Menu/MenuItem.js +3 -8
- package/es/components/actions/Menu/MenuSection.js +1 -1
- package/es/components/actions/Menu/MenuTrigger.js +1 -1
- package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/es/components/actions/Menu/context.js +1 -1
- package/es/components/actions/Menu/index.js +1 -1
- package/es/components/actions/Menu/styled.js +1 -1
- package/es/components/actions/index.js +1 -1
- package/es/components/actions/use-action.js +1 -1
- package/es/components/actions/use-anchored-menu.js +1 -1
- package/es/components/actions/use-context-menu.js +1 -1
- package/es/components/content/ActiveZone/ActiveZone.js +1 -1
- package/es/components/content/Alert/Alert.js +1 -1
- package/es/components/content/Alert/index.js +1 -1
- package/es/components/content/Alert/types.js +1 -1
- package/es/components/content/Alert/use-alert.js +1 -1
- package/es/components/content/Avatar/Avatar.js +1 -1
- package/es/components/content/Badge/Badge.js +1 -1
- package/es/components/content/Card/Card.js +1 -1
- package/es/components/content/Content.js +1 -1
- package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/es/components/content/CopyPasteBlock/index.js +1 -1
- package/es/components/content/CopySnippet/CopySnippet.js +1 -1
- package/es/components/content/CopySnippet/index.js +1 -1
- package/es/components/content/Divider.js +1 -1
- package/es/components/content/Footer.js +1 -1
- package/es/components/content/Header.js +1 -1
- package/es/components/content/HotKeys/HotKeys.js +1 -1
- package/es/components/content/HotKeys/index.js +1 -1
- package/es/components/content/ItemBase/ItemBase.js +9 -3
- package/es/components/content/ItemBase/index.js +1 -1
- package/es/components/content/List/SectionHeading.js +1 -1
- package/es/components/content/List/index.js +1 -1
- package/es/components/content/Paragraph.js +1 -1
- package/es/components/content/Placeholder/Placeholder.js +46 -41
- package/es/components/content/PrismCode/PrismCode.js +1 -1
- package/es/components/content/PrismCode/prismSetup.js +1 -1
- package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/es/components/content/Result/Result.js +1 -1
- package/es/components/content/Skeleton/Skeleton.js +1 -1
- package/es/components/content/Tag/Tag.js +1 -1
- package/es/components/content/Text.js +3 -3
- package/es/components/content/Title.js +3 -3
- package/es/components/fields/Checkbox/Checkbox.js +1 -1
- package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/es/components/fields/Checkbox/context.js +1 -1
- package/es/components/fields/Checkbox/index.js +1 -1
- package/es/components/fields/ComboBox/ComboBox.js +3 -7
- package/es/components/fields/ComboBox/index.js +1 -1
- package/es/components/fields/DatePicker/DateInput.js +1 -1
- package/es/components/fields/DatePicker/DateInputBase.js +1 -1
- package/es/components/fields/DatePicker/DatePicker.js +1 -1
- package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
- package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
- package/es/components/fields/DatePicker/TimeInput.js +1 -1
- package/es/components/fields/DatePicker/index.js +1 -1
- package/es/components/fields/DatePicker/intl.js +1 -1
- package/es/components/fields/DatePicker/parseDate.js +1 -1
- package/es/components/fields/DatePicker/props.js +1 -1
- package/es/components/fields/DatePicker/types.js +1 -1
- package/es/components/fields/DatePicker/utils.js +1 -1
- package/es/components/fields/FileInput/FileInput.js +1 -1
- package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/es/components/fields/FilterListBox/index.js +1 -1
- package/es/components/fields/FilterPicker/FilterPicker.js +3 -3
- package/es/components/fields/FilterPicker/index.js +1 -1
- package/es/components/fields/Input/Input.js +1 -1
- package/es/components/fields/Input/index.js +1 -1
- package/es/components/fields/ListBox/ListBox.js +1 -1
- package/es/components/fields/ListBox/index.js +1 -1
- package/es/components/fields/NumberInput/NumberInput.js +1 -1
- package/es/components/fields/NumberInput/StepButton.js +1 -1
- package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/es/components/fields/RadioGroup/Radio.js +2 -2
- package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/es/components/fields/RadioGroup/context.js +1 -1
- package/es/components/fields/RadioGroup/index.js +1 -1
- package/es/components/fields/SearchInput/SearchInput.js +1 -1
- package/es/components/fields/SearchInput/index.js +1 -1
- package/es/components/fields/Select/Select.js +1 -1
- package/es/components/fields/Select/index.js +1 -1
- package/es/components/fields/Slider/Gradation.js +1 -1
- package/es/components/fields/Slider/Header.js +1 -1
- package/es/components/fields/Slider/RangeSlider.js +1 -1
- package/es/components/fields/Slider/Slider.js +1 -1
- package/es/components/fields/Slider/SliderBase.js +1 -1
- package/es/components/fields/Slider/SliderInput.js +1 -1
- package/es/components/fields/Slider/SliderThumb.js +1 -1
- package/es/components/fields/Slider/SliderTrack.js +1 -1
- package/es/components/fields/Slider/elements.js +1 -1
- package/es/components/fields/Slider/index.js +1 -1
- package/es/components/fields/Slider/types.js +1 -1
- package/es/components/fields/Switch/Switch.js +1 -1
- package/es/components/fields/Switch/index.js +1 -1
- package/es/components/fields/TextArea/TextArea.js +1 -1
- package/es/components/fields/TextArea/index.js +1 -1
- package/es/components/fields/TextInput/TextInput.js +1 -1
- package/es/components/fields/TextInput/TextInputBase.js +3 -2
- package/es/components/fields/TextInput/index.js +1 -1
- package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/es/components/fields/TextInputMapper/index.js +1 -1
- package/es/components/fields/index.js +1 -1
- package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
- package/es/components/form/FieldWrapper/index.js +1 -1
- package/es/components/form/FieldWrapper/types.js +1 -1
- package/es/components/form/Form/Field.js +1 -1
- package/es/components/form/Form/Form.js +1 -1
- package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/es/components/form/Form/ResetButton/index.js +1 -1
- package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/es/components/form/Form/SubmitButton/index.js +1 -1
- package/es/components/form/Form/SubmitError.js +1 -1
- package/es/components/form/Form/index.js +1 -1
- package/es/components/form/Form/types.js +1 -1
- package/es/components/form/Form/use-field/index.js +1 -1
- package/es/components/form/Form/use-field/types.js +1 -1
- package/es/components/form/Form/use-field/use-field-props.js +1 -1
- package/es/components/form/Form/use-field/use-field.js +1 -1
- package/es/components/form/Form/use-form.js +1 -1
- package/es/components/form/Form/validation.js +1 -1
- package/es/components/form/Label.js +1 -1
- package/es/components/form/index.js +1 -1
- package/es/components/form/wrapper.js +1 -1
- package/es/components/layout/Flex.js +1 -1
- package/es/components/layout/Flow.js +1 -1
- package/es/components/layout/Grid.js +1 -1
- package/es/components/layout/Panel.js +1 -1
- package/es/components/layout/Prefix.js +1 -1
- package/es/components/layout/ResizablePanel.js +1 -1
- package/es/components/layout/Space.js +1 -1
- package/es/components/layout/Suffix.js +1 -1
- package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
- package/es/components/navigation/Link/Link.js +1 -1
- package/es/components/organisms/FileTabs/FileTabs.js +1 -1
- package/es/components/organisms/Modal/Modal.js +59 -68
- package/es/components/organisms/StatsCard/StatsCard.js +1 -1
- package/es/components/other/Base64Upload/Base64Upload.js +1 -1
- package/es/components/other/Calendar/Calendar.js +1 -1
- package/es/components/other/Calendar/CalendarCell.js +1 -1
- package/es/components/other/Calendar/CalendarGrid.js +1 -1
- package/es/components/other/Calendar/RangeCalendar.js +1 -1
- package/es/components/other/CloudLogo/CloudLogo.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/es/components/overlays/AlertDialog/index.js +1 -1
- package/es/components/overlays/AlertDialog/types.js +1 -1
- package/es/components/overlays/Dialog/Dialog.js +1 -1
- package/es/components/overlays/Dialog/DialogContainer.js +1 -1
- package/es/components/overlays/Dialog/DialogForm.js +1 -1
- package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/es/components/overlays/Dialog/context.js +1 -1
- package/es/components/overlays/Dialog/index.js +1 -1
- package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/es/components/overlays/Modal/Modal.js +1 -1
- package/es/components/overlays/Modal/OpenTransition.js +1 -1
- package/es/components/overlays/Modal/Overlay.js +1 -1
- package/es/components/overlays/Modal/Popover.js +1 -1
- package/es/components/overlays/Modal/Tray.js +1 -1
- package/es/components/overlays/Modal/Underlay.js +1 -1
- package/es/components/overlays/Modal/index.js +1 -1
- package/es/components/overlays/Modal/types.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
- package/es/components/overlays/NewNotifications/Notification.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
- package/es/components/overlays/NewNotifications/index.js +1 -1
- package/es/components/overlays/NewNotifications/types.js +1 -1
- package/es/components/overlays/Notification/Notification.js +1 -1
- package/es/components/overlays/OverlayWrapper.js +1 -1
- package/es/components/overlays/Toasts/Toast.js +1 -1
- package/es/components/overlays/Toasts/index.js +1 -1
- package/es/components/overlays/Toasts/types.js +1 -1
- package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
- package/es/components/overlays/Tooltip/Tooltip.js +1 -1
- package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/es/components/overlays/Tooltip/context.js +1 -1
- package/es/components/overlays/Tooltip/index.js +1 -1
- package/es/components/portal/Portal.js +1 -1
- package/es/components/portal/PortalProvider.js +1 -1
- package/es/components/portal/index.js +1 -1
- package/es/components/portal/types.js +1 -1
- package/es/components/portal/usePortal.js +1 -1
- package/es/components/shared/InvalidIcon.js +1 -1
- package/es/components/shared/ValidIcon.js +1 -1
- package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/es/components/status/LoadingAnimation/index.js +1 -1
- package/es/components/status/Spin/Cube.js +1 -1
- package/es/components/status/Spin/InternalSpinner.js +1 -1
- package/es/components/status/Spin/Spin.js +1 -1
- package/es/components/status/Spin/SpinsContainer.js +1 -1
- package/es/components/status/Spin/index.js +1 -1
- package/es/components/status/Spin/types.js +1 -1
- package/es/components/status/index.js +1 -1
- package/es/data/item-themes.js +1 -1
- package/es/data/themes.js +1 -1
- package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/es/icons/AdjustmentsIcon.js +1 -1
- package/es/icons/AiIcon.js +1 -1
- package/es/icons/AreaChartIcon.js +1 -1
- package/es/icons/BackwardIcon.js +1 -1
- package/es/icons/BarChartIcon.js +1 -1
- package/es/icons/BellFilledIcon.js +1 -1
- package/es/icons/BellIcon.js +1 -1
- package/es/icons/BooleanIcon.js +1 -1
- package/es/icons/CalendarEditIcon.js +1 -1
- package/es/icons/CalendarIcon.js +1 -1
- package/es/icons/CaretDownIcon.js +1 -1
- package/es/icons/CaretUpIcon.js +1 -1
- package/es/icons/ChartAreaStackedIcon.js +1 -1
- package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/es/icons/ChartBarGroupedIcon.js +1 -1
- package/es/icons/ChartBarHorizontalIcon.js +1 -1
- package/es/icons/ChartBarLineIcon.js +1 -1
- package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/es/icons/ChartBarStackedIcon.js +1 -1
- package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/es/icons/ChartBoxPlot2Icon.js +1 -1
- package/es/icons/ChartBoxPlotIcon.js +1 -1
- package/es/icons/ChartBubbleIcon.js +1 -1
- package/es/icons/ChartDonut2Icon.js +1 -1
- package/es/icons/ChartFunnelIcon.js +1 -1
- package/es/icons/ChartKPIIcon.js +1 -1
- package/es/icons/ChartPie2Icon.js +1 -1
- package/es/icons/ChartScatterIcon.js +1 -1
- package/es/icons/CheckCircleFilledIcon.js +1 -1
- package/es/icons/CheckCircleIcon.js +1 -1
- package/es/icons/CheckIcon.js +1 -1
- package/es/icons/CircleFilledIcon.js +1 -1
- package/es/icons/ClearIcon.js +1 -1
- package/es/icons/CloseCircleFilledIcon.js +1 -1
- package/es/icons/CloseCircleIcon.js +1 -1
- package/es/icons/CloseIcon.js +1 -1
- package/es/icons/CodeIcon.js +1 -1
- package/es/icons/CopyIcon.js +1 -1
- package/es/icons/CountIcon.js +1 -1
- package/es/icons/CubeIcon.js +1 -1
- package/es/icons/DangerIcon.js +1 -1
- package/es/icons/DashboardIcon.js +1 -1
- package/es/icons/DatabaseIcon.js +1 -1
- package/es/icons/DirectionIcon.js +1 -1
- package/es/icons/DonutIcon.js +1 -1
- package/es/icons/DownIcon.js +1 -1
- package/es/icons/EditIcon.js +1 -1
- package/es/icons/ExclamationCircleFilledIcon.js +1 -1
- package/es/icons/ExclamationCircleIcon.js +1 -1
- package/es/icons/ExclamationIcon.js +1 -1
- package/es/icons/EyeIcon.js +1 -1
- package/es/icons/EyeInvisibleIcon.js +1 -1
- package/es/icons/FilterIcon.js +1 -1
- package/es/icons/FolderFilledIcon.js +1 -1
- package/es/icons/FolderIcon.js +1 -1
- package/es/icons/FolderOpenFilledIcon.js +1 -1
- package/es/icons/FolderOpenIcon.js +1 -1
- package/es/icons/ForwardIcon.js +1 -1
- package/es/icons/HierarchyIcon.js +1 -1
- package/es/icons/Icon.js +1 -1
- package/es/icons/InfoCircleIcon.js +1 -1
- package/es/icons/InfoIcon.js +1 -1
- package/es/icons/KeyIcon.js +1 -1
- package/es/icons/LeftIcon.js +1 -1
- package/es/icons/LineChartIcon.js +1 -1
- package/es/icons/LoadingIcon.js +1 -1
- package/es/icons/LockFilledIcon.js +1 -1
- package/es/icons/LockIcon.js +1 -1
- package/es/icons/MoreIcon.js +1 -1
- package/es/icons/NotAllowedIcon.js +1 -1
- package/es/icons/NumberIcon.js +1 -1
- package/es/icons/PauseCircleFilledIcon.js +1 -1
- package/es/icons/PauseCircleIcon.js +1 -1
- package/es/icons/PauseIcon.js +1 -1
- package/es/icons/PieChartIcon.js +1 -1
- package/es/icons/PlayCircleIcon.js +1 -1
- package/es/icons/PlayIcon.js +1 -1
- package/es/icons/PlusIcon.js +1 -1
- package/es/icons/ReloadIcon.js +1 -1
- package/es/icons/ReportIcon.js +1 -1
- package/es/icons/ReturnIcon.js +1 -1
- package/es/icons/RightIcon.js +1 -1
- package/es/icons/SchemeIcon.js +1 -1
- package/es/icons/SearchIcon.js +1 -1
- package/es/icons/SettingsIcon.js +1 -1
- package/es/icons/ShieldFilledIcon.js +1 -1
- package/es/icons/ShieldIcon.js +1 -1
- package/es/icons/SlashIcon.js +1 -1
- package/es/icons/SparklesIcon.js +1 -1
- package/es/icons/SqlIcon.js +1 -1
- package/es/icons/StatsIcon.js +1 -1
- package/es/icons/StopIcon.js +1 -1
- package/es/icons/StringIcon.js +1 -1
- package/es/icons/SwitchIcon.js +1 -1
- package/es/icons/TableIcon.js +1 -1
- package/es/icons/ThumbsDownIcon.js +1 -1
- package/es/icons/ThumbsUpIcon.js +1 -1
- package/es/icons/ThunderboltCrossedIcon.js +1 -1
- package/es/icons/ThunderboltFilledIcon.js +1 -1
- package/es/icons/ThunderboltIcon.js +1 -1
- package/es/icons/TimeIcon.js +1 -1
- package/es/icons/UnlockIcon.js +1 -1
- package/es/icons/UpIcon.js +1 -1
- package/es/icons/UserGroupIcon.js +1 -1
- package/es/icons/UserIcon.js +1 -1
- package/es/icons/UserLockIcon.js +1 -1
- package/es/icons/ViewIcon.js +1 -1
- package/es/icons/WarningFilledIcon.js +1 -1
- package/es/icons/WarningIcon.js +1 -1
- package/es/icons/add-new-icon.js +1 -1
- package/es/icons/index.js +1 -1
- package/es/icons/wrap-icon.js +1 -1
- package/es/index.js +1 -1
- package/es/provider.js +1 -1
- package/es/providers/TrackingProvider.js +1 -1
- package/es/services/notification.js +1 -1
- package/es/shared/form.js +1 -1
- package/es/shared/index.js +1 -1
- package/es/stories/Form.legacy-stories.js +1 -1
- package/es/stories/FormFieldArgs.js +1 -1
- package/es/stories/Layout.stories.js +1 -1
- package/es/stories/Tasty.stories.js +1 -1
- package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
- package/es/stories/components/DialogFormApp.js +1 -1
- package/es/stories/components/StyledButton.js +1 -1
- package/es/stories/lists/baseProps.js +1 -2
- package/es/tasty/debug.js +703 -0
- package/es/tasty/index.js +3 -1
- package/es/tasty/injector/index.js +187 -0
- package/es/tasty/injector/injector.js +678 -0
- package/es/tasty/injector/sheet-manager.js +912 -0
- package/es/tasty/injector/types.js +10 -0
- package/es/tasty/parser/classify.js +1 -1
- package/es/tasty/parser/const.js +1 -1
- package/es/tasty/parser/lru.js +38 -2
- package/es/tasty/parser/parser.js +1 -1
- package/es/tasty/parser/tokenizer.js +1 -1
- package/es/tasty/parser/types.js +1 -1
- package/es/tasty/providers/BreakpointsProvider.js +1 -1
- package/es/tasty/styles/align.js +1 -1
- package/es/tasty/styles/border.js +1 -1
- package/es/tasty/styles/boxShadow.combinator.js +1 -1
- package/es/tasty/styles/color.js +8 -12
- package/es/tasty/styles/createStyle.js +19 -4
- package/es/tasty/styles/dimension.js +1 -1
- package/es/tasty/styles/display.js +1 -1
- package/es/tasty/styles/fade.js +1 -1
- package/es/tasty/styles/fill.js +6 -8
- package/es/tasty/styles/flow.js +1 -1
- package/es/tasty/styles/font.js +1 -1
- package/es/tasty/styles/fontStyle.js +1 -1
- package/es/tasty/styles/gap.js +1 -1
- package/es/tasty/styles/groupRadius.js +1 -1
- package/es/tasty/styles/height.js +1 -1
- package/es/tasty/styles/index.js +1 -1
- package/es/tasty/styles/inset.js +1 -1
- package/es/tasty/styles/justify.js +1 -1
- package/es/tasty/styles/list.js +1 -1
- package/es/tasty/styles/margin.js +1 -1
- package/es/tasty/styles/marginBlock.js +1 -1
- package/es/tasty/styles/marginInline.js +1 -1
- package/es/tasty/styles/outline.js +1 -1
- package/es/tasty/styles/padding.js +1 -1
- package/es/tasty/styles/paddingBlock.js +1 -1
- package/es/tasty/styles/paddingInline.js +1 -1
- package/es/tasty/styles/place.js +1 -1
- package/es/tasty/styles/predefined.js +1 -3
- package/es/tasty/styles/preset.js +1 -1
- package/es/tasty/styles/radius.js +1 -1
- package/es/tasty/styles/reset.js +40 -44
- package/es/tasty/styles/scrollbar.js +1 -1
- package/es/tasty/styles/shadow.js +1 -1
- package/es/tasty/styles/styledScrollbar.js +1 -1
- package/es/tasty/styles/transition.js +2 -1
- package/es/tasty/styles/types.js +1 -1
- package/es/tasty/styles/width.js +1 -1
- package/es/tasty/tasty.js +120 -35
- package/es/tasty/types.js +1 -1
- package/es/tasty/utils/cache-wrapper.js +1 -1
- package/es/tasty/utils/case-converter.js +1 -1
- package/es/tasty/utils/colors.js +1 -1
- package/es/tasty/utils/dotize.js +1 -1
- package/es/tasty/utils/filterBaseProps.js +1 -1
- package/es/tasty/utils/getDisplayName.js +1 -1
- package/es/tasty/utils/getModCombinations.js +26 -30
- package/es/tasty/utils/isDevEnv.js +36 -0
- package/es/tasty/utils/mergeStyles.js +1 -1
- package/es/tasty/utils/modAttrs.js +1 -1
- package/es/tasty/utils/renderStyles.js +710 -58
- package/es/tasty/utils/responsive.js +1 -7
- package/es/tasty/utils/string.js +1 -1
- package/es/tasty/utils/styles.js +100 -235
- package/es/tasty/utils/warnings.js +1 -1
- package/es/tokens.js +1 -12
- package/es/type-checks.js +1 -1
- package/es/utils/ResizeSensor.js +1 -1
- package/es/utils/modules.js +1 -1
- package/es/utils/promise.js +1 -1
- package/es/utils/random.js +1 -1
- package/es/utils/range.js +1 -1
- package/es/utils/react/Slots.js +1 -1
- package/es/utils/react/chain.js +1 -1
- package/es/utils/react/forwardRefWithGenerics.js +1 -1
- package/es/utils/react/index.js +1 -1
- package/es/utils/react/interactions.js +1 -1
- package/es/utils/react/isTextOnly.js +1 -1
- package/es/utils/react/mapProps.js +1 -1
- package/es/utils/react/mergeProps.js +1 -1
- package/es/utils/react/nullableValue.js +1 -1
- package/es/utils/react/sharedStore.js +1 -1
- package/es/utils/react/useCombinedRefs.js +1 -1
- package/es/utils/react/useControlledFocusVisible.js +1 -1
- package/es/utils/react/useEventBus.js +1 -1
- package/es/utils/react/useId.js +1 -1
- package/es/utils/react/useIsDarwin.js +1 -1
- package/es/utils/react/useKeySymbols.js +1 -1
- package/es/utils/react/useLayoutEffect.js +1 -1
- package/es/utils/react/useQaProps.js +1 -1
- package/es/utils/react/useViewportSize.js +1 -1
- package/es/utils/react/wrapNodeIfPlain.js +1 -1
- package/es/utils/transitions.js +1 -1
- package/es/utils/tree.js +1 -1
- package/es/utils/warnings.js +1 -1
- package/es/version.js +2 -2
- package/package.json +1 -1
- package/types/components/HiddenInput.d.ts +1 -3
- package/types/components/actions/Button/Button.d.ts +1 -0
- package/types/components/actions/Menu/styled.d.ts +762 -765
- package/types/components/actions/use-action.d.ts +1 -1
- package/types/components/content/List/SectionHeading.d.ts +254 -255
- package/types/components/fields/DatePicker/DatePickerElement.d.ts +254 -255
- package/types/tasty/debug.d.ts +163 -0
- package/types/tasty/index.d.ts +2 -0
- package/types/tasty/injector/index.d.ts +87 -0
- package/types/tasty/injector/injector.d.ts +111 -0
- package/types/tasty/injector/sheet-manager.d.ts +98 -0
- package/types/tasty/injector/types.d.ts +106 -0
- package/types/tasty/parser/lru.d.ts +5 -1
- package/types/tasty/styles/color.d.ts +3 -1
- package/types/tasty/styles/reset.d.ts +1 -2
- package/types/tasty/types.d.ts +0 -2
- package/types/tasty/utils/getModCombinations.d.ts +9 -1
- package/types/tasty/utils/isDevEnv.d.ts +6 -0
- package/types/tasty/utils/renderStyles.d.ts +30 -7
- package/types/tasty/utils/responsive.d.ts +0 -1
- package/types/tasty/utils/styles.d.ts +7 -90
- package/types/tokens.d.ts +0 -11
package/es/tasty/styles/reset.js
CHANGED
@@ -1,74 +1,69 @@
|
|
1
1
|
/**
|
2
2
|
* @license MIT
|
3
3
|
* author: Cube Dev Team
|
4
|
-
* @cube-dev/ui-kit v0.
|
4
|
+
* @cube-dev/ui-kit v0.76.0
|
5
5
|
* Released under the MIT license.
|
6
6
|
*/
|
7
7
|
|
8
8
|
import { parseStyle } from '../utils/styles';
|
9
|
+
const AUTOFILL_STYLES = {
|
10
|
+
'caret-color': 'var(--purple-color)',
|
11
|
+
'-webkit-text-fill-color': 'var(--purple-color)',
|
12
|
+
'-webkit-box-shadow': '0 0 0px 9999rem var(--white-color) inset',
|
13
|
+
'box-shadow': '0 0 0px 9999rem var(--white-color) inset',
|
14
|
+
'font-family': 'inherit',
|
15
|
+
'font-size': 'inherit',
|
16
|
+
'line-height': 'inherit',
|
17
|
+
};
|
9
18
|
const RESET_MAP = {
|
10
19
|
input: [
|
11
20
|
{
|
12
|
-
|
13
|
-
-
|
14
|
-
|
15
|
-
-webkit-text-fill-color: currentColor;
|
16
|
-
`,
|
21
|
+
'-webkit-appearance': 'none',
|
22
|
+
'word-spacing': 'initial',
|
23
|
+
'-webkit-text-fill-color': 'currentColor',
|
17
24
|
},
|
18
25
|
{
|
19
26
|
$: '::-webkit-search-cancel-button',
|
20
|
-
|
27
|
+
display: 'none',
|
28
|
+
},
|
29
|
+
{
|
30
|
+
$: ':-webkit-autofill',
|
31
|
+
...AUTOFILL_STYLES,
|
32
|
+
},
|
33
|
+
{
|
34
|
+
$: ':-webkit-autofill:hover',
|
35
|
+
...AUTOFILL_STYLES,
|
21
36
|
},
|
22
37
|
{
|
23
|
-
$:
|
24
|
-
|
25
|
-
':-webkit-autofill:hover',
|
26
|
-
':-webkit-autofill:focus',
|
27
|
-
],
|
28
|
-
css: `
|
29
|
-
caret-color: var(--purple-color);
|
30
|
-
-webkit-text-fill-color: var(--purple-color);
|
31
|
-
-webkit-box-shadow: 0 0 0px 9999rem var(--white-color) inset;
|
32
|
-
box-shadow: 0 0 0px 9999rem var(--white-color) inset;
|
33
|
-
font-family: inherit;
|
34
|
-
font-size: inherit;
|
35
|
-
line-height: inherit;
|
36
|
-
`,
|
38
|
+
$: ':-webkit-autofill:focus',
|
39
|
+
...AUTOFILL_STYLES,
|
37
40
|
},
|
38
41
|
{
|
39
42
|
$: '[disabled]',
|
40
|
-
|
41
|
-
-webkit-opacity: 1;
|
42
|
-
`,
|
43
|
+
'-webkit-opacity': '1',
|
43
44
|
},
|
44
45
|
{
|
45
46
|
$: '::placeholder',
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
filter: saturate(.33);
|
50
|
-
`,
|
47
|
+
'-webkit-text-fill-color': 'var(--local-placeholder-color)',
|
48
|
+
color: 'var(--local-placeholder-color)',
|
49
|
+
filter: 'saturate(.33)',
|
51
50
|
},
|
52
51
|
{
|
53
52
|
$: '::-webkit-search-cancel-button',
|
54
|
-
|
55
|
-
|
56
|
-
-webkit-appearance: none;
|
57
|
-
`,
|
53
|
+
display: 'none',
|
54
|
+
'-webkit-appearance': 'none',
|
58
55
|
},
|
59
56
|
{
|
60
57
|
$: ':not([disabled])::placeholder',
|
61
|
-
|
58
|
+
'--local-placeholder-color': 'var(--placeholder-color, rgb(var(--dark-color-rgb) / .3))',
|
62
59
|
},
|
63
60
|
],
|
64
61
|
button: [
|
65
62
|
{
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
-
|
70
|
-
text-decoration: none;
|
71
|
-
`,
|
63
|
+
appearance: 'none',
|
64
|
+
'touch-action': 'manipulation',
|
65
|
+
'-webkit-tap-highlight-color': 'transparent',
|
66
|
+
'text-decoration': 'none',
|
72
67
|
},
|
73
68
|
],
|
74
69
|
};
|
@@ -77,12 +72,13 @@ export function resetStyle({ reset }) {
|
|
77
72
|
return;
|
78
73
|
const processed = parseStyle(reset);
|
79
74
|
const { mods } = processed.groups[0] ?? { mods: [] };
|
80
|
-
|
75
|
+
const result = [];
|
76
|
+
for (const mod of mods) {
|
81
77
|
if (RESET_MAP[mod]) {
|
82
|
-
|
78
|
+
result.push(...RESET_MAP[mod]);
|
83
79
|
}
|
84
|
-
|
85
|
-
|
80
|
+
}
|
81
|
+
return result.length ? result : undefined;
|
86
82
|
}
|
87
83
|
resetStyle.__lookupStyles = ['reset'];
|
88
84
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/**
|
2
2
|
* @license MIT
|
3
3
|
* author: Cube Dev Team
|
4
|
-
* @cube-dev/ui-kit v0.
|
4
|
+
* @cube-dev/ui-kit v0.76.0
|
5
5
|
* Released under the MIT license.
|
6
6
|
*/
|
7
7
|
|
@@ -33,6 +33,7 @@ const MAP = {
|
|
33
33
|
'border',
|
34
34
|
'border-radius',
|
35
35
|
'outline',
|
36
|
+
'opacity',
|
36
37
|
],
|
37
38
|
inset: ['box-shadow'],
|
38
39
|
mark: ['box-shadow'],
|
package/es/tasty/styles/types.js
CHANGED
package/es/tasty/styles/width.js
CHANGED
package/es/tasty/tasty.js
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
/**
|
2
2
|
* @license MIT
|
3
3
|
* author: Cube Dev Team
|
4
|
-
* @cube-dev/ui-kit v0.
|
4
|
+
* @cube-dev/ui-kit v0.76.0
|
5
5
|
* Released under the MIT license.
|
6
6
|
*/
|
7
7
|
|
8
|
-
import {
|
9
|
-
import { createElement, forwardRef, useContext, useMemo, } from 'react';
|
8
|
+
import { createElement, forwardRef, useContext, useInsertionEffect, useMemo, useRef, } from 'react';
|
10
9
|
import { isValidElementType } from 'react-is';
|
11
|
-
import
|
10
|
+
import { allocateClassName, inject, injectGlobal } from './injector';
|
12
11
|
import { BreakpointsContext } from './providers/BreakpointsProvider';
|
13
12
|
import { BASE_STYLES } from './styles/list';
|
14
13
|
import { cacheWrapper } from './utils/cache-wrapper';
|
@@ -16,7 +15,15 @@ import { getDisplayName } from './utils/getDisplayName';
|
|
16
15
|
import { mergeStyles } from './utils/mergeStyles';
|
17
16
|
import { modAttrs } from './utils/modAttrs';
|
18
17
|
import { renderStyles } from './utils/renderStyles';
|
19
|
-
import {
|
18
|
+
import { stringifyStyles } from './utils/styles';
|
19
|
+
/**
|
20
|
+
* Simple hash function for internal cache keys
|
21
|
+
*/
|
22
|
+
// Generate unique cache key for style deduplication
|
23
|
+
function generateStyleCacheKey(styleKey, contextKey) {
|
24
|
+
// Use null character as separator for better performance and no collision risk
|
25
|
+
return contextKey ? `${styleKey}\0${contextKey}` : styleKey;
|
26
|
+
}
|
20
27
|
// Implementation
|
21
28
|
export function tasty(Component, options) {
|
22
29
|
if (typeof Component === 'string') {
|
@@ -29,17 +36,28 @@ export function tasty(Component, options) {
|
|
29
36
|
}
|
30
37
|
// Internal specialized implementations
|
31
38
|
function tastyGlobal(selector, styles) {
|
32
|
-
let Element = createGlobalStyle `${({ $css }) => $css}`;
|
33
39
|
const _StyleDeclarationComponent = ({ breakpoints, }) => {
|
34
40
|
let contextBreakpoints = useContext(BreakpointsContext);
|
35
41
|
const breakpointsList = (breakpoints ?? contextBreakpoints) || [980];
|
36
|
-
const
|
37
|
-
|
42
|
+
const disposeRef = useRef(null);
|
43
|
+
const styleResults = useMemo(() => {
|
38
44
|
if (!styles)
|
39
|
-
return
|
40
|
-
return
|
41
|
-
}, [
|
42
|
-
|
45
|
+
return [];
|
46
|
+
return renderStyles(styles, breakpointsList, selector);
|
47
|
+
}, [selector, styles, breakpointsList]);
|
48
|
+
// Inject styles at insertion phase; cleanup on change/unmount
|
49
|
+
useInsertionEffect(() => {
|
50
|
+
disposeRef.current?.();
|
51
|
+
if (styleResults.length === 0)
|
52
|
+
return;
|
53
|
+
const { dispose } = injectGlobal(styleResults);
|
54
|
+
disposeRef.current = dispose;
|
55
|
+
return () => {
|
56
|
+
disposeRef.current?.();
|
57
|
+
disposeRef.current = null;
|
58
|
+
};
|
59
|
+
}, [styleResults]);
|
60
|
+
return null;
|
43
61
|
};
|
44
62
|
_StyleDeclarationComponent.displayName = `TastyStyleDeclaration(${selector})`;
|
45
63
|
return _StyleDeclarationComponent;
|
@@ -112,62 +130,129 @@ function tastyElement(tastyOptions) {
|
|
112
130
|
});
|
113
131
|
}
|
114
132
|
else {
|
115
|
-
let Element = styledComponents[originalAs](({ $css }) => $css);
|
116
133
|
/**
|
117
134
|
* An additional optimization that allows to avoid rendering styles across various instances
|
118
135
|
* of the same element if no custom styles are provided via `styles` prop or direct style props.
|
119
136
|
*/
|
120
|
-
const renderDefaultStyles = cacheWrapper((breakpoints) =>
|
137
|
+
const renderDefaultStyles = cacheWrapper((breakpoints) => {
|
138
|
+
// Return rules without className - injector will add it
|
139
|
+
return renderStyles(defaultStyles || {}, breakpoints);
|
140
|
+
});
|
121
141
|
let { qa: defaultQa, qaVal: defaultQaVal, ...otherDefaultProps } = defaultProps ?? {};
|
122
142
|
// eslint-disable-next-line react/display-name
|
123
143
|
_TastyComponent = forwardRef((allProps, ref) => {
|
124
|
-
let { as, styles, variant: _omitVariant, breakpoints, mods, element, qa, qaVal, ...otherProps } = allProps;
|
125
|
-
|
144
|
+
let { as, styles, variant: _omitVariant, breakpoints, mods, element, qa, qaVal, className: userClassName, ...otherProps } = allProps;
|
145
|
+
// Optimize propStyles extraction - avoid creating empty objects
|
146
|
+
let propStyles = null;
|
147
|
+
const propsToCheck = styleProps
|
126
148
|
? styleProps.concat(BASE_STYLES)
|
127
|
-
: BASE_STYLES
|
149
|
+
: BASE_STYLES;
|
150
|
+
for (const prop of propsToCheck) {
|
128
151
|
const key = prop;
|
129
152
|
if (Object.prototype.hasOwnProperty.call(otherProps, key)) {
|
130
|
-
|
153
|
+
if (!propStyles)
|
154
|
+
propStyles = {};
|
155
|
+
propStyles[key] = otherProps[key];
|
131
156
|
delete otherProps[key];
|
132
157
|
}
|
133
|
-
return map;
|
134
|
-
}, {});
|
135
|
-
if (Object.keys(propStyles).length === 0) {
|
136
|
-
propStyles = null;
|
137
158
|
}
|
138
159
|
if (!styles ||
|
139
160
|
(styles && Object.keys(styles).length === 0)) {
|
140
161
|
styles = undefined;
|
141
162
|
}
|
142
|
-
const propStylesCacheKey = JSON.stringify(propStyles);
|
143
|
-
const stylesCacheKey = useMemo(() => JSON.stringify(styles), [styles]);
|
144
|
-
const useDefaultStyles = !propStyles && !styles;
|
145
|
-
const styleCacheKey = useMemo(() => `${styles ? JSON.stringify(styles) : ''}.${propStyles ? JSON.stringify(propStyles) : ''}`, [propStylesCacheKey, stylesCacheKey]);
|
146
|
-
let allStyles = useMemo(() => useDefaultStyles
|
147
|
-
? defaultStyles
|
148
|
-
: mergeStyles(defaultStyles, styles, propStyles), [styleCacheKey]);
|
149
163
|
let contextBreakpoints = useContext(BreakpointsContext);
|
150
164
|
breakpoints = breakpoints ?? contextBreakpoints;
|
151
|
-
|
152
|
-
|
153
|
-
|
165
|
+
// Memoize breakpoints key once
|
166
|
+
const breakpointsKey = useMemo(() => breakpoints?.join(',') || '', [breakpoints?.join(',')]);
|
167
|
+
// Optimize style computation and cache key generation
|
168
|
+
const { allStyles, cacheKey, useDefaultStyles } = useMemo(() => {
|
169
|
+
const hasStyles = styles && Object.keys(styles).length > 0;
|
170
|
+
const hasPropStyles = propStyles && Object.keys(propStyles).length > 0;
|
171
|
+
const useDefault = !hasStyles && !hasPropStyles;
|
172
|
+
const merged = useDefault
|
173
|
+
? defaultStyles
|
174
|
+
: mergeStyles(defaultStyles, styles, propStyles);
|
175
|
+
// Generate cache key for style deduplication
|
176
|
+
const styleKey = stringifyStyles(merged || {});
|
177
|
+
const key = generateStyleCacheKey(styleKey, breakpointsKey ? `bp:${breakpointsKey}` : undefined);
|
178
|
+
return {
|
179
|
+
allStyles: merged,
|
180
|
+
cacheKey: key,
|
181
|
+
useDefaultStyles: useDefault,
|
182
|
+
};
|
183
|
+
}, [styles, propStyles, breakpointsKey]);
|
184
|
+
// Compute rules synchronously; inject via insertion effect
|
185
|
+
const directResult = useMemo(() => {
|
186
|
+
if (useDefaultStyles) {
|
187
|
+
return renderDefaultStyles(breakpoints);
|
188
|
+
}
|
189
|
+
else if (allStyles && Object.keys(allStyles).length > 0) {
|
190
|
+
// Return rules without className - injector will add it
|
191
|
+
return renderStyles(allStyles, breakpoints);
|
192
|
+
}
|
193
|
+
else {
|
194
|
+
return { rules: [], className: '' };
|
195
|
+
}
|
196
|
+
}, [useDefaultStyles, allStyles, breakpointsKey, cacheKey]);
|
197
|
+
const disposeRef = useRef(null);
|
198
|
+
// Allocate className in render phase (safe for React Strict Mode)
|
199
|
+
const allocatedClassName = useMemo(() => {
|
200
|
+
if (!directResult.rules.length || !cacheKey)
|
201
|
+
return '';
|
202
|
+
const { className } = allocateClassName(cacheKey);
|
203
|
+
return className;
|
204
|
+
}, [directResult.rules.length, cacheKey]);
|
205
|
+
// Inject styles in insertion effect (avoids render phase side effects)
|
206
|
+
useInsertionEffect(() => {
|
207
|
+
// Cleanup previous disposal reference
|
208
|
+
disposeRef.current?.();
|
209
|
+
if (directResult.rules.length > 0) {
|
210
|
+
const injectionResult = inject(directResult.rules, { cacheKey });
|
211
|
+
disposeRef.current = injectionResult.dispose;
|
212
|
+
}
|
213
|
+
else {
|
214
|
+
disposeRef.current = null;
|
215
|
+
}
|
216
|
+
return () => {
|
217
|
+
disposeRef.current?.();
|
218
|
+
disposeRef.current = null;
|
219
|
+
};
|
220
|
+
}, [directResult.rules, cacheKey]);
|
221
|
+
const injectedClassName = allocatedClassName;
|
154
222
|
let modProps;
|
155
223
|
if (mods) {
|
156
224
|
const modsObject = mods;
|
157
225
|
modProps = modAttrs(modsObject);
|
158
226
|
}
|
227
|
+
// Merge user className with injected className
|
228
|
+
const finalClassName = [
|
229
|
+
userClassName || '',
|
230
|
+
injectedClassName,
|
231
|
+
]
|
232
|
+
.filter(Boolean)
|
233
|
+
.join(' ');
|
159
234
|
const elementProps = {
|
160
|
-
as: as ?? originalAs,
|
161
235
|
'data-element': element || defaultElement,
|
162
236
|
'data-qa': qa || defaultQa,
|
163
237
|
'data-qaval': qaVal || defaultQaVal,
|
164
238
|
...otherDefaultProps,
|
165
239
|
...otherProps,
|
166
240
|
...(modProps || {}),
|
241
|
+
className: finalClassName,
|
167
242
|
ref,
|
168
|
-
$css: renderedStyles,
|
169
243
|
};
|
170
|
-
|
244
|
+
if ('isDisabled' in elementProps) {
|
245
|
+
elementProps.disabled = elementProps.isDisabled;
|
246
|
+
delete elementProps.isDisabled;
|
247
|
+
}
|
248
|
+
if ('isHidden' in elementProps) {
|
249
|
+
elementProps.hidden = elementProps.isHidden;
|
250
|
+
delete elementProps.isHidden;
|
251
|
+
}
|
252
|
+
// NEW: Use plain createElement instead of styled Element
|
253
|
+
const renderedElement = createElement(as ?? originalAs, elementProps);
|
254
|
+
// Note: Empty className is normal for elements with no styles
|
255
|
+
return renderedElement;
|
171
256
|
});
|
172
257
|
}
|
173
258
|
_TastyComponent.displayName = `TastyComponent(${defaultProps.qa || originalAs})`;
|
package/es/tasty/types.js
CHANGED
package/es/tasty/utils/colors.js
CHANGED
package/es/tasty/utils/dotize.js
CHANGED
@@ -1,42 +1,38 @@
|
|
1
1
|
/**
|
2
2
|
* @license MIT
|
3
3
|
* author: Cube Dev Team
|
4
|
-
* @cube-dev/ui-kit v0.
|
4
|
+
* @cube-dev/ui-kit v0.76.0
|
5
5
|
* Released under the MIT license.
|
6
6
|
*/
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
return false;
|
19
|
-
}
|
20
|
-
return false;
|
21
|
-
});
|
22
|
-
});
|
23
|
-
}
|
24
|
-
export function getModCombinations(array, allowEmpty) {
|
25
|
-
const result = allowEmpty ? [[]] : [];
|
26
|
-
if (array.length === 0) {
|
27
|
-
return [array];
|
8
|
+
/**
|
9
|
+
* Efficient iterative combination generator with early pruning
|
10
|
+
* Generates combinations one by one and prunes branches early when conflicts are detected
|
11
|
+
* @param array - Array of mod strings to generate combinations from
|
12
|
+
* @param allowEmpty - Whether to include empty combination
|
13
|
+
* @param conflictChecker - Function to detect conflicting combinations (required)
|
14
|
+
*/
|
15
|
+
export function getModCombinationsIterative(array, allowEmpty, conflictChecker) {
|
16
|
+
if (!conflictChecker) {
|
17
|
+
throw new Error('getModCombinationsIterative requires a conflictChecker function');
|
28
18
|
}
|
29
|
-
if (array.length
|
30
|
-
return
|
19
|
+
if (array.length === 0) {
|
20
|
+
return allowEmpty ? [[]] : [];
|
31
21
|
}
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
22
|
+
// Use iterative approach with early pruning for better performance
|
23
|
+
const combinations = [[]];
|
24
|
+
for (let i = 0; i < array.length; i++) {
|
25
|
+
const currentLength = combinations.length;
|
26
|
+
for (let j = 0; j < currentLength; j++) {
|
27
|
+
const newCombination = [...combinations[j], array[i]];
|
28
|
+
// Early conflict detection - only add if no conflicts
|
29
|
+
if (!conflictChecker(newCombination)) {
|
30
|
+
combinations.push(newCombination);
|
31
|
+
}
|
36
32
|
}
|
37
|
-
}
|
38
|
-
|
39
|
-
return
|
33
|
+
}
|
34
|
+
// Filter out empty combination if not allowed, but keep others
|
35
|
+
return combinations.filter((combo) => allowEmpty || combo.length > 0);
|
40
36
|
}
|
41
37
|
|
42
38
|
|
@@ -0,0 +1,36 @@
|
|
1
|
+
/**
|
2
|
+
* @license MIT
|
3
|
+
* author: Cube Dev Team
|
4
|
+
* @cube-dev/ui-kit v0.76.0
|
5
|
+
* Released under the MIT license.
|
6
|
+
*/
|
7
|
+
|
8
|
+
/**
|
9
|
+
* Check if we're in a development environment at runtime
|
10
|
+
* Uses bracket notation to avoid bundler compilation
|
11
|
+
* Also checks for TASTY_DEBUG localStorage setting
|
12
|
+
*/
|
13
|
+
export function isDevEnv() {
|
14
|
+
// Check localStorage for DEBUG_TASTY setting (browser environment)
|
15
|
+
if (typeof window !== 'undefined' && window.localStorage) {
|
16
|
+
try {
|
17
|
+
const forceTastyDebug = window.localStorage.getItem('TASTY_DEBUG');
|
18
|
+
if (forceTastyDebug !== null &&
|
19
|
+
forceTastyDebug.toLowerCase() === 'true') {
|
20
|
+
return true;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
catch {
|
24
|
+
// localStorage might not be available (private browsing, etc.)
|
25
|
+
// Continue with other checks
|
26
|
+
}
|
27
|
+
}
|
28
|
+
// Check NODE_ENV for Node.js environments
|
29
|
+
if (typeof process === 'undefined')
|
30
|
+
return false;
|
31
|
+
// Use bracket notation to avoid bundler replacement
|
32
|
+
const nodeEnv = process.env?.['NODE_ENV'];
|
33
|
+
return nodeEnv !== 'test' && nodeEnv !== 'production';
|
34
|
+
}
|
35
|
+
|
36
|
+
|