@semcore/core 1.14.6 → 1.14.8

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.
Files changed (65) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/lib/cjs/Component.js +0 -16
  3. package/lib/cjs/Component.js.map +1 -1
  4. package/lib/cjs/enhancement/Children.js +17 -42
  5. package/lib/cjs/enhancement/Children.js.map +1 -1
  6. package/lib/cjs/enhancement/Root.js +15 -33
  7. package/lib/cjs/enhancement/Root.js.map +1 -1
  8. package/lib/cjs/enhancement/bindHandler.js +0 -11
  9. package/lib/cjs/enhancement/bindHandler.js.map +1 -1
  10. package/lib/cjs/enhancement/dataName.js +0 -4
  11. package/lib/cjs/enhancement/dataName.js.map +1 -1
  12. package/lib/cjs/enhancement/enhance.js +0 -2
  13. package/lib/cjs/enhancement/enhance.js.map +1 -1
  14. package/lib/cjs/enhancement/functionDefaultProps.js +0 -5
  15. package/lib/cjs/enhancement/functionDefaultProps.js.map +1 -1
  16. package/lib/cjs/enhancement/hoistProps.js +10 -27
  17. package/lib/cjs/enhancement/hoistProps.js.map +1 -1
  18. package/lib/cjs/enhancement/inheritedName.js +0 -6
  19. package/lib/cjs/enhancement/inheritedName.js.map +1 -1
  20. package/lib/cjs/enhancement/staticChildren.js +14 -45
  21. package/lib/cjs/enhancement/staticChildren.js.map +1 -1
  22. package/lib/cjs/enhancement/style.js +4 -16
  23. package/lib/cjs/enhancement/style.js.map +1 -1
  24. package/lib/cjs/enhancement/uncontrolledProps.js +16 -49
  25. package/lib/cjs/enhancement/uncontrolledProps.js.map +1 -1
  26. package/lib/cjs/index.js +49 -134
  27. package/lib/cjs/index.js.map +1 -1
  28. package/lib/cjs/register.js +0 -9
  29. package/lib/cjs/register.js.map +1 -1
  30. package/lib/cjs/styled/index.js +0 -5
  31. package/lib/cjs/styled/index.js.map +1 -1
  32. package/lib/cjs/styled/sstyled.js +16 -55
  33. package/lib/cjs/styled/sstyled.js.map +1 -1
  34. package/lib/es6/Component.js +0 -11
  35. package/lib/es6/Component.js.map +1 -1
  36. package/lib/es6/enhancement/Children.js +17 -36
  37. package/lib/es6/enhancement/Children.js.map +1 -1
  38. package/lib/es6/enhancement/Root.js +19 -30
  39. package/lib/es6/enhancement/Root.js.map +1 -1
  40. package/lib/es6/enhancement/bindHandler.js +0 -10
  41. package/lib/es6/enhancement/bindHandler.js.map +1 -1
  42. package/lib/es6/enhancement/dataName.js +0 -2
  43. package/lib/es6/enhancement/dataName.js.map +1 -1
  44. package/lib/es6/enhancement/enhance.js +0 -1
  45. package/lib/es6/enhancement/enhance.js.map +1 -1
  46. package/lib/es6/enhancement/functionDefaultProps.js +0 -4
  47. package/lib/es6/enhancement/functionDefaultProps.js.map +1 -1
  48. package/lib/es6/enhancement/hoistProps.js +13 -23
  49. package/lib/es6/enhancement/hoistProps.js.map +1 -1
  50. package/lib/es6/enhancement/inheritedName.js +0 -2
  51. package/lib/es6/enhancement/inheritedName.js.map +1 -1
  52. package/lib/es6/enhancement/staticChildren.js +17 -41
  53. package/lib/es6/enhancement/staticChildren.js.map +1 -1
  54. package/lib/es6/enhancement/style.js +6 -12
  55. package/lib/es6/enhancement/style.js.map +1 -1
  56. package/lib/es6/enhancement/uncontrolledProps.js +16 -42
  57. package/lib/es6/enhancement/uncontrolledProps.js.map +1 -1
  58. package/lib/es6/index.js +55 -110
  59. package/lib/es6/index.js.map +1 -1
  60. package/lib/es6/register.js +0 -5
  61. package/lib/es6/register.js.map +1 -1
  62. package/lib/es6/styled/index.js.map +1 -1
  63. package/lib/es6/styled/sstyled.js +14 -49
  64. package/lib/es6/styled/sstyled.js.map +1 -1
  65. package/package.json +1 -1
