@cube-dev/ui-kit 0.9.4 → 0.9.7
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Base.js +58 -0
- package/cjs/components/Block.js +25 -0
- package/cjs/components/GlobalStyles.js +322 -0
- package/cjs/components/GridProvider.js +85 -0
- package/cjs/components/HiddenInput.js +39 -0
- package/cjs/components/OpenTrasition.js +38 -0
- package/cjs/components/Root.js +50 -0
- package/cjs/components/actions/Action.js +136 -0
- package/cjs/components/actions/Button/Button.js +297 -0
- package/cjs/components/actions/Button/Submit.js +29 -0
- package/cjs/components/actions/Button/index.js +23 -0
- package/cjs/components/actions/ButtonGroup/ButtonGroup.js +28 -0
- package/cjs/components/actions/index.js +29 -0
- package/cjs/components/content/ActiveZone/ActiveZone.js +44 -0
- package/cjs/components/content/Avatar/Avatar.js +39 -0
- package/cjs/components/content/Badge/Badge.js +58 -0
- package/cjs/components/content/Card/Card.js +31 -0
- package/cjs/components/content/Content.js +42 -0
- package/cjs/components/content/Divider.js +53 -0
- package/cjs/components/content/Footer.js +36 -0
- package/cjs/components/content/Header.js +35 -0
- package/cjs/components/content/Paragraph.js +27 -0
- package/cjs/components/content/Placeholder/Placeholder.js +51 -0
- package/cjs/components/content/PrismCode/PrismCode.js +44 -0
- package/cjs/components/content/Result/Result.js +105 -0
- package/cjs/components/content/Skeleton/Skeleton.js +79 -0
- package/cjs/components/content/Tag/Tag.js +94 -0
- package/cjs/components/content/Text.js +81 -0
- package/cjs/components/content/Title.js +69 -0
- package/cjs/components/forms/Checkbox/Checkbox.js +177 -0
- package/cjs/components/forms/Checkbox/CheckboxGroup.js +110 -0
- package/cjs/components/forms/Checkbox/context.js +14 -0
- package/cjs/components/forms/FieldWrapper.js +82 -0
- package/cjs/components/forms/FileInput/FileInput.js +152 -0
- package/cjs/components/forms/Form/Field.js +234 -0
- package/cjs/components/forms/Form/Form.js +125 -0
- package/cjs/components/forms/Form/index.js +20 -0
- package/cjs/components/forms/Form/useForm.js +280 -0
- package/cjs/components/forms/Form/validation.js +149 -0
- package/cjs/components/forms/Label.js +90 -0
- package/cjs/components/forms/NumberInput/NumberInput.js +50 -0
- package/cjs/components/forms/NumberInput/StepButton.js +35 -0
- package/cjs/components/forms/PasswordInput/PasswordInput.js +43 -0
- package/cjs/components/forms/RadioGroup/Radio.js +181 -0
- package/cjs/components/forms/RadioGroup/RadioGroup.js +100 -0
- package/cjs/components/forms/RadioGroup/context.js +18 -0
- package/cjs/components/forms/SearchInput/SearchInput.js +45 -0
- package/cjs/components/forms/Switch/Switch.js +156 -0
- package/cjs/components/forms/TextArea/TextArea.js +63 -0
- package/cjs/components/forms/TextInput/TextInput.js +33 -0
- package/cjs/components/forms/TextInput/TextInputBase.js +167 -0
- package/cjs/components/forms/index.js +30 -0
- package/cjs/components/layout/Flex.js +26 -0
- package/cjs/components/layout/Flow.js +27 -0
- package/cjs/components/layout/Grid.js +33 -0
- package/cjs/components/layout/Prefix.js +46 -0
- package/cjs/components/layout/Space.js +35 -0
- package/cjs/components/layout/Suffix.js +45 -0
- package/cjs/components/navigation/LegacyTabs/LegacyTabs.js +255 -0
- package/cjs/components/navigation/Link/Link.js +18 -0
- package/cjs/components/organisms/Alert/Alert.js +61 -0
- package/cjs/components/organisms/CopySnippet/CopySnippet.js +112 -0
- package/cjs/components/organisms/DirectoryTree/DirectoryTree.js +166 -0
- package/cjs/components/organisms/FileTabs/FileTabs.js +300 -0
- package/cjs/components/organisms/Modal/Modal.js +258 -0
- package/cjs/components/organisms/SearchResults/SearchResults.js +108 -0
- package/cjs/components/organisms/StatsCard/StatsCard.js +20 -0
- package/cjs/components/organisms/TopBar/TopBar.js +33 -0
- package/cjs/components/other/Base64Upload/Base64Upload.js +110 -0
- package/cjs/components/other/CloudLogo/CloudLogo.js +43 -0
- package/cjs/components/overlays/AlertDialog/AlertDialog.js +67 -0
- package/cjs/components/overlays/AlertDialog/AlertDialogApiProvider.js +115 -0
- package/cjs/components/overlays/AlertDialog/AlertDialogZone.js +58 -0
- package/cjs/components/overlays/AlertDialog/index.js +24 -0
- package/cjs/components/overlays/AlertDialog/types.js +11 -0
- package/cjs/components/overlays/Dialog/Dialog.js +181 -0
- package/cjs/components/overlays/Dialog/DialogContainer.js +42 -0
- package/cjs/components/overlays/Dialog/DialogForm.js +56 -0
- package/cjs/components/overlays/Dialog/DialogTrigger.js +116 -0
- package/cjs/components/overlays/Dialog/context.js +14 -0
- package/cjs/components/overlays/Dialog/index.js +25 -0
- package/cjs/components/overlays/Modal/Modal.js +86 -0
- package/cjs/components/overlays/Modal/OpenTransition.js +26 -0
- package/cjs/components/overlays/Modal/Overlay.js +40 -0
- package/cjs/components/overlays/Modal/Popover.js +59 -0
- package/cjs/components/overlays/Modal/Tray.js +95 -0
- package/cjs/components/overlays/Modal/Underlay.js +51 -0
- package/cjs/components/overlays/Modal/index.js +22 -0
- package/cjs/components/overlays/Notification/Notification.js +44 -0
- package/cjs/components/overlays/OverlayWrapper.js +35 -0
- package/cjs/components/overlays/Tooltip/Tooltip.js +100 -0
- package/cjs/components/overlays/Tooltip/TooltipProvider.js +26 -0
- package/cjs/components/overlays/Tooltip/TooltipTrigger.js +72 -0
- package/cjs/components/overlays/Tooltip/context.js +17 -0
- package/cjs/components/pickers/ComboBox/ComboBox.js +171 -0
- package/cjs/components/pickers/Select/Select.js +258 -0
- package/cjs/components/portal/Portal.js +48 -0
- package/cjs/components/portal/PortalProvider.js +28 -0
- package/cjs/components/portal/index.js +25 -0
- package/cjs/components/portal/storybook/templates/basic.js +17 -0
- package/cjs/components/portal/storybook/templates/index.js +22 -0
- package/cjs/components/portal/types.js +11 -0
- package/cjs/components/portal/usePortal.js +50 -0
- package/cjs/components/status/LoadingAnimation/LoadingAnimation.js +139 -0
- package/cjs/components/status/Spin/Spin.js +38 -0
- package/cjs/components/types.js +11 -0
- package/cjs/data/themes.js +33 -0
- package/cjs/index.js +183 -0
- package/cjs/provider.js +51 -0
- package/cjs/providers/BreakpointsProvider.js +20 -0
- package/cjs/providers/StylesProvider.js +42 -0
- package/cjs/services/notification.js +67 -0
- package/cjs/shared/form.js +11 -0
- package/cjs/shared/index.js +22 -0
- package/cjs/stories/FormFieldArgs.js +288 -0
- package/cjs/stories/components/ConfirmDeletionDialogForm.js +36 -0
- package/cjs/stories/components/DialogFormApp.js +27 -0
- package/cjs/stories/components/StyledButton.js +37 -0
- package/cjs/stories/lists/baseProps.js +42 -0
- package/cjs/styled/index.js +22 -0
- package/cjs/styled/styled.js +107 -0
- package/cjs/styles/align.js +24 -0
- package/cjs/styles/border.js +52 -0
- package/cjs/styles/boxShadow.combinator.js +26 -0
- package/cjs/styles/color.js +43 -0
- package/cjs/styles/createStyle.js +71 -0
- package/cjs/styles/dimension.js +89 -0
- package/cjs/styles/display.js +17 -0
- package/cjs/styles/fill.js +42 -0
- package/cjs/styles/flow.js +24 -0
- package/cjs/styles/font.js +27 -0
- package/cjs/styles/fontStyle.js +23 -0
- package/cjs/styles/gap.js +56 -0
- package/cjs/styles/groupRadius.js +64 -0
- package/cjs/styles/height.js +19 -0
- package/cjs/styles/index.js +28 -0
- package/cjs/styles/justify.js +24 -0
- package/cjs/styles/list.js +87 -0
- package/cjs/styles/margin.js +50 -0
- package/cjs/styles/marginBlock.js +36 -0
- package/cjs/styles/marginInline.js +40 -0
- package/cjs/styles/outline.js +28 -0
- package/cjs/styles/padding.js +51 -0
- package/cjs/styles/paddingBlock.js +40 -0
- package/cjs/styles/paddingInline.js +40 -0
- package/cjs/styles/predefined.js +162 -0
- package/cjs/styles/preset.js +55 -0
- package/cjs/styles/radius.js +76 -0
- package/cjs/styles/reset.js +104 -0
- package/cjs/styles/shadow.js +27 -0
- package/cjs/styles/styledScrollbar.js +55 -0
- package/cjs/styles/transition.js +88 -0
- package/cjs/styles/types.js +11 -0
- package/cjs/styles/width.js +19 -0
- package/cjs/test/setup.js +14 -0
- package/cjs/tokens.js +233 -0
- package/cjs/utils/ResizeSensor.js +324 -0
- package/cjs/utils/colors.js +19 -0
- package/cjs/utils/dotize.js +194 -0
- package/cjs/utils/escape-string.js +21 -0
- package/cjs/utils/filterBaseProps.js +69 -0
- package/cjs/utils/index.js +46 -0
- package/cjs/utils/interactions.js +29 -0
- package/cjs/utils/mergeStyles.js +36 -0
- package/cjs/utils/modules.js +16 -0
- package/cjs/utils/promise.js +18 -0
- package/cjs/utils/react/Slots.js +48 -0
- package/cjs/utils/react/chain.js +25 -0
- package/cjs/utils/react/index.js +30 -0
- package/cjs/utils/react/isTextOnly.js +17 -0
- package/cjs/utils/react/mapProps.js +30 -0
- package/cjs/utils/react/mergeProps.js +67 -0
- package/cjs/utils/react/modAttrs.js +26 -0
- package/cjs/utils/react/nullableValue.js +46 -0
- package/cjs/utils/react/useCombinedRefs.js +30 -0
- package/cjs/utils/react/useId.js +87 -0
- package/cjs/utils/react/useLayoutEffect.js +36 -0
- package/cjs/utils/react/wrapNodeIfPlain.js +22 -0
- package/cjs/utils/renderStyles.js +132 -0
- package/cjs/utils/responsive.js +72 -0
- package/cjs/utils/string.js +16 -0
- package/cjs/utils/styles.js +870 -0
- package/cjs/utils/transitions.js +67 -0
- package/cjs/utils/tree.js +28 -0
- package/cjs/utils/warnings.js +55 -0
- package/es/components/Base.js +52 -0
- package/es/components/Block.js +22 -0
- package/es/components/GlobalStyles.js +319 -0
- package/es/components/GridProvider.js +64 -0
- package/es/components/HiddenInput.js +33 -0
- package/es/components/OpenTrasition.js +31 -0
- package/es/components/Root.js +46 -0
- package/es/components/actions/Action.js +130 -0
- package/es/components/actions/Button/Button.js +293 -0
- package/es/components/actions/Button/Submit.js +26 -0
- package/es/components/actions/Button/index.js +11 -0
- package/es/components/actions/ButtonGroup/ButtonGroup.js +25 -0
- package/es/components/actions/index.js +15 -0
- package/es/components/content/ActiveZone/ActiveZone.js +41 -0
- package/es/components/content/Avatar/Avatar.js +36 -0
- package/es/components/content/Badge/Badge.js +52 -0
- package/es/components/content/Card/Card.js +28 -0
- package/es/components/content/Content.js +39 -0
- package/es/components/content/Divider.js +50 -0
- package/es/components/content/Footer.js +33 -0
- package/es/components/content/Header.js +32 -0
- package/es/components/content/Paragraph.js +24 -0
- package/es/components/content/Placeholder/Placeholder.js +48 -0
- package/es/components/content/PrismCode/PrismCode.js +38 -0
- package/es/components/content/Result/Result.js +102 -0
- package/es/components/content/Skeleton/Skeleton.js +75 -0
- package/es/components/content/Tag/Tag.js +88 -0
- package/es/components/content/Text.js +78 -0
- package/es/components/content/Title.js +66 -0
- package/es/components/forms/Checkbox/Checkbox.js +174 -0
- package/es/components/forms/Checkbox/CheckboxGroup.js +107 -0
- package/es/components/forms/Checkbox/context.js +11 -0
- package/es/components/forms/FieldWrapper.js +79 -0
- package/es/components/forms/FileInput/FileInput.js +149 -0
- package/es/components/forms/Form/Field.js +230 -0
- package/es/components/forms/Form/Form.js +121 -0
- package/es/components/forms/Form/index.js +14 -0
- package/es/components/forms/Form/useForm.js +275 -0
- package/es/components/forms/Form/validation.js +141 -0
- package/es/components/forms/Label.js +87 -0
- package/es/components/forms/NumberInput/NumberInput.js +47 -0
- package/es/components/forms/NumberInput/StepButton.js +31 -0
- package/es/components/forms/PasswordInput/PasswordInput.js +40 -0
- package/es/components/forms/RadioGroup/Radio.js +178 -0
- package/es/components/forms/RadioGroup/RadioGroup.js +97 -0
- package/es/components/forms/RadioGroup/context.js +14 -0
- package/es/components/forms/SearchInput/SearchInput.js +42 -0
- package/es/components/forms/Switch/Switch.js +153 -0
- package/es/components/forms/TextArea/TextArea.js +60 -0
- package/es/components/forms/TextInput/TextInput.js +30 -0
- package/es/components/forms/TextInput/TextInputBase.js +164 -0
- package/es/components/forms/index.js +22 -0
- package/es/components/layout/Flex.js +23 -0
- package/es/components/layout/Flow.js +24 -0
- package/es/components/layout/Grid.js +30 -0
- package/es/components/layout/Prefix.js +43 -0
- package/es/components/layout/Space.js +32 -0
- package/es/components/layout/Suffix.js +42 -0
- package/es/components/navigation/LegacyTabs/LegacyTabs.js +251 -0
- package/es/components/navigation/Link/Link.js +15 -0
- package/es/components/organisms/Alert/Alert.js +55 -0
- package/es/components/organisms/CopySnippet/CopySnippet.js +105 -0
- package/es/components/organisms/DirectoryTree/DirectoryTree.js +162 -0
- package/es/components/organisms/FileTabs/FileTabs.js +296 -0
- package/es/components/organisms/Modal/Modal.js +251 -0
- package/es/components/organisms/SearchResults/SearchResults.js +104 -0
- package/es/components/organisms/StatsCard/StatsCard.js +16 -0
- package/es/components/organisms/TopBar/TopBar.js +29 -0
- package/es/components/other/Base64Upload/Base64Upload.js +104 -0
- package/es/components/other/CloudLogo/CloudLogo.js +37 -0
- package/es/components/overlays/AlertDialog/AlertDialog.js +64 -0
- package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +107 -0
- package/es/components/overlays/AlertDialog/AlertDialogZone.js +54 -0
- package/es/components/overlays/AlertDialog/index.js +12 -0
- package/es/components/overlays/AlertDialog/types.js +10 -0
- package/es/components/overlays/Dialog/Dialog.js +178 -0
- package/es/components/overlays/Dialog/DialogContainer.js +38 -0
- package/es/components/overlays/Dialog/DialogForm.js +53 -0
- package/es/components/overlays/Dialog/DialogTrigger.js +113 -0
- package/es/components/overlays/Dialog/context.js +11 -0
- package/es/components/overlays/Dialog/index.js +13 -0
- package/es/components/overlays/Modal/Modal.js +83 -0
- package/es/components/overlays/Modal/OpenTransition.js +19 -0
- package/es/components/overlays/Modal/Overlay.js +37 -0
- package/es/components/overlays/Modal/Popover.js +56 -0
- package/es/components/overlays/Modal/Tray.js +92 -0
- package/es/components/overlays/Modal/Underlay.js +48 -0
- package/es/components/overlays/Modal/index.js +14 -0
- package/es/components/overlays/Notification/Notification.js +37 -0
- package/es/components/overlays/OverlayWrapper.js +31 -0
- package/es/components/overlays/Tooltip/Tooltip.js +97 -0
- package/es/components/overlays/Tooltip/TooltipProvider.js +23 -0
- package/es/components/overlays/Tooltip/TooltipTrigger.js +69 -0
- package/es/components/overlays/Tooltip/context.js +11 -0
- package/es/components/pickers/ComboBox/ComboBox.js +168 -0
- package/es/components/pickers/Select/Select.js +254 -0
- package/es/components/portal/Portal.js +41 -0
- package/es/components/portal/PortalProvider.js +24 -0
- package/es/components/portal/index.js +11 -0
- package/es/components/portal/storybook/templates/basic.js +13 -0
- package/es/components/portal/storybook/templates/index.js +10 -0
- package/es/components/portal/types.js +10 -0
- package/es/components/portal/usePortal.js +43 -0
- package/es/components/status/LoadingAnimation/LoadingAnimation.js +132 -0
- package/es/components/status/Spin/Spin.js +35 -0
- package/es/components/types.js +10 -0
- package/es/data/themes.js +31 -0
- package/es/index.js +95 -0
- package/es/provider.js +46 -0
- package/es/providers/BreakpointsProvider.js +16 -0
- package/es/providers/StylesProvider.js +37 -0
- package/es/services/notification.js +61 -0
- package/es/shared/form.js +10 -0
- package/es/shared/index.js +10 -0
- package/es/stories/FormFieldArgs.js +285 -0
- package/es/stories/components/ConfirmDeletionDialogForm.js +33 -0
- package/es/stories/components/DialogFormApp.js +23 -0
- package/es/stories/components/StyledButton.js +33 -0
- package/es/stories/lists/baseProps.js +39 -0
- package/es/styled/index.js +10 -0
- package/es/styled/styled.js +85 -0
- package/es/styles/align.js +20 -0
- package/es/styles/border.js +48 -0
- package/es/styles/boxShadow.combinator.js +22 -0
- package/es/styles/color.js +39 -0
- package/es/styles/createStyle.js +67 -0
- package/es/styles/dimension.js +85 -0
- package/es/styles/display.js +13 -0
- package/es/styles/fill.js +38 -0
- package/es/styles/flow.js +20 -0
- package/es/styles/font.js +23 -0
- package/es/styles/fontStyle.js +19 -0
- package/es/styles/gap.js +52 -0
- package/es/styles/groupRadius.js +60 -0
- package/es/styles/height.js +15 -0
- package/es/styles/index.js +13 -0
- package/es/styles/justify.js +20 -0
- package/es/styles/list.js +84 -0
- package/es/styles/margin.js +46 -0
- package/es/styles/marginBlock.js +32 -0
- package/es/styles/marginInline.js +36 -0
- package/es/styles/outline.js +24 -0
- package/es/styles/padding.js +47 -0
- package/es/styles/paddingBlock.js +36 -0
- package/es/styles/paddingInline.js +36 -0
- package/es/styles/predefined.js +156 -0
- package/es/styles/preset.js +51 -0
- package/es/styles/radius.js +72 -0
- package/es/styles/reset.js +100 -0
- package/es/styles/shadow.js +23 -0
- package/es/styles/styledScrollbar.js +51 -0
- package/es/styles/transition.js +84 -0
- package/es/styles/types.js +10 -0
- package/es/styles/width.js +15 -0
- package/es/test/setup.js +12 -0
- package/es/tokens.js +230 -0
- package/es/utils/ResizeSensor.js +320 -0
- package/es/utils/colors.js +15 -0
- package/es/utils/dotize.js +191 -0
- package/es/utils/escape-string.js +18 -0
- package/es/utils/filterBaseProps.js +65 -0
- package/es/utils/index.js +42 -0
- package/es/utils/interactions.js +25 -0
- package/es/utils/mergeStyles.js +32 -0
- package/es/utils/modules.js +12 -0
- package/es/utils/promise.js +14 -0
- package/es/utils/react/Slots.js +42 -0
- package/es/utils/react/chain.js +21 -0
- package/es/utils/react/index.js +17 -0
- package/es/utils/react/isTextOnly.js +13 -0
- package/es/utils/react/mapProps.js +25 -0
- package/es/utils/react/mergeProps.js +60 -0
- package/es/utils/react/modAttrs.js +22 -0
- package/es/utils/react/nullableValue.js +37 -0
- package/es/utils/react/useCombinedRefs.js +26 -0
- package/es/utils/react/useId.js +81 -0
- package/es/utils/react/useLayoutEffect.js +14 -0
- package/es/utils/react/wrapNodeIfPlain.js +18 -0
- package/es/utils/renderStyles.js +127 -0
- package/es/utils/responsive.js +66 -0
- package/es/utils/string.js +12 -0
- package/es/utils/styles.js +844 -0
- package/es/utils/transitions.js +63 -0
- package/es/utils/tree.js +24 -0
- package/es/utils/warnings.js +48 -0
- package/package.json +12 -129
- package/{dist/types → types}/components/Base.d.ts +0 -0
- package/{dist/types → types}/components/Block.d.ts +0 -0
- package/{dist/types → types}/components/GlobalStyles.d.ts +0 -0
- package/{dist/types → types}/components/GridProvider.d.ts +0 -0
- package/{dist/types → types}/components/HiddenInput.d.ts +0 -0
- package/{dist/types → types}/components/OpenTrasition.d.ts +0 -0
- package/{dist/types → types}/components/Root.d.ts +0 -0
- package/{dist/types → types}/components/actions/Action.d.ts +0 -0
- package/{dist/types → types}/components/actions/Button/Button.d.ts +0 -0
- package/{dist/types → types}/components/actions/Button/Submit.d.ts +0 -0
- package/{dist/types → types}/components/actions/Button/index.d.ts +0 -0
- package/{dist/types → types}/components/actions/ButtonGroup/ButtonGroup.d.ts +0 -0
- package/types/components/actions/index.d.ts +10 -0
- package/{dist/types → types}/components/content/ActiveZone/ActiveZone.d.ts +0 -0
- package/{dist/types → types}/components/content/Avatar/Avatar.d.ts +0 -0
- package/{dist/types → types}/components/content/Badge/Badge.d.ts +0 -0
- package/{dist/types → types}/components/content/Card/Card.d.ts +0 -0
- package/{dist/types → types}/components/content/Content.d.ts +0 -0
- package/{dist/types → types}/components/content/Divider.d.ts +0 -0
- package/{dist/types → types}/components/content/Footer.d.ts +0 -0
- package/{dist/types → types}/components/content/Header.d.ts +0 -0
- package/{dist/types → types}/components/content/Paragraph.d.ts +0 -0
- package/{dist/types → types}/components/content/Placeholder/Placeholder.d.ts +0 -0
- package/{dist/types → types}/components/content/PrismCode/PrismCode.d.ts +0 -0
- package/{dist/types → types}/components/content/Result/Result.d.ts +0 -0
- package/{dist/types → types}/components/content/Skeleton/Skeleton.d.ts +0 -0
- package/{dist/types → types}/components/content/Tag/Tag.d.ts +0 -0
- package/{dist/types → types}/components/content/Text.d.ts +0 -0
- package/{dist/types → types}/components/content/Title.d.ts +0 -0
- package/{dist/types → types}/components/forms/Checkbox/Checkbox.d.ts +0 -0
- package/{dist/types → types}/components/forms/Checkbox/CheckboxGroup.d.ts +0 -0
- package/{dist/types → types}/components/forms/Checkbox/context.d.ts +0 -0
- package/{dist/types → types}/components/forms/FieldWrapper.d.ts +0 -0
- package/{dist/types → types}/components/forms/FileInput/FileInput.d.ts +0 -0
- package/{dist/types → types}/components/forms/Form/Field.d.ts +0 -0
- package/{dist/types → types}/components/forms/Form/Form.d.ts +0 -0
- package/{dist/types → types}/components/forms/Form/index.d.ts +0 -0
- package/{dist/types → types}/components/forms/Form/useForm.d.ts +0 -0
- package/{dist/types → types}/components/forms/Form/validation.d.ts +0 -0
- package/{dist/types → types}/components/forms/Label.d.ts +0 -0
- package/{dist/types → types}/components/forms/NumberInput/NumberInput.d.ts +0 -0
- package/{dist/types → types}/components/forms/NumberInput/StepButton.d.ts +0 -0
- package/{dist/types → types}/components/forms/PasswordInput/PasswordInput.d.ts +0 -0
- package/{dist/types → types}/components/forms/RadioGroup/Radio.d.ts +0 -0
- package/{dist/types → types}/components/forms/RadioGroup/RadioGroup.d.ts +0 -0
- package/{dist/types → types}/components/forms/RadioGroup/context.d.ts +0 -0
- package/{dist/types → types}/components/forms/SearchInput/SearchInput.d.ts +0 -0
- package/{dist/types → types}/components/forms/Switch/Switch.d.ts +0 -0
- package/{dist/types → types}/components/forms/TextArea/TextArea.d.ts +0 -0
- package/{dist/types → types}/components/forms/TextInput/TextInput.d.ts +0 -0
- package/{dist/types → types}/components/forms/TextInput/TextInputBase.d.ts +0 -0
- package/{dist/types → types}/components/forms/index.d.ts +0 -0
- package/{dist/types → types}/components/layout/Flex.d.ts +0 -0
- package/{dist/types → types}/components/layout/Flow.d.ts +0 -0
- package/{dist/types → types}/components/layout/Grid.d.ts +0 -0
- package/{dist/types → types}/components/layout/Prefix.d.ts +0 -0
- package/{dist/types → types}/components/layout/Space.d.ts +0 -0
- package/{dist/types → types}/components/layout/Suffix.d.ts +0 -0
- package/{dist/types → types}/components/navigation/LegacyTabs/LegacyTabs.d.ts +0 -0
- package/{dist/types → types}/components/navigation/Link/Link.d.ts +0 -0
- package/{dist/types → types}/components/organisms/Alert/Alert.d.ts +0 -0
- package/{dist/types → types}/components/organisms/CopySnippet/CopySnippet.d.ts +0 -0
- package/{dist/types → types}/components/organisms/DirectoryTree/DirectoryTree.d.ts +0 -0
- package/{dist/types → types}/components/organisms/FileTabs/FileTabs.d.ts +0 -0
- package/{dist/types → types}/components/organisms/Modal/Modal.d.ts +0 -0
- package/{dist/types → types}/components/organisms/SearchResults/SearchResults.d.ts +0 -0
- package/{dist/types → types}/components/organisms/StatsCard/StatsCard.d.ts +0 -0
- package/{dist/types → types}/components/organisms/TopBar/TopBar.d.ts +0 -0
- package/{dist/types → types}/components/other/Base64Upload/Base64Upload.d.ts +0 -0
- package/{dist/types → types}/components/other/CloudLogo/CloudLogo.d.ts +0 -0
- package/{dist/types → types}/components/overlays/AlertDialog/AlertDialog.d.ts +0 -0
- package/{dist/types → types}/components/overlays/AlertDialog/AlertDialogApiProvider.d.ts +0 -0
- package/{dist/types → types}/components/overlays/AlertDialog/AlertDialogZone.d.ts +0 -0
- package/{dist/types → types}/components/overlays/AlertDialog/index.d.ts +0 -0
- package/{dist/types → types}/components/overlays/AlertDialog/types.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Dialog/Dialog.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Dialog/DialogContainer.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Dialog/DialogForm.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Dialog/DialogTrigger.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Dialog/context.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Dialog/index.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Modal/Modal.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Modal/OpenTransition.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Modal/Overlay.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Modal/Popover.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Modal/Tray.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Modal/Underlay.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Modal/index.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Notification/Notification.d.ts +0 -0
- package/{dist/types → types}/components/overlays/OverlayWrapper.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Tooltip/Tooltip.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Tooltip/TooltipProvider.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Tooltip/TooltipTrigger.d.ts +0 -0
- package/{dist/types → types}/components/overlays/Tooltip/context.d.ts +0 -0
- package/{dist/types → types}/components/pickers/ComboBox/ComboBox.d.ts +0 -0
- package/{dist/types → types}/components/pickers/Select/Select.d.ts +0 -0
- package/{dist/types → types}/components/portal/Portal.d.ts +0 -0
- package/{dist/types → types}/components/portal/PortalProvider.d.ts +0 -0
- package/{dist/types → types}/components/portal/index.d.ts +0 -0
- package/{dist/types → types}/components/portal/storybook/templates/basic.d.ts +0 -0
- package/{dist/types → types}/components/portal/storybook/templates/index.d.ts +0 -0
- package/{dist/types → types}/components/portal/types.d.ts +0 -0
- package/{dist/types → types}/components/portal/usePortal.d.ts +0 -0
- package/{dist/types → types}/components/status/LoadingAnimation/LoadingAnimation.d.ts +0 -0
- package/{dist/types → types}/components/status/Spin/Spin.d.ts +0 -0
- package/{dist/types → types}/components/types.d.ts +0 -0
- package/{dist/types → types}/data/themes.d.ts +0 -0
- package/types/index.d.ts +150 -0
- package/{dist/types → types}/provider.d.ts +0 -0
- package/{dist/types → types}/providers/BreakpointsProvider.d.ts +0 -0
- package/{dist/types → types}/providers/StylesProvider.d.ts +0 -0
- package/{dist/types → types}/services/notification.d.ts +0 -0
- package/{dist/types → types}/shared/form.d.ts +0 -0
- package/{dist/types → types}/shared/index.d.ts +0 -0
- package/{dist/types → types}/stories/FormFieldArgs.d.ts +0 -0
- package/{dist/types → types}/stories/components/ConfirmDeletionDialogForm.d.ts +0 -0
- package/{dist/types → types}/stories/components/DialogFormApp.d.ts +0 -0
- package/types/stories/components/StyledButton.d.ts +119 -0
- package/{dist/types → types}/stories/lists/baseProps.d.ts +0 -0
- package/{dist/types → types}/styled/index.d.ts +0 -0
- package/{dist/types → types}/styled/styled.d.ts +0 -0
- package/{dist/types → types}/styles/align.d.ts +0 -0
- package/{dist/types → types}/styles/border.d.ts +0 -0
- package/{dist/types → types}/styles/boxShadow.combinator.d.ts +0 -0
- package/{dist/types → types}/styles/color.d.ts +0 -0
- package/types/styles/createStyle.d.ts +1 -0
- package/{dist/types → types}/styles/dimension.d.ts +0 -0
- package/{dist/types → types}/styles/display.d.ts +0 -0
- package/{dist/types → types}/styles/fill.d.ts +0 -0
- package/{dist/types → types}/styles/flow.d.ts +0 -0
- package/{dist/types → types}/styles/font.d.ts +0 -0
- package/{dist/types → types}/styles/fontStyle.d.ts +0 -0
- package/types/styles/gap.d.ts +23 -0
- package/{dist/types → types}/styles/groupRadius.d.ts +0 -0
- package/{dist/types → types}/styles/height.d.ts +0 -0
- package/types/styles/index.d.ts +5 -0
- package/{dist/types → types}/styles/justify.d.ts +0 -0
- package/{dist/types → types}/styles/list.d.ts +0 -0
- package/{dist/types → types}/styles/margin.d.ts +0 -0
- package/{dist/types → types}/styles/marginBlock.d.ts +0 -0
- package/{dist/types → types}/styles/marginInline.d.ts +0 -0
- package/{dist/types → types}/styles/outline.d.ts +0 -0
- package/{dist/types → types}/styles/padding.d.ts +0 -0
- package/{dist/types → types}/styles/paddingBlock.d.ts +0 -0
- package/{dist/types → types}/styles/paddingInline.d.ts +0 -0
- package/types/styles/predefined.d.ts +12 -0
- package/{dist/types → types}/styles/preset.d.ts +0 -0
- package/{dist/types → types}/styles/radius.d.ts +0 -0
- package/{dist/types → types}/styles/reset.d.ts +0 -0
- package/{dist/types → types}/styles/shadow.d.ts +0 -0
- package/{dist/types → types}/styles/styledScrollbar.d.ts +0 -0
- package/{dist/types → types}/styles/transition.d.ts +0 -0
- package/{dist/types → types}/styles/types.d.ts +0 -0
- package/{dist/types → types}/styles/width.d.ts +0 -0
- package/{dist/types → types}/test/setup.d.ts +0 -0
- package/{dist/types → types}/tokens.d.ts +0 -0
- package/{dist/types → types}/utils/ResizeSensor.d.ts +0 -0
- package/{dist/types → types}/utils/colors.d.ts +0 -0
- package/{dist/types → types}/utils/dotize.d.ts +0 -0
- package/{dist/types → types}/utils/escape-string.d.ts +0 -0
- package/{dist/types → types}/utils/filterBaseProps.d.ts +0 -0
- package/{dist/types → types}/utils/index.d.ts +0 -0
- package/{dist/types → types}/utils/interactions.d.ts +0 -0
- package/{dist/types → types}/utils/mergeStyles.d.ts +0 -0
- package/{dist/types → types}/utils/modules.d.ts +0 -0
- package/{dist/types → types}/utils/promise.d.ts +0 -0
- package/{dist/types → types}/utils/react/Slots.d.ts +0 -0
- package/{dist/types → types}/utils/react/chain.d.ts +0 -0
- package/{dist/types → types}/utils/react/index.d.ts +0 -0
- package/{dist/types → types}/utils/react/isTextOnly.d.ts +0 -0
- package/{dist/types → types}/utils/react/mapProps.d.ts +0 -0
- package/{dist/types → types}/utils/react/mergeProps.d.ts +0 -0
- package/{dist/types → types}/utils/react/modAttrs.d.ts +0 -0
- package/{dist/types → types}/utils/react/nullableValue.d.ts +0 -0
- package/{dist/types → types}/utils/react/useCombinedRefs.d.ts +0 -0
- package/{dist/types → types}/utils/react/useId.d.ts +0 -0
- package/{dist/types → types}/utils/react/useLayoutEffect.d.ts +0 -0
- package/{dist/types → types}/utils/react/wrapNodeIfPlain.d.ts +0 -0
- package/{dist/types → types}/utils/renderStyles.d.ts +0 -0
- package/{dist/types → types}/utils/responsive.d.ts +0 -0
- package/{dist/types → types}/utils/string.d.ts +0 -0
- package/{dist/types → types}/utils/styles.d.ts +0 -0
- package/{dist/types → types}/utils/transitions.d.ts +0 -0
- package/{dist/types → types}/utils/tree.d.ts +0 -0
- package/{dist/types → types}/utils/warnings.d.ts +0 -0
- package/LICENSE +0 -21
- package/dist/README.md +0 -26
- package/dist/cjs/components/Base.js +0 -58
- package/dist/cjs/components/Block.js +0 -25
- package/dist/cjs/components/GlobalStyles.js +0 -322
- package/dist/cjs/components/GridProvider.js +0 -85
- package/dist/cjs/components/HiddenInput.js +0 -39
- package/dist/cjs/components/OpenTrasition.js +0 -38
- package/dist/cjs/components/Root.js +0 -50
- package/dist/cjs/components/actions/Action.js +0 -136
- package/dist/cjs/components/actions/Button/Button.js +0 -313
- package/dist/cjs/components/actions/Button/Submit.js +0 -29
- package/dist/cjs/components/actions/Button/index.js +0 -23
- package/dist/cjs/components/actions/ButtonGroup/ButtonGroup.js +0 -28
- package/dist/cjs/components/actions/index.js +0 -28
- package/dist/cjs/components/content/ActiveZone/ActiveZone.js +0 -44
- package/dist/cjs/components/content/Avatar/Avatar.js +0 -39
- package/dist/cjs/components/content/Badge/Badge.js +0 -58
- package/dist/cjs/components/content/Card/Card.js +0 -30
- package/dist/cjs/components/content/Content.js +0 -42
- package/dist/cjs/components/content/Divider.js +0 -53
- package/dist/cjs/components/content/Footer.js +0 -36
- package/dist/cjs/components/content/Header.js +0 -35
- package/dist/cjs/components/content/Paragraph.js +0 -27
- package/dist/cjs/components/content/Placeholder/Placeholder.js +0 -51
- package/dist/cjs/components/content/PrismCode/PrismCode.js +0 -44
- package/dist/cjs/components/content/Result/Result.js +0 -105
- package/dist/cjs/components/content/Skeleton/Skeleton.js +0 -79
- package/dist/cjs/components/content/Tag/Tag.js +0 -94
- package/dist/cjs/components/content/Text.js +0 -81
- package/dist/cjs/components/content/Title.js +0 -69
- package/dist/cjs/components/forms/Checkbox/Checkbox.js +0 -177
- package/dist/cjs/components/forms/Checkbox/CheckboxGroup.js +0 -110
- package/dist/cjs/components/forms/Checkbox/context.js +0 -14
- package/dist/cjs/components/forms/FieldWrapper.js +0 -82
- package/dist/cjs/components/forms/FileInput/FileInput.js +0 -152
- package/dist/cjs/components/forms/Form/Field.js +0 -234
- package/dist/cjs/components/forms/Form/Form.js +0 -125
- package/dist/cjs/components/forms/Form/index.js +0 -20
- package/dist/cjs/components/forms/Form/useForm.js +0 -280
- package/dist/cjs/components/forms/Form/validation.js +0 -149
- package/dist/cjs/components/forms/Label.js +0 -90
- package/dist/cjs/components/forms/NumberInput/NumberInput.js +0 -50
- package/dist/cjs/components/forms/NumberInput/StepButton.js +0 -35
- package/dist/cjs/components/forms/PasswordInput/PasswordInput.js +0 -43
- package/dist/cjs/components/forms/RadioGroup/Radio.js +0 -181
- package/dist/cjs/components/forms/RadioGroup/RadioGroup.js +0 -113
- package/dist/cjs/components/forms/RadioGroup/context.js +0 -18
- package/dist/cjs/components/forms/SearchInput/SearchInput.js +0 -45
- package/dist/cjs/components/forms/Switch/Switch.js +0 -156
- package/dist/cjs/components/forms/TextArea/TextArea.js +0 -63
- package/dist/cjs/components/forms/TextInput/TextInput.js +0 -33
- package/dist/cjs/components/forms/TextInput/TextInputBase.js +0 -167
- package/dist/cjs/components/forms/index.js +0 -30
- package/dist/cjs/components/layout/Flex.js +0 -26
- package/dist/cjs/components/layout/Flow.js +0 -27
- package/dist/cjs/components/layout/Grid.js +0 -33
- package/dist/cjs/components/layout/Prefix.js +0 -46
- package/dist/cjs/components/layout/Space.js +0 -35
- package/dist/cjs/components/layout/Suffix.js +0 -45
- package/dist/cjs/components/navigation/LegacyTabs/LegacyTabs.js +0 -255
- package/dist/cjs/components/navigation/Link/Link.js +0 -18
- package/dist/cjs/components/organisms/Alert/Alert.js +0 -41
- package/dist/cjs/components/organisms/CopySnippet/CopySnippet.js +0 -112
- package/dist/cjs/components/organisms/DirectoryTree/DirectoryTree.js +0 -166
- package/dist/cjs/components/organisms/FileTabs/FileTabs.js +0 -300
- package/dist/cjs/components/organisms/Modal/Modal.js +0 -258
- package/dist/cjs/components/organisms/SearchResults/SearchResults.js +0 -108
- package/dist/cjs/components/organisms/StatsCard/StatsCard.js +0 -20
- package/dist/cjs/components/organisms/TopBar/TopBar.js +0 -33
- package/dist/cjs/components/other/Base64Upload/Base64Upload.js +0 -110
- package/dist/cjs/components/other/CloudLogo/CloudLogo.js +0 -43
- package/dist/cjs/components/overlays/AlertDialog/AlertDialog.js +0 -67
- package/dist/cjs/components/overlays/AlertDialog/AlertDialogApiProvider.js +0 -115
- package/dist/cjs/components/overlays/AlertDialog/AlertDialogZone.js +0 -58
- package/dist/cjs/components/overlays/AlertDialog/index.js +0 -24
- package/dist/cjs/components/overlays/AlertDialog/types.js +0 -11
- package/dist/cjs/components/overlays/Dialog/Dialog.js +0 -181
- package/dist/cjs/components/overlays/Dialog/DialogContainer.js +0 -42
- package/dist/cjs/components/overlays/Dialog/DialogForm.js +0 -56
- package/dist/cjs/components/overlays/Dialog/DialogTrigger.js +0 -116
- package/dist/cjs/components/overlays/Dialog/context.js +0 -14
- package/dist/cjs/components/overlays/Dialog/index.js +0 -25
- package/dist/cjs/components/overlays/Modal/Modal.js +0 -86
- package/dist/cjs/components/overlays/Modal/OpenTransition.js +0 -26
- package/dist/cjs/components/overlays/Modal/Overlay.js +0 -40
- package/dist/cjs/components/overlays/Modal/Popover.js +0 -59
- package/dist/cjs/components/overlays/Modal/Tray.js +0 -95
- package/dist/cjs/components/overlays/Modal/Underlay.js +0 -51
- package/dist/cjs/components/overlays/Modal/index.js +0 -22
- package/dist/cjs/components/overlays/Notification/Notification.js +0 -44
- package/dist/cjs/components/overlays/OverlayWrapper.js +0 -35
- package/dist/cjs/components/overlays/Tooltip/Tooltip.js +0 -100
- package/dist/cjs/components/overlays/Tooltip/TooltipProvider.js +0 -26
- package/dist/cjs/components/overlays/Tooltip/TooltipTrigger.js +0 -72
- package/dist/cjs/components/overlays/Tooltip/context.js +0 -17
- package/dist/cjs/components/pickers/ComboBox/ComboBox.js +0 -171
- package/dist/cjs/components/pickers/Select/Select.js +0 -258
- package/dist/cjs/components/portal/Portal.js +0 -48
- package/dist/cjs/components/portal/PortalProvider.js +0 -28
- package/dist/cjs/components/portal/index.js +0 -25
- package/dist/cjs/components/portal/storybook/templates/basic.js +0 -17
- package/dist/cjs/components/portal/storybook/templates/index.js +0 -22
- package/dist/cjs/components/portal/types.js +0 -11
- package/dist/cjs/components/portal/usePortal.js +0 -50
- package/dist/cjs/components/status/LoadingAnimation/LoadingAnimation.js +0 -139
- package/dist/cjs/components/status/Spin/Spin.js +0 -38
- package/dist/cjs/components/types.js +0 -11
- package/dist/cjs/data/themes.js +0 -33
- package/dist/cjs/index.js +0 -184
- package/dist/cjs/provider.js +0 -51
- package/dist/cjs/providers/BreakpointsProvider.js +0 -20
- package/dist/cjs/providers/StylesProvider.js +0 -42
- package/dist/cjs/services/notification.js +0 -67
- package/dist/cjs/shared/form.js +0 -11
- package/dist/cjs/shared/index.js +0 -22
- package/dist/cjs/stories/FormFieldArgs.js +0 -288
- package/dist/cjs/stories/components/ConfirmDeletionDialogForm.js +0 -36
- package/dist/cjs/stories/components/DialogFormApp.js +0 -27
- package/dist/cjs/stories/components/StyledButton.js +0 -37
- package/dist/cjs/stories/lists/baseProps.js +0 -42
- package/dist/cjs/styled/index.js +0 -22
- package/dist/cjs/styled/styled.js +0 -107
- package/dist/cjs/styles/align.js +0 -24
- package/dist/cjs/styles/border.js +0 -52
- package/dist/cjs/styles/boxShadow.combinator.js +0 -26
- package/dist/cjs/styles/color.js +0 -43
- package/dist/cjs/styles/dimension.js +0 -89
- package/dist/cjs/styles/display.js +0 -17
- package/dist/cjs/styles/fill.js +0 -42
- package/dist/cjs/styles/flow.js +0 -24
- package/dist/cjs/styles/font.js +0 -27
- package/dist/cjs/styles/fontStyle.js +0 -23
- package/dist/cjs/styles/gap.js +0 -67
- package/dist/cjs/styles/groupRadius.js +0 -64
- package/dist/cjs/styles/height.js +0 -19
- package/dist/cjs/styles/index.js +0 -105
- package/dist/cjs/styles/justify.js +0 -24
- package/dist/cjs/styles/list.js +0 -87
- package/dist/cjs/styles/margin.js +0 -50
- package/dist/cjs/styles/marginBlock.js +0 -36
- package/dist/cjs/styles/marginInline.js +0 -40
- package/dist/cjs/styles/outline.js +0 -28
- package/dist/cjs/styles/padding.js +0 -51
- package/dist/cjs/styles/paddingBlock.js +0 -40
- package/dist/cjs/styles/paddingInline.js +0 -40
- package/dist/cjs/styles/predefined.js +0 -122
- package/dist/cjs/styles/preset.js +0 -55
- package/dist/cjs/styles/radius.js +0 -76
- package/dist/cjs/styles/reset.js +0 -104
- package/dist/cjs/styles/shadow.js +0 -27
- package/dist/cjs/styles/styledScrollbar.js +0 -55
- package/dist/cjs/styles/transition.js +0 -88
- package/dist/cjs/styles/types.js +0 -11
- package/dist/cjs/styles/width.js +0 -19
- package/dist/cjs/test/setup.js +0 -14
- package/dist/cjs/tokens.js +0 -233
- package/dist/cjs/utils/ResizeSensor.js +0 -324
- package/dist/cjs/utils/colors.js +0 -19
- package/dist/cjs/utils/dotize.js +0 -194
- package/dist/cjs/utils/escape-string.js +0 -21
- package/dist/cjs/utils/filterBaseProps.js +0 -69
- package/dist/cjs/utils/index.js +0 -46
- package/dist/cjs/utils/interactions.js +0 -29
- package/dist/cjs/utils/mergeStyles.js +0 -36
- package/dist/cjs/utils/modules.js +0 -16
- package/dist/cjs/utils/promise.js +0 -18
- package/dist/cjs/utils/react/Slots.js +0 -48
- package/dist/cjs/utils/react/chain.js +0 -25
- package/dist/cjs/utils/react/index.js +0 -30
- package/dist/cjs/utils/react/isTextOnly.js +0 -17
- package/dist/cjs/utils/react/mapProps.js +0 -30
- package/dist/cjs/utils/react/mergeProps.js +0 -67
- package/dist/cjs/utils/react/modAttrs.js +0 -26
- package/dist/cjs/utils/react/nullableValue.js +0 -46
- package/dist/cjs/utils/react/useCombinedRefs.js +0 -30
- package/dist/cjs/utils/react/useId.js +0 -87
- package/dist/cjs/utils/react/useLayoutEffect.js +0 -36
- package/dist/cjs/utils/react/wrapNodeIfPlain.js +0 -22
- package/dist/cjs/utils/renderStyles.js +0 -132
- package/dist/cjs/utils/responsive.js +0 -72
- package/dist/cjs/utils/string.js +0 -16
- package/dist/cjs/utils/styles.js +0 -870
- package/dist/cjs/utils/transitions.js +0 -67
- package/dist/cjs/utils/tree.js +0 -28
- package/dist/cjs/utils/warnings.js +0 -55
- package/dist/es/components/Base.js +0 -52
- package/dist/es/components/Block.js +0 -22
- package/dist/es/components/GlobalStyles.js +0 -319
- package/dist/es/components/GridProvider.js +0 -64
- package/dist/es/components/HiddenInput.js +0 -33
- package/dist/es/components/OpenTrasition.js +0 -31
- package/dist/es/components/Root.js +0 -46
- package/dist/es/components/actions/Action.js +0 -130
- package/dist/es/components/actions/Button/Button.js +0 -309
- package/dist/es/components/actions/Button/Submit.js +0 -26
- package/dist/es/components/actions/Button/index.js +0 -11
- package/dist/es/components/actions/ButtonGroup/ButtonGroup.js +0 -25
- package/dist/es/components/actions/index.js +0 -15
- package/dist/es/components/content/ActiveZone/ActiveZone.js +0 -41
- package/dist/es/components/content/Avatar/Avatar.js +0 -36
- package/dist/es/components/content/Badge/Badge.js +0 -52
- package/dist/es/components/content/Card/Card.js +0 -27
- package/dist/es/components/content/Content.js +0 -39
- package/dist/es/components/content/Divider.js +0 -50
- package/dist/es/components/content/Footer.js +0 -33
- package/dist/es/components/content/Header.js +0 -32
- package/dist/es/components/content/Paragraph.js +0 -24
- package/dist/es/components/content/Placeholder/Placeholder.js +0 -48
- package/dist/es/components/content/PrismCode/PrismCode.js +0 -38
- package/dist/es/components/content/Result/Result.js +0 -102
- package/dist/es/components/content/Skeleton/Skeleton.js +0 -75
- package/dist/es/components/content/Tag/Tag.js +0 -88
- package/dist/es/components/content/Text.js +0 -78
- package/dist/es/components/content/Title.js +0 -66
- package/dist/es/components/forms/Checkbox/Checkbox.js +0 -174
- package/dist/es/components/forms/Checkbox/CheckboxGroup.js +0 -107
- package/dist/es/components/forms/Checkbox/context.js +0 -11
- package/dist/es/components/forms/FieldWrapper.js +0 -79
- package/dist/es/components/forms/FileInput/FileInput.js +0 -149
- package/dist/es/components/forms/Form/Field.js +0 -230
- package/dist/es/components/forms/Form/Form.js +0 -121
- package/dist/es/components/forms/Form/index.js +0 -14
- package/dist/es/components/forms/Form/useForm.js +0 -275
- package/dist/es/components/forms/Form/validation.js +0 -141
- package/dist/es/components/forms/Label.js +0 -87
- package/dist/es/components/forms/NumberInput/NumberInput.js +0 -47
- package/dist/es/components/forms/NumberInput/StepButton.js +0 -31
- package/dist/es/components/forms/PasswordInput/PasswordInput.js +0 -40
- package/dist/es/components/forms/RadioGroup/Radio.js +0 -178
- package/dist/es/components/forms/RadioGroup/RadioGroup.js +0 -110
- package/dist/es/components/forms/RadioGroup/context.js +0 -14
- package/dist/es/components/forms/SearchInput/SearchInput.js +0 -42
- package/dist/es/components/forms/Switch/Switch.js +0 -153
- package/dist/es/components/forms/TextArea/TextArea.js +0 -60
- package/dist/es/components/forms/TextInput/TextInput.js +0 -30
- package/dist/es/components/forms/TextInput/TextInputBase.js +0 -164
- package/dist/es/components/forms/index.js +0 -22
- package/dist/es/components/layout/Flex.js +0 -23
- package/dist/es/components/layout/Flow.js +0 -24
- package/dist/es/components/layout/Grid.js +0 -30
- package/dist/es/components/layout/Prefix.js +0 -43
- package/dist/es/components/layout/Space.js +0 -32
- package/dist/es/components/layout/Suffix.js +0 -42
- package/dist/es/components/navigation/LegacyTabs/LegacyTabs.js +0 -251
- package/dist/es/components/navigation/Link/Link.js +0 -15
- package/dist/es/components/organisms/Alert/Alert.js +0 -35
- package/dist/es/components/organisms/CopySnippet/CopySnippet.js +0 -105
- package/dist/es/components/organisms/DirectoryTree/DirectoryTree.js +0 -162
- package/dist/es/components/organisms/FileTabs/FileTabs.js +0 -296
- package/dist/es/components/organisms/Modal/Modal.js +0 -251
- package/dist/es/components/organisms/SearchResults/SearchResults.js +0 -104
- package/dist/es/components/organisms/StatsCard/StatsCard.js +0 -16
- package/dist/es/components/organisms/TopBar/TopBar.js +0 -29
- package/dist/es/components/other/Base64Upload/Base64Upload.js +0 -104
- package/dist/es/components/other/CloudLogo/CloudLogo.js +0 -37
- package/dist/es/components/overlays/AlertDialog/AlertDialog.js +0 -64
- package/dist/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +0 -107
- package/dist/es/components/overlays/AlertDialog/AlertDialogZone.js +0 -54
- package/dist/es/components/overlays/AlertDialog/index.js +0 -12
- package/dist/es/components/overlays/AlertDialog/types.js +0 -10
- package/dist/es/components/overlays/Dialog/Dialog.js +0 -178
- package/dist/es/components/overlays/Dialog/DialogContainer.js +0 -38
- package/dist/es/components/overlays/Dialog/DialogForm.js +0 -53
- package/dist/es/components/overlays/Dialog/DialogTrigger.js +0 -113
- package/dist/es/components/overlays/Dialog/context.js +0 -11
- package/dist/es/components/overlays/Dialog/index.js +0 -13
- package/dist/es/components/overlays/Modal/Modal.js +0 -83
- package/dist/es/components/overlays/Modal/OpenTransition.js +0 -19
- package/dist/es/components/overlays/Modal/Overlay.js +0 -37
- package/dist/es/components/overlays/Modal/Popover.js +0 -56
- package/dist/es/components/overlays/Modal/Tray.js +0 -92
- package/dist/es/components/overlays/Modal/Underlay.js +0 -48
- package/dist/es/components/overlays/Modal/index.js +0 -14
- package/dist/es/components/overlays/Notification/Notification.js +0 -37
- package/dist/es/components/overlays/OverlayWrapper.js +0 -31
- package/dist/es/components/overlays/Tooltip/Tooltip.js +0 -97
- package/dist/es/components/overlays/Tooltip/TooltipProvider.js +0 -23
- package/dist/es/components/overlays/Tooltip/TooltipTrigger.js +0 -69
- package/dist/es/components/overlays/Tooltip/context.js +0 -11
- package/dist/es/components/pickers/ComboBox/ComboBox.js +0 -168
- package/dist/es/components/pickers/Select/Select.js +0 -254
- package/dist/es/components/portal/Portal.js +0 -41
- package/dist/es/components/portal/PortalProvider.js +0 -24
- package/dist/es/components/portal/index.js +0 -11
- package/dist/es/components/portal/storybook/templates/basic.js +0 -13
- package/dist/es/components/portal/storybook/templates/index.js +0 -10
- package/dist/es/components/portal/types.js +0 -10
- package/dist/es/components/portal/usePortal.js +0 -43
- package/dist/es/components/status/LoadingAnimation/LoadingAnimation.js +0 -132
- package/dist/es/components/status/Spin/Spin.js +0 -35
- package/dist/es/components/types.js +0 -10
- package/dist/es/data/themes.js +0 -31
- package/dist/es/index.js +0 -96
- package/dist/es/provider.js +0 -46
- package/dist/es/providers/BreakpointsProvider.js +0 -16
- package/dist/es/providers/StylesProvider.js +0 -37
- package/dist/es/services/notification.js +0 -61
- package/dist/es/shared/form.js +0 -10
- package/dist/es/shared/index.js +0 -10
- package/dist/es/stories/FormFieldArgs.js +0 -285
- package/dist/es/stories/components/ConfirmDeletionDialogForm.js +0 -33
- package/dist/es/stories/components/DialogFormApp.js +0 -23
- package/dist/es/stories/components/StyledButton.js +0 -33
- package/dist/es/stories/lists/baseProps.js +0 -39
- package/dist/es/styled/index.js +0 -10
- package/dist/es/styled/styled.js +0 -85
- package/dist/es/styles/align.js +0 -20
- package/dist/es/styles/border.js +0 -48
- package/dist/es/styles/boxShadow.combinator.js +0 -22
- package/dist/es/styles/color.js +0 -39
- package/dist/es/styles/dimension.js +0 -85
- package/dist/es/styles/display.js +0 -13
- package/dist/es/styles/fill.js +0 -38
- package/dist/es/styles/flow.js +0 -20
- package/dist/es/styles/font.js +0 -23
- package/dist/es/styles/fontStyle.js +0 -19
- package/dist/es/styles/gap.js +0 -63
- package/dist/es/styles/groupRadius.js +0 -60
- package/dist/es/styles/height.js +0 -15
- package/dist/es/styles/index.js +0 -99
- package/dist/es/styles/justify.js +0 -20
- package/dist/es/styles/list.js +0 -84
- package/dist/es/styles/margin.js +0 -46
- package/dist/es/styles/marginBlock.js +0 -32
- package/dist/es/styles/marginInline.js +0 -36
- package/dist/es/styles/outline.js +0 -24
- package/dist/es/styles/padding.js +0 -47
- package/dist/es/styles/paddingBlock.js +0 -36
- package/dist/es/styles/paddingInline.js +0 -36
- package/dist/es/styles/predefined.js +0 -120
- package/dist/es/styles/preset.js +0 -51
- package/dist/es/styles/radius.js +0 -72
- package/dist/es/styles/reset.js +0 -100
- package/dist/es/styles/shadow.js +0 -23
- package/dist/es/styles/styledScrollbar.js +0 -51
- package/dist/es/styles/transition.js +0 -84
- package/dist/es/styles/types.js +0 -10
- package/dist/es/styles/width.js +0 -15
- package/dist/es/test/setup.js +0 -12
- package/dist/es/tokens.js +0 -230
- package/dist/es/utils/ResizeSensor.js +0 -320
- package/dist/es/utils/colors.js +0 -15
- package/dist/es/utils/dotize.js +0 -191
- package/dist/es/utils/escape-string.js +0 -18
- package/dist/es/utils/filterBaseProps.js +0 -65
- package/dist/es/utils/index.js +0 -42
- package/dist/es/utils/interactions.js +0 -25
- package/dist/es/utils/mergeStyles.js +0 -32
- package/dist/es/utils/modules.js +0 -12
- package/dist/es/utils/promise.js +0 -14
- package/dist/es/utils/react/Slots.js +0 -42
- package/dist/es/utils/react/chain.js +0 -21
- package/dist/es/utils/react/index.js +0 -17
- package/dist/es/utils/react/isTextOnly.js +0 -13
- package/dist/es/utils/react/mapProps.js +0 -25
- package/dist/es/utils/react/mergeProps.js +0 -60
- package/dist/es/utils/react/modAttrs.js +0 -22
- package/dist/es/utils/react/nullableValue.js +0 -37
- package/dist/es/utils/react/useCombinedRefs.js +0 -26
- package/dist/es/utils/react/useId.js +0 -81
- package/dist/es/utils/react/useLayoutEffect.js +0 -14
- package/dist/es/utils/react/wrapNodeIfPlain.js +0 -18
- package/dist/es/utils/renderStyles.js +0 -127
- package/dist/es/utils/responsive.js +0 -66
- package/dist/es/utils/string.js +0 -12
- package/dist/es/utils/styles.js +0 -844
- package/dist/es/utils/transitions.js +0 -63
- package/dist/es/utils/tree.js +0 -24
- package/dist/es/utils/warnings.js +0 -48
- package/dist/package.json +0 -80
- package/dist/types/components/actions/index.d.ts +0 -10
- package/dist/types/index.d.ts +0 -151
- package/dist/types/stories/components/StyledButton.d.ts +0 -119
- package/dist/types/styles/gap.d.ts +0 -21
- package/dist/types/styles/index.d.ts +0 -8
- package/dist/types/styles/predefined.d.ts +0 -1
@@ -0,0 +1,844 @@
|
|
1
|
+
/**
|
2
|
+
* @license MIT
|
3
|
+
* author: Cube Dev Team
|
4
|
+
* @cube-dev/ui-kit v0.9.7
|
5
|
+
* Released under the MIT license.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { getModCombinations } from './index';
|
9
|
+
const devMode = process.env.NODE_ENV !== 'production';
|
10
|
+
export const CUSTOM_UNITS = {
|
11
|
+
r: 'var(--radius)',
|
12
|
+
bw: 'var(--border-width)',
|
13
|
+
ow: 'var(--outline-width)',
|
14
|
+
x: 'var(--gap)',
|
15
|
+
fs: 'var(--font-size)',
|
16
|
+
lh: 'var(--line-height)',
|
17
|
+
rp: 'var(--rem-pixel)',
|
18
|
+
gp: 'var(--column-gap)',
|
19
|
+
// global setting
|
20
|
+
wh: function wh(num) {
|
21
|
+
return `calc(var(--cube-visual-viewport-height) / 100 * ${num})`;
|
22
|
+
},
|
23
|
+
// span unit for GridProvider
|
24
|
+
sp: function spanWidth(num) {
|
25
|
+
return `((${num} * var(--column-width)) + (${num - 1} * var(--column-gap)))`;
|
26
|
+
},
|
27
|
+
};
|
28
|
+
export const DIRECTIONS = ['top', 'right', 'bottom', 'left'];
|
29
|
+
const COLOR_FUNCS = ['rgb', 'rgba'];
|
30
|
+
const IGNORE_MODS = [
|
31
|
+
'auto',
|
32
|
+
'max-content',
|
33
|
+
'min-content',
|
34
|
+
'none',
|
35
|
+
'subgrid',
|
36
|
+
'initial',
|
37
|
+
];
|
38
|
+
const ATTR_REGEXP = /("[^"]*")|('[^']*')|([a-z-]+\()|(#[a-z0-9.-]{2,}(?![a-f0-9[-]))|(--[a-z0-9-]+|@[a-z0-9-]+)|([a-z][a-z0-9-]*)|(([0-9]+(?![0-9.])|[0-9-.]{2,}|[0-9-]{2,}|[0-9.-]{3,})([a-z%]{0,3}))|([*/+-])|([()])|(,)/gi;
|
39
|
+
const ATTR_CACHE = new Map();
|
40
|
+
const ATTR_CACHE_AUTOCALC = new Map();
|
41
|
+
const ATTR_CACHE_IGNORE_COLOR = new Map();
|
42
|
+
const MAX_CACHE = 10000;
|
43
|
+
const ATTR_CACHE_MODE_MAP = [
|
44
|
+
ATTR_CACHE_AUTOCALC,
|
45
|
+
ATTR_CACHE,
|
46
|
+
ATTR_CACHE_IGNORE_COLOR,
|
47
|
+
];
|
48
|
+
const PREPARE_REGEXP = /calc\((\d*)\)/gi;
|
49
|
+
export function createRule(prop, value, selector) {
|
50
|
+
if (value == null)
|
51
|
+
return '';
|
52
|
+
if (selector) {
|
53
|
+
return `${selector} { ${prop}: ${value}; }\n`;
|
54
|
+
}
|
55
|
+
return `${prop}: ${value};\n`;
|
56
|
+
}
|
57
|
+
function getModSelector(modName) {
|
58
|
+
return modName.match(/^[a-z]/) ? `[data-is-${modName}]` : modName;
|
59
|
+
}
|
60
|
+
/**
|
61
|
+
*
|
62
|
+
* @param {String} value
|
63
|
+
* @param {Number} mode
|
64
|
+
* @returns {Object<String,String|Array>}
|
65
|
+
*/
|
66
|
+
export function parseStyle(value, mode = 0) {
|
67
|
+
if (typeof value === 'number') {
|
68
|
+
value = String(value);
|
69
|
+
}
|
70
|
+
if (typeof value !== 'string') {
|
71
|
+
return {
|
72
|
+
values: [],
|
73
|
+
mods: [],
|
74
|
+
all: [],
|
75
|
+
value: '',
|
76
|
+
};
|
77
|
+
}
|
78
|
+
const CACHE = ATTR_CACHE_MODE_MAP[mode];
|
79
|
+
if (!CACHE.has(value)) {
|
80
|
+
if (CACHE.size > MAX_CACHE) {
|
81
|
+
CACHE.clear();
|
82
|
+
}
|
83
|
+
const mods = [];
|
84
|
+
const all = [];
|
85
|
+
const values = [];
|
86
|
+
const autoCalc = mode !== 1;
|
87
|
+
let currentValue = '';
|
88
|
+
let calc = -1;
|
89
|
+
let counter = 0;
|
90
|
+
let parsedValue = '';
|
91
|
+
let color = '';
|
92
|
+
let currentFunc = '';
|
93
|
+
let usedFunc = '';
|
94
|
+
let token;
|
95
|
+
ATTR_REGEXP.lastIndex = 0;
|
96
|
+
value = value.replace(/@\(/g, 'var(--');
|
97
|
+
while ((token = ATTR_REGEXP.exec(value))) {
|
98
|
+
let [, quotedDouble, quotedSingle, func, hashColor, prop, mod, unit, unitVal, unitMetric, operator, bracket, comma,] = token;
|
99
|
+
if (quotedSingle || quotedDouble) {
|
100
|
+
currentValue += `${quotedSingle || quotedDouble} `;
|
101
|
+
}
|
102
|
+
else if (func) {
|
103
|
+
currentFunc = func.slice(0, -1);
|
104
|
+
currentValue += func;
|
105
|
+
counter++;
|
106
|
+
}
|
107
|
+
else if (hashColor) {
|
108
|
+
// currentValue += `${hashColor} `;
|
109
|
+
if (mode === 2) {
|
110
|
+
color = hashColor;
|
111
|
+
}
|
112
|
+
else {
|
113
|
+
color = parseColor(hashColor, false).color;
|
114
|
+
}
|
115
|
+
}
|
116
|
+
else if (mod) {
|
117
|
+
// ignore mods inside brackets
|
118
|
+
if (counter || IGNORE_MODS.includes(mod)) {
|
119
|
+
currentValue += `${mod} `;
|
120
|
+
}
|
121
|
+
else {
|
122
|
+
mods.push(mod);
|
123
|
+
all.push(mod);
|
124
|
+
parsedValue += `${mod} `;
|
125
|
+
}
|
126
|
+
}
|
127
|
+
else if (bracket) {
|
128
|
+
if (bracket === '(') {
|
129
|
+
if (!~calc) {
|
130
|
+
calc = counter;
|
131
|
+
currentValue += 'calc';
|
132
|
+
}
|
133
|
+
counter++;
|
134
|
+
}
|
135
|
+
if (bracket === ')' && counter) {
|
136
|
+
currentValue = currentValue.trim();
|
137
|
+
if (counter > 0) {
|
138
|
+
counter--;
|
139
|
+
}
|
140
|
+
if (counter === calc) {
|
141
|
+
calc = -1;
|
142
|
+
}
|
143
|
+
}
|
144
|
+
if (bracket === ')' && !counter) {
|
145
|
+
usedFunc = currentFunc;
|
146
|
+
currentFunc = '';
|
147
|
+
}
|
148
|
+
currentValue += `${bracket}${bracket === ')' ? ' ' : ''}`;
|
149
|
+
}
|
150
|
+
else if (operator) {
|
151
|
+
if (!~calc && autoCalc) {
|
152
|
+
if (currentValue) {
|
153
|
+
if (currentValue.includes('(')) {
|
154
|
+
const index = currentValue.lastIndexOf('(');
|
155
|
+
currentValue = `${currentValue.slice(0, index)}(calc(${currentValue.slice(index + 1)}`;
|
156
|
+
calc = counter;
|
157
|
+
counter++;
|
158
|
+
}
|
159
|
+
}
|
160
|
+
else if (values.length) {
|
161
|
+
parsedValue = parsedValue.slice(0, parsedValue.length - values[values.length - 1].length - 1);
|
162
|
+
let tmp = values.splice(values.length - 1, 1)[0];
|
163
|
+
all.splice(values.length - 1, 1);
|
164
|
+
if (tmp) {
|
165
|
+
if (tmp.startsWith('calc(')) {
|
166
|
+
tmp = tmp.slice(4);
|
167
|
+
}
|
168
|
+
calc = counter;
|
169
|
+
counter++;
|
170
|
+
currentValue = `calc((${tmp}) `;
|
171
|
+
}
|
172
|
+
}
|
173
|
+
}
|
174
|
+
currentValue += `${operator} `;
|
175
|
+
}
|
176
|
+
else if (unit) {
|
177
|
+
if (unitMetric && CUSTOM_UNITS[unitMetric]) {
|
178
|
+
let add = customUnit(unitVal, unitMetric);
|
179
|
+
if (!~calc && add.startsWith('(')) {
|
180
|
+
currentValue += 'calc';
|
181
|
+
}
|
182
|
+
currentValue += `${add} `;
|
183
|
+
}
|
184
|
+
else {
|
185
|
+
currentValue += `${unit} `;
|
186
|
+
}
|
187
|
+
}
|
188
|
+
else if (prop) {
|
189
|
+
prop = prop.replace('@', '--');
|
190
|
+
if (currentFunc !== 'var') {
|
191
|
+
currentValue += `var(${prop}) `;
|
192
|
+
}
|
193
|
+
else {
|
194
|
+
currentValue += `${prop} `;
|
195
|
+
}
|
196
|
+
}
|
197
|
+
else if (comma) {
|
198
|
+
if (~calc) {
|
199
|
+
calc = -1;
|
200
|
+
counter--;
|
201
|
+
currentValue = `${currentValue.trim()}), `;
|
202
|
+
}
|
203
|
+
else {
|
204
|
+
currentValue = `${currentValue.trim()}, `;
|
205
|
+
}
|
206
|
+
if (!counter) {
|
207
|
+
all.push(',');
|
208
|
+
}
|
209
|
+
}
|
210
|
+
if (currentValue && !counter) {
|
211
|
+
let prepared = prepareParsedValue(currentValue);
|
212
|
+
if (COLOR_FUNCS.includes(usedFunc)) {
|
213
|
+
color = prepared;
|
214
|
+
}
|
215
|
+
else if (prepared.startsWith('color(')) {
|
216
|
+
prepared = prepared.slice(6, -1);
|
217
|
+
color = parseColor(prepared).color;
|
218
|
+
}
|
219
|
+
else {
|
220
|
+
if (prepared !== ',') {
|
221
|
+
values.push(prepared);
|
222
|
+
all.push(prepared);
|
223
|
+
}
|
224
|
+
parsedValue += `${prepared} `;
|
225
|
+
}
|
226
|
+
currentValue = '';
|
227
|
+
}
|
228
|
+
}
|
229
|
+
if (counter) {
|
230
|
+
let prepared = prepareParsedValue(`${currentValue.trim()}${')'.repeat(counter)}`);
|
231
|
+
if (prepared.startsWith('color(')) {
|
232
|
+
prepared = prepared.slice(6, -1);
|
233
|
+
color = parseColor(prepared).color;
|
234
|
+
}
|
235
|
+
else {
|
236
|
+
if (prepared !== ',') {
|
237
|
+
values.push(prepared);
|
238
|
+
all.push(prepared);
|
239
|
+
}
|
240
|
+
parsedValue += prepared;
|
241
|
+
}
|
242
|
+
}
|
243
|
+
CACHE.set(value, {
|
244
|
+
values,
|
245
|
+
mods,
|
246
|
+
all,
|
247
|
+
value: `${parsedValue} ${color}`.trim(),
|
248
|
+
color,
|
249
|
+
});
|
250
|
+
}
|
251
|
+
return CACHE.get(value);
|
252
|
+
}
|
253
|
+
/**
|
254
|
+
*
|
255
|
+
* @param {String} val
|
256
|
+
* @param {Boolean} ignoreError
|
257
|
+
* @return {{color}|{color: string, name: *, opacity: *}|{}|{color: string, name: string, opacity: (number|number)}|{color: string, name: *}}
|
258
|
+
*/
|
259
|
+
export function parseColor(val, ignoreError = false) {
|
260
|
+
val = val.trim();
|
261
|
+
if (!val)
|
262
|
+
return {};
|
263
|
+
if (val.startsWith('#')) {
|
264
|
+
val = val.slice(1);
|
265
|
+
const tmp = val.split('.');
|
266
|
+
let opacity = 100;
|
267
|
+
if (tmp.length > 1) {
|
268
|
+
if (tmp[1].length === 1) {
|
269
|
+
opacity = Number(tmp[1]) * 10;
|
270
|
+
}
|
271
|
+
else {
|
272
|
+
opacity = Number(tmp[1]);
|
273
|
+
}
|
274
|
+
if (Number.isNaN(opacity)) {
|
275
|
+
opacity = 100;
|
276
|
+
}
|
277
|
+
}
|
278
|
+
const name = tmp[0];
|
279
|
+
let color;
|
280
|
+
if (name === 'current') {
|
281
|
+
color = 'currentColor';
|
282
|
+
}
|
283
|
+
else {
|
284
|
+
if (opacity > 100) {
|
285
|
+
opacity = 100;
|
286
|
+
}
|
287
|
+
else if (opacity < 0) {
|
288
|
+
opacity = 0;
|
289
|
+
}
|
290
|
+
}
|
291
|
+
if (!color) {
|
292
|
+
color =
|
293
|
+
opacity !== 100
|
294
|
+
? rgbColorProp(name, Math.round(opacity) / 100)
|
295
|
+
: colorProp(name, null, strToRgb(`#${name}`));
|
296
|
+
}
|
297
|
+
return {
|
298
|
+
color,
|
299
|
+
name,
|
300
|
+
opacity: opacity != null ? opacity : 100,
|
301
|
+
};
|
302
|
+
}
|
303
|
+
let { values, mods, color } = parseStyle(val);
|
304
|
+
let name, opacity;
|
305
|
+
if (color) {
|
306
|
+
return {
|
307
|
+
color: (!color.startsWith('var(') ? strToRgb(color) : color) || color,
|
308
|
+
};
|
309
|
+
}
|
310
|
+
values.forEach((token) => {
|
311
|
+
if (token.match(/^((var|rgb|rgba|hsl|hsla)\(|#[0-9a-f]{3,6})/)) {
|
312
|
+
color = !token.startsWith('var') ? strToRgb(token) : token;
|
313
|
+
}
|
314
|
+
else if (token.endsWith('%')) {
|
315
|
+
opacity = parseInt(token);
|
316
|
+
}
|
317
|
+
});
|
318
|
+
if (color) {
|
319
|
+
return { color };
|
320
|
+
}
|
321
|
+
name = name || mods[0];
|
322
|
+
if (!name) {
|
323
|
+
if (!ignoreError && devMode) {
|
324
|
+
console.warn('CubeUIKit: incorrect color value:', val);
|
325
|
+
}
|
326
|
+
return {};
|
327
|
+
}
|
328
|
+
if (!opacity) {
|
329
|
+
let color;
|
330
|
+
if (name === 'current') {
|
331
|
+
color = 'currentColor';
|
332
|
+
}
|
333
|
+
else if (name === 'inherit') {
|
334
|
+
color = 'inherit';
|
335
|
+
}
|
336
|
+
else if (name !== 'transparent' && name !== 'currentColor') {
|
337
|
+
color = `var(--${name}-color, ${name})`;
|
338
|
+
}
|
339
|
+
else {
|
340
|
+
color = name;
|
341
|
+
}
|
342
|
+
return {
|
343
|
+
name,
|
344
|
+
color,
|
345
|
+
};
|
346
|
+
}
|
347
|
+
return {
|
348
|
+
color: rgbColorProp(name, Math.round(opacity) / 100),
|
349
|
+
name,
|
350
|
+
opacity,
|
351
|
+
};
|
352
|
+
}
|
353
|
+
export function rgbColorProp(colorName, opacity, fallbackColorName, fallbackValue) {
|
354
|
+
const fallbackValuePart = fallbackValue ? `, ${fallbackValue}` : '';
|
355
|
+
return `rgba(var(--${colorName}-color-rgb${fallbackColorName
|
356
|
+
? `, var(--${fallbackColorName}-color-rgb, ${fallbackValuePart})`
|
357
|
+
: fallbackValuePart}), ${opacity})`;
|
358
|
+
}
|
359
|
+
export function colorProp(colorName, fallbackColorName, fallbackValue) {
|
360
|
+
const fallbackValuePart = fallbackValue ? `, ${fallbackValue}` : '';
|
361
|
+
return `var(--${colorName}-color${fallbackColorName
|
362
|
+
? `, var(--${fallbackColorName}${fallbackValuePart})`
|
363
|
+
: fallbackValuePart})`;
|
364
|
+
}
|
365
|
+
export function strToRgb(color, ignoreAlpha = false) {
|
366
|
+
if (!color)
|
367
|
+
return undefined;
|
368
|
+
if (color.startsWith('rgb'))
|
369
|
+
return color;
|
370
|
+
if (color.startsWith('#'))
|
371
|
+
return hexToRgb(color);
|
372
|
+
return null;
|
373
|
+
}
|
374
|
+
export function getRgbValuesFromRgbaString(str) {
|
375
|
+
return str
|
376
|
+
.match(/\d+/g)
|
377
|
+
.map((s) => parseInt(s))
|
378
|
+
.slice(0, 3);
|
379
|
+
}
|
380
|
+
export function hexToRgb(hex) {
|
381
|
+
const rgba = hex
|
382
|
+
.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, (m, r, g, b) => '#' + r + r + g + g + b + b)
|
383
|
+
.substring(1)
|
384
|
+
.match(/.{2}/g)
|
385
|
+
.map((x, i) => parseInt(x, 16) * (i === 3 ? 1 / 255 : 1));
|
386
|
+
if (Number.isNaN(rgba[0])) {
|
387
|
+
return 'rgba(0, 0, 0, 1)';
|
388
|
+
}
|
389
|
+
if (rgba.length === 3) {
|
390
|
+
return `rgb(${rgba.join(', ')})`;
|
391
|
+
}
|
392
|
+
else if (rgba.length === 4) {
|
393
|
+
return `rgba(${rgba.join(', ')})`;
|
394
|
+
}
|
395
|
+
return null;
|
396
|
+
}
|
397
|
+
export function transferMods(mods, from, to) {
|
398
|
+
mods.forEach((mod) => {
|
399
|
+
if (from.includes(mod)) {
|
400
|
+
to.push(mod);
|
401
|
+
from.splice(from.indexOf(mod), 1);
|
402
|
+
}
|
403
|
+
});
|
404
|
+
}
|
405
|
+
function prepareParsedValue(val) {
|
406
|
+
return val.trim().replace(PREPARE_REGEXP, (s, inner) => inner);
|
407
|
+
}
|
408
|
+
export function filterMods(mods, allowedMods) {
|
409
|
+
return mods.filter((mod) => allowedMods.includes(mod));
|
410
|
+
}
|
411
|
+
export function customUnit(value, unit) {
|
412
|
+
const converter = CUSTOM_UNITS[unit];
|
413
|
+
if (typeof converter === 'function') {
|
414
|
+
return converter(value);
|
415
|
+
}
|
416
|
+
if (value === '1' || value === 1) {
|
417
|
+
return converter;
|
418
|
+
}
|
419
|
+
return `(${value} * ${converter})`;
|
420
|
+
}
|
421
|
+
export function extendStyles(defaultStyles, newStyles) {
|
422
|
+
let styles = {};
|
423
|
+
if (!defaultStyles) {
|
424
|
+
if (!newStyles) {
|
425
|
+
return styles;
|
426
|
+
}
|
427
|
+
}
|
428
|
+
else {
|
429
|
+
styles = Object.assign({}, defaultStyles);
|
430
|
+
}
|
431
|
+
if (newStyles) {
|
432
|
+
Object.keys(newStyles).forEach((key) => {
|
433
|
+
if (newStyles[key] != null) {
|
434
|
+
styles[key] = newStyles[key];
|
435
|
+
}
|
436
|
+
});
|
437
|
+
}
|
438
|
+
return styles;
|
439
|
+
}
|
440
|
+
/**
|
441
|
+
* Split properties into style and non-style properties.
|
442
|
+
* @param props - Component prop map.
|
443
|
+
* @param [styleList] - List of all style properties.
|
444
|
+
* @param [defaultStyles] - Default style map of the component.
|
445
|
+
* @param [propMap] - Props to style alias map.
|
446
|
+
* @param [ignoreList] - A list of properties to ignore.
|
447
|
+
*/
|
448
|
+
export function extractStyles(props, styleList = [], defaultStyles, propMap, ignoreList = []) {
|
449
|
+
const styles = {
|
450
|
+
...defaultStyles,
|
451
|
+
...props.styles,
|
452
|
+
};
|
453
|
+
Object.keys(props).forEach((prop) => {
|
454
|
+
const propName = propMap ? propMap[prop] || prop : prop;
|
455
|
+
const value = props[prop];
|
456
|
+
if (ignoreList && ignoreList.includes(prop)) {
|
457
|
+
// do nothing
|
458
|
+
}
|
459
|
+
else if (styleList.includes(propName)) {
|
460
|
+
// If value is not nullish then map it to the styles
|
461
|
+
if (value != null && value !== false) {
|
462
|
+
styles[propName] = value;
|
463
|
+
// If value is nullish then erase the default value of the style
|
464
|
+
}
|
465
|
+
else if (propName in styles) {
|
466
|
+
delete styles[propName];
|
467
|
+
}
|
468
|
+
}
|
469
|
+
}, {});
|
470
|
+
return styles;
|
471
|
+
}
|
472
|
+
/**
|
473
|
+
* Render CSSMap to Styled Components CSS
|
474
|
+
* @param styles
|
475
|
+
* @param [selector]
|
476
|
+
*/
|
477
|
+
export function renderStylesToSC(styles, selector = '') {
|
478
|
+
if (!styles)
|
479
|
+
return '';
|
480
|
+
if (Array.isArray(styles)) {
|
481
|
+
return styles.reduce((css, stls) => {
|
482
|
+
return css + renderStylesToSC(stls, selector);
|
483
|
+
}, '');
|
484
|
+
}
|
485
|
+
const { $, css, ...styleProps } = styles;
|
486
|
+
let renderedStyles = Object.keys(styleProps).reduce((styleList, styleName) => {
|
487
|
+
const value = styleProps[styleName];
|
488
|
+
if (Array.isArray(value)) {
|
489
|
+
return (styleList +
|
490
|
+
value.reduce((css, val) => {
|
491
|
+
if (val) {
|
492
|
+
return css + `${styleName}:${val};\n`;
|
493
|
+
}
|
494
|
+
return css;
|
495
|
+
}, ''));
|
496
|
+
}
|
497
|
+
if (value) {
|
498
|
+
return `${styleList}${styleName}:${value};\n`;
|
499
|
+
}
|
500
|
+
return styleList;
|
501
|
+
}, '');
|
502
|
+
if (css) {
|
503
|
+
renderedStyles = css + '\n' + renderedStyles;
|
504
|
+
}
|
505
|
+
if (!renderedStyles) {
|
506
|
+
return '';
|
507
|
+
}
|
508
|
+
if (Array.isArray($)) {
|
509
|
+
return `${selector ? `${selector}{\n` : ''}${$.reduce((rend, suffix) => {
|
510
|
+
return (rend +
|
511
|
+
`${suffix ? `&${suffix}{\n` : ''}${renderedStyles}${suffix ? '}\n' : ''}`);
|
512
|
+
}, '')}${selector ? '}\n' : ''}`;
|
513
|
+
}
|
514
|
+
return `${selector ? `${selector}{\n` : ''}${$ ? `&${$}{\n` : ''}${renderedStyles}${$ ? '}\n' : ''}${selector ? '}\n' : ''}`;
|
515
|
+
}
|
516
|
+
/**
|
517
|
+
* Compile states to finite CSS with selectors.
|
518
|
+
* State values should contain a string value with CSS style list.
|
519
|
+
* @param {string} selector
|
520
|
+
* @param {StyleStateList|StyleStateMapList} states
|
521
|
+
* @param {string} suffix
|
522
|
+
*/
|
523
|
+
export function applyStates(selector, states, suffix = '') {
|
524
|
+
return states.reduce((css, state) => {
|
525
|
+
if (!state.value)
|
526
|
+
return css;
|
527
|
+
const modifiers = `${(state.mods || []).map(getModSelector).join('')}${(state.notMods || [])
|
528
|
+
.map((mod) => `:not(${getModSelector(mod)})`)
|
529
|
+
.join('')}`;
|
530
|
+
// TODO: replace `replace()` a REAL hotfix
|
531
|
+
return `${css}${selector}${modifiers}${suffix}{\n${state.value.replace(/^&&/, '&')}}\n`;
|
532
|
+
}, '');
|
533
|
+
}
|
534
|
+
export function styleHandlerCacheWrapper(styleHandler, limit = 1000) {
|
535
|
+
const wrappedStyleHandler = cacheWrapper((styleMap) => {
|
536
|
+
return renderStylesToSC(styleHandler(styleMap));
|
537
|
+
}, limit);
|
538
|
+
const wrappedMapHandler = cacheWrapper((styleMap, suffix = '') => {
|
539
|
+
if (styleMap == null || styleMap === false)
|
540
|
+
return null;
|
541
|
+
const stateMapList = styleMapToStyleMapStateList(styleMap);
|
542
|
+
replaceStateValues(stateMapList, wrappedStyleHandler);
|
543
|
+
return applyStates('&', stateMapList, suffix);
|
544
|
+
}, limit);
|
545
|
+
return Object.assign(wrappedMapHandler, {
|
546
|
+
__lookupStyles: styleHandler.__lookupStyles,
|
547
|
+
});
|
548
|
+
}
|
549
|
+
/**
|
550
|
+
* Replace state values with new ones.
|
551
|
+
* For example, if you want to replace initial values with finite CSS code.
|
552
|
+
* @param {StyleStateList|StyleStateMapList} states
|
553
|
+
* @param {Function} replaceFn
|
554
|
+
*/
|
555
|
+
export function replaceStateValues(states, replaceFn) {
|
556
|
+
const cache = new Map();
|
557
|
+
states.forEach((state) => {
|
558
|
+
if (!cache.get(state.value)) {
|
559
|
+
cache.set(state.value, replaceFn(state.value));
|
560
|
+
}
|
561
|
+
state.value = cache.get(state.value);
|
562
|
+
});
|
563
|
+
return states;
|
564
|
+
}
|
565
|
+
/**
|
566
|
+
* Get all presented modes from style state list.
|
567
|
+
* @param {StyleStateList} stateList
|
568
|
+
*/
|
569
|
+
export function getModesFromStyleStateList(stateList) {
|
570
|
+
return stateList.reduce((list, state) => {
|
571
|
+
state.mods.forEach((mod) => {
|
572
|
+
if (!list.includes(mod)) {
|
573
|
+
list.push(mod);
|
574
|
+
}
|
575
|
+
});
|
576
|
+
return list;
|
577
|
+
}, []);
|
578
|
+
}
|
579
|
+
/**
|
580
|
+
* Get all presented modes from style state list map.
|
581
|
+
* @param {StyleStateMapList} stateListMap
|
582
|
+
* @return {string[]}
|
583
|
+
*/
|
584
|
+
export function getModesFromStyleStateListMap(stateListMap) {
|
585
|
+
return Object.keys(stateListMap).reduce((list, style) => {
|
586
|
+
const stateList = stateListMap[style];
|
587
|
+
getModesFromStyleStateList(stateList).forEach((mod) => {
|
588
|
+
if (!list.includes(mod)) {
|
589
|
+
list.push(mod);
|
590
|
+
}
|
591
|
+
});
|
592
|
+
return list;
|
593
|
+
}, []);
|
594
|
+
}
|
595
|
+
/**
|
596
|
+
* Convert style map to the normalized style map state list.
|
597
|
+
* @param styleMap
|
598
|
+
* @param filterKeys
|
599
|
+
*/
|
600
|
+
export function styleMapToStyleMapStateList(styleMap, filterKeys) {
|
601
|
+
const keys = filterKeys || Object.keys(styleMap);
|
602
|
+
if (!keys.length)
|
603
|
+
return [];
|
604
|
+
const stateDataListMap = {};
|
605
|
+
let allModsSet = new Set();
|
606
|
+
keys.forEach((style) => {
|
607
|
+
stateDataListMap[style] = styleStateMapToStyleStateDataList(styleMap[style]);
|
608
|
+
stateDataListMap[style].mods.forEach(allModsSet.add, allModsSet);
|
609
|
+
});
|
610
|
+
const allModsArr = Array.from(allModsSet);
|
611
|
+
const styleStateMapList = [];
|
612
|
+
getModCombinations(allModsArr, true).forEach((combination) => {
|
613
|
+
styleStateMapList.push({
|
614
|
+
mods: combination,
|
615
|
+
notMods: allModsArr.filter((mod) => !combination.includes(mod)),
|
616
|
+
value: keys.reduce((map, key) => {
|
617
|
+
map[key] = stateDataListMap[key].states.find((state) => {
|
618
|
+
return computeState(state.model, (mod) => combination.includes(mod));
|
619
|
+
}).value;
|
620
|
+
return map;
|
621
|
+
}, {}),
|
622
|
+
});
|
623
|
+
});
|
624
|
+
return styleStateMapList;
|
625
|
+
}
|
626
|
+
const STATES_REGEXP = /([&|!^])|([()])|([a-z0-6-]+)|(:[a-z0-6-]+)|(\.[a-z0-6-]+)|(\[[^\]]+])/gi;
|
627
|
+
export const STATE_OPERATORS = {
|
628
|
+
NOT: '!',
|
629
|
+
AND: '&',
|
630
|
+
OR: '|',
|
631
|
+
XOR: '^',
|
632
|
+
};
|
633
|
+
export const STATE_OPERATOR_LIST = ['!', '&', '|', '^'];
|
634
|
+
/**
|
635
|
+
*
|
636
|
+
*/
|
637
|
+
function convertTokensToComputeUnits(tokens) {
|
638
|
+
if (tokens.length === 1) {
|
639
|
+
return tokens[0];
|
640
|
+
}
|
641
|
+
STATE_OPERATOR_LIST.forEach((operator) => {
|
642
|
+
let i;
|
643
|
+
while ((i = tokens.indexOf(operator)) !== -1) {
|
644
|
+
const token = tokens[i];
|
645
|
+
if (token === '!') {
|
646
|
+
if (tokens[i + 1] && tokens[i + 1].length !== 1) {
|
647
|
+
tokens.splice(i, 2, ['!', tokens[i + 1]]);
|
648
|
+
}
|
649
|
+
else {
|
650
|
+
tokens.splice(i, 1);
|
651
|
+
}
|
652
|
+
}
|
653
|
+
else {
|
654
|
+
if (tokens[i - 1] &&
|
655
|
+
tokens[i + 1] &&
|
656
|
+
tokens[i - 1].length !== 1 &&
|
657
|
+
tokens[i + 1].length !== 1) {
|
658
|
+
tokens.splice(i - 1, 3, [token, tokens[i - 1], tokens[i + 1]]);
|
659
|
+
}
|
660
|
+
else {
|
661
|
+
tokens.splice(i, 1);
|
662
|
+
}
|
663
|
+
}
|
664
|
+
}
|
665
|
+
});
|
666
|
+
return tokens.length === 1 ? tokens[0] : tokens;
|
667
|
+
}
|
668
|
+
/**
|
669
|
+
* Parse state notation and return tokens, modifiers and compute model.
|
670
|
+
*/
|
671
|
+
function parseStateNotationInner(notation, value) {
|
672
|
+
const tokens = notation.replace(/,/g, '|').match(STATES_REGEXP);
|
673
|
+
if (!tokens || !tokens.length) {
|
674
|
+
return {
|
675
|
+
model: null,
|
676
|
+
mods: [],
|
677
|
+
tokens,
|
678
|
+
value,
|
679
|
+
};
|
680
|
+
}
|
681
|
+
else if (tokens.length === 1) {
|
682
|
+
return {
|
683
|
+
model: tokens[0],
|
684
|
+
mods: tokens.slice(0),
|
685
|
+
tokens,
|
686
|
+
value,
|
687
|
+
};
|
688
|
+
}
|
689
|
+
const mods = [];
|
690
|
+
let operations = [[]];
|
691
|
+
let list = operations[0];
|
692
|
+
let position = 0;
|
693
|
+
tokens.forEach((token) => {
|
694
|
+
switch (token) {
|
695
|
+
case '(':
|
696
|
+
const operation = [];
|
697
|
+
position++;
|
698
|
+
list = operations[position] = operation;
|
699
|
+
break;
|
700
|
+
case ')':
|
701
|
+
position--;
|
702
|
+
operations[position].push(convertTokensToComputeUnits(list));
|
703
|
+
list = operations[position];
|
704
|
+
break;
|
705
|
+
default:
|
706
|
+
if (token.length > 1) {
|
707
|
+
if (!mods.includes(token)) {
|
708
|
+
mods.push(token);
|
709
|
+
}
|
710
|
+
}
|
711
|
+
list.push(token);
|
712
|
+
}
|
713
|
+
});
|
714
|
+
while (position) {
|
715
|
+
position--;
|
716
|
+
operations[position].push(convertTokensToComputeUnits(list));
|
717
|
+
list = operations[position];
|
718
|
+
}
|
719
|
+
return {
|
720
|
+
tokens,
|
721
|
+
mods,
|
722
|
+
model: convertTokensToComputeUnits(operations[0]),
|
723
|
+
value,
|
724
|
+
};
|
725
|
+
}
|
726
|
+
export const parseStateNotation = cacheWrapper(parseStateNotationInner);
|
727
|
+
/**
|
728
|
+
*
|
729
|
+
* @param {StyleStateMap|string|number|boolean|null|undefined} styleStateMap
|
730
|
+
* @return {{ states: StyleStateDataList, mods: string[] }}
|
731
|
+
*/
|
732
|
+
export function styleStateMapToStyleStateDataList(styleStateMap) {
|
733
|
+
if (typeof styleStateMap !== 'object' || !styleStateMap) {
|
734
|
+
return {
|
735
|
+
states: [
|
736
|
+
{
|
737
|
+
model: null,
|
738
|
+
mods: [],
|
739
|
+
value: styleStateMap,
|
740
|
+
},
|
741
|
+
],
|
742
|
+
mods: [],
|
743
|
+
};
|
744
|
+
}
|
745
|
+
const stateDataList = [];
|
746
|
+
Object.keys(styleStateMap).forEach((stateNotation) => {
|
747
|
+
const state = parseStateNotation(stateNotation, styleStateMap[stateNotation]);
|
748
|
+
stateDataList.push(state);
|
749
|
+
});
|
750
|
+
stateDataList.reverse();
|
751
|
+
let initialState;
|
752
|
+
const allMods = stateDataList.reduce((all, state) => {
|
753
|
+
if (!state.mods.length) {
|
754
|
+
initialState = state;
|
755
|
+
}
|
756
|
+
else {
|
757
|
+
state.mods.forEach((mod) => {
|
758
|
+
if (!all.includes(mod)) {
|
759
|
+
all.push(mod);
|
760
|
+
}
|
761
|
+
});
|
762
|
+
}
|
763
|
+
return all;
|
764
|
+
}, []);
|
765
|
+
if (!initialState) {
|
766
|
+
stateDataList.push({
|
767
|
+
mods: [],
|
768
|
+
notMods: allMods,
|
769
|
+
value: true,
|
770
|
+
});
|
771
|
+
}
|
772
|
+
return { states: stateDataList, mods: allMods };
|
773
|
+
}
|
774
|
+
export const COMPUTE_FUNC_MAP = {
|
775
|
+
'!': (a) => !a,
|
776
|
+
'^': (a, b) => a ^ b,
|
777
|
+
'|': (a, b) => a | b,
|
778
|
+
'&': (a, b) => a & b,
|
779
|
+
};
|
780
|
+
/**
|
781
|
+
* Compute a result based on model and incoming map.
|
782
|
+
*/
|
783
|
+
export function computeState(computeModel, valueMap) {
|
784
|
+
if (!computeModel)
|
785
|
+
return true;
|
786
|
+
if (!Array.isArray(computeModel)) {
|
787
|
+
if (typeof valueMap === 'function') {
|
788
|
+
return !!valueMap(computeModel);
|
789
|
+
}
|
790
|
+
else {
|
791
|
+
return !!valueMap[computeModel];
|
792
|
+
}
|
793
|
+
}
|
794
|
+
const func = COMPUTE_FUNC_MAP[computeModel[0]];
|
795
|
+
if (!func) {
|
796
|
+
console.warn('CubeUIKit: unexpected compute method in the model', computeModel);
|
797
|
+
// return false;
|
798
|
+
}
|
799
|
+
let a = computeModel[1];
|
800
|
+
if (typeof a === 'object') {
|
801
|
+
a = !!computeState(a, valueMap);
|
802
|
+
}
|
803
|
+
else if (typeof valueMap === 'function') {
|
804
|
+
a = !!valueMap(a);
|
805
|
+
}
|
806
|
+
else {
|
807
|
+
a = !!valueMap[a];
|
808
|
+
}
|
809
|
+
if (computeModel.length === 2) {
|
810
|
+
return func(a);
|
811
|
+
}
|
812
|
+
let b = computeModel[2];
|
813
|
+
if (typeof b === 'object') {
|
814
|
+
b = !!computeState(b, valueMap);
|
815
|
+
}
|
816
|
+
else if (typeof valueMap === 'function') {
|
817
|
+
b = !!valueMap(b);
|
818
|
+
}
|
819
|
+
else {
|
820
|
+
b = !!valueMap[b];
|
821
|
+
}
|
822
|
+
return !!func(a, b);
|
823
|
+
}
|
824
|
+
export function cacheWrapper(handler, limit = 1000) {
|
825
|
+
let cache = {};
|
826
|
+
let count = 0;
|
827
|
+
return (firstArg, secondArg) => {
|
828
|
+
const key = typeof firstArg === 'string' && secondArg == null
|
829
|
+
? firstArg
|
830
|
+
: JSON.stringify([firstArg, secondArg]);
|
831
|
+
if (!cache[key]) {
|
832
|
+
if (count > limit) {
|
833
|
+
cache = {};
|
834
|
+
count = 0;
|
835
|
+
}
|
836
|
+
count++;
|
837
|
+
cache[key] =
|
838
|
+
secondArg == null ? handler(firstArg) : handler(firstArg, secondArg);
|
839
|
+
}
|
840
|
+
return cache[key];
|
841
|
+
};
|
842
|
+
}
|
843
|
+
|
844
|
+
|