@semcore/core 17.0.1-prerelease.0 → 17.1.0-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 +123 -3
- package/README.md +5 -35
- 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.js +25 -41
- package/lib/core-types/Component.js.map +1 -1
- package/lib/core-types/Component.mjs +18 -38
- 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.js +158 -238
- package/lib/coreFactory.js.map +1 -1
- package/lib/coreFactory.mjs +133 -189
- package/lib/coreFactory.mjs.map +1 -1
- package/lib/decorators/propsObserver.js +36 -64
- package/lib/decorators/propsObserver.js.map +1 -1
- package/lib/decorators/propsObserver.mjs +33 -61
- package/lib/decorators/propsObserver.mjs.map +1 -1
- package/lib/decorators/reactive.js +17 -17
- package/lib/decorators/reactive.js.map +1 -1
- package/lib/decorators/reactive.mjs +15 -15
- package/lib/decorators/reactive.mjs.map +1 -1
- 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 +4 -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 -65
- package/lib/enhancement/uncontrolledProps.js.map +1 -1
- package/lib/enhancement/uncontrolledProps.mjs +43 -52
- package/lib/enhancement/uncontrolledProps.mjs.map +1 -1
- package/lib/esm/LastInteractionType.mjs +19 -33
- package/lib/esm/core-types/Component.mjs +18 -38
- package/lib/esm/core-types/symbols.mjs +9 -9
- package/lib/esm/coreFactory.mjs +133 -189
- 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 +4 -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 -52
- 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 +15 -17
- 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 -43
- package/lib/esm/utils/use/useEnhancedEffect.mjs +1 -1
- package/lib/index.js +17 -17
- 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.js +4 -4
- 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/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/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.js +10 -8
- package/lib/utils/enhances/WithCSS.js.map +1 -1
- package/lib/utils/enhances/WithCSS.mjs +7 -6
- package/lib/utils/enhances/WithCSS.mjs.map +1 -1
- package/lib/utils/enhances/WithI18n.js +19 -19
- package/lib/utils/enhances/WithI18n.js.map +1 -1
- package/lib/utils/enhances/WithI18n.mjs +15 -17
- 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.js +55 -63
- package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -1
- package/lib/utils/enhances/animatedSizeEnhance.mjs +50 -58
- 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.js +51 -67
- 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.js +30 -57
- package/lib/utils/eventEmitter.js.map +1 -1
- package/lib/utils/eventEmitter.mjs +26 -55
- 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/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/indentStyles.js +5 -10
- package/lib/utils/indentStyles.js.map +1 -1
- package/lib/utils/indentStyles.mjs +5 -9
- package/lib/utils/indentStyles.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.js +29 -47
- package/lib/utils/ref.js.map +1 -1
- package/lib/utils/ref.mjs +27 -43
- 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.js +22 -27
- package/lib/utils/uniqueID.js.map +1 -1
- package/lib/utils/uniqueID.mjs +18 -25
- 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.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 +24 -26
- package/lib/utils/use/usePreventScroll.js.map +1 -1
- package/lib/utils/use/usePreventScroll.mjs +19 -21
- 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.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 +316 -13
- package/tsconfig-utils.json +4 -0
- package/vite.config.ts +22 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staticChildren.js","names":["_react","_interopRequireDefault","require","_assignProps","_logger","_pick","assign","target","source","Object","defineProperties","keys","reduce","descriptors","key","getOwnPropertyDescriptor","getterMethodName","name","concat","getterMethodNameByDisplayName","displayName","arguments","length","undefined","displayNames","split","slice","join","flatGetterMethodNames","childComponents","parentName","entries","acc","_ref","_ref2","_slicedToArray2","value","Array","isArray","push","apply","_toConsumableArray2","STATIC_COMPONENT","exports","Symbol","ROOT_COMPONENT","SELF_GETTER_METHOD","Enhancement","createComponent","options","getterMethodNames","condition","Component","Boolean","init","props","WrapperComponent","_this","getterMethods","pick","selfGetterMethod","logger","warn","getterMethod","childrenProps","getterProps","call","index","assignProps","cache","Set","static","Error","_ref3","_ref4","prevStaticComponent","prevDisplayName","context","_objectSpread2","wrapperProps","React","useContext","has","add","render","_this2","forEach","clear","_default"],"sources":["../../src/enhancement/staticChildren.tsx"],"sourcesContent":["import React from 'react';\n\nimport assignProps from '../utils/assignProps';\nimport logger from '../utils/logger';\nimport pick from '../utils/pick';\n\nfunction assign(target: any, source: any) {\n return Object.defineProperties(\n target,\n Object.keys(source).reduce((descriptors: any, key) => {\n descriptors[key] = Object.getOwnPropertyDescriptor(source, key);\n return descriptors;\n }, {}),\n );\n}\n\nexport function getterMethodName(name: string) {\n return `get${name}Props`;\n}\n\nexport function getterMethodNameByDisplayName(displayName = '') {\n const displayNames = displayName.split('.');\n const name = displayNames.slice(-(displayNames.length - 1)).join('');\n return getterMethodName(name);\n}\n\nfunction flatGetterMethodNames(childComponents: any, parentName?: string) {\n return Object.entries(childComponents).reduce<string[]>((acc, [name, value]) => {\n if (Array.isArray(value)) {\n acc.push(...flatGetterMethodNames(value[1], name));\n }\n name = parentName ? `${parentName}${name}` : name;\n acc.push(getterMethodName(name));\n return acc;\n }, []);\n}\n\nexport const STATIC_COMPONENT = Symbol('STATIC_COMPONENT');\nexport const ROOT_COMPONENT = Symbol('ROOT_COMPONENT');\nconst SELF_GETTER_METHOD = Symbol('SELF_GETTER_METHOD');\n\nfunction Enhancement(childComponents: any, createComponent: any, options: any) {\n const getterMethodNames = flatGetterMethodNames(childComponents);\n return {\n condition: function (Component: any) {\n return Boolean(Component[STATIC_COMPONENT] || Object.keys(childComponents).length);\n },\n init: function (this: any, props: any, WrapperComponent: any) {\n const getterMethods: any = pick(this, getterMethodNames);\n this[SELF_GETTER_METHOD] = () => {\n const selfGetterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n logger.warn(\n true,\n `Getter \\`${selfGetterMethod}\\` can't be fired as it is a getter of static component`,\n props['data-ui-name'] || WrapperComponent.displayName,\n );\n };\n assign(\n this,\n getterMethodNames.reduce((acc: any, name) => {\n const getterMethod = getterMethods[name];\n if (!getterMethod) return acc;\n acc[name] = (childrenProps = {}) => {\n const getterProps = getterMethod.call(this, childrenProps, acc[name].index);\n return assignProps(childrenProps, getterProps);\n };\n acc[name].index = -1;\n acc[name].cache = new Set();\n return acc;\n }, {}),\n );\n },\n static: function (WrapperComponent: any, Component: any) {\n if (Object.keys(childComponents).length && !WrapperComponent.displayName) {\n throw new Error('\"displayName\" is not defined');\n }\n return Object.entries(childComponents).reduce((acc: any, [name, value]: any) => {\n let childComponents = {};\n\n if (Array.isArray(value)) {\n childComponents = value[1];\n value = value[0];\n }\n\n const prevStaticComponent = value[STATIC_COMPONENT];\n // @ts-ignore\n const prevDisplayName = value.displayName;\n // @ts-ignore\n value.displayName = `${WrapperComponent.displayName}.${name}`;\n value[STATIC_COMPONENT] = true;\n value[ROOT_COMPONENT] = Component[ROOT_COMPONENT] || Component;\n acc[name] = createComponent(value, childComponents, options);\n // @ts-ignore\n value.displayName = prevDisplayName;\n value[STATIC_COMPONENT] = prevStaticComponent;\n return acc;\n }, {});\n },\n context: function (context: any /* , WrapperComponent */) {\n // const getterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n return {\n ...context,\n // [getterMethod]: this[SELF_GETTER_METHOD],\n ...pick(this, getterMethodNames as any),\n };\n },\n wrapperProps: function (this: any, props: any, WrapperComponent: any) {\n if (!WrapperComponent[STATIC_COMPONENT]) return props;\n const context: any = React.useContext(options.context);\n const getterMethod = context[getterMethodNameByDisplayName(WrapperComponent.displayName)];\n if (getterMethod) {\n if (!getterMethod.cache.has(this)) {\n getterMethod.cache.add(this);\n getterMethod.index++;\n if (this) this.index = getterMethod.index;\n }\n if (this) getterMethod.index = this.index;\n return getterMethod(props);\n }\n return props;\n },\n render: function (this: any, render: any) {\n getterMethodNames.forEach((name) => {\n if (this[name] === undefined) return;\n this[name].index = -1;\n this[name].cache.clear();\n });\n return render;\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"staticChildren.js","names":["_react","_interopRequireDefault","require","_assignProps","_logger","_pick","assign","target","source","Object","defineProperties","keys","reduce","descriptors","key","getOwnPropertyDescriptor","getterMethodName","name","getterMethodNameByDisplayName","displayName","displayNames","split","slice","length","join","flatGetterMethodNames","childComponents","parentName","entries","acc","value","Array","isArray","push","STATIC_COMPONENT","exports","Symbol","ROOT_COMPONENT","SELF_GETTER_METHOD","Enhancement","createComponent","options","getterMethodNames","condition","Component","Boolean","init","props","WrapperComponent","getterMethods","pick","selfGetterMethod","logger","warn","getterMethod","childrenProps","getterProps","call","index","assignProps","cache","Set","static","Error","prevStaticComponent","prevDisplayName","context","wrapperProps","React","useContext","has","add","render","forEach","undefined","clear","_default","default"],"sources":["../../src/enhancement/staticChildren.tsx"],"sourcesContent":["import React from 'react';\n\nimport assignProps from '../utils/assignProps';\nimport logger from '../utils/logger';\nimport pick from '../utils/pick';\n\nfunction assign(target: any, source: any) {\n return Object.defineProperties(\n target,\n Object.keys(source).reduce((descriptors: any, key) => {\n descriptors[key] = Object.getOwnPropertyDescriptor(source, key);\n return descriptors;\n }, {}),\n );\n}\n\nexport function getterMethodName(name: string) {\n return `get${name}Props`;\n}\n\nexport function getterMethodNameByDisplayName(displayName = '') {\n const displayNames = displayName.split('.');\n const name = displayNames.slice(-(displayNames.length - 1)).join('');\n return getterMethodName(name);\n}\n\nfunction flatGetterMethodNames(childComponents: any, parentName?: string) {\n return Object.entries(childComponents).reduce<string[]>((acc, [name, value]) => {\n if (Array.isArray(value)) {\n acc.push(...flatGetterMethodNames(value[1], name));\n }\n name = parentName ? `${parentName}${name}` : name;\n acc.push(getterMethodName(name));\n return acc;\n }, []);\n}\n\nexport const STATIC_COMPONENT = Symbol('STATIC_COMPONENT');\nexport const ROOT_COMPONENT = Symbol('ROOT_COMPONENT');\nconst SELF_GETTER_METHOD = Symbol('SELF_GETTER_METHOD');\n\nfunction Enhancement(childComponents: any, createComponent: any, options: any) {\n const getterMethodNames = flatGetterMethodNames(childComponents);\n return {\n condition: function (Component: any) {\n return Boolean(Component[STATIC_COMPONENT] || Object.keys(childComponents).length);\n },\n init: function (this: any, props: any, WrapperComponent: any) {\n const getterMethods: any = pick(this, getterMethodNames);\n this[SELF_GETTER_METHOD] = () => {\n const selfGetterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n logger.warn(\n true,\n `Getter \\`${selfGetterMethod}\\` can't be fired as it is a getter of static component`,\n props['data-ui-name'] || WrapperComponent.displayName,\n );\n };\n assign(\n this,\n getterMethodNames.reduce((acc: any, name) => {\n const getterMethod = getterMethods[name];\n if (!getterMethod) return acc;\n acc[name] = (childrenProps = {}) => {\n const getterProps = getterMethod.call(this, childrenProps, acc[name].index);\n return assignProps(childrenProps, getterProps);\n };\n acc[name].index = -1;\n acc[name].cache = new Set();\n return acc;\n }, {}),\n );\n },\n static: function (WrapperComponent: any, Component: any) {\n if (Object.keys(childComponents).length && !WrapperComponent.displayName) {\n throw new Error('\"displayName\" is not defined');\n }\n return Object.entries(childComponents).reduce((acc: any, [name, value]: any) => {\n let childComponents = {};\n\n if (Array.isArray(value)) {\n childComponents = value[1];\n value = value[0];\n }\n\n const prevStaticComponent = value[STATIC_COMPONENT];\n // @ts-ignore\n const prevDisplayName = value.displayName;\n // @ts-ignore\n value.displayName = `${WrapperComponent.displayName}.${name}`;\n value[STATIC_COMPONENT] = true;\n value[ROOT_COMPONENT] = Component[ROOT_COMPONENT] || Component;\n acc[name] = createComponent(value, childComponents, options);\n // @ts-ignore\n value.displayName = prevDisplayName;\n value[STATIC_COMPONENT] = prevStaticComponent;\n return acc;\n }, {});\n },\n context: function (context: any /* , WrapperComponent */) {\n // const getterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n return {\n ...context,\n // [getterMethod]: this[SELF_GETTER_METHOD],\n ...pick(this, getterMethodNames as any),\n };\n },\n wrapperProps: function (this: any, props: any, WrapperComponent: any) {\n if (!WrapperComponent[STATIC_COMPONENT]) return props;\n const context: any = React.useContext(options.context);\n const getterMethod = context[getterMethodNameByDisplayName(WrapperComponent.displayName)];\n if (getterMethod) {\n if (!getterMethod.cache.has(this)) {\n getterMethod.cache.add(this);\n getterMethod.index++;\n if (this) this.index = getterMethod.index;\n }\n if (this) getterMethod.index = this.index;\n return getterMethod(props);\n }\n return props;\n },\n render: function (this: any, render: any) {\n getterMethodNames.forEach((name) => {\n if (this[name] === undefined) return;\n this[name].index = -1;\n this[name].cache.clear();\n });\n return render;\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,58 +1,51 @@
|
|
|
1
|
-
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
-
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
3
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
1
|
import React from "react";
|
|
5
2
|
import assignProps from "../utils/assignProps.mjs";
|
|
6
3
|
import logger from "../utils/logger.mjs";
|
|
7
4
|
import pick from "../utils/pick.mjs";
|
|
8
5
|
function assign(target, source) {
|
|
9
|
-
return Object.defineProperties(target, Object.keys(source).reduce(
|
|
6
|
+
return Object.defineProperties(target, Object.keys(source).reduce((descriptors, key) => {
|
|
10
7
|
descriptors[key] = Object.getOwnPropertyDescriptor(source, key);
|
|
11
8
|
return descriptors;
|
|
12
9
|
}, {}));
|
|
13
10
|
}
|
|
14
11
|
function getterMethodName(name) {
|
|
15
|
-
return
|
|
12
|
+
return `get${name}Props`;
|
|
16
13
|
}
|
|
17
|
-
function getterMethodNameByDisplayName() {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var name = displayNames.slice(-(displayNames.length - 1)).join("");
|
|
14
|
+
function getterMethodNameByDisplayName(displayName = "") {
|
|
15
|
+
const displayNames = displayName.split(".");
|
|
16
|
+
const name = displayNames.slice(-(displayNames.length - 1)).join("");
|
|
21
17
|
return getterMethodName(name);
|
|
22
18
|
}
|
|
23
19
|
function flatGetterMethodNames(childComponents, parentName) {
|
|
24
|
-
return Object.entries(childComponents).reduce(
|
|
25
|
-
var _ref2 = _slicedToArray(_ref, 2), name = _ref2[0], value = _ref2[1];
|
|
20
|
+
return Object.entries(childComponents).reduce((acc, [name, value]) => {
|
|
26
21
|
if (Array.isArray(value)) {
|
|
27
|
-
acc.push
|
|
22
|
+
acc.push(...flatGetterMethodNames(value[1], name));
|
|
28
23
|
}
|
|
29
|
-
name = parentName ?
|
|
24
|
+
name = parentName ? `${parentName}${name}` : name;
|
|
30
25
|
acc.push(getterMethodName(name));
|
|
31
26
|
return acc;
|
|
32
27
|
}, []);
|
|
33
28
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
29
|
+
const STATIC_COMPONENT = /* @__PURE__ */ Symbol("STATIC_COMPONENT");
|
|
30
|
+
const ROOT_COMPONENT = /* @__PURE__ */ Symbol("ROOT_COMPONENT");
|
|
31
|
+
const SELF_GETTER_METHOD = /* @__PURE__ */ Symbol("SELF_GETTER_METHOD");
|
|
37
32
|
function Enhancement(childComponents, createComponent, options) {
|
|
38
|
-
|
|
33
|
+
const getterMethodNames = flatGetterMethodNames(childComponents);
|
|
39
34
|
return {
|
|
40
|
-
condition: function
|
|
35
|
+
condition: function(Component) {
|
|
41
36
|
return Boolean(Component[STATIC_COMPONENT] || Object.keys(childComponents).length);
|
|
42
37
|
},
|
|
43
|
-
init: function
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
logger.warn(true, "Getter `".concat(selfGetterMethod, "` can't be fired as it is a getter of static component"), props["data-ui-name"] || WrapperComponent.displayName);
|
|
38
|
+
init: function(props, WrapperComponent) {
|
|
39
|
+
const getterMethods = pick(this, getterMethodNames);
|
|
40
|
+
this[SELF_GETTER_METHOD] = () => {
|
|
41
|
+
const selfGetterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);
|
|
42
|
+
logger.warn(true, `Getter \`${selfGetterMethod}\` can't be fired as it is a getter of static component`, props["data-ui-name"] || WrapperComponent.displayName);
|
|
49
43
|
};
|
|
50
|
-
assign(this, getterMethodNames.reduce(
|
|
51
|
-
|
|
44
|
+
assign(this, getterMethodNames.reduce((acc, name) => {
|
|
45
|
+
const getterMethod = getterMethods[name];
|
|
52
46
|
if (!getterMethod) return acc;
|
|
53
|
-
acc[name] =
|
|
54
|
-
|
|
55
|
-
var getterProps = getterMethod.call(_this, childrenProps, acc[name].index);
|
|
47
|
+
acc[name] = (childrenProps = {}) => {
|
|
48
|
+
const getterProps = getterMethod.call(this, childrenProps, acc[name].index);
|
|
56
49
|
return assignProps(childrenProps, getterProps);
|
|
57
50
|
};
|
|
58
51
|
acc[name].index = -1;
|
|
@@ -60,20 +53,19 @@ function Enhancement(childComponents, createComponent, options) {
|
|
|
60
53
|
return acc;
|
|
61
54
|
}, {}));
|
|
62
55
|
},
|
|
63
|
-
|
|
56
|
+
static: function(WrapperComponent, Component) {
|
|
64
57
|
if (Object.keys(childComponents).length && !WrapperComponent.displayName) {
|
|
65
58
|
throw new Error('"displayName" is not defined');
|
|
66
59
|
}
|
|
67
|
-
return Object.entries(childComponents).reduce(
|
|
68
|
-
|
|
69
|
-
var childComponents2 = {};
|
|
60
|
+
return Object.entries(childComponents).reduce((acc, [name, value]) => {
|
|
61
|
+
let childComponents2 = {};
|
|
70
62
|
if (Array.isArray(value)) {
|
|
71
63
|
childComponents2 = value[1];
|
|
72
64
|
value = value[0];
|
|
73
65
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
value.displayName =
|
|
66
|
+
const prevStaticComponent = value[STATIC_COMPONENT];
|
|
67
|
+
const prevDisplayName = value.displayName;
|
|
68
|
+
value.displayName = `${WrapperComponent.displayName}.${name}`;
|
|
77
69
|
value[STATIC_COMPONENT] = true;
|
|
78
70
|
value[ROOT_COMPONENT] = Component[ROOT_COMPONENT] || Component;
|
|
79
71
|
acc[name] = createComponent(value, childComponents2, options);
|
|
@@ -82,13 +74,17 @@ function Enhancement(childComponents, createComponent, options) {
|
|
|
82
74
|
return acc;
|
|
83
75
|
}, {});
|
|
84
76
|
},
|
|
85
|
-
context: function
|
|
86
|
-
return
|
|
77
|
+
context: function(context) {
|
|
78
|
+
return {
|
|
79
|
+
...context,
|
|
80
|
+
// [getterMethod]: this[SELF_GETTER_METHOD],
|
|
81
|
+
...pick(this, getterMethodNames)
|
|
82
|
+
};
|
|
87
83
|
},
|
|
88
|
-
wrapperProps: function
|
|
84
|
+
wrapperProps: function(props, WrapperComponent) {
|
|
89
85
|
if (!WrapperComponent[STATIC_COMPONENT]) return props;
|
|
90
|
-
|
|
91
|
-
|
|
86
|
+
const context = React.useContext(options.context);
|
|
87
|
+
const getterMethod = context[getterMethodNameByDisplayName(WrapperComponent.displayName)];
|
|
92
88
|
if (getterMethod) {
|
|
93
89
|
if (!getterMethod.cache.has(this)) {
|
|
94
90
|
getterMethod.cache.add(this);
|
|
@@ -100,14 +96,13 @@ function Enhancement(childComponents, createComponent, options) {
|
|
|
100
96
|
}
|
|
101
97
|
return props;
|
|
102
98
|
},
|
|
103
|
-
render: function
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
_this2[name].cache.clear();
|
|
99
|
+
render: function(render) {
|
|
100
|
+
getterMethodNames.forEach((name) => {
|
|
101
|
+
if (this[name] === void 0) return;
|
|
102
|
+
this[name].index = -1;
|
|
103
|
+
this[name].cache.clear();
|
|
109
104
|
});
|
|
110
|
-
return
|
|
105
|
+
return render;
|
|
111
106
|
}
|
|
112
107
|
};
|
|
113
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staticChildren.mjs","names":["React","assignProps","logger","pick","assign","target","source","Object","defineProperties","keys","reduce","descriptors","key","getOwnPropertyDescriptor","getterMethodName","name","concat","getterMethodNameByDisplayName","displayName","arguments","length","undefined","displayNames","split","slice","join","flatGetterMethodNames","childComponents","parentName","entries","acc","_ref","_ref2","_slicedToArray","value","Array","isArray","push","apply","_toConsumableArray","STATIC_COMPONENT","Symbol","ROOT_COMPONENT","SELF_GETTER_METHOD","Enhancement","createComponent","options","getterMethodNames","condition","Component","Boolean","init","props","WrapperComponent","_this","getterMethods","selfGetterMethod","warn","getterMethod","childrenProps","getterProps","call","index","cache","Set","static","Error","_ref3","_ref4","prevStaticComponent","prevDisplayName","context","_objectSpread","wrapperProps","useContext","has","add","render","_this2","forEach","clear"],"sources":["../../src/enhancement/staticChildren.tsx"],"sourcesContent":["import React from 'react';\n\nimport assignProps from '../utils/assignProps';\nimport logger from '../utils/logger';\nimport pick from '../utils/pick';\n\nfunction assign(target: any, source: any) {\n return Object.defineProperties(\n target,\n Object.keys(source).reduce((descriptors: any, key) => {\n descriptors[key] = Object.getOwnPropertyDescriptor(source, key);\n return descriptors;\n }, {}),\n );\n}\n\nexport function getterMethodName(name: string) {\n return `get${name}Props`;\n}\n\nexport function getterMethodNameByDisplayName(displayName = '') {\n const displayNames = displayName.split('.');\n const name = displayNames.slice(-(displayNames.length - 1)).join('');\n return getterMethodName(name);\n}\n\nfunction flatGetterMethodNames(childComponents: any, parentName?: string) {\n return Object.entries(childComponents).reduce<string[]>((acc, [name, value]) => {\n if (Array.isArray(value)) {\n acc.push(...flatGetterMethodNames(value[1], name));\n }\n name = parentName ? `${parentName}${name}` : name;\n acc.push(getterMethodName(name));\n return acc;\n }, []);\n}\n\nexport const STATIC_COMPONENT = Symbol('STATIC_COMPONENT');\nexport const ROOT_COMPONENT = Symbol('ROOT_COMPONENT');\nconst SELF_GETTER_METHOD = Symbol('SELF_GETTER_METHOD');\n\nfunction Enhancement(childComponents: any, createComponent: any, options: any) {\n const getterMethodNames = flatGetterMethodNames(childComponents);\n return {\n condition: function (Component: any) {\n return Boolean(Component[STATIC_COMPONENT] || Object.keys(childComponents).length);\n },\n init: function (this: any, props: any, WrapperComponent: any) {\n const getterMethods: any = pick(this, getterMethodNames);\n this[SELF_GETTER_METHOD] = () => {\n const selfGetterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n logger.warn(\n true,\n `Getter \\`${selfGetterMethod}\\` can't be fired as it is a getter of static component`,\n props['data-ui-name'] || WrapperComponent.displayName,\n );\n };\n assign(\n this,\n getterMethodNames.reduce((acc: any, name) => {\n const getterMethod = getterMethods[name];\n if (!getterMethod) return acc;\n acc[name] = (childrenProps = {}) => {\n const getterProps = getterMethod.call(this, childrenProps, acc[name].index);\n return assignProps(childrenProps, getterProps);\n };\n acc[name].index = -1;\n acc[name].cache = new Set();\n return acc;\n }, {}),\n );\n },\n static: function (WrapperComponent: any, Component: any) {\n if (Object.keys(childComponents).length && !WrapperComponent.displayName) {\n throw new Error('\"displayName\" is not defined');\n }\n return Object.entries(childComponents).reduce((acc: any, [name, value]: any) => {\n let childComponents = {};\n\n if (Array.isArray(value)) {\n childComponents = value[1];\n value = value[0];\n }\n\n const prevStaticComponent = value[STATIC_COMPONENT];\n // @ts-ignore\n const prevDisplayName = value.displayName;\n // @ts-ignore\n value.displayName = `${WrapperComponent.displayName}.${name}`;\n value[STATIC_COMPONENT] = true;\n value[ROOT_COMPONENT] = Component[ROOT_COMPONENT] || Component;\n acc[name] = createComponent(value, childComponents, options);\n // @ts-ignore\n value.displayName = prevDisplayName;\n value[STATIC_COMPONENT] = prevStaticComponent;\n return acc;\n }, {});\n },\n context: function (context: any /* , WrapperComponent */) {\n // const getterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n return {\n ...context,\n // [getterMethod]: this[SELF_GETTER_METHOD],\n ...pick(this, getterMethodNames as any),\n };\n },\n wrapperProps: function (this: any, props: any, WrapperComponent: any) {\n if (!WrapperComponent[STATIC_COMPONENT]) return props;\n const context: any = React.useContext(options.context);\n const getterMethod = context[getterMethodNameByDisplayName(WrapperComponent.displayName)];\n if (getterMethod) {\n if (!getterMethod.cache.has(this)) {\n getterMethod.cache.add(this);\n getterMethod.index++;\n if (this) this.index = getterMethod.index;\n }\n if (this) getterMethod.index = this.index;\n return getterMethod(props);\n }\n return props;\n },\n render: function (this: any, render: any) {\n getterMethodNames.forEach((name) => {\n if (this[name] === undefined) return;\n this[name].index = -1;\n this[name].cache.clear();\n });\n return render;\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"staticChildren.mjs","names":["React","assignProps","logger","pick","assign","target","source","Object","defineProperties","keys","reduce","descriptors","key","getOwnPropertyDescriptor","getterMethodName","name","getterMethodNameByDisplayName","displayName","displayNames","split","slice","length","join","flatGetterMethodNames","childComponents","parentName","entries","acc","value","Array","isArray","push","STATIC_COMPONENT","Symbol","ROOT_COMPONENT","SELF_GETTER_METHOD","Enhancement","createComponent","options","getterMethodNames","condition","Component","Boolean","init","props","WrapperComponent","getterMethods","selfGetterMethod","warn","getterMethod","childrenProps","getterProps","call","index","cache","Set","static","Error","prevStaticComponent","prevDisplayName","context","wrapperProps","useContext","has","add","render","forEach","undefined","clear"],"sources":["../../src/enhancement/staticChildren.tsx"],"sourcesContent":["import React from 'react';\n\nimport assignProps from '../utils/assignProps';\nimport logger from '../utils/logger';\nimport pick from '../utils/pick';\n\nfunction assign(target: any, source: any) {\n return Object.defineProperties(\n target,\n Object.keys(source).reduce((descriptors: any, key) => {\n descriptors[key] = Object.getOwnPropertyDescriptor(source, key);\n return descriptors;\n }, {}),\n );\n}\n\nexport function getterMethodName(name: string) {\n return `get${name}Props`;\n}\n\nexport function getterMethodNameByDisplayName(displayName = '') {\n const displayNames = displayName.split('.');\n const name = displayNames.slice(-(displayNames.length - 1)).join('');\n return getterMethodName(name);\n}\n\nfunction flatGetterMethodNames(childComponents: any, parentName?: string) {\n return Object.entries(childComponents).reduce<string[]>((acc, [name, value]) => {\n if (Array.isArray(value)) {\n acc.push(...flatGetterMethodNames(value[1], name));\n }\n name = parentName ? `${parentName}${name}` : name;\n acc.push(getterMethodName(name));\n return acc;\n }, []);\n}\n\nexport const STATIC_COMPONENT = Symbol('STATIC_COMPONENT');\nexport const ROOT_COMPONENT = Symbol('ROOT_COMPONENT');\nconst SELF_GETTER_METHOD = Symbol('SELF_GETTER_METHOD');\n\nfunction Enhancement(childComponents: any, createComponent: any, options: any) {\n const getterMethodNames = flatGetterMethodNames(childComponents);\n return {\n condition: function (Component: any) {\n return Boolean(Component[STATIC_COMPONENT] || Object.keys(childComponents).length);\n },\n init: function (this: any, props: any, WrapperComponent: any) {\n const getterMethods: any = pick(this, getterMethodNames);\n this[SELF_GETTER_METHOD] = () => {\n const selfGetterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n logger.warn(\n true,\n `Getter \\`${selfGetterMethod}\\` can't be fired as it is a getter of static component`,\n props['data-ui-name'] || WrapperComponent.displayName,\n );\n };\n assign(\n this,\n getterMethodNames.reduce((acc: any, name) => {\n const getterMethod = getterMethods[name];\n if (!getterMethod) return acc;\n acc[name] = (childrenProps = {}) => {\n const getterProps = getterMethod.call(this, childrenProps, acc[name].index);\n return assignProps(childrenProps, getterProps);\n };\n acc[name].index = -1;\n acc[name].cache = new Set();\n return acc;\n }, {}),\n );\n },\n static: function (WrapperComponent: any, Component: any) {\n if (Object.keys(childComponents).length && !WrapperComponent.displayName) {\n throw new Error('\"displayName\" is not defined');\n }\n return Object.entries(childComponents).reduce((acc: any, [name, value]: any) => {\n let childComponents = {};\n\n if (Array.isArray(value)) {\n childComponents = value[1];\n value = value[0];\n }\n\n const prevStaticComponent = value[STATIC_COMPONENT];\n // @ts-ignore\n const prevDisplayName = value.displayName;\n // @ts-ignore\n value.displayName = `${WrapperComponent.displayName}.${name}`;\n value[STATIC_COMPONENT] = true;\n value[ROOT_COMPONENT] = Component[ROOT_COMPONENT] || Component;\n acc[name] = createComponent(value, childComponents, options);\n // @ts-ignore\n value.displayName = prevDisplayName;\n value[STATIC_COMPONENT] = prevStaticComponent;\n return acc;\n }, {});\n },\n context: function (context: any /* , WrapperComponent */) {\n // const getterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n return {\n ...context,\n // [getterMethod]: this[SELF_GETTER_METHOD],\n ...pick(this, getterMethodNames as any),\n };\n },\n wrapperProps: function (this: any, props: any, WrapperComponent: any) {\n if (!WrapperComponent[STATIC_COMPONENT]) return props;\n const context: any = React.useContext(options.context);\n const getterMethod = context[getterMethodNameByDisplayName(WrapperComponent.displayName)];\n if (getterMethod) {\n if (!getterMethod.cache.has(this)) {\n getterMethod.cache.add(this);\n getterMethod.index++;\n if (this) this.index = getterMethod.index;\n }\n if (this) getterMethod.index = this.index;\n return getterMethod(props);\n }\n return props;\n },\n render: function (this: any, render: any) {\n getterMethodNames.forEach((name) => {\n if (this[name] === undefined) return;\n this[name].index = -1;\n this[name].cache.clear();\n });\n return render;\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/enhancement/style.js
CHANGED
|
@@ -1,26 +1,21 @@
|
|
|
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
|
});
|
|
7
|
-
exports
|
|
8
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
9
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
-
var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
7
|
+
exports.default = exports.STYLES_CONTEXT = void 0;
|
|
11
8
|
var _react = _interopRequireDefault(require("react"));
|
|
12
9
|
var _staticChildren = require("./staticChildren");
|
|
13
10
|
var _index = require("../styled/index");
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
var STYLES_CONTEXT = exports.STYLES_CONTEXT = Symbol('STYLES_CONTEXT');
|
|
17
|
-
var STYLES_SELF = Symbol('STYLES_SELF');
|
|
11
|
+
const STYLES_CONTEXT = exports.STYLES_CONTEXT = Symbol('STYLES_CONTEXT');
|
|
12
|
+
const STYLES_SELF = Symbol('STYLES_SELF');
|
|
18
13
|
function Enhancement(childComponents, Context) {
|
|
19
14
|
return {
|
|
20
|
-
condition: function
|
|
15
|
+
condition: function (Component) {
|
|
21
16
|
return Boolean(Component.style || Component[_staticChildren.STATIC_COMPONENT]);
|
|
22
17
|
},
|
|
23
|
-
init: function
|
|
18
|
+
init: function (props, WrapperComponent) {
|
|
24
19
|
if (props.styles) {
|
|
25
20
|
this[STYLES_SELF] = props.styles;
|
|
26
21
|
}
|
|
@@ -28,31 +23,38 @@ function Enhancement(childComponents, Context) {
|
|
|
28
23
|
this[STYLES_SELF] = _index.sstyled.merge(WrapperComponent.style, props._styles);
|
|
29
24
|
}
|
|
30
25
|
},
|
|
31
|
-
context: function context
|
|
26
|
+
context: function (context) {
|
|
32
27
|
// Optimization: if has no children there is no need to create new context (by lsroman)
|
|
33
28
|
if (!this[STYLES_SELF] || !Object.keys(childComponents).length) {
|
|
34
|
-
return
|
|
29
|
+
return context;
|
|
35
30
|
}
|
|
36
|
-
return
|
|
31
|
+
return {
|
|
32
|
+
...context,
|
|
33
|
+
[STYLES_CONTEXT]: this[STYLES_SELF]
|
|
34
|
+
};
|
|
37
35
|
},
|
|
38
|
-
asProps: function
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
36
|
+
asProps: function ({
|
|
37
|
+
_styles,
|
|
38
|
+
styles,
|
|
39
|
+
...props
|
|
40
|
+
}) {
|
|
41
|
+
return {
|
|
42
|
+
...props,
|
|
43
43
|
styles: this[STYLES_SELF]
|
|
44
|
-
}
|
|
44
|
+
};
|
|
45
45
|
},
|
|
46
|
-
wrapperProps: function
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
46
|
+
wrapperProps: function ({
|
|
47
|
+
styles,
|
|
48
|
+
...props
|
|
49
|
+
}) {
|
|
50
|
+
const context = _react.default.useContext(Context);
|
|
51
|
+
return {
|
|
52
|
+
...props,
|
|
51
53
|
_styles: styles,
|
|
52
54
|
styles: context[STYLES_CONTEXT]
|
|
53
|
-
}
|
|
55
|
+
};
|
|
54
56
|
}
|
|
55
57
|
};
|
|
56
58
|
}
|
|
57
|
-
var _default = exports
|
|
59
|
+
var _default = exports.default = Enhancement;
|
|
58
60
|
//# sourceMappingURL=style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","names":["_react","_interopRequireDefault","require","_staticChildren","_index","
|
|
1
|
+
{"version":3,"file":"style.js","names":["_react","_interopRequireDefault","require","_staticChildren","_index","STYLES_CONTEXT","exports","Symbol","STYLES_SELF","Enhancement","childComponents","Context","condition","Component","Boolean","style","STATIC_COMPONENT","init","props","WrapperComponent","styles","sstyled","merge","_styles","context","Object","keys","length","asProps","wrapperProps","React","useContext","_default","default"],"sources":["../../src/enhancement/style.tsx"],"sourcesContent":["import React from 'react';\n\nimport { STATIC_COMPONENT } from './staticChildren';\nimport { sstyled } from '../styled/index';\n\nexport const STYLES_CONTEXT = Symbol('STYLES_CONTEXT');\nconst STYLES_SELF = Symbol('STYLES_SELF');\n\nfunction Enhancement(childComponents: any, Context: any) {\n return {\n condition: function (Component: any) {\n return Boolean(Component.style || Component[STATIC_COMPONENT]);\n },\n init: function (this: any, props: any, WrapperComponent: any) {\n if (props.styles) {\n this[STYLES_SELF] = props.styles;\n }\n if (WrapperComponent.style) {\n this[STYLES_SELF] = sstyled.merge(WrapperComponent.style, props._styles);\n }\n },\n context: function (this: any, context: any): any {\n // Optimization: if has no children there is no need to create new context (by lsroman)\n if (!this[STYLES_SELF] || !Object.keys(childComponents).length) {\n return context;\n }\n return {\n ...context,\n [STYLES_CONTEXT]: this[STYLES_SELF],\n };\n },\n\n asProps: function (this: any, { _styles, styles, ...props }: any) {\n return {\n ...props,\n styles: this[STYLES_SELF],\n };\n },\n wrapperProps: function (this: any, { styles, ...props }: any) {\n const context: any = React.useContext(Context);\n return {\n ...props,\n _styles: styles,\n styles: context[STYLES_CONTEXT],\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEO,MAAMG,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAGE,MAAM,CAAC,gBAAgB,CAAC;AACtD,MAAMC,WAAW,GAAGD,MAAM,CAAC,aAAa,CAAC;AAEzC,SAASE,WAAWA,CAACC,eAAoB,EAAEC,OAAY,EAAE;EACvD,OAAO;IACLC,SAAS,EAAE,SAAAA,CAAUC,SAAc,EAAE;MACnC,OAAOC,OAAO,CAACD,SAAS,CAACE,KAAK,IAAIF,SAAS,CAACG,gCAAgB,CAAC,CAAC;IAChE,CAAC;IACDC,IAAI,EAAE,SAAAA,CAAqBC,KAAU,EAAEC,gBAAqB,EAAE;MAC5D,IAAID,KAAK,CAACE,MAAM,EAAE;QAChB,IAAI,CAACZ,WAAW,CAAC,GAAGU,KAAK,CAACE,MAAM;MAClC;MACA,IAAID,gBAAgB,CAACJ,KAAK,EAAE;QAC1B,IAAI,CAACP,WAAW,CAAC,GAAGa,cAAO,CAACC,KAAK,CAACH,gBAAgB,CAACJ,KAAK,EAAEG,KAAK,CAACK,OAAO,CAAC;MAC1E;IACF,CAAC;IACDC,OAAO,EAAE,SAAAA,CAAqBA,OAAY,EAAO;MAC/C;MACA,IAAI,CAAC,IAAI,CAAChB,WAAW,CAAC,IAAI,CAACiB,MAAM,CAACC,IAAI,CAAChB,eAAe,CAAC,CAACiB,MAAM,EAAE;QAC9D,OAAOH,OAAO;MAChB;MACA,OAAO;QACL,GAAGA,OAAO;QACV,CAACnB,cAAc,GAAG,IAAI,CAACG,WAAW;MACpC,CAAC;IACH,CAAC;IAEDoB,OAAO,EAAE,SAAAA,CAAqB;MAAEL,OAAO;MAAEH,MAAM;MAAE,GAAGF;IAAW,CAAC,EAAE;MAChE,OAAO;QACL,GAAGA,KAAK;QACRE,MAAM,EAAE,IAAI,CAACZ,WAAW;MAC1B,CAAC;IACH,CAAC;IACDqB,YAAY,EAAE,SAAAA,CAAqB;MAAET,MAAM;MAAE,GAAGF;IAAW,CAAC,EAAE;MAC5D,MAAMM,OAAY,GAAGM,cAAK,CAACC,UAAU,CAACpB,OAAO,CAAC;MAC9C,OAAO;QACL,GAAGO,KAAK;QACRK,OAAO,EAAEH,MAAM;QACfA,MAAM,EAAEI,OAAO,CAACnB,cAAc;MAChC,CAAC;IACH;EACF,CAAC;AACH;AAAC,IAAA2B,QAAA,GAAA1B,OAAA,CAAA2B,OAAA,GAEcxB,WAAW","ignoreList":[]}
|
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
2
|
-
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
-
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
4
1
|
import React from "react";
|
|
5
2
|
import { STATIC_COMPONENT } from "./staticChildren.mjs";
|
|
6
3
|
import "../styled/index.mjs";
|
|
7
4
|
import { sstyled } from "../styled/sstyled.mjs";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var STYLES_SELF = /* @__PURE__ */ Symbol("STYLES_SELF");
|
|
5
|
+
const STYLES_CONTEXT = /* @__PURE__ */ Symbol("STYLES_CONTEXT");
|
|
6
|
+
const STYLES_SELF = /* @__PURE__ */ Symbol("STYLES_SELF");
|
|
11
7
|
function Enhancement(childComponents, Context) {
|
|
12
8
|
return {
|
|
13
|
-
condition: function
|
|
9
|
+
condition: function(Component) {
|
|
14
10
|
return Boolean(Component.style || Component[STATIC_COMPONENT]);
|
|
15
11
|
},
|
|
16
|
-
init: function
|
|
12
|
+
init: function(props, WrapperComponent) {
|
|
17
13
|
if (props.styles) {
|
|
18
14
|
this[STYLES_SELF] = props.styles;
|
|
19
15
|
}
|
|
@@ -21,25 +17,35 @@ function Enhancement(childComponents, Context) {
|
|
|
21
17
|
this[STYLES_SELF] = sstyled.merge(WrapperComponent.style, props._styles);
|
|
22
18
|
}
|
|
23
19
|
},
|
|
24
|
-
context: function
|
|
20
|
+
context: function(context) {
|
|
25
21
|
if (!this[STYLES_SELF] || !Object.keys(childComponents).length) {
|
|
26
|
-
return
|
|
22
|
+
return context;
|
|
27
23
|
}
|
|
28
|
-
return
|
|
24
|
+
return {
|
|
25
|
+
...context,
|
|
26
|
+
[STYLES_CONTEXT]: this[STYLES_SELF]
|
|
27
|
+
};
|
|
29
28
|
},
|
|
30
|
-
asProps: function
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
asProps: function({
|
|
30
|
+
_styles,
|
|
31
|
+
styles,
|
|
32
|
+
...props
|
|
33
|
+
}) {
|
|
34
|
+
return {
|
|
35
|
+
...props,
|
|
33
36
|
styles: this[STYLES_SELF]
|
|
34
|
-
}
|
|
37
|
+
};
|
|
35
38
|
},
|
|
36
|
-
wrapperProps: function
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
wrapperProps: function({
|
|
40
|
+
styles,
|
|
41
|
+
...props
|
|
42
|
+
}) {
|
|
43
|
+
const context = React.useContext(Context);
|
|
44
|
+
return {
|
|
45
|
+
...props,
|
|
40
46
|
_styles: styles,
|
|
41
47
|
styles: context[STYLES_CONTEXT]
|
|
42
|
-
}
|
|
48
|
+
};
|
|
43
49
|
}
|
|
44
50
|
};
|
|
45
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.mjs","names":["React","STATIC_COMPONENT","sstyled","STYLES_CONTEXT","Symbol","STYLES_SELF","Enhancement","childComponents","Context","condition","Component","Boolean","style","init","props","WrapperComponent","styles","merge","_styles","context","Object","keys","length","
|
|
1
|
+
{"version":3,"file":"style.mjs","names":["React","STATIC_COMPONENT","sstyled","STYLES_CONTEXT","Symbol","STYLES_SELF","Enhancement","childComponents","Context","condition","Component","Boolean","style","init","props","WrapperComponent","styles","merge","_styles","context","Object","keys","length","asProps","wrapperProps","useContext"],"sources":["../../src/enhancement/style.tsx"],"sourcesContent":["import React from 'react';\n\nimport { STATIC_COMPONENT } from './staticChildren';\nimport { sstyled } from '../styled/index';\n\nexport const STYLES_CONTEXT = Symbol('STYLES_CONTEXT');\nconst STYLES_SELF = Symbol('STYLES_SELF');\n\nfunction Enhancement(childComponents: any, Context: any) {\n return {\n condition: function (Component: any) {\n return Boolean(Component.style || Component[STATIC_COMPONENT]);\n },\n init: function (this: any, props: any, WrapperComponent: any) {\n if (props.styles) {\n this[STYLES_SELF] = props.styles;\n }\n if (WrapperComponent.style) {\n this[STYLES_SELF] = sstyled.merge(WrapperComponent.style, props._styles);\n }\n },\n context: function (this: any, context: any): any {\n // Optimization: if has no children there is no need to create new context (by lsroman)\n if (!this[STYLES_SELF] || !Object.keys(childComponents).length) {\n return context;\n }\n return {\n ...context,\n [STYLES_CONTEXT]: this[STYLES_SELF],\n };\n },\n\n asProps: function (this: any, { _styles, styles, ...props }: any) {\n return {\n ...props,\n styles: this[STYLES_SELF],\n };\n },\n wrapperProps: function (this: any, { styles, ...props }: any) {\n const context: any = React.useContext(Context);\n return {\n ...props,\n _styles: styles,\n styles: context[STYLES_CONTEXT],\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,gBAAgB,QAAQ,sBAAkB;AACnD,SAASC,OAAO,QAAQ,qBAAiB;AAEzC,OAAO,MAAMC,cAAc,GAAGC,MAAM,CAAC,gBAAgB,CAAC;AACtD,MAAMC,WAAW,GAAGD,MAAM,CAAC,aAAa,CAAC;AAEzC,SAASE,WAAWA,CAACC,eAAoB,EAAEC,OAAY,EAAE;EACvD,OAAO;IACLC,SAAS,EAAE,SAAAA,CAAUC,SAAc,EAAE;MACnC,OAAOC,OAAO,CAACD,SAAS,CAACE,KAAK,IAAIF,SAAS,CAACT,gBAAgB,CAAC,CAAC;IAChE,CAAC;IACDY,IAAI,EAAE,SAAAA,CAAqBC,KAAU,EAAEC,gBAAqB,EAAE;MAC5D,IAAID,KAAK,CAACE,MAAM,EAAE;QAChB,IAAI,CAACX,WAAW,CAAC,GAAGS,KAAK,CAACE,MAAM;MAClC;MACA,IAAID,gBAAgB,CAACH,KAAK,EAAE;QAC1B,IAAI,CAACP,WAAW,CAAC,GAAGH,OAAO,CAACe,KAAK,CAACF,gBAAgB,CAACH,KAAK,EAAEE,KAAK,CAACI,OAAO,CAAC;MAC1E;IACF,CAAC;IACDC,OAAO,EAAE,SAAAA,CAAqBA,OAAY,EAAO;MAC/C;MACA,IAAI,CAAC,IAAI,CAACd,WAAW,CAAC,IAAI,CAACe,MAAM,CAACC,IAAI,CAACd,eAAe,CAAC,CAACe,MAAM,EAAE;QAC9D,OAAOH,OAAO;MAChB;MACA,OAAO;QACL,GAAGA,OAAO;QACV,CAAChB,cAAc,GAAG,IAAI,CAACE,WAAW;MACpC,CAAC;IACH,CAAC;IAEDkB,OAAO,EAAE,SAAAA,CAAqB;MAAEL,OAAO;MAAEF,MAAM;MAAE,GAAGF;IAAW,CAAC,EAAE;MAChE,OAAO;QACL,GAAGA,KAAK;QACRE,MAAM,EAAE,IAAI,CAACX,WAAW;MAC1B,CAAC;IACH,CAAC;IACDmB,YAAY,EAAE,SAAAA,CAAqB;MAAER,MAAM;MAAE,GAAGF;IAAW,CAAC,EAAE;MAC5D,MAAMK,OAAY,GAAGnB,KAAK,CAACyB,UAAU,CAACjB,OAAO,CAAC;MAC9C,OAAO;QACL,GAAGM,KAAK;QACRI,OAAO,EAAEF,MAAM;QACfA,MAAM,EAAEG,OAAO,CAAChB,cAAc;MAChC,CAAC;IACH;EACF,CAAC;AACH;AAEA,eAAeG,WAAW","ignoreList":[]}
|