package/lib/cjs/index.js CHANGED
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -54,43 +52,24 @@ Object.defineProperty(exports, "register", {
54
52
  return _register["default"];
55
53
  }
56
54
  });
57
-
58
55
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
59
-
60
56
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
61
-
62
57
  var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
63
-
64
58
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
65
-
66
59
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
67
-
68
60
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
69
-
70
61
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
71
-
72
62
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
73
-
74
63
  var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
75
-
76
64
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
77
-
78
65
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
79
-
80
66
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
81
-
82
67
  var _react = _interopRequireWildcard(require("react"));
83
-
84
68
  var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
85
-
86
69
  var _ref4 = require("@semcore/utils/lib/ref");
87
-
88
70
  var _useEnhancedEffect = _interopRequireDefault(require("@semcore/utils/lib/use/useEnhancedEffect"));
89
-
90
71
  var _assignProps2 = _interopRequireDefault(require("@semcore/utils/lib/assignProps"));
91
-
92
72
  var _Component = require("./Component");
93
-
94
73
  Object.keys(_Component).forEach(function (key) {
95
74
  if (key === "default" || key === "__esModule") return;
96
75
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -102,9 +81,7 @@ Object.keys(_Component).forEach(function (key) {
102
81
  }
103
82
  });
104
83
  });
105
-
106
84
  var _register = _interopRequireWildcard(require("./register"));
107
-
108
85
  Object.keys(_register).forEach(function (key) {
109
86
  if (key === "default" || key === "__esModule") return;
110
87
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -116,31 +93,18 @@ Object.keys(_register).forEach(function (key) {
116
93
  }
117
94
  });
118
95
  });
119
-
120
96
  var _Children = _interopRequireWildcard(require("./enhancement/Children"));
121
-
122
97
  var _Root = _interopRequireDefault(require("./enhancement/Root"));
123
-
124
98
  var _uncontrolledProps = _interopRequireDefault(require("./enhancement/uncontrolledProps"));
125
-
126
99
  var _functionDefaultProps = _interopRequireDefault(require("./enhancement/functionDefaultProps"));
127
-
128
100
  var _staticChildren = _interopRequireWildcard(require("./enhancement/staticChildren"));
129
-
130
101
  var _inheritedName = _interopRequireWildcard(require("./enhancement/inheritedName"));
131
-
132
102
  var _hoistProps = _interopRequireDefault(require("./enhancement/hoistProps"));
133
-
134
103
  var _dataName = _interopRequireDefault(require("./enhancement/dataName"));
135
-
136
104
  var _enhance = _interopRequireDefault(require("./enhancement/enhance"));
137
-
138
105
  var _style = _interopRequireDefault(require("./enhancement/style"));
139
-
140
106
  var _bindHandler = _interopRequireDefault(require("./enhancement/bindHandler"));
141
-
142
107
  var _styled = require("./styled");
143
-
144
108
  Object.keys(_styled).forEach(function (key) {
145
109
  if (key === "default" || key === "__esModule") return;
146
110
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -153,8 +117,8 @@ Object.keys(_styled).forEach(function (key) {
153
117
  });
154
118
  });
155
119
  var _excluded = ["forwardRef"],
