@semcore/core 2.6.1 → 2.6.2
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 +7 -1
- package/lib/cjs/enhancement/Children.js +2 -2
- package/lib/cjs/enhancement/Children.js.map +1 -1
- package/lib/cjs/enhancement/hoistProps.js +3 -3
- package/lib/cjs/enhancement/hoistProps.js.map +1 -1
- package/lib/cjs/enhancement/staticChildren.js +2 -2
- package/lib/cjs/enhancement/staticChildren.js.map +1 -1
- package/lib/cjs/enhancement/style.js +2 -2
- package/lib/cjs/enhancement/style.js.map +1 -1
- package/lib/cjs/index.js +3 -3
- package/lib/cjs/index.js.map +1 -1
- package/lib/es6/enhancement/Children.js +2 -2
- package/lib/es6/enhancement/Children.js.map +1 -1
- package/lib/es6/enhancement/hoistProps.js +3 -3
- package/lib/es6/enhancement/hoistProps.js.map +1 -1
- package/lib/es6/enhancement/staticChildren.js +2 -2
- package/lib/es6/enhancement/staticChildren.js.map +1 -1
- package/lib/es6/enhancement/style.js +2 -2
- package/lib/es6/enhancement/style.js.map +1 -1
- package/lib/es6/index.js +3 -3
- package/lib/es6/index.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
-
## [2.6.
|
|
5
|
+
## [2.6.2-prerelease.0] - 2023-09-08
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Version prepatch update due to children dependencies update (`@semcore/utils` [4.6.1 ~> 4.6.2]).
|
|
10
|
+
|
|
11
|
+
## [2.6.1] - 2023-09-05
|
|
6
12
|
|
|
7
13
|
### Fixed
|
|
8
14
|
|
|
@@ -9,7 +9,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
10
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
|
-
var _react = require("react");
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
13
|
var _index = require("../index");
|
|
14
14
|
var _excluded = ["handlers", "getters"],
|
|
15
15
|
_excluded2 = ["handlers"];
|
|
@@ -63,7 +63,7 @@ function createChildren(Context, contexts) {
|
|
|
63
63
|
var children = Children.origin;
|
|
64
64
|
if (typeof children === 'function') {
|
|
65
65
|
var _reduce = [].concat((0, _toConsumableArray2["default"])(contexts), [Context]).reduce(function (acc, ctx) {
|
|
66
|
-
var _ref3 =
|
|
66
|
+
var _ref3 = _react["default"].useContext(ctx),
|
|
67
67
|
handlers = _ref3.handlers,
|
|
68
68
|
propsAndGetters = (0, _objectWithoutProperties2["default"])(_ref3, _excluded2);
|
|
69
69
|
var _splitPropsAndGetters = splitPropsAndGetters(propsAndGetters),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Children.js","names":["_react","require","_index","_excluded","_excluded2","CHILDREN_COMPONENT","Symbol","exports","CHILDREN_SELF","GETTER_REG","splitPropsAndGetters","props","Object","entries","reduce","acc","_ref","_ref2","_slicedToArray2","key","value","exec","getters","getterToArray","getter","Array","isArray","mergeObjects","a","arguments","length","undefined","b","core","_objectSpread2","keys","concat","_toConsumableArray2","assignGettersChain","createChildren","Context","contexts","Children","children","origin","_reduce","ctx","_ref3","useContext","handlers","propsAndGetters","_objectWithoutProperties2","_splitPropsAndGetters","assign","_reduce$handlers","_reduce$getters","mergedGetters","_ref4","_ref5","Enhancement","parent","init","map","component","CONTEXT_COMPONENT","filter","Boolean","asProps","_default"],"sources":["../../../src/enhancement/Children.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"Children.js","names":["_react","_interopRequireDefault","require","_index","_excluded","_excluded2","CHILDREN_COMPONENT","Symbol","exports","CHILDREN_SELF","GETTER_REG","splitPropsAndGetters","props","Object","entries","reduce","acc","_ref","_ref2","_slicedToArray2","key","value","exec","getters","getterToArray","getter","Array","isArray","mergeObjects","a","arguments","length","undefined","b","core","_objectSpread2","keys","concat","_toConsumableArray2","assignGettersChain","createChildren","Context","contexts","Children","children","origin","_reduce","ctx","_ref3","React","useContext","handlers","propsAndGetters","_objectWithoutProperties2","_splitPropsAndGetters","assign","_reduce$handlers","_reduce$getters","mergedGetters","_ref4","_ref5","Enhancement","parent","init","map","component","CONTEXT_COMPONENT","filter","Boolean","asProps","_default"],"sources":["../../../src/enhancement/Children.tsx"],"sourcesContent":["import React from 'react';\nimport { CONTEXT_COMPONENT } from '../index';\n\nexport const CHILDREN_COMPONENT = Symbol('CHILDREN_COMPONENT');\nconst CHILDREN_SELF = Symbol('CHILDREN_SELF');\n\nconst GETTER_REG = /^get[\\w]+Props$/;\n\nfunction splitPropsAndGetters(props: any) {\n return Object.entries(props).reduce(\n (acc: any, [key, value]) => {\n if (GETTER_REG.exec(key) === null) {\n acc.props[key] = value;\n } else {\n acc.getters[key] = value;\n }\n return acc;\n },\n { props: {}, getters: {} },\n );\n}\n\nfunction getterToArray(getter: any) {\n if (!Array.isArray(getter)) {\n return typeof getter === 'function' ? [getter] : [];\n }\n return getter;\n}\n\nfunction mergeObjects(a: any = {}, b: any = {}) {\n const core = { ...a, ...b };\n return Object.keys(core).reduce((acc: any, key) => {\n a[key] = getterToArray(a[key]);\n b[key] = getterToArray(b[key]);\n acc[key] = [...a[key], ...b[key]];\n return acc;\n }, {});\n}\n\nfunction assignGettersChain(getters: Array<Function>) {\n return function (props = {}) {\n return getters.reduce((acc, getter) => {\n return getter(acc);\n }, props);\n };\n}\n\nfunction createChildren(Context: any, contexts: any) {\n const Children: any = function () {\n const children = Children.origin;\n if (typeof children === 'function') {\n const {\n handlers = {},\n getters = {},\n ...props\n } = [...contexts, Context].reduce((acc, ctx) => {\n const { handlers, ...propsAndGetters } = React.useContext(ctx) as any;\n const { props, getters } = splitPropsAndGetters(propsAndGetters);\n return Object.assign({}, acc, {\n handlers: Object.assign({}, acc.handlers, handlers),\n getters: mergeObjects(acc.getters, getters),\n ...props,\n });\n }, Children.props);\n\n const mergedGetters = Object.entries(getters).reduce((acc: any, [key, value]) => {\n acc[key] = assignGettersChain(value as []);\n return acc;\n }, {});\n\n return children({ ...props, ...mergedGetters }, handlers);\n } else if (children === undefined) {\n return null;\n }\n return children;\n };\n Children.origin = null;\n Children.props = {};\n Children[CHILDREN_COMPONENT] = true;\n return Children;\n}\n\nfunction Enhancement(this: any, Context: any, parent: any) {\n return {\n init: function (this: any) {\n const contexts = (Array.isArray(parent) ? parent : [parent])\n .map((component) => component[CONTEXT_COMPONENT])\n .filter(Boolean);\n this[CHILDREN_SELF] = createChildren(Context, contexts);\n },\n asProps: function (this: any, props: any) {\n // TODO: learn the reason what it was used for (by lsroman)\n // this[CHILDREN_SELF].origin = _Children ? _Children.origin : children;\n this[CHILDREN_SELF].origin = props.children;\n this[CHILDREN_SELF].props = props;\n return {\n ...props,\n Children: this[CHILDREN_SELF],\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
10
|
var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
11
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
12
|
-
var _react = require("react");
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
13
|
var _assignProps = _interopRequireDefault(require("@semcore/utils/lib/assignProps"));
|
|
14
14
|
var _useEnhancedEffect = _interopRequireDefault(require("@semcore/utils/lib/use/useEnhancedEffect"));
|
|
15
15
|
var _pick = _interopRequireDefault(require("@semcore/utils/lib/pick"));
|
|
@@ -45,7 +45,7 @@ function Enhancement(childComponents, Context) {
|
|
|
45
45
|
var _this = this;
|
|
46
46
|
if (isFunction) {
|
|
47
47
|
// TODO: might breake rules of hooks (by lsroman)
|
|
48
|
-
this[HOIST_SELF] =
|
|
48
|
+
this[HOIST_SELF] = _react["default"].useState({});
|
|
49
49
|
} else {
|
|
50
50
|
this[HOIST_SELF] = [{}, function (obj) {
|
|
51
51
|
_this[HOIST_SELF][0] = obj;
|
|
@@ -69,7 +69,7 @@ function Enhancement(childComponents, Context) {
|
|
|
69
69
|
wrapperProps: function wrapperProps(props, WrapperComponent) {
|
|
70
70
|
var _WrapperComponent$hoi;
|
|
71
71
|
if ((_WrapperComponent$hoi = WrapperComponent.hoistProps) !== null && _WrapperComponent$hoi !== void 0 && _WrapperComponent$hoi.length) {
|
|
72
|
-
var context =
|
|
72
|
+
var context = _react["default"].useContext(Context);
|
|
73
73
|
var renameProps = WrapperComponent.hoistProps.reduce(function (acc, propName) {
|
|
74
74
|
var _propName$split = propName.split(':'),
|
|
75
75
|
_propName$split2 = (0, _slicedToArray2["default"])(_propName$split, 2),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hoistProps.js","names":["_react","
|
|
1
|
+
{"version":3,"file":"hoistProps.js","names":["_react","_interopRequireDefault","require","_assignProps","_useEnhancedEffect","_pick","HOIST_CONTEXT","Symbol","exports","HOIST_SELF","HOIST_SET","flatChildComponent","childComponents","Object","values","reduce","acc","Component","Array","isArray","concat","_toConsumableArray2","push","Enhancement","Context","condition","some","_Component$hoistProps","Boolean","hoistProps","length","init","props","WrapperComponent","isFunction","_this","React","useState","obj","forceUpdate","context","_objectSpread3","_defineProperty2","asProps","assignProps","wrapperProps","_WrapperComponent$hoi","useContext","renameProps","propName","_propName$split","split","_propName$split2","_slicedToArray2","name","rename","entries","pick","keys","_ref","_ref2","value","useEnhancedEffect","_default"],"sources":["../../../src/enhancement/hoistProps.tsx"],"sourcesContent":["import React from 'react';\n// @ts-ignore\nimport assignProps from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n// @ts-ignore\nimport pick from '@semcore/utils/lib/pick';\n\nexport const HOIST_CONTEXT = Symbol('HOIST_CONTEXT');\nconst HOIST_SELF = Symbol('HOIST_SELF');\nconst HOIST_SET = Symbol('HOIST_SET');\n\nfunction flatChildComponent(childComponents: any) {\n return Object.values(childComponents).reduce<unknown[]>((acc, Component) => {\n if (Array.isArray(Component)) {\n acc = [...acc, Component[0], ...flatChildComponent(Component[1])];\n } else {\n acc.push(Component);\n }\n return acc;\n }, []);\n}\n\nfunction Enhancement(childComponents: any, Context: any) {\n return {\n condition: function (Component: any) {\n return [Component, ...flatChildComponent(childComponents)].some((Component) =>\n Boolean(Component.hoistProps?.length),\n );\n },\n init: function (this: any, props: any, WrapperComponent: any, isFunction: boolean) {\n if (isFunction) {\n // TODO: might breake rules of hooks (by lsroman)\n this[HOIST_SELF] = React.useState({});\n } else {\n this[HOIST_SELF] = [\n {},\n (obj: any) => {\n this[HOIST_SELF][0] = obj;\n this.forceUpdate();\n },\n ];\n }\n // For optimization render\n this[HOIST_SET] = (obj: any) => {\n this[HOIST_SELF][1](obj);\n };\n },\n context: function (this: any, context: any) {\n // TODO: need to optimizte container initialization (by lsroman)\n // WrapperComponent.hoistProps\n return {\n ...context,\n [HOIST_CONTEXT]: this[HOIST_SET],\n };\n },\n asProps: function (this: any, props: any) {\n // TODO: need to check for no props overwriting (by lsroman)\n return assignProps(this[HOIST_SELF][0], props);\n },\n wrapperProps: function (props: any, WrapperComponent: any) {\n if (WrapperComponent.hoistProps?.length) {\n const context: any = React.useContext(Context);\n const renameProps: any = WrapperComponent.hoistProps.reduce((acc: any, propName: any) => {\n const [name, rename] = propName.split(':');\n acc[name] = rename || name;\n return acc;\n }, {});\n const hoistProps = Object.entries(pick(props, Object.keys(renameProps))).reduce(\n (acc: any, [name, value]) => {\n acc[renameProps[name]] = value;\n return acc;\n },\n {},\n );\n\n useEnhancedEffect(() => {\n if (context[HOIST_CONTEXT]) {\n context[HOIST_CONTEXT](hoistProps);\n }\n }, Object.values(hoistProps));\n }\n return props;\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ exports.getterMethodNameByDisplayName = getterMethodNameByDisplayName;
|
|
|
10
10
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
11
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
12
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
var _react = require("react");
|
|
13
|
+
var _react = _interopRequireDefault(require("react"));
|
|
14
14
|
var _assignProps = _interopRequireDefault(require("@semcore/utils/lib/assignProps"));
|
|
15
15
|
var _pick = _interopRequireDefault(require("@semcore/utils/lib/pick"));
|
|
16
16
|
var _logger = _interopRequireDefault(require("@semcore/utils/lib/logger"));
|
|
@@ -112,7 +112,7 @@ function Enhancement(childComponents, createComponent, options) {
|
|
|
112
112
|
},
|
|
113
113
|
wrapperProps: function wrapperProps(props, WrapperComponent) {
|
|
114
114
|
if (!WrapperComponent[STATIC_COMPONENT]) return props;
|
|
115
|
-
var context =
|
|
115
|
+
var context = _react["default"].useContext(options.context);
|
|
116
116
|
var getterMethod = context[getterMethodNameByDisplayName(WrapperComponent.displayName)];
|
|
117
117
|
if (getterMethod) {
|
|
118
118
|
if (!getterMethod.cache.has(this)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staticChildren.js","names":["_react","require","_assignProps","_interopRequireDefault","_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","_slicedToArray2","value","Array","isArray","_toConsumableArray2","push","STATIC_COMPONENT","Symbol","exports","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","useContext","has","add","render","_this2","forEach","clear","_default"],"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: 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 = [...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: 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 = 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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"}
|
|
1
|
+
{"version":3,"file":"staticChildren.js","names":["_react","_interopRequireDefault","require","_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","_slicedToArray2","value","Array","isArray","_toConsumableArray2","push","STATIC_COMPONENT","Symbol","exports","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// @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: 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 = [...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: 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":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,KAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AALA;;AAEA;;AAEA;;AAGA,SAASI,MAAMA,CAACC,MAAW,EAAEC,MAAW,EAAE;EACxC,OAAOC,MAAM,CAACC,gBAAgB,CAC5BH,MAAM,EACNE,MAAM,CAACE,IAAI,CAACH,MAAM,CAAC,CAACI,MAAM,CAAC,UAACC,WAAgB,EAAEC,GAAG,EAAK;IACpDD,WAAW,CAACC,GAAG,CAAC,GAAGL,MAAM,CAACM,wBAAwB,CAACP,MAAM,EAAEM,GAAG,CAAC;IAC/D,OAAOD,WAAW;EACpB,CAAC,EAAE,CAAC,CAAC,CAAC,CACP;AACH;AAEO,SAASG,gBAAgBA,CAACC,IAAY,EAAE;EAC7C,aAAAC,MAAA,CAAaD,IAAI;AACnB;AAEO,SAASE,6BAA6BA,CAAA,EAAmB;EAAA,IAAlBC,WAAW,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAC5D,IAAMG,YAAY,GAAGJ,WAAW,CAACK,KAAK,CAAC,GAAG,CAAC;EAC3C,IAAMR,IAAI,GAAGO,YAAY,CAACE,KAAK,CAAC,EAAEF,YAAY,CAACF,MAAM,GAAG,CAAC,CAAC,CAAC,CAACK,IAAI,CAAC,EAAE,CAAC;EACpE,OAAOX,gBAAgB,CAACC,IAAI,CAAC;AAC/B;AAEA,SAASW,qBAAqBA,CAACC,eAAoB,EAAEC,UAAmB,EAAE;EACxE,OAAOrB,MAAM,CAACsB,OAAO,CAACF,eAAe,CAAC,CAACjB,MAAM,CAAW,UAACoB,GAAG,EAAAC,IAAA,EAAoB;IAAA,IAAAC,KAAA,OAAAC,eAAA,aAAAF,IAAA;MAAjBhB,IAAI,GAAAiB,KAAA;MAAEE,KAAK,GAAAF,KAAA;IACxE,IAAIG,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;MACxBJ,GAAG,MAAAd,MAAA,KAAAqB,mBAAA,aAAOP,GAAG,OAAAO,mBAAA,aAAKX,qBAAqB,CAACQ,KAAK,CAAC,CAAC,CAAC,EAAEnB,IAAI,CAAC,EAAC;IAC1D;IACAA,IAAI,GAAGa,UAAU,MAAAZ,MAAA,CAAMY,UAAU,EAAAZ,MAAA,CAAGD,IAAI,IAAKA,IAAI;IACjDe,GAAG,CAACQ,IAAI,CAACxB,gBAAgB,CAACC,IAAI,CAAC,CAAC;IAChC,OAAOe,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC;AACR;AAEO,IAAMS,gBAAgB,GAAGC,MAAM,CAAC,kBAAkB,CAAC;AAACC,OAAA,CAAAF,gBAAA,GAAAA,gBAAA;AACpD,IAAMG,cAAc,GAAGF,MAAM,CAAC,gBAAgB,CAAC;AAACC,OAAA,CAAAC,cAAA,GAAAA,cAAA;AACvD,IAAMC,kBAAkB,GAAGH,MAAM,CAAC,oBAAoB,CAAC;AAEvD,SAASI,WAAWA,CAACjB,eAAoB,EAAEkB,eAAoB,EAAEC,OAAY,EAAE;EAC7E,IAAMC,iBAAiB,GAAGrB,qBAAqB,CAACC,eAAe,CAAC;EAChE,OAAO;IACLqB,SAAS,EAAE,SAAAA,UAAUC,SAAc,EAAE;MACnC,OAAOC,OAAO,CAACD,SAAS,CAACV,gBAAgB,CAAC,IAAIhC,MAAM,CAACE,IAAI,CAACkB,eAAe,CAAC,CAACP,MAAM,CAAC;IACpF,CAAC;IACD+B,IAAI,EAAE,SAAAA,KAAqBC,KAAU,EAAEC,gBAAqB,EAAE;MAAA,IAAAC,KAAA;MAC5D,IAAMC,aAAkB,GAAG,IAAAC,gBAAI,EAAC,IAAI,EAAET,iBAAiB,CAAC;MACxD,IAAI,CAACJ,kBAAkB,CAAC,GAAG,YAAM;QAC/B,IAAMc,gBAAgB,GAAGxC,6BAA6B,CAACoC,gBAAgB,CAACnC,WAAW,CAAC;QACpFwC,kBAAM,CAACC,IAAI,CACT,IAAI,aAAA3C,MAAA,CACQyC,gBAAgB,6DAC5BL,KAAK,CAAC,cAAc,CAAC,IAAIC,gBAAgB,CAACnC,WAAW,CACtD;MACH,CAAC;MACDd,MAAM,CACJ,IAAI,EACJ2C,iBAAiB,CAACrC,MAAM,CAAC,UAACoB,GAAQ,EAAEf,IAAI,EAAK;QAC3C,IAAM6C,YAAY,GAAGL,aAAa,CAACxC,IAAI,CAAC;QACxC,IAAI,CAAC6C,YAAY,EAAE,OAAO9B,GAAG;QAC7BA,GAAG,CAACf,IAAI,CAAC,GAAG,YAAwB;UAAA,IAAvB8C,aAAa,GAAA1C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;UAC7B,IAAM2C,WAAW,GAAGF,YAAY,CAACG,IAAI,CAACT,KAAI,EAAEO,aAAa,EAAE/B,GAAG,CAACf,IAAI,CAAC,CAACiD,KAAK,CAAC;UAC3E,OAAO,IAAAC,uBAAW,EAACJ,aAAa,EAAEC,WAAW,CAAC;QAChD,CAAC;QACDhC,GAAG,CAACf,IAAI,CAAC,CAACiD,KAAK,GAAG,CAAC,CAAC;QACpBlC,GAAG,CAACf,IAAI,CAAC,CAACmD,KAAK,GAAG,IAAIC,GAAG,EAAE;QAC3B,OAAOrC,GAAG;MACZ,CAAC,EAAE,CAAC,CAAC,CAAC,CACP;IACH,CAAC;IACD,UAAQ,SAAAsC,QAAUf,gBAAqB,EAAEJ,SAAc,EAAE;MACvD,IAAI1C,MAAM,CAACE,IAAI,CAACkB,eAAe,CAAC,CAACP,MAAM,IAAI,CAACiC,gBAAgB,CAACnC,WAAW,EAAE;QACxE,MAAM,IAAImD,KAAK,CAAC,8BAA8B,CAAC;MACjD;MACA,OAAO9D,MAAM,CAACsB,OAAO,CAACF,eAAe,CAAC,CAACjB,MAAM,CAAC,UAACoB,GAAQ,EAAAwC,KAAA,EAAyB;QAAA,IAAAC,KAAA,OAAAtC,eAAA,aAAAqC,KAAA;UAAtBvD,IAAI,GAAAwD,KAAA;UAAErC,KAAK,GAAAqC,KAAA;QACnE,IAAI5C,eAAe,GAAG,CAAC,CAAC;QAExB,IAAIQ,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;UACxBP,eAAe,GAAGO,KAAK,CAAC,CAAC,CAAC;UAC1BA,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC;QAClB;QAEA,IAAMsC,mBAAmB,GAAGtC,KAAK,CAACK,gBAAgB,CAAC;QACnD;QACA,IAAMkC,eAAe,GAAGvC,KAAK,CAAChB,WAAW;QACzC;QACAgB,KAAK,CAAChB,WAAW,MAAAF,MAAA,CAAMqC,gBAAgB,CAACnC,WAAW,OAAAF,MAAA,CAAID,IAAI,CAAE;QAC7DmB,KAAK,CAACK,gBAAgB,CAAC,GAAG,IAAI;QAC9BL,KAAK,CAACQ,cAAc,CAAC,GAAGO,SAAS,CAACP,cAAc,CAAC,IAAIO,SAAS;QAC9DnB,GAAG,CAACf,IAAI,CAAC,GAAG8B,eAAe,CAACX,KAAK,EAAEP,eAAe,EAAEmB,OAAO,CAAC;QAC5D;QACAZ,KAAK,CAAChB,WAAW,GAAGuD,eAAe;QACnCvC,KAAK,CAACK,gBAAgB,CAAC,GAAGiC,mBAAmB;QAC7C,OAAO1C,GAAG;MACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD4C,OAAO,EAAE,SAAAA,QAAUA,QAAY,EAAyB;MACtD;MACA,WAAAC,cAAA,iBAAAA,cAAA,iBACKD,QAAO,GAEP,IAAAlB,gBAAI,EAAC,IAAI,EAAET,iBAAiB,CAAQ;IAE3C,CAAC;IACD6B,YAAY,EAAE,SAAAA,aAAqBxB,KAAU,EAAEC,gBAAqB,EAAE;MACpE,IAAI,CAACA,gBAAgB,CAACd,gBAAgB,CAAC,EAAE,OAAOa,KAAK;MACrD,IAAMsB,OAAY,GAAGG,iBAAK,CAACC,UAAU,CAAChC,OAAO,CAAC4B,OAAO,CAAC;MACtD,IAAMd,YAAY,GAAGc,OAAO,CAACzD,6BAA6B,CAACoC,gBAAgB,CAACnC,WAAW,CAAC,CAAC;MACzF,IAAI0C,YAAY,EAAE;QAChB,IAAI,CAACA,YAAY,CAACM,KAAK,CAACa,GAAG,CAAC,IAAI,CAAC,EAAE;UACjCnB,YAAY,CAACM,KAAK,CAACc,GAAG,CAAC,IAAI,CAAC;UAC5BpB,YAAY,CAACI,KAAK,EAAE;UACpB,IAAI,IAAI,EAAE,IAAI,CAACA,KAAK,GAAGJ,YAAY,CAACI,KAAK;QAC3C;QACA,IAAI,IAAI,EAAEJ,YAAY,CAACI,KAAK,GAAG,IAAI,CAACA,KAAK;QACzC,OAAOJ,YAAY,CAACR,KAAK,CAAC;MAC5B;MACA,OAAOA,KAAK;IACd,CAAC;IACD6B,MAAM,EAAE,SAAAA,OAAqBA,OAAW,EAAE;MAAA,IAAAC,MAAA;MACxCnC,iBAAiB,CAACoC,OAAO,CAAC,UAACpE,IAAI,EAAK;QAClC,IAAImE,MAAI,CAACnE,IAAI,CAAC,KAAKM,SAAS,EAAE;QAC9B6D,MAAI,CAACnE,IAAI,CAAC,CAACiD,KAAK,GAAG,CAAC,CAAC;QACrBkB,MAAI,CAACnE,IAAI,CAAC,CAACmD,KAAK,CAACkB,KAAK,EAAE;MAC1B,CAAC,CAAC;MACF,OAAOH,OAAM;IACf;EACF,CAAC;AACH;AAAC,IAAAI,QAAA,GAEczC,WAAW;AAAAH,OAAA,cAAA4C,QAAA"}
|
|
@@ -8,7 +8,7 @@ exports["default"] = exports.STYLES_CONTEXT = void 0;
|
|
|
8
8
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
10
|
var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
-
var _react = require("react");
|
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
12
|
var _styled = require("../styled");
|
|
13
13
|
var _staticChildren = require("./staticChildren");
|
|
14
14
|
var _excluded = ["_styles", "styles"],
|
|
@@ -47,7 +47,7 @@ function Enhancement(childComponents, Context) {
|
|
|
47
47
|
wrapperProps: function wrapperProps(_ref2) {
|
|
48
48
|
var styles = _ref2.styles,
|
|
49
49
|
props = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
|
|
50
|
-
var context =
|
|
50
|
+
var context = _react["default"].useContext(Context);
|
|
51
51
|
return (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, props), {}, {
|
|
52
52
|
_styles: styles,
|
|
53
53
|
styles: context[STYLES_CONTEXT]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","names":["_react","require","_styled","_staticChildren","_excluded","_excluded2","STYLES_CONTEXT","Symbol","exports","STYLES_SELF","Enhancement","childComponents","Context","condition","Component","Boolean","style","STATIC_COMPONENT","init","props","WrapperComponent","styles","sstyled","merge","_styles","context","Object","keys","length","_objectSpread3","_defineProperty2","asProps","_ref","_objectWithoutProperties2","wrapperProps","_ref2","useContext","_default"],"sources":["../../../src/enhancement/style.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"style.js","names":["_react","_interopRequireDefault","require","_styled","_staticChildren","_excluded","_excluded2","STYLES_CONTEXT","Symbol","exports","STYLES_SELF","Enhancement","childComponents","Context","condition","Component","Boolean","style","STATIC_COMPONENT","init","props","WrapperComponent","styles","sstyled","merge","_styles","context","Object","keys","length","_objectSpread3","_defineProperty2","asProps","_ref","_objectWithoutProperties2","wrapperProps","_ref2","React","useContext","_default"],"sources":["../../../src/enhancement/style.tsx"],"sourcesContent":["import React 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: 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,OAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAAoD,IAAAG,SAAA;EAAAC,UAAA;AAE7C,IAAMC,cAAc,GAAGC,MAAM,CAAC,gBAAgB,CAAC;AAACC,OAAA,CAAAF,cAAA,GAAAA,cAAA;AACvD,IAAMG,WAAW,GAAGF,MAAM,CAAC,aAAa,CAAC;AAEzC,SAASG,WAAWA,CAACC,eAAoB,EAAEC,OAAY,EAAE;EACvD,OAAO;IACLC,SAAS,EAAE,SAAAA,UAAUC,SAAc,EAAE;MACnC,OAAOC,OAAO,CAACD,SAAS,CAACE,KAAK,IAAIF,SAAS,CAACG,gCAAgB,CAAC,CAAC;IAChE,CAAC;IACDC,IAAI,EAAE,SAAAA,KAAqBC,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,eAAO,CAACC,KAAK,CAACH,gBAAgB,CAACJ,KAAK,EAAEG,KAAK,CAACK,OAAO,CAAC;MAC1E;IACF,CAAC;IACDC,OAAO,EAAE,SAAAA,QAAqBA,QAAY,EAAO;MAC/C;MACA,IAAI,CAAC,IAAI,CAAChB,WAAW,CAAC,IAAI,CAACiB,MAAM,CAACC,IAAI,CAAChB,eAAe,CAAC,CAACiB,MAAM,EAAE;QAC9D,OAAOH,QAAO;MAChB;MACA,WAAAI,cAAA,iBAAAA,cAAA,iBACKJ,QAAO,WAAAK,gBAAA,iBACTxB,cAAc,EAAG,IAAI,CAACG,WAAW,CAAC;IAEvC,CAAC;IAEDsB,OAAO,EAAE,SAAAA,QAAAC,IAAA,EAAyD;MAAA,IAAlCR,OAAO,GAAAQ,IAAA,CAAPR,OAAO;QAAEH,MAAM,GAAAW,IAAA,CAANX,MAAM;QAAKF,KAAK,OAAAc,yBAAA,aAAAD,IAAA,EAAA5B,SAAA;MACvD,WAAAyB,cAAA,iBAAAA,cAAA,iBACKV,KAAK;QACRE,MAAM,EAAE,IAAI,CAACZ,WAAW;MAAC;IAE7B,CAAC;IACDyB,YAAY,EAAE,SAAAA,aAAAC,KAAA,EAAgD;MAAA,IAAzBd,MAAM,GAAAc,KAAA,CAANd,MAAM;QAAKF,KAAK,OAAAc,yBAAA,aAAAE,KAAA,EAAA9B,UAAA;MACnD,IAAMoB,OAAY,GAAGW,iBAAK,CAACC,UAAU,CAACzB,OAAO,CAAC;MAC9C,WAAAiB,cAAA,iBAAAA,cAAA,iBACKV,KAAK;QACRK,OAAO,EAAEH,MAAM;QACfA,MAAM,EAAEI,OAAO,CAACnB,cAAc;MAAC;IAEnC;EACF,CAAC;AACH;AAAC,IAAAgC,QAAA,GAEc5B,WAAW;AAAAF,OAAA,cAAA8B,QAAA"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -64,7 +64,7 @@ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
|
64
64
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
65
65
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
66
66
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
67
|
-
var _react =
|
|
67
|
+
var _react = _interopRequireDefault(require("react"));
|
|
68
68
|
var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
|
|
69
69
|
var _ref4 = require("@semcore/utils/lib/ref");
|
|
70
70
|
var _useEnhancedEffect = _interopRequireDefault(require("@semcore/utils/lib/use/useEnhancedEffect"));
|
|
@@ -305,8 +305,8 @@ function wrapFunction(OriginComponent, enhancements, Context) {
|
|
|
305
305
|
var wrapperProps = getField('wrapperProps');
|
|
306
306
|
var contexts = getField('context');
|
|
307
307
|
var Component = /*#__PURE__*/_react["default"].memo(function FunctionMemoComponent(other) {
|
|
308
|
-
var selfRef =
|
|
309
|
-
var firstRender =
|
|
308
|
+
var selfRef = _react["default"].useRef({});
|
|
309
|
+
var firstRender = _react["default"].useRef(true);
|
|
310
310
|
(0, _useEnhancedEffect["default"])(function () {
|
|
311
311
|
firstRender.current = false;
|
|
312
312
|
}, []);
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_hoistNonReactStatics","_interopRequireDefault","_ref4","_useEnhancedEffect","_assignProps2","_Component","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_register","_Children","_Root","_uncontrolledProps","_functionDefaultProps","_staticChildren","_inheritedName","_hoistProps","_dataName","_enhance","_style","_bindHandler","_i18n","_styled","_excluded","_excluded2","_excluded3","CORE_COMPONENT","Symbol","CORE_INSTANCE","CORE_AS_PROPS","CORE_INIT","CONTEXT_COMPONENT","CREATE_COMPONENT","PARENT_COMPONENTS","isEmptyObject","obj","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","createGetField","enhancements","Component","isFunction","getField","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","ROOT_COMPONENT","getterMethodName","getterMethodNameByDisplayName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","_ref","ref","_ref$forwardRef","forwardRef","other","_objectWithoutProperties2","createElement","BindingWrapper","_extends2","useForkRef","WrapperForwardRef","_ref2","_ref2$forwardRef","__WRAPPER_PROPS_BIND__","_reduce","WrapperComponent","_reduce$ref","enhancementRef","props","_React$Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","args","Array","_key","apply","concat","_defineProperty2","_assertThisInitialized2","_createClass2","value","render","_this2","map","fn","bind","React","hoistNonReactStatics","defaultProps","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","_OriginComponent2","_super2","context","_this3","_this4","Error","setContext","_this5","contextProps","_get2","_getPrototypeOf2","_this6","asProps","ctx","STATIC_COMPONENT","Provider","_objectSpread2","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","useEnhancedEffect","current","wrapCore","_ref3","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","_assignProps","createComponent","childComponents","options","_options$context","createContext","_options$parent","parent","_options$enhancements","parents","isArray","wholeFamily","_toConsumableArray2","f","i18nAppLocaleEnhance","bindHandlerEnhancement","childrenEnhancement","rootEnhancement","uncontrolledPropsEnhancement","staticChildrenEnhancement","functionDefaultPropsEnhancement","inheritedNameEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","hoistPropsEnhancement","_______childrenComponents","_OriginComponent","_childComponents","_options","createBaseComponent","_default"],"sources":["../../src/index.tsx"],"sourcesContent":["import React, { ForwardRefExoticComponent, RefAttributes, useRef } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n// @ts-ignore\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n// @ts-ignore\nimport _assignProps from '@semcore/utils/lib/assignProps';\n\nimport { Component, PropsWithRenderFnChildren } from './Component';\nimport register from './register';\n\nimport childrenEnhancement, { CHILDREN_COMPONENT } from './enhancement/Children';\nimport rootEnhancement from './enhancement/Root';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport staticChildrenEnhancement, {\n STATIC_COMPONENT,\n ROOT_COMPONENT,\n getterMethodNameByDisplayName,\n} from './enhancement/staticChildren';\nimport inheritedNameEnhancement, { INHERITED_NAME } from './enhancement/inheritedName';\nimport hoistPropsEnhancement from './enhancement/hoistProps';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport styleEnhancement from './enhancement/style';\nimport bindHandlerEnhancement from './enhancement/bindHandler';\nimport i18nAppLocaleEnhance from './enhancement/i18n';\n\nconst CORE_COMPONENT = Symbol('CORE_COMPONENT');\nconst CORE_INSTANCE = Symbol('CORE_INSTANCE');\nconst CORE_AS_PROPS = Symbol('CORE_AS_PROPS');\nconst CORE_INIT = Symbol('CORE_INIT');\nconst CONTEXT_COMPONENT = Symbol('CONTEXT_COMPONENT');\nconst CREATE_COMPONENT = Symbol('CREATE_COMPONENT');\nconst PARENT_COMPONENTS = Symbol('PARENT_COMPONENTS');\n\nfunction isEmptyObject(obj: any) {\n return (\n Object.getOwnPropertyNames(obj).length === 0 &&\n Object.getOwnPropertySymbols && // For IE 11\n Object.getOwnPropertySymbols(obj).length === 0 &&\n Object.getPrototypeOf(obj) === Object.prototype\n );\n}\n\nfunction createGetField(enhancements: any, Component: any, isFunction: boolean) {\n return function getField(key: string) {\n return enhancements\n .filter((enhancement: any) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc: any, item: any) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component: any, wrapperProps: any, statics: any, isFunction: any) {\n const RootComponent = Component[ROOT_COMPONENT];\n const getterMethodName = getterMethodNameByDisplayName(Component?.displayName);\n const getterMethod = RootComponent?.prototype\n ? RootComponent.prototype[getterMethodName]\n : undefined;\n const useGetterIndex = getterMethod?.length >= 2;\n\n function WrapperForwardRefWithBind({ forwardRef = null, ...other }, ref: any) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef(\n { forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }: any,\n ref: any,\n ) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc: any, enhancement: any) => enhancement(acc, WrapperComponent, isFunction), other);\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n }\n\n class BindingWrapper extends React.Component<any> {\n index = -1;\n render() {\n return (\n <WrapperForwardRef\n {...this.props}\n __WRAPPER_PROPS_BIND__={wrapperProps.map((fn: any) => fn.bind(this))}\n />\n );\n }\n }\n\n const WrapperComponent = React.forwardRef(\n useGetterIndex ? WrapperForwardRefWithBind : WrapperForwardRef,\n );\n\n hoistNonReactStatics(WrapperComponent, Component);\n\n WrapperComponent.displayName = Component.displayName;\n // TODO: defaultProps is only empty\n WrapperComponent.defaultProps = Component.defaultProps;\n // STATIC\n statics.forEach((enhancement: any) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, false);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n class Component extends OriginComponent {\n [CORE_AS_PROPS] = null;\n [CORE_INSTANCE] = WrapperComponent;\n [CORE_INIT] = false;\n\n constructor(props: any, context: any) {\n super(props, context);\n // INITS\n inits.forEach((enhancement: any) => enhancement.call(this, props, WrapperComponent, false));\n this[CORE_INIT] = true;\n }\n\n get asProps() {\n // TODO if not production\n if (!this[CORE_INIT]) {\n throw new Error('Can not call asProps in constructor');\n }\n if (!this[CORE_AS_PROPS]) {\n // PROPS\n this[CORE_AS_PROPS] = props.reduce(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n this.props,\n );\n }\n return this[CORE_AS_PROPS];\n }\n\n setContext() {\n const contextProps = super.setContext ? super.setContext() : {};\n // CONTEXT\n return contexts.reduce(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n contextProps,\n );\n }\n\n render() {\n this[CORE_AS_PROPS] = null;\n // TODO if not production\n if (!super.render) {\n throw new Error('Component `render` method is not defined');\n }\n const asProps: any = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(this, acc, asProps, WrapperComponent, false),\n super.render(),\n );\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n }\n }\n\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, true);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n const Component = React.memo(function FunctionMemoComponent(other) {\n const selfRef = useRef({});\n const firstRender = useRef(true);\n useEnhancedEffect(() => {\n firstRender.current = false;\n }, []);\n if (firstRender.current) {\n // INITS\n inits.forEach((enhancement: any) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, asProps, WrapperComponent, true),\n <OriginComponent {...asProps} />,\n );\n\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n });\n Object.assign(Component, OriginComponent);\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent: any, enhancements: any, Context: any) {\n const Component = function ({ Root }: any) {\n const defaultProps = OriginComponent.defaultProps || {};\n return <Root {...defaultProps} render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent: any, Context: any, enhancements: any): any {\n if (\n React.PureComponent.isPrototypeOf(OriginComponent) ||\n React.Component.isPrototypeOf(OriginComponent)\n ) {\n if (OriginComponent.prototype instanceof Component) {\n return wrapClass(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must inherit from our component');\n }\n } else if (typeof OriginComponent === 'function') {\n return wrapFunction(OriginComponent, enhancements, Context);\n } else if (OriginComponent[CORE_COMPONENT]) {\n return wrapCore(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must be a React component');\n }\n}\n\nexport type PropsAndRef<T, Ctx, UCProps> = PropsWithRenderFnChildren<T, Ctx, UCProps> &\n RefAttributes<unknown>;\nexport type ForwardRefComponent<T, Ctx, UCProps> = ForwardRefExoticComponent<\n PropsAndRef<T, Ctx, UCProps>\n>;\ntype ComponentOrProps<T, Context, UCProps> = T extends [infer ParentProps, infer ChildProps]\n ? ComponentType<ParentProps, ChildProps, Context, UCProps>\n : ForwardRefComponent<T, Context, UCProps>;\n\nexport type ComponentType<\n ComponentProps,\n ChildComponentProps = {},\n ContextType = {},\n UCProps = {},\n FNType = null,\n> = (FNType extends null\n ? ForwardRefComponent<ComponentProps, ContextType, UCProps>\n : FNType & { displayName: string }) & {\n [K in keyof ChildComponentProps]: ComponentOrProps<ChildComponentProps[K], ContextType, UCProps>;\n} & {\n [CORE_COMPONENT]: boolean;\n [CREATE_COMPONENT]: () => ComponentType<\n ComponentProps,\n ChildComponentProps,\n ContextType,\n UCProps\n >;\n};\n\ninterface ClassWithUncontrolledProps<Props> {\n uncontrolledProps(): unknown;\n}\n\nfunction assignProps(p1: any, p2: any) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<ComponentProps, ChildComponentProps = {}, ContextType = {}, FNType = null>(\n OriginComponent: any,\n childComponents: any = {},\n options: {\n context?: React.Context<ContextType>;\n parent?: ComponentType<unknown> | ComponentType<unknown>[];\n enhancements?: [any];\n } = {},\n): ComponentType<\n ComponentProps extends Component<infer Props> ? Props : ComponentProps,\n ChildComponentProps,\n ContextType,\n ComponentProps extends ClassWithUncontrolledProps<any>\n ? ReturnType<ComponentProps['uncontrolledProps']>\n : { [key: string]: (arg: unknown) => void },\n FNType\n> {\n const {\n context = React.createContext<ContextType>({} as ContextType),\n parent = [],\n enhancements = [],\n } = options;\n let parents = Array.isArray(parent) ? parent : [parent];\n if (parents.length) {\n const wholeFamily = parents.reduce((acc: any, parent: any) => {\n if (parent[PARENT_COMPONENTS]) {\n acc = [...parent[PARENT_COMPONENTS], ...acc];\n }\n return acc;\n }, parents);\n OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\n if (OriginComponent[CORE_COMPONENT]) {\n parents.push(OriginComponent);\n }\n const Component = createComposeComponent(OriginComponent, context, [\n // @ts-ignore\n ...enhancements.map((f) => f(context, parents, createComponent, childComponents)),\n i18nAppLocaleEnhance(),\n bindHandlerEnhancement(),\n childrenEnhancement(context, parents),\n // root must be under the children\n rootEnhancement(),\n uncontrolledPropsEnhancement(),\n staticChildrenEnhancement(childComponents, createComponent, {\n context,\n parent,\n enhancements,\n }),\n // functionDefaultProps must be under the staticChild\n functionDefaultPropsEnhancement(),\n // inheritedName must be under the staticChild\n inheritedNameEnhancement(),\n // dataName must be under the staticChild\n dataNameEnhancement(),\n // enhanceEnhancement must be under the functionDefaultPropsEnhancement\n enhanceEnhancement(),\n styleEnhancement(childComponents, context),\n // must be the last one so any properties can be raised\n hoistPropsEnhancement(childComponents, context),\n ]);\n Component[CONTEXT_COMPONENT] = context;\n Component._______childrenComponents = childComponents;\n Component[CREATE_COMPONENT] = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component[CORE_COMPONENT] = true;\n return Component;\n}\n\nfunction createBaseComponent<ComponentProps>(OriginComponent: any): ComponentType<ComponentProps> {\n let Component = null;\n if (\n !React.PureComponent.isPrototypeOf(OriginComponent) &&\n !React.Component.isPrototypeOf(OriginComponent) &&\n typeof OriginComponent === 'function'\n ) {\n Component = React.forwardRef(OriginComponent);\n Component.displayName = OriginComponent.displayName;\n Component.defaultProps = {\n 'data-ui-name': OriginComponent.displayName,\n ...OriginComponent.defaultProps,\n };\n (Component as any)[CORE_COMPONENT] = true;\n } else {\n throw new Error('createBaseComponent accepts only functional component');\n }\n return Component as any;\n}\n\nexport type UnknownProperties = {\n [key: string]: unknown;\n};\n\nexport * from './Component';\nexport * from './styled';\nexport * from './register';\nexport {\n createBaseComponent,\n register,\n CREATE_COMPONENT,\n CORE_INSTANCE,\n CONTEXT_COMPONENT,\n CHILDREN_COMPONENT,\n INHERITED_NAME,\n CORE_COMPONENT,\n STATIC_COMPONENT,\n ROOT_COMPONENT,\n assignProps,\n};\nexport default createComponent;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_hoistNonReactStatics","_ref4","_useEnhancedEffect","_assignProps2","_Component","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_register","_interopRequireWildcard","_Children","_Root","_uncontrolledProps","_functionDefaultProps","_staticChildren","_inheritedName","_hoistProps","_dataName","_enhance","_style","_bindHandler","_i18n","_styled","_excluded","_excluded2","_excluded3","CORE_COMPONENT","Symbol","CORE_INSTANCE","CORE_AS_PROPS","CORE_INIT","CONTEXT_COMPONENT","CREATE_COMPONENT","PARENT_COMPONENTS","isEmptyObject","obj","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","createGetField","enhancements","Component","isFunction","getField","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","ROOT_COMPONENT","getterMethodName","getterMethodNameByDisplayName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","_ref","ref","_ref$forwardRef","forwardRef","other","_objectWithoutProperties2","createElement","BindingWrapper","_extends2","useForkRef","WrapperForwardRef","_ref2","_ref2$forwardRef","__WRAPPER_PROPS_BIND__","_reduce","WrapperComponent","_reduce$ref","enhancementRef","props","_React$Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","args","Array","_key","apply","concat","_defineProperty2","_assertThisInitialized2","_createClass2","value","render","_this2","map","fn","bind","React","hoistNonReactStatics","defaultProps","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","_OriginComponent2","_super2","context","_this3","_this4","Error","setContext","_this5","contextProps","_get2","_getPrototypeOf2","_this6","asProps","ctx","STATIC_COMPONENT","Provider","_objectSpread2","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","useEnhancedEffect","current","wrapCore","_ref3","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","_assignProps","createComponent","childComponents","options","_options$context","createContext","_options$parent","parent","_options$enhancements","parents","isArray","wholeFamily","_toConsumableArray2","f","i18nAppLocaleEnhance","bindHandlerEnhancement","childrenEnhancement","rootEnhancement","uncontrolledPropsEnhancement","staticChildrenEnhancement","functionDefaultPropsEnhancement","inheritedNameEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","hoistPropsEnhancement","_______childrenComponents","_OriginComponent","_childComponents","_options","createBaseComponent","_default"],"sources":["../../src/index.tsx"],"sourcesContent":["import React, { ForwardRefExoticComponent, RefAttributes, useRef } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n// @ts-ignore\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n// @ts-ignore\nimport _assignProps from '@semcore/utils/lib/assignProps';\n\nimport { Component, PropsWithRenderFnChildren } from './Component';\nimport register from './register';\n\nimport childrenEnhancement, { CHILDREN_COMPONENT } from './enhancement/Children';\nimport rootEnhancement from './enhancement/Root';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport staticChildrenEnhancement, {\n STATIC_COMPONENT,\n ROOT_COMPONENT,\n getterMethodNameByDisplayName,\n} from './enhancement/staticChildren';\nimport inheritedNameEnhancement, { INHERITED_NAME } from './enhancement/inheritedName';\nimport hoistPropsEnhancement from './enhancement/hoistProps';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport styleEnhancement from './enhancement/style';\nimport bindHandlerEnhancement from './enhancement/bindHandler';\nimport i18nAppLocaleEnhance from './enhancement/i18n';\n\nconst CORE_COMPONENT = Symbol('CORE_COMPONENT');\nconst CORE_INSTANCE = Symbol('CORE_INSTANCE');\nconst CORE_AS_PROPS = Symbol('CORE_AS_PROPS');\nconst CORE_INIT = Symbol('CORE_INIT');\nconst CONTEXT_COMPONENT = Symbol('CONTEXT_COMPONENT');\nconst CREATE_COMPONENT = Symbol('CREATE_COMPONENT');\nconst PARENT_COMPONENTS = Symbol('PARENT_COMPONENTS');\n\nfunction isEmptyObject(obj: any) {\n return (\n Object.getOwnPropertyNames(obj).length === 0 &&\n Object.getOwnPropertySymbols && // For IE 11\n Object.getOwnPropertySymbols(obj).length === 0 &&\n Object.getPrototypeOf(obj) === Object.prototype\n );\n}\n\nfunction createGetField(enhancements: any, Component: any, isFunction: boolean) {\n return function getField(key: string) {\n return enhancements\n .filter((enhancement: any) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc: any, item: any) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component: any, wrapperProps: any, statics: any, isFunction: any) {\n const RootComponent = Component[ROOT_COMPONENT];\n const getterMethodName = getterMethodNameByDisplayName(Component?.displayName);\n const getterMethod = RootComponent?.prototype\n ? RootComponent.prototype[getterMethodName]\n : undefined;\n const useGetterIndex = getterMethod?.length >= 2;\n\n function WrapperForwardRefWithBind({ forwardRef = null, ...other }, ref: any) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef(\n { forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }: any,\n ref: any,\n ) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc: any, enhancement: any) => enhancement(acc, WrapperComponent, isFunction), other);\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n }\n\n class BindingWrapper extends React.Component<any> {\n index = -1;\n render() {\n return (\n <WrapperForwardRef\n {...this.props}\n __WRAPPER_PROPS_BIND__={wrapperProps.map((fn: any) => fn.bind(this))}\n />\n );\n }\n }\n\n const WrapperComponent = React.forwardRef(\n useGetterIndex ? WrapperForwardRefWithBind : WrapperForwardRef,\n );\n\n hoistNonReactStatics(WrapperComponent, Component);\n\n WrapperComponent.displayName = Component.displayName;\n // TODO: defaultProps is only empty\n WrapperComponent.defaultProps = Component.defaultProps;\n // STATIC\n statics.forEach((enhancement: any) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, false);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n class Component extends OriginComponent {\n [CORE_AS_PROPS] = null;\n [CORE_INSTANCE] = WrapperComponent;\n [CORE_INIT] = false;\n\n constructor(props: any, context: any) {\n super(props, context);\n // INITS\n inits.forEach((enhancement: any) => enhancement.call(this, props, WrapperComponent, false));\n this[CORE_INIT] = true;\n }\n\n get asProps() {\n // TODO if not production\n if (!this[CORE_INIT]) {\n throw new Error('Can not call asProps in constructor');\n }\n if (!this[CORE_AS_PROPS]) {\n // PROPS\n this[CORE_AS_PROPS] = props.reduce(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n this.props,\n );\n }\n return this[CORE_AS_PROPS];\n }\n\n setContext() {\n const contextProps = super.setContext ? super.setContext() : {};\n // CONTEXT\n return contexts.reduce(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n contextProps,\n );\n }\n\n render() {\n this[CORE_AS_PROPS] = null;\n // TODO if not production\n if (!super.render) {\n throw new Error('Component `render` method is not defined');\n }\n const asProps: any = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(this, acc, asProps, WrapperComponent, false),\n super.render(),\n );\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n }\n }\n\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, true);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n const Component = React.memo(function FunctionMemoComponent(other) {\n const selfRef = React.useRef({});\n const firstRender = React.useRef(true);\n useEnhancedEffect(() => {\n firstRender.current = false;\n }, []);\n if (firstRender.current) {\n // INITS\n inits.forEach((enhancement: any) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, asProps, WrapperComponent, true),\n <OriginComponent {...asProps} />,\n );\n\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n });\n Object.assign(Component, OriginComponent);\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent: any, enhancements: any, Context: any) {\n const Component = function ({ Root }: any) {\n const defaultProps = OriginComponent.defaultProps || {};\n return <Root {...defaultProps} render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent: any, Context: any, enhancements: any): any {\n if (\n React.PureComponent.isPrototypeOf(OriginComponent) ||\n React.Component.isPrototypeOf(OriginComponent)\n ) {\n if (OriginComponent.prototype instanceof Component) {\n return wrapClass(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must inherit from our component');\n }\n } else if (typeof OriginComponent === 'function') {\n return wrapFunction(OriginComponent, enhancements, Context);\n } else if (OriginComponent[CORE_COMPONENT]) {\n return wrapCore(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must be a React component');\n }\n}\n\nexport type PropsAndRef<T, Ctx, UCProps> = PropsWithRenderFnChildren<T, Ctx, UCProps> &\n RefAttributes<unknown>;\nexport type ForwardRefComponent<T, Ctx, UCProps> = ForwardRefExoticComponent<\n PropsAndRef<T, Ctx, UCProps>\n>;\ntype ComponentOrProps<T, Context, UCProps> = T extends [infer ParentProps, infer ChildProps]\n ? ComponentType<ParentProps, ChildProps, Context, UCProps>\n : ForwardRefComponent<T, Context, UCProps>;\n\nexport type ComponentType<\n ComponentProps,\n ChildComponentProps = {},\n ContextType = {},\n UCProps = {},\n FNType = null,\n> = (FNType extends null\n ? ForwardRefComponent<ComponentProps, ContextType, UCProps>\n : FNType & { displayName: string }) & {\n [K in keyof ChildComponentProps]: ComponentOrProps<ChildComponentProps[K], ContextType, UCProps>;\n} & {\n [CORE_COMPONENT]: boolean;\n [CREATE_COMPONENT]: () => ComponentType<\n ComponentProps,\n ChildComponentProps,\n ContextType,\n UCProps\n >;\n};\n\ninterface ClassWithUncontrolledProps<Props> {\n uncontrolledProps(): unknown;\n}\n\nfunction assignProps(p1: any, p2: any) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<ComponentProps, ChildComponentProps = {}, ContextType = {}, FNType = null>(\n OriginComponent: any,\n childComponents: any = {},\n options: {\n context?: React.Context<ContextType>;\n parent?: ComponentType<unknown> | ComponentType<unknown>[];\n enhancements?: [any];\n } = {},\n): ComponentType<\n ComponentProps extends Component<infer Props> ? Props : ComponentProps,\n ChildComponentProps,\n ContextType,\n ComponentProps extends ClassWithUncontrolledProps<any>\n ? ReturnType<ComponentProps['uncontrolledProps']>\n : { [key: string]: (arg: unknown) => void },\n FNType\n> {\n const {\n context = React.createContext<ContextType>({} as ContextType),\n parent = [],\n enhancements = [],\n } = options;\n let parents = Array.isArray(parent) ? parent : [parent];\n if (parents.length) {\n const wholeFamily = parents.reduce((acc: any, parent: any) => {\n if (parent[PARENT_COMPONENTS]) {\n acc = [...parent[PARENT_COMPONENTS], ...acc];\n }\n return acc;\n }, parents);\n OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\n if (OriginComponent[CORE_COMPONENT]) {\n parents.push(OriginComponent);\n }\n const Component = createComposeComponent(OriginComponent, context, [\n // @ts-ignore\n ...enhancements.map((f) => f(context, parents, createComponent, childComponents)),\n i18nAppLocaleEnhance(),\n bindHandlerEnhancement(),\n childrenEnhancement(context, parents),\n // root must be under the children\n rootEnhancement(),\n uncontrolledPropsEnhancement(),\n staticChildrenEnhancement(childComponents, createComponent, {\n context,\n parent,\n enhancements,\n }),\n // functionDefaultProps must be under the staticChild\n functionDefaultPropsEnhancement(),\n // inheritedName must be under the staticChild\n inheritedNameEnhancement(),\n // dataName must be under the staticChild\n dataNameEnhancement(),\n // enhanceEnhancement must be under the functionDefaultPropsEnhancement\n enhanceEnhancement(),\n styleEnhancement(childComponents, context),\n // must be the last one so any properties can be raised\n hoistPropsEnhancement(childComponents, context),\n ]);\n Component[CONTEXT_COMPONENT] = context;\n Component._______childrenComponents = childComponents;\n Component[CREATE_COMPONENT] = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component[CORE_COMPONENT] = true;\n return Component;\n}\n\nfunction createBaseComponent<ComponentProps>(OriginComponent: any): ComponentType<ComponentProps> {\n let Component = null;\n if (\n !React.PureComponent.isPrototypeOf(OriginComponent) &&\n !React.Component.isPrototypeOf(OriginComponent) &&\n typeof OriginComponent === 'function'\n ) {\n Component = React.forwardRef(OriginComponent);\n Component.displayName = OriginComponent.displayName;\n Component.defaultProps = {\n 'data-ui-name': OriginComponent.displayName,\n ...OriginComponent.defaultProps,\n };\n (Component as any)[CORE_COMPONENT] = true;\n } else {\n throw new Error('createBaseComponent accepts only functional component');\n }\n return Component as any;\n}\n\nexport type UnknownProperties = {\n [key: string]: unknown;\n};\n\nexport * from './Component';\nexport * from './styled';\nexport * from './register';\nexport {\n createBaseComponent,\n register,\n CREATE_COMPONENT,\n CORE_INSTANCE,\n CONTEXT_COMPONENT,\n CHILDREN_COMPONENT,\n INHERITED_NAME,\n CORE_COMPONENT,\n STATIC_COMPONENT,\n ROOT_COMPONENT,\n assignProps,\n};\nexport default createComponent;\n"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
|
4
4
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
5
5
|
var _excluded = ["handlers", "getters"],
|
|
6
6
|
_excluded2 = ["handlers"];
|
|
7
|
-
import
|
|
7
|
+
import React from 'react';
|
|
8
8
|
import { CONTEXT_COMPONENT } from '../index';
|
|
9
9
|
export var CHILDREN_COMPONENT = Symbol('CHILDREN_COMPONENT');
|
|
10
10
|
var CHILDREN_SELF = Symbol('CHILDREN_SELF');
|
|
@@ -55,7 +55,7 @@ function createChildren(Context, contexts) {
|
|
|
55
55
|
var children = Children.origin;
|
|
56
56
|
if (typeof children === 'function') {
|
|
57
57
|
var _reduce = [].concat(_toConsumableArray(contexts), [Context]).reduce(function (acc, ctx) {
|
|
58
|
-
var _ref3 = useContext(ctx),
|
|
58
|
+
var _ref3 = React.useContext(ctx),
|
|
59
59
|
handlers = _ref3.handlers,
|
|
60
60
|
propsAndGetters = _objectWithoutProperties(_ref3, _excluded2);
|
|
61
61
|
var _splitPropsAndGetters = splitPropsAndGetters(propsAndGetters),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Children.js","names":["
|
|
1
|
+
{"version":3,"file":"Children.js","names":["React","CONTEXT_COMPONENT","CHILDREN_COMPONENT","Symbol","CHILDREN_SELF","GETTER_REG","splitPropsAndGetters","props","Object","entries","reduce","acc","_ref","_ref2","_slicedToArray","key","value","exec","getters","getterToArray","getter","Array","isArray","mergeObjects","a","arguments","length","undefined","b","core","_objectSpread","keys","concat","_toConsumableArray","assignGettersChain","createChildren","Context","contexts","Children","children","origin","_reduce","ctx","_ref3","useContext","handlers","propsAndGetters","_objectWithoutProperties","_excluded2","_splitPropsAndGetters","assign","_reduce$handlers","_reduce$getters","_excluded","mergedGetters","_ref4","_ref5","Enhancement","parent","init","map","component","filter","Boolean","asProps"],"sources":["../../../src/enhancement/Children.tsx"],"sourcesContent":["import React from 'react';\nimport { CONTEXT_COMPONENT } from '../index';\n\nexport const CHILDREN_COMPONENT = Symbol('CHILDREN_COMPONENT');\nconst CHILDREN_SELF = Symbol('CHILDREN_SELF');\n\nconst GETTER_REG = /^get[\\w]+Props$/;\n\nfunction splitPropsAndGetters(props: any) {\n return Object.entries(props).reduce(\n (acc: any, [key, value]) => {\n if (GETTER_REG.exec(key) === null) {\n acc.props[key] = value;\n } else {\n acc.getters[key] = value;\n }\n return acc;\n },\n { props: {}, getters: {} },\n );\n}\n\nfunction getterToArray(getter: any) {\n if (!Array.isArray(getter)) {\n return typeof getter === 'function' ? [getter] : [];\n }\n return getter;\n}\n\nfunction mergeObjects(a: any = {}, b: any = {}) {\n const core = { ...a, ...b };\n return Object.keys(core).reduce((acc: any, key) => {\n a[key] = getterToArray(a[key]);\n b[key] = getterToArray(b[key]);\n acc[key] = [...a[key], ...b[key]];\n return acc;\n }, {});\n}\n\nfunction assignGettersChain(getters: Array<Function>) {\n return function (props = {}) {\n return getters.reduce((acc, getter) => {\n return getter(acc);\n }, props);\n };\n}\n\nfunction createChildren(Context: any, contexts: any) {\n const Children: any = function () {\n const children = Children.origin;\n if (typeof children === 'function') {\n const {\n handlers = {},\n getters = {},\n ...props\n } = [...contexts, Context].reduce((acc, ctx) => {\n const { handlers, ...propsAndGetters } = React.useContext(ctx) as any;\n const { props, getters } = splitPropsAndGetters(propsAndGetters);\n return Object.assign({}, acc, {\n handlers: Object.assign({}, acc.handlers, handlers),\n getters: mergeObjects(acc.getters, getters),\n ...props,\n });\n }, Children.props);\n\n const mergedGetters = Object.entries(getters).reduce((acc: any, [key, value]) => {\n acc[key] = assignGettersChain(value as []);\n return acc;\n }, {});\n\n return children({ ...props, ...mergedGetters }, handlers);\n } else if (children === undefined) {\n return null;\n }\n return children;\n };\n Children.origin = null;\n Children.props = {};\n Children[CHILDREN_COMPONENT] = true;\n return Children;\n}\n\nfunction Enhancement(this: any, Context: any, parent: any) {\n return {\n init: function (this: any) {\n const contexts = (Array.isArray(parent) ? parent : [parent])\n .map((component) => component[CONTEXT_COMPONENT])\n .filter(Boolean);\n this[CHILDREN_SELF] = createChildren(Context, contexts);\n },\n asProps: function (this: any, props: any) {\n // TODO: learn the reason what it was used for (by lsroman)\n // this[CHILDREN_SELF].origin = _Children ? _Children.origin : children;\n this[CHILDREN_SELF].origin = props.children;\n this[CHILDREN_SELF].props = props;\n return {\n ...props,\n Children: this[CHILDREN_SELF],\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
3
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
4
4
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
5
|
-
import
|
|
5
|
+
import React from 'react';
|
|
6
6
|
// @ts-ignore
|
|
7
7
|
import assignProps from '@semcore/utils/lib/assignProps';
|
|
8
8
|
// @ts-ignore
|
|
@@ -34,7 +34,7 @@ function Enhancement(childComponents, Context) {
|
|
|
34
34
|
var _this = this;
|
|
35
35
|
if (isFunction) {
|
|
36
36
|
// TODO: might breake rules of hooks (by lsroman)
|
|
37
|
-
this[HOIST_SELF] = useState({});
|
|
37
|
+
this[HOIST_SELF] = React.useState({});
|
|
38
38
|
} else {
|
|
39
39
|
this[HOIST_SELF] = [{}, function (obj) {
|
|
40
40
|
_this[HOIST_SELF][0] = obj;
|
|
@@ -58,7 +58,7 @@ function Enhancement(childComponents, Context) {
|
|
|
58
58
|
wrapperProps: function wrapperProps(props, WrapperComponent) {
|
|
59
59
|
var _WrapperComponent$hoi;
|
|
60
60
|
if ((_WrapperComponent$hoi = WrapperComponent.hoistProps) !== null && _WrapperComponent$hoi !== void 0 && _WrapperComponent$hoi.length) {
|
|
61
|
-
var context = useContext(Context);
|
|
61
|
+
var context = React.useContext(Context);
|
|
62
62
|
var renameProps = WrapperComponent.hoistProps.reduce(function (acc, propName) {
|
|
63
63
|
var _propName$split = propName.split(':'),
|
|
64
64
|
_propName$split2 = _slicedToArray(_propName$split, 2),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hoistProps.js","names":["
|
|
1
|
+
{"version":3,"file":"hoistProps.js","names":["React","assignProps","useEnhancedEffect","pick","HOIST_CONTEXT","Symbol","HOIST_SELF","HOIST_SET","flatChildComponent","childComponents","Object","values","reduce","acc","Component","Array","isArray","concat","_toConsumableArray","push","Enhancement","Context","condition","some","_Component$hoistProps","Boolean","hoistProps","length","init","props","WrapperComponent","isFunction","_this","useState","obj","forceUpdate","context","_objectSpread","_defineProperty","asProps","wrapperProps","_WrapperComponent$hoi","useContext","renameProps","propName","_propName$split","split","_propName$split2","_slicedToArray","name","rename","entries","keys","_ref","_ref2","value"],"sources":["../../../src/enhancement/hoistProps.tsx"],"sourcesContent":["import React from 'react';\n// @ts-ignore\nimport assignProps from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n// @ts-ignore\nimport pick from '@semcore/utils/lib/pick';\n\nexport const HOIST_CONTEXT = Symbol('HOIST_CONTEXT');\nconst HOIST_SELF = Symbol('HOIST_SELF');\nconst HOIST_SET = Symbol('HOIST_SET');\n\nfunction flatChildComponent(childComponents: any) {\n return Object.values(childComponents).reduce<unknown[]>((acc, Component) => {\n if (Array.isArray(Component)) {\n acc = [...acc, Component[0], ...flatChildComponent(Component[1])];\n } else {\n acc.push(Component);\n }\n return acc;\n }, []);\n}\n\nfunction Enhancement(childComponents: any, Context: any) {\n return {\n condition: function (Component: any) {\n return [Component, ...flatChildComponent(childComponents)].some((Component) =>\n Boolean(Component.hoistProps?.length),\n );\n },\n init: function (this: any, props: any, WrapperComponent: any, isFunction: boolean) {\n if (isFunction) {\n // TODO: might breake rules of hooks (by lsroman)\n this[HOIST_SELF] = React.useState({});\n } else {\n this[HOIST_SELF] = [\n {},\n (obj: any) => {\n this[HOIST_SELF][0] = obj;\n this.forceUpdate();\n },\n ];\n }\n // For optimization render\n this[HOIST_SET] = (obj: any) => {\n this[HOIST_SELF][1](obj);\n };\n },\n context: function (this: any, context: any) {\n // TODO: need to optimizte container initialization (by lsroman)\n // WrapperComponent.hoistProps\n return {\n ...context,\n [HOIST_CONTEXT]: this[HOIST_SET],\n };\n },\n asProps: function (this: any, props: any) {\n // TODO: need to check for no props overwriting (by lsroman)\n return assignProps(this[HOIST_SELF][0], props);\n },\n wrapperProps: function (props: any, WrapperComponent: any) {\n if (WrapperComponent.hoistProps?.length) {\n const context: any = React.useContext(Context);\n const renameProps: any = WrapperComponent.hoistProps.reduce((acc: any, propName: any) => {\n const [name, rename] = propName.split(':');\n acc[name] = rename || name;\n return acc;\n }, {});\n const hoistProps = Object.entries(pick(props, Object.keys(renameProps))).reduce(\n (acc: any, [name, value]) => {\n acc[renameProps[name]] = value;\n return acc;\n },\n {},\n );\n\n useEnhancedEffect(() => {\n if (context[HOIST_CONTEXT]) {\n context[HOIST_CONTEXT](hoistProps);\n }\n }, Object.values(hoistProps));\n }\n return props;\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
2
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
|
-
import
|
|
4
|
+
import React from 'react';
|
|
5
5
|
// @ts-ignore
|
|
6
6
|
import assignProps from '@semcore/utils/lib/assignProps';
|
|
7
7
|
// @ts-ignore
|
|
@@ -98,7 +98,7 @@ function Enhancement(childComponents, createComponent, options) {
|
|
|
98
98
|
},
|
|
99
99
|
wrapperProps: function wrapperProps(props, WrapperComponent) {
|
|
100
100
|
if (!WrapperComponent[STATIC_COMPONENT]) return props;
|
|
101
|
-
var context = useContext(options.context);
|
|
101
|
+
var context = React.useContext(options.context);
|
|
102
102
|
var getterMethod = context[getterMethodNameByDisplayName(WrapperComponent.displayName)];
|
|
103
103
|
if (getterMethod) {
|
|
104
104
|
if (!getterMethod.cache.has(this)) {
|
|
@@ -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","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: 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 = [...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: 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 = 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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"}
|
|
1
|
+
{"version":3,"file":"staticChildren.js","names":["React","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","useContext","has","add","render","_this2","forEach","clear"],"sources":["../../../src/enhancement/staticChildren.tsx"],"sourcesContent":["import React 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: 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 = [...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: 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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"}
|
|
@@ -3,7 +3,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
3
3
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
4
4
|
var _excluded = ["_styles", "styles"],
|
|
5
5
|
_excluded2 = ["styles"];
|
|
6
|
-
import
|
|
6
|
+
import React from 'react';
|
|
7
7
|
// @ts-ignore
|
|
8
8
|
import { sstyled } from '../styled';
|
|
9
9
|
import { STATIC_COMPONENT } from './staticChildren';
|
|
@@ -40,7 +40,7 @@ function Enhancement(childComponents, Context) {
|
|
|
40
40
|
wrapperProps: function wrapperProps(_ref2) {
|
|
41
41
|
var styles = _ref2.styles,
|
|
42
42
|
props = _objectWithoutProperties(_ref2, _excluded2);
|
|
43
|
-
var context = useContext(Context);
|
|
43
|
+
var context = React.useContext(Context);
|
|
44
44
|
return _objectSpread(_objectSpread({}, props), {}, {
|
|
45
45
|
_styles: styles,
|
|
46
46
|
styles: context[STYLES_CONTEXT]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","names":["
|
|
1
|
+
{"version":3,"file":"style.js","names":["React","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","useContext"],"sources":["../../../src/enhancement/style.tsx"],"sourcesContent":["import React 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: 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;AACzB;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,eAAoB,EAAEC,OAAY,EAAE;EACvD,OAAO;IACLC,SAAS,EAAE,SAAAA,UAAUC,SAAc,EAAE;MACnC,OAAOC,OAAO,CAACD,SAAS,CAACE,KAAK,IAAIF,SAAS,CAACR,gBAAgB,CAAC,CAAC;IAChE,CAAC;IACDW,IAAI,EAAE,SAAAA,KAAqBC,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,GAAGJ,OAAO,CAACgB,KAAK,CAACF,gBAAgB,CAACH,KAAK,EAAEE,KAAK,CAACI,OAAO,CAAC;MAC1E;IACF,CAAC;IACDC,OAAO,EAAE,SAAAA,QAAqBA,QAAY,EAAO;MAC/C;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;IAEDoB,OAAO,EAAE,SAAAA,QAAAC,IAAA,EAAyD;MAAA,IAAlCR,OAAO,GAAAQ,IAAA,CAAPR,OAAO;QAAEF,MAAM,GAAAU,IAAA,CAANV,MAAM;QAAKF,KAAK,GAAAa,wBAAA,CAAAD,IAAA,EAAAE,SAAA;MACvD,OAAAL,aAAA,CAAAA,aAAA,KACKT,KAAK;QACRE,MAAM,EAAE,IAAI,CAACX,WAAW;MAAC;IAE7B,CAAC;IACDwB,YAAY,EAAE,SAAAA,aAAAC,KAAA,EAAgD;MAAA,IAAzBd,MAAM,GAAAc,KAAA,CAANd,MAAM;QAAKF,KAAK,GAAAa,wBAAA,CAAAG,KAAA,EAAAC,UAAA;MACnD,IAAMZ,OAAY,GAAGnB,KAAK,CAACgC,UAAU,CAACxB,OAAO,CAAC;MAC9C,OAAAe,aAAA,CAAAA,aAAA,KACKT,KAAK;QACRI,OAAO,EAAEF,MAAM;QACfA,MAAM,EAAEG,OAAO,CAAChB,cAAc;MAAC;IAEnC;EACF,CAAC;AACH;AAEA,eAAeG,WAAW"}
|
package/lib/es6/index.js
CHANGED
|
@@ -13,7 +13,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
|
|
|
13
13
|
var _excluded = ["forwardRef"],
|
|
14
14
|
_excluded2 = ["forwardRef", "__WRAPPER_PROPS_BIND__"],
|
|
15
15
|
_excluded3 = ["ref"];
|
|
16
|
-
import React
|
|
16
|
+
import React from 'react';
|
|
17
17
|
import hoistNonReactStatics from 'hoist-non-react-statics';
|
|
18
18
|
// @ts-ignore
|
|
19
19
|
import { useForkRef } from '@semcore/utils/lib/ref';
|
|
@@ -216,8 +216,8 @@ function wrapFunction(OriginComponent, enhancements, Context) {
|
|
|
216
216
|
var wrapperProps = getField('wrapperProps');
|
|
217
217
|
var contexts = getField('context');
|
|
218
218
|
var Component = /*#__PURE__*/React.memo(function FunctionMemoComponent(other) {
|
|
219
|
-
var selfRef = useRef({});
|
|
220
|
-
var firstRender = useRef(true);
|
|
219
|
+
var selfRef = React.useRef({});
|
|
220
|
+
var firstRender = React.useRef(true);
|
|
221
221
|
useEnhancedEffect(function () {
|
|
222
222
|
firstRender.current = false;
|
|
223
223
|
}, []);
|
package/lib/es6/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useRef","hoistNonReactStatics","useForkRef","useEnhancedEffect","_assignProps","Component","register","childrenEnhancement","CHILDREN_COMPONENT","rootEnhancement","uncontrolledPropsEnhancement","functionDefaultPropsEnhancement","staticChildrenEnhancement","STATIC_COMPONENT","ROOT_COMPONENT","getterMethodNameByDisplayName","inheritedNameEnhancement","INHERITED_NAME","hoistPropsEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","bindHandlerEnhancement","i18nAppLocaleEnhance","CORE_COMPONENT","Symbol","CORE_INSTANCE","CORE_AS_PROPS","CORE_INIT","CONTEXT_COMPONENT","CREATE_COMPONENT","PARENT_COMPONENTS","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","getterMethodName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","_ref","ref","_ref$forwardRef","forwardRef","other","_objectWithoutProperties","_excluded","createElement","BindingWrapper","_extends","WrapperForwardRef","_ref2","_ref2$forwardRef","__WRAPPER_PROPS_BIND__","_excluded2","_reduce","WrapperComponent","_reduce$ref","enhancementRef","props","_excluded3","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","_createClass","value","render","_this2","map","fn","bind","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","_OriginComponent2","_super2","context","_this3","get","_this4","Error","setContext","_this5","contextProps","_get","_getPrototypeOf","_this6","asProps","ctx","Provider","_objectSpread","wrapFunction","memo","FunctionMemoComponent","selfRef","firstRender","current","wrapCore","_ref3","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","_options$context","createContext","_options$parent","parent","_options$enhancements","parents","isArray","wholeFamily","_toConsumableArray","f","_______childrenComponents","_OriginComponent","_childComponents","_options","createBaseComponent"],"sources":["../../src/index.tsx"],"sourcesContent":["import React, { ForwardRefExoticComponent, RefAttributes, useRef } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n// @ts-ignore\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n// @ts-ignore\nimport _assignProps from '@semcore/utils/lib/assignProps';\n\nimport { Component, PropsWithRenderFnChildren } from './Component';\nimport register from './register';\n\nimport childrenEnhancement, { CHILDREN_COMPONENT } from './enhancement/Children';\nimport rootEnhancement from './enhancement/Root';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport staticChildrenEnhancement, {\n STATIC_COMPONENT,\n ROOT_COMPONENT,\n getterMethodNameByDisplayName,\n} from './enhancement/staticChildren';\nimport inheritedNameEnhancement, { INHERITED_NAME } from './enhancement/inheritedName';\nimport hoistPropsEnhancement from './enhancement/hoistProps';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport styleEnhancement from './enhancement/style';\nimport bindHandlerEnhancement from './enhancement/bindHandler';\nimport i18nAppLocaleEnhance from './enhancement/i18n';\n\nconst CORE_COMPONENT = Symbol('CORE_COMPONENT');\nconst CORE_INSTANCE = Symbol('CORE_INSTANCE');\nconst CORE_AS_PROPS = Symbol('CORE_AS_PROPS');\nconst CORE_INIT = Symbol('CORE_INIT');\nconst CONTEXT_COMPONENT = Symbol('CONTEXT_COMPONENT');\nconst CREATE_COMPONENT = Symbol('CREATE_COMPONENT');\nconst PARENT_COMPONENTS = Symbol('PARENT_COMPONENTS');\n\nfunction isEmptyObject(obj: any) {\n return (\n Object.getOwnPropertyNames(obj).length === 0 &&\n Object.getOwnPropertySymbols && // For IE 11\n Object.getOwnPropertySymbols(obj).length === 0 &&\n Object.getPrototypeOf(obj) === Object.prototype\n );\n}\n\nfunction createGetField(enhancements: any, Component: any, isFunction: boolean) {\n return function getField(key: string) {\n return enhancements\n .filter((enhancement: any) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc: any, item: any) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component: any, wrapperProps: any, statics: any, isFunction: any) {\n const RootComponent = Component[ROOT_COMPONENT];\n const getterMethodName = getterMethodNameByDisplayName(Component?.displayName);\n const getterMethod = RootComponent?.prototype\n ? RootComponent.prototype[getterMethodName]\n : undefined;\n const useGetterIndex = getterMethod?.length >= 2;\n\n function WrapperForwardRefWithBind({ forwardRef = null, ...other }, ref: any) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef(\n { forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }: any,\n ref: any,\n ) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc: any, enhancement: any) => enhancement(acc, WrapperComponent, isFunction), other);\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n }\n\n class BindingWrapper extends React.Component<any> {\n index = -1;\n render() {\n return (\n <WrapperForwardRef\n {...this.props}\n __WRAPPER_PROPS_BIND__={wrapperProps.map((fn: any) => fn.bind(this))}\n />\n );\n }\n }\n\n const WrapperComponent = React.forwardRef(\n useGetterIndex ? WrapperForwardRefWithBind : WrapperForwardRef,\n );\n\n hoistNonReactStatics(WrapperComponent, Component);\n\n WrapperComponent.displayName = Component.displayName;\n // TODO: defaultProps is only empty\n WrapperComponent.defaultProps = Component.defaultProps;\n // STATIC\n statics.forEach((enhancement: any) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, false);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n class Component extends OriginComponent {\n [CORE_AS_PROPS] = null;\n [CORE_INSTANCE] = WrapperComponent;\n [CORE_INIT] = false;\n\n constructor(props: any, context: any) {\n super(props, context);\n // INITS\n inits.forEach((enhancement: any) => enhancement.call(this, props, WrapperComponent, false));\n this[CORE_INIT] = true;\n }\n\n get asProps() {\n // TODO if not production\n if (!this[CORE_INIT]) {\n throw new Error('Can not call asProps in constructor');\n }\n if (!this[CORE_AS_PROPS]) {\n // PROPS\n this[CORE_AS_PROPS] = props.reduce(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n this.props,\n );\n }\n return this[CORE_AS_PROPS];\n }\n\n setContext() {\n const contextProps = super.setContext ? super.setContext() : {};\n // CONTEXT\n return contexts.reduce(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n contextProps,\n );\n }\n\n render() {\n this[CORE_AS_PROPS] = null;\n // TODO if not production\n if (!super.render) {\n throw new Error('Component `render` method is not defined');\n }\n const asProps: any = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(this, acc, asProps, WrapperComponent, false),\n super.render(),\n );\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n }\n }\n\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, true);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n const Component = React.memo(function FunctionMemoComponent(other) {\n const selfRef = useRef({});\n const firstRender = useRef(true);\n useEnhancedEffect(() => {\n firstRender.current = false;\n }, []);\n if (firstRender.current) {\n // INITS\n inits.forEach((enhancement: any) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, asProps, WrapperComponent, true),\n <OriginComponent {...asProps} />,\n );\n\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n });\n Object.assign(Component, OriginComponent);\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent: any, enhancements: any, Context: any) {\n const Component = function ({ Root }: any) {\n const defaultProps = OriginComponent.defaultProps || {};\n return <Root {...defaultProps} render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent: any, Context: any, enhancements: any): any {\n if (\n React.PureComponent.isPrototypeOf(OriginComponent) ||\n React.Component.isPrototypeOf(OriginComponent)\n ) {\n if (OriginComponent.prototype instanceof Component) {\n return wrapClass(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must inherit from our component');\n }\n } else if (typeof OriginComponent === 'function') {\n return wrapFunction(OriginComponent, enhancements, Context);\n } else if (OriginComponent[CORE_COMPONENT]) {\n return wrapCore(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must be a React component');\n }\n}\n\nexport type PropsAndRef<T, Ctx, UCProps> = PropsWithRenderFnChildren<T, Ctx, UCProps> &\n RefAttributes<unknown>;\nexport type ForwardRefComponent<T, Ctx, UCProps> = ForwardRefExoticComponent<\n PropsAndRef<T, Ctx, UCProps>\n>;\ntype ComponentOrProps<T, Context, UCProps> = T extends [infer ParentProps, infer ChildProps]\n ? ComponentType<ParentProps, ChildProps, Context, UCProps>\n : ForwardRefComponent<T, Context, UCProps>;\n\nexport type ComponentType<\n ComponentProps,\n ChildComponentProps = {},\n ContextType = {},\n UCProps = {},\n FNType = null,\n> = (FNType extends null\n ? ForwardRefComponent<ComponentProps, ContextType, UCProps>\n : FNType & { displayName: string }) & {\n [K in keyof ChildComponentProps]: ComponentOrProps<ChildComponentProps[K], ContextType, UCProps>;\n} & {\n [CORE_COMPONENT]: boolean;\n [CREATE_COMPONENT]: () => ComponentType<\n ComponentProps,\n ChildComponentProps,\n ContextType,\n UCProps\n >;\n};\n\ninterface ClassWithUncontrolledProps<Props> {\n uncontrolledProps(): unknown;\n}\n\nfunction assignProps(p1: any, p2: any) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<ComponentProps, ChildComponentProps = {}, ContextType = {}, FNType = null>(\n OriginComponent: any,\n childComponents: any = {},\n options: {\n context?: React.Context<ContextType>;\n parent?: ComponentType<unknown> | ComponentType<unknown>[];\n enhancements?: [any];\n } = {},\n): ComponentType<\n ComponentProps extends Component<infer Props> ? Props : ComponentProps,\n ChildComponentProps,\n ContextType,\n ComponentProps extends ClassWithUncontrolledProps<any>\n ? ReturnType<ComponentProps['uncontrolledProps']>\n : { [key: string]: (arg: unknown) => void },\n FNType\n> {\n const {\n context = React.createContext<ContextType>({} as ContextType),\n parent = [],\n enhancements = [],\n } = options;\n let parents = Array.isArray(parent) ? parent : [parent];\n if (parents.length) {\n const wholeFamily = parents.reduce((acc: any, parent: any) => {\n if (parent[PARENT_COMPONENTS]) {\n acc = [...parent[PARENT_COMPONENTS], ...acc];\n }\n return acc;\n }, parents);\n OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\n if (OriginComponent[CORE_COMPONENT]) {\n parents.push(OriginComponent);\n }\n const Component = createComposeComponent(OriginComponent, context, [\n // @ts-ignore\n ...enhancements.map((f) => f(context, parents, createComponent, childComponents)),\n i18nAppLocaleEnhance(),\n bindHandlerEnhancement(),\n childrenEnhancement(context, parents),\n // root must be under the children\n rootEnhancement(),\n uncontrolledPropsEnhancement(),\n staticChildrenEnhancement(childComponents, createComponent, {\n context,\n parent,\n enhancements,\n }),\n // functionDefaultProps must be under the staticChild\n functionDefaultPropsEnhancement(),\n // inheritedName must be under the staticChild\n inheritedNameEnhancement(),\n // dataName must be under the staticChild\n dataNameEnhancement(),\n // enhanceEnhancement must be under the functionDefaultPropsEnhancement\n enhanceEnhancement(),\n styleEnhancement(childComponents, context),\n // must be the last one so any properties can be raised\n hoistPropsEnhancement(childComponents, context),\n ]);\n Component[CONTEXT_COMPONENT] = context;\n Component._______childrenComponents = childComponents;\n Component[CREATE_COMPONENT] = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component[CORE_COMPONENT] = true;\n return Component;\n}\n\nfunction createBaseComponent<ComponentProps>(OriginComponent: any): ComponentType<ComponentProps> {\n let Component = null;\n if (\n !React.PureComponent.isPrototypeOf(OriginComponent) &&\n !React.Component.isPrototypeOf(OriginComponent) &&\n typeof OriginComponent === 'function'\n ) {\n Component = React.forwardRef(OriginComponent);\n Component.displayName = OriginComponent.displayName;\n Component.defaultProps = {\n 'data-ui-name': OriginComponent.displayName,\n ...OriginComponent.defaultProps,\n };\n (Component as any)[CORE_COMPONENT] = true;\n } else {\n throw new Error('createBaseComponent accepts only functional component');\n }\n return Component as any;\n}\n\nexport type UnknownProperties = {\n [key: string]: unknown;\n};\n\nexport * from './Component';\nexport * from './styled';\nexport * from './register';\nexport {\n createBaseComponent,\n register,\n CREATE_COMPONENT,\n CORE_INSTANCE,\n CONTEXT_COMPONENT,\n CHILDREN_COMPONENT,\n INHERITED_NAME,\n CORE_COMPONENT,\n STATIC_COMPONENT,\n ROOT_COMPONENT,\n assignProps,\n};\nexport default createComponent;\n"],"mappings":";;;;;;;;;;;;;;;AAAA,OAAOA,KAAK,IAA8CC,MAAM,QAAQ,OAAO;AAC/E,OAAOC,oBAAoB,MAAM,yBAAyB;AAC1D;AACA,SAASC,UAAU,QAAQ,wBAAwB;AACnD;AACA,OAAOC,iBAAiB,MAAM,0CAA0C;AACxE;AACA,OAAOC,YAAY,MAAM,gCAAgC;AAEzD,SAASC,SAAS,QAAmC,aAAa;AAClE,OAAOC,QAAQ,MAAM,YAAY;AAEjC,OAAOC,mBAAmB,IAAIC,kBAAkB,QAAQ,wBAAwB;AAChF,OAAOC,eAAe,MAAM,oBAAoB;AAChD,OAAOC,4BAA4B,MAAM,iCAAiC;AAC1E,OAAOC,+BAA+B,MAAM,oCAAoC;AAChF,OAAOC,yBAAyB,IAC9BC,gBAAgB,EAChBC,cAAc,EACdC,6BAA6B,QACxB,8BAA8B;AACrC,OAAOC,wBAAwB,IAAIC,cAAc,QAAQ,6BAA6B;AACtF,OAAOC,qBAAqB,MAAM,0BAA0B;AAC5D,OAAOC,mBAAmB,MAAM,wBAAwB;AACxD,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,OAAOC,gBAAgB,MAAM,qBAAqB;AAClD,OAAOC,sBAAsB,MAAM,2BAA2B;AAC9D,OAAOC,oBAAoB,MAAM,oBAAoB;AAErD,IAAMC,cAAc,GAAGC,MAAM,CAAC,gBAAgB,CAAC;AAC/C,IAAMC,aAAa,GAAGD,MAAM,CAAC,eAAe,CAAC;AAC7C,IAAME,aAAa,GAAGF,MAAM,CAAC,eAAe,CAAC;AAC7C,IAAMG,SAAS,GAAGH,MAAM,CAAC,WAAW,CAAC;AACrC,IAAMI,iBAAiB,GAAGJ,MAAM,CAAC,mBAAmB,CAAC;AACrD,IAAMK,gBAAgB,GAAGL,MAAM,CAAC,kBAAkB,CAAC;AACnD,IAAMM,iBAAiB,GAAGN,MAAM,CAAC,mBAAmB,CAAC;AAErD,SAASO,aAAaA,CAACC,GAAQ,EAAE;EAC/B,OACEC,MAAM,CAACC,mBAAmB,CAACF,GAAG,CAAC,CAACG,MAAM,KAAK,CAAC,IAC5CF,MAAM,CAACG,qBAAqB;EAAI;EAChCH,MAAM,CAACG,qBAAqB,CAACJ,GAAG,CAAC,CAACG,MAAM,KAAK,CAAC,IAC9CF,MAAM,CAACI,cAAc,CAACL,GAAG,CAAC,KAAKC,MAAM,CAACK,SAAS;AAEnD;AAEA,SAASC,cAAcA,CAACC,YAAiB,EAAEpC,SAAc,EAAEqC,UAAmB,EAAE;EAC9E,OAAO,SAASC,QAAQA,CAACC,GAAW,EAAE;IACpC,OAAOH,YAAY,CAChBI,MAAM,CAAC,UAACC,WAAgB,EAAK;MAC5B,IAAI,CAACA,WAAW,CAACC,SAAS,EAAE;QAC1B,OAAO,IAAI;MACb;MACA,OAAOD,WAAW,CAACC,SAAS,CAAC1C,SAAS,EAAEqC,UAAU,CAAC;IACrD,CAAC,CAAC,CACDM,MAAM,CAAC,UAACC,GAAQ,EAAEC,IAAS,EAAK;MAC/B,IAAIA,IAAI,CAACN,GAAG,CAAC,EAAE;QACbK,GAAG,CAACE,IAAI,CAACD,IAAI,CAACN,GAAG,CAAC,CAAC;MACrB;MACA,OAAOK,GAAG;IACZ,CAAC,EAAE,EAAE,CAAC;EACV,CAAC;AACH;AAEA,SAASG,oBAAoBA,CAAC/C,SAAc,EAAEgD,YAAiB,EAAEC,OAAY,EAAEZ,UAAe,EAAE;EAC9F,IAAMa,aAAa,GAAGlD,SAAS,CAACS,cAAc,CAAC;EAC/C,IAAM0C,gBAAgB,GAAGzC,6BAA6B,CAACV,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEoD,WAAW,CAAC;EAC9E,IAAMC,YAAY,GAAGH,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAEhB,SAAS,GACzCgB,aAAa,CAAChB,SAAS,CAACiB,gBAAgB,CAAC,GACzCG,SAAS;EACb,IAAMC,cAAc,GAAG,CAAAF,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEtB,MAAM,KAAI,CAAC;EAEhD,SAASyB,yBAAyBA,CAAAC,IAAA,EAAkCC,GAAQ,EAAE;IAAA,IAAAC,eAAA,GAAAF,IAAA,CAAzCG,UAAU;MAAVA,UAAU,GAAAD,eAAA,cAAG,IAAI,GAAAA,eAAA;MAAKE,KAAK,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;IAC9D,oBAAOrE,KAAA,CAAAsE,aAAA,CAACC,cAAc,EAAAC,QAAA,KAAKL,KAAK;MAAED,UAAU,EAAE/D,UAAU,CAAC6D,GAAG,EAAEE,UAAU;IAAE,GAAG;EAC/E;EAEA,SAASO,iBAAiBA,CAAAC,KAAA,EAExBV,GAAQ,EACR;IAAA,IAAAW,gBAAA,GAAAD,KAAA,CAFER,UAAU;MAAVA,UAAU,GAAAS,gBAAA,cAAG,IAAI,GAAAA,gBAAA;MAAEC,sBAAsB,GAAAF,KAAA,CAAtBE,sBAAsB;MAAKT,KAAK,GAAAC,wBAAA,CAAAM,KAAA,EAAAG,UAAA;IAGrD,IAAAC,OAAA,GAAiD,CAC/CF,sBAAsB,IAAItB,YAAY,EACtCL,MAAM,CAAC,UAACC,GAAQ,EAAEH,WAAgB;QAAA,OAAKA,WAAW,CAACG,GAAG,EAAE6B,gBAAgB,EAAEpC,UAAU,CAAC;MAAA,GAAEwB,KAAK,CAAC;MAAAa,WAAA,GAAAF,OAAA,CAFvFd,GAAG;MAAEiB,cAAc,GAAAD,WAAA,cAAG,IAAI,GAAAA,WAAA;MAAKE,KAAK,GAAAd,wBAAA,CAAAU,OAAA,EAAAK,UAAA;IAG5C,oBAAOnF,KAAA,CAAAsE,aAAA,CAAChE,SAAS,EAAAkE,QAAA,KAAKU,KAAK;MAAEhB,UAAU,EAAE/D,UAAU,CAAC8E,cAAc,EAAEjB,GAAG,EAAEE,UAAU;IAAE,GAAG;EAC1F;EAAC,IAEKK,cAAc,0BAAAa,gBAAA;IAAAC,SAAA,CAAAd,cAAA,EAAAa,gBAAA;IAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAhB,cAAA;IAAA,SAAAA,eAAA;MAAA,IAAAiB,KAAA;MAAAC,eAAA,OAAAlB,cAAA;MAAA,SAAAmB,IAAA,GAAAC,SAAA,CAAAtD,MAAA,EAAAuD,IAAA,OAAAC,KAAA,CAAAH,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;QAAAF,IAAA,CAAAE,IAAA,IAAAH,SAAA,CAAAG,IAAA;MAAA;MAAAN,KAAA,GAAAF,MAAA,CAAAS,IAAA,CAAAC,KAAA,CAAAV,MAAA,SAAAW,MAAA,CAAAL,IAAA;MAAAM,eAAA,CAAAC,sBAAA,CAAAX,KAAA,YACV,CAAC,CAAC;MAAA,OAAAA,KAAA;IAAA;IAAAY,YAAA,CAAA7B,cAAA;MAAA1B,GAAA;MAAAwD,KAAA,EACV,SAAAC,OAAA,EAAS;QAAA,IAAAC,MAAA;QACP,oBACEvG,KAAA,CAAAsE,aAAA,CAACG,iBAAiB,EAAAD,QAAA,KACZ,IAAI,CAACU,KAAK;UACdN,sBAAsB,EAAEtB,YAAY,CAACkD,GAAG,CAAC,UAACC,EAAO;YAAA,OAAKA,EAAE,CAACC,IAAI,CAACH,MAAI,CAAC;UAAA;QAAE,GACrE;MAEN;IAAC;IAAA,OAAAhC,cAAA;EAAA,EAT0BvE,KAAK,CAACM,SAAS;EAY5C,IAAMyE,gBAAgB,gBAAG/E,KAAK,CAACkE,UAAU,CACvCL,cAAc,GAAGC,yBAAyB,GAAGW,iBAAiB,CAC/D;EAEDvE,oBAAoB,CAAC6E,gBAAgB,EAAEzE,SAAS,CAAC;EAEjDyE,gBAAgB,CAACrB,WAAW,GAAGpD,SAAS,CAACoD,WAAW;EACpD;EACAqB,gBAAgB,CAAC4B,YAAY,GAAGrG,SAAS,CAACqG,YAAY;EACtD;EACApD,OAAO,CAACqD,OAAO,CAAC,UAAC7D,WAAgB;IAAA,OAC/BZ,MAAM,CAAC0E,MAAM,CAAC9B,gBAAgB,EAAEhC,WAAW,CAACgC,gBAAgB,EAAEzE,SAAS,EAAEqC,UAAU,CAAC,CAAC;EAAA,EACtF;EAED,OAAOoC,gBAAgB;AACzB;AAEA,SAAS+B,SAASA,CAACC,eAAoB,EAAErE,YAAiB,EAAEsE,OAAY,EAAE;EACxE,IAAMpE,QAAQ,GAAGH,cAAc,CAACC,YAAY,EAAEqE,eAAe,EAAE,KAAK,CAAC;EAErE,IAAME,KAAK,GAAGrE,QAAQ,CAAC,MAAM,CAAC;EAC9B,IAAMsC,KAAK,GAAGtC,QAAQ,CAAC,SAAS,CAAC;EACjC,IAAMsE,OAAO,GAAGtE,QAAQ,CAAC,QAAQ,CAAC;EAClC,IAAMW,OAAO,GAAGX,QAAQ,CAAC,QAAQ,CAAC;EAClC,IAAMU,YAAY,GAAGV,QAAQ,CAAC,cAAc,CAAC;EAC7C,IAAMuE,QAAQ,GAAGvE,QAAQ,CAAC,SAAS,CAAC;EAAC,IAE/BtC,SAAS,0BAAA8G,iBAAA;IAAA/B,SAAA,CAAA/E,SAAA,EAAA8G,iBAAA;IAAA,IAAAC,OAAA,GAAA9B,YAAA,CAAAjF,SAAA;IAKb,SAAAA,UAAY4E,KAAU,EAAEoC,OAAY,EAAE;MAAA,IAAAC,MAAA;MAAA9B,eAAA,OAAAnF,SAAA;MACpCiH,MAAA,GAAAF,OAAA,CAAAtB,IAAA,OAAMb,KAAK,EAAEoC,OAAO;MACpB;MAAApB,eAAA,CAAAC,sBAAA,CAAAoB,MAAA,GAND3F,aAAa,EAAI,IAAI;MAAAsE,eAAA,CAAAC,sBAAA,CAAAoB,MAAA,GACrB5F,aAAa,EAAIoD,gBAAgB;MAAAmB,eAAA,CAAAC,sBAAA,CAAAoB,MAAA,GACjC1F,SAAS,EAAI,KAAK;MAKjBoF,KAAK,CAACL,OAAO,CAAC,UAAC7D,WAAgB;QAAA,OAAKA,WAAW,CAACgD,IAAI,CAAAI,sBAAA,CAAAoB,MAAA,GAAOrC,KAAK,EAAEH,gBAAgB,EAAE,KAAK,CAAC;MAAA,EAAC;MAC3FwC,MAAA,CAAK1F,SAAS,CAAC,GAAG,IAAI;MAAC,OAAA0F,MAAA;IACzB;IAACnB,YAAA,CAAA9F,SAAA;MAAAuC,GAAA;MAAA2E,GAAA,EAED,SAAAA,IAAA,EAAc;QAAA,IAAAC,MAAA;QACZ;QACA,IAAI,CAAC,IAAI,CAAC5F,SAAS,CAAC,EAAE;UACpB,MAAM,IAAI6F,KAAK,CAAC,qCAAqC,CAAC;QACxD;QACA,IAAI,CAAC,IAAI,CAAC9F,aAAa,CAAC,EAAE;UACxB;UACA,IAAI,CAACA,aAAa,CAAC,GAAGsD,KAAK,CAACjC,MAAM,CAChC,UAACC,GAAQ,EAAEH,WAAgB;YAAA,OAAKA,WAAW,CAACgD,IAAI,CAAC0B,MAAI,EAAEvE,GAAG,EAAE6B,gBAAgB,EAAE,KAAK,CAAC;UAAA,GACpF,IAAI,CAACG,KAAK,CACX;QACH;QACA,OAAO,IAAI,CAACtD,aAAa,CAAC;MAC5B;IAAC;MAAAiB,GAAA;MAAAwD,KAAA,EAED,SAAAsB,WAAA,EAAa;QAAA,IAAAC,MAAA;QACX,IAAMC,YAAY,GAAGC,IAAA,CAAAC,eAAA,CAAAzH,SAAA,CAAAkC,SAAA,yBAAAsF,IAAA,CAAAC,eAAA,CAAAzH,SAAA,CAAAkC,SAAA,uBAAAuD,IAAA,SAAwC,CAAC,CAAC;QAC/D;QACA,OAAOoB,QAAQ,CAAClE,MAAM,CACpB,UAACC,GAAQ,EAAEH,WAAgB;UAAA,OAAKA,WAAW,CAACgD,IAAI,CAAC6B,MAAI,EAAE1E,GAAG,EAAE6B,gBAAgB,EAAE,KAAK,CAAC;QAAA,GACpF8C,YAAY,CACb;MACH;IAAC;MAAAhF,GAAA;MAAAwD,KAAA,EAED,SAAAC,OAAA,EAAS;QAAA,IAAA0B,MAAA;QACP,IAAI,CAACpG,aAAa,CAAC,GAAG,IAAI;QAC1B;QACA,IAAI,CAAAkG,IAAA,CAAAC,eAAA,CAAAzH,SAAA,CAAAkC,SAAA,kBAAa,EAAE;UACjB,MAAM,IAAIkF,KAAK,CAAC,0CAA0C,CAAC;QAC7D;QACA,IAAMO,OAAY,GAAG,IAAI,CAACA,OAAO;QACjC,IAAMC,GAAG,GAAG,IAAI,CAACP,UAAU,EAAE;QAC7B;QACA,IAAMrB,MAAM,GAAGY,OAAO,CAACjE,MAAM,CAC3B,UAACC,GAAQ,EAAEH,WAAgB;UAAA,OACzBA,WAAW,CAACgD,IAAI,CAACiC,MAAI,EAAE9E,GAAG,EAAE+E,OAAO,EAAElD,gBAAgB,EAAE,KAAK,CAAC;QAAA,GAAA+C,IAAA,CAAAC,eAAA,CAAAzH,SAAA,CAAAkC,SAAA,mBAAAuD,IAAA,OAEhE;QACD,IAAI,CAAChB,gBAAgB,CAACjE,gBAAgB,CAAC,IAAI,CAACmB,aAAa,CAACiG,GAAG,CAAC,EAAE;UAC9D,oBAAOlI,KAAA,CAAAsE,aAAA,CAAC0C,OAAO,CAACmB,QAAQ;YAAC9B,KAAK,EAAA+B,aAAA,CAAAA,aAAA,KAAOH,OAAO,GAAKC,GAAG;UAAG,GAAE5B,MAAM,CAAoB;QACrF,CAAC,MAAM;UACL,OAAOA,MAAM;QACf;MACF;IAAC;IAAA,OAAAhG,SAAA;EAAA,EAvDqByG,eAAe;EA0DvC,IAAMhC,gBAAqB,GAAG1B,oBAAoB,CAAC/C,SAAS,EAAEgD,YAAY,EAAEC,OAAO,EAAE,KAAK,CAAC;EAC3F,OAAOwB,gBAAgB;AACzB;AAEA,SAASsD,YAAYA,CAACtB,eAAoB,EAAErE,YAAiB,EAAEsE,OAAY,EAAE;EAC3E,IAAMpE,QAAQ,GAAGH,cAAc,CAACC,YAAY,EAAEqE,eAAe,EAAE,IAAI,CAAC;EAEpE,IAAME,KAAK,GAAGrE,QAAQ,CAAC,MAAM,CAAC;EAC9B,IAAMsC,KAAK,GAAGtC,QAAQ,CAAC,SAAS,CAAC;EACjC,IAAMsE,OAAO,GAAGtE,QAAQ,CAAC,QAAQ,CAAC;EAClC,IAAMW,OAAO,GAAGX,QAAQ,CAAC,QAAQ,CAAC;EAClC,IAAMU,YAAY,GAAGV,QAAQ,CAAC,cAAc,CAAC;EAC7C,IAAMuE,QAAQ,GAAGvE,QAAQ,CAAC,SAAS,CAAC;EAEpC,IAAMtC,SAAS,gBAAGN,KAAK,CAACsI,IAAI,CAAC,SAASC,qBAAqBA,CAACpE,KAAK,EAAE;IACjE,IAAMqE,OAAO,GAAGvI,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAMwI,WAAW,GAAGxI,MAAM,CAAC,IAAI,CAAC;IAChCG,iBAAiB,CAAC,YAAM;MACtBqI,WAAW,CAACC,OAAO,GAAG,KAAK;IAC7B,CAAC,EAAE,EAAE,CAAC;IACN,IAAID,WAAW,CAACC,OAAO,EAAE;MACvB;MACAzB,KAAK,CAACL,OAAO,CAAC,UAAC7D,WAAgB;QAAA,OAC7BA,WAAW,CAACgD,IAAI,CAACyC,OAAO,CAACE,OAAO,EAAEvE,KAAK,EAAEY,gBAAgB,EAAE,IAAI,CAAC;MAAA,EACjE;IACH;IACA;IACA,IAAMkD,OAAO,GAAG/C,KAAK,CAACjC,MAAM,CAC1B,UAACC,GAAQ,EAAEH,WAAgB;MAAA,OACzBA,WAAW,CAACgD,IAAI,CAACyC,OAAO,CAACE,OAAO,EAAExF,GAAG,EAAE6B,gBAAgB,EAAE,IAAI,CAAC;IAAA,GAChEZ,KAAK,CACN;IACD;IACA,IAAM+D,GAAG,GAAGf,QAAQ,CAAClE,MAAM,CACzB,UAACC,GAAQ,EAAEH,WAAgB;MAAA,OACzBA,WAAW,CAACgD,IAAI,CAACyC,OAAO,CAACE,OAAO,EAAExF,GAAG,EAAE6B,gBAAgB,EAAE,IAAI,CAAC;IAAA,GAChE,CAAC,CAAC,CACH;;IAED;IACA,IAAMuB,MAAM,GAAGY,OAAO,CAACjE,MAAM,CAC3B,UAACC,GAAQ,EAAEH,WAAgB;MAAA,OACzBA,WAAW,CAACgD,IAAI,CAACyC,OAAO,CAACE,OAAO,EAAExF,GAAG,EAAE+E,OAAO,EAAElD,gBAAgB,EAAE,IAAI,CAAC;IAAA,gBACzE/E,KAAA,CAAAsE,aAAA,CAACyC,eAAe,EAAKkB,OAAO,CAAI,CACjC;IAED,IAAI,CAAClD,gBAAgB,CAACjE,gBAAgB,CAAC,IAAI,CAACmB,aAAa,CAACiG,GAAG,CAAC,EAAE;MAC9D,oBAAOlI,KAAA,CAAAsE,aAAA,CAAC0C,OAAO,CAACmB,QAAQ;QAAC9B,KAAK,EAAA+B,aAAA,CAAAA,aAAA,KAAOH,OAAO,GAAKC,GAAG;MAAG,GAAE5B,MAAM,CAAoB;IACrF,CAAC,MAAM;MACL,OAAOA,MAAM;IACf;EACF,CAAC,CAAC;EACFnE,MAAM,CAAC0E,MAAM,CAACvG,SAAS,EAAEyG,eAAe,CAAC;EACzC,IAAMhC,gBAAqB,GAAG1B,oBAAoB,CAAC/C,SAAS,EAAEgD,YAAY,EAAEC,OAAO,EAAE,IAAI,CAAC;EAC1F,OAAOwB,gBAAgB;AACzB;AAEA,SAAS4D,QAAQA,CAAC5B,eAAoB,EAAErE,YAAiB,EAAEsE,OAAY,EAAE;EACvE,IAAM1G,SAAS,GAAG,SAAZA,SAASA,CAAAsI,KAAA,EAA4B;IAAA,IAAbC,IAAI,GAAAD,KAAA,CAAJC,IAAI;IAChC,IAAMlC,YAAY,GAAGI,eAAe,CAACJ,YAAY,IAAI,CAAC,CAAC;IACvD,oBAAO3G,KAAA,CAAAsE,aAAA,CAACuE,IAAI,EAAArE,QAAA,KAAKmC,YAAY;MAAEL,MAAM,EAAES;IAAgB,GAAG;EAC5D,CAAC;EACD7G,oBAAoB,CAACI,SAAS,EAAEyG,eAAe,CAAC;EAChDzG,SAAS,CAACoD,WAAW,GAAGqD,eAAe,CAACrD,WAAW;EACnD,OAAO2E,YAAY,CAAC/H,SAAS,EAAEoC,YAAY,EAAEsE,OAAO,CAAC;AACvD;AAEA,SAAS8B,sBAAsBA,CAAC/B,eAAoB,EAAEC,OAAY,EAAEtE,YAAiB,EAAO;EAC1F,IACE1C,KAAK,CAAC+I,aAAa,CAACC,aAAa,CAACjC,eAAe,CAAC,IAClD/G,KAAK,CAACM,SAAS,CAAC0I,aAAa,CAACjC,eAAe,CAAC,EAC9C;IACA,IAAIA,eAAe,CAACvE,SAAS,YAAYlC,SAAS,EAAE;MAClD,OAAOwG,SAAS,CAACC,eAAe,EAAErE,YAAY,EAAEsE,OAAO,CAAC;IAC1D,CAAC,MAAM;MACL,MAAM,IAAIU,KAAK,CAAC,iCAAiC,CAAC;IACpD;EACF,CAAC,MAAM,IAAI,OAAOX,eAAe,KAAK,UAAU,EAAE;IAChD,OAAOsB,YAAY,CAACtB,eAAe,EAAErE,YAAY,EAAEsE,OAAO,CAAC;EAC7D,CAAC,MAAM,IAAID,eAAe,CAACtF,cAAc,CAAC,EAAE;IAC1C,OAAOkH,QAAQ,CAAC5B,eAAe,EAAErE,YAAY,EAAEsE,OAAO,CAAC;EACzD,CAAC,MAAM;IACL,MAAM,IAAIU,KAAK,CAAC,2BAA2B,CAAC;EAC9C;AACF;AAmCA,SAASuB,WAAWA,CAACC,EAAO,EAAEC,EAAO,EAAE;EACrC,OAAO9I,YAAY,CAAC8I,EAAE,EAAED,EAAE,CAAC;AAC7B;AAEA,SAASE,eAAeA,CACtBrC,eAAoB,EAepB;EAAA,IAdAsC,eAAoB,GAAA1D,SAAA,CAAAtD,MAAA,QAAAsD,SAAA,QAAA/B,SAAA,GAAA+B,SAAA,MAAG,CAAC,CAAC;EAAA,IACzB2D,OAIC,GAAA3D,SAAA,CAAAtD,MAAA,QAAAsD,SAAA,QAAA/B,SAAA,GAAA+B,SAAA,MAAG,CAAC,CAAC;EAUN,IAAA4D,gBAAA,GAIID,OAAO,CAHThC,OAAO;IAAPA,OAAO,GAAAiC,gBAAA,2BAAGvJ,KAAK,CAACwJ,aAAa,CAAc,CAAC,CAAC,CAAgB,GAAAD,gBAAA;IAAAE,eAAA,GAG3DH,OAAO,CAFTI,MAAM;IAANA,MAAM,GAAAD,eAAA,cAAG,EAAE,GAAAA,eAAA;IAAAE,qBAAA,GAETL,OAAO,CADT5G,YAAY;IAAZA,YAAY,GAAAiH,qBAAA,cAAG,EAAE,GAAAA,qBAAA;EAEnB,IAAIC,OAAO,GAAG/D,KAAK,CAACgE,OAAO,CAACH,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC;EACvD,IAAIE,OAAO,CAACvH,MAAM,EAAE;IAClB,IAAMyH,WAAW,GAAGF,OAAO,CAAC3G,MAAM,CAAC,UAACC,GAAQ,EAAEwG,MAAW,EAAK;MAC5D,IAAIA,MAAM,CAAC1H,iBAAiB,CAAC,EAAE;QAC7BkB,GAAG,MAAA+C,MAAA,CAAA8D,kBAAA,CAAOL,MAAM,CAAC1H,iBAAiB,CAAC,GAAA+H,kBAAA,CAAK7G,GAAG,EAAC;MAC9C;MACA,OAAOA,GAAG;IACZ,CAAC,EAAE0G,OAAO,CAAC;IACX7C,eAAe,CAAC/E,iBAAiB,CAAC,GAAG8H,WAAW;IAChDF,OAAO,GAAGE,WAAW;EACvB;EACA,IAAI/C,eAAe,CAACtF,cAAc,CAAC,EAAE;IACnCmI,OAAO,CAACxG,IAAI,CAAC2D,eAAe,CAAC;EAC/B;EACA,IAAMzG,SAAS,GAAGwI,sBAAsB,CAAC/B,eAAe,EAAEO,OAAO,KAAArB,MAAA,CAAA8D,kBAAA,CAE5DrH,YAAY,CAAC8D,GAAG,CAAC,UAACwD,CAAC;IAAA,OAAKA,CAAC,CAAC1C,OAAO,EAAEsC,OAAO,EAAER,eAAe,EAAEC,eAAe,CAAC;EAAA,EAAC,IACjF7H,oBAAoB,EAAE,EACtBD,sBAAsB,EAAE,EACxBf,mBAAmB,CAAC8G,OAAO,EAAEsC,OAAO,CAAC;EACrC;EACAlJ,eAAe,EAAE,EACjBC,4BAA4B,EAAE,EAC9BE,yBAAyB,CAACwI,eAAe,EAAED,eAAe,EAAE;IAC1D9B,OAAO,EAAPA,OAAO;IACPoC,MAAM,EAANA,MAAM;IACNhH,YAAY,EAAZA;EACF,CAAC,CAAC;EACF;EACA9B,+BAA+B,EAAE;EACjC;EACAK,wBAAwB,EAAE;EAC1B;EACAG,mBAAmB,EAAE;EACrB;EACAC,kBAAkB,EAAE,EACpBC,gBAAgB,CAAC+H,eAAe,EAAE/B,OAAO,CAAC;EAC1C;EACAnG,qBAAqB,CAACkI,eAAe,EAAE/B,OAAO,CAAC,GAC/C;EACFhH,SAAS,CAACwB,iBAAiB,CAAC,GAAGwF,OAAO;EACtChH,SAAS,CAAC2J,yBAAyB,GAAGZ,eAAe;EACrD/I,SAAS,CAACyB,gBAAgB,CAAC,GAAG,YAI5B;IAAA,IAHAmI,gBAAgB,GAAAvE,SAAA,CAAAtD,MAAA,QAAAsD,SAAA,QAAA/B,SAAA,GAAA+B,SAAA,MAAGoB,eAAe;IAAA,IAClCoD,gBAAgB,GAAAxE,SAAA,CAAAtD,MAAA,QAAAsD,SAAA,QAAA/B,SAAA,GAAA+B,SAAA,MAAG0D,eAAe;IAAA,IAClCe,QAAQ,GAAAzE,SAAA,CAAAtD,MAAA,QAAAsD,SAAA,QAAA/B,SAAA,GAAA+B,SAAA,MAAG2D,OAAO;IAElB,OAAOF,eAAe,CAACc,gBAAgB,EAAEC,gBAAgB,EAAEC,QAAQ,CAAC;EACtE,CAAC;EACD9J,SAAS,CAACmB,cAAc,CAAC,GAAG,IAAI;EAChC,OAAOnB,SAAS;AAClB;AAEA,SAAS+J,mBAAmBA,CAAiBtD,eAAoB,EAAiC;EAChG,IAAIzG,SAAS,GAAG,IAAI;EACpB,IACE,CAACN,KAAK,CAAC+I,aAAa,CAACC,aAAa,CAACjC,eAAe,CAAC,IACnD,CAAC/G,KAAK,CAACM,SAAS,CAAC0I,aAAa,CAACjC,eAAe,CAAC,IAC/C,OAAOA,eAAe,KAAK,UAAU,EACrC;IACAzG,SAAS,gBAAGN,KAAK,CAACkE,UAAU,CAAC6C,eAAe,CAAC;IAC7CzG,SAAS,CAACoD,WAAW,GAAGqD,eAAe,CAACrD,WAAW;IACnDpD,SAAS,CAACqG,YAAY,GAAAyB,aAAA;MACpB,cAAc,EAAErB,eAAe,CAACrD;IAAW,GACxCqD,eAAe,CAACJ,YAAY,CAChC;IACArG,SAAS,CAASmB,cAAc,CAAC,GAAG,IAAI;EAC3C,CAAC,MAAM;IACL,MAAM,IAAIiG,KAAK,CAAC,uDAAuD,CAAC;EAC1E;EACA,OAAOpH,SAAS;AAClB;AAMA,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,SACE+J,mBAAmB,EACnB9J,QAAQ,EACRwB,gBAAgB,EAChBJ,aAAa,EACbG,iBAAiB,EACjBrB,kBAAkB,EAClBS,cAAc,EACdO,cAAc,EACdX,gBAAgB,EAChBC,cAAc,EACdkI,WAAW;AAEb,eAAeG,eAAe"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","hoistNonReactStatics","useForkRef","useEnhancedEffect","_assignProps","Component","register","childrenEnhancement","CHILDREN_COMPONENT","rootEnhancement","uncontrolledPropsEnhancement","functionDefaultPropsEnhancement","staticChildrenEnhancement","STATIC_COMPONENT","ROOT_COMPONENT","getterMethodNameByDisplayName","inheritedNameEnhancement","INHERITED_NAME","hoistPropsEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","bindHandlerEnhancement","i18nAppLocaleEnhance","CORE_COMPONENT","Symbol","CORE_INSTANCE","CORE_AS_PROPS","CORE_INIT","CONTEXT_COMPONENT","CREATE_COMPONENT","PARENT_COMPONENTS","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","getterMethodName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","_ref","ref","_ref$forwardRef","forwardRef","other","_objectWithoutProperties","_excluded","createElement","BindingWrapper","_extends","WrapperForwardRef","_ref2","_ref2$forwardRef","__WRAPPER_PROPS_BIND__","_excluded2","_reduce","WrapperComponent","_reduce$ref","enhancementRef","props","_excluded3","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","_createClass","value","render","_this2","map","fn","bind","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","_OriginComponent2","_super2","context","_this3","get","_this4","Error","setContext","_this5","contextProps","_get","_getPrototypeOf","_this6","asProps","ctx","Provider","_objectSpread","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","current","wrapCore","_ref3","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","_options$context","createContext","_options$parent","parent","_options$enhancements","parents","isArray","wholeFamily","_toConsumableArray","f","_______childrenComponents","_OriginComponent","_childComponents","_options","createBaseComponent"],"sources":["../../src/index.tsx"],"sourcesContent":["import React, { ForwardRefExoticComponent, RefAttributes, useRef } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n// @ts-ignore\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n// @ts-ignore\nimport _assignProps from '@semcore/utils/lib/assignProps';\n\nimport { Component, PropsWithRenderFnChildren } from './Component';\nimport register from './register';\n\nimport childrenEnhancement, { CHILDREN_COMPONENT } from './enhancement/Children';\nimport rootEnhancement from './enhancement/Root';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport staticChildrenEnhancement, {\n STATIC_COMPONENT,\n ROOT_COMPONENT,\n getterMethodNameByDisplayName,\n} from './enhancement/staticChildren';\nimport inheritedNameEnhancement, { INHERITED_NAME } from './enhancement/inheritedName';\nimport hoistPropsEnhancement from './enhancement/hoistProps';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport styleEnhancement from './enhancement/style';\nimport bindHandlerEnhancement from './enhancement/bindHandler';\nimport i18nAppLocaleEnhance from './enhancement/i18n';\n\nconst CORE_COMPONENT = Symbol('CORE_COMPONENT');\nconst CORE_INSTANCE = Symbol('CORE_INSTANCE');\nconst CORE_AS_PROPS = Symbol('CORE_AS_PROPS');\nconst CORE_INIT = Symbol('CORE_INIT');\nconst CONTEXT_COMPONENT = Symbol('CONTEXT_COMPONENT');\nconst CREATE_COMPONENT = Symbol('CREATE_COMPONENT');\nconst PARENT_COMPONENTS = Symbol('PARENT_COMPONENTS');\n\nfunction isEmptyObject(obj: any) {\n return (\n Object.getOwnPropertyNames(obj).length === 0 &&\n Object.getOwnPropertySymbols && // For IE 11\n Object.getOwnPropertySymbols(obj).length === 0 &&\n Object.getPrototypeOf(obj) === Object.prototype\n );\n}\n\nfunction createGetField(enhancements: any, Component: any, isFunction: boolean) {\n return function getField(key: string) {\n return enhancements\n .filter((enhancement: any) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc: any, item: any) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component: any, wrapperProps: any, statics: any, isFunction: any) {\n const RootComponent = Component[ROOT_COMPONENT];\n const getterMethodName = getterMethodNameByDisplayName(Component?.displayName);\n const getterMethod = RootComponent?.prototype\n ? RootComponent.prototype[getterMethodName]\n : undefined;\n const useGetterIndex = getterMethod?.length >= 2;\n\n function WrapperForwardRefWithBind({ forwardRef = null, ...other }, ref: any) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef(\n { forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }: any,\n ref: any,\n ) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc: any, enhancement: any) => enhancement(acc, WrapperComponent, isFunction), other);\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n }\n\n class BindingWrapper extends React.Component<any> {\n index = -1;\n render() {\n return (\n <WrapperForwardRef\n {...this.props}\n __WRAPPER_PROPS_BIND__={wrapperProps.map((fn: any) => fn.bind(this))}\n />\n );\n }\n }\n\n const WrapperComponent = React.forwardRef(\n useGetterIndex ? WrapperForwardRefWithBind : WrapperForwardRef,\n );\n\n hoistNonReactStatics(WrapperComponent, Component);\n\n WrapperComponent.displayName = Component.displayName;\n // TODO: defaultProps is only empty\n WrapperComponent.defaultProps = Component.defaultProps;\n // STATIC\n statics.forEach((enhancement: any) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, false);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n class Component extends OriginComponent {\n [CORE_AS_PROPS] = null;\n [CORE_INSTANCE] = WrapperComponent;\n [CORE_INIT] = false;\n\n constructor(props: any, context: any) {\n super(props, context);\n // INITS\n inits.forEach((enhancement: any) => enhancement.call(this, props, WrapperComponent, false));\n this[CORE_INIT] = true;\n }\n\n get asProps() {\n // TODO if not production\n if (!this[CORE_INIT]) {\n throw new Error('Can not call asProps in constructor');\n }\n if (!this[CORE_AS_PROPS]) {\n // PROPS\n this[CORE_AS_PROPS] = props.reduce(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n this.props,\n );\n }\n return this[CORE_AS_PROPS];\n }\n\n setContext() {\n const contextProps = super.setContext ? super.setContext() : {};\n // CONTEXT\n return contexts.reduce(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n contextProps,\n );\n }\n\n render() {\n this[CORE_AS_PROPS] = null;\n // TODO if not production\n if (!super.render) {\n throw new Error('Component `render` method is not defined');\n }\n const asProps: any = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(this, acc, asProps, WrapperComponent, false),\n super.render(),\n );\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n }\n }\n\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, true);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n const Component = React.memo(function FunctionMemoComponent(other) {\n const selfRef = React.useRef({});\n const firstRender = React.useRef(true);\n useEnhancedEffect(() => {\n firstRender.current = false;\n }, []);\n if (firstRender.current) {\n // INITS\n inits.forEach((enhancement: any) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, asProps, WrapperComponent, true),\n <OriginComponent {...asProps} />,\n );\n\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n });\n Object.assign(Component, OriginComponent);\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent: any, enhancements: any, Context: any) {\n const Component = function ({ Root }: any) {\n const defaultProps = OriginComponent.defaultProps || {};\n return <Root {...defaultProps} render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent: any, Context: any, enhancements: any): any {\n if (\n React.PureComponent.isPrototypeOf(OriginComponent) ||\n React.Component.isPrototypeOf(OriginComponent)\n ) {\n if (OriginComponent.prototype instanceof Component) {\n return wrapClass(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must inherit from our component');\n }\n } else if (typeof OriginComponent === 'function') {\n return wrapFunction(OriginComponent, enhancements, Context);\n } else if (OriginComponent[CORE_COMPONENT]) {\n return wrapCore(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must be a React component');\n }\n}\n\nexport type PropsAndRef<T, Ctx, UCProps> = PropsWithRenderFnChildren<T, Ctx, UCProps> &\n RefAttributes<unknown>;\nexport type ForwardRefComponent<T, Ctx, UCProps> = ForwardRefExoticComponent<\n PropsAndRef<T, Ctx, UCProps>\n>;\ntype ComponentOrProps<T, Context, UCProps> = T extends [infer ParentProps, infer ChildProps]\n ? ComponentType<ParentProps, ChildProps, Context, UCProps>\n : ForwardRefComponent<T, Context, UCProps>;\n\nexport type ComponentType<\n ComponentProps,\n ChildComponentProps = {},\n ContextType = {},\n UCProps = {},\n FNType = null,\n> = (FNType extends null\n ? ForwardRefComponent<ComponentProps, ContextType, UCProps>\n : FNType & { displayName: string }) & {\n [K in keyof ChildComponentProps]: ComponentOrProps<ChildComponentProps[K], ContextType, UCProps>;\n} & {\n [CORE_COMPONENT]: boolean;\n [CREATE_COMPONENT]: () => ComponentType<\n ComponentProps,\n ChildComponentProps,\n ContextType,\n UCProps\n >;\n};\n\ninterface ClassWithUncontrolledProps<Props> {\n uncontrolledProps(): unknown;\n}\n\nfunction assignProps(p1: any, p2: any) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<ComponentProps, ChildComponentProps = {}, ContextType = {}, FNType = null>(\n OriginComponent: any,\n childComponents: any = {},\n options: {\n context?: React.Context<ContextType>;\n parent?: ComponentType<unknown> | ComponentType<unknown>[];\n enhancements?: [any];\n } = {},\n): ComponentType<\n ComponentProps extends Component<infer Props> ? Props : ComponentProps,\n ChildComponentProps,\n ContextType,\n ComponentProps extends ClassWithUncontrolledProps<any>\n ? ReturnType<ComponentProps['uncontrolledProps']>\n : { [key: string]: (arg: unknown) => void },\n FNType\n> {\n const {\n context = React.createContext<ContextType>({} as ContextType),\n parent = [],\n enhancements = [],\n } = options;\n let parents = Array.isArray(parent) ? parent : [parent];\n if (parents.length) {\n const wholeFamily = parents.reduce((acc: any, parent: any) => {\n if (parent[PARENT_COMPONENTS]) {\n acc = [...parent[PARENT_COMPONENTS], ...acc];\n }\n return acc;\n }, parents);\n OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\n if (OriginComponent[CORE_COMPONENT]) {\n parents.push(OriginComponent);\n }\n const Component = createComposeComponent(OriginComponent, context, [\n // @ts-ignore\n ...enhancements.map((f) => f(context, parents, createComponent, childComponents)),\n i18nAppLocaleEnhance(),\n bindHandlerEnhancement(),\n childrenEnhancement(context, parents),\n // root must be under the children\n rootEnhancement(),\n uncontrolledPropsEnhancement(),\n staticChildrenEnhancement(childComponents, createComponent, {\n context,\n parent,\n enhancements,\n }),\n // functionDefaultProps must be under the staticChild\n functionDefaultPropsEnhancement(),\n // inheritedName must be under the staticChild\n inheritedNameEnhancement(),\n // dataName must be under the staticChild\n dataNameEnhancement(),\n // enhanceEnhancement must be under the functionDefaultPropsEnhancement\n enhanceEnhancement(),\n styleEnhancement(childComponents, context),\n // must be the last one so any properties can be raised\n hoistPropsEnhancement(childComponents, context),\n ]);\n Component[CONTEXT_COMPONENT] = context;\n Component._______childrenComponents = childComponents;\n Component[CREATE_COMPONENT] = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component[CORE_COMPONENT] = true;\n return Component;\n}\n\nfunction createBaseComponent<ComponentProps>(OriginComponent: any): ComponentType<ComponentProps> {\n let Component = null;\n if (\n !React.PureComponent.isPrototypeOf(OriginComponent) &&\n !React.Component.isPrototypeOf(OriginComponent) &&\n typeof OriginComponent === 'function'\n ) {\n Component = React.forwardRef(OriginComponent);\n Component.displayName = OriginComponent.displayName;\n Component.defaultProps = {\n 'data-ui-name': OriginComponent.displayName,\n ...OriginComponent.defaultProps,\n };\n (Component as any)[CORE_COMPONENT] = true;\n } else {\n throw new Error('createBaseComponent accepts only functional component');\n }\n return Component as any;\n}\n\nexport type UnknownProperties = {\n [key: string]: unknown;\n};\n\nexport * from './Component';\nexport * from './styled';\nexport * from './register';\nexport {\n createBaseComponent,\n register,\n CREATE_COMPONENT,\n CORE_INSTANCE,\n CONTEXT_COMPONENT,\n CHILDREN_COMPONENT,\n INHERITED_NAME,\n CORE_COMPONENT,\n STATIC_COMPONENT,\n ROOT_COMPONENT,\n assignProps,\n};\nexport default createComponent;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/core",
|
|
3
3
|
"description": "Semrush Core Component",
|
|
4
|
-
"version": "2.6.
|
|
4
|
+
"version": "2.6.2",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@reshadow/core": "0.0.1",
|
|
13
|
-
"@semcore/utils": "4.6.
|
|
13
|
+
"@semcore/utils": "4.6.2",
|
|
14
14
|
"classnames": "2.2.6",
|
|
15
15
|
"hoist-non-react-statics": "3.3.2"
|
|
16
16
|
},
|