@semcore/core 1.14.6 → 1.14.7
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 +2 -2
- package/lib/cjs/Component.js +0 -16
- package/lib/cjs/Component.js.map +1 -1
- package/lib/cjs/enhancement/Children.js +17 -42
- package/lib/cjs/enhancement/Children.js.map +1 -1
- package/lib/cjs/enhancement/Root.js +15 -33
- package/lib/cjs/enhancement/Root.js.map +1 -1
- package/lib/cjs/enhancement/bindHandler.js +0 -11
- package/lib/cjs/enhancement/bindHandler.js.map +1 -1
- package/lib/cjs/enhancement/dataName.js +0 -4
- package/lib/cjs/enhancement/dataName.js.map +1 -1
- package/lib/cjs/enhancement/enhance.js +0 -2
- package/lib/cjs/enhancement/enhance.js.map +1 -1
- package/lib/cjs/enhancement/functionDefaultProps.js +0 -5
- package/lib/cjs/enhancement/functionDefaultProps.js.map +1 -1
- package/lib/cjs/enhancement/hoistProps.js +10 -27
- package/lib/cjs/enhancement/hoistProps.js.map +1 -1
- package/lib/cjs/enhancement/inheritedName.js +0 -6
- package/lib/cjs/enhancement/inheritedName.js.map +1 -1
- package/lib/cjs/enhancement/staticChildren.js +14 -45
- package/lib/cjs/enhancement/staticChildren.js.map +1 -1
- package/lib/cjs/enhancement/style.js +4 -16
- package/lib/cjs/enhancement/style.js.map +1 -1
- package/lib/cjs/enhancement/uncontrolledProps.js +16 -49
- package/lib/cjs/enhancement/uncontrolledProps.js.map +1 -1
- package/lib/cjs/index.js +49 -134
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/register.js +0 -9
- package/lib/cjs/register.js.map +1 -1
- package/lib/cjs/styled/index.js +0 -5
- package/lib/cjs/styled/index.js.map +1 -1
- package/lib/cjs/styled/sstyled.js +16 -55
- package/lib/cjs/styled/sstyled.js.map +1 -1
- package/lib/es6/Component.js +0 -11
- package/lib/es6/Component.js.map +1 -1
- package/lib/es6/enhancement/Children.js +17 -36
- package/lib/es6/enhancement/Children.js.map +1 -1
- package/lib/es6/enhancement/Root.js +19 -30
- package/lib/es6/enhancement/Root.js.map +1 -1
- package/lib/es6/enhancement/bindHandler.js +0 -10
- package/lib/es6/enhancement/bindHandler.js.map +1 -1
- package/lib/es6/enhancement/dataName.js +0 -2
- package/lib/es6/enhancement/dataName.js.map +1 -1
- package/lib/es6/enhancement/enhance.js +0 -1
- package/lib/es6/enhancement/enhance.js.map +1 -1
- package/lib/es6/enhancement/functionDefaultProps.js +0 -4
- package/lib/es6/enhancement/functionDefaultProps.js.map +1 -1
- package/lib/es6/enhancement/hoistProps.js +13 -23
- package/lib/es6/enhancement/hoistProps.js.map +1 -1
- package/lib/es6/enhancement/inheritedName.js +0 -2
- package/lib/es6/enhancement/inheritedName.js.map +1 -1
- package/lib/es6/enhancement/staticChildren.js +17 -41
- package/lib/es6/enhancement/staticChildren.js.map +1 -1
- package/lib/es6/enhancement/style.js +6 -12
- package/lib/es6/enhancement/style.js.map +1 -1
- package/lib/es6/enhancement/uncontrolledProps.js +16 -42
- package/lib/es6/enhancement/uncontrolledProps.js.map +1 -1
- package/lib/es6/index.js +55 -110
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/register.js +0 -5
- package/lib/es6/register.js.map +1 -1
- package/lib/es6/styled/index.js.map +1 -1
- package/lib/es6/styled/sstyled.js +14 -49
- package/lib/es6/styled/sstyled.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staticChildren.js","names":["useContext","assignProps","pick","logger","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","Error","prevStaticComponent","prevDisplayName","context","wrapperProps","has","add","render","forEach","undefined","clear"],"sources":["../../../src/enhancement/staticChildren.tsx"],"sourcesContent":["import { useContext } from 'react';\n// @ts-ignore\nimport assignProps from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport pick from '@semcore/utils/lib/pick';\n// @ts-ignore\nimport logger from '@semcore/utils/lib/logger';\n\nfunction assign(target, source) {\n return Object.defineProperties(\n target,\n Object.keys(source).reduce((descriptors, key) => {\n descriptors[key] = Object.getOwnPropertyDescriptor(source, key);\n return descriptors;\n }, {}),\n );\n}\n\nexport function getterMethodName(name) {\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, parentName?: string) {\n return Object.entries(childComponents).reduce<string[]>((acc, [name, value]) => {\n if (Array.isArray(value)) {\n acc = [...acc, ...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, createComponent, options) {\n const getterMethodNames = flatGetterMethodNames(childComponents);\n return {\n condition: function (Component) {\n return Boolean(Component[STATIC_COMPONENT] || Object.keys(childComponents).length);\n },\n init: function (props, WrapperComponent) {\n const getterMethods = 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, 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, Component) {\n if (Object.keys(childComponents).length && !WrapperComponent.displayName) {\n throw new Error('\"displayName\" is not defined');\n }\n return Object.entries(childComponents).reduce((acc, [name, value]) => {\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 /*, WrapperComponent*/) {\n // const getterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n return {\n ...context,\n // [getterMethod]: this[SELF_GETTER_METHOD],\n ...pick(this, getterMethodNames),\n };\n },\n wrapperProps: function (props, WrapperComponent) {\n if (!WrapperComponent[STATIC_COMPONENT]) return props;\n const context = 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 (render) {\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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"}
|
|
1
|
+
{"version":3,"file":"staticChildren.js","names":["useContext","assignProps","pick","logger","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","_toConsumableArray","push","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","has","add","render","_this2","forEach","clear"],"sources":["../../../src/enhancement/staticChildren.tsx"],"sourcesContent":["import { useContext } from 'react';\n// @ts-ignore\nimport assignProps from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport pick from '@semcore/utils/lib/pick';\n// @ts-ignore\nimport logger from '@semcore/utils/lib/logger';\n\nfunction assign(target, source) {\n return Object.defineProperties(\n target,\n Object.keys(source).reduce((descriptors, key) => {\n descriptors[key] = Object.getOwnPropertyDescriptor(source, key);\n return descriptors;\n }, {}),\n );\n}\n\nexport function getterMethodName(name) {\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, parentName?: string) {\n return Object.entries(childComponents).reduce<string[]>((acc, [name, value]) => {\n if (Array.isArray(value)) {\n acc = [...acc, ...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, createComponent, options) {\n const getterMethodNames = flatGetterMethodNames(childComponents);\n return {\n condition: function (Component) {\n return Boolean(Component[STATIC_COMPONENT] || Object.keys(childComponents).length);\n },\n init: function (props, WrapperComponent) {\n const getterMethods = 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, 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, Component) {\n if (Object.keys(childComponents).length && !WrapperComponent.displayName) {\n throw new Error('\"displayName\" is not defined');\n }\n return Object.entries(childComponents).reduce((acc, [name, value]) => {\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 /*, WrapperComponent*/) {\n // const getterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n return {\n ...context,\n // [getterMethod]: this[SELF_GETTER_METHOD],\n ...pick(this, getterMethodNames),\n };\n },\n wrapperProps: function (props, WrapperComponent) {\n if (!WrapperComponent[STATIC_COMPONENT]) return props;\n const context = 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 (render) {\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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"}
|
|
@@ -2,14 +2,13 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
|
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
3
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
4
4
|
var _excluded = ["_styles", "styles"],
|
|
5
|
-
|
|
6
|
-
import { useContext } from 'react';
|
|
7
|
-
|
|
5
|
+
_excluded2 = ["styles"];
|
|
6
|
+
import { useContext } from 'react';
|
|
7
|
+
// @ts-ignore
|
|
8
8
|
import { sstyled } from '../styled';
|
|
9
9
|
import { STATIC_COMPONENT } from './staticChildren';
|
|
10
10
|
export var STYLES_CONTEXT = Symbol('STYLES_CONTEXT');
|
|
11
11
|
var STYLES_SELF = Symbol('STYLES_SELF');
|
|
12
|
-
|
|
13
12
|
function Enhancement(childComponents, Context) {
|
|
14
13
|
return {
|
|
15
14
|
condition: function condition(Component) {
|
|
@@ -19,7 +18,6 @@ function Enhancement(childComponents, Context) {
|
|
|
19
18
|
if (props.styles) {
|
|
20
19
|
this[STYLES_SELF] = props.styles;
|
|
21
20
|
}
|
|
22
|
-
|
|
23
21
|
if (WrapperComponent.style) {
|
|
24
22
|
this[STYLES_SELF] = sstyled.merge(WrapperComponent.style, props._styles);
|
|
25
23
|
}
|
|
@@ -29,23 +27,20 @@ function Enhancement(childComponents, Context) {
|
|
|
29
27
|
if (!this[STYLES_SELF] || !Object.keys(childComponents).length) {
|
|
30
28
|
return _context;
|
|
31
29
|
}
|
|
32
|
-
|
|
33
30
|
return _objectSpread(_objectSpread({}, _context), {}, _defineProperty({}, STYLES_CONTEXT, this[STYLES_SELF]));
|
|
34
31
|
},
|
|
35
32
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
36
33
|
asProps: function asProps(_ref) {
|
|
37
34
|
var _styles = _ref._styles,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
35
|
+
styles = _ref.styles,
|
|
36
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
41
37
|
return _objectSpread(_objectSpread({}, props), {}, {
|
|
42
38
|
styles: this[STYLES_SELF]
|
|
43
39
|
});
|
|
44
40
|
},
|
|
45
41
|
wrapperProps: function wrapperProps(_ref2) {
|
|
46
42
|
var styles = _ref2.styles,
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
props = _objectWithoutProperties(_ref2, _excluded2);
|
|
49
44
|
var context = useContext(Context);
|
|
50
45
|
return _objectSpread(_objectSpread({}, props), {}, {
|
|
51
46
|
_styles: styles,
|
|
@@ -54,6 +49,5 @@ function Enhancement(childComponents, Context) {
|
|
|
54
49
|
}
|
|
55
50
|
};
|
|
56
51
|
}
|
|
57
|
-
|
|
58
52
|
export default Enhancement;
|
|
59
53
|
//# sourceMappingURL=style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","names":["useContext","sstyled","STATIC_COMPONENT","STYLES_CONTEXT","Symbol","STYLES_SELF","Enhancement","childComponents","Context","condition","Component","Boolean","style","init","props","WrapperComponent","styles","merge","_styles","context","Object","keys","length","asProps","wrapperProps"],"sources":["../../../src/enhancement/style.tsx"],"sourcesContent":["import { useContext } from 'react';\n// @ts-ignore\nimport { sstyled } from '../styled';\nimport { STATIC_COMPONENT } from './staticChildren';\n\nexport const STYLES_CONTEXT = Symbol('STYLES_CONTEXT');\nconst STYLES_SELF = Symbol('STYLES_SELF');\n\nfunction Enhancement(childComponents, Context) {\n return {\n condition: function (Component) {\n return Boolean(Component.style || Component[STATIC_COMPONENT]);\n },\n init: function (props, WrapperComponent) {\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 (context) {\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 // eslint-disable-next-line @typescript-eslint/no-unused-vars\n asProps: function ({ _styles, styles, ...props }) {\n return {\n ...props,\n styles: this[STYLES_SELF],\n };\n },\n wrapperProps: function ({ styles, ...props }) {\n const context = 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,SAASA,
|
|
1
|
+
{"version":3,"file":"style.js","names":["useContext","sstyled","STATIC_COMPONENT","STYLES_CONTEXT","Symbol","STYLES_SELF","Enhancement","childComponents","Context","condition","Component","Boolean","style","init","props","WrapperComponent","styles","merge","_styles","context","Object","keys","length","_objectSpread","_defineProperty","asProps","_ref","_objectWithoutProperties","_excluded","wrapperProps","_ref2","_excluded2"],"sources":["../../../src/enhancement/style.tsx"],"sourcesContent":["import { useContext } from 'react';\n// @ts-ignore\nimport { sstyled } from '../styled';\nimport { STATIC_COMPONENT } from './staticChildren';\n\nexport const STYLES_CONTEXT = Symbol('STYLES_CONTEXT');\nconst STYLES_SELF = Symbol('STYLES_SELF');\n\nfunction Enhancement(childComponents, Context) {\n return {\n condition: function (Component) {\n return Boolean(Component.style || Component[STATIC_COMPONENT]);\n },\n init: function (props, WrapperComponent) {\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 (context) {\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 // eslint-disable-next-line @typescript-eslint/no-unused-vars\n asProps: function ({ _styles, styles, ...props }) {\n return {\n ...props,\n styles: this[STYLES_SELF],\n };\n },\n wrapperProps: function ({ styles, ...props }) {\n const context = 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,SAASA,UAAU,QAAQ,OAAO;AAClC;AACA,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,gBAAgB,QAAQ,kBAAkB;AAEnD,OAAO,IAAMC,cAAc,GAAGC,MAAM,CAAC,gBAAgB,CAAC;AACtD,IAAMC,WAAW,GAAGD,MAAM,CAAC,aAAa,CAAC;AAEzC,SAASE,WAAWA,CAACC,eAAe,EAAEC,OAAO,EAAE;EAC7C,OAAO;IACLC,SAAS,EAAE,SAAAA,UAAUC,SAAS,EAAE;MAC9B,OAAOC,OAAO,CAACD,SAAS,CAACE,KAAK,IAAIF,SAAS,CAACR,gBAAgB,CAAC,CAAC;IAChE,CAAC;IACDW,IAAI,EAAE,SAAAA,KAAUC,KAAK,EAAEC,gBAAgB,EAAE;MACvC,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,GAAGJ,OAAO,CAACgB,KAAK,CAACF,gBAAgB,CAACH,KAAK,EAAEE,KAAK,CAACI,OAAO,CAAC;MAC1E;IACF,CAAC;IACDC,OAAO,EAAE,SAAAA,QAAUA,QAAO,EAAE;MAC1B;MACA,IAAI,CAAC,IAAI,CAACd,WAAW,CAAC,IAAI,CAACe,MAAM,CAACC,IAAI,CAACd,eAAe,CAAC,CAACe,MAAM,EAAE;QAC9D,OAAOH,QAAO;MAChB;MACA,OAAAI,aAAA,CAAAA,aAAA,KACKJ,QAAO,OAAAK,eAAA,KACTrB,cAAc,EAAG,IAAI,CAACE,WAAW,CAAC;IAEvC,CAAC;IACD;IACAoB,OAAO,EAAE,SAAAA,QAAAC,IAAA,EAAyC;MAAA,IAA7BR,OAAO,GAAAQ,IAAA,CAAPR,OAAO;QAAEF,MAAM,GAAAU,IAAA,CAANV,MAAM;QAAKF,KAAK,GAAAa,wBAAA,CAAAD,IAAA,EAAAE,SAAA;MAC5C,OAAAL,aAAA,CAAAA,aAAA,KACKT,KAAK;QACRE,MAAM,EAAE,IAAI,CAACX,WAAW;MAAC;IAE7B,CAAC;IACDwB,YAAY,EAAE,SAAAA,aAAAC,KAAA,EAAgC;MAAA,IAApBd,MAAM,GAAAc,KAAA,CAANd,MAAM;QAAKF,KAAK,GAAAa,wBAAA,CAAAG,KAAA,EAAAC,UAAA;MACxC,IAAMZ,OAAO,GAAGnB,UAAU,CAACQ,OAAO,CAAC;MACnC,OAAAe,aAAA,CAAAA,aAAA,KACKT,KAAK;QACRI,OAAO,EAAEF,MAAM;QACfA,MAAM,EAAEG,OAAO,CAAChB,cAAc;MAAC;IAEnC;EACF,CAAC;AACH;AAEA,eAAeG,WAAW"}
|
|
@@ -6,114 +6,92 @@ import _toPropertyKey from "@babel/runtime/helpers/toPropertyKey";
|
|
|
6
6
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
7
7
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
8
8
|
// @ts-ignore
|
|
9
|
-
import { callAllEventHandlers } from '@semcore/utils/lib/assignProps';
|
|
10
|
-
|
|
9
|
+
import { callAllEventHandlers } from '@semcore/utils/lib/assignProps';
|
|
10
|
+
// @ts-ignore
|
|
11
11
|
import capitalizeFirstLetter from '@semcore/utils/lib/capitalizeFirstLetter';
|
|
12
|
-
|
|
13
12
|
function assign(target, source) {
|
|
14
13
|
return Object.defineProperties(target, Object.keys(source).reduce(function (descriptors, key) {
|
|
15
14
|
descriptors[key] = Object.getOwnPropertyDescriptor(source, key);
|
|
16
15
|
return descriptors;
|
|
17
16
|
}, {}));
|
|
18
17
|
}
|
|
19
|
-
|
|
20
18
|
function defaultProp(prop) {
|
|
21
19
|
return 'default' + capitalizeFirstLetter(prop);
|
|
22
20
|
}
|
|
23
|
-
|
|
24
21
|
function handlerProp(prop) {
|
|
25
22
|
if (prop === 'value') prop = '';
|
|
26
23
|
if (prop === 'checked') prop = '';
|
|
27
24
|
return "on".concat(capitalizeFirstLetter(prop), "Change");
|
|
28
25
|
}
|
|
29
|
-
|
|
30
26
|
function isControlled(propValue) {
|
|
31
27
|
return propValue !== undefined;
|
|
32
28
|
}
|
|
33
|
-
|
|
34
29
|
function uncontrolledProp(self, propName, propValue, propDefaultValue, propHandler, chainHandler) {
|
|
35
30
|
function getValue() {
|
|
36
31
|
return isControlled(propValue) ? propValue : propName in self.state ? self.state[propName] : propDefaultValue;
|
|
37
32
|
}
|
|
38
|
-
|
|
39
33
|
return [getValue(), function (value) {
|
|
40
34
|
var oldValue = getValue();
|
|
41
35
|
if (oldValue === value) return false;
|
|
42
36
|
if (!isControlled(propValue)) self.setState(_defineProperty({}, propName, value));
|
|
43
|
-
|
|
44
37
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
45
38
|
args[_key - 1] = arguments[_key];
|
|
46
39
|
}
|
|
47
|
-
|
|
48
40
|
return callAllEventHandlers.apply(void 0, [propHandler].concat(_toConsumableArray(chainHandler))).apply(void 0, [value].concat(args));
|
|
49
41
|
}];
|
|
50
42
|
}
|
|
51
|
-
|
|
52
43
|
function uncontrolledUniversal(props, config, uncontrolledProp) {
|
|
53
44
|
var handlerProps = {};
|
|
54
45
|
var uncontrolledProps = Object.keys(config).reduce(function (result, propName) {
|
|
55
46
|
var _objectSpread2;
|
|
56
|
-
|
|
57
47
|
var handlerName = handlerProp(propName);
|
|
58
48
|
var defaultPropName = defaultProp(propName);
|
|
59
|
-
|
|
60
49
|
var propDefaultValue = result[defaultPropName],
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
50
|
+
propValue = result[propName],
|
|
51
|
+
propHandler = result[handlerName],
|
|
52
|
+
other = _objectWithoutProperties(result, [defaultPropName, propName, handlerName].map(_toPropertyKey));
|
|
65
53
|
if (propDefaultValue === undefined) {
|
|
66
54
|
// eslint-disable-next-line no-console
|
|
67
55
|
console.warn(defaultPropName, 'must be installed in "defaultProps"');
|
|
68
|
-
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// if (typeof propDefaultValue === 'function' && propDefaultValue.defaultInit) {
|
|
69
59
|
// propDefaultValue = propDefaultValue(result);
|
|
70
60
|
// }
|
|
71
61
|
|
|
72
|
-
|
|
73
62
|
var setter = config[propName];
|
|
74
63
|
var chainHandler = [];
|
|
75
|
-
|
|
76
64
|
if (Array.isArray(setter)) {
|
|
77
65
|
var _setter = setter;
|
|
78
|
-
|
|
79
66
|
var _setter2 = _toArray(_setter);
|
|
80
|
-
|
|
81
67
|
setter = _setter2[0];
|
|
82
68
|
chainHandler = _setter2.slice(1);
|
|
83
69
|
}
|
|
84
|
-
|
|
85
70
|
setter = setter || function (v) {
|
|
86
71
|
return v;
|
|
87
72
|
};
|
|
88
|
-
|
|
89
73
|
var _uncontrolledProp = uncontrolledProp(propName, propValue, propDefaultValue, propHandler, chainHandler),
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
74
|
+
_uncontrolledProp2 = _slicedToArray(_uncontrolledProp, 2),
|
|
75
|
+
value = _uncontrolledProp2[0],
|
|
76
|
+
handler = _uncontrolledProp2[1];
|
|
77
|
+
// TODO: need to warn about recursion (by lsroman)
|
|
95
78
|
handlerProps[propName] = handler;
|
|
96
79
|
return _objectSpread(_objectSpread({}, other), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, propName, value), _defineProperty(_objectSpread2, handlerName, function (eventOrValue) {
|
|
97
80
|
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
98
81
|
args[_key2 - 1] = arguments[_key2];
|
|
99
82
|
}
|
|
100
|
-
|
|
101
83
|
var result = [setter.apply(void 0, [eventOrValue].concat(args))].concat(args);
|
|
102
|
-
|
|
103
84
|
if (eventOrValue && eventOrValue.target) {
|
|
104
85
|
result.push(eventOrValue);
|
|
105
86
|
}
|
|
106
|
-
|
|
107
87
|
return handler.apply(void 0, _toConsumableArray(result));
|
|
108
88
|
}), _objectSpread2));
|
|
109
89
|
}, props);
|
|
110
90
|
return [uncontrolledProps, handlerProps];
|
|
111
91
|
}
|
|
112
|
-
|
|
113
92
|
function uncontrolled(self, props, config) {
|
|
114
93
|
return uncontrolledUniversal(props, config, uncontrolledProp.bind(undefined, self));
|
|
115
94
|
}
|
|
116
|
-
|
|
117
95
|
function Enhancement() {
|
|
118
96
|
return {
|
|
119
97
|
condition: function condition(Component) {
|
|
@@ -124,12 +102,10 @@ function Enhancement() {
|
|
|
124
102
|
assign(this, {
|
|
125
103
|
get handlers() {
|
|
126
104
|
var _uncontrolled = uncontrolled(this, this.props, this.uncontrolledProps()),
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
105
|
+
_uncontrolled2 = _slicedToArray(_uncontrolled, 2),
|
|
106
|
+
uncontrolledHandlers = _uncontrolled2[1];
|
|
130
107
|
return uncontrolledHandlers;
|
|
131
108
|
}
|
|
132
|
-
|
|
133
109
|
});
|
|
134
110
|
},
|
|
135
111
|
context: function context(_context) {
|
|
@@ -140,13 +116,11 @@ function Enhancement() {
|
|
|
140
116
|
asProps: function asProps(props) {
|
|
141
117
|
// TODO: need to omit unneccessary props (by lsroman)
|
|
142
118
|
var _uncontrolled3 = uncontrolled(this, props, this.uncontrolledProps()),
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
119
|
+
_uncontrolled4 = _slicedToArray(_uncontrolled3, 1),
|
|
120
|
+
uncontrolledProps = _uncontrolled4[0];
|
|
146
121
|
return uncontrolledProps;
|
|
147
122
|
}
|
|
148
123
|
};
|
|
149
124
|
}
|
|
150
|
-
|
|
151
125
|
export default Enhancement;
|
|
152
126
|
//# sourceMappingURL=uncontrolledProps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uncontrolledProps.js","names":["callAllEventHandlers","capitalizeFirstLetter","assign","target","source","Object","defineProperties","keys","reduce","descriptors","key","getOwnPropertyDescriptor","defaultProp","prop","handlerProp","isControlled","propValue","undefined","uncontrolledProp","self","propName","propDefaultValue","propHandler","chainHandler","getValue","state","value","oldValue","setState","args","uncontrolledUniversal","props","config","handlerProps","uncontrolledProps","result","handlerName","defaultPropName","other","console","warn","setter","
|
|
1
|
+
{"version":3,"file":"uncontrolledProps.js","names":["callAllEventHandlers","capitalizeFirstLetter","assign","target","source","Object","defineProperties","keys","reduce","descriptors","key","getOwnPropertyDescriptor","defaultProp","prop","handlerProp","concat","isControlled","propValue","undefined","uncontrolledProp","self","propName","propDefaultValue","propHandler","chainHandler","getValue","state","value","oldValue","setState","_defineProperty","_len","arguments","length","args","Array","_key","apply","_toConsumableArray","uncontrolledUniversal","props","config","handlerProps","uncontrolledProps","result","_objectSpread2","handlerName","defaultPropName","other","_objectWithoutProperties","map","_toPropertyKey","console","warn","setter","isArray","_setter","_setter2","_toArray","slice","v","_uncontrolledProp","_uncontrolledProp2","_slicedToArray","handler","_objectSpread","eventOrValue","_len2","_key2","push","uncontrolled","bind","Enhancement","condition","Component","Boolean","prototype","init","handlers","_uncontrolled","_uncontrolled2","uncontrolledHandlers","context","asProps","_uncontrolled3","_uncontrolled4"],"sources":["../../../src/enhancement/uncontrolledProps.tsx"],"sourcesContent":["// @ts-ignore\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport capitalizeFirstLetter from '@semcore/utils/lib/capitalizeFirstLetter';\n\nfunction assign(target, source) {\n return Object.defineProperties(\n target,\n Object.keys(source).reduce((descriptors, key) => {\n descriptors[key] = Object.getOwnPropertyDescriptor(source, key);\n return descriptors;\n }, {}),\n );\n}\n\nfunction defaultProp(prop) {\n return 'default' + capitalizeFirstLetter(prop);\n}\n\nfunction handlerProp(prop) {\n if (prop === 'value') prop = '';\n if (prop === 'checked') prop = '';\n return `on${capitalizeFirstLetter(prop)}Change`;\n}\n\nfunction isControlled(propValue) {\n return propValue !== undefined;\n}\n\nfunction uncontrolledProp(self, propName, propValue, propDefaultValue, propHandler, chainHandler) {\n function getValue() {\n return isControlled(propValue)\n ? propValue\n : propName in self.state\n ? self.state[propName]\n : propDefaultValue;\n }\n\n return [\n getValue(),\n (value, ...args) => {\n const oldValue = getValue();\n if (oldValue === value) return false;\n if (!isControlled(propValue)) self.setState({ [propName]: value });\n return callAllEventHandlers(propHandler, ...chainHandler)(value, ...args);\n },\n ];\n}\n\nfunction uncontrolledUniversal(props, config, uncontrolledProp) {\n const handlerProps = {};\n const uncontrolledProps = Object.keys(config).reduce((result, propName) => {\n const handlerName = handlerProp(propName);\n const defaultPropName = defaultProp(propName);\n const {\n [defaultPropName]: propDefaultValue,\n [propName]: propValue,\n [handlerName]: propHandler,\n ...other\n } = result;\n\n if (propDefaultValue === undefined) {\n // eslint-disable-next-line no-console\n console.warn(defaultPropName, 'must be installed in \"defaultProps\"');\n }\n\n // if (typeof propDefaultValue === 'function' && propDefaultValue.defaultInit) {\n // propDefaultValue = propDefaultValue(result);\n // }\n\n let setter = config[propName];\n let chainHandler = [];\n\n if (Array.isArray(setter)) [setter, ...chainHandler] = setter;\n setter = setter || ((v) => v);\n\n const [value, handler] = uncontrolledProp(\n propName,\n propValue,\n propDefaultValue,\n propHandler,\n chainHandler,\n );\n // TODO: need to warn about recursion (by lsroman)\n handlerProps[propName] = handler;\n\n return {\n ...other,\n [propName]: value,\n [handlerName]: (eventOrValue, ...args) => {\n const result = [setter(eventOrValue, ...args), ...args];\n if (eventOrValue && eventOrValue.target) {\n result.push(eventOrValue);\n }\n return handler(...result);\n },\n };\n }, props);\n return [uncontrolledProps, handlerProps];\n}\n\nfunction uncontrolled(self, props, config) {\n return uncontrolledUniversal(props, config, uncontrolledProp.bind(undefined, self));\n}\n\nfunction Enhancement() {\n return {\n condition: function (Component) {\n return Boolean(Component.prototype.uncontrolledProps);\n },\n init: function () {\n this.state = this.state || {};\n assign(this, {\n get handlers() {\n const [, uncontrolledHandlers] = uncontrolled(this, this.props, this.uncontrolledProps());\n return uncontrolledHandlers;\n },\n });\n },\n context: function (context) {\n return {\n ...context,\n handlers: this.handlers,\n };\n },\n asProps: function (props) {\n // TODO: need to omit unneccessary props (by lsroman)\n const [uncontrolledProps] = uncontrolled(this, props, this.uncontrolledProps());\n return uncontrolledProps;\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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"}
|