156
- _excluded2 = ["forwardRef", "__WRAPPER_PROPS_BIND__"],
157
- _excluded3 = ["ref"];
120
+ _excluded2 = ["forwardRef", "__WRAPPER_PROPS_BIND__"],
121
+ _excluded3 = ["ref"];
158
122
  var CORE_COMPONENT = Symbol('CORE_COMPONENT');
159
123
  exports.CORE_COMPONENT = CORE_COMPONENT;
160
124
  var CORE_INSTANCE = Symbol('CORE_INSTANCE');
@@ -166,87 +130,71 @@ exports.CONTEXT_COMPONENT = CONTEXT_COMPONENT;
166
130
  var CREATE_COMPONENT = Symbol('CREATE_COMPONENT');
167
131
  exports.CREATE_COMPONENT = CREATE_COMPONENT;
168
132
  var PARENT_COMPONENTS = Symbol('PARENT_COMPONENTS');
169
-
170
133
  function isEmptyObject(obj) {
171
- return Object.getOwnPropertyNames(obj).length === 0 && Object.getOwnPropertySymbols && // For IE 11
134
+ return Object.getOwnPropertyNames(obj).length === 0 && Object.getOwnPropertySymbols &&
135
+ // For IE 11
172
136
  Object.getOwnPropertySymbols(obj).length === 0 && Object.getPrototypeOf(obj) === Object.prototype;
173
137
  }
174
-
175
138
  function createGetField(enhancements, Component, isFunction) {
176
139
  return function getField(key) {
177
140
  return enhancements.filter(function (enhancement) {
178
141
  if (!enhancement.condition) {
179
142
  return true;
180
143
  }
181
-
182
144
  return enhancement.condition(Component, isFunction);
183
145
  }).reduce(function (acc, item) {
184
146
  if (item[key]) {
185
147
  acc.push(item[key]);
186
148
  }
187
-
188
149
  return acc;
189
150
  }, []);
190
151
  };
191
152
  }
192
-
193
153
  function createForwardWrapper(Component, wrapperProps, statics, isFunction) {
194
154
  var RootComponent = Component[_staticChildren.ROOT_COMPONENT];
195
155
  var getterMethodName = (0, _staticChildren.getterMethodNameByDisplayName)(Component === null || Component === void 0 ? void 0 : Component.displayName);
196
156
  var getterMethod = RootComponent !== null && RootComponent !== void 0 && RootComponent.prototype ? RootComponent.prototype[getterMethodName] : undefined;
197
157
  var useGetterIndex = (getterMethod === null || getterMethod === void 0 ? void 0 : getterMethod.length) >= 2;
198
-
199
158
  function WrapperForwardRefWithBind(_ref, ref) {
200
159
  var _ref$forwardRef = _ref.forwardRef,
201
- forwardRef = _ref$forwardRef === void 0 ? null : _ref$forwardRef,
202
- other = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
160
+ forwardRef = _ref$forwardRef === void 0 ? null : _ref$forwardRef,
161
+ other = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
203
162
  return /*#__PURE__*/_react["default"].createElement(BindingWrapper, (0, _extends2["default"])({}, other, {
204
163
  forwardRef: (0, _ref4.useForkRef)(ref, forwardRef)
205
164
  }));
206
165
  }
207
-
208
166
  function WrapperForwardRef(_ref2, ref) {
209
167
  var _ref2$forwardRef = _ref2.forwardRef,
210
- forwardRef = _ref2$forwardRef === void 0 ? null : _ref2$forwardRef,
211
- __WRAPPER_PROPS_BIND__ = _ref2.__WRAPPER_PROPS_BIND__,
212
- other = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
213
-
168
+ forwardRef = _ref2$forwardRef === void 0 ? null : _ref2$forwardRef,
169
+ __WRAPPER_PROPS_BIND__ = _ref2.__WRAPPER_PROPS_BIND__,
170
+ other = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
214
171
  var _reduce = (__WRAPPER_PROPS_BIND__ || wrapperProps).reduce(function (acc, enhancement) {
215
- return enhancement(acc, WrapperComponent, isFunction);
216
- }, other),
217
- _reduce$ref = _reduce.ref,
218
- enhancementRef = _reduce$ref === void 0 ? null : _reduce$ref,
219
- props = (0, _objectWithoutProperties2["default"])(_reduce, _excluded3);
220
-
172
+ return enhancement(acc, WrapperComponent, isFunction);
173
+ }, other),
174
+ _reduce$ref = _reduce.ref,
175
+ enhancementRef = _reduce$ref === void 0 ? null : _reduce$ref,
176
+ props = (0, _objectWithoutProperties2["default"])(_reduce, _excluded3);
221
177
  return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({}, props, {
222
178
  forwardRef: (0, _ref4.useForkRef)(enhancementRef, ref, forwardRef)
223
179
  }));
