@semcore/core 1.13.1 → 1.13.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/staticChildren.js +2 -0
- package/lib/cjs/enhancement/staticChildren.js.map +1 -1
- package/lib/cjs/index.js +30 -21
- package/lib/cjs/index.js.map +1 -1
- package/lib/es6/enhancement/staticChildren.js +2 -0
- package/lib/es6/enhancement/staticChildren.js.map +1 -1
- package/lib/es6/index.js +29 -19
- package/lib/es6/index.js.map +1 -1
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,11 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [1.13.2] - 2022-10-18
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Fixed calculation children index.
|
|
10
|
+
|
|
5
11
|
## [1.13.1] - 2022-10-17
|
|
6
12
|
|
|
7
13
|
### Changed
|
|
8
14
|
|
|
9
|
-
- Version patch update due to children dependencies update
|
|
15
|
+
- Version patch update due to children dependencies update.
|
|
10
16
|
|
|
11
17
|
## [1.13.0] - 2022-10-10
|
|
12
18
|
|
|
@@ -145,8 +145,10 @@ function Enhancement(childComponents, createComponent, options) {
|
|
|
145
145
|
if (!getterMethod.cache.has(this)) {
|
|
146
146
|
getterMethod.cache.add(this);
|
|
147
147
|
getterMethod.index++;
|
|
148
|
+
if (this) this.index = getterMethod.index;
|
|
148
149
|
}
|
|
149
150
|
|
|
151
|
+
if (this) getterMethod.index = this.index;
|
|
150
152
|
return getterMethod(props);
|
|
151
153
|
}
|
|
152
154
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staticChildren.js","names":["assign","target","source","Object","defineProperties","keys","reduce","descriptors","key","getOwnPropertyDescriptor","getterMethodName","name","getterMethodNameByDisplayName","displayName","displayNames","split","slice","length","join","flatGetterMethodNames","childComponents","parentName","entries","acc","value","Array","isArray","push","STATIC_COMPONENT","Symbol","ROOT_COMPONENT","SELF_GETTER_METHOD","Enhancement","createComponent","options","getterMethodNames","condition","Component","Boolean","init","props","WrapperComponent","getterMethods","pick","selfGetterMethod","logger","warn","getterMethod","childrenProps","getterProps","call","index","assignProps","cache","Set","Error","prevStaticComponent","prevDisplayName","context","wrapperProps","useContext","has","add","render","forEach","undefined","clear"],"sources":["../../../src/enhancement/staticChildren.tsx"],"sourcesContent":["import { useContext } from 'react';\n// @ts-ignore\nimport assignProps from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport pick from '@semcore/utils/lib/pick';\n// @ts-ignore\nimport logger from '@semcore/utils/lib/logger';\n\nfunction assign(target, source) {\n return Object.defineProperties(\n target,\n Object.keys(source).reduce((descriptors, key) => {\n descriptors[key] = Object.getOwnPropertyDescriptor(source, key);\n return descriptors;\n }, {}),\n );\n}\n\nexport function getterMethodName(name) {\n return `get${name}Props`;\n}\n\nexport function getterMethodNameByDisplayName(displayName = '') {\n const displayNames = displayName.split('.');\n const name = displayNames.slice(-(displayNames.length - 1)).join('');\n return getterMethodName(name);\n}\n\nfunction flatGetterMethodNames(childComponents, parentName?: string) {\n return Object.entries(childComponents).reduce<string[]>((acc, [name, value]) => {\n if (Array.isArray(value)) {\n acc = [...acc, ...flatGetterMethodNames(value[1], name)];\n }\n name = parentName ? `${parentName}${name}` : name;\n acc.push(getterMethodName(name));\n return acc;\n }, []);\n}\n\nexport const STATIC_COMPONENT = Symbol('STATIC_COMPONENT');\nexport const ROOT_COMPONENT = Symbol('ROOT_COMPONENT');\nconst SELF_GETTER_METHOD = Symbol('SELF_GETTER_METHOD');\n\nfunction Enhancement(childComponents, createComponent, options) {\n const getterMethodNames = flatGetterMethodNames(childComponents);\n return {\n condition: function (Component) {\n return Boolean(Component[STATIC_COMPONENT] || Object.keys(childComponents).length);\n },\n init: function (props, WrapperComponent) {\n const getterMethods = pick(this, getterMethodNames);\n this[SELF_GETTER_METHOD] = () => {\n const selfGetterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n logger.warn(\n true,\n `Getter \\`${selfGetterMethod}\\` can't be fired as it is a getter of static component`,\n props['data-ui-name'] || WrapperComponent.displayName,\n );\n };\n assign(\n this,\n getterMethodNames.reduce((acc, name) => {\n const getterMethod = getterMethods[name];\n if (!getterMethod) return acc;\n acc[name] = (childrenProps = {}) => {\n const getterProps = getterMethod.call(this, childrenProps, acc[name].index);\n return assignProps(childrenProps, getterProps);\n };\n acc[name].index = -1;\n acc[name].cache = new Set();\n return acc;\n }, {}),\n );\n },\n static: function (WrapperComponent, Component) {\n if (Object.keys(childComponents).length && !WrapperComponent.displayName) {\n throw new Error('\"displayName\" is not defined');\n }\n return Object.entries(childComponents).reduce((acc, [name, value]) => {\n let childComponents = {};\n\n if (Array.isArray(value)) {\n childComponents = value[1];\n value = value[0];\n }\n\n const prevStaticComponent = value[STATIC_COMPONENT];\n // @ts-ignore\n const prevDisplayName = value.displayName;\n // @ts-ignore\n value.displayName = WrapperComponent.displayName + '.' + name;\n value[STATIC_COMPONENT] = true;\n value[ROOT_COMPONENT] = Component[ROOT_COMPONENT] || Component;\n acc[name] = createComponent(value, childComponents, options);\n // @ts-ignore\n value.displayName = prevDisplayName;\n value[STATIC_COMPONENT] = prevStaticComponent;\n return acc;\n }, {});\n },\n context: function (context /*, WrapperComponent*/) {\n // const getterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n return {\n ...context,\n // [getterMethod]: this[SELF_GETTER_METHOD],\n ...pick(this, getterMethodNames),\n };\n },\n wrapperProps: function (props, WrapperComponent) {\n if (!WrapperComponent[STATIC_COMPONENT]) return props;\n const context = useContext(options.context);\n const getterMethod = context[getterMethodNameByDisplayName(WrapperComponent.displayName)];\n if (getterMethod) {\n if (!getterMethod.cache.has(this)) {\n getterMethod.cache.add(this);\n getterMethod.index++;\n }\n return getterMethod(props);\n }\n return props;\n },\n render: function (render) {\n getterMethodNames.forEach((name) => {\n if (this[name] === undefined) return;\n this[name].index = -1;\n this[name].cache.clear();\n });\n return render;\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"staticChildren.js","names":["assign","target","source","Object","defineProperties","keys","reduce","descriptors","key","getOwnPropertyDescriptor","getterMethodName","name","getterMethodNameByDisplayName","displayName","displayNames","split","slice","length","join","flatGetterMethodNames","childComponents","parentName","entries","acc","value","Array","isArray","push","STATIC_COMPONENT","Symbol","ROOT_COMPONENT","SELF_GETTER_METHOD","Enhancement","createComponent","options","getterMethodNames","condition","Component","Boolean","init","props","WrapperComponent","getterMethods","pick","selfGetterMethod","logger","warn","getterMethod","childrenProps","getterProps","call","index","assignProps","cache","Set","Error","prevStaticComponent","prevDisplayName","context","wrapperProps","useContext","has","add","render","forEach","undefined","clear"],"sources":["../../../src/enhancement/staticChildren.tsx"],"sourcesContent":["import { useContext } from 'react';\n// @ts-ignore\nimport assignProps from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport pick from '@semcore/utils/lib/pick';\n// @ts-ignore\nimport logger from '@semcore/utils/lib/logger';\n\nfunction assign(target, source) {\n return Object.defineProperties(\n target,\n Object.keys(source).reduce((descriptors, key) => {\n descriptors[key] = Object.getOwnPropertyDescriptor(source, key);\n return descriptors;\n }, {}),\n );\n}\n\nexport function getterMethodName(name) {\n return `get${name}Props`;\n}\n\nexport function getterMethodNameByDisplayName(displayName = '') {\n const displayNames = displayName.split('.');\n const name = displayNames.slice(-(displayNames.length - 1)).join('');\n return getterMethodName(name);\n}\n\nfunction flatGetterMethodNames(childComponents, parentName?: string) {\n return Object.entries(childComponents).reduce<string[]>((acc, [name, value]) => {\n if (Array.isArray(value)) {\n acc = [...acc, ...flatGetterMethodNames(value[1], name)];\n }\n name = parentName ? `${parentName}${name}` : name;\n acc.push(getterMethodName(name));\n return acc;\n }, []);\n}\n\nexport const STATIC_COMPONENT = Symbol('STATIC_COMPONENT');\nexport const ROOT_COMPONENT = Symbol('ROOT_COMPONENT');\nconst SELF_GETTER_METHOD = Symbol('SELF_GETTER_METHOD');\n\nfunction Enhancement(childComponents, createComponent, options) {\n const getterMethodNames = flatGetterMethodNames(childComponents);\n return {\n condition: function (Component) {\n return Boolean(Component[STATIC_COMPONENT] || Object.keys(childComponents).length);\n },\n init: function (props, WrapperComponent) {\n const getterMethods = pick(this, getterMethodNames);\n this[SELF_GETTER_METHOD] = () => {\n const selfGetterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n logger.warn(\n true,\n `Getter \\`${selfGetterMethod}\\` can't be fired as it is a getter of static component`,\n props['data-ui-name'] || WrapperComponent.displayName,\n );\n };\n assign(\n this,\n getterMethodNames.reduce((acc, name) => {\n const getterMethod = getterMethods[name];\n if (!getterMethod) return acc;\n acc[name] = (childrenProps = {}) => {\n const getterProps = getterMethod.call(this, childrenProps, acc[name].index);\n return assignProps(childrenProps, getterProps);\n };\n acc[name].index = -1;\n acc[name].cache = new Set();\n return acc;\n }, {}),\n );\n },\n static: function (WrapperComponent, Component) {\n if (Object.keys(childComponents).length && !WrapperComponent.displayName) {\n throw new Error('\"displayName\" is not defined');\n }\n return Object.entries(childComponents).reduce((acc, [name, value]) => {\n let childComponents = {};\n\n if (Array.isArray(value)) {\n childComponents = value[1];\n value = value[0];\n }\n\n const prevStaticComponent = value[STATIC_COMPONENT];\n // @ts-ignore\n const prevDisplayName = value.displayName;\n // @ts-ignore\n value.displayName = WrapperComponent.displayName + '.' + name;\n value[STATIC_COMPONENT] = true;\n value[ROOT_COMPONENT] = Component[ROOT_COMPONENT] || Component;\n acc[name] = createComponent(value, childComponents, options);\n // @ts-ignore\n value.displayName = prevDisplayName;\n value[STATIC_COMPONENT] = prevStaticComponent;\n return acc;\n }, {});\n },\n context: function (context /*, WrapperComponent*/) {\n // const getterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n return {\n ...context,\n // [getterMethod]: this[SELF_GETTER_METHOD],\n ...pick(this, getterMethodNames),\n };\n },\n wrapperProps: function (props, WrapperComponent) {\n if (!WrapperComponent[STATIC_COMPONENT]) return props;\n const context = useContext(options.context);\n const getterMethod = context[getterMethodNameByDisplayName(WrapperComponent.displayName)];\n if (getterMethod) {\n if (!getterMethod.cache.has(this)) {\n getterMethod.cache.add(this);\n getterMethod.index++;\n if (this) this.index = getterMethod.index;\n }\n if (this) getterMethod.index = this.index;\n return getterMethod(props);\n }\n return props;\n },\n render: function (render) {\n getterMethodNames.forEach((name) => {\n if (this[name] === undefined) return;\n this[name].index = -1;\n this[name].cache.clear();\n });\n return render;\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -57,22 +57,22 @@ Object.defineProperty(exports, "register", {
|
|
|
57
57
|
|
|
58
58
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
59
59
|
|
|
60
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
61
|
-
|
|
62
60
|
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
63
61
|
|
|
64
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
65
|
-
|
|
66
62
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
67
63
|
|
|
68
64
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
69
65
|
|
|
66
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
67
|
+
|
|
70
68
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
71
69
|
|
|
72
70
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
73
71
|
|
|
74
72
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
75
73
|
|
|
74
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
75
|
+
|
|
76
76
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
77
77
|
|
|
78
78
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
@@ -240,18 +240,27 @@ function createForwardWrapper(Component, wrapperProps, statics, isFunction) {
|
|
|
240
240
|
var _super = _createSuper(BindingWrapper);
|
|
241
241
|
|
|
242
242
|
function BindingWrapper() {
|
|
243
|
+
var _this;
|
|
244
|
+
|
|
243
245
|
(0, _classCallCheck2["default"])(this, BindingWrapper);
|
|
244
|
-
|
|
246
|
+
|
|
247
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
248
|
+
args[_key] = arguments[_key];
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
252
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "index", -1);
|
|
253
|
+
return _this;
|
|
245
254
|
}
|
|
246
255
|
|
|
247
256
|
(0, _createClass2["default"])(BindingWrapper, [{
|
|
248
257
|
key: "render",
|
|
249
258
|
value: function render() {
|
|
250
|
-
var
|
|
259
|
+
var _this2 = this;
|
|
251
260
|
|
|
252
261
|
return /*#__PURE__*/_react["default"].createElement(WrapperForwardRef, (0, _extends2["default"])({}, this.props, {
|
|
253
262
|
__WRAPPER_PROPS_BIND__: wrapperProps.map(function (fn) {
|
|
254
|
-
return fn.bind(
|
|
263
|
+
return fn.bind(_this2);
|
|
255
264
|
})
|
|
256
265
|
}));
|
|
257
266
|
}
|
|
@@ -287,25 +296,25 @@ function wrapClass(OriginComponent, enhancements, Context) {
|
|
|
287
296
|
var _super2 = _createSuper(Component);
|
|
288
297
|
|
|
289
298
|
function Component(props, context) {
|
|
290
|
-
var
|
|
299
|
+
var _this3;
|
|
291
300
|
|
|
292
301
|
(0, _classCallCheck2["default"])(this, Component);
|
|
293
|
-
|
|
302
|
+
_this3 = _super2.call(this, props, context); // INITS
|
|
294
303
|
|
|
295
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(
|
|
296
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(
|
|
297
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(
|
|
304
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), CORE_AS_PROPS, null);
|
|
305
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), CORE_INSTANCE, WrapperComponent);
|
|
306
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), CORE_INIT, false);
|
|
298
307
|
inits.forEach(function (enhancement) {
|
|
299
|
-
return enhancement.call((0, _assertThisInitialized2["default"])(
|
|
308
|
+
return enhancement.call((0, _assertThisInitialized2["default"])(_this3), props, WrapperComponent, false);
|
|
300
309
|
});
|
|
301
|
-
|
|
302
|
-
return
|
|
310
|
+
_this3[CORE_INIT] = true;
|
|
311
|
+
return _this3;
|
|
303
312
|
}
|
|
304
313
|
|
|
305
314
|
(0, _createClass2["default"])(Component, [{
|
|
306
315
|
key: "asProps",
|
|
307
316
|
get: function get() {
|
|
308
|
-
var
|
|
317
|
+
var _this4 = this;
|
|
309
318
|
|
|
310
319
|
// TODO if not production
|
|
311
320
|
if (!this[CORE_INIT]) {
|
|
@@ -315,7 +324,7 @@ function wrapClass(OriginComponent, enhancements, Context) {
|
|
|
315
324
|
if (!this[CORE_AS_PROPS]) {
|
|
316
325
|
// PROPS
|
|
317
326
|
this[CORE_AS_PROPS] = props.reduce(function (acc, enhancement) {
|
|
318
|
-
return enhancement.call(
|
|
327
|
+
return enhancement.call(_this4, acc, WrapperComponent, false);
|
|
319
328
|
}, this.props);
|
|
320
329
|
}
|
|
321
330
|
|
|
@@ -324,18 +333,18 @@ function wrapClass(OriginComponent, enhancements, Context) {
|
|
|
324
333
|
}, {
|
|
325
334
|
key: "setContext",
|
|
326
335
|
value: function setContext() {
|
|
327
|
-
var
|
|
336
|
+
var _this5 = this;
|
|
328
337
|
|
|
329
338
|
var contextProps = (0, _get2["default"])((0, _getPrototypeOf2["default"])(Component.prototype), "setContext", this) ? (0, _get2["default"])((0, _getPrototypeOf2["default"])(Component.prototype), "setContext", this).call(this) : {}; // CONTEXT
|
|
330
339
|
|
|
331
340
|
return contexts.reduce(function (acc, enhancement) {
|
|
332
|
-
return enhancement.call(
|
|
341
|
+
return enhancement.call(_this5, acc, WrapperComponent, false);
|
|
333
342
|
}, contextProps);
|
|
334
343
|
}
|
|
335
344
|
}, {
|
|
336
345
|
key: "render",
|
|
337
346
|
value: function render() {
|
|
338
|
-
var
|
|
347
|
+
var _this6 = this;
|
|
339
348
|
|
|
340
349
|
this[CORE_AS_PROPS] = null; // TODO if not production
|
|
341
350
|
|
|
@@ -347,7 +356,7 @@ function wrapClass(OriginComponent, enhancements, Context) {
|
|
|
347
356
|
var ctx = this.setContext(); // RENDER
|
|
348
357
|
|
|
349
358
|
var render = renders.reduce(function (acc, enhancement) {
|
|
350
|
-
return enhancement.call(
|
|
359
|
+
return enhancement.call(_this6, acc, asProps, WrapperComponent, false);
|
|
351
360
|
}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(Component.prototype), "render", this).call(this));
|
|
352
361
|
|
|
353
362
|
if (!WrapperComponent[_staticChildren.STATIC_COMPONENT] && !isEmptyObject(ctx)) {
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["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","Component","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","ROOT_COMPONENT","getterMethodName","getterMethodNameByDisplayName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","ref","forwardRef","other","useForkRef","WrapperForwardRef","__WRAPPER_PROPS_BIND__","WrapperComponent","enhancementRef","props","BindingWrapper","map","fn","bind","React","hoistNonReactStatics","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","Error","contextProps","asProps","ctx","setContext","render","STATIC_COMPONENT","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","useEnhancedEffect","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","_assignProps","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","f","bindHandlerEnhancement","childrenEnhancement","rootEnhancement","uncontrolledPropsEnhancement","staticChildrenEnhancement","functionDefaultPropsEnhancement","inheritedNameEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","hoistPropsEnhancement","_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';\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) {\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, Component, isFunction) {\n return function getField(key) {\n return enhancements\n .filter((enhancement) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc, item) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component, wrapperProps, statics, isFunction) {\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) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef({ forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }, ref) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc, enhancement) => enhancement(acc, WrapperComponent, isFunction), other);\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n }\n\n class BindingWrapper extends React.Component<any> {\n render() {\n return (\n <WrapperForwardRef\n {...this.props}\n __WRAPPER_PROPS_BIND__={wrapperProps.map((fn) => 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) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent, enhancements, Context) {\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, context) {\n super(props, context);\n // INITS\n inits.forEach((enhancement) => 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, enhancement) => 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, enhancement) => 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 = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc, enhancement) => 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 = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent, enhancements, Context) {\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) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc, enhancement) => enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc, enhancement) => enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc, enhancement) => 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 = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent, enhancements, Context) {\n const Component = function ({ Root }) {\n return <Root render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n Component.defaultProps = OriginComponent.defaultProps;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent, Context, enhancements): 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\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ninterface ClassWithUncontrolledProps<Props> {\n uncontrolledProps(): unknown;\n}\n\nfunction assignProps(p1, p2) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<ComponentProps, ChildComponentProps = {}, ContextType = {}, FNType = null>(\n OriginComponent,\n childComponents = {},\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, parent) => {\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 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[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): 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[CORE_COMPONENT] = true;\n } else {\n throw new Error('createBaseComponent accepts only functional component');\n }\n return Component;\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":["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","Component","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","ROOT_COMPONENT","getterMethodName","getterMethodNameByDisplayName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","ref","forwardRef","other","useForkRef","WrapperForwardRef","__WRAPPER_PROPS_BIND__","WrapperComponent","enhancementRef","props","BindingWrapper","map","fn","bind","React","hoistNonReactStatics","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","Error","contextProps","asProps","ctx","setContext","render","STATIC_COMPONENT","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","useEnhancedEffect","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","_assignProps","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","f","bindHandlerEnhancement","childrenEnhancement","rootEnhancement","uncontrolledPropsEnhancement","staticChildrenEnhancement","functionDefaultPropsEnhancement","inheritedNameEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","hoistPropsEnhancement","_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';\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) {\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, Component, isFunction) {\n return function getField(key) {\n return enhancements\n .filter((enhancement) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc, item) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component, wrapperProps, statics, isFunction) {\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) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef({ forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }, ref) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc, enhancement) => 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) => 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) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent, enhancements, Context) {\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, context) {\n super(props, context);\n // INITS\n inits.forEach((enhancement) => 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, enhancement) => 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, enhancement) => 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 = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc, enhancement) => 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 = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent, enhancements, Context) {\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) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc, enhancement) => enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc, enhancement) => enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc, enhancement) => 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 = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent, enhancements, Context) {\n const Component = function ({ Root }) {\n return <Root render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n Component.defaultProps = OriginComponent.defaultProps;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent, Context, enhancements): 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\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ninterface ClassWithUncontrolledProps<Props> {\n uncontrolledProps(): unknown;\n}\n\nfunction assignProps(p1, p2) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<ComponentProps, ChildComponentProps = {}, ContextType = {}, FNType = null>(\n OriginComponent,\n childComponents = {},\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, parent) => {\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 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[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): 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[CORE_COMPONENT] = true;\n } else {\n throw new Error('createBaseComponent accepts only functional component');\n }\n return Component;\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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"}
|
|
@@ -128,8 +128,10 @@ function Enhancement(childComponents, createComponent, options) {
|
|
|
128
128
|
if (!getterMethod.cache.has(this)) {
|
|
129
129
|
getterMethod.cache.add(this);
|
|
130
130
|
getterMethod.index++;
|
|
131
|
+
if (this) this.index = getterMethod.index;
|
|
131
132
|
}
|
|
132
133
|
|
|
134
|
+
if (this) getterMethod.index = this.index;
|
|
133
135
|
return getterMethod(props);
|
|
134
136
|
}
|
|
135
137
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staticChildren.js","names":["useContext","assignProps","pick","logger","assign","target","source","Object","defineProperties","keys","reduce","descriptors","key","getOwnPropertyDescriptor","getterMethodName","name","getterMethodNameByDisplayName","displayName","displayNames","split","slice","length","join","flatGetterMethodNames","childComponents","parentName","entries","acc","value","Array","isArray","push","STATIC_COMPONENT","Symbol","ROOT_COMPONENT","SELF_GETTER_METHOD","Enhancement","createComponent","options","getterMethodNames","condition","Component","Boolean","init","props","WrapperComponent","getterMethods","selfGetterMethod","warn","getterMethod","childrenProps","getterProps","call","index","cache","Set","Error","prevStaticComponent","prevDisplayName","context","wrapperProps","has","add","render","forEach","undefined","clear"],"sources":["../../../src/enhancement/staticChildren.tsx"],"sourcesContent":["import { useContext } from 'react';\n// @ts-ignore\nimport assignProps from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport pick from '@semcore/utils/lib/pick';\n// @ts-ignore\nimport logger from '@semcore/utils/lib/logger';\n\nfunction assign(target, source) {\n return Object.defineProperties(\n target,\n Object.keys(source).reduce((descriptors, key) => {\n descriptors[key] = Object.getOwnPropertyDescriptor(source, key);\n return descriptors;\n }, {}),\n );\n}\n\nexport function getterMethodName(name) {\n return `get${name}Props`;\n}\n\nexport function getterMethodNameByDisplayName(displayName = '') {\n const displayNames = displayName.split('.');\n const name = displayNames.slice(-(displayNames.length - 1)).join('');\n return getterMethodName(name);\n}\n\nfunction flatGetterMethodNames(childComponents, parentName?: string) {\n return Object.entries(childComponents).reduce<string[]>((acc, [name, value]) => {\n if (Array.isArray(value)) {\n acc = [...acc, ...flatGetterMethodNames(value[1], name)];\n }\n name = parentName ? `${parentName}${name}` : name;\n acc.push(getterMethodName(name));\n return acc;\n }, []);\n}\n\nexport const STATIC_COMPONENT = Symbol('STATIC_COMPONENT');\nexport const ROOT_COMPONENT = Symbol('ROOT_COMPONENT');\nconst SELF_GETTER_METHOD = Symbol('SELF_GETTER_METHOD');\n\nfunction Enhancement(childComponents, createComponent, options) {\n const getterMethodNames = flatGetterMethodNames(childComponents);\n return {\n condition: function (Component) {\n return Boolean(Component[STATIC_COMPONENT] || Object.keys(childComponents).length);\n },\n init: function (props, WrapperComponent) {\n const getterMethods = pick(this, getterMethodNames);\n this[SELF_GETTER_METHOD] = () => {\n const selfGetterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n logger.warn(\n true,\n `Getter \\`${selfGetterMethod}\\` can't be fired as it is a getter of static component`,\n props['data-ui-name'] || WrapperComponent.displayName,\n );\n };\n assign(\n this,\n getterMethodNames.reduce((acc, name) => {\n const getterMethod = getterMethods[name];\n if (!getterMethod) return acc;\n acc[name] = (childrenProps = {}) => {\n const getterProps = getterMethod.call(this, childrenProps, acc[name].index);\n return assignProps(childrenProps, getterProps);\n };\n acc[name].index = -1;\n acc[name].cache = new Set();\n return acc;\n }, {}),\n );\n },\n static: function (WrapperComponent, Component) {\n if (Object.keys(childComponents).length && !WrapperComponent.displayName) {\n throw new Error('\"displayName\" is not defined');\n }\n return Object.entries(childComponents).reduce((acc, [name, value]) => {\n let childComponents = {};\n\n if (Array.isArray(value)) {\n childComponents = value[1];\n value = value[0];\n }\n\n const prevStaticComponent = value[STATIC_COMPONENT];\n // @ts-ignore\n const prevDisplayName = value.displayName;\n // @ts-ignore\n value.displayName = WrapperComponent.displayName + '.' + name;\n value[STATIC_COMPONENT] = true;\n value[ROOT_COMPONENT] = Component[ROOT_COMPONENT] || Component;\n acc[name] = createComponent(value, childComponents, options);\n // @ts-ignore\n value.displayName = prevDisplayName;\n value[STATIC_COMPONENT] = prevStaticComponent;\n return acc;\n }, {});\n },\n context: function (context /*, WrapperComponent*/) {\n // const getterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n return {\n ...context,\n // [getterMethod]: this[SELF_GETTER_METHOD],\n ...pick(this, getterMethodNames),\n };\n },\n wrapperProps: function (props, WrapperComponent) {\n if (!WrapperComponent[STATIC_COMPONENT]) return props;\n const context = useContext(options.context);\n const getterMethod = context[getterMethodNameByDisplayName(WrapperComponent.displayName)];\n if (getterMethod) {\n if (!getterMethod.cache.has(this)) {\n getterMethod.cache.add(this);\n getterMethod.index++;\n }\n return getterMethod(props);\n }\n return props;\n },\n render: function (render) {\n getterMethodNames.forEach((name) => {\n if (this[name] === undefined) return;\n this[name].index = -1;\n this[name].cache.clear();\n });\n return render;\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"staticChildren.js","names":["useContext","assignProps","pick","logger","assign","target","source","Object","defineProperties","keys","reduce","descriptors","key","getOwnPropertyDescriptor","getterMethodName","name","getterMethodNameByDisplayName","displayName","displayNames","split","slice","length","join","flatGetterMethodNames","childComponents","parentName","entries","acc","value","Array","isArray","push","STATIC_COMPONENT","Symbol","ROOT_COMPONENT","SELF_GETTER_METHOD","Enhancement","createComponent","options","getterMethodNames","condition","Component","Boolean","init","props","WrapperComponent","getterMethods","selfGetterMethod","warn","getterMethod","childrenProps","getterProps","call","index","cache","Set","Error","prevStaticComponent","prevDisplayName","context","wrapperProps","has","add","render","forEach","undefined","clear"],"sources":["../../../src/enhancement/staticChildren.tsx"],"sourcesContent":["import { useContext } from 'react';\n// @ts-ignore\nimport assignProps from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport pick from '@semcore/utils/lib/pick';\n// @ts-ignore\nimport logger from '@semcore/utils/lib/logger';\n\nfunction assign(target, source) {\n return Object.defineProperties(\n target,\n Object.keys(source).reduce((descriptors, key) => {\n descriptors[key] = Object.getOwnPropertyDescriptor(source, key);\n return descriptors;\n }, {}),\n );\n}\n\nexport function getterMethodName(name) {\n return `get${name}Props`;\n}\n\nexport function getterMethodNameByDisplayName(displayName = '') {\n const displayNames = displayName.split('.');\n const name = displayNames.slice(-(displayNames.length - 1)).join('');\n return getterMethodName(name);\n}\n\nfunction flatGetterMethodNames(childComponents, parentName?: string) {\n return Object.entries(childComponents).reduce<string[]>((acc, [name, value]) => {\n if (Array.isArray(value)) {\n acc = [...acc, ...flatGetterMethodNames(value[1], name)];\n }\n name = parentName ? `${parentName}${name}` : name;\n acc.push(getterMethodName(name));\n return acc;\n }, []);\n}\n\nexport const STATIC_COMPONENT = Symbol('STATIC_COMPONENT');\nexport const ROOT_COMPONENT = Symbol('ROOT_COMPONENT');\nconst SELF_GETTER_METHOD = Symbol('SELF_GETTER_METHOD');\n\nfunction Enhancement(childComponents, createComponent, options) {\n const getterMethodNames = flatGetterMethodNames(childComponents);\n return {\n condition: function (Component) {\n return Boolean(Component[STATIC_COMPONENT] || Object.keys(childComponents).length);\n },\n init: function (props, WrapperComponent) {\n const getterMethods = pick(this, getterMethodNames);\n this[SELF_GETTER_METHOD] = () => {\n const selfGetterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n logger.warn(\n true,\n `Getter \\`${selfGetterMethod}\\` can't be fired as it is a getter of static component`,\n props['data-ui-name'] || WrapperComponent.displayName,\n );\n };\n assign(\n this,\n getterMethodNames.reduce((acc, name) => {\n const getterMethod = getterMethods[name];\n if (!getterMethod) return acc;\n acc[name] = (childrenProps = {}) => {\n const getterProps = getterMethod.call(this, childrenProps, acc[name].index);\n return assignProps(childrenProps, getterProps);\n };\n acc[name].index = -1;\n acc[name].cache = new Set();\n return acc;\n }, {}),\n );\n },\n static: function (WrapperComponent, Component) {\n if (Object.keys(childComponents).length && !WrapperComponent.displayName) {\n throw new Error('\"displayName\" is not defined');\n }\n return Object.entries(childComponents).reduce((acc, [name, value]) => {\n let childComponents = {};\n\n if (Array.isArray(value)) {\n childComponents = value[1];\n value = value[0];\n }\n\n const prevStaticComponent = value[STATIC_COMPONENT];\n // @ts-ignore\n const prevDisplayName = value.displayName;\n // @ts-ignore\n value.displayName = WrapperComponent.displayName + '.' + name;\n value[STATIC_COMPONENT] = true;\n value[ROOT_COMPONENT] = Component[ROOT_COMPONENT] || Component;\n acc[name] = createComponent(value, childComponents, options);\n // @ts-ignore\n value.displayName = prevDisplayName;\n value[STATIC_COMPONENT] = prevStaticComponent;\n return acc;\n }, {});\n },\n context: function (context /*, WrapperComponent*/) {\n // const getterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n return {\n ...context,\n // [getterMethod]: this[SELF_GETTER_METHOD],\n ...pick(this, getterMethodNames),\n };\n },\n wrapperProps: function (props, WrapperComponent) {\n if (!WrapperComponent[STATIC_COMPONENT]) return props;\n const context = useContext(options.context);\n const getterMethod = context[getterMethodNameByDisplayName(WrapperComponent.displayName)];\n if (getterMethod) {\n if (!getterMethod.cache.has(this)) {\n getterMethod.cache.add(this);\n getterMethod.index++;\n if (this) this.index = getterMethod.index;\n }\n if (this) getterMethod.index = this.index;\n return getterMethod(props);\n }\n return props;\n },\n render: function (render) {\n getterMethodNames.forEach((name) => {\n if (this[name] === undefined) return;\n this[name].index = -1;\n this[name].cache.clear();\n });\n return render;\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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"}
|
package/lib/es6/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
-
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
3
2
|
import _get from "@babel/runtime/helpers/get";
|
|
4
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
5
3
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
6
4
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
5
|
+
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
7
6
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
8
7
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
9
8
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
9
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
10
10
|
import _extends from "@babel/runtime/helpers/extends";
|
|
11
11
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
12
12
|
var _excluded = ["forwardRef"],
|
|
@@ -113,19 +113,29 @@ function createForwardWrapper(Component, wrapperProps, statics, isFunction) {
|
|
|
113
113
|
var _super = _createSuper(BindingWrapper);
|
|
114
114
|
|
|
115
115
|
function BindingWrapper() {
|
|
116
|
+
var _this;
|
|
117
|
+
|
|
116
118
|
_classCallCheck(this, BindingWrapper);
|
|
117
119
|
|
|
118
|
-
|
|
120
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
121
|
+
args[_key] = arguments[_key];
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
125
|
+
|
|
126
|
+
_defineProperty(_assertThisInitialized(_this), "index", -1);
|
|
127
|
+
|
|
128
|
+
return _this;
|
|
119
129
|
}
|
|
120
130
|
|
|
121
131
|
_createClass(BindingWrapper, [{
|
|
122
132
|
key: "render",
|
|
123
133
|
value: function render() {
|
|
124
|
-
var
|
|
134
|
+
var _this2 = this;
|
|
125
135
|
|
|
126
136
|
return /*#__PURE__*/React.createElement(WrapperForwardRef, _extends({}, this.props, {
|
|
127
137
|
__WRAPPER_PROPS_BIND__: wrapperProps.map(function (fn) {
|
|
128
|
-
return fn.bind(
|
|
138
|
+
return fn.bind(_this2);
|
|
129
139
|
})
|
|
130
140
|
}));
|
|
131
141
|
}
|
|
@@ -161,29 +171,29 @@ function wrapClass(OriginComponent, enhancements, Context) {
|
|
|
161
171
|
var _super2 = _createSuper(Component);
|
|
162
172
|
|
|
163
173
|
function Component(props, context) {
|
|
164
|
-
var
|
|
174
|
+
var _this3;
|
|
165
175
|
|
|
166
176
|
_classCallCheck(this, Component);
|
|
167
177
|
|
|
168
|
-
|
|
178
|
+
_this3 = _super2.call(this, props, context); // INITS
|
|
169
179
|
|
|
170
|
-
_defineProperty(_assertThisInitialized(
|
|
180
|
+
_defineProperty(_assertThisInitialized(_this3), CORE_AS_PROPS, null);
|
|
171
181
|
|
|
172
|
-
_defineProperty(_assertThisInitialized(
|
|
182
|
+
_defineProperty(_assertThisInitialized(_this3), CORE_INSTANCE, WrapperComponent);
|
|
173
183
|
|
|
174
|
-
_defineProperty(_assertThisInitialized(
|
|
184
|
+
_defineProperty(_assertThisInitialized(_this3), CORE_INIT, false);
|
|
175
185
|
|
|
176
186
|
inits.forEach(function (enhancement) {
|
|
177
|
-
return enhancement.call(_assertThisInitialized(
|
|
187
|
+
return enhancement.call(_assertThisInitialized(_this3), props, WrapperComponent, false);
|
|
178
188
|
});
|
|
179
|
-
|
|
180
|
-
return
|
|
189
|
+
_this3[CORE_INIT] = true;
|
|
190
|
+
return _this3;
|
|
181
191
|
}
|
|
182
192
|
|
|
183
193
|
_createClass(Component, [{
|
|
184
194
|
key: "asProps",
|
|
185
195
|
get: function get() {
|
|
186
|
-
var
|
|
196
|
+
var _this4 = this;
|
|
187
197
|
|
|
188
198
|
// TODO if not production
|
|
189
199
|
if (!this[CORE_INIT]) {
|
|
@@ -193,7 +203,7 @@ function wrapClass(OriginComponent, enhancements, Context) {
|
|
|
193
203
|
if (!this[CORE_AS_PROPS]) {
|
|
194
204
|
// PROPS
|
|
195
205
|
this[CORE_AS_PROPS] = props.reduce(function (acc, enhancement) {
|
|
196
|
-
return enhancement.call(
|
|
206
|
+
return enhancement.call(_this4, acc, WrapperComponent, false);
|
|
197
207
|
}, this.props);
|
|
198
208
|
}
|
|
199
209
|
|
|
@@ -202,18 +212,18 @@ function wrapClass(OriginComponent, enhancements, Context) {
|
|
|
202
212
|
}, {
|
|
203
213
|
key: "setContext",
|
|
204
214
|
value: function setContext() {
|
|
205
|
-
var
|
|
215
|
+
var _this5 = this;
|
|
206
216
|
|
|
207
217
|
var contextProps = _get(_getPrototypeOf(Component.prototype), "setContext", this) ? _get(_getPrototypeOf(Component.prototype), "setContext", this).call(this) : {}; // CONTEXT
|
|
208
218
|
|
|
209
219
|
return contexts.reduce(function (acc, enhancement) {
|
|
210
|
-
return enhancement.call(
|
|
220
|
+
return enhancement.call(_this5, acc, WrapperComponent, false);
|
|
211
221
|
}, contextProps);
|
|
212
222
|
}
|
|
213
223
|
}, {
|
|
214
224
|
key: "render",
|
|
215
225
|
value: function render() {
|
|
216
|
-
var
|
|
226
|
+
var _this6 = this;
|
|
217
227
|
|
|
218
228
|
this[CORE_AS_PROPS] = null; // TODO if not production
|
|
219
229
|
|
|
@@ -225,7 +235,7 @@ function wrapClass(OriginComponent, enhancements, Context) {
|
|
|
225
235
|
var ctx = this.setContext(); // RENDER
|
|
226
236
|
|
|
227
237
|
var render = renders.reduce(function (acc, enhancement) {
|
|
228
|
-
return enhancement.call(
|
|
238
|
+
return enhancement.call(_this6, acc, asProps, WrapperComponent, false);
|
|
229
239
|
}, _get(_getPrototypeOf(Component.prototype), "render", this).call(this));
|
|
230
240
|
|
|
231
241
|
if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {
|
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","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","forwardRef","other","WrapperForwardRef","__WRAPPER_PROPS_BIND__","WrapperComponent","enhancementRef","props","BindingWrapper","map","fn","bind","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","Error","contextProps","asProps","ctx","setContext","render","wrapFunction","memo","FunctionMemoComponent","selfRef","firstRender","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","f","_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';\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) {\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, Component, isFunction) {\n return function getField(key) {\n return enhancements\n .filter((enhancement) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc, item) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component, wrapperProps, statics, isFunction) {\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) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef({ forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }, ref) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc, enhancement) => enhancement(acc, WrapperComponent, isFunction), other);\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n }\n\n class BindingWrapper extends React.Component<any> {\n render() {\n return (\n <WrapperForwardRef\n {...this.props}\n __WRAPPER_PROPS_BIND__={wrapperProps.map((fn) => 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) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent, enhancements, Context) {\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, context) {\n super(props, context);\n // INITS\n inits.forEach((enhancement) => 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, enhancement) => 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, enhancement) => 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 = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc, enhancement) => 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 = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent, enhancements, Context) {\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) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc, enhancement) => enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc, enhancement) => enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc, enhancement) => 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 = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent, enhancements, Context) {\n const Component = function ({ Root }) {\n return <Root render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n Component.defaultProps = OriginComponent.defaultProps;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent, Context, enhancements): 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\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ninterface ClassWithUncontrolledProps<Props> {\n uncontrolledProps(): unknown;\n}\n\nfunction assignProps(p1, p2) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<ComponentProps, ChildComponentProps = {}, ContextType = {}, FNType = null>(\n OriginComponent,\n childComponents = {},\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, parent) => {\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 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[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): 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[CORE_COMPONENT] = true;\n } else {\n throw new Error('createBaseComponent accepts only functional component');\n }\n return Component;\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","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","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","forwardRef","other","WrapperForwardRef","__WRAPPER_PROPS_BIND__","WrapperComponent","enhancementRef","props","BindingWrapper","map","fn","bind","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","Error","contextProps","asProps","ctx","setContext","render","wrapFunction","memo","FunctionMemoComponent","selfRef","firstRender","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","f","_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';\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) {\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, Component, isFunction) {\n return function getField(key) {\n return enhancements\n .filter((enhancement) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc, item) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component, wrapperProps, statics, isFunction) {\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) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef({ forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }, ref) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc, enhancement) => 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) => 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) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent, enhancements, Context) {\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, context) {\n super(props, context);\n // INITS\n inits.forEach((enhancement) => 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, enhancement) => 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, enhancement) => 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 = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc, enhancement) => 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 = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent, enhancements, Context) {\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) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc, enhancement) => enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc, enhancement) => enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc, enhancement) => 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 = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent, enhancements, Context) {\n const Component = function ({ Root }) {\n return <Root render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n Component.defaultProps = OriginComponent.defaultProps;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent, Context, enhancements): 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\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ninterface ClassWithUncontrolledProps<Props> {\n uncontrolledProps(): unknown;\n}\n\nfunction assignProps(p1, p2) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<ComponentProps, ChildComponentProps = {}, ContextType = {}, FNType = null>(\n OriginComponent,\n childComponents = {},\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, parent) => {\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 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[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): 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[CORE_COMPONENT] = true;\n } else {\n throw new Error('createBaseComponent accepts only functional component');\n }\n return Component;\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,KAAP,IAA0DC,MAA1D,QAAwE,OAAxE;AACA,OAAOC,oBAAP,MAAiC,yBAAjC,C,CACA;;AACA,SAASC,UAAT,QAA2B,wBAA3B,C,CACA;;AACA,OAAOC,iBAAP,MAA8B,0CAA9B,C,CACA;;AACA,OAAOC,YAAP,MAAyB,gCAAzB;AAEA,SAASC,SAAT,QAAqD,aAArD;AACA,OAAOC,QAAP,MAAqB,YAArB;AAEA,OAAOC,mBAAP,IAA8BC,kBAA9B,QAAwD,wBAAxD;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AACA,OAAOC,4BAAP,MAAyC,iCAAzC;AACA,OAAOC,+BAAP,MAA4C,oCAA5C;AACA,OAAOC,yBAAP,IACEC,gBADF,EAEEC,cAFF,EAGEC,6BAHF,QAIO,8BAJP;AAKA,OAAOC,wBAAP,IAAmCC,cAAnC,QAAyD,6BAAzD;AACA,OAAOC,qBAAP,MAAkC,0BAAlC;AACA,OAAOC,mBAAP,MAAgC,wBAAhC;AACA,OAAOC,kBAAP,MAA+B,uBAA/B;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;AACA,OAAOC,sBAAP,MAAmC,2BAAnC;AAEA,IAAMC,cAAc,GAAGC,MAAM,CAAC,gBAAD,CAA7B;AACA,IAAMC,aAAa,GAAGD,MAAM,CAAC,eAAD,CAA5B;AACA,IAAME,aAAa,GAAGF,MAAM,CAAC,eAAD,CAA5B;AACA,IAAMG,SAAS,GAAGH,MAAM,CAAC,WAAD,CAAxB;AACA,IAAMI,iBAAiB,GAAGJ,MAAM,CAAC,mBAAD,CAAhC;AACA,IAAMK,gBAAgB,GAAGL,MAAM,CAAC,kBAAD,CAA/B;AACA,IAAMM,iBAAiB,GAAGN,MAAM,CAAC,mBAAD,CAAhC;;AAEA,SAASO,aAAT,CAAuBC,GAAvB,EAA4B;EAC1B,OACEC,MAAM,CAACC,mBAAP,CAA2BF,GAA3B,EAAgCG,MAAhC,KAA2C,CAA3C,IACAF,MAAM,CAACG,qBADP,IACgC;EAChCH,MAAM,CAACG,qBAAP,CAA6BJ,GAA7B,EAAkCG,MAAlC,KAA6C,CAF7C,IAGAF,MAAM,CAACI,cAAP,CAAsBL,GAAtB,MAA+BC,MAAM,CAACK,SAJxC;AAMD;;AAED,SAASC,cAAT,CAAwBC,YAAxB,EAAsCnC,SAAtC,EAAiDoC,UAAjD,EAA6D;EAC3D,OAAO,SAASC,QAAT,CAAkBC,GAAlB,EAAuB;IAC5B,OAAOH,YAAY,CAChBI,MADI,CACG,UAACC,WAAD,EAAiB;MACvB,IAAI,CAACA,WAAW,CAACC,SAAjB,EAA4B;QAC1B,OAAO,IAAP;MACD;;MACD,OAAOD,WAAW,CAACC,SAAZ,CAAsBzC,SAAtB,EAAiCoC,UAAjC,CAAP;IACD,CANI,EAOJM,MAPI,CAOG,UAACC,GAAD,EAAMC,IAAN,EAAe;MACrB,IAAIA,IAAI,CAACN,GAAD,CAAR,EAAe;QACbK,GAAG,CAACE,IAAJ,CAASD,IAAI,CAACN,GAAD,CAAb;MACD;;MACD,OAAOK,GAAP;IACD,CAZI,EAYF,EAZE,CAAP;EAaD,CAdD;AAeD;;AAED,SAASG,oBAAT,CAA8B9C,SAA9B,EAAyC+C,YAAzC,EAAuDC,OAAvD,EAAgEZ,UAAhE,EAA4E;EAC1E,IAAMa,aAAa,GAAGjD,SAAS,CAACS,cAAD,CAA/B;EACA,IAAMyC,gBAAgB,GAAGxC,6BAA6B,CAACV,SAAD,aAACA,SAAD,uBAACA,SAAS,CAAEmD,WAAZ,CAAtD;EACA,IAAMC,YAAY,GAAGH,aAAa,SAAb,IAAAA,aAAa,WAAb,IAAAA,aAAa,CAAEhB,SAAf,GACjBgB,aAAa,CAAChB,SAAd,CAAwBiB,gBAAxB,CADiB,GAEjBG,SAFJ;EAGA,IAAMC,cAAc,GAAG,CAAAF,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEtB,MAAd,KAAwB,CAA/C;;EAEA,SAASyB,yBAAT,OAAoEC,GAApE,EAAyE;IAAA,2BAApCC,UAAoC;IAAA,IAApCA,UAAoC,gCAAvB,IAAuB;IAAA,IAAdC,KAAc;;IACvE,oBAAO,oBAAC,cAAD,eAAoBA,KAApB;MAA2B,UAAU,EAAE7D,UAAU,CAAC2D,GAAD,EAAMC,UAAN;IAAjD,GAAP;EACD;;EAED,SAASE,iBAAT,QAAoFH,GAApF,EAAyF;IAAA,6BAA5DC,UAA4D;IAAA,IAA5DA,UAA4D,iCAA/C,IAA+C;IAAA,IAAzCG,sBAAyC,SAAzCA,sBAAyC;IAAA,IAAdF,KAAc;;IACvF,cAAiD,CAC/CE,sBAAsB,IAAIb,YADqB,EAE/CL,MAF+C,CAExC,UAACC,GAAD,EAAMH,WAAN;MAAA,OAAsBA,WAAW,CAACG,GAAD,EAAMkB,gBAAN,EAAwBzB,UAAxB,CAAjC;IAAA,CAFwC,EAE8BsB,KAF9B,CAAjD;IAAA,0BAAQF,GAAR;IAAA,IAAaM,cAAb,4BAA8B,IAA9B;IAAA,IAAuCC,KAAvC;;IAGA,oBAAO,oBAAC,SAAD,eAAeA,KAAf;MAAsB,UAAU,EAAElE,UAAU,CAACiE,cAAD,EAAiBN,GAAjB,EAAsBC,UAAtB;IAA5C,GAAP;EACD;;EAjByE,IAmBpEO,cAnBoE;IAAA;;IAAA;;IAAA;MAAA;;MAAA;;MAAA;QAAA;MAAA;;MAAA;;MAAA,wDAoBhE,CAAC,CApB+D;;MAAA;IAAA;;IAAA;MAAA;MAAA,OAqBxE,kBAAS;QAAA;;QACP,oBACE,oBAAC,iBAAD,eACM,KAAKD,KADX;UAEE,sBAAsB,EAAEhB,YAAY,CAACkB,GAAb,CAAiB,UAACC,EAAD;YAAA,OAAQA,EAAE,CAACC,IAAH,CAAQ,MAAR,CAAR;UAAA,CAAjB;QAF1B,GADF;MAMD;IA5BuE;;IAAA;EAAA,EAmB7CzE,KAAK,CAACM,SAnBuC;;EA+B1E,IAAM6D,gBAAgB,gBAAGnE,KAAK,CAAC+D,UAAN,CACvBH,cAAc,GAAGC,yBAAH,GAA+BI,iBADtB,CAAzB;EAIA/D,oBAAoB,CAACiE,gBAAD,EAAmB7D,SAAnB,CAApB;EAEA6D,gBAAgB,CAACV,WAAjB,GAA+BnD,SAAS,CAACmD,WAAzC,CArC0E,CAsC1E;;EACAU,gBAAgB,CAACO,YAAjB,GAAgCpE,SAAS,CAACoE,YAA1C,CAvC0E,CAwC1E;;EACApB,OAAO,CAACqB,OAAR,CAAgB,UAAC7B,WAAD;IAAA,OACdZ,MAAM,CAAC0C,MAAP,CAAcT,gBAAd,EAAgCrB,WAAW,CAACqB,gBAAD,EAAmB7D,SAAnB,EAA8BoC,UAA9B,CAA3C,CADc;EAAA,CAAhB;EAIA,OAAOyB,gBAAP;AACD;;AAED,SAASU,SAAT,CAAmBC,eAAnB,EAAoCrC,YAApC,EAAkDsC,OAAlD,EAA2D;EACzD,IAAMpC,QAAQ,GAAGH,cAAc,CAACC,YAAD,EAAeqC,eAAf,EAAgC,KAAhC,CAA/B;EAEA,IAAME,KAAK,GAAGrC,QAAQ,CAAC,MAAD,CAAtB;EACA,IAAM0B,KAAK,GAAG1B,QAAQ,CAAC,SAAD,CAAtB;EACA,IAAMsC,OAAO,GAAGtC,QAAQ,CAAC,QAAD,CAAxB;EACA,IAAMW,OAAO,GAAGX,QAAQ,CAAC,QAAD,CAAxB;EACA,IAAMU,YAAY,GAAGV,QAAQ,CAAC,cAAD,CAA7B;EACA,IAAMuC,QAAQ,GAAGvC,QAAQ,CAAC,SAAD,CAAzB;;EARyD,IAUnDrC,SAVmD;IAAA;;IAAA;;IAevD,mBAAY+D,KAAZ,EAAmBc,OAAnB,EAA4B;MAAA;;MAAA;;MAC1B,4BAAMd,KAAN,EAAac,OAAb,EAD0B,CAE1B;;MAF0B,gDAJ3BxD,aAI2B,EAJV,IAIU;;MAAA,gDAH3BD,aAG2B,EAHVyC,gBAGU;;MAAA,gDAF3BvC,SAE2B,EAFd,KAEc;;MAG1BoD,KAAK,CAACL,OAAN,CAAc,UAAC7B,WAAD;QAAA,OAAiBA,WAAW,CAACsC,IAAZ,iCAAuBf,KAAvB,EAA8BF,gBAA9B,EAAgD,KAAhD,CAAjB;MAAA,CAAd;MACA,OAAKvC,SAAL,IAAkB,IAAlB;MAJ0B;IAK3B;;IApBsD;MAAA;MAAA,KAsBvD,eAAc;QAAA;;QACZ;QACA,IAAI,CAAC,KAAKA,SAAL,CAAL,EAAsB;UACpB,MAAM,IAAIyD,KAAJ,CAAU,qCAAV,CAAN;QACD;;QACD,IAAI,CAAC,KAAK1D,aAAL,CAAL,EAA0B;UACxB;UACA,KAAKA,aAAL,IAAsB0C,KAAK,CAACrB,MAAN,CACpB,UAACC,GAAD,EAAMH,WAAN;YAAA,OAAsBA,WAAW,CAACsC,IAAZ,CAAiB,MAAjB,EAAuBnC,GAAvB,EAA4BkB,gBAA5B,EAA8C,KAA9C,CAAtB;UAAA,CADoB,EAEpB,KAAKE,KAFe,CAAtB;QAID;;QACD,OAAO,KAAK1C,aAAL,CAAP;MACD;IAnCsD;MAAA;MAAA,OAqCvD,sBAAa;QAAA;;QACX,IAAM2D,YAAY,GAAG,6IAAwC,EAA7D,CADW,CAEX;;QACA,OAAOJ,QAAQ,CAAClC,MAAT,CACL,UAACC,GAAD,EAAMH,WAAN;UAAA,OAAsBA,WAAW,CAACsC,IAAZ,CAAiB,MAAjB,EAAuBnC,GAAvB,EAA4BkB,gBAA5B,EAA8C,KAA9C,CAAtB;QAAA,CADK,EAELmB,YAFK,CAAP;MAID;IA5CsD;MAAA;MAAA,OA8CvD,kBAAS;QAAA;;QACP,KAAK3D,aAAL,IAAsB,IAAtB,CADO,CAEP;;QACA,IAAI,2DAAJ,EAAmB;UACjB,MAAM,IAAI0D,KAAJ,CAAU,0CAAV,CAAN;QACD;;QACD,IAAME,OAAO,GAAG,KAAKA,OAArB;QACA,IAAMC,GAAG,GAAG,KAAKC,UAAL,EAAZ,CAPO,CAQP;;QACA,IAAMC,MAAM,GAAGT,OAAO,CAACjC,MAAR,CACb,UAACC,GAAD,EAAMH,WAAN;UAAA,OAAsBA,WAAW,CAACsC,IAAZ,CAAiB,MAAjB,EAAuBnC,GAAvB,EAA4BsC,OAA5B,EAAqCpB,gBAArC,EAAuD,KAAvD,CAAtB;QAAA,CADa,wEAAf;;QAIA,IAAI,CAACA,gBAAgB,CAACrD,gBAAD,CAAjB,IAAuC,CAACkB,aAAa,CAACwD,GAAD,CAAzD,EAAgE;UAC9D,oBAAO,oBAAC,OAAD,CAAS,QAAT;YAAkB,KAAK,kCAAOD,OAAP,GAAmBC,GAAnB;UAAvB,GAAkDE,MAAlD,CAAP;QACD,CAFD,MAEO;UACL,OAAOA,MAAP;QACD;MACF;IAhEsD;;IAAA;EAAA,EAUjCZ,eAViC;;EAmEzD,IAAMX,gBAAgB,GAAGf,oBAAoB,CAAC9C,SAAD,EAAY+C,YAAZ,EAA0BC,OAA1B,EAAmC,KAAnC,CAA7C;EACA,OAAOa,gBAAP;AACD;;AAED,SAASwB,YAAT,CAAsBb,eAAtB,EAAuCrC,YAAvC,EAAqDsC,OAArD,EAA8D;EAC5D,IAAMpC,QAAQ,GAAGH,cAAc,CAACC,YAAD,EAAeqC,eAAf,EAAgC,IAAhC,CAA/B;EAEA,IAAME,KAAK,GAAGrC,QAAQ,CAAC,MAAD,CAAtB;EACA,IAAM0B,KAAK,GAAG1B,QAAQ,CAAC,SAAD,CAAtB;EACA,IAAMsC,OAAO,GAAGtC,QAAQ,CAAC,QAAD,CAAxB;EACA,IAAMW,OAAO,GAAGX,QAAQ,CAAC,QAAD,CAAxB;EACA,IAAMU,YAAY,GAAGV,QAAQ,CAAC,cAAD,CAA7B;EACA,IAAMuC,QAAQ,GAAGvC,QAAQ,CAAC,SAAD,CAAzB;EAEA,IAAMrC,SAAS,gBAAGN,KAAK,CAAC4F,IAAN,CAAW,SAASC,qBAAT,CAA+B7B,KAA/B,EAAsC;IACjE,IAAM8B,OAAO,GAAG7F,MAAM,CAAC,EAAD,CAAtB;IACA,IAAM8F,WAAW,GAAG9F,MAAM,CAAC,IAAD,CAA1B;IACAG,iBAAiB,CAAC,YAAM;MACtB2F,WAAW,CAACC,OAAZ,GAAsB,KAAtB;IACD,CAFgB,EAEd,EAFc,CAAjB;;IAGA,IAAID,WAAW,CAACC,OAAhB,EAAyB;MACvB;MACAhB,KAAK,CAACL,OAAN,CAAc,UAAC7B,WAAD;QAAA,OACZA,WAAW,CAACsC,IAAZ,CAAiBU,OAAO,CAACE,OAAzB,EAAkChC,KAAlC,EAAyCG,gBAAzC,EAA2D,IAA3D,CADY;MAAA,CAAd;IAGD,CAXgE,CAYjE;;;IACA,IAAMoB,OAAO,GAAGlB,KAAK,CAACrB,MAAN,CACd,UAACC,GAAD,EAAMH,WAAN;MAAA,OAAsBA,WAAW,CAACsC,IAAZ,CAAiBU,OAAO,CAACE,OAAzB,EAAkC/C,GAAlC,EAAuCkB,gBAAvC,EAAyD,IAAzD,CAAtB;IAAA,CADc,EAEdH,KAFc,CAAhB,CAbiE,CAiBjE;;IACA,IAAMwB,GAAG,GAAGN,QAAQ,CAAClC,MAAT,CACV,UAACC,GAAD,EAAMH,WAAN;MAAA,OAAsBA,WAAW,CAACsC,IAAZ,CAAiBU,OAAO,CAACE,OAAzB,EAAkC/C,GAAlC,EAAuCkB,gBAAvC,EAAyD,IAAzD,CAAtB;IAAA,CADU,EAEV,EAFU,CAAZ,CAlBiE,CAuBjE;;IACA,IAAMuB,MAAM,GAAGT,OAAO,CAACjC,MAAR,CACb,UAACC,GAAD,EAAMH,WAAN;MAAA,OAAsBA,WAAW,CAACsC,IAAZ,CAAiBU,OAAO,CAACE,OAAzB,EAAkC/C,GAAlC,EAAuCsC,OAAvC,EAAgDpB,gBAAhD,EAAkE,IAAlE,CAAtB;IAAA,CADa,eAEb,oBAAC,eAAD,EAAqBoB,OAArB,CAFa,CAAf;;IAKA,IAAI,CAACpB,gBAAgB,CAACrD,gBAAD,CAAjB,IAAuC,CAACkB,aAAa,CAACwD,GAAD,CAAzD,EAAgE;MAC9D,oBAAO,oBAAC,OAAD,CAAS,QAAT;QAAkB,KAAK,kCAAOD,OAAP,GAAmBC,GAAnB;MAAvB,GAAkDE,MAAlD,CAAP;IACD,CAFD,MAEO;MACL,OAAOA,MAAP;IACD;EACF,CAlCiB,CAAlB;EAmCAxD,MAAM,CAAC0C,MAAP,CAActE,SAAd,EAAyBwE,eAAzB;EACA,IAAMX,gBAAgB,GAAGf,oBAAoB,CAAC9C,SAAD,EAAY+C,YAAZ,EAA0BC,OAA1B,EAAmC,IAAnC,CAA7C;EACA,OAAOa,gBAAP;AACD;;AAED,SAAS8B,QAAT,CAAkBnB,eAAlB,EAAmCrC,YAAnC,EAAiDsC,OAAjD,EAA0D;EACxD,IAAMzE,SAAS,GAAG,SAAZA,SAAY,QAAoB;IAAA,IAAR4F,IAAQ,SAARA,IAAQ;IACpC,oBAAO,oBAAC,IAAD;MAAM,MAAM,EAAEpB;IAAd,EAAP;EACD,CAFD;;EAGA5E,oBAAoB,CAACI,SAAD,EAAYwE,eAAZ,CAApB;EACAxE,SAAS,CAACmD,WAAV,GAAwBqB,eAAe,CAACrB,WAAxC;EACAnD,SAAS,CAACoE,YAAV,GAAyBI,eAAe,CAACJ,YAAzC;EACA,OAAOiB,YAAY,CAACrF,SAAD,EAAYmC,YAAZ,EAA0BsC,OAA1B,CAAnB;AACD;;AAED,SAASoB,sBAAT,CAAgCrB,eAAhC,EAAiDC,OAAjD,EAA0DtC,YAA1D,EAA6E;EAC3E,IACEzC,KAAK,CAACoG,aAAN,CAAoBC,aAApB,CAAkCvB,eAAlC,KACA9E,KAAK,CAACM,SAAN,CAAgB+F,aAAhB,CAA8BvB,eAA9B,CAFF,EAGE;IACA,IAAIA,eAAe,CAACvC,SAAhB,YAAqCjC,SAAzC,EAAoD;MAClD,OAAOuE,SAAS,CAACC,eAAD,EAAkBrC,YAAlB,EAAgCsC,OAAhC,CAAhB;IACD,CAFD,MAEO;MACL,MAAM,IAAIM,KAAJ,CAAU,iCAAV,CAAN;IACD;EACF,CATD,MASO,IAAI,OAAOP,eAAP,KAA2B,UAA/B,EAA2C;IAChD,OAAOa,YAAY,CAACb,eAAD,EAAkBrC,YAAlB,EAAgCsC,OAAhC,CAAnB;EACD,CAFM,MAEA,IAAID,eAAe,CAACtD,cAAD,CAAnB,EAAqC;IAC1C,OAAOyE,QAAQ,CAACnB,eAAD,EAAkBrC,YAAlB,EAAgCsC,OAAhC,CAAf;EACD,CAFM,MAEA;IACL,MAAM,IAAIM,KAAJ,CAAU,2BAAV,CAAN;EACD;AACF;;AAoCD,SAASiB,WAAT,CAAqBC,EAArB,EAAyBC,EAAzB,EAA6B;EAC3B,OAAOnG,YAAY,CAACmG,EAAD,EAAKD,EAAL,CAAnB;AACD;;AAED,SAASE,eAAT,CACE3B,eADF,EAgBE;EAAA,IAdA4B,eAcA,uEAdkB,EAclB;EAAA,IAbAC,OAaA,uEATI,EASJ;EACA,uBAIIA,OAJJ,CACExB,OADF;EAAA,IACEA,OADF,8CACYnF,KAAK,CAAC4G,aAAN,CAAiC,EAAjC,CADZ;EAAA,sBAIID,OAJJ,CAEEE,MAFF;EAAA,IAEEA,MAFF,gCAEW,EAFX;EAAA,4BAIIF,OAJJ,CAGElE,YAHF;EAAA,IAGEA,YAHF,sCAGiB,EAHjB;EAKA,IAAIqE,OAAO,GAAGC,KAAK,CAACC,OAAN,CAAcH,MAAd,IAAwBA,MAAxB,GAAiC,CAACA,MAAD,CAA/C;;EACA,IAAIC,OAAO,CAAC1E,MAAZ,EAAoB;IAClB,IAAM6E,WAAW,GAAGH,OAAO,CAAC9D,MAAR,CAAe,UAACC,GAAD,EAAM4D,MAAN,EAAiB;MAClD,IAAIA,MAAM,CAAC9E,iBAAD,CAAV,EAA+B;QAC7BkB,GAAG,gCAAO4D,MAAM,CAAC9E,iBAAD,CAAb,sBAAqCkB,GAArC,EAAH;MACD;;MACD,OAAOA,GAAP;IACD,CALmB,EAKjB6D,OALiB,CAApB;IAMAhC,eAAe,CAAC/C,iBAAD,CAAf,GAAqCkF,WAArC;IACAH,OAAO,GAAGG,WAAV;EACD;;EACD,IAAInC,eAAe,CAACtD,cAAD,CAAnB,EAAqC;IACnCsF,OAAO,CAAC3D,IAAR,CAAa2B,eAAb;EACD;;EACD,IAAMxE,SAAS,GAAG6F,sBAAsB,CAACrB,eAAD,EAAkBK,OAAlB,+BAEnC1C,YAAY,CAAC8B,GAAb,CAAiB,UAAC2C,CAAD;IAAA,OAAOA,CAAC,CAAC/B,OAAD,EAAU2B,OAAV,EAAmBL,eAAnB,EAAoCC,eAApC,CAAR;EAAA,CAAjB,CAFmC,IAGtCnF,sBAAsB,EAHgB,EAItCf,mBAAmB,CAAC2E,OAAD,EAAU2B,OAAV,CAJmB,EAKtC;EACApG,eAAe,EANuB,EAOtCC,4BAA4B,EAPU,EAQtCE,yBAAyB,CAAC6F,eAAD,EAAkBD,eAAlB,EAAmC;IAC1DtB,OAAO,EAAPA,OAD0D;IAE1D0B,MAAM,EAANA,MAF0D;IAG1DpE,YAAY,EAAZA;EAH0D,CAAnC,CARa,EAatC;EACA7B,+BAA+B,EAdO,EAetC;EACAK,wBAAwB,EAhBc,EAiBtC;EACAG,mBAAmB,EAlBmB,EAmBtC;EACAC,kBAAkB,EApBoB,EAqBtCC,gBAAgB,CAACoF,eAAD,EAAkBvB,OAAlB,CArBsB,EAsBtC;EACAhE,qBAAqB,CAACuF,eAAD,EAAkBvB,OAAlB,CAvBiB,GAAxC;EAyBA7E,SAAS,CAACuB,iBAAD,CAAT,GAA+BsD,OAA/B;;EACA7E,SAAS,CAACwB,gBAAD,CAAT,GAA8B,YAI5B;IAAA,IAHAqF,gBAGA,uEAHmBrC,eAGnB;;IAAA,IAFAsC,gBAEA,uEAFmBV,eAEnB;;IAAA,IADAW,QACA,uEADWV,OACX;;IACA,OAAOF,eAAe,CAACU,gBAAD,EAAmBC,gBAAnB,EAAqCC,QAArC,CAAtB;EACD,CAND;;EAOA/G,SAAS,CAACkB,cAAD,CAAT,GAA4B,IAA5B;EACA,OAAOlB,SAAP;AACD;;AAED,SAASgH,mBAAT,CAA6CxC,eAA7C,EAA6F;EAC3F,IAAIxE,SAAS,GAAG,IAAhB;;EACA,IACE,CAACN,KAAK,CAACoG,aAAN,CAAoBC,aAApB,CAAkCvB,eAAlC,CAAD,IACA,CAAC9E,KAAK,CAACM,SAAN,CAAgB+F,aAAhB,CAA8BvB,eAA9B,CADD,IAEA,OAAOA,eAAP,KAA2B,UAH7B,EAIE;IACAxE,SAAS,gBAAGN,KAAK,CAAC+D,UAAN,CAAiBe,eAAjB,CAAZ;IACAxE,SAAS,CAACmD,WAAV,GAAwBqB,eAAe,CAACrB,WAAxC;IACAnD,SAAS,CAACoE,YAAV;MACE,gBAAgBI,eAAe,CAACrB;IADlC,GAEKqB,eAAe,CAACJ,YAFrB;IAIApE,SAAS,CAACkB,cAAD,CAAT,GAA4B,IAA5B;EACD,CAZD,MAYO;IACL,MAAM,IAAI6D,KAAJ,CAAU,uDAAV,CAAN;EACD;;EACD,OAAO/E,SAAP;AACD;;AAED,cAAc,aAAd;AACA,cAAc,UAAd;AACA,cAAc,YAAd;AACA,SACEgH,mBADF,EAEE/G,QAFF,EAGEuB,gBAHF,EAIEJ,aAJF,EAKEG,iBALF,EAMEpB,kBANF,EAOES,cAPF,EAQEM,cARF,EASEV,gBATF,EAUEC,cAVF,EAWEuF,WAXF;AAaA,eAAeG,eAAf"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/core",
|
|
3
3
|
"description": "Semrush Core Component",
|
|
4
|
-
"version": "1.13.
|
|
4
|
+
"version": "1.13.2",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -27,7 +27,8 @@
|
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/react": "18.0.21",
|
|
30
|
-
"@semcore/jest-preset-ui": "1.0.0"
|
|
30
|
+
"@semcore/jest-preset-ui": "1.0.0",
|
|
31
|
+
"jest": "29.0.1"
|
|
31
32
|
},
|
|
32
33
|
"scripts": {
|
|
33
34
|
"build": "pnpm semcore-builder",
|