@semcore/core 16.0.0-prerelease.9 → 16.0.1-prerelease.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -1
- package/README.md +1 -31
- package/lib/{LastInteractionType.cjs → LastInteractionType.js} +4 -6
- package/lib/LastInteractionType.js.map +1 -0
- package/lib/LastInteractionType.mjs +1 -2
- package/lib/LastInteractionType.mjs.map +1 -1
- package/lib/core-types/Component.d.ts +11 -13
- package/lib/core-types/Component.js +88 -0
- package/lib/core-types/Component.js.map +1 -0
- package/lib/core-types/Component.mjs +11 -14
- package/lib/core-types/Component.mjs.map +1 -1
- package/lib/core-types/UnknownProperties.js +2 -0
- package/lib/core-types/UnknownProperties.js.map +1 -0
- package/lib/core-types/UnknownProperties.mjs.map +1 -1
- package/lib/core-types/reshadow.d.js +2 -0
- package/lib/core-types/reshadow.d.js.map +1 -0
- package/lib/core-types/reshadow.d.mjs.map +1 -1
- package/lib/core-types/symbols.js +16 -0
- package/lib/core-types/symbols.js.map +1 -0
- package/lib/core-types/symbols.mjs.map +1 -1
- package/lib/coreFactory.d.ts +4 -4
- package/lib/{coreFactory.cjs → coreFactory.js} +38 -39
- package/lib/coreFactory.js.map +1 -0
- package/lib/coreFactory.mjs +39 -34
- package/lib/coreFactory.mjs.map +1 -1
- package/lib/enhancement/{Children.cjs → Children.js} +10 -11
- package/lib/enhancement/Children.js.map +1 -0
- package/lib/enhancement/Children.mjs +8 -8
- package/lib/enhancement/Children.mjs.map +1 -1
- package/lib/enhancement/Root.d.ts +1 -1
- package/lib/enhancement/{Root.cjs → Root.js} +6 -7
- package/lib/enhancement/Root.js.map +1 -0
- package/lib/enhancement/Root.mjs +2 -6
- package/lib/enhancement/Root.mjs.map +1 -1
- package/lib/enhancement/bindHandler.d.ts +1 -1
- package/lib/enhancement/{bindHandler.cjs → bindHandler.js} +3 -4
- package/lib/enhancement/bindHandler.js.map +1 -0
- package/lib/enhancement/bindHandler.mjs +1 -1
- package/lib/enhancement/bindHandler.mjs.map +1 -1
- package/lib/enhancement/{dataName.cjs → dataName.js} +3 -4
- package/lib/enhancement/dataName.js.map +1 -0
- package/lib/enhancement/dataName.mjs.map +1 -1
- package/lib/enhancement/{enhance.cjs → enhance.js} +2 -3
- package/lib/enhancement/enhance.js.map +1 -0
- package/lib/enhancement/enhance.mjs.map +1 -1
- package/lib/enhancement/{functionDefaultProps.cjs → functionDefaultProps.js} +2 -3
- package/lib/enhancement/functionDefaultProps.js.map +1 -0
- package/lib/enhancement/functionDefaultProps.mjs.map +1 -1
- package/lib/enhancement/hoistProps.d.ts +1 -1
- package/lib/enhancement/{hoistProps.cjs → hoistProps.js} +6 -8
- package/lib/enhancement/hoistProps.js.map +1 -0
- package/lib/enhancement/hoistProps.mjs +2 -2
- package/lib/enhancement/hoistProps.mjs.map +1 -1
- package/lib/enhancement/{i18n.cjs → i18n.js} +3 -4
- package/lib/enhancement/i18n.js.map +1 -0
- package/lib/enhancement/i18n.mjs.map +1 -1
- package/lib/enhancement/{inheritedName.cjs → inheritedName.js} +3 -4
- package/lib/enhancement/inheritedName.js.map +1 -0
- package/lib/enhancement/inheritedName.mjs.map +1 -1
- package/lib/enhancement/{staticChildren.cjs → staticChildren.js} +6 -9
- package/lib/enhancement/staticChildren.js.map +1 -0
- package/lib/enhancement/staticChildren.mjs +1 -1
- package/lib/enhancement/staticChildren.mjs.map +1 -1
- package/lib/enhancement/{style.cjs → style.js} +5 -7
- package/lib/enhancement/style.js.map +1 -0
- package/lib/enhancement/style.mjs +2 -3
- package/lib/enhancement/style.mjs.map +1 -1
- package/lib/enhancement/{uncontrolledProps.cjs → uncontrolledProps.js} +5 -7
- package/lib/enhancement/uncontrolledProps.js.map +1 -0
- package/lib/enhancement/uncontrolledProps.mjs +2 -3
- package/lib/enhancement/uncontrolledProps.mjs.map +1 -1
- package/lib/esm/LastInteractionType.mjs +1 -2
- package/lib/esm/core-types/Component.mjs +11 -14
- package/lib/esm/coreFactory.mjs +39 -34
- package/lib/esm/enhancement/Children.mjs +8 -8
- package/lib/esm/enhancement/Root.mjs +2 -6
- package/lib/esm/enhancement/bindHandler.mjs +1 -1
- package/lib/esm/enhancement/hoistProps.mjs +2 -2
- package/lib/esm/enhancement/staticChildren.mjs +1 -1
- package/lib/esm/enhancement/style.mjs +2 -3
- package/lib/esm/enhancement/uncontrolledProps.mjs +2 -3
- package/lib/esm/index.mjs +3 -2
- package/lib/esm/register.mjs +1 -2
- package/lib/esm/styled/index.mjs +8 -0
- package/lib/esm/styled/reshadow-core.mjs +219 -3
- package/lib/esm/styled/sstyled.mjs +1 -1
- package/lib/esm/utils/assignProps.mjs +10 -0
- package/lib/esm/utils/createHoc.mjs +47 -0
- package/lib/esm/utils/enhances/WithI18n.mjs +41 -15
- package/lib/esm/utils/enhances/i18nEnhance.mjs +91 -0
- package/lib/esm/utils/getDisplayName.mjs +6 -0
- package/lib/esm/utils/logger.mjs +1 -2
- package/lib/esm/utils/ref.mjs +46 -2
- package/lib/index.d.ts +5 -5
- package/lib/{index.cjs → index.js} +5 -5
- package/lib/index.js.map +1 -0
- package/lib/index.mjs +3 -2
- package/lib/index.mjs.map +1 -1
- package/lib/{register.cjs → register.js} +5 -8
- package/lib/register.js.map +1 -0
- package/lib/register.mjs +1 -2
- package/lib/register.mjs.map +1 -1
- package/lib/styled/index.d.ts +1 -2
- package/lib/styled/{index.cjs → index.js} +1 -1
- package/lib/styled/index.js.map +1 -0
- package/lib/styled/index.mjs +8 -6
- package/lib/styled/index.mjs.map +1 -1
- package/lib/styled/{reshadow-core.cjs → reshadow-core.js} +28 -51
- package/lib/styled/reshadow-core.js.map +1 -0
- package/lib/styled/reshadow-core.mjs +219 -3
- package/lib/styled/reshadow-core.mjs.map +1 -1
- package/lib/styled/sstyled.d.ts +2 -2
- package/lib/styled/{sstyled.cjs → sstyled.js} +4 -4
- package/lib/styled/sstyled.js.map +1 -0
- package/lib/styled/sstyled.mjs +1 -1
- package/lib/styled/sstyled.mjs.map +1 -1
- package/lib/theme/dark.json +4 -4
- package/lib/theme/light.json +4 -44
- package/lib/theme/{processor.cjs → processor.js} +62 -64
- package/lib/theme/processor.js.map +1 -0
- package/lib/theme/processor.mjs +52 -53
- package/lib/theme/processor.mjs.map +1 -1
- package/lib/theme/themes/auto.css +228 -6
- package/lib/theme/themes/dark.css +114 -3
- package/lib/theme/themes/dark.d.ts +92 -1
- package/lib/theme/themes/{dark.cjs → dark.js} +95 -5
- package/lib/theme/themes/dark.js.map +1 -0
- package/lib/theme/themes/dark.mjs +93 -2
- package/lib/theme/themes/dark.mjs.map +1 -1
- package/lib/theme/themes/default.css +114 -3
- package/lib/theme/themes/default.d.ts +92 -1
- package/lib/theme/themes/{light.cjs → default.js} +95 -5
- package/lib/theme/themes/default.js.map +1 -0
- package/lib/theme/themes/default.mjs +93 -2
- package/lib/theme/themes/default.mjs.map +1 -1
- package/lib/theme/themes/light.css +114 -3
- package/lib/theme/themes/light.d.ts +92 -1
- package/lib/theme/themes/{default.cjs → light.js} +95 -5
- package/lib/theme/themes/light.js.map +1 -0
- package/lib/theme/themes/light.mjs +93 -2
- package/lib/theme/themes/light.mjs.map +1 -1
- package/lib/theme/utils.d.ts +2 -1
- package/lib/theme/{utils.cjs → utils.js} +37 -33
- package/lib/theme/utils.js.map +1 -0
- package/lib/theme/utils.mjs +31 -23
- package/lib/theme/utils.mjs.map +1 -1
- package/lib/utils/CSSinJS.d.ts +1 -1
- package/lib/utils/{CSSinJS.cjs → CSSinJS.js} +5 -6
- package/lib/utils/CSSinJS.js.map +1 -0
- package/lib/utils/CSSinJS.mjs +2 -2
- package/lib/utils/CSSinJS.mjs.map +1 -1
- package/lib/utils/ScreenReaderOnly.d.ts +1 -1
- package/lib/utils/{ScreenReaderOnly.cjs → ScreenReaderOnly.js} +3 -4
- package/lib/utils/ScreenReaderOnly.js.map +1 -0
- package/lib/utils/ScreenReaderOnly.mjs.map +1 -1
- package/lib/utils/ThemeProvider.d.ts +1 -1
- package/lib/utils/{ThemeProvider.cjs → ThemeProvider.js} +6 -10
- package/lib/utils/ThemeProvider.js.map +1 -0
- package/lib/utils/ThemeProvider.mjs.map +1 -1
- package/lib/utils/addonText.d.ts +1 -1
- package/lib/utils/{addonText.cjs → addonText.js} +2 -2
- package/lib/utils/addonText.js.map +1 -0
- package/lib/utils/addonText.mjs.map +1 -1
- package/lib/utils/addonTextChildren.d.ts +1 -1
- package/lib/utils/{addonTextChildren.cjs → addonTextChildren.js} +4 -5
- package/lib/utils/addonTextChildren.js.map +1 -0
- package/lib/utils/addonTextChildren.mjs +1 -1
- package/lib/utils/addonTextChildren.mjs.map +1 -1
- package/lib/utils/ariaProps.d.ts +1 -1
- package/lib/utils/{ariaProps.cjs → ariaProps.js} +1 -1
- package/lib/utils/ariaProps.js.map +1 -0
- package/lib/utils/ariaProps.mjs.map +1 -1
- package/lib/utils/assignProps.d.ts +1 -1
- package/lib/utils/{assignProps.cjs → assignProps.js} +3 -3
- package/lib/utils/assignProps.js.map +1 -0
- package/lib/utils/assignProps.mjs +10 -0
- package/lib/utils/assignProps.mjs.map +1 -1
- package/lib/utils/{canUseDOM.cjs → canUseDOM.js} +1 -1
- package/lib/utils/canUseDOM.js.map +1 -0
- package/lib/utils/canUseDOM.mjs.map +1 -1
- package/lib/utils/{capitalizeFirstLetter.cjs → capitalizeFirstLetter.js} +1 -1
- package/lib/utils/capitalizeFirstLetter.js.map +1 -0
- package/lib/utils/capitalizeFirstLetter.mjs.map +1 -1
- package/lib/utils/{color.cjs → color.js} +19 -19
- package/lib/utils/color.js.map +1 -0
- package/lib/utils/color.mjs +16 -15
- package/lib/utils/color.mjs.map +1 -1
- package/lib/utils/{compose.cjs → compose.js} +1 -1
- package/lib/utils/compose.js.map +1 -0
- package/lib/utils/compose.mjs.map +1 -1
- package/lib/utils/createHoc.d.ts +1 -1
- package/lib/utils/{createHoc.cjs → createHoc.js} +12 -12
- package/lib/utils/createHoc.js.map +1 -0
- package/lib/utils/createHoc.mjs +24 -23
- package/lib/utils/createHoc.mjs.map +1 -1
- package/lib/utils/{createUUID.cjs → createUUID.js} +1 -1
- package/lib/utils/createUUID.js.map +1 -0
- package/lib/utils/createUUID.mjs.map +1 -1
- package/lib/utils/cssToIntDefault.d.ts +1 -1
- package/lib/utils/{cssToIntDefault.cjs → cssToIntDefault.js} +3 -3
- package/lib/utils/cssToIntDefault.js.map +1 -0
- package/lib/utils/cssToIntDefault.mjs +2 -2
- package/lib/utils/cssToIntDefault.mjs.map +1 -1
- package/lib/utils/enhances/WithAutoFocus.d.ts +3 -3
- package/lib/utils/enhances/{WithAutoFocus.cjs → WithAutoFocus.js} +13 -13
- package/lib/utils/enhances/WithAutoFocus.js.map +1 -0
- package/lib/utils/enhances/WithAutoFocus.mjs +11 -9
- package/lib/utils/enhances/WithAutoFocus.mjs.map +1 -1
- package/lib/utils/enhances/WithCSS.d.ts +4 -4
- package/lib/utils/enhances/{WithCSS.cjs → WithCSS.js} +16 -21
- package/lib/utils/enhances/WithCSS.js.map +1 -0
- package/lib/utils/enhances/WithCSS.mjs +8 -8
- package/lib/utils/enhances/WithCSS.mjs.map +1 -1
- package/lib/utils/enhances/WithI18n.d.ts +3 -3
- package/lib/utils/enhances/{WithI18n.cjs → WithI18n.js} +20 -23
- package/lib/utils/enhances/WithI18n.js.map +1 -0
- package/lib/utils/enhances/WithI18n.mjs +41 -15
- package/lib/utils/enhances/WithI18n.mjs.map +1 -1
- package/lib/utils/enhances/WithKeyboardFocus.d.ts +4 -3
- package/lib/utils/enhances/{WithKeyboardFocus.cjs → WithKeyboardFocus.js} +29 -25
- package/lib/utils/enhances/WithKeyboardFocus.js.map +1 -0
- package/lib/utils/enhances/WithKeyboardFocus.mjs +26 -19
- package/lib/utils/enhances/WithKeyboardFocus.mjs.map +1 -1
- package/lib/utils/enhances/WithRef.d.ts +1 -1
- package/lib/utils/enhances/{WithRef.cjs → WithRef.js} +4 -5
- package/lib/utils/enhances/WithRef.js.map +1 -0
- package/lib/utils/enhances/WithRef.mjs +1 -1
- package/lib/utils/enhances/WithRef.mjs.map +1 -1
- package/lib/utils/enhances/{a11yEnhance.cjs → a11yEnhance.js} +10 -11
- package/lib/utils/enhances/a11yEnhance.js.map +1 -0
- package/lib/utils/enhances/a11yEnhance.mjs +7 -7
- package/lib/utils/enhances/a11yEnhance.mjs.map +1 -1
- package/lib/utils/enhances/animatedSizeEnhance.d.ts +1 -1
- package/lib/utils/enhances/{animatedSizeEnhance.cjs → animatedSizeEnhance.js} +13 -11
- package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -0
- package/lib/utils/enhances/animatedSizeEnhance.mjs +11 -7
- package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -1
- package/lib/utils/enhances/autoFocusEnhance.d.ts +1 -1
- package/lib/utils/enhances/{autoFocusEnhance.cjs → autoFocusEnhance.js} +3 -4
- package/lib/utils/enhances/autoFocusEnhance.js.map +1 -0
- package/lib/utils/enhances/autoFocusEnhance.mjs.map +1 -1
- package/lib/utils/enhances/{contextEnhance.cjs → contextEnhance.js} +3 -4
- package/lib/utils/enhances/contextEnhance.js.map +1 -0
- package/lib/utils/enhances/contextEnhance.mjs.map +1 -1
- package/lib/utils/enhances/i18nEnhance.d.ts +2 -2
- package/lib/utils/enhances/{i18nEnhance.cjs → i18nEnhance.js} +11 -11
- package/lib/utils/enhances/i18nEnhance.js.map +1 -0
- package/lib/utils/enhances/i18nEnhance.mjs +36 -37
- package/lib/utils/enhances/i18nEnhance.mjs.map +1 -1
- package/lib/utils/enhances/keyboardFocusEnhance.d.ts +1 -1
- package/lib/utils/enhances/{keyboardFocusEnhance.cjs → keyboardFocusEnhance.js} +8 -8
- package/lib/utils/enhances/keyboardFocusEnhance.js.map +1 -0
- package/lib/utils/enhances/keyboardFocusEnhance.mjs +2 -2
- package/lib/utils/enhances/keyboardFocusEnhance.mjs.map +1 -1
- package/lib/utils/enhances/{resolveColorEnhance.cjs → resolveColorEnhance.js} +5 -6
- package/lib/utils/enhances/resolveColorEnhance.js.map +1 -0
- package/lib/utils/enhances/resolveColorEnhance.mjs +2 -2
- package/lib/utils/enhances/resolveColorEnhance.mjs.map +1 -1
- package/lib/utils/{eventEmitter.cjs → eventEmitter.js} +3 -4
- package/lib/utils/eventEmitter.js.map +1 -0
- package/lib/utils/eventEmitter.mjs.map +1 -1
- package/lib/utils/findComponent.d.ts +2 -2
- package/lib/utils/{findComponent.cjs → findComponent.js} +15 -16
- package/lib/utils/findComponent.js.map +1 -0
- package/lib/utils/findComponent.mjs +12 -12
- package/lib/utils/findComponent.mjs.map +1 -1
- package/lib/utils/{fire.cjs → fire.js} +2 -2
- package/lib/utils/fire.js.map +1 -0
- package/lib/utils/fire.mjs.map +1 -1
- package/lib/utils/focus-lock/{focusBorders.cjs → focusBorders.js} +13 -17
- package/lib/utils/focus-lock/focusBorders.js.map +1 -0
- package/lib/utils/focus-lock/focusBorders.mjs +8 -8
- package/lib/utils/focus-lock/focusBorders.mjs.map +1 -1
- package/lib/utils/focus-lock/{getFocusableIn.cjs → getFocusableIn.js} +3 -4
- package/lib/utils/focus-lock/getFocusableIn.js.map +1 -0
- package/lib/utils/focus-lock/getFocusableIn.mjs +1 -1
- package/lib/utils/focus-lock/getFocusableIn.mjs.map +1 -1
- package/lib/utils/focus-lock/{isFocusInside.cjs → isFocusInside.js} +2 -3
- package/lib/utils/focus-lock/isFocusInside.js.map +1 -0
- package/lib/utils/focus-lock/isFocusInside.mjs.map +1 -1
- package/lib/utils/focus-lock/{isFocusable.cjs → isFocusable.js} +3 -4
- package/lib/utils/focus-lock/isFocusable.js.map +1 -0
- package/lib/utils/focus-lock/isFocusable.mjs.map +1 -1
- package/lib/utils/focus-lock/{setFocus.cjs → setFocus.js} +5 -6
- package/lib/utils/focus-lock/setFocus.js.map +1 -0
- package/lib/utils/focus-lock/setFocus.mjs +2 -2
- package/lib/utils/focus-lock/setFocus.mjs.map +1 -1
- package/lib/utils/{getAccessibleName.cjs → getAccessibleName.js} +2 -2
- package/lib/utils/getAccessibleName.js.map +1 -0
- package/lib/utils/getAccessibleName.mjs.map +1 -1
- package/lib/utils/getDisplayName.d.ts +1 -1
- package/lib/utils/{getDisplayName.cjs → getDisplayName.js} +1 -1
- package/lib/utils/getDisplayName.js.map +1 -0
- package/lib/utils/getDisplayName.mjs +5 -3
- package/lib/utils/getDisplayName.mjs.map +1 -1
- package/lib/utils/{getEventTarget.cjs → getEventTarget.js} +3 -4
- package/lib/utils/getEventTarget.js.map +1 -0
- package/lib/utils/getEventTarget.mjs.map +1 -1
- package/lib/utils/{getOriginChildren.cjs → getOriginChildren.js} +4 -5
- package/lib/utils/getOriginChildren.js.map +1 -0
- package/lib/utils/getOriginChildren.mjs +1 -1
- package/lib/utils/getOriginChildren.mjs.map +1 -1
- package/lib/utils/{getRandomInt.cjs → getRandomInt.js} +1 -1
- package/lib/utils/getRandomInt.js.map +1 -0
- package/lib/utils/getRandomInt.mjs.map +1 -1
- package/lib/utils/{getValue.cjs → getValue.js} +2 -4
- package/lib/utils/getValue.js.map +1 -0
- package/lib/utils/getValue.mjs +1 -3
- package/lib/utils/getValue.mjs.map +1 -1
- package/lib/utils/{hasLabels.cjs → hasLabels.js} +6 -7
- package/lib/utils/hasLabels.js.map +1 -0
- package/lib/utils/hasLabels.mjs +3 -3
- package/lib/utils/hasLabels.mjs.map +1 -1
- package/lib/utils/{hasParent.cjs → hasParent.js} +3 -4
- package/lib/utils/hasParent.js.map +1 -0
- package/lib/utils/hasParent.mjs +3 -2
- package/lib/utils/hasParent.mjs.map +1 -1
- package/lib/utils/if.d.ts +2 -2
- package/lib/utils/{if.cjs → if.js} +2 -3
- package/lib/utils/if.js.map +1 -0
- package/lib/utils/if.mjs.map +1 -1
- package/lib/utils/ifChildren.d.ts +1 -1
- package/lib/utils/{ifChildren.cjs → ifChildren.js} +2 -3
- package/lib/utils/ifChildren.js.map +1 -0
- package/lib/utils/ifChildren.mjs.map +1 -1
- package/lib/utils/{injectStyle.cjs → injectStyle.js} +4 -6
- package/lib/utils/injectStyle.js.map +1 -0
- package/lib/utils/injectStyle.mjs +1 -2
- package/lib/utils/injectStyle.mjs.map +1 -1
- package/lib/utils/{inputProps.cjs → inputProps.js} +2 -3
- package/lib/utils/inputProps.js.map +1 -0
- package/lib/utils/inputProps.mjs.map +1 -1
- package/lib/utils/isInteractiveElement.d.ts +1 -0
- package/lib/utils/isInteractiveElement.js +34 -0
- package/lib/utils/isInteractiveElement.js.map +1 -0
- package/lib/utils/isInteractiveElement.mjs +28 -0
- package/lib/utils/isInteractiveElement.mjs.map +1 -0
- package/lib/utils/{isNode.cjs → isNode.js} +2 -2
- package/lib/utils/isNode.js.map +1 -0
- package/lib/utils/isNode.mjs.map +1 -1
- package/lib/utils/{isPromise.cjs → isPromise.js} +1 -1
- package/lib/utils/isPromise.js.map +1 -0
- package/lib/utils/isPromise.mjs.map +1 -1
- package/lib/utils/{isRetina.cjs → isRetina.js} +1 -1
- package/lib/utils/isRetina.js.map +1 -0
- package/lib/utils/isRetina.mjs.map +1 -1
- package/lib/utils/{logger.cjs → logger.js} +5 -8
- package/lib/utils/logger.js.map +1 -0
- package/lib/utils/logger.mjs +1 -2
- package/lib/utils/logger.mjs.map +1 -1
- package/lib/utils/{numericChecker.cjs → numericChecker.js} +1 -1
- package/lib/utils/numericChecker.js.map +1 -0
- package/lib/utils/numericChecker.mjs.map +1 -1
- package/lib/utils/{ownerDocument.cjs → ownerDocument.js} +1 -1
- package/lib/utils/ownerDocument.js.map +1 -0
- package/lib/utils/ownerDocument.mjs.map +1 -1
- package/lib/utils/{pick.cjs → pick.js} +1 -1
- package/lib/utils/pick.js.map +1 -0
- package/lib/utils/pick.mjs.map +1 -1
- package/lib/utils/propsForElement.d.ts +1 -1
- package/lib/utils/{propsForElement.cjs → propsForElement.js} +3 -4
- package/lib/utils/propsForElement.js.map +1 -0
- package/lib/utils/propsForElement.mjs.map +1 -1
- package/lib/utils/{rafTrottle.cjs → rafTrottle.js} +2 -3
- package/lib/utils/rafTrottle.js.map +1 -0
- package/lib/utils/rafTrottle.mjs.map +1 -1
- package/lib/utils/reactToText.d.ts +1 -1
- package/lib/utils/{reactToText.cjs → reactToText.js} +2 -3
- package/lib/utils/reactToText.js.map +1 -0
- package/lib/utils/reactToText.mjs.map +1 -1
- package/lib/utils/ref.d.ts +4 -2
- package/lib/utils/{ref.cjs → ref.js} +4 -3
- package/lib/utils/ref.js.map +1 -0
- package/lib/utils/ref.mjs +46 -2
- package/lib/utils/ref.mjs.map +1 -1
- package/lib/utils/{setRef.cjs → setRef.js} +2 -3
- package/lib/utils/setRef.js.map +1 -0
- package/lib/utils/setRef.mjs.map +1 -1
- package/lib/utils/{syncScroll.cjs → syncScroll.js} +3 -3
- package/lib/utils/syncScroll.js.map +1 -0
- package/lib/utils/syncScroll.mjs +1 -1
- package/lib/utils/syncScroll.mjs.map +1 -1
- package/lib/utils/uncontroll.d.ts +1 -1
- package/lib/utils/{uncontroll.cjs → uncontroll.js} +2 -2
- package/lib/utils/uncontroll.js.map +1 -0
- package/lib/utils/uncontroll.mjs.map +1 -1
- package/lib/utils/uniqueID.d.ts +1 -1
- package/lib/utils/{uniqueID.cjs → uniqueID.js} +6 -6
- package/lib/utils/uniqueID.js.map +1 -0
- package/lib/utils/uniqueID.mjs +3 -0
- package/lib/utils/uniqueID.mjs.map +1 -1
- package/lib/utils/use/{useColorResolver.cjs → useColorResolver.js} +8 -107
- package/lib/utils/use/useColorResolver.js.map +1 -0
- package/lib/utils/use/useColorResolver.mjs +5 -103
- package/lib/utils/use/useColorResolver.mjs.map +1 -1
- package/lib/utils/use/useCss.d.ts +1 -1
- package/lib/utils/use/{useCss.cjs → useCss.js} +3 -4
- package/lib/utils/use/useCss.js.map +1 -0
- package/lib/utils/use/useCss.mjs.map +1 -1
- package/lib/utils/use/{useEnhancedEffect.cjs → useEnhancedEffect.js} +3 -4
- package/lib/utils/use/useEnhancedEffect.js.map +1 -0
- package/lib/utils/use/useEnhancedEffect.mjs.map +1 -1
- package/lib/utils/use/{useEventCallback.cjs → useEventCallback.js} +2 -2
- package/lib/utils/use/useEventCallback.js.map +1 -0
- package/lib/utils/use/useEventCallback.mjs.map +1 -1
- package/lib/utils/use/{useEventListener.cjs → useEventListener.js} +4 -5
- package/lib/utils/use/useEventListener.js.map +1 -0
- package/lib/utils/use/useEventListener.mjs +1 -1
- package/lib/utils/use/useEventListener.mjs.map +1 -1
- package/lib/utils/use/useFocusLock.d.ts +1 -1
- package/lib/utils/use/{useFocusLock.cjs → useFocusLock.js} +9 -12
- package/lib/utils/use/useFocusLock.js.map +1 -0
- package/lib/utils/use/useFocusLock.mjs +4 -4
- package/lib/utils/use/useFocusLock.mjs.map +1 -1
- package/lib/utils/use/{usePreventScroll.cjs → usePreventScroll.js} +3 -3
- package/lib/utils/use/usePreventScroll.js.map +1 -0
- package/lib/utils/use/usePreventScroll.mjs +1 -1
- package/lib/utils/use/usePreventScroll.mjs.map +1 -1
- package/lib/utils/useCssVariable.d.ts +2 -2
- package/lib/utils/{useCssVariable.cjs → useCssVariable.js} +4 -6
- package/lib/utils/useCssVariable.js.map +1 -0
- package/lib/utils/useCssVariable.mjs.map +1 -1
- package/lib/utils/{zIndexStacking.cjs → zIndexStacking.js} +7 -10
- package/lib/utils/zIndexStacking.js.map +1 -0
- package/lib/utils/zIndexStacking.mjs +2 -2
- package/lib/utils/zIndexStacking.mjs.map +1 -1
- package/package.json +45 -23
- package/vite.config.ts +1 -1
- package/lib/LastInteractionType.cjs.map +0 -1
- package/lib/core-types/Component.cjs +0 -59
- package/lib/core-types/Component.cjs.map +0 -1
- package/lib/core-types/UnknownProperties.cjs +0 -2
- package/lib/core-types/UnknownProperties.cjs.map +0 -1
- package/lib/core-types/reshadow.d.cjs +0 -2
- package/lib/core-types/reshadow.d.cjs.map +0 -1
- package/lib/core-types/symbols.cjs +0 -25
- package/lib/core-types/symbols.cjs.map +0 -1
- package/lib/coreFactory.cjs.map +0 -1
- package/lib/enhancement/Children.cjs.map +0 -1
- package/lib/enhancement/Root.cjs.map +0 -1
- package/lib/enhancement/bindHandler.cjs.map +0 -1
- package/lib/enhancement/dataName.cjs.map +0 -1
- package/lib/enhancement/enhance.cjs.map +0 -1
- package/lib/enhancement/functionDefaultProps.cjs.map +0 -1
- package/lib/enhancement/hoistProps.cjs.map +0 -1
- package/lib/enhancement/i18n.cjs.map +0 -1
- package/lib/enhancement/inheritedName.cjs.map +0 -1
- package/lib/enhancement/staticChildren.cjs.map +0 -1
- package/lib/enhancement/style.cjs.map +0 -1
- package/lib/enhancement/uncontrolledProps.cjs.map +0 -1
- package/lib/index.cjs.map +0 -1
- package/lib/register.cjs.map +0 -1
- package/lib/styled/index.cjs.map +0 -1
- package/lib/styled/reshadow-core.cjs.map +0 -1
- package/lib/styled/sstyled.cjs.map +0 -1
- package/lib/theme/processor.cjs.map +0 -1
- package/lib/theme/themes/dark.cjs.map +0 -1
- package/lib/theme/themes/default.cjs.map +0 -1
- package/lib/theme/themes/light.cjs.map +0 -1
- package/lib/theme/utils.cjs.map +0 -1
- package/lib/utils/CSSinJS.cjs.map +0 -1
- package/lib/utils/ScreenReaderOnly.cjs.map +0 -1
- package/lib/utils/ThemeProvider.cjs.map +0 -1
- package/lib/utils/addonText.cjs.map +0 -1
- package/lib/utils/addonTextChildren.cjs.map +0 -1
- package/lib/utils/ariaProps.cjs.map +0 -1
- package/lib/utils/assignProps.cjs.map +0 -1
- package/lib/utils/canUseDOM.cjs.map +0 -1
- package/lib/utils/capitalizeFirstLetter.cjs.map +0 -1
- package/lib/utils/color.cjs.map +0 -1
- package/lib/utils/compose.cjs.map +0 -1
- package/lib/utils/createHoc.cjs.map +0 -1
- package/lib/utils/createUUID.cjs.map +0 -1
- package/lib/utils/cssToIntDefault.cjs.map +0 -1
- package/lib/utils/enhances/WithAutoFocus.cjs.map +0 -1
- package/lib/utils/enhances/WithCSS.cjs.map +0 -1
- package/lib/utils/enhances/WithI18n.cjs.map +0 -1
- package/lib/utils/enhances/WithKeyboardFocus.cjs.map +0 -1
- package/lib/utils/enhances/WithRef.cjs.map +0 -1
- package/lib/utils/enhances/a11yEnhance.cjs.map +0 -1
- package/lib/utils/enhances/animatedSizeEnhance.cjs.map +0 -1
- package/lib/utils/enhances/autoFocusEnhance.cjs.map +0 -1
- package/lib/utils/enhances/contextEnhance.cjs.map +0 -1
- package/lib/utils/enhances/i18nEnhance.cjs.map +0 -1
- package/lib/utils/enhances/keyboardFocusEnhance.cjs.map +0 -1
- package/lib/utils/enhances/resolveColorEnhance.cjs.map +0 -1
- package/lib/utils/eventEmitter.cjs.map +0 -1
- package/lib/utils/findComponent.cjs.map +0 -1
- package/lib/utils/fire.cjs.map +0 -1
- package/lib/utils/focus-lock/focusBorders.cjs.map +0 -1
- package/lib/utils/focus-lock/getFocusableIn.cjs.map +0 -1
- package/lib/utils/focus-lock/isFocusInside.cjs.map +0 -1
- package/lib/utils/focus-lock/isFocusable.cjs.map +0 -1
- package/lib/utils/focus-lock/setFocus.cjs.map +0 -1
- package/lib/utils/getAccessibleName.cjs.map +0 -1
- package/lib/utils/getDisplayName.cjs.map +0 -1
- package/lib/utils/getEventTarget.cjs.map +0 -1
- package/lib/utils/getOriginChildren.cjs.map +0 -1
- package/lib/utils/getRandomInt.cjs.map +0 -1
- package/lib/utils/getValue.cjs.map +0 -1
- package/lib/utils/hasLabels.cjs.map +0 -1
- package/lib/utils/hasParent.cjs.map +0 -1
- package/lib/utils/if.cjs.map +0 -1
- package/lib/utils/ifChildren.cjs.map +0 -1
- package/lib/utils/injectStyle.cjs.map +0 -1
- package/lib/utils/inputProps.cjs.map +0 -1
- package/lib/utils/isNode.cjs.map +0 -1
- package/lib/utils/isPromise.cjs.map +0 -1
- package/lib/utils/isRetina.cjs.map +0 -1
- package/lib/utils/logger.cjs.map +0 -1
- package/lib/utils/numericChecker.cjs.map +0 -1
- package/lib/utils/ownerDocument.cjs.map +0 -1
- package/lib/utils/pick.cjs.map +0 -1
- package/lib/utils/propsForElement.cjs.map +0 -1
- package/lib/utils/rafTrottle.cjs.map +0 -1
- package/lib/utils/reactToText.cjs.map +0 -1
- package/lib/utils/ref.cjs.map +0 -1
- package/lib/utils/setRef.cjs.map +0 -1
- package/lib/utils/syncScroll.cjs.map +0 -1
- package/lib/utils/uncontroll.cjs.map +0 -1
- package/lib/utils/uniqueID.cjs.map +0 -1
- package/lib/utils/use/useColorResolver.cjs.map +0 -1
- package/lib/utils/use/useCss.cjs.map +0 -1
- package/lib/utils/use/useEnhancedEffect.cjs.map +0 -1
- package/lib/utils/use/useEventCallback.cjs.map +0 -1
- package/lib/utils/use/useEventListener.cjs.map +0 -1
- package/lib/utils/use/useFocusLock.cjs.map +0 -1
- package/lib/utils/use/usePreventScroll.cjs.map +0 -1
- package/lib/utils/useCssVariable.cjs.map +0 -1
- package/lib/utils/zIndexStacking.cjs.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
@@ -12,20 +12,22 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
|
12
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
13
|
var _colorjs = _interopRequireDefault(require("colorjs.io"));
|
|
14
14
|
var Color = _colorjs["default"];
|
|
15
|
-
var processTokens = function processTokens(base, tokens, prefix) {
|
|
15
|
+
var processTokens = exports.processTokens = function processTokens(base, tokens, prefix) {
|
|
16
16
|
var values = {};
|
|
17
|
+
var basicTokens = new Set();
|
|
17
18
|
var modifications = {};
|
|
18
19
|
var types = {};
|
|
19
20
|
var descriptions = {};
|
|
20
21
|
var mixins = [];
|
|
21
|
-
var
|
|
22
|
+
var _traverse = function traverse(node) {
|
|
22
23
|
var pathParts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
24
|
+
var isBasic = arguments.length > 2 ? arguments[2] : undefined;
|
|
23
25
|
for (var key in node) {
|
|
24
26
|
if (key === 'type') continue;
|
|
25
27
|
if (key === 'value') continue;
|
|
26
28
|
if (key === 'description') continue;
|
|
27
29
|
if (key === '$extensions') continue;
|
|
28
|
-
|
|
30
|
+
_traverse(node[key], [].concat((0, _toConsumableArray2["default"])(pathParts), [key]), isBasic);
|
|
29
31
|
}
|
|
30
32
|
if ('type' in node && typeof node.type === 'string') {
|
|
31
33
|
var path = pathParts.join('-');
|
|
@@ -38,6 +40,9 @@ var processTokens = function processTokens(base, tokens, prefix) {
|
|
|
38
40
|
throw new Error("Duplicated design token \"".concat(path, "\""));
|
|
39
41
|
}
|
|
40
42
|
values[path] = node.value;
|
|
43
|
+
if (isBasic) {
|
|
44
|
+
basicTokens.add(path);
|
|
45
|
+
}
|
|
41
46
|
if (typeof node.description === 'string') descriptions[path] = node.description;
|
|
42
47
|
if (node.$extensions) {
|
|
43
48
|
for (var extension in node.$extensions) {
|
|
@@ -52,31 +57,32 @@ var processTokens = function processTokens(base, tokens, prefix) {
|
|
|
52
57
|
}
|
|
53
58
|
}
|
|
54
59
|
};
|
|
55
|
-
|
|
56
|
-
|
|
60
|
+
_traverse(base, [], true);
|
|
61
|
+
_traverse(tokens);
|
|
62
|
+
var _resolveColor = function resolveColor(color) {
|
|
57
63
|
if (color.includes('linear-gradient')) {
|
|
58
64
|
return replaceColors(color);
|
|
59
65
|
}
|
|
60
66
|
if (color.startsWith('rgba(') && color.endsWith(')')) {
|
|
61
67
|
var lastComa = color.lastIndexOf(',');
|
|
62
|
-
var alpha = parseFloat(color.substring(lastComa + 1, color.length - 1));
|
|
68
|
+
var alpha = Number.parseFloat(color.substring(lastComa + 1, color.length - 1));
|
|
63
69
|
if (Number.isNaN(alpha)) {
|
|
64
70
|
throw new Error("Unable to parse rgba of ".concat(color));
|
|
65
71
|
}
|
|
66
72
|
var resolvedColor = color.substring('rgba('.length, lastComa);
|
|
67
|
-
if (resolvedColor.startsWith('{')) resolvedColor =
|
|
68
|
-
if (resolvedColor.startsWith('$')) resolvedColor =
|
|
73
|
+
if (resolvedColor.startsWith('{')) resolvedColor = _resolveColor(resolvedColor);
|
|
74
|
+
if (resolvedColor.startsWith('$')) resolvedColor = _resolveColor(resolvedColor);
|
|
69
75
|
if (resolvedColor.startsWith('#')) {
|
|
70
76
|
if (resolvedColor.length === 1 + 3) {
|
|
71
77
|
resolvedColor = [resolvedColor[1], resolvedColor[2], resolvedColor[3]].map(function (hex) {
|
|
72
|
-
return parseInt(hex, 16);
|
|
78
|
+
return Number.parseInt(hex, 16);
|
|
73
79
|
}).join(', ');
|
|
74
80
|
} else if (resolvedColor.length === 1 + 6) {
|
|
75
81
|
resolvedColor = [resolvedColor.substring(1, 3), resolvedColor.substring(3, 5), resolvedColor.substring(5, 7)].map(function (hex) {
|
|
76
|
-
return parseInt(hex, 16);
|
|
82
|
+
return Number.parseInt(hex, 16);
|
|
77
83
|
}).join(', ');
|
|
78
84
|
} else {
|
|
79
|
-
throw new Error("Unable to convert hex ".concat(
|
|
85
|
+
throw new Error("Unable to convert hex ".concat(_resolveColor, " to rgb list of colors (processing ").concat(color, ")"));
|
|
80
86
|
}
|
|
81
87
|
}
|
|
82
88
|
if (!resolvedColor || resolvedColor.split(',').length !== 3) {
|
|
@@ -85,15 +91,15 @@ var processTokens = function processTokens(base, tokens, prefix) {
|
|
|
85
91
|
return "rgba(".concat(resolvedColor, ", ").concat(alpha, ")");
|
|
86
92
|
}
|
|
87
93
|
if (color.split(', ').length === 2) {
|
|
88
|
-
var baseColor =
|
|
94
|
+
var baseColor = _resolveColor(color.split(', ')[0]);
|
|
89
95
|
var _map = (baseColor.length === 4 ? [baseColor[1], baseColor[2], baseColor[3]] : [baseColor.substring(1, 3), baseColor.substring(3, 5), baseColor.substring(5, 7)]).map(function (chunk) {
|
|
90
|
-
return parseInt(chunk, 16);
|
|
96
|
+
return Number.parseInt(chunk, 16);
|
|
91
97
|
}),
|
|
92
98
|
_map2 = (0, _slicedToArray2["default"])(_map, 3),
|
|
93
99
|
r = _map2[0],
|
|
94
100
|
g = _map2[1],
|
|
95
101
|
b = _map2[2];
|
|
96
|
-
var a = parseFloat(color.split(', ')[1]);
|
|
102
|
+
var a = Number.parseFloat(color.split(', ')[1]);
|
|
97
103
|
return "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(a, ")");
|
|
98
104
|
}
|
|
99
105
|
if (color.startsWith('{') && color.split('.').length > 0 && color.endsWith('}')) {
|
|
@@ -119,17 +125,17 @@ var processTokens = function processTokens(base, tokens, prefix) {
|
|
|
119
125
|
}
|
|
120
126
|
throw new Error("Unable to process color ".concat(color));
|
|
121
127
|
};
|
|
122
|
-
var
|
|
128
|
+
var _resolveToken = function resolveToken(token) {
|
|
123
129
|
if (token.includes('*')) {
|
|
124
130
|
var _token$split = token.split('*'),
|
|
125
131
|
_token$split2 = (0, _slicedToArray2["default"])(_token$split, 2),
|
|
126
132
|
value = _token$split2[0],
|
|
127
133
|
factor = _token$split2[1];
|
|
128
|
-
var resolvedValue =
|
|
134
|
+
var resolvedValue = _resolveToken(value);
|
|
129
135
|
if (!resolvedValue.endsWith('px')) {
|
|
130
136
|
throw new Error("Unsupported expression ".concat(token));
|
|
131
137
|
}
|
|
132
|
-
return "".concat(parseFloat(resolvedValue) * parseFloat(factor), "px");
|
|
138
|
+
return "".concat(Number.parseFloat(resolvedValue) * Number.parseFloat(factor), "px");
|
|
133
139
|
} else if (token.includes('{') && token.includes('}')) {
|
|
134
140
|
var reference = token.substring(token.indexOf('{') + 1, token.indexOf('}')).replace(/\./g, '-');
|
|
135
141
|
var resolvedToken = token.substring(0, token.indexOf('{')) + values[reference] + token.substring(token.indexOf('}') + 1);
|
|
@@ -147,7 +153,7 @@ var processTokens = function processTokens(base, tokens, prefix) {
|
|
|
147
153
|
if (str.substring(i, i + 'rgba('.length) === 'rgba(') {
|
|
148
154
|
var start = i;
|
|
149
155
|
while (str[i] !== undefined && str[i] !== ')') i++;
|
|
150
|
-
result +=
|
|
156
|
+
result += _resolveColor(str.substring(start, i + 1));
|
|
151
157
|
} else {
|
|
152
158
|
result += str[i];
|
|
153
159
|
}
|
|
@@ -158,11 +164,11 @@ var processTokens = function processTokens(base, tokens, prefix) {
|
|
|
158
164
|
for (var token in values) {
|
|
159
165
|
var _modifications$token;
|
|
160
166
|
if (types[token] === 'color') {
|
|
161
|
-
values[token] =
|
|
167
|
+
values[token] = _resolveColor(values[token]);
|
|
162
168
|
} else if (types[token] === 'boxShadow') {
|
|
163
|
-
values[token] =
|
|
169
|
+
values[token] = _resolveToken(values[token].split('; ').map(replaceColors).join(', '));
|
|
164
170
|
} else if (types[token] === 'sizing' || types[token] === 'spacing' || types[token] === 'borderRadius' || types[token] === 'other') {
|
|
165
|
-
values[token] =
|
|
171
|
+
values[token] = _resolveToken(values[token]);
|
|
166
172
|
}
|
|
167
173
|
var _iterator = (0, _createForOfIteratorHelper2["default"])((_modifications$token = modifications[token]) !== null && _modifications$token !== void 0 ? _modifications$token : []),
|
|
168
174
|
_step;
|
|
@@ -204,8 +210,9 @@ var processTokens = function processTokens(base, tokens, prefix) {
|
|
|
204
210
|
}
|
|
205
211
|
var processedTokens = [];
|
|
206
212
|
for (var _token in values) {
|
|
213
|
+
var isBase = basicTokens.has(_token);
|
|
207
214
|
processedTokens.push({
|
|
208
|
-
name: "--".concat(prefix, "-").concat(_token),
|
|
215
|
+
name: isBase ? "--".concat(_token) : "--".concat(prefix, "-").concat(_token),
|
|
209
216
|
description: descriptions[_token],
|
|
210
217
|
value: values[_token]
|
|
211
218
|
});
|
|
@@ -215,11 +222,11 @@ var processTokens = function processTokens(base, tokens, prefix) {
|
|
|
215
222
|
values: values,
|
|
216
223
|
types: types,
|
|
217
224
|
rawValues: rawValues,
|
|
218
|
-
descriptions: descriptions
|
|
225
|
+
descriptions: descriptions,
|
|
226
|
+
basicTokens: basicTokens
|
|
219
227
|
};
|
|
220
228
|
};
|
|
221
|
-
exports.
|
|
222
|
-
var tokensToCss = function tokensToCss(tokens) {
|
|
229
|
+
var tokensToCss = exports.tokensToCss = function tokensToCss(tokens) {
|
|
223
230
|
var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ':root';
|
|
224
231
|
var cssLines = [];
|
|
225
232
|
cssLines.push("".concat(selector, " {"));
|
|
@@ -239,8 +246,7 @@ var tokensToCss = function tokensToCss(tokens) {
|
|
|
239
246
|
cssLines.push('}');
|
|
240
247
|
return cssLines.join('\n');
|
|
241
248
|
};
|
|
242
|
-
exports.
|
|
243
|
-
var tokensToJson = function tokensToJson(tokens) {
|
|
249
|
+
var tokensToJson = exports.tokensToJson = function tokensToJson(tokens) {
|
|
244
250
|
var themeFile = {};
|
|
245
251
|
var _iterator3 = (0, _createForOfIteratorHelper2["default"])(tokens),
|
|
246
252
|
_step3;
|
|
@@ -256,8 +262,7 @@ var tokensToJson = function tokensToJson(tokens) {
|
|
|
256
262
|
}
|
|
257
263
|
return JSON.stringify(themeFile, null, 2) + '\n';
|
|
258
264
|
};
|
|
259
|
-
exports.
|
|
260
|
-
var tokensToJs = function tokensToJs(tokens) {
|
|
265
|
+
var tokensToJs = exports.tokensToJs = function tokensToJs(tokens) {
|
|
261
266
|
var jsLines = [];
|
|
262
267
|
jsLines.push('export default {');
|
|
263
268
|
var _iterator4 = (0, _createForOfIteratorHelper2["default"])(tokens),
|
|
@@ -272,10 +277,9 @@ var tokensToJs = function tokensToJs(tokens) {
|
|
|
272
277
|
} finally {
|
|
273
278
|
_iterator4.f();
|
|
274
279
|
}
|
|
275
|
-
jsLines.push('}
|
|
280
|
+
jsLines.push('};\n');
|
|
276
281
|
return jsLines.join('\n');
|
|
277
282
|
};
|
|
278
|
-
exports.tokensToJs = tokensToJs;
|
|
279
283
|
var getByPath = function getByPath(obj, path) {
|
|
280
284
|
var parts = path.split('.');
|
|
281
285
|
var result = obj;
|
|
@@ -294,4 +298,4 @@ var getByPath = function getByPath(obj, path) {
|
|
|
294
298
|
}
|
|
295
299
|
return result;
|
|
296
300
|
};
|
|
297
|
-
//# sourceMappingURL=utils.
|
|
301
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","names":["_colorjs","_interopRequireDefault","require","Color","ColorJS","processTokens","exports","base","tokens","prefix","values","basicTokens","Set","modifications","types","descriptions","mixins","traverse","node","pathParts","arguments","length","undefined","isBasic","key","concat","_toConsumableArray2","type","path","join","_typeof2","value","push","Error","add","description","$extensions","extension","_modifications$path","modify","resolveColor","color","includes","replaceColors","startsWith","endsWith","lastComa","lastIndexOf","alpha","Number","parseFloat","substring","isNaN","resolvedColor","map","hex","parseInt","split","baseColor","_map","chunk","_map2","_slicedToArray2","r","g","b","a","_getByPath$value","_getByPath","getByPath","_getByPath$value2","_getByPath2","resolveToken","token","_token$split","_token$split2","factor","resolvedValue","reference","indexOf","replace","resolvedToken","str","result","i","start","rawValues","_objectSpread2","_modifications$token","_iterator","_createForOfIteratorHelper2","_step","s","n","done","modification","space","lightness","hsl","l","difference","set","Math","min","to","round","toString","format","err","e","f","processedTokens","isBase","has","name","tokensToCss","selector","cssLines","_iterator2","_step2","tokensToJson","themeFile","_iterator3","_step3","JSON","stringify","tokensToJs","jsLines","_iterator4","_step4","obj","parts","_iterator5","_step5","_result","part"],"sources":["../../src/theme/utils.ts"],"sourcesContent":["import ColorJS from 'colorjs.io';\nconst Color = ColorJS as any;\n\ntype ExtensionsInput = {\n 'studio.tokens': {\n modify: {\n type: string;\n value: number;\n space: string;\n };\n };\n};\n\ntype TokensInput = {\n [nestedKey: string]:\n | TokensInput\n | {\n value: string;\n type: string;\n description: string;\n $extensions?: ExtensionsInput;\n };\n};\n\nexport const processTokens = (base: TokensInput, tokens: TokensInput, prefix: string) => {\n const values: { [tokenName: string]: string } = {};\n const basicTokens = new Set<string>();\n const modifications: {\n [tokenName: string]: {\n type: 'lighten' | 'darken' | 'alpha';\n value: number;\n space: 'lch' | 'srgb' | 'p3' | 'hsl';\n }[];\n } = {};\n const types: { [tokenName: string]: string } = {};\n const descriptions: { [tokenName: string]: string } = {};\n const mixins: string[] = [];\n type ColorPattern =\n | `{${string}.${string}}`\n | `{${string}.${string}}, ${number}`\n | `#${string}`\n | `{${string}.${string}}, ${number}`;\n type DesignTokenNode =\n | {\n type: string;\n value:\n | string\n | { [subTokens: string]: `{${string}}` }\n | ColorPattern\n | `{${string}}`\n | `{${string}*${number}}`\n | `${ColorPattern}; ${ColorPattern}`;\n\n description?: string;\n $extensions?: ExtensionsInput;\n }\n | DesignTokenTree;\n type DesignTokenTree = { [childrenNodeName: string]: DesignTokenNode };\n const traverse = (node: DesignTokenNode, pathParts: string[] = [], isBasic?: boolean) => {\n for (const key in node) {\n if (key === 'type') continue;\n if (key === 'value') continue;\n if (key === 'description') continue;\n if (key === '$extensions') continue;\n traverse((node as any)[key], [...pathParts, key], isBasic);\n }\n if ('type' in node && typeof node.type === 'string') {\n const path = pathParts.join('-');\n types[path] = node.type;\n if (typeof node.value === 'object') {\n mixins.push(path);\n return;\n }\n if (values[path]) {\n throw new Error(`Duplicated design token \"${path}\"`);\n }\n values[path] = node.value;\n if (isBasic) {\n basicTokens.add(path);\n }\n if (typeof node.description === 'string') descriptions[path] = node.description;\n if (node.$extensions) {\n for (const extension in node.$extensions) {\n if (extension === 'studio.tokens') {\n modifications[path] ??= [];\n modifications[path].push((node.$extensions as any)['studio.tokens'].modify);\n } else {\n throw new Error(`Unsupported extension \"${extension}\" for design token \"${path}\"`);\n }\n }\n }\n }\n };\n\n traverse(base, [], true);\n traverse(tokens);\n\n const resolveColor = (color: string): string => {\n if (color.includes('linear-gradient')) {\n return replaceColors(color);\n }\n if (color.startsWith('rgba(') && color.endsWith(')')) {\n const lastComa = color.lastIndexOf(',');\n const alpha = Number.parseFloat(color.substring(lastComa + 1, color.length - 1));\n if (Number.isNaN(alpha)) {\n throw new Error(`Unable to parse rgba of ${color}`);\n }\n let resolvedColor = color.substring('rgba('.length, lastComa);\n if (resolvedColor.startsWith('{')) resolvedColor = resolveColor(resolvedColor);\n if (resolvedColor.startsWith('$')) resolvedColor = resolveColor(resolvedColor);\n if (resolvedColor.startsWith('#')) {\n if (resolvedColor.length === 1 + 3) {\n resolvedColor = [resolvedColor[1], resolvedColor[2], resolvedColor[3]]\n .map((hex) => Number.parseInt(hex, 16))\n .join(', ');\n } else if (resolvedColor.length === 1 + 6) {\n resolvedColor = [\n resolvedColor.substring(1, 3),\n resolvedColor.substring(3, 5),\n resolvedColor.substring(5, 7),\n ]\n .map((hex) => Number.parseInt(hex, 16))\n .join(', ');\n } else {\n throw new Error(\n `Unable to convert hex ${resolveColor} to rgb list of colors (processing ${color})`,\n );\n }\n }\n\n if (!resolvedColor || resolvedColor.split(',').length !== 3) {\n throw new Error(`Unable to produce rgba of ${color} (input format is not supported yet)`);\n }\n\n return `rgba(${resolvedColor}, ${alpha})`;\n }\n if (color.split(', ').length === 2) {\n const baseColor = resolveColor(color.split(', ')[0]);\n const [r, g, b] = (\n baseColor.length === 4\n ? [baseColor[1], baseColor[2], baseColor[3]]\n : [baseColor.substring(1, 3), baseColor.substring(3, 5), baseColor.substring(5, 7)]\n ).map((chunk) => Number.parseInt(chunk, 16));\n const a = Number.parseFloat(color.split(', ')[1]);\n\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n }\n if (color.startsWith('{') && color.split('.').length > 0 && color.endsWith('}')) {\n const path = color.substring(1, color.length - 1);\n const resolvedColor =\n getByPath(base as any, path)?.value ?? values[path.split('.').join('-')];\n if (!resolvedColor) {\n throw new Error(`Color ${color} was not found in base palette`);\n }\n return resolvedColor;\n }\n if (color.startsWith('$') && color.split('.').length > 0) {\n const path = color.substring(1);\n const resolvedColor =\n getByPath(base as any, path)?.value ?? values[path.split('.').join('-')];\n if (!resolvedColor) {\n throw new Error(`Color ${color} was not found`);\n }\n return resolvedColor;\n }\n if (color.startsWith('#')) {\n return color;\n }\n throw new Error(`Unable to process color ${color}`);\n };\n const resolveToken = (token: string): string => {\n if (token.includes('*')) {\n const [value, factor] = token.split('*');\n const resolvedValue = resolveToken(value);\n if (!resolvedValue.endsWith('px')) {\n throw new Error(`Unsupported expression ${token}`);\n }\n return `${Number.parseFloat(resolvedValue) * Number.parseFloat(factor)}px`;\n } else if (token.includes('{') && token.includes('}')) {\n const reference = token\n .substring(token.indexOf('{') + 1, token.indexOf('}'))\n .replace(/\\./g, '-');\n const resolvedToken =\n token.substring(0, token.indexOf('{')) +\n values[reference] +\n token.substring(token.indexOf('}') + 1);\n if (!resolvedToken || resolvedToken.includes('{')) {\n throw new Error(`On moment of resolving ${token}, ${resolvedToken} was not resolved yet`);\n }\n return resolvedToken;\n } else {\n return token;\n }\n };\n const replaceColors = (str: string) => {\n let result = '';\n for (let i = 0; i < str.length; i++) {\n if (str.substring(i, i + 'rgba('.length) === 'rgba(') {\n const start = i;\n while (str[i] !== undefined && str[i] !== ')') i++;\n result += resolveColor(str.substring(start, i + 1));\n } else {\n result += str[i];\n }\n }\n\n return result;\n };\n\n const rawValues = { ...values };\n\n for (const token in values) {\n if (types[token] === 'color') {\n values[token] = resolveColor(values[token]);\n } else if (types[token] === 'boxShadow') {\n values[token] = resolveToken(values[token].split('; ').map(replaceColors).join(', '));\n } else if (\n types[token] === 'sizing' ||\n types[token] === 'spacing' ||\n types[token] === 'borderRadius' ||\n types[token] === 'other'\n ) {\n values[token] = resolveToken(values[token]);\n }\n for (const modification of modifications[token] ?? []) {\n // refer to https://docs.tokens.studio/tokens/color-modifiers and https://github.com/tokens-studio/figma-plugin/tree/main/src/utils/color if extention is needed\n let color = new Color(values[token]);\n\n if (modification.space === 'hsl') {\n if (modification.type === 'lighten') {\n const lightness = color.hsl.l;\n const difference = 100 - lightness;\n color.set('hsl.l', Math.min(100, lightness + difference * modification.value));\n rawValues[token] = `${rawValues[token]} / lighten(${modification.value}) / hsl`;\n } else {\n throw new Error(`Unsupported color modification ${modification.type} of token ${token}`);\n }\n } else {\n throw new Error(`Unsupported color space ${modification.space} of token ${token}`);\n }\n\n color = color.to('sRGB');\n\n if (color.alpha !== 1) {\n const r = Math.round(color.r * 255);\n const g = Math.round(color.g * 255);\n const b = Math.round(color.b * 255);\n const a = color.alpha;\n values[token] = `rgba(${r}, ${g}, ${b}, ${a})`;\n } else {\n values[token] = color.toString({ format: 'hex' });\n }\n }\n }\n\n const processedTokens: { name: string; value: string; description: string }[] = [];\n for (const token in values) {\n const isBase = basicTokens.has(token);\n processedTokens.push({\n name: isBase ? `--${token}` : `--${prefix}-${token}`,\n description: descriptions[token],\n value: values[token],\n });\n }\n\n return { processedTokens, values, types, rawValues, descriptions, basicTokens };\n};\n\nexport const tokensToCss = (\n tokens: { name: string; value: string; description: string }[],\n selector = ':root',\n) => {\n const cssLines: string[] = [];\n cssLines.push(`${selector} {`);\n for (const token of tokens) {\n if (token.description) cssLines.push(` /* ${token.description} */`);\n cssLines.push(` ${token.name}: ${token.value};`);\n }\n cssLines.push('}');\n return cssLines.join('\\n');\n};\nexport const tokensToJson = (tokens: { name: string; value: string; description: string }[]) => {\n const themeFile: Record<string, string> = {};\n for (const token of tokens) {\n themeFile[token.name] = token.value;\n }\n return JSON.stringify(themeFile, null, 2) + '\\n';\n};\nexport const tokensToJs = (tokens: { name: string; value: string; description: string }[]) => {\n const jsLines: string[] = [];\n jsLines.push('export default {');\n for (const token of tokens) {\n jsLines.push(` '${token.name}': '${token.value}',`);\n }\n jsLines.push('};\\n');\n return jsLines.join('\\n');\n};\n\nconst getByPath = (obj: any, path: string) => {\n const parts = path.split('.');\n let result = obj;\n for (const part of parts) {\n result = result?.[part];\n }\n return result;\n};\n"],"mappings":"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","ignoreList":[]}
|
package/lib/theme/utils.mjs
CHANGED
|
@@ -7,18 +7,20 @@ import ColorJS from 'colorjs.io';
|
|
|
7
7
|
var Color = ColorJS;
|
|
8
8
|
export var processTokens = function processTokens(base, tokens, prefix) {
|
|
9
9
|
var values = {};
|
|
10
|
+
var basicTokens = new Set();
|
|
10
11
|
var modifications = {};
|
|
11
12
|
var types = {};
|
|
12
13
|
var descriptions = {};
|
|
13
14
|
var mixins = [];
|
|
14
|
-
var
|
|
15
|
+
var _traverse = function traverse(node) {
|
|
15
16
|
var pathParts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
17
|
+
var isBasic = arguments.length > 2 ? arguments[2] : undefined;
|
|
16
18
|
for (var key in node) {
|
|
17
19
|
if (key === 'type') continue;
|
|
18
20
|
if (key === 'value') continue;
|
|
19
21
|
if (key === 'description') continue;
|
|
20
22
|
if (key === '$extensions') continue;
|
|
21
|
-
|
|
23
|
+
_traverse(node[key], [].concat(_toConsumableArray(pathParts), [key]), isBasic);
|
|
22
24
|
}
|
|
23
25
|
if ('type' in node && typeof node.type === 'string') {
|
|
24
26
|
var path = pathParts.join('-');
|
|
@@ -31,6 +33,9 @@ export var processTokens = function processTokens(base, tokens, prefix) {
|
|
|
31
33
|
throw new Error("Duplicated design token \"".concat(path, "\""));
|
|
32
34
|
}
|
|
33
35
|
values[path] = node.value;
|
|
36
|
+
if (isBasic) {
|
|
37
|
+
basicTokens.add(path);
|
|
38
|
+
}
|
|
34
39
|
if (typeof node.description === 'string') descriptions[path] = node.description;
|
|
35
40
|
if (node.$extensions) {
|
|
36
41
|
for (var extension in node.$extensions) {
|
|
@@ -45,31 +50,32 @@ export var processTokens = function processTokens(base, tokens, prefix) {
|
|
|
45
50
|
}
|
|
46
51
|
}
|
|
47
52
|
};
|
|
48
|
-
|
|
49
|
-
|
|
53
|
+
_traverse(base, [], true);
|
|
54
|
+
_traverse(tokens);
|
|
55
|
+
var _resolveColor = function resolveColor(color) {
|
|
50
56
|
if (color.includes('linear-gradient')) {
|
|
51
57
|
return replaceColors(color);
|
|
52
58
|
}
|
|
53
59
|
if (color.startsWith('rgba(') && color.endsWith(')')) {
|
|
54
60
|
var lastComa = color.lastIndexOf(',');
|
|
55
|
-
var alpha = parseFloat(color.substring(lastComa + 1, color.length - 1));
|
|
61
|
+
var alpha = Number.parseFloat(color.substring(lastComa + 1, color.length - 1));
|
|
56
62
|
if (Number.isNaN(alpha)) {
|
|
57
63
|
throw new Error("Unable to parse rgba of ".concat(color));
|
|
58
64
|
}
|
|
59
65
|
var resolvedColor = color.substring('rgba('.length, lastComa);
|
|
60
|
-
if (resolvedColor.startsWith('{')) resolvedColor =
|
|
61
|
-
if (resolvedColor.startsWith('$')) resolvedColor =
|
|
66
|
+
if (resolvedColor.startsWith('{')) resolvedColor = _resolveColor(resolvedColor);
|
|
67
|
+
if (resolvedColor.startsWith('$')) resolvedColor = _resolveColor(resolvedColor);
|
|
62
68
|
if (resolvedColor.startsWith('#')) {
|
|
63
69
|
if (resolvedColor.length === 1 + 3) {
|
|
64
70
|
resolvedColor = [resolvedColor[1], resolvedColor[2], resolvedColor[3]].map(function (hex) {
|
|
65
|
-
return parseInt(hex, 16);
|
|
71
|
+
return Number.parseInt(hex, 16);
|
|
66
72
|
}).join(', ');
|
|
67
73
|
} else if (resolvedColor.length === 1 + 6) {
|
|
68
74
|
resolvedColor = [resolvedColor.substring(1, 3), resolvedColor.substring(3, 5), resolvedColor.substring(5, 7)].map(function (hex) {
|
|
69
|
-
return parseInt(hex, 16);
|
|
75
|
+
return Number.parseInt(hex, 16);
|
|
70
76
|
}).join(', ');
|
|
71
77
|
} else {
|
|
72
|
-
throw new Error("Unable to convert hex ".concat(
|
|
78
|
+
throw new Error("Unable to convert hex ".concat(_resolveColor, " to rgb list of colors (processing ").concat(color, ")"));
|
|
73
79
|
}
|
|
74
80
|
}
|
|
75
81
|
if (!resolvedColor || resolvedColor.split(',').length !== 3) {
|
|
@@ -78,15 +84,15 @@ export var processTokens = function processTokens(base, tokens, prefix) {
|
|
|
78
84
|
return "rgba(".concat(resolvedColor, ", ").concat(alpha, ")");
|
|
79
85
|
}
|
|
80
86
|
if (color.split(', ').length === 2) {
|
|
81
|
-
var baseColor =
|
|
87
|
+
var baseColor = _resolveColor(color.split(', ')[0]);
|
|
82
88
|
var _map = (baseColor.length === 4 ? [baseColor[1], baseColor[2], baseColor[3]] : [baseColor.substring(1, 3), baseColor.substring(3, 5), baseColor.substring(5, 7)]).map(function (chunk) {
|
|
83
|
-
return parseInt(chunk, 16);
|
|
89
|
+
return Number.parseInt(chunk, 16);
|
|
84
90
|
}),
|
|
85
91
|
_map2 = _slicedToArray(_map, 3),
|
|
86
92
|
r = _map2[0],
|
|
87
93
|
g = _map2[1],
|
|
88
94
|
b = _map2[2];
|
|
89
|
-
var a = parseFloat(color.split(', ')[1]);
|
|
95
|
+
var a = Number.parseFloat(color.split(', ')[1]);
|
|
90
96
|
return "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(a, ")");
|
|
91
97
|
}
|
|
92
98
|
if (color.startsWith('{') && color.split('.').length > 0 && color.endsWith('}')) {
|
|
@@ -112,17 +118,17 @@ export var processTokens = function processTokens(base, tokens, prefix) {
|
|
|
112
118
|
}
|
|
113
119
|
throw new Error("Unable to process color ".concat(color));
|
|
114
120
|
};
|
|
115
|
-
var
|
|
121
|
+
var _resolveToken = function resolveToken(token) {
|
|
116
122
|
if (token.includes('*')) {
|
|
117
123
|
var _token$split = token.split('*'),
|
|
118
124
|
_token$split2 = _slicedToArray(_token$split, 2),
|
|
119
125
|
value = _token$split2[0],
|
|
120
126
|
factor = _token$split2[1];
|
|
121
|
-
var resolvedValue =
|
|
127
|
+
var resolvedValue = _resolveToken(value);
|
|
122
128
|
if (!resolvedValue.endsWith('px')) {
|
|
123
129
|
throw new Error("Unsupported expression ".concat(token));
|
|
124
130
|
}
|
|
125
|
-
return "".concat(parseFloat(resolvedValue) * parseFloat(factor), "px");
|
|
131
|
+
return "".concat(Number.parseFloat(resolvedValue) * Number.parseFloat(factor), "px");
|
|
126
132
|
} else if (token.includes('{') && token.includes('}')) {
|
|
127
133
|
var reference = token.substring(token.indexOf('{') + 1, token.indexOf('}')).replace(/\./g, '-');
|
|
128
134
|
var resolvedToken = token.substring(0, token.indexOf('{')) + values[reference] + token.substring(token.indexOf('}') + 1);
|
|
@@ -140,7 +146,7 @@ export var processTokens = function processTokens(base, tokens, prefix) {
|
|
|
140
146
|
if (str.substring(i, i + 'rgba('.length) === 'rgba(') {
|
|
141
147
|
var start = i;
|
|
142
148
|
while (str[i] !== undefined && str[i] !== ')') i++;
|
|
143
|
-
result +=
|
|
149
|
+
result += _resolveColor(str.substring(start, i + 1));
|
|
144
150
|
} else {
|
|
145
151
|
result += str[i];
|
|
146
152
|
}
|
|
@@ -151,11 +157,11 @@ export var processTokens = function processTokens(base, tokens, prefix) {
|
|
|
151
157
|
for (var token in values) {
|
|
152
158
|
var _modifications$token;
|
|
153
159
|
if (types[token] === 'color') {
|
|
154
|
-
values[token] =
|
|
160
|
+
values[token] = _resolveColor(values[token]);
|
|
155
161
|
} else if (types[token] === 'boxShadow') {
|
|
156
|
-
values[token] =
|
|
162
|
+
values[token] = _resolveToken(values[token].split('; ').map(replaceColors).join(', '));
|
|
157
163
|
} else if (types[token] === 'sizing' || types[token] === 'spacing' || types[token] === 'borderRadius' || types[token] === 'other') {
|
|
158
|
-
values[token] =
|
|
164
|
+
values[token] = _resolveToken(values[token]);
|
|
159
165
|
}
|
|
160
166
|
var _iterator = _createForOfIteratorHelper((_modifications$token = modifications[token]) !== null && _modifications$token !== void 0 ? _modifications$token : []),
|
|
161
167
|
_step;
|
|
@@ -197,8 +203,9 @@ export var processTokens = function processTokens(base, tokens, prefix) {
|
|
|
197
203
|
}
|
|
198
204
|
var processedTokens = [];
|
|
199
205
|
for (var _token in values) {
|
|
206
|
+
var isBase = basicTokens.has(_token);
|
|
200
207
|
processedTokens.push({
|
|
201
|
-
name: "--".concat(prefix, "-").concat(_token),
|
|
208
|
+
name: isBase ? "--".concat(_token) : "--".concat(prefix, "-").concat(_token),
|
|
202
209
|
description: descriptions[_token],
|
|
203
210
|
value: values[_token]
|
|
204
211
|
});
|
|
@@ -208,7 +215,8 @@ export var processTokens = function processTokens(base, tokens, prefix) {
|
|
|
208
215
|
values: values,
|
|
209
216
|
types: types,
|
|
210
217
|
rawValues: rawValues,
|
|
211
|
-
descriptions: descriptions
|
|
218
|
+
descriptions: descriptions,
|
|
219
|
+
basicTokens: basicTokens
|
|
212
220
|
};
|
|
213
221
|
};
|
|
214
222
|
export var tokensToCss = function tokensToCss(tokens) {
|
|
@@ -262,7 +270,7 @@ export var tokensToJs = function tokensToJs(tokens) {
|
|
|
262
270
|
} finally {
|
|
263
271
|
_iterator4.f();
|
|
264
272
|
}
|
|
265
|
-
jsLines.push('}
|
|
273
|
+
jsLines.push('};\n');
|
|
266
274
|
return jsLines.join('\n');
|
|
267
275
|
};
|
|
268
276
|
var getByPath = function getByPath(obj, path) {
|
package/lib/theme/utils.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","names":["ColorJS","Color","processTokens","base","tokens","prefix","values","modifications","types","descriptions","mixins","traverse","node","pathParts","arguments","length","undefined","key","concat","_toConsumableArray","type","path","join","_typeof","value","push","Error","description","$extensions","extension","_modifications$path","modify","resolveColor","color","includes","replaceColors","startsWith","endsWith","lastComa","lastIndexOf","alpha","parseFloat","substring","Number","isNaN","resolvedColor","map","hex","parseInt","split","baseColor","_map","chunk","_map2","_slicedToArray","r","g","b","a","_getByPath$value","_getByPath","getByPath","_getByPath$value2","_getByPath2","resolveToken","token","_token$split","_token$split2","factor","resolvedValue","reference","indexOf","replace","resolvedToken","str","result","i","start","rawValues","_objectSpread","_modifications$token","_iterator","_createForOfIteratorHelper","_step","s","n","done","modification","space","lightness","hsl","l","difference","set","Math","min","to","round","toString","format","err","e","f","processedTokens","name","tokensToCss","selector","cssLines","_iterator2","_step2","tokensToJson","themeFile","_iterator3","_step3","JSON","stringify","tokensToJs","jsLines","_iterator4","_step4","obj","parts","_iterator5","_step5","_result","part"],"sources":["../../src/theme/utils.ts"],"sourcesContent":["import ColorJS from 'colorjs.io';\nconst Color = ColorJS as any;\n\ntype ExtensionsInput = {\n 'studio.tokens': {\n modify: {\n type: string;\n value: number;\n space: string;\n };\n };\n};\n\ntype TokensInput = {\n [nestedKey: string]:\n | TokensInput\n | {\n value: string;\n type: string;\n description: string;\n $extensions?: ExtensionsInput;\n };\n};\n\nexport const processTokens = (base: TokensInput, tokens: TokensInput, prefix: string) => {\n const values: { [tokenName: string]: string } = {};\n const modifications: {\n [tokenName: string]: {\n type: 'lighten' | 'darken' | 'alpha';\n value: number;\n space: 'lch' | 'srgb' | 'p3' | 'hsl';\n }[];\n } = {};\n const types: { [tokenName: string]: string } = {};\n const descriptions: { [tokenName: string]: string } = {};\n const mixins: string[] = [];\n type ColorPattern =\n | `{${string}.${string}}`\n | `{${string}.${string}}, ${number}`\n | `#${string}`\n | `{${string}.${string}}, ${number}`;\n type DesignTokenNode =\n | {\n type: string;\n value:\n | string\n | { [subTokens: string]: `{${string}}` }\n | ColorPattern\n | `{${string}}`\n | `{${string}*${number}}`\n | `${ColorPattern}; ${ColorPattern}`;\n\n description?: string;\n $extensions?: ExtensionsInput;\n }\n | DesignTokenTree;\n type DesignTokenTree = { [childrenNodeName: string]: DesignTokenNode };\n const traverse = (node: DesignTokenNode, pathParts: string[] = []) => {\n for (const key in node) {\n if (key === 'type') continue;\n if (key === 'value') continue;\n if (key === 'description') continue;\n if (key === '$extensions') continue;\n traverse((node as any)[key], [...pathParts, key]);\n }\n if ('type' in node && typeof node.type === 'string') {\n const path = pathParts.join('-');\n types[path] = node.type;\n if (typeof node.value === 'object') {\n mixins.push(path);\n return;\n }\n if (values[path]) {\n throw new Error(`Duplicated design token \"${path}\"`);\n }\n values[path] = node.value;\n if (typeof node.description === 'string') descriptions[path] = node.description;\n if (node.$extensions) {\n for (const extension in node.$extensions) {\n if (extension === 'studio.tokens') {\n modifications[path] ??= [];\n modifications[path].push((node.$extensions as any)['studio.tokens'].modify);\n } else {\n throw new Error(`Unsupported extension \"${extension}\" for design token \"${path}\"`);\n }\n }\n }\n }\n };\n\n traverse(tokens);\n\n const resolveColor = (color: string): string => {\n if (color.includes('linear-gradient')) {\n return replaceColors(color);\n }\n if (color.startsWith('rgba(') && color.endsWith(')')) {\n const lastComa = color.lastIndexOf(',');\n const alpha = parseFloat(color.substring(lastComa + 1, color.length - 1));\n if (Number.isNaN(alpha)) {\n throw new Error(`Unable to parse rgba of ${color}`);\n }\n let resolvedColor = color.substring('rgba('.length, lastComa);\n if (resolvedColor.startsWith('{')) resolvedColor = resolveColor(resolvedColor);\n if (resolvedColor.startsWith('$')) resolvedColor = resolveColor(resolvedColor);\n if (resolvedColor.startsWith('#')) {\n if (resolvedColor.length === 1 + 3) {\n resolvedColor = [resolvedColor[1], resolvedColor[2], resolvedColor[3]]\n .map((hex) => parseInt(hex, 16))\n .join(', ');\n } else if (resolvedColor.length === 1 + 6) {\n resolvedColor = [\n resolvedColor.substring(1, 3),\n resolvedColor.substring(3, 5),\n resolvedColor.substring(5, 7),\n ]\n .map((hex) => parseInt(hex, 16))\n .join(', ');\n } else {\n throw new Error(\n `Unable to convert hex ${resolveColor} to rgb list of colors (processing ${color})`,\n );\n }\n }\n\n if (!resolvedColor || resolvedColor.split(',').length !== 3) {\n throw new Error(`Unable to produce rgba of ${color} (input format is not supported yet)`);\n }\n\n return `rgba(${resolvedColor}, ${alpha})`;\n }\n if (color.split(', ').length === 2) {\n const baseColor = resolveColor(color.split(', ')[0]);\n const [r, g, b] = (\n baseColor.length === 4\n ? [baseColor[1], baseColor[2], baseColor[3]]\n : [baseColor.substring(1, 3), baseColor.substring(3, 5), baseColor.substring(5, 7)]\n ).map((chunk) => parseInt(chunk, 16));\n const a = parseFloat(color.split(', ')[1]);\n\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n }\n if (color.startsWith('{') && color.split('.').length > 0 && color.endsWith('}')) {\n const path = color.substring(1, color.length - 1);\n const resolvedColor =\n getByPath(base as any, path)?.value ?? values[path.split('.').join('-')];\n if (!resolvedColor) {\n throw new Error(`Color ${color} was not found in base palette`);\n }\n return resolvedColor;\n }\n if (color.startsWith('$') && color.split('.').length > 0) {\n const path = color.substring(1);\n const resolvedColor =\n getByPath(base as any, path)?.value ?? values[path.split('.').join('-')];\n if (!resolvedColor) {\n throw new Error(`Color ${color} was not found`);\n }\n return resolvedColor;\n }\n if (color.startsWith('#')) {\n return color;\n }\n throw new Error(`Unable to process color ${color}`);\n };\n const resolveToken = (token: string): string => {\n if (token.includes('*')) {\n const [value, factor] = token.split('*');\n const resolvedValue = resolveToken(value);\n if (!resolvedValue.endsWith('px')) {\n throw new Error(`Unsupported expression ${token}`);\n }\n return `${parseFloat(resolvedValue) * parseFloat(factor)}px`;\n } else if (token.includes('{') && token.includes('}')) {\n const reference = token\n .substring(token.indexOf('{') + 1, token.indexOf('}'))\n .replace(/\\./g, '-');\n const resolvedToken =\n token.substring(0, token.indexOf('{')) +\n values[reference] +\n token.substring(token.indexOf('}') + 1);\n if (!resolvedToken || resolvedToken.includes('{')) {\n throw new Error(`On moment of resolving ${token}, ${resolvedToken} was not resolved yet`);\n }\n return resolvedToken;\n } else {\n return token;\n }\n };\n const replaceColors = (str: string) => {\n let result = '';\n for (let i = 0; i < str.length; i++) {\n if (str.substring(i, i + 'rgba('.length) === 'rgba(') {\n const start = i;\n while (str[i] !== undefined && str[i] !== ')') i++;\n result += resolveColor(str.substring(start, i + 1));\n } else {\n result += str[i];\n }\n }\n\n return result;\n };\n\n const rawValues = { ...values };\n\n for (const token in values) {\n if (types[token] === 'color') {\n values[token] = resolveColor(values[token]);\n } else if (types[token] === 'boxShadow') {\n values[token] = resolveToken(values[token].split('; ').map(replaceColors).join(', '));\n } else if (\n types[token] === 'sizing' ||\n types[token] === 'spacing' ||\n types[token] === 'borderRadius' ||\n types[token] === 'other'\n ) {\n values[token] = resolveToken(values[token]);\n }\n for (const modification of modifications[token] ?? []) {\n // refer to https://docs.tokens.studio/tokens/color-modifiers and https://github.com/tokens-studio/figma-plugin/tree/main/src/utils/color if extention is needed\n let color = new Color(values[token]);\n\n if (modification.space === 'hsl') {\n if (modification.type === 'lighten') {\n const lightness = color.hsl.l;\n const difference = 100 - lightness;\n color.set('hsl.l', Math.min(100, lightness + difference * modification.value));\n rawValues[token] = `${rawValues[token]} / lighten(${modification.value}) / hsl`;\n } else {\n throw new Error(`Unsupported color modification ${modification.type} of token ${token}`);\n }\n } else {\n throw new Error(`Unsupported color space ${modification.space} of token ${token}`);\n }\n\n color = color.to('sRGB');\n\n if (color.alpha !== 1) {\n const r = Math.round(color.r * 255);\n const g = Math.round(color.g * 255);\n const b = Math.round(color.b * 255);\n const a = color.alpha;\n values[token] = `rgba(${r}, ${g}, ${b}, ${a})`;\n } else {\n values[token] = color.toString({ format: 'hex' });\n }\n }\n }\n\n const processedTokens: { name: string; value: string; description: string }[] = [];\n for (const token in values) {\n processedTokens.push({\n name: `--${prefix}-${token}`,\n description: descriptions[token],\n value: values[token],\n });\n }\n\n return { processedTokens, values, types, rawValues, descriptions };\n};\n\nexport const tokensToCss = (\n tokens: { name: string; value: string; description: string }[],\n selector = ':root',\n) => {\n const cssLines: string[] = [];\n cssLines.push(`${selector} {`);\n for (const token of tokens) {\n if (token.description) cssLines.push(` /* ${token.description} */`);\n cssLines.push(` ${token.name}: ${token.value};`);\n }\n cssLines.push('}');\n return cssLines.join('\\n');\n};\nexport const tokensToJson = (tokens: { name: string; value: string; description: string }[]) => {\n const themeFile: Record<string, string> = {};\n for (const token of tokens) {\n themeFile[token.name] = token.value;\n }\n return JSON.stringify(themeFile, null, 2) + '\\n';\n};\nexport const tokensToJs = (tokens: { name: string; value: string; description: string }[]) => {\n const jsLines: string[] = [];\n jsLines.push('export default {');\n for (const token of tokens) {\n jsLines.push(` '${token.name}': '${token.value}',`);\n }\n jsLines.push('}\\n');\n return jsLines.join('\\n');\n};\n\nconst getByPath = (obj: any, path: string) => {\n const parts = path.split('.');\n let result = obj;\n for (const part of parts) {\n result = result?.[part];\n }\n return result;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.mjs","names":["ColorJS","Color","processTokens","base","tokens","prefix","values","basicTokens","Set","modifications","types","descriptions","mixins","traverse","node","pathParts","arguments","length","undefined","isBasic","key","concat","_toConsumableArray","type","path","join","_typeof","value","push","Error","add","description","$extensions","extension","_modifications$path","modify","resolveColor","color","includes","replaceColors","startsWith","endsWith","lastComa","lastIndexOf","alpha","Number","parseFloat","substring","isNaN","resolvedColor","map","hex","parseInt","split","baseColor","_map","chunk","_map2","_slicedToArray","r","g","b","a","_getByPath$value","_getByPath","getByPath","_getByPath$value2","_getByPath2","resolveToken","token","_token$split","_token$split2","factor","resolvedValue","reference","indexOf","replace","resolvedToken","str","result","i","start","rawValues","_objectSpread","_modifications$token","_iterator","_createForOfIteratorHelper","_step","s","n","done","modification","space","lightness","hsl","l","difference","set","Math","min","to","round","toString","format","err","e","f","processedTokens","isBase","has","name","tokensToCss","selector","cssLines","_iterator2","_step2","tokensToJson","themeFile","_iterator3","_step3","JSON","stringify","tokensToJs","jsLines","_iterator4","_step4","obj","parts","_iterator5","_step5","_result","part"],"sources":["../../src/theme/utils.ts"],"sourcesContent":["import ColorJS from 'colorjs.io';\nconst Color = ColorJS as any;\n\ntype ExtensionsInput = {\n 'studio.tokens': {\n modify: {\n type: string;\n value: number;\n space: string;\n };\n };\n};\n\ntype TokensInput = {\n [nestedKey: string]:\n | TokensInput\n | {\n value: string;\n type: string;\n description: string;\n $extensions?: ExtensionsInput;\n };\n};\n\nexport const processTokens = (base: TokensInput, tokens: TokensInput, prefix: string) => {\n const values: { [tokenName: string]: string } = {};\n const basicTokens = new Set<string>();\n const modifications: {\n [tokenName: string]: {\n type: 'lighten' | 'darken' | 'alpha';\n value: number;\n space: 'lch' | 'srgb' | 'p3' | 'hsl';\n }[];\n } = {};\n const types: { [tokenName: string]: string } = {};\n const descriptions: { [tokenName: string]: string } = {};\n const mixins: string[] = [];\n type ColorPattern =\n | `{${string}.${string}}`\n | `{${string}.${string}}, ${number}`\n | `#${string}`\n | `{${string}.${string}}, ${number}`;\n type DesignTokenNode =\n | {\n type: string;\n value:\n | string\n | { [subTokens: string]: `{${string}}` }\n | ColorPattern\n | `{${string}}`\n | `{${string}*${number}}`\n | `${ColorPattern}; ${ColorPattern}`;\n\n description?: string;\n $extensions?: ExtensionsInput;\n }\n | DesignTokenTree;\n type DesignTokenTree = { [childrenNodeName: string]: DesignTokenNode };\n const traverse = (node: DesignTokenNode, pathParts: string[] = [], isBasic?: boolean) => {\n for (const key in node) {\n if (key === 'type') continue;\n if (key === 'value') continue;\n if (key === 'description') continue;\n if (key === '$extensions') continue;\n traverse((node as any)[key], [...pathParts, key], isBasic);\n }\n if ('type' in node && typeof node.type === 'string') {\n const path = pathParts.join('-');\n types[path] = node.type;\n if (typeof node.value === 'object') {\n mixins.push(path);\n return;\n }\n if (values[path]) {\n throw new Error(`Duplicated design token \"${path}\"`);\n }\n values[path] = node.value;\n if (isBasic) {\n basicTokens.add(path);\n }\n if (typeof node.description === 'string') descriptions[path] = node.description;\n if (node.$extensions) {\n for (const extension in node.$extensions) {\n if (extension === 'studio.tokens') {\n modifications[path] ??= [];\n modifications[path].push((node.$extensions as any)['studio.tokens'].modify);\n } else {\n throw new Error(`Unsupported extension \"${extension}\" for design token \"${path}\"`);\n }\n }\n }\n }\n };\n\n traverse(base, [], true);\n traverse(tokens);\n\n const resolveColor = (color: string): string => {\n if (color.includes('linear-gradient')) {\n return replaceColors(color);\n }\n if (color.startsWith('rgba(') && color.endsWith(')')) {\n const lastComa = color.lastIndexOf(',');\n const alpha = Number.parseFloat(color.substring(lastComa + 1, color.length - 1));\n if (Number.isNaN(alpha)) {\n throw new Error(`Unable to parse rgba of ${color}`);\n }\n let resolvedColor = color.substring('rgba('.length, lastComa);\n if (resolvedColor.startsWith('{')) resolvedColor = resolveColor(resolvedColor);\n if (resolvedColor.startsWith('$')) resolvedColor = resolveColor(resolvedColor);\n if (resolvedColor.startsWith('#')) {\n if (resolvedColor.length === 1 + 3) {\n resolvedColor = [resolvedColor[1], resolvedColor[2], resolvedColor[3]]\n .map((hex) => Number.parseInt(hex, 16))\n .join(', ');\n } else if (resolvedColor.length === 1 + 6) {\n resolvedColor = [\n resolvedColor.substring(1, 3),\n resolvedColor.substring(3, 5),\n resolvedColor.substring(5, 7),\n ]\n .map((hex) => Number.parseInt(hex, 16))\n .join(', ');\n } else {\n throw new Error(\n `Unable to convert hex ${resolveColor} to rgb list of colors (processing ${color})`,\n );\n }\n }\n\n if (!resolvedColor || resolvedColor.split(',').length !== 3) {\n throw new Error(`Unable to produce rgba of ${color} (input format is not supported yet)`);\n }\n\n return `rgba(${resolvedColor}, ${alpha})`;\n }\n if (color.split(', ').length === 2) {\n const baseColor = resolveColor(color.split(', ')[0]);\n const [r, g, b] = (\n baseColor.length === 4\n ? [baseColor[1], baseColor[2], baseColor[3]]\n : [baseColor.substring(1, 3), baseColor.substring(3, 5), baseColor.substring(5, 7)]\n ).map((chunk) => Number.parseInt(chunk, 16));\n const a = Number.parseFloat(color.split(', ')[1]);\n\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n }\n if (color.startsWith('{') && color.split('.').length > 0 && color.endsWith('}')) {\n const path = color.substring(1, color.length - 1);\n const resolvedColor =\n getByPath(base as any, path)?.value ?? values[path.split('.').join('-')];\n if (!resolvedColor) {\n throw new Error(`Color ${color} was not found in base palette`);\n }\n return resolvedColor;\n }\n if (color.startsWith('$') && color.split('.').length > 0) {\n const path = color.substring(1);\n const resolvedColor =\n getByPath(base as any, path)?.value ?? values[path.split('.').join('-')];\n if (!resolvedColor) {\n throw new Error(`Color ${color} was not found`);\n }\n return resolvedColor;\n }\n if (color.startsWith('#')) {\n return color;\n }\n throw new Error(`Unable to process color ${color}`);\n };\n const resolveToken = (token: string): string => {\n if (token.includes('*')) {\n const [value, factor] = token.split('*');\n const resolvedValue = resolveToken(value);\n if (!resolvedValue.endsWith('px')) {\n throw new Error(`Unsupported expression ${token}`);\n }\n return `${Number.parseFloat(resolvedValue) * Number.parseFloat(factor)}px`;\n } else if (token.includes('{') && token.includes('}')) {\n const reference = token\n .substring(token.indexOf('{') + 1, token.indexOf('}'))\n .replace(/\\./g, '-');\n const resolvedToken =\n token.substring(0, token.indexOf('{')) +\n values[reference] +\n token.substring(token.indexOf('}') + 1);\n if (!resolvedToken || resolvedToken.includes('{')) {\n throw new Error(`On moment of resolving ${token}, ${resolvedToken} was not resolved yet`);\n }\n return resolvedToken;\n } else {\n return token;\n }\n };\n const replaceColors = (str: string) => {\n let result = '';\n for (let i = 0; i < str.length; i++) {\n if (str.substring(i, i + 'rgba('.length) === 'rgba(') {\n const start = i;\n while (str[i] !== undefined && str[i] !== ')') i++;\n result += resolveColor(str.substring(start, i + 1));\n } else {\n result += str[i];\n }\n }\n\n return result;\n };\n\n const rawValues = { ...values };\n\n for (const token in values) {\n if (types[token] === 'color') {\n values[token] = resolveColor(values[token]);\n } else if (types[token] === 'boxShadow') {\n values[token] = resolveToken(values[token].split('; ').map(replaceColors).join(', '));\n } else if (\n types[token] === 'sizing' ||\n types[token] === 'spacing' ||\n types[token] === 'borderRadius' ||\n types[token] === 'other'\n ) {\n values[token] = resolveToken(values[token]);\n }\n for (const modification of modifications[token] ?? []) {\n // refer to https://docs.tokens.studio/tokens/color-modifiers and https://github.com/tokens-studio/figma-plugin/tree/main/src/utils/color if extention is needed\n let color = new Color(values[token]);\n\n if (modification.space === 'hsl') {\n if (modification.type === 'lighten') {\n const lightness = color.hsl.l;\n const difference = 100 - lightness;\n color.set('hsl.l', Math.min(100, lightness + difference * modification.value));\n rawValues[token] = `${rawValues[token]} / lighten(${modification.value}) / hsl`;\n } else {\n throw new Error(`Unsupported color modification ${modification.type} of token ${token}`);\n }\n } else {\n throw new Error(`Unsupported color space ${modification.space} of token ${token}`);\n }\n\n color = color.to('sRGB');\n\n if (color.alpha !== 1) {\n const r = Math.round(color.r * 255);\n const g = Math.round(color.g * 255);\n const b = Math.round(color.b * 255);\n const a = color.alpha;\n values[token] = `rgba(${r}, ${g}, ${b}, ${a})`;\n } else {\n values[token] = color.toString({ format: 'hex' });\n }\n }\n }\n\n const processedTokens: { name: string; value: string; description: string }[] = [];\n for (const token in values) {\n const isBase = basicTokens.has(token);\n processedTokens.push({\n name: isBase ? `--${token}` : `--${prefix}-${token}`,\n description: descriptions[token],\n value: values[token],\n });\n }\n\n return { processedTokens, values, types, rawValues, descriptions, basicTokens };\n};\n\nexport const tokensToCss = (\n tokens: { name: string; value: string; description: string }[],\n selector = ':root',\n) => {\n const cssLines: string[] = [];\n cssLines.push(`${selector} {`);\n for (const token of tokens) {\n if (token.description) cssLines.push(` /* ${token.description} */`);\n cssLines.push(` ${token.name}: ${token.value};`);\n }\n cssLines.push('}');\n return cssLines.join('\\n');\n};\nexport const tokensToJson = (tokens: { name: string; value: string; description: string }[]) => {\n const themeFile: Record<string, string> = {};\n for (const token of tokens) {\n themeFile[token.name] = token.value;\n }\n return JSON.stringify(themeFile, null, 2) + '\\n';\n};\nexport const tokensToJs = (tokens: { name: string; value: string; description: string }[]) => {\n const jsLines: string[] = [];\n jsLines.push('export default {');\n for (const token of tokens) {\n jsLines.push(` '${token.name}': '${token.value}',`);\n }\n jsLines.push('};\\n');\n return jsLines.join('\\n');\n};\n\nconst getByPath = (obj: any, path: string) => {\n const parts = path.split('.');\n let result = obj;\n for (const part of parts) {\n result = result?.[part];\n }\n return result;\n};\n"],"mappings":"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","ignoreList":[]}
|
package/lib/utils/CSSinJS.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NanoOptions, NanoRenderer } from '@phytonmk/nano-css';
|
|
1
|
+
import { type NanoOptions, type NanoRenderer } from '@phytonmk/nano-css';
|
|
2
2
|
declare function style(opt?: NanoOptions): NanoRenderer;
|
|
3
3
|
declare function createStyle(opt?: NanoOptions): NanoRenderer;
|
|
4
4
|
export { createStyle };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
@@ -8,10 +8,10 @@ exports.createStyle = createStyle;
|
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
10
|
var _nanoCss = require("@phytonmk/nano-css");
|
|
11
|
-
var _rule = require("@phytonmk/nano-css/addon/rule");
|
|
12
11
|
var _cache = require("@phytonmk/nano-css/addon/cache");
|
|
13
|
-
var _prefixer = require("@phytonmk/nano-css/addon/prefixer");
|
|
14
12
|
var _hydrate = require("@phytonmk/nano-css/addon/hydrate");
|
|
13
|
+
var _prefixer = require("@phytonmk/nano-css/addon/prefixer");
|
|
14
|
+
var _rule = require("@phytonmk/nano-css/addon/rule");
|
|
15
15
|
var _nano = null;
|
|
16
16
|
function style(opt) {
|
|
17
17
|
if (!_nano) {
|
|
@@ -31,6 +31,5 @@ function createStyle() {
|
|
|
31
31
|
(0, _hydrate.addon)(nano);
|
|
32
32
|
return nano;
|
|
33
33
|
}
|
|
34
|
-
var _default = style;
|
|
35
|
-
|
|
36
|
-
//# sourceMappingURL=CSSinJS.cjs.map
|
|
34
|
+
var _default = exports["default"] = style;
|
|
35
|
+
//# sourceMappingURL=CSSinJS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CSSinJS.js","names":["_nanoCss","require","_cache","_hydrate","_prefixer","_rule","_nano","style","opt","createStyle","arguments","length","undefined","nano","create","_objectSpread2","pfx","verbose","addonCache","addonRule","addonPrefixer","addonHydrate","_default","exports"],"sources":["../../src/utils/CSSinJS.ts"],"sourcesContent":["import { create, type NanoOptions, type NanoRenderer } from '@phytonmk/nano-css';\nimport { addon as addonCache } from '@phytonmk/nano-css/addon/cache';\nimport { addon as addonHydrate } from '@phytonmk/nano-css/addon/hydrate';\nimport { addon as addonPrefixer } from '@phytonmk/nano-css/addon/prefixer';\nimport { addon as addonRule } from '@phytonmk/nano-css/addon/rule';\n\nlet _nano: any = null;\n\nfunction style(opt?: NanoOptions): NanoRenderer {\n if (!_nano) {\n _nano = createStyle(opt);\n }\n return _nano;\n}\n\nfunction createStyle(opt: NanoOptions = {}): NanoRenderer {\n const nano = create({ pfx: 'css', verbose: true, ...opt });\n\n addonCache(nano);\n addonRule(nano);\n addonPrefixer(nano);\n addonHydrate(nano);\n\n return nano;\n}\n\nexport { createStyle };\n\nexport default style;\n"],"mappings":";;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAEA,IAAIK,KAAU,GAAG,IAAI;AAErB,SAASC,KAAKA,CAACC,GAAiB,EAAgB;EAC9C,IAAI,CAACF,KAAK,EAAE;IACVA,KAAK,GAAGG,WAAW,CAACD,GAAG,CAAC;EAC1B;EACA,OAAOF,KAAK;AACd;AAEA,SAASG,WAAWA,CAAA,EAAsC;EAAA,IAArCD,GAAgB,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxC,IAAMG,IAAI,GAAG,IAAAC,eAAM,MAAAC,cAAA;IAAGC,GAAG,EAAE,KAAK;IAAEC,OAAO,EAAE;EAAI,GAAKT,GAAG,CAAE,CAAC;EAE1D,IAAAU,YAAU,EAACL,IAAI,CAAC;EAChB,IAAAM,WAAS,EAACN,IAAI,CAAC;EACf,IAAAO,eAAa,EAACP,IAAI,CAAC;EACnB,IAAAQ,cAAY,EAACR,IAAI,CAAC;EAElB,OAAOA,IAAI;AACb;AAAC,IAAAS,QAAA,GAAAC,OAAA,cAIchB,KAAK","ignoreList":[]}
|
package/lib/utils/CSSinJS.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
2
|
import { create } from '@phytonmk/nano-css';
|
|
3
|
-
import { addon as addonRule } from '@phytonmk/nano-css/addon/rule';
|
|
4
3
|
import { addon as addonCache } from '@phytonmk/nano-css/addon/cache';
|
|
5
|
-
import { addon as addonPrefixer } from '@phytonmk/nano-css/addon/prefixer';
|
|
6
4
|
import { addon as addonHydrate } from '@phytonmk/nano-css/addon/hydrate';
|
|
5
|
+
import { addon as addonPrefixer } from '@phytonmk/nano-css/addon/prefixer';
|
|
6
|
+
import { addon as addonRule } from '@phytonmk/nano-css/addon/rule';
|
|
7
7
|
var _nano = null;
|
|
8
8
|
function style(opt) {
|
|
9
9
|
if (!_nano) {
|