224
180
  }
225
-
226
181
  var BindingWrapper = /*#__PURE__*/function (_React$Component) {
227
182
  (0, _inherits2["default"])(BindingWrapper, _React$Component);
228
-
229
183
  var _super = (0, _createSuper2["default"])(BindingWrapper);
230
-
231
184
  function BindingWrapper() {
232
185
  var _this;
233
-
234
186
  (0, _classCallCheck2["default"])(this, BindingWrapper);
235
-
236
187
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
237
188
  args[_key] = arguments[_key];
238
189
  }
239
-
240
190
  _this = _super.call.apply(_super, [this].concat(args));
241
191
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "index", -1);
242
192
  return _this;
243
193
  }
244
-
245
194
  (0, _createClass2["default"])(BindingWrapper, [{
246
195
  key: "render",
247
196
  value: function render() {
248
197
  var _this2 = this;
249
-
250
198
  return /*#__PURE__*/_react["default"].createElement(WrapperForwardRef, (0, _extends2["default"])({}, this.props, {
251
199
  __WRAPPER_PROPS_BIND__: wrapperProps.map(function (fn) {
252
200
  return fn.bind(_this2);
@@ -256,20 +204,17 @@ function createForwardWrapper(Component, wrapperProps, statics, isFunction) {
256
204
  }]);
257
205
  return BindingWrapper;
258
206
  }(_react["default"].Component);
259
-
260
207
  var WrapperComponent = /*#__PURE__*/_react["default"].forwardRef(useGetterIndex ? WrapperForwardRefWithBind : WrapperForwardRef);
261
-
262
208
  (0, _hoistNonReactStatics["default"])(WrapperComponent, Component);
263
- WrapperComponent.displayName = Component.displayName; // TODO: defaultProps is only empty
264
-
265
- WrapperComponent.defaultProps = Component.defaultProps; // STATIC
266
-
209
+ WrapperComponent.displayName = Component.displayName;
210
+ // TODO: defaultProps is only empty
211
+ WrapperComponent.defaultProps = Component.defaultProps;
212
+ // STATIC
267
213
  statics.forEach(function (enhancement) {
268
214
  return Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction));
269
215
  });
270
216
  return WrapperComponent;
271
217
  }
272
-
273
218
  function wrapClass(OriginComponent, enhancements, Context) {
274
219
  var getField = createGetField(enhancements, OriginComponent, false);
275
220
  var inits = getField('init');
@@ -278,18 +223,14 @@ function wrapClass(OriginComponent, enhancements, Context) {
278
223
  var statics = getField('static');
279
224
  var wrapperProps = getField('wrapperProps');
280
225
  var contexts = getField('context');
281
-
282
226
  var Component = /*#__PURE__*/function (_OriginComponent2) {
283
227
  (0, _inherits2["default"])(Component, _OriginComponent2);
284
-
285
228
  var _super2 = (0, _createSuper2["default"])(Component);
286
-
287
229
  function Component(props, context) {
288
230
  var _this3;
289
-
290
231
  (0, _classCallCheck2["default"])(this, Component);
291
- _this3 = _super2.call(this, props, context); // INITS
292
-
232
+ _this3 = _super2.call(this, props, context);
233
+ // INITS
293
234
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), CORE_AS_PROPS, null);
294
235
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), CORE_INSTANCE, WrapperComponent);
295
236
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), CORE_INIT, false);
@@ -299,33 +240,28 @@ function wrapClass(OriginComponent, enhancements, Context) {
299
240
  _this3[CORE_INIT] = true;
300
241
  return _this3;
301
242
  }
302
-
303
243
  (0, _createClass2["default"])(Component, [{
304
244
  key: "asProps",
305
245
  get: function get() {
306
246
  var _this4 = this;
307
-
308
247
  // TODO if not production
309
248
  if (!this[CORE_INIT]) {
310
249
  throw new Error('Can not call asProps in constructor');
311
250
  }
312
-
313
251
  if (!this[CORE_AS_PROPS]) {
314
252
  // PROPS
315
253
  this[CORE_AS_PROPS] = props.reduce(function (acc, enhancement) {
316
254
  return enhancement.call(_this4, acc, WrapperComponent, false);
317
255
  }, this.props);
318
256
  }
319
-
320
257
  return this[CORE_AS_PROPS];
321
258
  }
322
259
  }, {
323
260
  key: "setContext",
324
261
  value: function setContext() {
325
262
  var _this5 = this;
326
-
327
- 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
328
-
263
+ var contextProps = (0, _get2["default"])((0, _getPrototypeOf2["default"])(Component.prototype), "setContext", this) ? (0, _get2["default"])((0, _getPrototypeOf2["default"])(Component.prototype), "setContext", this).call(this) : {};
264
+ // CONTEXT
329
265
  return contexts.reduce(function (acc, enhancement) {
330
266
  return enhancement.call(_this5, acc, WrapperComponent, false);
331
267
  }, contextProps);
@@ -334,20 +270,17 @@ function wrapClass(OriginComponent, enhancements, Context) {
334
270
  key: "render",
335
271
  value: function render() {
336
272
  var _this6 = this;
337
-
338
- this[CORE_AS_PROPS] = null; // TODO if not production
339
-
273
+ this[CORE_AS_PROPS] = null;
274
+ // TODO if not production
340
275
  if (!(0, _get2["default"])((0, _getPrototypeOf2["default"])(Component.prototype), "render", this)) {
341
276
  throw new Error('Component `render` method is not defined');
342
277
  }
343
-
344
278
  var asProps = this.asProps;
345
- var ctx = this.setContext(); // RENDER
346
-
279
+ var ctx = this.setContext();
280
+ // RENDER
347
281
  var render = renders.reduce(function (acc, enhancement) {
348
282
  return enhancement.call(_this6, acc, asProps, WrapperComponent, false);
349
283
  }, (0, _get2["default"])((0, _getPrototypeOf2["default"])(Component.prototype), "render", this).call(this));
350
-
351
284
  if (!WrapperComponent[_staticChildren.STATIC_COMPONENT] && !isEmptyObject(ctx)) {
352
285
  return /*#__PURE__*/_react["default"].createElement(Context.Provider, {
353
286
  value: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, asProps), ctx)
@@ -359,11 +292,9 @@ function wrapClass(OriginComponent, enhancements, Context) {
359
292
  }]);
360
293
  return Component;
361
294
  }(OriginComponent);
362
-
363
295
  var WrapperComponent = createForwardWrapper(Component, wrapperProps, statics, false);
364
296
  return WrapperComponent;
365
297
  }
366
-
367
298
  function wrapFunction(OriginComponent, enhancements, Context) {
368
299
  var getField = createGetField(enhancements, OriginComponent, true);
369
300
  var inits = getField('init');
@@ -372,34 +303,31 @@ function wrapFunction(OriginComponent, enhancements, Context) {
372
303
  var statics = getField('static');
373
304
  var wrapperProps = getField('wrapperProps');
374
305
  var contexts = getField('context');
375
-
376
306
  var Component = /*#__PURE__*/_react["default"].memo(function FunctionMemoComponent(other) {
377
307
  var selfRef = (0, _react.useRef)({});
378
308
  var firstRender = (0, _react.useRef)(true);
379
309
  (0, _useEnhancedEffect["default"])(function () {
380
310
  firstRender.current = false;
381
311
  }, []);
382
-
383
312
  if (firstRender.current) {
384
313
  // INITS
385
314
  inits.forEach(function (enhancement) {
386
315
  return enhancement.call(selfRef.current, other, WrapperComponent, true);
387
316
  });
388
- } // PROPS
389
-
390
-
317
+ }
318
+ // PROPS
391
319
  var asProps = props.reduce(function (acc, enhancement) {
392
320
  return enhancement.call(selfRef.current, acc, WrapperComponent, true);
393
- }, other); // CONTEXT
394
-
321
+ }, other);
322
+ // CONTEXT
395
323
  var ctx = contexts.reduce(function (acc, enhancement) {
396
324
  return enhancement.call(selfRef.current, acc, WrapperComponent, true);
397
- }, {}); // RENDER
325
+ }, {});
398
326
 
327
+ // RENDER
399
328
  var render = renders.reduce(function (acc, enhancement) {
400
329
  return enhancement.call(selfRef.current, acc, asProps, WrapperComponent, true);
401
330
  }, /*#__PURE__*/_react["default"].createElement(OriginComponent, asProps));
402
-
403
331
  if (!WrapperComponent[_staticChildren.STATIC_COMPONENT] && !isEmptyObject(ctx)) {
404
332
  return /*#__PURE__*/_react["default"].createElement(Context.Provider, {
405
333
  value: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, asProps), ctx)
@@ -408,12 +336,10 @@ function wrapFunction(OriginComponent, enhancements, Context) {
408
336
  return render;
409
337
  }
410
338
  });
411
-
412
339
  Object.assign(Component, OriginComponent);
413
340
  var WrapperComponent = createForwardWrapper(Component, wrapperProps, statics, true);
414
341
  return WrapperComponent;
415
342
  }
416
-
417
343
  function wrapCore(OriginComponent, enhancements, Context) {
418
344
  var Component = function Component(_ref3) {
419
345
  var Root = _ref3.Root;
@@ -421,13 +347,11 @@ function wrapCore(OriginComponent, enhancements, Context) {
421
347
  render: OriginComponent
422
348
  });
423
349
  };
424
-
425
350
  (0, _hoistNonReactStatics["default"])(Component, OriginComponent);
426
351
  Component.displayName = OriginComponent.displayName;
427
352
  Component.defaultProps = OriginComponent.defaultProps;
428
353
  return wrapFunction(Component, enhancements, Context);
429
354
  }
