@semcore/core 16.5.1 → 17.0.0-prerelease.17
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 +12 -1
- package/README.md +4 -4
- package/lib/LastInteractionType.js +22 -36
- package/lib/LastInteractionType.js.map +1 -1
- package/lib/LastInteractionType.mjs +19 -33
- package/lib/LastInteractionType.mjs.map +1 -1
- package/lib/core-types/Component.d.ts +26 -79
- package/lib/core-types/Component.js +24 -72
- package/lib/core-types/Component.js.map +1 -1
- package/lib/core-types/Component.mjs +18 -34
- package/lib/core-types/Component.mjs.map +1 -1
- package/lib/core-types/symbols.js +9 -9
- package/lib/core-types/symbols.js.map +1 -1
- package/lib/core-types/symbols.mjs +9 -9
- package/lib/core-types/symbols.mjs.map +1 -1
- package/lib/coreFactory.d.ts +6 -23
- package/lib/coreFactory.js +150 -217
- package/lib/coreFactory.js.map +1 -1
- package/lib/coreFactory.mjs +139 -194
- package/lib/coreFactory.mjs.map +1 -1
- package/lib/decorators/propsObserver.d.ts +11 -0
- package/lib/decorators/reactive.d.ts +11 -0
- package/lib/enhancement/Children.js +51 -59
- package/lib/enhancement/Children.js.map +1 -1
- package/lib/enhancement/Children.mjs +47 -41
- package/lib/enhancement/Children.mjs.map +1 -1
- package/lib/enhancement/Root.js +36 -37
- package/lib/enhancement/Root.js.map +1 -1
- package/lib/enhancement/Root.mjs +28 -18
- package/lib/enhancement/Root.mjs.map +1 -1
- package/lib/enhancement/dataName.js +7 -8
- package/lib/enhancement/dataName.js.map +1 -1
- package/lib/enhancement/dataName.mjs +5 -5
- package/lib/enhancement/dataName.mjs.map +1 -1
- package/lib/enhancement/enhance.js +6 -9
- package/lib/enhancement/enhance.js.map +1 -1
- package/lib/enhancement/enhance.mjs +5 -7
- package/lib/enhancement/enhance.mjs.map +1 -1
- package/lib/enhancement/functionDefaultProps.js +6 -6
- package/lib/enhancement/functionDefaultProps.js.map +1 -1
- package/lib/enhancement/functionDefaultProps.mjs +4 -4
- package/lib/enhancement/functionDefaultProps.mjs.map +1 -1
- package/lib/enhancement/i18n.js +13 -13
- package/lib/enhancement/i18n.js.map +1 -1
- package/lib/enhancement/i18n.mjs +10 -9
- package/lib/enhancement/i18n.mjs.map +1 -1
- package/lib/enhancement/inheritedName.js +7 -8
- package/lib/enhancement/inheritedName.js.map +1 -1
- package/lib/enhancement/inheritedName.mjs +5 -5
- package/lib/enhancement/inheritedName.mjs.map +1 -1
- package/lib/enhancement/staticChildren.js +47 -56
- package/lib/enhancement/staticChildren.js.map +1 -1
- package/lib/enhancement/staticChildren.mjs +43 -48
- package/lib/enhancement/staticChildren.mjs.map +1 -1
- package/lib/enhancement/style.js +29 -27
- package/lib/enhancement/style.js.map +1 -1
- package/lib/enhancement/style.mjs +26 -20
- package/lib/enhancement/style.mjs.map +1 -1
- package/lib/enhancement/uncontrolledProps.js +46 -64
- package/lib/enhancement/uncontrolledProps.js.map +1 -1
- package/lib/enhancement/uncontrolledProps.mjs +43 -51
- package/lib/enhancement/uncontrolledProps.mjs.map +1 -1
- package/lib/esm/LastInteractionType.mjs +19 -33
- package/lib/esm/core-types/Component.mjs +18 -34
- package/lib/esm/core-types/symbols.mjs +9 -9
- package/lib/esm/coreFactory.mjs +139 -194
- package/lib/esm/enhancement/Children.mjs +47 -41
- package/lib/esm/enhancement/Root.mjs +28 -18
- package/lib/esm/enhancement/dataName.mjs +5 -5
- package/lib/esm/enhancement/enhance.mjs +5 -7
- package/lib/esm/enhancement/functionDefaultProps.mjs +4 -4
- package/lib/esm/enhancement/i18n.mjs +10 -9
- package/lib/esm/enhancement/inheritedName.mjs +5 -5
- package/lib/esm/enhancement/staticChildren.mjs +43 -48
- package/lib/esm/enhancement/style.mjs +26 -20
- package/lib/esm/enhancement/uncontrolledProps.mjs +43 -51
- package/lib/esm/register.mjs +12 -20
- package/lib/esm/styled/reshadow-core.mjs +98 -111
- package/lib/esm/styled/sstyled.mjs +31 -41
- package/lib/esm/utils/assignProps.mjs +32 -36
- package/lib/esm/utils/enhances/WithI18n.mjs +16 -63
- package/lib/esm/utils/enhances/i18nEnhance.mjs +47 -61
- package/lib/esm/utils/logger.mjs +13 -21
- package/lib/esm/utils/pick.mjs +4 -4
- package/lib/esm/utils/ref.mjs +27 -57
- package/lib/esm/utils/use/useEnhancedEffect.mjs +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.js +17 -17
- package/lib/index.js.map +1 -1
- package/lib/index.mjs.map +1 -1
- package/lib/register.js +17 -24
- package/lib/register.js.map +1 -1
- package/lib/register.mjs +12 -20
- package/lib/register.mjs.map +1 -1
- package/lib/styled/index.d.ts +1 -5
- package/lib/styled/index.js +4 -4
- package/lib/styled/index.js.map +1 -1
- package/lib/styled/index.mjs.map +1 -1
- package/lib/styled/reshadow-core.js +102 -104
- package/lib/styled/reshadow-core.js.map +1 -1
- package/lib/styled/reshadow-core.mjs +98 -111
- package/lib/styled/reshadow-core.mjs.map +1 -1
- package/lib/styled/sstyled.js +31 -53
- package/lib/styled/sstyled.js.map +1 -1
- package/lib/styled/sstyled.mjs +31 -41
- package/lib/styled/sstyled.mjs.map +1 -1
- package/lib/theme/processor.js +150 -222
- package/lib/theme/processor.js.map +1 -1
- package/lib/theme/processor.mjs +148 -221
- package/lib/theme/processor.mjs.map +1 -1
- package/lib/theme/themes/dark.js +2 -2
- package/lib/theme/themes/dark.js.map +1 -1
- package/lib/theme/themes/default.js +2 -2
- package/lib/theme/themes/default.js.map +1 -1
- package/lib/theme/themes/highlights-dark.js +2 -2
- package/lib/theme/themes/highlights-dark.js.map +1 -1
- package/lib/theme/themes/highlights-light.js +2 -2
- package/lib/theme/themes/highlights-light.js.map +1 -1
- package/lib/theme/themes/light.js +2 -2
- package/lib/theme/themes/light.js.map +1 -1
- package/lib/theme/utils.js +140 -215
- package/lib/theme/utils.js.map +1 -1
- package/lib/theme/utils.mjs +135 -214
- package/lib/theme/utils.mjs.map +1 -1
- package/lib/utils/CSSinJS.js +8 -10
- package/lib/utils/CSSinJS.js.map +1 -1
- package/lib/utils/CSSinJS.mjs +6 -7
- package/lib/utils/CSSinJS.mjs.map +1 -1
- package/lib/utils/ThemeProvider.js +44 -51
- package/lib/utils/ThemeProvider.js.map +1 -1
- package/lib/utils/ThemeProvider.mjs +36 -47
- package/lib/utils/ThemeProvider.mjs.map +1 -1
- package/lib/utils/addonText.js +4 -7
- package/lib/utils/addonText.js.map +1 -1
- package/lib/utils/addonText.mjs +2 -5
- package/lib/utils/addonText.mjs.map +1 -1
- package/lib/utils/addonTextChildren.js +15 -21
- package/lib/utils/addonTextChildren.js.map +1 -1
- package/lib/utils/addonTextChildren.mjs +7 -13
- package/lib/utils/addonTextChildren.mjs.map +1 -1
- package/lib/utils/ariaProps.js +7 -5
- package/lib/utils/ariaProps.js.map +1 -1
- package/lib/utils/ariaProps.mjs +7 -5
- package/lib/utils/ariaProps.mjs.map +1 -1
- package/lib/utils/assignProps.js +33 -37
- package/lib/utils/assignProps.js.map +1 -1
- package/lib/utils/assignProps.mjs +32 -36
- package/lib/utils/assignProps.mjs.map +1 -1
- package/lib/utils/canUseDOM.js +1 -1
- package/lib/utils/capitalizeFirstLetter.js +1 -1
- package/lib/utils/color.js +72 -95
- package/lib/utils/color.js.map +1 -1
- package/lib/utils/color.mjs +71 -94
- package/lib/utils/color.mjs.map +1 -1
- package/lib/utils/compose.js +3 -12
- package/lib/utils/compose.js.map +1 -1
- package/lib/utils/compose.mjs +2 -11
- package/lib/utils/compose.mjs.map +1 -1
- package/lib/utils/createUUID.js +5 -5
- package/lib/utils/createUUID.js.map +1 -1
- package/lib/utils/createUUID.mjs +4 -4
- package/lib/utils/createUUID.mjs.map +1 -1
- package/lib/utils/cssToIntDefault.js +3 -4
- package/lib/utils/cssToIntDefault.js.map +1 -1
- package/lib/utils/cssToIntDefault.mjs +2 -3
- package/lib/utils/cssToIntDefault.mjs.map +1 -1
- package/lib/utils/enhances/WithCSS.d.ts +2 -30
- package/lib/utils/enhances/WithCSS.js +13 -64
- package/lib/utils/enhances/WithCSS.js.map +1 -1
- package/lib/utils/enhances/WithCSS.mjs +9 -59
- package/lib/utils/enhances/WithCSS.mjs.map +1 -1
- package/lib/utils/enhances/WithI18n.d.ts +1 -30
- package/lib/utils/enhances/WithI18n.js +20 -76
- package/lib/utils/enhances/WithI18n.js.map +1 -1
- package/lib/utils/enhances/WithI18n.mjs +16 -63
- package/lib/utils/enhances/WithI18n.mjs.map +1 -1
- package/lib/utils/enhances/a11yEnhance.js +34 -39
- package/lib/utils/enhances/a11yEnhance.js.map +1 -1
- package/lib/utils/enhances/a11yEnhance.mjs +32 -36
- package/lib/utils/enhances/a11yEnhance.mjs.map +1 -1
- package/lib/utils/enhances/animatedSizeEnhance.d.ts +0 -4
- package/lib/utils/enhances/animatedSizeEnhance.js +55 -65
- package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -1
- package/lib/utils/enhances/animatedSizeEnhance.mjs +50 -61
- package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -1
- package/lib/utils/enhances/contextEnhance.js +12 -11
- package/lib/utils/enhances/contextEnhance.js.map +1 -1
- package/lib/utils/enhances/contextEnhance.mjs +9 -8
- package/lib/utils/enhances/contextEnhance.mjs.map +1 -1
- package/lib/utils/enhances/i18nEnhance.d.ts +0 -4
- package/lib/utils/enhances/i18nEnhance.js +51 -69
- package/lib/utils/enhances/i18nEnhance.js.map +1 -1
- package/lib/utils/enhances/i18nEnhance.mjs +47 -61
- package/lib/utils/enhances/i18nEnhance.mjs.map +1 -1
- package/lib/utils/enhances/resolveColorEnhance.js +12 -10
- package/lib/utils/enhances/resolveColorEnhance.js.map +1 -1
- package/lib/utils/enhances/resolveColorEnhance.mjs +8 -6
- package/lib/utils/enhances/resolveColorEnhance.mjs.map +1 -1
- package/lib/utils/eventEmitter.d.ts +10 -6
- package/lib/utils/eventEmitter.js +33 -32
- package/lib/utils/eventEmitter.js.map +1 -1
- package/lib/utils/eventEmitter.mjs +30 -31
- package/lib/utils/eventEmitter.mjs.map +1 -1
- package/lib/utils/findComponent.js +35 -42
- package/lib/utils/findComponent.js.map +1 -1
- package/lib/utils/findComponent.mjs +26 -33
- package/lib/utils/findComponent.mjs.map +1 -1
- package/lib/utils/fire.js +7 -13
- package/lib/utils/fire.js.map +1 -1
- package/lib/utils/fire.mjs +5 -11
- package/lib/utils/fire.mjs.map +1 -1
- package/lib/utils/focus-lock/focusBorders.js +28 -32
- package/lib/utils/focus-lock/focusBorders.js.map +1 -1
- package/lib/utils/focus-lock/focusBorders.mjs +26 -32
- package/lib/utils/focus-lock/focusBorders.mjs.map +1 -1
- package/lib/utils/focus-lock/getFocusableIn.js +4 -6
- package/lib/utils/focus-lock/getFocusableIn.js.map +1 -1
- package/lib/utils/focus-lock/getFocusableIn.mjs +3 -6
- package/lib/utils/focus-lock/getFocusableIn.mjs.map +1 -1
- package/lib/utils/focus-lock/isFocusInside.js +5 -6
- package/lib/utils/focus-lock/isFocusInside.js.map +1 -1
- package/lib/utils/focus-lock/isFocusInside.mjs +4 -6
- package/lib/utils/focus-lock/isFocusInside.mjs.map +1 -1
- package/lib/utils/focus-lock/isFocusable.js +9 -12
- package/lib/utils/focus-lock/isFocusable.js.map +1 -1
- package/lib/utils/focus-lock/isFocusable.mjs +8 -11
- package/lib/utils/focus-lock/isFocusable.mjs.map +1 -1
- package/lib/utils/focus-lock/setFocus.js +21 -27
- package/lib/utils/focus-lock/setFocus.js.map +1 -1
- package/lib/utils/focus-lock/setFocus.mjs +19 -25
- package/lib/utils/focus-lock/setFocus.mjs.map +1 -1
- package/lib/utils/getAccessibleName.js +10 -22
- package/lib/utils/getAccessibleName.js.map +1 -1
- package/lib/utils/getAccessibleName.mjs +10 -21
- package/lib/utils/getAccessibleName.mjs.map +1 -1
- package/lib/utils/getDisplayName.js +1 -1
- package/lib/utils/getDisplayName.mjs +3 -5
- package/lib/utils/getEventTarget.js +13 -32
- package/lib/utils/getEventTarget.js.map +1 -1
- package/lib/utils/getEventTarget.mjs +12 -31
- package/lib/utils/getEventTarget.mjs.map +1 -1
- package/lib/utils/getOriginChildren.js +4 -4
- package/lib/utils/getOriginChildren.js.map +1 -1
- package/lib/utils/getRandomInt.js +1 -1
- package/lib/utils/getValue.js +4 -6
- package/lib/utils/getValue.js.map +1 -1
- package/lib/utils/getValue.mjs +3 -5
- package/lib/utils/getValue.mjs.map +1 -1
- package/lib/utils/hasLabels.js +16 -27
- package/lib/utils/hasLabels.js.map +1 -1
- package/lib/utils/hasLabels.mjs +14 -24
- package/lib/utils/hasLabels.mjs.map +1 -1
- package/lib/utils/hasParent.js +3 -2
- package/lib/utils/hasParent.js.map +1 -1
- package/lib/utils/hasParent.mjs +2 -3
- package/lib/utils/hasParent.mjs.map +1 -1
- package/lib/utils/ifChildren.js +6 -4
- package/lib/utils/ifChildren.js.map +1 -1
- package/lib/utils/ifChildren.mjs +4 -2
- package/lib/utils/ifChildren.mjs.map +1 -1
- package/lib/utils/injectStyle.js +11 -13
- package/lib/utils/injectStyle.js.map +1 -1
- package/lib/utils/injectStyle.mjs +9 -10
- package/lib/utils/injectStyle.mjs.map +1 -1
- package/lib/utils/inputProps.js +5 -5
- package/lib/utils/inputProps.js.map +1 -1
- package/lib/utils/inputProps.mjs +4 -4
- package/lib/utils/inputProps.mjs.map +1 -1
- package/lib/utils/isInteractiveElement.js +7 -9
- package/lib/utils/isInteractiveElement.js.map +1 -1
- package/lib/utils/isInteractiveElement.mjs +7 -9
- package/lib/utils/isInteractiveElement.mjs.map +1 -1
- package/lib/utils/isNode.js +4 -5
- package/lib/utils/isNode.js.map +1 -1
- package/lib/utils/isNode.mjs +1 -2
- package/lib/utils/isNode.mjs.map +1 -1
- package/lib/utils/isPromise.js +1 -1
- package/lib/utils/isRetina.js +7 -2
- package/lib/utils/isRetina.js.map +1 -1
- package/lib/utils/isRetina.mjs +6 -1
- package/lib/utils/isRetina.mjs.map +1 -1
- package/lib/utils/logger.js +18 -25
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/logger.mjs +13 -21
- package/lib/utils/logger.mjs.map +1 -1
- package/lib/utils/numericChecker.js +11 -18
- package/lib/utils/numericChecker.js.map +1 -1
- package/lib/utils/numericChecker.mjs +10 -17
- package/lib/utils/numericChecker.mjs.map +1 -1
- package/lib/utils/ownerDocument.js +2 -2
- package/lib/utils/ownerDocument.js.map +1 -1
- package/lib/utils/ownerDocument.mjs +1 -1
- package/lib/utils/ownerDocument.mjs.map +1 -1
- package/lib/utils/pick.js +5 -5
- package/lib/utils/pick.js.map +1 -1
- package/lib/utils/pick.mjs +4 -4
- package/lib/utils/pick.mjs.map +1 -1
- package/lib/utils/propsForElement.js +10 -12
- package/lib/utils/propsForElement.js.map +1 -1
- package/lib/utils/propsForElement.mjs +8 -10
- package/lib/utils/propsForElement.mjs.map +1 -1
- package/lib/utils/rafTrottle.js +9 -14
- package/lib/utils/rafTrottle.js.map +1 -1
- package/lib/utils/rafTrottle.mjs +7 -12
- package/lib/utils/rafTrottle.mjs.map +1 -1
- package/lib/utils/reactToText.js +5 -8
- package/lib/utils/reactToText.js.map +1 -1
- package/lib/utils/reactToText.mjs +3 -6
- package/lib/utils/reactToText.mjs.map +1 -1
- package/lib/utils/ref.d.ts +1 -3
- package/lib/utils/ref.js +29 -61
- package/lib/utils/ref.js.map +1 -1
- package/lib/utils/ref.mjs +27 -57
- package/lib/utils/ref.mjs.map +1 -1
- package/lib/utils/setRef.js +2 -2
- package/lib/utils/setRef.js.map +1 -1
- package/lib/utils/syncScroll.js +24 -24
- package/lib/utils/syncScroll.js.map +1 -1
- package/lib/utils/syncScroll.mjs +21 -21
- package/lib/utils/syncScroll.mjs.map +1 -1
- package/lib/utils/uncontroll.js +8 -18
- package/lib/utils/uncontroll.js.map +1 -1
- package/lib/utils/uncontroll.mjs +8 -17
- package/lib/utils/uncontroll.mjs.map +1 -1
- package/lib/utils/uniqueID.d.ts +0 -4
- package/lib/utils/uniqueID.js +23 -30
- package/lib/utils/uniqueID.js.map +1 -1
- package/lib/utils/uniqueID.mjs +19 -29
- package/lib/utils/uniqueID.mjs.map +1 -1
- package/lib/utils/use/useColorResolver.js +20 -21
- package/lib/utils/use/useColorResolver.js.map +1 -1
- package/lib/utils/use/useColorResolver.mjs +16 -18
- package/lib/utils/use/useColorResolver.mjs.map +1 -1
- package/lib/utils/use/useEnhancedEffect.d.ts +1 -1
- package/lib/utils/use/useEnhancedEffect.js +4 -4
- package/lib/utils/use/useEnhancedEffect.js.map +1 -1
- package/lib/utils/use/useEnhancedEffect.mjs +1 -1
- package/lib/utils/use/useEnhancedEffect.mjs.map +1 -1
- package/lib/utils/use/useEventCallback.js +5 -10
- package/lib/utils/use/useEventCallback.js.map +1 -1
- package/lib/utils/use/useEventCallback.mjs +3 -8
- package/lib/utils/use/useEventCallback.mjs.map +1 -1
- package/lib/utils/use/useEventListener.js +11 -15
- package/lib/utils/use/useEventListener.js.map +1 -1
- package/lib/utils/use/useEventListener.mjs +7 -11
- package/lib/utils/use/useEventListener.mjs.map +1 -1
- package/lib/utils/use/useFocusLock.js +80 -94
- package/lib/utils/use/useFocusLock.js.map +1 -1
- package/lib/utils/use/useFocusLock.mjs +71 -88
- package/lib/utils/use/useFocusLock.mjs.map +1 -1
- package/lib/utils/use/usePreventScroll.js +26 -28
- package/lib/utils/use/usePreventScroll.js.map +1 -1
- package/lib/utils/use/usePreventScroll.mjs +21 -23
- package/lib/utils/use/usePreventScroll.mjs.map +1 -1
- package/lib/utils/use/useScrollBarWidth.js +8 -14
- package/lib/utils/use/useScrollBarWidth.js.map +1 -1
- package/lib/utils/use/useScrollBarWidth.mjs +8 -13
- package/lib/utils/use/useScrollBarWidth.mjs.map +1 -1
- package/lib/utils/useCssVariable.js +32 -37
- package/lib/utils/useCssVariable.js.map +1 -1
- package/lib/utils/useCssVariable.mjs +27 -34
- package/lib/utils/useCssVariable.mjs.map +1 -1
- package/lib/utils/zIndexStacking.d.ts +3 -1
- package/lib/utils/zIndexStacking.js +28 -24
- package/lib/utils/zIndexStacking.js.map +1 -1
- package/lib/utils/zIndexStacking.mjs +23 -22
- package/lib/utils/zIndexStacking.mjs.map +1 -1
- package/package.json +129 -129
- package/lib/enhancement/bindHandler.d.ts +0 -5
- package/lib/enhancement/bindHandler.js +0 -53
- package/lib/enhancement/bindHandler.js.map +0 -1
- package/lib/enhancement/bindHandler.mjs +0 -48
- package/lib/enhancement/bindHandler.mjs.map +0 -1
- package/lib/enhancement/hoistProps.d.ts +0 -10
- package/lib/enhancement/hoistProps.js +0 -95
- package/lib/enhancement/hoistProps.js.map +0 -1
- package/lib/enhancement/hoistProps.mjs +0 -78
- package/lib/enhancement/hoistProps.mjs.map +0 -1
- package/lib/esm/enhancement/bindHandler.mjs +0 -48
- package/lib/esm/enhancement/hoistProps.mjs +0 -78
- package/lib/esm/utils/createHoc.mjs +0 -42
- package/lib/esm/utils/getDisplayName.mjs +0 -6
- package/lib/utils/ScreenReaderOnly.d.ts +0 -8
- package/lib/utils/ScreenReaderOnly.js +0 -30
- package/lib/utils/ScreenReaderOnly.js.map +0 -1
- package/lib/utils/ScreenReaderOnly.mjs +0 -24
- package/lib/utils/ScreenReaderOnly.mjs.map +0 -1
- package/lib/utils/createHoc.d.ts +0 -3
- package/lib/utils/createHoc.js +0 -52
- package/lib/utils/createHoc.js.map +0 -1
- package/lib/utils/createHoc.mjs +0 -42
- package/lib/utils/createHoc.mjs.map +0 -1
- package/lib/utils/enhances/WithAutoFocus.d.ts +0 -14
- package/lib/utils/enhances/WithAutoFocus.js +0 -72
- package/lib/utils/enhances/WithAutoFocus.js.map +0 -1
- package/lib/utils/enhances/WithAutoFocus.mjs +0 -66
- package/lib/utils/enhances/WithAutoFocus.mjs.map +0 -1
- package/lib/utils/enhances/WithKeyboardFocus.d.ts +0 -46
- package/lib/utils/enhances/WithKeyboardFocus.js +0 -94
- package/lib/utils/enhances/WithKeyboardFocus.js.map +0 -1
- package/lib/utils/enhances/WithKeyboardFocus.mjs +0 -88
- package/lib/utils/enhances/WithKeyboardFocus.mjs.map +0 -1
- package/lib/utils/enhances/WithRef.d.ts +0 -3
- package/lib/utils/enhances/WithRef.js +0 -25
- package/lib/utils/enhances/WithRef.js.map +0 -1
- package/lib/utils/enhances/WithRef.mjs +0 -18
- package/lib/utils/enhances/WithRef.mjs.map +0 -1
- package/lib/utils/enhances/autoFocusEnhance.d.ts +0 -10
- package/lib/utils/enhances/autoFocusEnhance.js +0 -45
- package/lib/utils/enhances/autoFocusEnhance.js.map +0 -1
- package/lib/utils/enhances/autoFocusEnhance.mjs +0 -38
- package/lib/utils/enhances/autoFocusEnhance.mjs.map +0 -1
- package/lib/utils/enhances/keyboardFocusEnhance.d.ts +0 -27
- package/lib/utils/enhances/keyboardFocusEnhance.js +0 -63
- package/lib/utils/enhances/keyboardFocusEnhance.js.map +0 -1
- package/lib/utils/enhances/keyboardFocusEnhance.mjs +0 -57
- package/lib/utils/enhances/keyboardFocusEnhance.mjs.map +0 -1
- package/lib/utils/if.d.ts +0 -11
- package/lib/utils/if.js +0 -15
- package/lib/utils/if.js.map +0 -1
- package/lib/utils/if.mjs +0 -9
- package/lib/utils/if.mjs.map +0 -1
- package/lib/utils/use/useCss.d.ts +0 -4
- package/lib/utils/use/useCss.js +0 -19
- package/lib/utils/use/useCss.js.map +0 -1
- package/lib/utils/use/useCss.mjs +0 -12
- package/lib/utils/use/useCss.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","names":["_nodeChild_process","require","_promises","_interopRequireDefault","_nodePath","_nodeUrl","_fastGlob","_postcss","_postcssValueParser","_utils","writeIfChanged","exports","_ref","_asyncToGenerator2","_regenerator2","m","_callee","path","content","originalContent","_t","w","_context","p","n","fs","readFile","v","replace","a","writeFile","_x","_x2","apply","arguments","defaultTheme","themes","warning","process","argv","includes","dirname","resolvePath","fileURLToPath","import","meta","url","autoTheme","_loop","theme","_themes","_i","prefix","_JSON$parse","JSON","parse","concat","base","tokens","featureHighlight","processed","processTokens","values","types","rawValues","descriptions","basicTokens","highlightsTokens","processedTokens","tokensToCss","tokensToJs","length","usages","projectCssPaths","glob","ignore","filter","split","some","pathPart","projectCssContents","Promise","all","map","usedVariables","colorLiterals","processedCss","cssContent","fileIndex","postcss","postcssPlugin","prepare","result","traverseAst","nodes","_iterator","_createForOfIteratorHelper2","_step","_loop2","node","value","valueAst","valuesParser","traverseValueAst","parent","_iterator2","_step2","s","done","_usages$withoutPrefix","valueNode","type","Error","parentIsVariable","prevNode","indexOf","skipNode","text","trim","startsWith","location","source","start","line","offset","push","name","endsWith","prop","variableName","hasDefault","sourceIndex","before","after","withoutPrefix","substring","err","e","f","toString","root","from","undefined","index","css","unusedVariables","variable","console","log","join","_iterator3","_step3","literal","designTokensDocumentation","token","has","_usages$token","components","_toConsumableArray2","Set","cssPath","sort","b","localeCompare","rawValue","computedValue","description","baseTokensDocumentation","processGroup","group","data","key","_data$key$description","stringify","autoThemeLines","selector","execSync","encoding","cwd","stdio"],"sources":["../../src/theme/processor.ts"],"sourcesContent":["import { execSync } from 'node:child_process';\nimport fs from 'node:fs/promises';\nimport { resolve as resolvePath } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nimport glob from 'fast-glob';\nimport postcss from 'postcss';\nimport valuesParser from 'postcss-value-parser';\n\nimport { processTokens, tokensToCss, tokensToJs, tokensToJson } from './utils';\n\ntype Token = {\n name: string;\n value: string;\n description?: string;\n};\n\nexport const writeIfChanged = async (path: string, content: string) => {\n try {\n const originalContent = await fs.readFile(path, 'utf-8');\n if (originalContent.replace(/[\\s\\n]/g, '') === content.replace(/[\\s\\n]/g, '')) {\n return;\n }\n } catch {}\n await fs.writeFile(path, content);\n};\n\nconst defaultTheme = 'light';\nconst themes = ['light', 'dark'];\n\nconst warning = !process.argv.includes('--no-warning');\n\nconst dirname = resolvePath(fileURLToPath(import.meta.url), '..');\n\nconst autoTheme: Record<string, { name: string; value: string; description: string }[]> = {};\n\nfor (const theme of themes) {\n const prefix = 'intergalactic';\n const { base, tokens, featureHighlight } = JSON.parse(\n await fs.readFile(resolvePath(dirname, `./${theme}.json`), 'utf-8'),\n );\n const processed = processTokens(\n base,\n tokens,\n featureHighlight,\n prefix,\n );\n const { values, types, rawValues, descriptions, basicTokens, highlightsTokens } = processed;\n const { processedTokens } = processed;\n\n await writeIfChanged(\n `./semcore/core/src/theme/themes/${theme}.css`,\n tokensToCss(processedTokens),\n );\n await writeIfChanged(`./semcore/core/src/theme/themes/${theme}.ts`, tokensToJs(processedTokens));\n\n if (highlightsTokens.length > 0) {\n await writeIfChanged(\n `./semcore/core/src/theme/themes/highlights-${theme}.css`,\n tokensToCss(highlightsTokens),\n );\n await writeIfChanged(`./semcore/core/src/theme/themes/highlights-${theme}.ts`, tokensToJs(highlightsTokens));\n }\n\n autoTheme[theme] = processedTokens;\n\n const usages: { [tokenName: string]: string[] } = {};\n if (theme === defaultTheme) {\n await writeIfChanged(\n './semcore/core/src/theme/themes/default.css',\n tokensToCss(processedTokens),\n );\n await writeIfChanged('./semcore/core/src/theme/themes/default.ts', tokensToJs(processedTokens));\n\n const projectCssPaths = (\n await glob('./semcore/*/src/**/*.shadow.css', {\n ignore: ['node_modules', 'lib'],\n })\n ).filter((path) => {\n if (path.split('/').some((pathPart) => ['chart', 'email', 'table'].includes(pathPart))) {\n return false;\n }\n return true;\n });\n\n const projectCssContents = await Promise.all(\n projectCssPaths.map((path) => fs.readFile(path, 'utf-8')),\n );\n\n const usedVariables: any = {};\n\n const colorLiterals: { path: string; name: string }[] = [];\n\n const processedCss = await Promise.all(\n projectCssContents.map((cssContent, fileIndex) =>\n postcss([\n {\n postcssPlugin: 'variables-explored',\n prepare: (result) => {\n const traverseAst = (nodes: any[]) => {\n for (const node of nodes) {\n if (node.nodes) {\n traverseAst(node.nodes);\n }\n if (node.value) {\n const valueAst = valuesParser(node.value);\n const traverseValueAst = (nodes: any[], parent: any) => {\n for (const valueNode of nodes) {\n if (valueNode.nodes) traverseValueAst(valueNode.nodes, valueNode);\n if (valueNode.type === 'function' && valueNode.value === 'color-mod') {\n throw new Error(\n `Found restricted function color-mod in ${projectCssPaths[fileIndex]}`,\n );\n }\n\n const parentIsVariable =\n parent?.type === 'function' && parent?.value === 'var';\n if (!parentIsVariable) {\n const prevNode = node.parent.nodes[node.parent.nodes.indexOf(node) - 1];\n const skipNode =\n prevNode?.type === 'comment' &&\n prevNode.text.trim() === 'disable-tokens-validator';\n if (skipNode) continue;\n\n if (\n valueNode.type === 'word' &&\n (valueNode.value.startsWith('#') || valueNode.value.startsWith('rgb'))\n ) {\n const location = `${node.source.start.line}:${node.source.start.offset}`;\n colorLiterals.push({\n path: `${projectCssPaths[fileIndex]}:${location}`,\n name: valueNode.value,\n });\n }\n if (\n valueNode.type === 'word' &&\n valueNode.value.endsWith('px') &&\n (node.prop.includes('padding') ||\n node.prop.includes('margin') ||\n node.prop.includes('radius') ||\n node.prop.includes('font-size'))\n ) {\n const location = `${node.source.start.line}:${node.source.start.offset}`;\n colorLiterals.push({\n path: `${projectCssPaths[fileIndex]}:${location}`,\n name: valueNode.value,\n });\n }\n }\n if (valueNode.type !== 'function' || valueNode.value !== 'var') continue;\n const variableName = valueNode.nodes[0].value;\n if (!variableName.startsWith(`--${prefix}`)) {\n // if (legacyCssVariables[variableName] !== undefined) {\n // legacyCssVariables[variableName]++;\n // }\n continue;\n }\n const hasDefault = valueNode.nodes.length === 3;\n if (!hasDefault) {\n valueNode.nodes.push(\n {\n type: 'div',\n sourceIndex: -1,\n value: ',',\n before: '',\n after: ' ',\n },\n {\n type: 'word',\n sourceIndex: -1,\n value: '',\n },\n );\n }\n const withoutPrefix = variableName.substring(`--${prefix}-`.length);\n usedVariables[withoutPrefix] = true;\n if (!values[withoutPrefix]) {\n throw new Error(\n `Variable ${variableName} is used in project but not presented in design tokens list`,\n );\n }\n valueNode.nodes[2].type = 'word';\n valueNode.nodes[2].value = values[withoutPrefix];\n valueNode.nodes[2].nodes = [];\n valueNode.nodes.length = 3;\n usages[withoutPrefix] = usages[withoutPrefix] ?? [];\n usages[withoutPrefix].push(projectCssPaths[fileIndex]);\n }\n };\n traverseValueAst(valueAst.nodes, null);\n node.value = valueAst.toString();\n }\n }\n };\n traverseAst(result.root.nodes);\n return {};\n },\n },\n ]).process(cssContent, {\n from: undefined,\n }),\n ),\n );\n await Promise.all(\n projectCssPaths.map((path, index) => writeIfChanged(path, processedCss[index].css)),\n );\n\n const unusedVariables: string[] = [];\n for (const variable in values) {\n if (!usedVariables[variable]) {\n unusedVariables.push(variable);\n }\n }\n\n if (warning) {\n if (unusedVariables.length > 0) {\n // eslint-disable-next-line no-console\n console.log('Unused design tokens:');\n // eslint-disable-next-line no-console\n console.log(unusedVariables.join('\\n'));\n }\n if (colorLiterals.length > 0) {\n // eslint-disable-next-line no-console\n console.log('Unexpected color literals:');\n for (const literal of colorLiterals) {\n // eslint-disable-next-line no-console\n console.log(`${literal.name} in ${literal.path}`);\n }\n }\n }\n\n const designTokensDocumentation: {\n name: string;\n type: string;\n rawValue: string;\n computedValue: string;\n description: string;\n components: string[];\n }[] = [];\n\n for (const token in values) {\n if (!basicTokens.has(token)) {\n const components = [\n ...new Set((usages[token] ?? []).map((cssPath) => cssPath.split('/')[2])),\n ];\n components.sort((a, b) => a.localeCompare(b));\n\n designTokensDocumentation.push({\n name: `--${prefix}-${token}`,\n type: types[token],\n rawValue: rawValues[token],\n computedValue: values[token],\n description: descriptions[token],\n components,\n });\n }\n }\n\n const baseTokensDocumentation: Token[] = [];\n\n const processGroup = (group: string, data: any) => {\n for (const key in data) {\n if (data[key].value) {\n const token: Token = {\n name: `--${group}-${key}`,\n value: data[key].value,\n };\n\n if (data[key].description?.trim()) {\n token.description = data[key].description;\n }\n\n baseTokensDocumentation.push(token);\n } else {\n processGroup(`${group}-${key}`, data[key]);\n }\n }\n };\n\n for (const group in base) {\n processGroup(group, base[group]);\n }\n\n await writeIfChanged(\n resolvePath(dirname, '../../../../website/docs/style/design-tokens/design-tokens.json'),\n JSON.stringify(designTokensDocumentation, null, 2) + '\\n',\n );\n await writeIfChanged(\n resolvePath(dirname, '../../../../website/docs/style/design-tokens/base-tokens.json'),\n JSON.stringify(baseTokensDocumentation, null, 2) + '\\n',\n );\n }\n}\n\nconst autoThemeLines: string[] = [];\nfor (const theme in autoTheme) {\n const selector = theme === defaultTheme ? ':root' : `.${theme}`;\n autoThemeLines.push(tokensToCss(autoTheme[theme], selector));\n}\n\nawait writeIfChanged('./semcore/core/src/theme/themes/auto.css', autoThemeLines.join('\\n'));\n\nexecSync('pnpm lint:css --fix', {\n encoding: 'utf-8',\n cwd: resolvePath(dirname, '../../../../'),\n stdio: ['inherit', 'inherit', 'inherit'],\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"processor.js","names":["_nodeChild_process","require","_promises","_interopRequireDefault","_nodePath","_nodeUrl","_fastGlob","_postcss","_postcssValueParser","_utils","writeIfChanged","path","content","originalContent","fs","readFile","replace","writeFile","exports","defaultTheme","themes","warning","process","argv","includes","dirname","resolvePath","fileURLToPath","import","meta","url","autoTheme","theme","prefix","base","tokens","featureHighlight","JSON","parse","processed","processTokens","values","types","rawValues","descriptions","basicTokens","highlightsTokens","processedTokens","tokensToCss","tokensToJs","length","usages","projectCssPaths","glob","ignore","filter","split","some","pathPart","projectCssContents","Promise","all","map","usedVariables","colorLiterals","processedCss","cssContent","fileIndex","postcss","postcssPlugin","prepare","result","traverseAst","nodes","node","value","valueAst","valuesParser","traverseValueAst","parent","valueNode","type","Error","parentIsVariable","prevNode","indexOf","skipNode","text","trim","startsWith","location","source","start","line","offset","push","name","endsWith","prop","variableName","hasDefault","sourceIndex","before","after","withoutPrefix","substring","toString","root","from","undefined","index","css","unusedVariables","variable","console","log","join","literal","designTokensDocumentation","token","has","components","Set","cssPath","sort","a","b","localeCompare","rawValue","computedValue","description","baseTokensDocumentation","processGroup","group","data","key","stringify","autoThemeLines","selector","execSync","encoding","cwd","stdio"],"sources":["../../src/theme/processor.ts"],"sourcesContent":["import { execSync } from 'node:child_process';\nimport fs from 'node:fs/promises';\nimport { resolve as resolvePath } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nimport glob from 'fast-glob';\nimport postcss from 'postcss';\nimport valuesParser from 'postcss-value-parser';\n\nimport { processTokens, tokensToCss, tokensToJs, tokensToJson } from './utils';\n\ntype Token = {\n name: string;\n value: string;\n description?: string;\n};\n\nexport const writeIfChanged = async (path: string, content: string) => {\n try {\n const originalContent = await fs.readFile(path, 'utf-8');\n if (originalContent.replace(/[\\s\\n]/g, '') === content.replace(/[\\s\\n]/g, '')) {\n return;\n }\n } catch {}\n await fs.writeFile(path, content);\n};\n\nconst defaultTheme = 'light';\nconst themes = ['light', 'dark'];\n\nconst warning = !process.argv.includes('--no-warning');\n\nconst dirname = resolvePath(fileURLToPath(import.meta.url), '..');\n\nconst autoTheme: Record<string, { name: string; value: string; description: string }[]> = {};\n\nfor (const theme of themes) {\n const prefix = 'intergalactic';\n const { base, tokens, featureHighlight } = JSON.parse(\n await fs.readFile(resolvePath(dirname, `./${theme}.json`), 'utf-8'),\n );\n const processed = processTokens(\n base,\n tokens,\n featureHighlight,\n prefix,\n );\n const { values, types, rawValues, descriptions, basicTokens, highlightsTokens } = processed;\n const { processedTokens } = processed;\n\n await writeIfChanged(\n `./semcore/core/src/theme/themes/${theme}.css`,\n tokensToCss(processedTokens),\n );\n await writeIfChanged(`./semcore/core/src/theme/themes/${theme}.ts`, tokensToJs(processedTokens));\n\n if (highlightsTokens.length > 0) {\n await writeIfChanged(\n `./semcore/core/src/theme/themes/highlights-${theme}.css`,\n tokensToCss(highlightsTokens),\n );\n await writeIfChanged(`./semcore/core/src/theme/themes/highlights-${theme}.ts`, tokensToJs(highlightsTokens));\n }\n\n autoTheme[theme] = processedTokens;\n\n const usages: { [tokenName: string]: string[] } = {};\n if (theme === defaultTheme) {\n await writeIfChanged(\n './semcore/core/src/theme/themes/default.css',\n tokensToCss(processedTokens),\n );\n await writeIfChanged('./semcore/core/src/theme/themes/default.ts', tokensToJs(processedTokens));\n\n const projectCssPaths = (\n await glob('./semcore/*/src/**/*.shadow.css', {\n ignore: ['node_modules', 'lib'],\n })\n ).filter((path) => {\n if (path.split('/').some((pathPart) => ['chart', 'email', 'table'].includes(pathPart))) {\n return false;\n }\n return true;\n });\n\n const projectCssContents = await Promise.all(\n projectCssPaths.map((path) => fs.readFile(path, 'utf-8')),\n );\n\n const usedVariables: any = {};\n\n const colorLiterals: { path: string; name: string }[] = [];\n\n const processedCss = await Promise.all(\n projectCssContents.map((cssContent, fileIndex) =>\n postcss([\n {\n postcssPlugin: 'variables-explored',\n prepare: (result) => {\n const traverseAst = (nodes: any[]) => {\n for (const node of nodes) {\n if (node.nodes) {\n traverseAst(node.nodes);\n }\n if (node.value) {\n const valueAst = valuesParser(node.value);\n const traverseValueAst = (nodes: any[], parent: any) => {\n for (const valueNode of nodes) {\n if (valueNode.nodes) traverseValueAst(valueNode.nodes, valueNode);\n if (valueNode.type === 'function' && valueNode.value === 'color-mod') {\n throw new Error(\n `Found restricted function color-mod in ${projectCssPaths[fileIndex]}`,\n );\n }\n\n const parentIsVariable =\n parent?.type === 'function' && parent?.value === 'var';\n if (!parentIsVariable) {\n const prevNode = node.parent.nodes[node.parent.nodes.indexOf(node) - 1];\n const skipNode =\n prevNode?.type === 'comment' &&\n prevNode.text.trim() === 'disable-tokens-validator';\n if (skipNode) continue;\n\n if (\n valueNode.type === 'word' &&\n (valueNode.value.startsWith('#') || valueNode.value.startsWith('rgb'))\n ) {\n const location = `${node.source.start.line}:${node.source.start.offset}`;\n colorLiterals.push({\n path: `${projectCssPaths[fileIndex]}:${location}`,\n name: valueNode.value,\n });\n }\n if (\n valueNode.type === 'word' &&\n valueNode.value.endsWith('px') &&\n (node.prop.includes('padding') ||\n node.prop.includes('margin') ||\n node.prop.includes('radius') ||\n node.prop.includes('font-size'))\n ) {\n const location = `${node.source.start.line}:${node.source.start.offset}`;\n colorLiterals.push({\n path: `${projectCssPaths[fileIndex]}:${location}`,\n name: valueNode.value,\n });\n }\n }\n if (valueNode.type !== 'function' || valueNode.value !== 'var') continue;\n const variableName = valueNode.nodes[0].value;\n if (!variableName.startsWith(`--${prefix}`)) {\n // if (legacyCssVariables[variableName] !== undefined) {\n // legacyCssVariables[variableName]++;\n // }\n continue;\n }\n const hasDefault = valueNode.nodes.length === 3;\n if (!hasDefault) {\n valueNode.nodes.push(\n {\n type: 'div',\n sourceIndex: -1,\n value: ',',\n before: '',\n after: ' ',\n },\n {\n type: 'word',\n sourceIndex: -1,\n value: '',\n },\n );\n }\n const withoutPrefix = variableName.substring(`--${prefix}-`.length);\n usedVariables[withoutPrefix] = true;\n if (!values[withoutPrefix]) {\n throw new Error(\n `Variable ${variableName} is used in project but not presented in design tokens list`,\n );\n }\n valueNode.nodes[2].type = 'word';\n valueNode.nodes[2].value = values[withoutPrefix];\n valueNode.nodes[2].nodes = [];\n valueNode.nodes.length = 3;\n usages[withoutPrefix] = usages[withoutPrefix] ?? [];\n usages[withoutPrefix].push(projectCssPaths[fileIndex]);\n }\n };\n traverseValueAst(valueAst.nodes, null);\n node.value = valueAst.toString();\n }\n }\n };\n traverseAst(result.root.nodes);\n return {};\n },\n },\n ]).process(cssContent, {\n from: undefined,\n }),\n ),\n );\n await Promise.all(\n projectCssPaths.map((path, index) => writeIfChanged(path, processedCss[index].css)),\n );\n\n const unusedVariables: string[] = [];\n for (const variable in values) {\n if (!usedVariables[variable]) {\n unusedVariables.push(variable);\n }\n }\n\n if (warning) {\n if (unusedVariables.length > 0) {\n // eslint-disable-next-line no-console\n console.log('Unused design tokens:');\n // eslint-disable-next-line no-console\n console.log(unusedVariables.join('\\n'));\n }\n if (colorLiterals.length > 0) {\n // eslint-disable-next-line no-console\n console.log('Unexpected color literals:');\n for (const literal of colorLiterals) {\n // eslint-disable-next-line no-console\n console.log(`${literal.name} in ${literal.path}`);\n }\n }\n }\n\n const designTokensDocumentation: {\n name: string;\n type: string;\n rawValue: string;\n computedValue: string;\n description: string;\n components: string[];\n }[] = [];\n\n for (const token in values) {\n if (!basicTokens.has(token)) {\n const components = [\n ...new Set((usages[token] ?? []).map((cssPath) => cssPath.split('/')[2])),\n ];\n components.sort((a, b) => a.localeCompare(b));\n\n designTokensDocumentation.push({\n name: `--${prefix}-${token}`,\n type: types[token],\n rawValue: rawValues[token],\n computedValue: values[token],\n description: descriptions[token],\n components,\n });\n }\n }\n\n const baseTokensDocumentation: Token[] = [];\n\n const processGroup = (group: string, data: any) => {\n for (const key in data) {\n if (data[key].value) {\n const token: Token = {\n name: `--${group}-${key}`,\n value: data[key].value,\n };\n\n if (data[key].description?.trim()) {\n token.description = data[key].description;\n }\n\n baseTokensDocumentation.push(token);\n } else {\n processGroup(`${group}-${key}`, data[key]);\n }\n }\n };\n\n for (const group in base) {\n processGroup(group, base[group]);\n }\n\n await writeIfChanged(\n resolvePath(dirname, '../../../../website/docs/style/design-tokens/design-tokens.json'),\n JSON.stringify(designTokensDocumentation, null, 2) + '\\n',\n );\n await writeIfChanged(\n resolvePath(dirname, '../../../../website/docs/style/design-tokens/base-tokens.json'),\n JSON.stringify(baseTokensDocumentation, null, 2) + '\\n',\n );\n }\n}\n\nconst autoThemeLines: string[] = [];\nfor (const theme in autoTheme) {\n const selector = theme === defaultTheme ? ':root' : `.${theme}`;\n autoThemeLines.push(tokensToCss(autoTheme[theme], selector));\n}\n\nawait writeIfChanged('./semcore/core/src/theme/themes/auto.css', autoThemeLines.join('\\n'));\n\nexecSync('pnpm lint:css --fix', {\n encoding: 'utf-8',\n cwd: resolvePath(dirname, '../../../../'),\n stdio: ['inherit', 'inherit', 'inherit'],\n});\n"],"mappings":"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","ignoreList":[]}
|
package/lib/theme/processor.mjs
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
|
-
import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
|
|
3
|
-
import _regenerator from "@babel/runtime/helpers/esm/regenerator";
|
|
4
|
-
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
5
1
|
import { execSync } from 'node:child_process';
|
|
6
2
|
import fs from 'node:fs/promises';
|
|
7
3
|
import { resolve as resolvePath } from 'node:path';
|
|
@@ -10,197 +6,146 @@ import glob from 'fast-glob';
|
|
|
10
6
|
import postcss from 'postcss';
|
|
11
7
|
import valuesParser from 'postcss-value-parser';
|
|
12
8
|
import { processTokens, tokensToCss, tokensToJs } from "./utils.mjs";
|
|
13
|
-
export
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
};
|
|
46
|
-
}();
|
|
47
|
-
|
|
48
|
-
var themes = ['light', 'dark'];
|
|
49
|
-
var warning = !process.argv.includes('--no-warning');
|
|
50
|
-
var dirname = resolvePath(fileURLToPath(import.meta.url), '..');
|
|
51
|
-
var autoTheme = {};
|
|
52
|
-
var _loop = function _loop() {
|
|
53
|
-
var theme = _themes[_i];
|
|
54
|
-
var prefix = 'intergalactic';
|
|
55
|
-
var _JSON$parse = JSON.parse(await fs.readFile(resolvePath(dirname, "./".concat(theme, ".json")), 'utf-8')),
|
|
56
|
-
base = _JSON$parse.base,
|
|
57
|
-
tokens = _JSON$parse.tokens,
|
|
58
|
-
featureHighlight = _JSON$parse.featureHighlight;
|
|
59
|
-
var processed = processTokens(base, tokens, featureHighlight, prefix);
|
|
60
|
-
var values = processed.values,
|
|
61
|
-
types = processed.types,
|
|
62
|
-
rawValues = processed.rawValues,
|
|
63
|
-
descriptions = processed.descriptions,
|
|
64
|
-
basicTokens = processed.basicTokens,
|
|
65
|
-
highlightsTokens = processed.highlightsTokens;
|
|
66
|
-
var processedTokens = processed.processedTokens;
|
|
67
|
-
await writeIfChanged("./semcore/core/src/theme/themes/".concat(theme, ".css"), tokensToCss(processedTokens));
|
|
68
|
-
await writeIfChanged("./semcore/core/src/theme/themes/".concat(theme, ".ts"), tokensToJs(processedTokens));
|
|
9
|
+
export const writeIfChanged = async (path, content) => {
|
|
10
|
+
try {
|
|
11
|
+
const originalContent = await fs.readFile(path, 'utf-8');
|
|
12
|
+
if (originalContent.replace(/[\s\n]/g, '') === content.replace(/[\s\n]/g, '')) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
} catch {}
|
|
16
|
+
await fs.writeFile(path, content);
|
|
17
|
+
};
|
|
18
|
+
const defaultTheme = 'light';
|
|
19
|
+
const themes = ['light', 'dark'];
|
|
20
|
+
const warning = !process.argv.includes('--no-warning');
|
|
21
|
+
const dirname = resolvePath(fileURLToPath(import.meta.url), '..');
|
|
22
|
+
const autoTheme = {};
|
|
23
|
+
for (const theme of themes) {
|
|
24
|
+
const prefix = 'intergalactic';
|
|
25
|
+
const {
|
|
26
|
+
base,
|
|
27
|
+
tokens,
|
|
28
|
+
featureHighlight
|
|
29
|
+
} = JSON.parse(await fs.readFile(resolvePath(dirname, `./${theme}.json`), 'utf-8'));
|
|
30
|
+
const processed = processTokens(base, tokens, featureHighlight, prefix);
|
|
31
|
+
const {
|
|
32
|
+
values,
|
|
33
|
+
types,
|
|
34
|
+
rawValues,
|
|
35
|
+
descriptions,
|
|
36
|
+
basicTokens,
|
|
37
|
+
highlightsTokens
|
|
38
|
+
} = processed;
|
|
39
|
+
const {
|
|
40
|
+
processedTokens
|
|
41
|
+
} = processed;
|
|
42
|
+
await writeIfChanged(`./semcore/core/src/theme/themes/${theme}.css`, tokensToCss(processedTokens));
|
|
43
|
+
await writeIfChanged(`./semcore/core/src/theme/themes/${theme}.ts`, tokensToJs(processedTokens));
|
|
69
44
|
if (highlightsTokens.length > 0) {
|
|
70
|
-
await writeIfChanged(
|
|
71
|
-
await writeIfChanged(
|
|
45
|
+
await writeIfChanged(`./semcore/core/src/theme/themes/highlights-${theme}.css`, tokensToCss(highlightsTokens));
|
|
46
|
+
await writeIfChanged(`./semcore/core/src/theme/themes/highlights-${theme}.ts`, tokensToJs(highlightsTokens));
|
|
72
47
|
}
|
|
73
48
|
autoTheme[theme] = processedTokens;
|
|
74
|
-
|
|
49
|
+
const usages = {};
|
|
75
50
|
if (theme === defaultTheme) {
|
|
76
51
|
await writeIfChanged('./semcore/core/src/theme/themes/default.css', tokensToCss(processedTokens));
|
|
77
52
|
await writeIfChanged('./semcore/core/src/theme/themes/default.ts', tokensToJs(processedTokens));
|
|
78
|
-
|
|
53
|
+
const projectCssPaths = (await glob('./semcore/*/src/**/*.shadow.css', {
|
|
79
54
|
ignore: ['node_modules', 'lib']
|
|
80
|
-
})).filter(
|
|
81
|
-
if (path.split('/').some(
|
|
82
|
-
return ['chart', 'email', 'table'].includes(pathPart);
|
|
83
|
-
})) {
|
|
55
|
+
})).filter(path => {
|
|
56
|
+
if (path.split('/').some(pathPart => ['chart', 'email', 'table'].includes(pathPart))) {
|
|
84
57
|
return false;
|
|
85
58
|
}
|
|
86
59
|
return true;
|
|
87
60
|
});
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
var location = "".concat(node.source.start.line, ":").concat(node.source.start.offset);
|
|
126
|
-
colorLiterals.push({
|
|
127
|
-
path: "".concat(projectCssPaths[fileIndex], ":").concat(location),
|
|
128
|
-
name: valueNode.value
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
if (valueNode.type === 'word' && valueNode.value.endsWith('px') && (node.prop.includes('padding') || node.prop.includes('margin') || node.prop.includes('radius') || node.prop.includes('font-size'))) {
|
|
132
|
-
var _location = "".concat(node.source.start.line, ":").concat(node.source.start.offset);
|
|
133
|
-
colorLiterals.push({
|
|
134
|
-
path: "".concat(projectCssPaths[fileIndex], ":").concat(_location),
|
|
135
|
-
name: valueNode.value
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
if (valueNode.type !== 'function' || valueNode.value !== 'var') continue;
|
|
140
|
-
var variableName = valueNode.nodes[0].value;
|
|
141
|
-
if (!variableName.startsWith("--".concat(prefix))) {
|
|
142
|
-
// if (legacyCssVariables[variableName] !== undefined) {
|
|
143
|
-
// legacyCssVariables[variableName]++;
|
|
144
|
-
// }
|
|
145
|
-
continue;
|
|
146
|
-
}
|
|
147
|
-
var hasDefault = valueNode.nodes.length === 3;
|
|
148
|
-
if (!hasDefault) {
|
|
149
|
-
valueNode.nodes.push({
|
|
150
|
-
type: 'div',
|
|
151
|
-
sourceIndex: -1,
|
|
152
|
-
value: ',',
|
|
153
|
-
before: '',
|
|
154
|
-
after: ' '
|
|
155
|
-
}, {
|
|
156
|
-
type: 'word',
|
|
157
|
-
sourceIndex: -1,
|
|
158
|
-
value: ''
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
var withoutPrefix = variableName.substring("--".concat(prefix, "-").length);
|
|
162
|
-
usedVariables[withoutPrefix] = true;
|
|
163
|
-
if (!values[withoutPrefix]) {
|
|
164
|
-
throw new Error("Variable ".concat(variableName, " is used in project but not presented in design tokens list"));
|
|
165
|
-
}
|
|
166
|
-
valueNode.nodes[2].type = 'word';
|
|
167
|
-
valueNode.nodes[2].value = values[withoutPrefix];
|
|
168
|
-
valueNode.nodes[2].nodes = [];
|
|
169
|
-
valueNode.nodes.length = 3;
|
|
170
|
-
usages[withoutPrefix] = (_usages$withoutPrefix = usages[withoutPrefix]) !== null && _usages$withoutPrefix !== void 0 ? _usages$withoutPrefix : [];
|
|
171
|
-
usages[withoutPrefix].push(projectCssPaths[fileIndex]);
|
|
172
|
-
}
|
|
173
|
-
} catch (err) {
|
|
174
|
-
_iterator2.e(err);
|
|
175
|
-
} finally {
|
|
176
|
-
_iterator2.f();
|
|
61
|
+
const projectCssContents = await Promise.all(projectCssPaths.map(path => fs.readFile(path, 'utf-8')));
|
|
62
|
+
const usedVariables = {};
|
|
63
|
+
const colorLiterals = [];
|
|
64
|
+
const processedCss = await Promise.all(projectCssContents.map((cssContent, fileIndex) => postcss([{
|
|
65
|
+
postcssPlugin: 'variables-explored',
|
|
66
|
+
prepare: result => {
|
|
67
|
+
const traverseAst = nodes => {
|
|
68
|
+
for (const node of nodes) {
|
|
69
|
+
if (node.nodes) {
|
|
70
|
+
traverseAst(node.nodes);
|
|
71
|
+
}
|
|
72
|
+
if (node.value) {
|
|
73
|
+
const valueAst = valuesParser(node.value);
|
|
74
|
+
const traverseValueAst = (nodes, parent) => {
|
|
75
|
+
for (const valueNode of nodes) {
|
|
76
|
+
if (valueNode.nodes) traverseValueAst(valueNode.nodes, valueNode);
|
|
77
|
+
if (valueNode.type === 'function' && valueNode.value === 'color-mod') {
|
|
78
|
+
throw new Error(`Found restricted function color-mod in ${projectCssPaths[fileIndex]}`);
|
|
79
|
+
}
|
|
80
|
+
const parentIsVariable = parent?.type === 'function' && parent?.value === 'var';
|
|
81
|
+
if (!parentIsVariable) {
|
|
82
|
+
const prevNode = node.parent.nodes[node.parent.nodes.indexOf(node) - 1];
|
|
83
|
+
const skipNode = prevNode?.type === 'comment' && prevNode.text.trim() === 'disable-tokens-validator';
|
|
84
|
+
if (skipNode) continue;
|
|
85
|
+
if (valueNode.type === 'word' && (valueNode.value.startsWith('#') || valueNode.value.startsWith('rgb'))) {
|
|
86
|
+
const location = `${node.source.start.line}:${node.source.start.offset}`;
|
|
87
|
+
colorLiterals.push({
|
|
88
|
+
path: `${projectCssPaths[fileIndex]}:${location}`,
|
|
89
|
+
name: valueNode.value
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
if (valueNode.type === 'word' && valueNode.value.endsWith('px') && (node.prop.includes('padding') || node.prop.includes('margin') || node.prop.includes('radius') || node.prop.includes('font-size'))) {
|
|
93
|
+
const location = `${node.source.start.line}:${node.source.start.offset}`;
|
|
94
|
+
colorLiterals.push({
|
|
95
|
+
path: `${projectCssPaths[fileIndex]}:${location}`,
|
|
96
|
+
name: valueNode.value
|
|
97
|
+
});
|
|
177
98
|
}
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
|
|
99
|
+
}
|
|
100
|
+
if (valueNode.type !== 'function' || valueNode.value !== 'var') continue;
|
|
101
|
+
const variableName = valueNode.nodes[0].value;
|
|
102
|
+
if (!variableName.startsWith(`--${prefix}`)) {
|
|
103
|
+
// if (legacyCssVariables[variableName] !== undefined) {
|
|
104
|
+
// legacyCssVariables[variableName]++;
|
|
105
|
+
// }
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
const hasDefault = valueNode.nodes.length === 3;
|
|
109
|
+
if (!hasDefault) {
|
|
110
|
+
valueNode.nodes.push({
|
|
111
|
+
type: 'div',
|
|
112
|
+
sourceIndex: -1,
|
|
113
|
+
value: ',',
|
|
114
|
+
before: '',
|
|
115
|
+
after: ' '
|
|
116
|
+
}, {
|
|
117
|
+
type: 'word',
|
|
118
|
+
sourceIndex: -1,
|
|
119
|
+
value: ''
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
const withoutPrefix = variableName.substring(`--${prefix}-`.length);
|
|
123
|
+
usedVariables[withoutPrefix] = true;
|
|
124
|
+
if (!values[withoutPrefix]) {
|
|
125
|
+
throw new Error(`Variable ${variableName} is used in project but not presented in design tokens list`);
|
|
126
|
+
}
|
|
127
|
+
valueNode.nodes[2].type = 'word';
|
|
128
|
+
valueNode.nodes[2].value = values[withoutPrefix];
|
|
129
|
+
valueNode.nodes[2].nodes = [];
|
|
130
|
+
valueNode.nodes.length = 3;
|
|
131
|
+
usages[withoutPrefix] = usages[withoutPrefix] ?? [];
|
|
132
|
+
usages[withoutPrefix].push(projectCssPaths[fileIndex]);
|
|
181
133
|
}
|
|
182
134
|
};
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
}
|
|
186
|
-
} catch (err) {
|
|
187
|
-
_iterator.e(err);
|
|
188
|
-
} finally {
|
|
189
|
-
_iterator.f();
|
|
135
|
+
traverseValueAst(valueAst.nodes, null);
|
|
136
|
+
node.value = valueAst.toString();
|
|
190
137
|
}
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
}));
|
|
199
|
-
await Promise.all(projectCssPaths.map(
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
var unusedVariables = [];
|
|
203
|
-
for (var variable in values) {
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
traverseAst(result.root.nodes);
|
|
141
|
+
return {};
|
|
142
|
+
}
|
|
143
|
+
}]).process(cssContent, {
|
|
144
|
+
from: undefined
|
|
145
|
+
})));
|
|
146
|
+
await Promise.all(projectCssPaths.map((path, index) => writeIfChanged(path, processedCss[index].css)));
|
|
147
|
+
const unusedVariables = [];
|
|
148
|
+
for (const variable in values) {
|
|
204
149
|
if (!usedVariables[variable]) {
|
|
205
150
|
unusedVariables.push(variable);
|
|
206
151
|
}
|
|
@@ -215,72 +160,54 @@ var _loop = function _loop() {
|
|
|
215
160
|
if (colorLiterals.length > 0) {
|
|
216
161
|
// eslint-disable-next-line no-console
|
|
217
162
|
console.log('Unexpected color literals:');
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
222
|
-
var literal = _step3.value;
|
|
223
|
-
// eslint-disable-next-line no-console
|
|
224
|
-
console.log("".concat(literal.name, " in ").concat(literal.path));
|
|
225
|
-
}
|
|
226
|
-
} catch (err) {
|
|
227
|
-
_iterator3.e(err);
|
|
228
|
-
} finally {
|
|
229
|
-
_iterator3.f();
|
|
163
|
+
for (const literal of colorLiterals) {
|
|
164
|
+
// eslint-disable-next-line no-console
|
|
165
|
+
console.log(`${literal.name} in ${literal.path}`);
|
|
230
166
|
}
|
|
231
167
|
}
|
|
232
168
|
}
|
|
233
|
-
|
|
234
|
-
for (
|
|
169
|
+
const designTokensDocumentation = [];
|
|
170
|
+
for (const token in values) {
|
|
235
171
|
if (!basicTokens.has(token)) {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
return cssPath.split('/')[2];
|
|
239
|
-
})));
|
|
240
|
-
components.sort(function (a, b) {
|
|
241
|
-
return a.localeCompare(b);
|
|
242
|
-
});
|
|
172
|
+
const components = [...new Set((usages[token] ?? []).map(cssPath => cssPath.split('/')[2]))];
|
|
173
|
+
components.sort((a, b) => a.localeCompare(b));
|
|
243
174
|
designTokensDocumentation.push({
|
|
244
|
-
name:
|
|
175
|
+
name: `--${prefix}-${token}`,
|
|
245
176
|
type: types[token],
|
|
246
177
|
rawValue: rawValues[token],
|
|
247
178
|
computedValue: values[token],
|
|
248
179
|
description: descriptions[token],
|
|
249
|
-
components
|
|
180
|
+
components
|
|
250
181
|
});
|
|
251
182
|
}
|
|
252
183
|
}
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
for (
|
|
184
|
+
const baseTokensDocumentation = [];
|
|
185
|
+
const processGroup = (group, data) => {
|
|
186
|
+
for (const key in data) {
|
|
256
187
|
if (data[key].value) {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
name: "--".concat(group, "-").concat(key),
|
|
188
|
+
const token = {
|
|
189
|
+
name: `--${group}-${key}`,
|
|
260
190
|
value: data[key].value
|
|
261
191
|
};
|
|
262
|
-
if (
|
|
263
|
-
|
|
192
|
+
if (data[key].description?.trim()) {
|
|
193
|
+
token.description = data[key].description;
|
|
264
194
|
}
|
|
265
|
-
baseTokensDocumentation.push(
|
|
195
|
+
baseTokensDocumentation.push(token);
|
|
266
196
|
} else {
|
|
267
|
-
|
|
197
|
+
processGroup(`${group}-${key}`, data[key]);
|
|
268
198
|
}
|
|
269
199
|
}
|
|
270
200
|
};
|
|
271
|
-
for (
|
|
272
|
-
|
|
201
|
+
for (const group in base) {
|
|
202
|
+
processGroup(group, base[group]);
|
|
273
203
|
}
|
|
274
204
|
await writeIfChanged(resolvePath(dirname, '../../../../website/docs/style/design-tokens/design-tokens.json'), JSON.stringify(designTokensDocumentation, null, 2) + '\n');
|
|
275
205
|
await writeIfChanged(resolvePath(dirname, '../../../../website/docs/style/design-tokens/base-tokens.json'), JSON.stringify(baseTokensDocumentation, null, 2) + '\n');
|
|
276
206
|
}
|
|
277
|
-
};
|
|
278
|
-
for (var _i = 0, _themes = themes; _i < _themes.length; _i++) {
|
|
279
|
-
_loop();
|
|
280
207
|
}
|
|
281
|
-
|
|
282
|
-
for (
|
|
283
|
-
|
|
208
|
+
const autoThemeLines = [];
|
|
209
|
+
for (const theme in autoTheme) {
|
|
210
|
+
const selector = theme === defaultTheme ? ':root' : `.${theme}`;
|
|
284
211
|
autoThemeLines.push(tokensToCss(autoTheme[theme], selector));
|
|
285
212
|
}
|
|
286
213
|
await writeIfChanged('./semcore/core/src/theme/themes/auto.css', autoThemeLines.join('\n'));
|