@semcore/core 1.14.6 → 1.14.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -2
- package/lib/cjs/Component.js +0 -16
- package/lib/cjs/Component.js.map +1 -1
- package/lib/cjs/enhancement/Children.js +17 -42
- package/lib/cjs/enhancement/Children.js.map +1 -1
- package/lib/cjs/enhancement/Root.js +15 -33
- package/lib/cjs/enhancement/Root.js.map +1 -1
- package/lib/cjs/enhancement/bindHandler.js +0 -11
- package/lib/cjs/enhancement/bindHandler.js.map +1 -1
- package/lib/cjs/enhancement/dataName.js +0 -4
- package/lib/cjs/enhancement/dataName.js.map +1 -1
- package/lib/cjs/enhancement/enhance.js +0 -2
- package/lib/cjs/enhancement/enhance.js.map +1 -1
- package/lib/cjs/enhancement/functionDefaultProps.js +0 -5
- package/lib/cjs/enhancement/functionDefaultProps.js.map +1 -1
- package/lib/cjs/enhancement/hoistProps.js +10 -27
- package/lib/cjs/enhancement/hoistProps.js.map +1 -1
- package/lib/cjs/enhancement/inheritedName.js +0 -6
- package/lib/cjs/enhancement/inheritedName.js.map +1 -1
- package/lib/cjs/enhancement/staticChildren.js +14 -45
- package/lib/cjs/enhancement/staticChildren.js.map +1 -1
- package/lib/cjs/enhancement/style.js +4 -16
- package/lib/cjs/enhancement/style.js.map +1 -1
- package/lib/cjs/enhancement/uncontrolledProps.js +16 -49
- package/lib/cjs/enhancement/uncontrolledProps.js.map +1 -1
- package/lib/cjs/index.js +49 -134
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/register.js +0 -9
- package/lib/cjs/register.js.map +1 -1
- package/lib/cjs/styled/index.js +0 -5
- package/lib/cjs/styled/index.js.map +1 -1
- package/lib/cjs/styled/sstyled.js +16 -55
- package/lib/cjs/styled/sstyled.js.map +1 -1
- package/lib/es6/Component.js +0 -11
- package/lib/es6/Component.js.map +1 -1
- package/lib/es6/enhancement/Children.js +17 -36
- package/lib/es6/enhancement/Children.js.map +1 -1
- package/lib/es6/enhancement/Root.js +19 -30
- package/lib/es6/enhancement/Root.js.map +1 -1
- package/lib/es6/enhancement/bindHandler.js +0 -10
- package/lib/es6/enhancement/bindHandler.js.map +1 -1
- package/lib/es6/enhancement/dataName.js +0 -2
- package/lib/es6/enhancement/dataName.js.map +1 -1
- package/lib/es6/enhancement/enhance.js +0 -1
- package/lib/es6/enhancement/enhance.js.map +1 -1
- package/lib/es6/enhancement/functionDefaultProps.js +0 -4
- package/lib/es6/enhancement/functionDefaultProps.js.map +1 -1
- package/lib/es6/enhancement/hoistProps.js +13 -23
- package/lib/es6/enhancement/hoistProps.js.map +1 -1
- package/lib/es6/enhancement/inheritedName.js +0 -2
- package/lib/es6/enhancement/inheritedName.js.map +1 -1
- package/lib/es6/enhancement/staticChildren.js +17 -41
- package/lib/es6/enhancement/staticChildren.js.map +1 -1
- package/lib/es6/enhancement/style.js +6 -12
- package/lib/es6/enhancement/style.js.map +1 -1
- package/lib/es6/enhancement/uncontrolledProps.js +16 -42
- package/lib/es6/enhancement/uncontrolledProps.js.map +1 -1
- package/lib/es6/index.js +55 -110
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/register.js +0 -5
- package/lib/es6/register.js.map +1 -1
- package/lib/es6/styled/index.js.map +1 -1
- package/lib/es6/styled/sstyled.js +14 -49
- package/lib/es6/styled/sstyled.js.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
157
|
-
|
|
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 &&
|
|
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
|
-
|
|
202
|
-
|
|
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
|
-
|
|
211
|
-
|
|
212
|
-
|
|
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
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
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;
|
|
264
|
-
|
|
265
|
-
WrapperComponent.defaultProps = Component.defaultProps;
|
|
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);
|
|
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
|
-
|
|
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
|
-
|
|
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();
|
|
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
|
-
}
|
|
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);
|
|
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
|
-
}, {});
|
|
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
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
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),
|
|
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
|
-
}),
|
|
486
|
-
|
|
487
|
-
(0,
|
|
488
|
-
|
|
489
|
-
(0,
|
|
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
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["CORE_COMPONENT","Symbol","CORE_INSTANCE","CORE_AS_PROPS","CORE_INIT","CONTEXT_COMPONENT","CREATE_COMPONENT","PARENT_COMPONENTS","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","Component","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","ROOT_COMPONENT","getterMethodName","getterMethodNameByDisplayName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","ref","forwardRef","other","useForkRef","WrapperForwardRef","__WRAPPER_PROPS_BIND__","WrapperComponent","enhancementRef","props","BindingWrapper","map","fn","bind","React","hoistNonReactStatics","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","Error","contextProps","asProps","ctx","setContext","render","STATIC_COMPONENT","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","useEnhancedEffect","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","_assignProps","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","f","bindHandlerEnhancement","childrenEnhancement","rootEnhancement","uncontrolledPropsEnhancement","staticChildrenEnhancement","functionDefaultPropsEnhancement","inheritedNameEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","hoistPropsEnhancement","_OriginComponent","_childComponents","_options","createBaseComponent"],"sources":["../../src/index.tsx"],"sourcesContent":["import React, { ForwardRefExoticComponent, RefAttributes, useRef } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n// @ts-ignore\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n// @ts-ignore\nimport _assignProps from '@semcore/utils/lib/assignProps';\n\nimport { Component, PropsWithRenderFnChildren } from './Component';\nimport register from './register';\n\nimport childrenEnhancement, { CHILDREN_COMPONENT } from './enhancement/Children';\nimport rootEnhancement from './enhancement/Root';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport staticChildrenEnhancement, {\n STATIC_COMPONENT,\n ROOT_COMPONENT,\n getterMethodNameByDisplayName,\n} from './enhancement/staticChildren';\nimport inheritedNameEnhancement, { INHERITED_NAME } from './enhancement/inheritedName';\nimport hoistPropsEnhancement from './enhancement/hoistProps';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport styleEnhancement from './enhancement/style';\nimport bindHandlerEnhancement from './enhancement/bindHandler';\n\nconst CORE_COMPONENT = Symbol('CORE_COMPONENT');\nconst CORE_INSTANCE = Symbol('CORE_INSTANCE');\nconst CORE_AS_PROPS = Symbol('CORE_AS_PROPS');\nconst CORE_INIT = Symbol('CORE_INIT');\nconst CONTEXT_COMPONENT = Symbol('CONTEXT_COMPONENT');\nconst CREATE_COMPONENT = Symbol('CREATE_COMPONENT');\nconst PARENT_COMPONENTS = Symbol('PARENT_COMPONENTS');\n\nfunction isEmptyObject(obj) {\n return (\n Object.getOwnPropertyNames(obj).length === 0 &&\n Object.getOwnPropertySymbols && // For IE 11\n Object.getOwnPropertySymbols(obj).length === 0 &&\n Object.getPrototypeOf(obj) === Object.prototype\n );\n}\n\nfunction createGetField(enhancements, Component, isFunction) {\n return function getField(key) {\n return enhancements\n .filter((enhancement) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc, item) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component, wrapperProps, statics, isFunction) {\n const RootComponent = Component[ROOT_COMPONENT];\n const getterMethodName = getterMethodNameByDisplayName(Component?.displayName);\n const getterMethod = RootComponent?.prototype\n ? RootComponent.prototype[getterMethodName]\n : undefined;\n const useGetterIndex = getterMethod?.length >= 2;\n\n function WrapperForwardRefWithBind({ forwardRef = null, ...other }, ref) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef({ forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }, ref) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc, enhancement) => enhancement(acc, WrapperComponent, isFunction), other);\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n }\n\n class BindingWrapper extends React.Component<any> {\n 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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"}
|