430
-
431
355
  function createComposeComponent(OriginComponent, Context, enhancements) {
432
356
  if (_react["default"].PureComponent.isPrototypeOf(OriginComponent) || _react["default"].Component.isPrototypeOf(OriginComponent)) {
433
357
  if (OriginComponent.prototype instanceof _Component.Component) {
@@ -443,70 +367,63 @@ function createComposeComponent(OriginComponent, Context, enhancements) {
443
367
  throw new Error('Must be a React component');
444
368
  }
445
369
  }
446
-
447
370
  function assignProps(p1, p2) {
448
371
  return (0, _assignProps2["default"])(p2, p1);
449
372
  }
450
-
451
373
  function createComponent(OriginComponent) {
452
374
  var childComponents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
453
375
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
454
376
  var _options$context = options.context,
455
- context = _options$context === void 0 ? /*#__PURE__*/_react["default"].createContext({}) : _options$context,
456
- _options$parent = options.parent,
457
- parent = _options$parent === void 0 ? [] : _options$parent,
458
- _options$enhancements = options.enhancements,
459
- enhancements = _options$enhancements === void 0 ? [] : _options$enhancements;
377
+ context = _options$context === void 0 ? /*#__PURE__*/_react["default"].createContext({}) : _options$context,
378
+ _options$parent = options.parent,
379
+ parent = _options$parent === void 0 ? [] : _options$parent,
380
+ _options$enhancements = options.enhancements,
381
+ enhancements = _options$enhancements === void 0 ? [] : _options$enhancements;
460
382
  var parents = Array.isArray(parent) ? parent : [parent];
461
-
462
383
  if (parents.length) {
463
384
  var wholeFamily = parents.reduce(function (acc, parent) {
464
385
  if (parent[PARENT_COMPONENTS]) {
465
386
  acc = [].concat((0, _toConsumableArray2["default"])(parent[PARENT_COMPONENTS]), (0, _toConsumableArray2["default"])(acc));
466
387
  }
467
-
468
388
  return acc;
469
389
  }, parents);
470
390
  OriginComponent[PARENT_COMPONENTS] = wholeFamily;
471
391
  parents = wholeFamily;
472
392
  }
473
-
474
393
  if (OriginComponent[CORE_COMPONENT]) {
475
394
  parents.push(OriginComponent);
476
395
  }
477
-
478
396
  var Component = createComposeComponent(OriginComponent, context, [].concat((0, _toConsumableArray2["default"])(enhancements.map(function (f) {
479
397
  return f(context, parents, createComponent, childComponents);
480
- })), [(0, _bindHandler["default"])(), (0, _Children["default"])(context, parents), // root must be under the children
398
+ })), [(0, _bindHandler["default"])(), (0, _Children["default"])(context, parents),
399
+ // root must be under the children
481
400
  (0, _Root["default"])(), (0, _uncontrolledProps["default"])(), (0, _staticChildren["default"])(childComponents, createComponent, {
482
401
  context: context,
483
402
  parent: parent,
484
403
  enhancements: enhancements
485
- }), // functionDefaultProps must be under the staticChild
486
- (0, _functionDefaultProps["default"])(), // inheritedName must be under the staticChild
487
- (0, _inheritedName["default"])(), // dataName must be under the staticChild
488
- (0, _dataName["default"])(), // enhanceEnhancement must be under the functionDefaultPropsEnhancement
489
- (0, _enhance["default"])(), (0, _style["default"])(childComponents, context), // must be the last one so any properties can be raised
404
+ }),
405
+ // functionDefaultProps must be under the staticChild
406
+ (0, _functionDefaultProps["default"])(),
407
+ // inheritedName must be under the staticChild
408
+ (0, _inheritedName["default"])(),
409
+ // dataName must be under the staticChild
410
+ (0, _dataName["default"])(),
411
+ // enhanceEnhancement must be under the functionDefaultPropsEnhancement
412
+ (0, _enhance["default"])(), (0, _style["default"])(childComponents, context),
413
+ // must be the last one so any properties can be raised
490
414
  (0, _hoistProps["default"])(childComponents, context)]));
