@cube-dev/ui-kit 0.16.3 → 0.17.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +18 -0
- package/README.md +4 -4
- package/cjs/_internal/hooks/index.js +6 -2
- package/cjs/_internal/hooks/use-chained-callback.js +1 -1
- package/cjs/_internal/hooks/use-deprecation-warning.js +6 -2
- package/cjs/_internal/hooks/use-event.js +1 -1
- package/cjs/_internal/hooks/use-sync-ref.js +1 -1
- package/cjs/_internal/hooks/use-timer/index.js +6 -2
- package/cjs/_internal/hooks/use-timer/timer.js +7 -7
- package/cjs/_internal/hooks/use-timer/use-timer.js +1 -1
- package/cjs/_internal/index.js +6 -2
- package/cjs/components/Base.js +2 -2
- package/cjs/components/Block.js +2 -2
- package/cjs/components/GlobalStyles.js +1 -1
- package/cjs/components/GridProvider.js +7 -3
- package/cjs/components/HiddenInput.js +1 -1
- package/cjs/components/OpenTrasition.js +2 -2
- package/cjs/components/Root.js +2 -2
- package/cjs/components/actions/Action.js +2 -2
- package/cjs/components/actions/Button/Button.js +140 -155
- package/cjs/components/actions/Button/Submit.js +2 -2
- package/cjs/components/actions/Button/index.js +6 -2
- package/cjs/components/actions/ButtonGroup/ButtonGroup.js +2 -2
- package/cjs/components/actions/index.js +6 -2
- package/cjs/components/actions/use-action.js +1 -1
- package/cjs/components/content/ActiveZone/ActiveZone.js +2 -2
- package/cjs/components/content/Alert/Alert.js +2 -2
- package/cjs/components/content/Alert/index.js +6 -2
- package/cjs/components/content/Alert/types.js +1 -1
- package/cjs/components/content/Alert/use-alert.js +1 -1
- package/cjs/components/content/Avatar/Avatar.js +2 -2
- package/cjs/components/content/Badge/Badge.js +2 -2
- package/cjs/components/content/Card/Card.js +2 -2
- package/cjs/components/content/Content.js +2 -2
- package/cjs/components/content/CopySnippet/CopySnippet.js +4 -4
- package/cjs/components/content/CopySnippet/index.js +6 -2
- package/cjs/components/content/Divider.js +2 -2
- package/cjs/components/content/Footer.js +2 -2
- package/cjs/components/content/Header.js +2 -2
- package/cjs/components/content/Paragraph.js +2 -2
- package/cjs/components/content/Placeholder/Placeholder.js +2 -2
- package/cjs/components/content/PrismCode/PrismCode.js +2 -2
- package/cjs/components/content/Result/Result.js +3 -3
- package/cjs/components/content/Skeleton/Skeleton.js +12 -12
- package/cjs/components/content/Tag/Tag.js +3 -3
- package/cjs/components/content/Text.js +8 -8
- package/cjs/components/content/Title.js +4 -4
- package/cjs/components/forms/Checkbox/Checkbox.js +7 -7
- package/cjs/components/forms/Checkbox/CheckboxGroup.js +3 -3
- package/cjs/components/forms/Checkbox/context.js +1 -1
- package/cjs/components/forms/FieldWrapper.js +5 -5
- package/cjs/components/forms/FileInput/FileInput.js +3 -3
- package/cjs/components/forms/Form/Field.js +2 -2
- package/cjs/components/forms/Form/Form.js +2 -2
- package/cjs/components/forms/Form/SubmitError.js +2 -2
- package/cjs/components/forms/Form/index.js +1 -1
- package/cjs/components/forms/Form/types.js +1 -1
- package/cjs/components/forms/Form/useForm.js +1 -1
- package/cjs/components/forms/Form/validation.js +1 -1
- package/cjs/components/forms/Input/Input.js +2 -2
- package/cjs/components/forms/Input/index.js +6 -2
- package/cjs/components/forms/Label.js +4 -4
- package/cjs/components/forms/NumberInput/NumberInput.js +2 -2
- package/cjs/components/forms/NumberInput/StepButton.js +3 -3
- package/cjs/components/forms/PasswordInput/PasswordInput.js +3 -3
- package/cjs/components/forms/RadioGroup/Radio.js +6 -6
- package/cjs/components/forms/RadioGroup/RadioGroup.js +3 -3
- package/cjs/components/forms/RadioGroup/context.js +1 -1
- package/cjs/components/forms/SearchInput/SearchInput.js +5 -14
- package/cjs/components/forms/Slider/Gradation.js +2 -2
- package/cjs/components/forms/Slider/Header.js +1 -1
- package/cjs/components/forms/Slider/RangeSlider.js +3 -3
- package/cjs/components/forms/Slider/Slider.js +3 -3
- package/cjs/components/forms/Slider/SliderBase.js +4 -4
- package/cjs/components/forms/Slider/SliderInput.js +2 -2
- package/cjs/components/forms/Slider/SliderThumb.js +2 -2
- package/cjs/components/forms/Slider/SliderTrack.js +2 -2
- package/cjs/components/forms/Slider/elements.js +1 -1
- package/cjs/components/forms/Slider/index.js +6 -2
- package/cjs/components/forms/Slider/types.js +1 -1
- package/cjs/components/forms/Switch/Switch.js +4 -4
- package/cjs/components/forms/TextArea/TextArea.js +2 -2
- package/cjs/components/forms/TextInput/TextInput.js +2 -2
- package/cjs/components/forms/TextInput/TextInputBase.js +6 -6
- package/cjs/components/forms/index.js +6 -2
- package/cjs/components/layout/Flex.js +2 -2
- package/cjs/components/layout/Flow.js +2 -2
- package/cjs/components/layout/Grid.js +2 -2
- package/cjs/components/layout/Prefix.js +2 -2
- package/cjs/components/layout/Space.js +2 -2
- package/cjs/components/layout/Suffix.js +2 -2
- package/cjs/components/navigation/LegacyTabs/LegacyTabs.js +4 -4
- package/cjs/components/navigation/Link/Link.js +2 -2
- package/cjs/components/organisms/FileTabs/FileTabs.js +4 -4
- package/cjs/components/organisms/Modal/Modal.js +3 -3
- package/cjs/components/organisms/StatsCard/StatsCard.js +2 -2
- package/cjs/components/other/Base64Upload/Base64Upload.js +2 -2
- package/cjs/components/other/CloudLogo/CloudLogo.js +2 -2
- package/cjs/components/overlays/AlertDialog/AlertDialog.js +2 -2
- package/cjs/components/overlays/AlertDialog/AlertDialogApiProvider.js +2 -2
- package/cjs/components/overlays/AlertDialog/AlertDialogZone.js +2 -2
- package/cjs/components/overlays/AlertDialog/index.js +6 -2
- package/cjs/components/overlays/AlertDialog/types.js +1 -1
- package/cjs/components/overlays/Dialog/Dialog.js +4 -4
- package/cjs/components/overlays/Dialog/DialogContainer.js +2 -2
- package/cjs/components/overlays/Dialog/DialogForm.js +3 -3
- package/cjs/components/overlays/Dialog/DialogTrigger.js +8 -8
- package/cjs/components/overlays/Dialog/context.js +1 -1
- package/cjs/components/overlays/Dialog/index.js +6 -2
- package/cjs/components/overlays/Modal/Modal.js +3 -3
- package/cjs/components/overlays/Modal/OpenTransition.js +2 -2
- package/cjs/components/overlays/Modal/Overlay.js +2 -2
- package/cjs/components/overlays/Modal/Popover.js +3 -3
- package/cjs/components/overlays/Modal/Tray.js +3 -3
- package/cjs/components/overlays/Modal/Underlay.js +2 -2
- package/cjs/components/overlays/Modal/index.js +6 -2
- package/cjs/components/overlays/Modal/types.js +1 -1
- package/cjs/components/overlays/NewNotifications/Bar/FloatingNotification.js +2 -2
- package/cjs/components/overlays/NewNotifications/Bar/NotificationsBar.js +2 -2
- package/cjs/components/overlays/NewNotifications/Bar/TransitionComponent.js +2 -2
- package/cjs/components/overlays/NewNotifications/Bar/index.js +6 -2
- package/cjs/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +3 -3
- package/cjs/components/overlays/NewNotifications/Dialog/index.js +6 -2
- package/cjs/components/overlays/NewNotifications/Notification.js +4 -4
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationAction.js +2 -2
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +3 -3
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +2 -2
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +7 -3
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +2 -2
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +5 -5
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +2 -2
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationView.js +2 -2
- package/cjs/components/overlays/NewNotifications/NotificationView/index.js +6 -2
- package/cjs/components/overlays/NewNotifications/NotificationView/types.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +2 -2
- package/cjs/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +2 -2
- package/cjs/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +2 -2
- package/cjs/components/overlays/NewNotifications/NotificationsList/index.js +6 -2
- package/cjs/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
- package/cjs/components/overlays/NewNotifications/hooks/index.js +6 -2
- package/cjs/components/overlays/NewNotifications/hooks/types.js +1 -1
- package/cjs/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
- package/cjs/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
- package/cjs/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
- package/cjs/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
- package/cjs/components/overlays/NewNotifications/index.js +6 -2
- package/cjs/components/overlays/NewNotifications/types.js +1 -1
- package/cjs/components/overlays/Notification/Notification.js +2 -2
- package/cjs/components/overlays/OverlayWrapper.js +3 -3
- package/cjs/components/overlays/Toasts/Toast.js +4 -4
- package/cjs/components/overlays/Toasts/index.js +6 -2
- package/cjs/components/overlays/Toasts/types.js +1 -1
- package/cjs/components/overlays/Toasts/use-toasts-api.js +1 -1
- package/cjs/components/overlays/Tooltip/Tooltip.js +2 -2
- package/cjs/components/overlays/Tooltip/TooltipProvider.js +2 -2
- package/cjs/components/overlays/Tooltip/TooltipTrigger.js +4 -4
- package/cjs/components/overlays/Tooltip/context.js +1 -1
- package/cjs/components/pickers/ComboBox/ComboBox.js +8 -8
- package/cjs/components/pickers/Menu/Menu.js +3 -3
- package/cjs/components/pickers/Menu/MenuButton.js +5 -5
- package/cjs/components/pickers/Menu/MenuItem.js +3 -3
- package/cjs/components/pickers/Menu/MenuSection.js +3 -3
- package/cjs/components/pickers/Menu/MenuTrigger.js +10 -6
- package/cjs/components/pickers/Menu/context.js +6 -2
- package/cjs/components/pickers/Menu/styled.js +1 -1
- package/cjs/components/pickers/Select/Select.js +10 -10
- package/cjs/components/portal/Portal.js +2 -2
- package/cjs/components/portal/PortalProvider.js +1 -1
- package/cjs/components/portal/index.js +6 -2
- package/cjs/components/portal/storybook/templates/CustomRoot.js +2 -2
- package/cjs/components/portal/storybook/templates/PortalOrder.js +2 -2
- package/cjs/components/portal/storybook/templates/basic.js +2 -2
- package/cjs/components/portal/storybook/templates/index.js +6 -2
- package/cjs/components/portal/types.js +1 -1
- package/cjs/components/portal/usePortal.js +1 -1
- package/cjs/components/status/LoadingAnimation/LoadingAnimation.js +3 -3
- package/cjs/components/status/LoadingAnimation/index.js +1 -1
- package/cjs/components/status/Spin/Cube.js +1 -1
- package/cjs/components/status/Spin/InternalSpinner.js +2 -2
- package/cjs/components/status/Spin/Spin.js +3 -3
- package/cjs/components/status/Spin/SpinsContainer.js +1 -1
- package/cjs/components/status/Spin/index.js +6 -2
- package/cjs/components/status/Spin/types.js +1 -1
- package/cjs/components/status/index.js +6 -2
- package/cjs/data/themes.js +1 -1
- package/cjs/icons/Attention.js +2 -2
- package/cjs/icons/Cross.js +2 -2
- package/cjs/icons/Danger.js +2 -2
- package/cjs/icons/Success.js +2 -2
- package/cjs/icons/index.js +6 -2
- package/cjs/index.js +6 -2
- package/cjs/provider.js +3 -3
- package/cjs/providers/StyleProvider.js +2 -2
- package/cjs/services/notification.js +2 -2
- package/cjs/shared/form.js +1 -1
- package/cjs/shared/index.js +6 -2
- package/cjs/stories/FormFieldArgs.js +1 -1
- package/cjs/stories/components/ConfirmDeletionDialogForm.js +3 -3
- package/cjs/stories/components/DialogFormApp.js +2 -2
- package/cjs/stories/components/StyledButton.js +2 -2
- package/cjs/stories/lists/baseProps.js +1 -1
- package/cjs/styled/index.js +6 -2
- package/cjs/styled/styled.js +9 -5
- package/cjs/tasty/index.js +7 -3
- package/cjs/tasty/providers/BreakpointsProvider.js +2 -2
- package/cjs/tasty/styles/align.js +1 -1
- package/cjs/tasty/styles/border.js +1 -1
- package/cjs/tasty/styles/boxShadow.combinator.js +1 -1
- package/cjs/tasty/styles/color.js +1 -1
- package/cjs/tasty/styles/createStyle.js +1 -1
- package/cjs/tasty/styles/dimension.js +1 -1
- package/cjs/tasty/styles/display.js +1 -1
- package/cjs/tasty/styles/fill.js +1 -1
- package/cjs/tasty/styles/flow.js +1 -1
- package/cjs/tasty/styles/font.js +1 -1
- package/cjs/tasty/styles/fontStyle.js +1 -1
- package/cjs/tasty/styles/gap.js +1 -1
- package/cjs/tasty/styles/groupRadius.js +1 -1
- package/cjs/tasty/styles/height.js +1 -1
- package/cjs/tasty/styles/index.js +6 -2
- package/cjs/tasty/styles/justify.js +1 -1
- package/cjs/tasty/styles/list.js +1 -1
- package/cjs/tasty/styles/margin.js +1 -1
- package/cjs/tasty/styles/marginBlock.js +1 -1
- package/cjs/tasty/styles/marginInline.js +1 -1
- package/cjs/tasty/styles/outline.js +1 -1
- package/cjs/tasty/styles/padding.js +1 -1
- package/cjs/tasty/styles/paddingBlock.js +1 -1
- package/cjs/tasty/styles/paddingInline.js +1 -1
- package/cjs/tasty/styles/predefined.js +1 -1
- package/cjs/tasty/styles/preset.js +1 -1
- package/cjs/tasty/styles/radius.js +1 -1
- package/cjs/tasty/styles/reset.js +1 -1
- package/cjs/tasty/styles/shadow.js +1 -1
- package/cjs/tasty/styles/styledScrollbar.js +1 -1
- package/cjs/tasty/styles/transition.js +1 -1
- package/cjs/tasty/styles/types.js +1 -1
- package/cjs/tasty/styles/width.js +1 -1
- package/cjs/tasty/tasty.js +94 -55
- package/cjs/tasty/types.js +1 -1
- package/cjs/tasty/utils/cache-wrapper.js +35 -0
- package/cjs/tasty/utils/case-converter.js +16 -0
- package/cjs/tasty/utils/colors.js +1 -1
- package/cjs/tasty/utils/dotize.js +1 -1
- package/cjs/tasty/utils/filterBaseProps.js +1 -1
- package/cjs/tasty/utils/{get-display-name.js → getDisplayName.js} +1 -1
- package/cjs/tasty/utils/index.js +1 -1
- package/cjs/tasty/utils/mergeStyles.js +1 -1
- package/cjs/tasty/utils/modAttrs.js +6 -3
- package/cjs/tasty/utils/renderStyles.js +4 -4
- package/cjs/tasty/utils/responsive.js +1 -1
- package/cjs/tasty/utils/string.js +1 -1
- package/cjs/tasty/utils/styles.js +22 -31
- package/cjs/tasty/utils/warnings.js +1 -1
- package/cjs/tokens.js +1 -1
- package/cjs/type-checks.js +1 -1
- package/cjs/utils/ResizeSensor.js +1 -1
- package/cjs/utils/modules.js +1 -1
- package/cjs/utils/promise.js +1 -1
- package/cjs/utils/random.js +1 -1
- package/cjs/utils/range.js +1 -1
- package/cjs/utils/react/Slots.js +3 -3
- package/cjs/utils/react/chain.js +1 -1
- package/cjs/utils/react/index.js +1 -1
- package/cjs/utils/react/interactions.js +1 -1
- package/cjs/utils/react/isTextOnly.js +1 -1
- package/cjs/utils/react/mapProps.js +1 -1
- package/cjs/utils/react/mergeProps.js +4 -1
- package/cjs/utils/react/nullableValue.js +1 -1
- package/cjs/utils/react/useCombinedRefs.js +1 -1
- package/cjs/utils/react/useId.js +1 -1
- package/cjs/utils/react/useLayoutEffect.js +6 -2
- package/cjs/utils/react/useViewportSize.js +1 -1
- package/cjs/utils/react/wrapNodeIfPlain.js +1 -1
- package/cjs/utils/transitions.js +1 -1
- package/cjs/utils/tree.js +1 -1
- package/cjs/utils/warnings.js +1 -1
- package/es/_internal/hooks/index.js +1 -1
- package/es/_internal/hooks/use-chained-callback.js +1 -1
- package/es/_internal/hooks/use-deprecation-warning.js +1 -1
- package/es/_internal/hooks/use-event.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 +7 -7
- package/es/_internal/hooks/use-timer/use-timer.js +1 -1
- package/es/_internal/index.js +1 -1
- package/es/components/Base.js +2 -2
- package/es/components/Block.js +2 -2
- package/es/components/GlobalStyles.js +1 -1
- package/es/components/GridProvider.js +2 -2
- package/es/components/HiddenInput.js +1 -1
- package/es/components/OpenTrasition.js +2 -2
- package/es/components/Root.js +2 -2
- package/es/components/actions/Action.js +2 -2
- package/es/components/actions/Button/Button.js +140 -155
- package/es/components/actions/Button/Submit.js +2 -2
- package/es/components/actions/Button/index.js +1 -1
- package/es/components/actions/ButtonGroup/ButtonGroup.js +2 -2
- package/es/components/actions/index.js +1 -1
- package/es/components/actions/use-action.js +1 -1
- package/es/components/content/ActiveZone/ActiveZone.js +2 -2
- package/es/components/content/Alert/Alert.js +2 -2
- 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 +2 -2
- package/es/components/content/Badge/Badge.js +2 -2
- package/es/components/content/Card/Card.js +2 -2
- package/es/components/content/Content.js +2 -2
- package/es/components/content/CopySnippet/CopySnippet.js +4 -4
- package/es/components/content/CopySnippet/index.js +1 -1
- package/es/components/content/Divider.js +2 -2
- package/es/components/content/Footer.js +2 -2
- package/es/components/content/Header.js +2 -2
- package/es/components/content/Paragraph.js +2 -2
- package/es/components/content/Placeholder/Placeholder.js +2 -2
- package/es/components/content/PrismCode/PrismCode.js +2 -2
- package/es/components/content/Result/Result.js +3 -3
- package/es/components/content/Skeleton/Skeleton.js +12 -12
- package/es/components/content/Tag/Tag.js +3 -3
- package/es/components/content/Text.js +8 -8
- package/es/components/content/Title.js +4 -4
- package/es/components/forms/Checkbox/Checkbox.js +7 -7
- package/es/components/forms/Checkbox/CheckboxGroup.js +3 -3
- package/es/components/forms/Checkbox/context.js +1 -1
- package/es/components/forms/FieldWrapper.js +5 -5
- package/es/components/forms/FileInput/FileInput.js +3 -3
- package/es/components/forms/Form/Field.js +2 -2
- package/es/components/forms/Form/Form.js +2 -2
- package/es/components/forms/Form/SubmitError.js +2 -2
- package/es/components/forms/Form/index.js +1 -1
- package/es/components/forms/Form/types.js +1 -1
- package/es/components/forms/Form/useForm.js +1 -1
- package/es/components/forms/Form/validation.js +1 -1
- package/es/components/forms/Input/Input.js +2 -2
- package/es/components/forms/Input/index.js +1 -1
- package/es/components/forms/Label.js +4 -4
- package/es/components/forms/NumberInput/NumberInput.js +2 -2
- package/es/components/forms/NumberInput/StepButton.js +3 -3
- package/es/components/forms/PasswordInput/PasswordInput.js +3 -3
- package/es/components/forms/RadioGroup/Radio.js +6 -6
- package/es/components/forms/RadioGroup/RadioGroup.js +3 -3
- package/es/components/forms/RadioGroup/context.js +1 -1
- package/es/components/forms/SearchInput/SearchInput.js +6 -15
- package/es/components/forms/Slider/Gradation.js +2 -2
- package/es/components/forms/Slider/Header.js +1 -1
- package/es/components/forms/Slider/RangeSlider.js +3 -3
- package/es/components/forms/Slider/Slider.js +3 -3
- package/es/components/forms/Slider/SliderBase.js +4 -4
- package/es/components/forms/Slider/SliderInput.js +2 -2
- package/es/components/forms/Slider/SliderThumb.js +2 -2
- package/es/components/forms/Slider/SliderTrack.js +2 -2
- package/es/components/forms/Slider/elements.js +1 -1
- package/es/components/forms/Slider/index.js +1 -1
- package/es/components/forms/Slider/types.js +1 -1
- package/es/components/forms/Switch/Switch.js +4 -4
- package/es/components/forms/TextArea/TextArea.js +2 -2
- package/es/components/forms/TextInput/TextInput.js +2 -2
- package/es/components/forms/TextInput/TextInputBase.js +6 -6
- package/es/components/forms/index.js +1 -1
- package/es/components/layout/Flex.js +2 -2
- package/es/components/layout/Flow.js +2 -2
- package/es/components/layout/Grid.js +2 -2
- package/es/components/layout/Prefix.js +2 -2
- package/es/components/layout/Space.js +2 -2
- package/es/components/layout/Suffix.js +2 -2
- package/es/components/navigation/LegacyTabs/LegacyTabs.js +4 -4
- package/es/components/navigation/Link/Link.js +2 -2
- package/es/components/organisms/FileTabs/FileTabs.js +4 -4
- package/es/components/organisms/Modal/Modal.js +3 -3
- package/es/components/organisms/StatsCard/StatsCard.js +2 -2
- package/es/components/other/Base64Upload/Base64Upload.js +2 -2
- package/es/components/other/CloudLogo/CloudLogo.js +2 -2
- package/es/components/overlays/AlertDialog/AlertDialog.js +2 -2
- package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +2 -2
- package/es/components/overlays/AlertDialog/AlertDialogZone.js +2 -2
- 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 +4 -4
- package/es/components/overlays/Dialog/DialogContainer.js +2 -2
- package/es/components/overlays/Dialog/DialogForm.js +3 -3
- package/es/components/overlays/Dialog/DialogTrigger.js +8 -8
- package/es/components/overlays/Dialog/context.js +1 -1
- package/es/components/overlays/Dialog/index.js +1 -1
- package/es/components/overlays/Modal/Modal.js +3 -3
- package/es/components/overlays/Modal/OpenTransition.js +2 -2
- package/es/components/overlays/Modal/Overlay.js +2 -2
- package/es/components/overlays/Modal/Popover.js +3 -3
- package/es/components/overlays/Modal/Tray.js +3 -3
- package/es/components/overlays/Modal/Underlay.js +2 -2
- 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 +2 -2
- package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +2 -2
- package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +2 -2
- package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +3 -3
- package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
- package/es/components/overlays/NewNotifications/Notification.js +4 -4
- package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +2 -2
- package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +3 -3
- package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +2 -2
- package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +2 -2
- package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +2 -2
- package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +5 -5
- package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +2 -2
- package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +2 -2
- 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/NotificationsProvider.js +2 -2
- 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 +2 -2
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +2 -2
- 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 +2 -2
- package/es/components/overlays/OverlayWrapper.js +3 -3
- package/es/components/overlays/Toasts/Toast.js +4 -4
- 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 +2 -2
- package/es/components/overlays/Tooltip/TooltipProvider.js +2 -2
- package/es/components/overlays/Tooltip/TooltipTrigger.js +4 -4
- package/es/components/overlays/Tooltip/context.js +1 -1
- package/es/components/pickers/ComboBox/ComboBox.js +8 -8
- package/es/components/pickers/Menu/Menu.js +3 -3
- package/es/components/pickers/Menu/MenuButton.js +5 -5
- package/es/components/pickers/Menu/MenuItem.js +3 -3
- package/es/components/pickers/Menu/MenuSection.js +3 -3
- package/es/components/pickers/Menu/MenuTrigger.js +5 -5
- package/es/components/pickers/Menu/context.js +1 -1
- package/es/components/pickers/Menu/styled.js +1 -1
- package/es/components/pickers/Select/Select.js +10 -10
- package/es/components/portal/Portal.js +2 -2
- package/es/components/portal/PortalProvider.js +1 -1
- package/es/components/portal/index.js +1 -1
- package/es/components/portal/storybook/templates/CustomRoot.js +2 -2
- package/es/components/portal/storybook/templates/PortalOrder.js +2 -2
- package/es/components/portal/storybook/templates/basic.js +2 -2
- package/es/components/portal/storybook/templates/index.js +1 -1
- package/es/components/portal/types.js +1 -1
- package/es/components/portal/usePortal.js +1 -1
- package/es/components/status/LoadingAnimation/LoadingAnimation.js +3 -3
- 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 +2 -2
- package/es/components/status/Spin/Spin.js +3 -3
- 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/themes.js +1 -1
- package/es/icons/Attention.js +2 -2
- package/es/icons/Cross.js +2 -2
- package/es/icons/Danger.js +2 -2
- package/es/icons/Success.js +2 -2
- package/es/icons/index.js +1 -1
- package/es/index.js +1 -1
- package/es/provider.js +3 -3
- package/es/providers/StyleProvider.js +2 -2
- package/es/services/notification.js +2 -2
- package/es/shared/form.js +1 -1
- package/es/shared/index.js +1 -1
- package/es/stories/FormFieldArgs.js +1 -1
- package/es/stories/components/ConfirmDeletionDialogForm.js +3 -3
- package/es/stories/components/DialogFormApp.js +2 -2
- package/es/stories/components/StyledButton.js +2 -2
- package/es/stories/lists/baseProps.js +1 -1
- package/es/styled/index.js +1 -1
- package/es/styled/styled.js +4 -4
- package/es/tasty/index.js +2 -2
- package/es/tasty/providers/BreakpointsProvider.js +2 -2
- 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/fill.js +1 -1
- package/es/tasty/styles/flow.js +1 -1
- package/es/tasty/styles/font.js +1 -1
- package/es/tasty/styles/fontStyle.js +1 -1
- package/es/tasty/styles/gap.js +1 -1
- package/es/tasty/styles/groupRadius.js +1 -1
- package/es/tasty/styles/height.js +1 -1
- package/es/tasty/styles/index.js +1 -1
- package/es/tasty/styles/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/predefined.js +1 -1
- package/es/tasty/styles/preset.js +1 -1
- package/es/tasty/styles/radius.js +1 -1
- package/es/tasty/styles/reset.js +1 -1
- package/es/tasty/styles/shadow.js +1 -1
- package/es/tasty/styles/styledScrollbar.js +1 -1
- package/es/tasty/styles/transition.js +1 -1
- package/es/tasty/styles/types.js +1 -1
- package/es/tasty/styles/width.js +1 -1
- package/es/tasty/tasty.js +88 -53
- package/es/tasty/types.js +1 -1
- package/es/tasty/utils/cache-wrapper.js +31 -0
- package/es/tasty/utils/case-converter.js +12 -0
- 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/{get-display-name.js → getDisplayName.js} +1 -1
- package/es/tasty/utils/index.js +1 -1
- package/es/tasty/utils/mergeStyles.js +1 -1
- package/es/tasty/utils/modAttrs.js +7 -3
- package/es/tasty/utils/renderStyles.js +4 -4
- package/es/tasty/utils/responsive.js +1 -1
- package/es/tasty/utils/string.js +1 -1
- package/es/tasty/utils/styles.js +18 -26
- package/es/tasty/utils/warnings.js +1 -1
- package/es/tokens.js +1 -1
- package/es/type-checks.js +1 -1
- package/es/utils/ResizeSensor.js +1 -1
- package/es/utils/modules.js +1 -1
- package/es/utils/promise.js +1 -1
- package/es/utils/random.js +1 -1
- package/es/utils/range.js +1 -1
- package/es/utils/react/Slots.js +3 -3
- package/es/utils/react/chain.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 +4 -1
- package/es/utils/react/nullableValue.js +1 -1
- package/es/utils/react/useCombinedRefs.js +1 -1
- package/es/utils/react/useId.js +1 -1
- package/es/utils/react/useLayoutEffect.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/package.json +4 -3
- package/types/_internal/hooks/use-timer/use-timer.d.ts +1 -1
- package/types/components/actions/use-action.d.ts +1 -1
- package/types/components/content/Result/Result.d.ts +1 -1
- package/types/components/forms/FieldWrapper.d.ts +1 -1
- package/types/components/forms/Form/types.d.ts +4 -4
- package/types/components/forms/Form/useForm.d.ts +2 -2
- package/types/components/forms/Input/Input.d.ts +1 -1
- package/types/components/forms/Slider/Gradation.d.ts +1 -1
- package/types/components/forms/Slider/SliderTrack.d.ts +1 -1
- package/types/components/forms/Slider/elements.d.ts +7 -6
- package/types/components/forms/TextInput/TextInput.d.ts +1 -1
- package/types/components/overlays/AlertDialog/types.d.ts +1 -1
- package/types/components/overlays/Dialog/DialogTrigger.d.ts +1 -1
- package/types/components/overlays/Modal/OpenTransition.d.ts +1 -1
- package/types/components/overlays/Modal/types.d.ts +2 -2
- package/types/components/overlays/NewNotifications/Bar/FloatingNotification.d.ts +1 -1
- package/types/components/overlays/NewNotifications/Bar/NotificationsBar.d.ts +1 -1
- package/types/components/overlays/NewNotifications/Bar/TransitionComponent.d.ts +1 -1
- package/types/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.d.ts +2 -2
- package/types/components/overlays/NewNotifications/Notification.d.ts +1 -1
- package/types/components/overlays/NewNotifications/NotificationView/NotificationAction.d.ts +1 -1
- package/types/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.d.ts +1 -1
- package/types/components/overlays/NewNotifications/NotificationView/NotificationDescription.d.ts +1 -1
- package/types/components/overlays/NewNotifications/NotificationView/NotificationHeader.d.ts +1 -1
- package/types/components/overlays/NewNotifications/NotificationView/types.d.ts +2 -2
- package/types/components/overlays/NewNotifications/NotificationsList/types.d.ts +4 -4
- package/types/components/overlays/NewNotifications/hooks/types.d.ts +3 -3
- package/types/components/overlays/NewNotifications/hooks/use-notification-list-item.d.ts +1 -1
- package/types/components/overlays/NewNotifications/hooks/use-notifications-list.d.ts +2 -2
- package/types/components/overlays/NewNotifications/types.d.ts +12 -12
- package/types/components/overlays/Toasts/Toast.d.ts +1 -1
- package/types/components/overlays/Toasts/types.d.ts +5 -5
- package/types/components/pickers/Menu/Menu.d.ts +2 -2
- package/types/components/pickers/Menu/MenuButton.d.ts +2 -2
- package/types/components/pickers/Menu/MenuSection.d.ts +1 -1
- package/types/components/pickers/Menu/MenuTrigger.d.ts +1 -1
- package/types/components/pickers/Menu/styled.d.ts +10 -10
- package/types/components/status/Spin/types.d.ts +4 -4
- package/types/provider.d.ts +1 -1
- package/types/shared/form.d.ts +6 -6
- package/types/shared/index.d.ts +3 -3
- package/types/stories/components/StyledButton.d.ts +3 -3
- package/types/styled/styled.d.ts +3 -3
- package/types/tasty/index.d.ts +1 -1
- package/types/tasty/styles/predefined.d.ts +2 -2
- package/types/tasty/styles/types.d.ts +9 -9
- package/types/tasty/tasty.d.ts +16 -12
- package/types/tasty/types.d.ts +12 -12
- package/types/tasty/utils/cache-wrapper.d.ts +4 -0
- package/types/tasty/utils/case-converter.d.ts +1 -0
- package/types/tasty/utils/modAttrs.d.ts +3 -1
- package/types/tasty/utils/renderStyles.d.ts +1 -1
- package/types/tasty/utils/styles.d.ts +19 -23
- package/types/utils/react/mergeProps.d.ts +2 -7
- package/types/utils/react/nullableValue.d.ts +3 -3
- package/cjs/test/index.js +0 -23
- package/cjs/test/render.js +0 -49
- package/cjs/test/setup.js +0 -20
- package/cjs/test/utils/index.js +0 -22
- package/cjs/test/utils/wait.js +0 -16
- package/es/test/index.js +0 -11
- package/es/test/render.js +0 -34
- package/es/test/setup.js +0 -18
- package/es/test/utils/index.js +0 -10
- package/es/test/utils/wait.js +0 -12
- package/types/test/index.d.ts +0 -2
- package/types/test/render.d.ts +0 -64
- package/types/test/setup.d.ts +0 -3
- package/types/test/utils/index.d.ts +0 -1
- package/types/test/utils/wait.d.ts +0 -1
- /package/types/tasty/utils/{get-display-name.d.ts → getDisplayName.d.ts} +0 -0
package/es/tasty/styles/reset.js
CHANGED
package/es/tasty/styles/types.js
CHANGED
package/es/tasty/styles/width.js
CHANGED
package/es/tasty/tasty.js
CHANGED
@@ -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.17.0
|
5
5
|
* Released under the MIT license.
|
6
6
|
*/
|
7
7
|
|
@@ -14,9 +14,9 @@ import { modAttrs } from './utils/modAttrs';
|
|
14
14
|
import { renderStyles } from './utils/renderStyles';
|
15
15
|
import { pointsToZones } from './utils/responsive';
|
16
16
|
import { BASE_STYLES } from './styles/list';
|
17
|
-
import { cacheWrapper } from './utils/
|
17
|
+
import { cacheWrapper } from './utils/cache-wrapper';
|
18
18
|
import { mergeStyles } from './utils/mergeStyles';
|
19
|
-
import { getDisplayName } from './utils/
|
19
|
+
import { getDisplayName } from './utils/getDisplayName';
|
20
20
|
// Implementation
|
21
21
|
function tasty(Component, options) {
|
22
22
|
if (typeof Component === 'string') {
|
@@ -29,7 +29,7 @@ function tasty(Component, options) {
|
|
29
29
|
let css = useMemo(() => styles
|
30
30
|
? `\n{}${selector}{${renderStyles(styles, pointsToZones(breakpoints || contextBreakpoints))}}`
|
31
31
|
: '', [breakpoints.join(',')]);
|
32
|
-
return _jsx(Element, { css: css }
|
32
|
+
return _jsx(Element, { css: css });
|
33
33
|
};
|
34
34
|
_StyleDeclarationComponent.displayName = `TastyStyleDeclaration(${Component})`;
|
35
35
|
return _StyleDeclarationComponent;
|
@@ -51,62 +51,97 @@ function tasty(Component, options) {
|
|
51
51
|
return map;
|
52
52
|
}, {});
|
53
53
|
}, propsWithStylesValues);
|
54
|
-
return (_jsx(Component, { ref: ref, ...defaultProps, ...restProps, ...mergedStylesMap, as: as ?? extendTag, element: element || extendElement }
|
54
|
+
return (_jsx(Component, { ref: ref, ...defaultProps, ...restProps, ...mergedStylesMap, as: as ?? extendTag, element: element || extendElement }));
|
55
55
|
});
|
56
56
|
_WrappedComponent.displayName = `TastyWrappedComponent(${getDisplayName(Component, defaultProps.qa ?? extendTag ?? 'Anonymous')})`;
|
57
57
|
return _WrappedComponent;
|
58
58
|
}
|
59
|
-
|
60
|
-
let { as: originalAs = 'div', element: defaultElement, styles: defaultStyles, styleProps, ...defaultProps } =
|
61
|
-
let
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
if (prop in otherProps) {
|
76
|
-
map[prop] = otherProps[prop];
|
77
|
-
delete otherProps[prop];
|
78
|
-
}
|
59
|
+
const tastyOptions = Component;
|
60
|
+
let { as: originalAs = 'div', element: defaultElement, styles: defaultStyles, styleProps, variants, ...defaultProps } = tastyOptions;
|
61
|
+
let _TastyComponent;
|
62
|
+
if (variants) {
|
63
|
+
/**
|
64
|
+
* Create a tasty component for each variant.
|
65
|
+
* Then return a component that receives a `variant` and chooses the right component.
|
66
|
+
*/
|
67
|
+
const variantComponents = Object.keys(variants).reduce((map, variant) => {
|
68
|
+
const variantStyles = variants?.[variant];
|
69
|
+
map[variant] = tasty({
|
70
|
+
as: originalAs,
|
71
|
+
styles: mergeStyles(defaultStyles, variantStyles),
|
72
|
+
styleProps,
|
73
|
+
...defaultProps,
|
74
|
+
});
|
79
75
|
return map;
|
80
76
|
}, {});
|
81
|
-
if (
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
77
|
+
if (!variantComponents['default']) {
|
78
|
+
variantComponents['default'] = tasty({
|
79
|
+
as: originalAs,
|
80
|
+
styles: defaultStyles,
|
81
|
+
styleProps,
|
82
|
+
...defaultProps,
|
83
|
+
});
|
86
84
|
}
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
85
|
+
// eslint-disable-next-line react/display-name
|
86
|
+
_TastyComponent = forwardRef((allProps, ref) => {
|
87
|
+
const { variant, ...restProps } = allProps;
|
88
|
+
const Component = (variantComponents[variant] ||
|
89
|
+
variantComponents['default']);
|
90
|
+
return _jsx(Component, { ...restProps, ref: ref });
|
91
|
+
});
|
92
|
+
}
|
93
|
+
else {
|
94
|
+
let Element = styledComponents[originalAs](({ css }) => css);
|
95
|
+
/**
|
96
|
+
* An additional optimization that allows to avoid rendering styles across various instances
|
97
|
+
* of the same element if no custom styles are provided via `styles` prop or direct style props.
|
98
|
+
*/
|
99
|
+
const renderDefaultStyles = cacheWrapper((breakpoints) => {
|
100
|
+
return renderStyles(defaultStyles || {}, pointsToZones(breakpoints));
|
101
|
+
});
|
102
|
+
let { qa: defaultQa, qaVal: defaultQaVal, ...otherDefaultProps } = defaultProps ?? {};
|
103
|
+
// eslint-disable-next-line react/display-name
|
104
|
+
_TastyComponent = forwardRef((allProps, ref) => {
|
105
|
+
let { as, styles, variant, breakpoints, mods, element, qa, qaVal, ...otherProps } = allProps;
|
106
|
+
let propStyles = (styleProps
|
107
|
+
? styleProps.concat(BASE_STYLES)
|
108
|
+
: BASE_STYLES).reduce((map, prop) => {
|
109
|
+
if (prop in otherProps) {
|
110
|
+
map[prop] = otherProps[prop];
|
111
|
+
delete otherProps[prop];
|
112
|
+
}
|
113
|
+
return map;
|
114
|
+
}, {});
|
115
|
+
if (Object.keys(propStyles).length === 0) {
|
116
|
+
propStyles = null;
|
117
|
+
}
|
118
|
+
if (!styles || (styles && Object.keys(styles).length === 0)) {
|
119
|
+
styles = undefined;
|
120
|
+
}
|
121
|
+
const propStylesCacheKey = JSON.stringify(propStyles);
|
122
|
+
const stylesCacheKey = useMemo(() => {
|
123
|
+
return JSON.stringify(styles);
|
124
|
+
}, [styles]);
|
125
|
+
const useDefaultStyles = !propStyles && !styles;
|
126
|
+
const styleCacheKey = useMemo(() => {
|
127
|
+
return `${styles ? JSON.stringify(styles) : ''}.${propStyles ? JSON.stringify(propStyles) : ''}`;
|
128
|
+
}, [propStylesCacheKey, stylesCacheKey]);
|
129
|
+
let allStyles = useMemo(() => useDefaultStyles
|
130
|
+
? defaultStyles
|
131
|
+
: mergeStyles(defaultStyles, styles, propStyles), [styleCacheKey]);
|
132
|
+
let contextBreakpoints = useContext(BreakpointsContext);
|
133
|
+
breakpoints = breakpoints ?? contextBreakpoints;
|
134
|
+
let renderedStyles = useMemo(() => {
|
135
|
+
return useDefaultStyles
|
136
|
+
? renderDefaultStyles(breakpoints)
|
137
|
+
: renderStyles(allStyles, pointsToZones(breakpoints));
|
138
|
+
}, [allStyles, breakpoints]);
|
139
|
+
if (mods) {
|
140
|
+
Object.assign(otherProps, modAttrs(mods));
|
141
|
+
}
|
142
|
+
return (_jsx(Element, { as: as ?? originalAs, "data-element": element || defaultElement, "data-qa": qa || defaultQa, "data-qaval": qaVal || defaultQaVal, ...otherDefaultProps, ...otherProps, ref: ref, css: renderedStyles }));
|
143
|
+
});
|
144
|
+
}
|
110
145
|
_TastyComponent.displayName = `TastyComponent(${defaultProps.qa || originalAs})`;
|
111
146
|
return _TastyComponent;
|
112
147
|
}
|
package/es/tasty/types.js
CHANGED
@@ -0,0 +1,31 @@
|
|
1
|
+
/**
|
2
|
+
* @license MIT
|
3
|
+
* author: Cube Dev Team
|
4
|
+
* @cube-dev/ui-kit v0.17.0
|
5
|
+
* Released under the MIT license.
|
6
|
+
*/
|
7
|
+
|
8
|
+
/**
|
9
|
+
* Create a function that caches the result up to the limit.
|
10
|
+
*/
|
11
|
+
export function cacheWrapper(handler, limit = 1000) {
|
12
|
+
let cache = {};
|
13
|
+
let count = 0;
|
14
|
+
return ((firstArg, secondArg) => {
|
15
|
+
const key = typeof firstArg === 'string' && secondArg == null
|
16
|
+
? firstArg
|
17
|
+
: JSON.stringify([firstArg, secondArg]);
|
18
|
+
if (!cache[key]) {
|
19
|
+
if (count > limit) {
|
20
|
+
cache = {};
|
21
|
+
count = 0;
|
22
|
+
}
|
23
|
+
count++;
|
24
|
+
cache[key] =
|
25
|
+
secondArg == null ? handler(firstArg) : handler(firstArg, secondArg);
|
26
|
+
}
|
27
|
+
return cache[key];
|
28
|
+
});
|
29
|
+
}
|
30
|
+
|
31
|
+
|
package/es/tasty/utils/colors.js
CHANGED
package/es/tasty/utils/dotize.js
CHANGED
package/es/tasty/utils/index.js
CHANGED
@@ -1,19 +1,23 @@
|
|
1
1
|
/**
|
2
2
|
* @license MIT
|
3
3
|
* author: Cube Dev Team
|
4
|
-
* @cube-dev/ui-kit v0.
|
4
|
+
* @cube-dev/ui-kit v0.17.0
|
5
5
|
* Released under the MIT license.
|
6
6
|
*/
|
7
7
|
|
8
|
-
|
8
|
+
import { camelToKebab } from './case-converter';
|
9
|
+
import { cacheWrapper } from './cache-wrapper';
|
10
|
+
function modAttrs(map) {
|
9
11
|
return map
|
10
12
|
? Object.keys(map).reduce((attrs, key) => {
|
11
13
|
if (map[key]) {
|
12
|
-
attrs[`data-is-${key}`] = '';
|
14
|
+
attrs[`data-is-${camelToKebab(key)}`] = '';
|
13
15
|
}
|
14
16
|
return attrs;
|
15
17
|
}, {})
|
16
18
|
: null;
|
17
19
|
}
|
20
|
+
const _modAttrs = cacheWrapper(modAttrs);
|
21
|
+
export { _modAttrs as modAttrs };
|
18
22
|
|
19
23
|
|
@@ -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.17.0
|
5
5
|
* Released under the MIT license.
|
6
6
|
*/
|
7
7
|
|
@@ -35,7 +35,7 @@ const CACHE_LIMIT = 1000;
|
|
35
35
|
* @param {string} [suffix]
|
36
36
|
* @return {string}
|
37
37
|
*/
|
38
|
-
export function renderStyles(styles, responsive, suffix) {
|
38
|
+
export function renderStyles(styles, responsive = [], suffix) {
|
39
39
|
const zones = responsive;
|
40
40
|
const responsiveStyles = Array.from(Array(zones.length)).map(() => '');
|
41
41
|
const cacheKey = JSON.stringify({ s: styles, r: responsive, suffix });
|
@@ -54,7 +54,7 @@ export function renderStyles(styles, responsive, suffix) {
|
|
54
54
|
if (selectorKeys.length) {
|
55
55
|
selectorKeys.forEach((key) => {
|
56
56
|
const addSuffix = getSelector(key);
|
57
|
-
innerStyles += renderStyles(styles[key], responsive, addSuffix);
|
57
|
+
innerStyles += renderStyles(styles?.[key], responsive, addSuffix);
|
58
58
|
});
|
59
59
|
}
|
60
60
|
keys.forEach((styleName) => {
|
@@ -70,7 +70,7 @@ export function renderStyles(styles, responsive, suffix) {
|
|
70
70
|
let isResponsive = false;
|
71
71
|
const lookupStyles = STYLE.__lookupStyles;
|
72
72
|
const filteredStyleMap = lookupStyles.reduce((map, name) => {
|
73
|
-
map[name] = styles[name];
|
73
|
+
map[name] = styles?.[name];
|
74
74
|
if (Array.isArray(map[name])) {
|
75
75
|
if (map[name].length === 0) {
|
76
76
|
delete map[name];
|
package/es/tasty/utils/string.js
CHANGED
package/es/tasty/utils/styles.js
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
/**
|
2
2
|
* @license MIT
|
3
3
|
* author: Cube Dev Team
|
4
|
-
* @cube-dev/ui-kit v0.
|
4
|
+
* @cube-dev/ui-kit v0.17.0
|
5
5
|
* Released under the MIT license.
|
6
6
|
*/
|
7
7
|
|
8
|
+
import { camelToKebab } from './case-converter';
|
9
|
+
import { cacheWrapper } from './cache-wrapper';
|
8
10
|
import { getModCombinations } from './index';
|
9
11
|
const devMode = process.env.NODE_ENV !== 'production';
|
10
12
|
const IS_DVH_SUPPORTED = typeof CSS !== 'undefined' && typeof CSS?.supports === 'function'
|
@@ -59,8 +61,12 @@ export function createRule(prop, value, selector) {
|
|
59
61
|
}
|
60
62
|
return `${prop}: ${value};\n`;
|
61
63
|
}
|
64
|
+
const MOD_NAME_CACHE = new Map();
|
62
65
|
function getModSelector(modName) {
|
63
|
-
|
66
|
+
if (!MOD_NAME_CACHE.has(modName)) {
|
67
|
+
MOD_NAME_CACHE.set(modName, modName.match(/^[a-z]/) ? `[data-is-${camelToKebab(modName)}]` : modName);
|
68
|
+
}
|
69
|
+
return MOD_NAME_CACHE.get(modName);
|
64
70
|
}
|
65
71
|
/**
|
66
72
|
*
|
@@ -520,7 +526,15 @@ export function applyStates(selector, states, suffix = '') {
|
|
520
526
|
if (!state.value)
|
521
527
|
return css;
|
522
528
|
const modifiers = `${(state.mods || []).map(getModSelector).join('')}${(state.notMods || [])
|
523
|
-
.map((mod) =>
|
529
|
+
.map((mod) => {
|
530
|
+
let selector = getModSelector(mod);
|
531
|
+
if (selector.startsWith(':not(')) {
|
532
|
+
return selector.slice(5, -1);
|
533
|
+
}
|
534
|
+
else {
|
535
|
+
return `:not(${selector})`;
|
536
|
+
}
|
537
|
+
})
|
524
538
|
.join('')}`;
|
525
539
|
// TODO: replace `replace()` a REAL hotfix
|
526
540
|
return `${css}${selector}${modifiers}${suffix}{\n${state.value.replace(/^&&/, '&')}}\n`;
|
@@ -611,7 +625,7 @@ export function styleMapToStyleMapStateList(styleMap, filterKeys) {
|
|
611
625
|
});
|
612
626
|
return styleStateList;
|
613
627
|
}
|
614
|
-
const STATES_REGEXP = /([&|!^])|([()])|([a-z0-
|
628
|
+
const STATES_REGEXP = /([&|!^])|([()])|([a-z][a-z0-9-]+)|(:[a-z][a-z0-9-]+\([:a-z0-9-]+\)|:[a-z][a-z0-9-]+)|(\.[a-z][a-z0-9-]+)|(\[[^\]]+])/gi;
|
615
629
|
export const STATE_OPERATORS = {
|
616
630
|
NOT: '!',
|
617
631
|
AND: '&',
|
@@ -811,27 +825,5 @@ export function computeState(computeModel, valueMap) {
|
|
811
825
|
}
|
812
826
|
return !!func(a, b);
|
813
827
|
}
|
814
|
-
/**
|
815
|
-
* Create a function that caches the result up to the limit.
|
816
|
-
*/
|
817
|
-
export function cacheWrapper(handler, limit = 1000) {
|
818
|
-
let cache = {};
|
819
|
-
let count = 0;
|
820
|
-
return ((firstArg, secondArg) => {
|
821
|
-
const key = typeof firstArg === 'string' && secondArg == null
|
822
|
-
? firstArg
|
823
|
-
: JSON.stringify([firstArg, secondArg]);
|
824
|
-
if (!cache[key]) {
|
825
|
-
if (count > limit) {
|
826
|
-
cache = {};
|
827
|
-
count = 0;
|
828
|
-
}
|
829
|
-
count++;
|
830
|
-
cache[key] =
|
831
|
-
secondArg == null ? handler(firstArg) : handler(firstArg, secondArg);
|
832
|
-
}
|
833
|
-
return cache[key];
|
834
|
-
});
|
835
|
-
}
|
836
828
|
|
837
829
|
|
package/es/tokens.js
CHANGED
package/es/type-checks.js
CHANGED
package/es/utils/ResizeSensor.js
CHANGED
package/es/utils/modules.js
CHANGED
package/es/utils/promise.js
CHANGED