@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 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 (`@semcore/utils` [3.39.0 ~> 3.39.0]).
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
- return _super.apply(this, arguments);
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 _this = this;
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(_this);
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 _this2;
299
+ var _this3;
291
300
 
292
301
  (0, _classCallCheck2["default"])(this, Component);
293
- _this2 = _super2.call(this, props, context); // INITS
302
+ _this3 = _super2.call(this, props, context); // INITS
294
303
 
295
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), CORE_AS_PROPS, null);
296
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), CORE_INSTANCE, WrapperComponent);
297
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), CORE_INIT, false);
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"])(_this2), props, WrapperComponent, false);
308
+ return enhancement.call((0, _assertThisInitialized2["default"])(_this3), props, WrapperComponent, false);
300
309
  });
301
- _this2[CORE_INIT] = true;
302
- return _this2;
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 _this3 = this;
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(_this3, acc, WrapperComponent, false);
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 _this4 = this;
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(_this4, acc, WrapperComponent, false);
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 _this5 = this;
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(_this5, acc, asProps, WrapperComponent, false);
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)) {
@@ -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
- return _super.apply(this, arguments);
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 _this = this;
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(_this);
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 _this2;
174
+ var _this3;
165
175
 
166
176
  _classCallCheck(this, Component);
167
177
 
168
- _this2 = _super2.call(this, props, context); // INITS
178
+ _this3 = _super2.call(this, props, context); // INITS
169
179
 
170
- _defineProperty(_assertThisInitialized(_this2), CORE_AS_PROPS, null);
180
+ _defineProperty(_assertThisInitialized(_this3), CORE_AS_PROPS, null);
171
181
 
172
- _defineProperty(_assertThisInitialized(_this2), CORE_INSTANCE, WrapperComponent);
182
+ _defineProperty(_assertThisInitialized(_this3), CORE_INSTANCE, WrapperComponent);
173
183
 
174
- _defineProperty(_assertThisInitialized(_this2), CORE_INIT, false);
184
+ _defineProperty(_assertThisInitialized(_this3), CORE_INIT, false);
175
185
 
176
186
  inits.forEach(function (enhancement) {
177
- return enhancement.call(_assertThisInitialized(_this2), props, WrapperComponent, false);
187
+ return enhancement.call(_assertThisInitialized(_this3), props, WrapperComponent, false);
178
188
  });
179
- _this2[CORE_INIT] = true;
180
- return _this2;
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 _this3 = this;
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(_this3, acc, WrapperComponent, false);
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 _this4 = this;
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(_this4, acc, WrapperComponent, false);
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 _this5 = this;
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(_this5, acc, asProps, WrapperComponent, false);
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)) {
@@ -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.1",
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",