491
415
  Component[CONTEXT_COMPONENT] = context;
492
-
493
416
  Component[CREATE_COMPONENT] = function () {
494
417
  var _OriginComponent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : OriginComponent;
495
-
496
418
  var _childComponents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : childComponents;
497
-
498
419
  var _options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : options;
499
-
500
420
  return createComponent(_OriginComponent, _childComponents, _options);
501
421
  };
502
-
503
422
  Component[CORE_COMPONENT] = true;
504
423
  return Component;
505
424
  }
506
-
507
425
  function createBaseComponent(OriginComponent) {
508
426
  var Component = null;
509
-
510
427
  if (!_react["default"].PureComponent.isPrototypeOf(OriginComponent) && !_react["default"].Component.isPrototypeOf(OriginComponent) && typeof OriginComponent === 'function') {
511
428
  Component = /*#__PURE__*/_react["default"].forwardRef(OriginComponent);
512
429
  Component.displayName = OriginComponent.displayName;
@@ -517,10 +434,8 @@ function createBaseComponent(OriginComponent) {
517
434
  } else {
518
435
  throw new Error('createBaseComponent accepts only functional component');
519
436
  }
520
-
521
437
  return Component;
522
438
  }
523
-
524
439
  var _default = createComponent;
525
440
  exports["default"] = _default;
526
441
  //# sourceMappingURL=index.js.map
@@ -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 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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"}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_hoistNonReactStatics","_interopRequireDefault","_ref4","_useEnhancedEffect","_assignProps2","_Component","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_register","_Children","_Root","_uncontrolledProps","_functionDefaultProps","_staticChildren","_inheritedName","_hoistProps","_dataName","_enhance","_style","_bindHandler","_styled","_excluded","_excluded2","_excluded3","CORE_COMPONENT","Symbol","CORE_INSTANCE","CORE_AS_PROPS","CORE_INIT","CONTEXT_COMPONENT","CREATE_COMPONENT","PARENT_COMPONENTS","isEmptyObject","obj","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","createGetField","enhancements","Component","isFunction","getField","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","ROOT_COMPONENT","getterMethodName","getterMethodNameByDisplayName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","_ref","ref","_ref$forwardRef","forwardRef","other","_objectWithoutProperties2","createElement","BindingWrapper","_extends2","useForkRef","WrapperForwardRef","_ref2","_ref2$forwardRef","__WRAPPER_PROPS_BIND__","_reduce","WrapperComponent","_reduce$ref","enhancementRef","props","_React$Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","args","Array","_key","apply","concat","_defineProperty2","_assertThisInitialized2","_createClass2","value","render","_this2","map","fn","bind","React","hoistNonReactStatics","defaultProps","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","_OriginComponent2","_super2","context","_this3","_this4","Error","setContext","_this5","contextProps","_get2","_getPrototypeOf2","_this6","asProps","ctx","STATIC_COMPONENT","Provider","_objectSpread2","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","useEnhancedEffect","current","wrapCore","_ref3","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","_assignProps","createComponent","childComponents","options","_options$context","createContext","_options$parent","parent","_options$enhancements","parents","isArray","wholeFamily","_toConsumableArray2","f","bindHandlerEnhancement","childrenEnhancement","rootEnhancement","uncontrolledPropsEnhancement","staticChildrenEnhancement","functionDefaultPropsEnhancement","inheritedNameEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","hoistPropsEnhancement","_OriginComponent","_childComponents","_options","createBaseComponent","_default"],"sources":["../../src/index.tsx"],"sourcesContent":["import React, { ForwardRefExoticComponent, RefAttributes, useRef } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n// @ts-ignore\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n// @ts-ignore\nimport _assignProps from '@semcore/utils/lib/assignProps';\n\nimport { Component, PropsWithRenderFnChildren } from './Component';\nimport register from './register';\n\nimport childrenEnhancement, { CHILDREN_COMPONENT } from './enhancement/Children';\nimport rootEnhancement from './enhancement/Root';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport staticChildrenEnhancement, {\n STATIC_COMPONENT,\n ROOT_COMPONENT,\n getterMethodNameByDisplayName,\n} from './enhancement/staticChildren';\nimport inheritedNameEnhancement, { INHERITED_NAME } from './enhancement/inheritedName';\nimport hoistPropsEnhancement from './enhancement/hoistProps';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport styleEnhancement from './enhancement/style';\nimport bindHandlerEnhancement from './enhancement/bindHandler';\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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"}