@semcore/core 1.11.2 → 1.11.5

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 (47) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/lib/cjs/Component.js +3 -2
  3. package/lib/cjs/Component.js.map +1 -1
  4. package/lib/cjs/enhancement/Children.js +7 -4
  5. package/lib/cjs/enhancement/Children.js.map +1 -1
  6. package/lib/cjs/enhancement/Root.js +9 -6
  7. package/lib/cjs/enhancement/Root.js.map +1 -1
  8. package/lib/cjs/enhancement/dataName.js +2 -2
  9. package/lib/cjs/enhancement/hoistProps.js +2 -2
  10. package/lib/cjs/enhancement/hoistProps.js.map +1 -1
  11. package/lib/cjs/enhancement/staticChildren.js +3 -3
  12. package/lib/cjs/enhancement/staticChildren.js.map +1 -1
  13. package/lib/cjs/enhancement/style.js +7 -4
  14. package/lib/cjs/enhancement/style.js.map +1 -1
  15. package/lib/cjs/enhancement/uncontrolledProps.js +2 -2
  16. package/lib/cjs/enhancement/uncontrolledProps.js.map +1 -1
  17. package/lib/cjs/index.js +29 -29
  18. package/lib/cjs/index.js.map +1 -1
  19. package/lib/cjs/styled/index.js +11 -7
  20. package/lib/cjs/styled/sstyled.js +4 -6
  21. package/lib/cjs/styled/sstyled.js.map +1 -1
  22. package/lib/es6/Component.js +1 -1
  23. package/lib/es6/Component.js.map +1 -1
  24. package/lib/es6/enhancement/Children.js +6 -4
  25. package/lib/es6/enhancement/Children.js.map +1 -1
  26. package/lib/es6/enhancement/Root.js +8 -6
  27. package/lib/es6/enhancement/Root.js.map +1 -1
  28. package/lib/es6/enhancement/dataName.js +2 -2
  29. package/lib/es6/enhancement/hoistProps.js +2 -2
  30. package/lib/es6/enhancement/hoistProps.js.map +1 -1
  31. package/lib/es6/enhancement/staticChildren.js +3 -3
  32. package/lib/es6/enhancement/staticChildren.js.map +1 -1
  33. package/lib/es6/enhancement/style.js +6 -4
  34. package/lib/es6/enhancement/style.js.map +1 -1
  35. package/lib/es6/enhancement/uncontrolledProps.js +2 -2
  36. package/lib/es6/enhancement/uncontrolledProps.js.map +1 -1
  37. package/lib/es6/index.js +13 -11
  38. package/lib/es6/index.js.map +1 -1
  39. package/lib/es6/styled/sstyled.js +4 -6
  40. package/lib/es6/styled/sstyled.js.map +1 -1
  41. package/lib/types/Component.d.ts +7 -1
  42. package/lib/types/index.d.ts +2 -2
  43. package/package.json +11 -3
  44. package/src/Component.tsx +18 -5
  45. package/src/enhancement/Root.tsx +1 -1
  46. package/src/enhancement/staticChildren.tsx +1 -1
  47. package/src/index.tsx +15 -20
package/lib/cjs/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
@@ -14,30 +14,22 @@ var _exportNames = {
14
14
  CONTEXT_COMPONENT: true,
15
15
  CORE_COMPONENT: true,
16
16
  assignProps: true,
17
- Component: true,
18
17
  register: true,
19
18
  CHILDREN_COMPONENT: true,
20
19
  STATIC_COMPONENT: true,
21
20
  INHERITED_NAME: true
22
21
  };
23
- exports.createBaseComponent = createBaseComponent;
24
- exports.assignProps = assignProps;
25
- Object.defineProperty(exports, "Component", {
26
- enumerable: true,
27
- get: function get() {
28
- return _Component["default"];
29
- }
30
- });
31
- Object.defineProperty(exports, "register", {
22
+ Object.defineProperty(exports, "CHILDREN_COMPONENT", {
32
23
  enumerable: true,
33
24
  get: function get() {
34
- return _register["default"];
25
+ return _Children.CHILDREN_COMPONENT;
35
26
  }
36
27
  });
37
- Object.defineProperty(exports, "CHILDREN_COMPONENT", {
28
+ exports.CREATE_COMPONENT = exports.CORE_INSTANCE = exports.CORE_COMPONENT = exports.CONTEXT_COMPONENT = void 0;
29
+ Object.defineProperty(exports, "INHERITED_NAME", {
38
30
  enumerable: true,
39
31
  get: function get() {
40
- return _Children.CHILDREN_COMPONENT;
32
+ return _inheritedName.INHERITED_NAME;
41
33
  }
42
34
  });
43
35
  Object.defineProperty(exports, "STATIC_COMPONENT", {
@@ -46,13 +38,15 @@ Object.defineProperty(exports, "STATIC_COMPONENT", {
46
38
  return _staticChildren.STATIC_COMPONENT;
47
39
  }
48
40
  });
49
- Object.defineProperty(exports, "INHERITED_NAME", {
41
+ exports.assignProps = assignProps;
42
+ exports.createBaseComponent = createBaseComponent;
43
+ exports["default"] = void 0;
44
+ Object.defineProperty(exports, "register", {
50
45
  enumerable: true,
51
46
  get: function get() {
52
- return _inheritedName.INHERITED_NAME;
47
+ return _register["default"];
53
48
  }
54
49
  });
55
- exports["default"] = exports.CORE_COMPONENT = exports.CONTEXT_COMPONENT = exports.CORE_INSTANCE = exports.CREATE_COMPONENT = void 0;
56
50
 
57
51
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
58
52
 
@@ -86,7 +80,7 @@ var _useEnhancedEffect = _interopRequireDefault(require("@semcore/utils/lib/use/
86
80
 
87
81
  var _assignProps2 = _interopRequireDefault(require("@semcore/utils/lib/assignProps"));
88
82
 
89
- var _Component = _interopRequireWildcard(require("./Component"));
83
+ var _Component = require("./Component");
90
84
 
91
85
  Object.keys(_Component).forEach(function (key) {
92
86
  if (key === "default" || key === "__esModule") return;
@@ -149,10 +143,16 @@ Object.keys(_styled).forEach(function (key) {
149
143
  }
150
144
  });
151
145
  });
146
+ var _excluded = ["forwardRef"],
147
+ _excluded2 = ["ref"];
148
+
149
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
150
+
151
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
152
152
 
153
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
153
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
154
154
 
155
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
155
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
156
156
 
157
157
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
158
158
 
@@ -195,10 +195,10 @@ function createGetField(enhancements, Component, isFunction) {
195
195
 
196
196
  function createForwardWrapper(Component, wrapperProps, statics, isFunction) {
197
197
  // @ts-ignore
198
- var WrapperComponent = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
198
+ var WrapperComponent = _react["default"].forwardRef(function (_ref, ref) {
199
199
  var _ref$forwardRef = _ref.forwardRef,
200
200
  forwardRef = _ref$forwardRef === void 0 ? null : _ref$forwardRef,
201
- other = (0, _objectWithoutProperties2["default"])(_ref, ["forwardRef"]);
201
+ other = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
202
202
 
203
203
  // WRAPPER PROPS
204
204
  var _wrapperProps$reduce = wrapperProps.reduce(function (acc, enhancement) {
@@ -206,7 +206,7 @@ function createForwardWrapper(Component, wrapperProps, statics, isFunction) {
206
206
  }, other),
207
207
  _wrapperProps$reduce$ = _wrapperProps$reduce.ref,
208
208
  enhancementRef = _wrapperProps$reduce$ === void 0 ? null : _wrapperProps$reduce$,
209
- props = (0, _objectWithoutProperties2["default"])(_wrapperProps$reduce, ["ref"]); // @ts-ignore
209
+ props = (0, _objectWithoutProperties2["default"])(_wrapperProps$reduce, _excluded2); // @ts-ignore
210
210
 
211
211
 
212
212
  return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({}, props, {
@@ -293,7 +293,7 @@ function wrapClass(OriginComponent, enhancements, Context) {
293
293
  this[CORE_AS_PROPS] = null; // TODO if not production
294
294
 
295
295
  if (!(0, _get2["default"])((0, _getPrototypeOf2["default"])(Component.prototype), "render", this)) {
296
- throw new Error('нужно определить render метод');
296
+ throw new Error('Component `render` method is not defined');
297
297
  }
298
298
 
299
299
  var asProps = this.asProps;
@@ -328,7 +328,7 @@ function wrapFunction(OriginComponent, enhancements, Context) {
328
328
  var wrapperProps = getField('wrapperProps');
329
329
  var contexts = getField('context');
330
330
 
331
- var Component = /*#__PURE__*/_react["default"].memo(function FunctionMemoComponent(other) {
331
+ var Component = _react["default"].memo(function FunctionMemoComponent(other) {
332
332
  var selfRef = (0, _react.useRef)({});
333
333
  var firstRender = (0, _react.useRef)(true);
334
334
  (0, _useEnhancedEffect["default"])(function () {
@@ -385,7 +385,7 @@ function wrapCore(OriginComponent, enhancements, Context) {
385
385
 
386
386
  function createComposeComponent(OriginComponent, Context, enhancements) {
387
387
  if (_react["default"].PureComponent.isPrototypeOf(OriginComponent) || _react["default"].Component.isPrototypeOf(OriginComponent)) {
388
- if (OriginComponent.prototype instanceof _Component["default"]) {
388
+ if (OriginComponent.prototype instanceof _Component.Component) {
389
389
  return wrapClass(OriginComponent, enhancements, Context);
390
390
  } else {
391
391
  throw new Error('Must inherit from our component');
@@ -407,7 +407,7 @@ function createComponent(OriginComponent) {
407
407
  var childComponents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
408
408
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
409
409
  var _options$context = options.context,
410
- context = _options$context === void 0 ? /*#__PURE__*/_react["default"].createContext({}) : _options$context,
410
+ context = _options$context === void 0 ? _react["default"].createContext({}) : _options$context,
411
411
  _options$parent = options.parent,
412
412
  parent = _options$parent === void 0 ? [] : _options$parent,
413
413
  _options$enhancements = options.enhancements,
@@ -463,7 +463,7 @@ function createBaseComponent(OriginComponent) {
463
463
  var Component = null;
464
464
 
465
465
  if (!_react["default"].PureComponent.isPrototypeOf(OriginComponent) && !_react["default"].Component.isPrototypeOf(OriginComponent) && typeof OriginComponent === 'function') {
466
- Component = /*#__PURE__*/_react["default"].forwardRef(OriginComponent);
466
+ Component = _react["default"].forwardRef(OriginComponent);
467
467
  Component.displayName = OriginComponent.displayName;
468
468
  Component.defaultProps = _objectSpread({
469
469
  'data-ui-name': OriginComponent.displayName
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.tsx"],"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","WrapperComponent","React","forwardRef","ref","other","enhancementRef","props","displayName","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","Error","contextProps","asProps","ctx","setContext","render","STATIC_COMPONENT","wrapFunction","memo","FunctionMemoComponent","selfRef","firstRender","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","map","f","_OriginComponent","_childComponents","_options","createBaseComponent"],"mappings":"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","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, { STATIC_COMPONENT } 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 // @ts-ignore\n const WrapperComponent = React.forwardRef(function ({ forwardRef = null, ...other }, ref) {\n // WRAPPER PROPS\n const { ref: enhancementRef = null, ...props } = wrapperProps.reduce(\n (acc, enhancement) => enhancement(acc, WrapperComponent, isFunction),\n other,\n );\n // @ts-ignore\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\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, 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('нужно определить render метод');\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 {\n [K in keyof ChildComponentProps]: ComponentOrProps<\n ChildComponentProps[K],\n ContextType,\n UCProps\n >;\n } & {\n [CORE_COMPONENT]: boolean;\n [CREATE_COMPONENT]: () => ComponentType<\n ComponentProps,\n ChildComponentProps,\n ContextType,\n UCProps\n >;\n };\n\ninterface ClassWithUncontrolledProps<Props> {\n uncontrolledProps(): unknown;\n}\n\nfunction assignProps(p1, 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 Component,\n register,\n CREATE_COMPONENT,\n CORE_INSTANCE,\n CONTEXT_COMPONENT,\n CHILDREN_COMPONENT,\n INHERITED_NAME,\n CORE_COMPONENT,\n STATIC_COMPONENT,\n assignProps,\n};\nexport default createComponent;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.tsx"],"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","WrapperComponent","React","forwardRef","ref","other","enhancementRef","props","displayName","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","Error","contextProps","asProps","ctx","setContext","render","STATIC_COMPONENT","wrapFunction","memo","FunctionMemoComponent","selfRef","firstRender","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","map","f","_OriginComponent","_childComponents","_options","createBaseComponent"],"mappings":"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","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, { STATIC_COMPONENT } 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 // @ts-ignore\n const WrapperComponent = React.forwardRef(function ({ forwardRef = null, ...other }, ref) {\n // WRAPPER PROPS\n const { ref: enhancementRef = null, ...props } = wrapperProps.reduce(\n (acc, enhancement) => enhancement(acc, WrapperComponent, isFunction),\n other,\n );\n // @ts-ignore\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\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, 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 assignProps,\n};\nexport default createComponent;\n"],"file":"index.js"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -10,22 +10,22 @@ var _exportNames = {
10
10
  use: true,
11
11
  css: true
12
12
  };
13
- Object.defineProperty(exports, "styled", {
13
+ Object.defineProperty(exports, "css", {
14
14
  enumerable: true,
15
15
  get: function get() {
16
- return _core["default"];
16
+ return _core.css;
17
17
  }
18
18
  });
19
- Object.defineProperty(exports, "use", {
19
+ Object.defineProperty(exports, "styled", {
20
20
  enumerable: true,
21
21
  get: function get() {
22
- return _core.use;
22
+ return _core["default"];
23
23
  }
24
24
  });
25
- Object.defineProperty(exports, "css", {
25
+ Object.defineProperty(exports, "use", {
26
26
  enumerable: true,
27
27
  get: function get() {
28
- return _core.css;
28
+ return _core.use;
29
29
  }
30
30
  });
31
31
 
@@ -56,4 +56,8 @@ Object.keys(_sstyled).forEach(function (key) {
56
56
  }
57
57
  });
58
58
  });
59
+
60
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
61
+
62
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
59
63
  //# sourceMappingURL=index.js.map
@@ -17,9 +17,9 @@ var _react = require("react");
17
17
 
18
18
  var _core = require("@reshadow/core");
19
19
 
20
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
21
 
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
22
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
23
 
24
24
  var RESHADOW_ID = '__reshadow__';
25
25
  var isSSR = !(typeof window !== 'undefined' && window.document && window.document.createElement);
@@ -98,9 +98,7 @@ function merge() {
98
98
 
99
99
  function getClassAndVars(styles, name, props) {
100
100
  function getPropValue(key, props) {
101
- var _props$;
102
-
103
- return (_props$ = props["use:".concat(key)]) !== null && _props$ !== void 0 ? _props$ : props[key];
101
+ return props["use:".concat(key)] ?? props[key];
104
102
  }
105
103
 
106
104
  return Object.entries(styles).reduce(function (acc, _ref3) {
@@ -124,7 +122,7 @@ function getClassAndVars(styles, name, props) {
124
122
 
125
123
  if (modValue === undefined) {
126
124
  // @ts-ignore
127
- acc[0][value] = Boolean(propValue !== null && propValue !== void 0 ? propValue : false);
125
+ acc[0][value] = Boolean(propValue ?? false);
128
126
  } else {
129
127
  // @ts-ignore
130
128
  acc[0][value] = propValue == modValue;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/styled/sstyled.tsx"],"names":["RESHADOW_ID","isSSR","window","document","createElement","serverMap","map","getStyles","css","serverStyles","id","insert","code","hash","concat","container","getElementById","head","appendChild","addEventListener","type","innerHTML","merge","s1","s2","Object","entries","reduce","acc","key","value","startsWith","assign","getClassAndVars","styles","name","props","getPropValue","substring","split","mod","modValue","propValue","undefined","Boolean","reshadowToShadow","obj","style","n","replace","sstyled","cn","classes","extraProps","keys","length","className","Error","SHADOW_STYLES","Symbol"],"mappings":";;;;;;;;;;;;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,WAAW,GAAG,cAApB;AAEA,IAAMC,KAAK,GAAG,EAAE,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACC,QAAxC,IAAoDD,MAAM,CAACC,QAAP,CAAgBC,aAAtE,CAAd;AAEA,IAAMC,SAAS,GAAG,uBAAoBC,GAAtC;;AAEA,IAAMC,SAAS,GAAG,SAAZA,SAAY;AAAA,SAAO;AACvBD,IAAAA,GAAG,EAAED,SADkB;;AAEvB,QAAIG,GAAJ,GAAU;AACR,UAAIC,YAAY,GAAG,EAAnB;;AACA,WAAK,IAAMC,EAAX,IAAiBL,SAAjB,EAA4B;AAC1BI,QAAAA,YAAY,yCAAkCC,EAAlC,eAAyCL,SAAS,CAACK,EAAD,CAAlD,aAAZ;AACD;;AACD,aAAOD,YAAP;AACD;;AARsB,GAAP;AAAA,CAAlB;;AAWA,SAASE,MAAT,CAAgBC,IAAhB,EAAsBC,IAAtB,EAA4B;AAC1B,MAAMH,EAAE,GAAG,YAAYI,MAAZ,CAAmBD,IAAnB,CAAX;;AAEA,MAAIZ,KAAJ,EAAW;AACTI,IAAAA,SAAS,CAACK,EAAD,CAAT,GAAgBE,IAAhB;AACA;AACD;;AAED,MAAIG,SAAS,GAAGZ,QAAQ,CAACa,cAAT,CAAwBhB,WAAxB,CAAhB;;AAEA,MAAI,CAACe,SAAL,EAAgB;AACdA,IAAAA,SAAS,GAAGZ,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAAZ;AACAW,IAAAA,SAAS,CAACL,EAAV,GAAeV,WAAf;;AAEA,QAAIG,QAAQ,CAACc,IAAb,EAAmB;AACjBd,MAAAA,QAAQ,CAACc,IAAT,CAAcC,WAAd,CAA0BH,SAA1B;AACD,KAFD,MAEO;AACLZ,MAAAA,QAAQ,CAACgB,gBAAT,CAA0B,kBAA1B,EAA8C,YAAY;AACxDhB,QAAAA,QAAQ,CAACc,IAAT,CAAcC,WAAd,CAA0BH,SAA1B;AACD,OAFD;AAGD;AACF;;AAED,MAAIP,GAAG,GAAGL,QAAQ,CAACa,cAAT,CAAwBN,EAAxB,CAAV;;AAEA,MAAI,CAACF,GAAL,EAAU;AACRA,IAAAA,GAAG,GAAGL,QAAQ,CAACC,aAAT,CAAuB,OAAvB,CAAN;AACAI,IAAAA,GAAG,CAACE,EAAJ,GAASA,EAAT,CAFQ,CAGR;;AACAF,IAAAA,GAAG,CAACY,IAAJ,GAAW,UAAX;AACAL,IAAAA,SAAS,CAACG,WAAV,CAAsBV,GAAtB;AACD;;AAEDA,EAAAA,GAAG,CAACa,SAAJ,GAAgBT,IAAhB;AACD;;AAED,SAASU,KAAT,GAAiC;AAAA,MAAlBC,EAAkB,uEAAb,EAAa;AAAA,MAATC,EAAS,uEAAJ,EAAI;AAC/B,SAAOC,MAAM,CAACC,OAAP,CAAeF,EAAf,EAAmBG,MAAnB,CAA0B,UAACC,GAAD,QAAuB;AAAA;AAAA,QAAhBC,GAAgB;AAAA,QAAXC,KAAW;;AACtD,QAAID,GAAG,CAACE,UAAJ,CAAe,GAAf,KAAuBF,GAAG,CAACE,UAAJ,CAAe,IAAf,CAA3B,EAAiD;AAC/CH,MAAAA,GAAG,CAACC,GAAD,CAAH,GAAWC,KAAX;AACD,KAFD,MAEO;AACLF,MAAAA,GAAG,CAACC,GAAD,CAAH,GAAW,4BAAGD,GAAG,CAACC,GAAD,CAAN,EAAaC,KAAb,CAAX;AACD;;AACD,WAAOF,GAAP;AACD,GAPM,EAOJH,MAAM,CAACO,MAAP,CAAc,EAAd,EAAkBT,EAAlB,CAPI,CAAP;AAQD;;AAED,SAASU,eAAT,CAAyBC,MAAzB,EAAiCC,IAAjC,EAAuCC,KAAvC,EAA8C;AAC5C,WAASC,YAAT,CAAsBR,GAAtB,EAA2BO,KAA3B,EAAkC;AAAA;;AAChC,sBAAOA,KAAK,eAAQP,GAAR,EAAZ,6CAA8BO,KAAK,CAACP,GAAD,CAAnC;AACD;;AAED,SAAOJ,MAAM,CAACC,OAAP,CAAeQ,MAAf,EAAuBP,MAAvB,CACL,UAACC,GAAD,SAAuB;AAAA;AAAA,QAAhBC,GAAgB;AAAA,QAAXC,KAAW;;AACrB,QAAID,GAAG,CAACE,UAAJ,CAAe,IAAf,CAAJ,EAA0B;AACxB;AACAH,MAAAA,GAAG,CAAC,CAAD,CAAH,CAAOE,KAAP,IAAgBO,YAAY,CAACR,GAAG,CAACS,SAAJ,CAAc,CAAd,CAAD,EAAmBF,KAAnB,CAA5B;AACD,KAHD,MAGO,IAAID,IAAI,KAAKN,GAAb,EAAkB;AACvB;AACAD,MAAAA,GAAG,CAAC,CAAD,CAAH,CAAOE,KAAP,IAAgB,IAAhB;AACD,KAHM,MAGA;AAAA,uBACmBD,GAAG,CAACU,KAAJ,CAAU,GAAV,CADnB;AAAA;AAAA,UACEC,GADF;AAAA,UACOC,QADP;;AAEL,UAAMC,SAAS,GAAGL,YAAY,CAACG,GAAD,EAAMJ,KAAN,CAA9B;;AACA,UAAIK,QAAQ,KAAKE,SAAjB,EAA4B;AAC1B;AACAf,QAAAA,GAAG,CAAC,CAAD,CAAH,CAAOE,KAAP,IAAgBc,OAAO,CAACF,SAAD,aAACA,SAAD,cAACA,SAAD,GAAc,KAAd,CAAvB;AACD,OAHD,MAGO;AACL;AACAd,QAAAA,GAAG,CAAC,CAAD,CAAH,CAAOE,KAAP,IAAgBY,SAAS,IAAID,QAA7B;AACD;AACF;;AACD,WAAOb,GAAP;AACD,GApBI,EAqBL,CAAC,EAAD,EAAK,EAAL,CArBK,CAAP;AAuBD;;AAED,SAASiB,gBAAT,CAA0BC,GAA1B,EAA+B;AAC7B,SAAOrB,MAAM,CAACC,OAAP,CAAeoB,GAAf,EAAoBnB,MAApB,CAA2B,UAACoB,KAAD,SAA0B;AAAA;AAAA,QAAjBZ,IAAiB;AAAA,QAAXL,KAAW;;AAC1D,QAAIkB,CAAC,GAAGb,IAAR;;AACA,QAAIA,IAAI,CAACJ,UAAL,CAAgB,IAAhB,CAAJ,EAA2B;AACzBiB,MAAAA,CAAC,GAAGb,IAAI,CAACc,OAAL,CAAa,KAAb,EAAoB,EAApB,CAAJ;AACD,KAFD,MAEO,IAAId,IAAI,CAACJ,UAAL,CAAgB,GAAhB,CAAJ,EAA0B;AAC/BiB,MAAAA,CAAC,GAAGb,IAAI,CAACc,OAAL,CAAa,IAAb,EAAmB,EAAnB,EAAuBA,OAAvB,CAA+B,GAA/B,EAAoC,GAApC,CAAJ;AACD;;AACDF,IAAAA,KAAK,CAACC,CAAD,CAAL,GAAWlB,KAAX;AACA,WAAOiB,KAAP;AACD,GATM,EASJ,EATI,CAAP;AAUD;;AAED,SAASG,OAAT,GAIE;AAAA,MAHAhB,MAGA,uEAHS,EAGT;AACA;AACA,SAAO;AACLiB,IAAAA,EADK,cACFhB,IADE,EACIC,KADJ,EACW;AAAA,6BACWH,eAAe,CAACY,gBAAgB,CAACX,MAAD,CAAjB,EAA2BC,IAA3B,EAAiCC,KAAjC,CAD1B;AAAA;AAAA,UACPgB,OADO;AAAA,UACEL,KADF;;AAEd,UAAMM,UAAU,GAAG,EAAnB;;AAEA,UAAI5B,MAAM,CAAC6B,IAAP,CAAYF,OAAZ,EAAqBG,MAAzB,EAAiC;AAC/B;AACAF,QAAAA,UAAU,CAACG,SAAX,GAAuB,4BAAGpB,KAAK,CAACoB,SAAT,EAAoBJ,OAApB,CAAvB;AACD;;AAED,UAAI3B,MAAM,CAAC6B,IAAP,CAAYP,KAAZ,EAAmBQ,MAAvB,EAA+B;AAC7B;AACAF,QAAAA,UAAU,CAACN,KAAX,GAAmBtB,MAAM,CAACO,MAAP,CAAce,KAAd,EAAqBX,KAAK,CAACW,KAA3B,CAAnB;AACD;;AACD,6CACKX,KADL,GAEKiB,UAFL;AAID;AAlBI,GAAP;AAoBD;;AAEDH,OAAO,CAAC1C,GAAR,GAAc,UAAUA,GAAV,EAA0C;AACtD,QAAM,IAAIiD,KAAJ,CAAU,qBAAV,CAAN;AACD,CAFD;;AAGAP,OAAO,CAACvC,MAAR,GAAiBA,MAAjB;AACAuC,OAAO,CAAC5B,KAAR,GAAgBA,KAAhB;AACA4B,OAAO,CAAC3C,SAAR,GAAoBA,SAApB;AACA2C,OAAO,CAACQ,aAAR,GAAwBC,MAAM,CAAC,eAAD,CAA9B;AAGA","sourcesContent":["/* eslint-disable */\nimport cn from 'classnames';\nimport { ReactNode } from 'react';\nimport { getStyles as reshadowGetStyles } from '@reshadow/core';\n\nconst RESHADOW_ID = '__reshadow__';\n\nconst isSSR = !(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nconst serverMap = reshadowGetStyles().map;\n\nconst getStyles = () => ({\n map: serverMap,\n get css() {\n let serverStyles = '';\n for (const id in serverMap) {\n serverStyles += `<style type='text/css' id='${id}'>${serverMap[id]}</style>`;\n }\n return serverStyles;\n },\n});\n\nfunction insert(code, hash) {\n const id = 'reshadow-'.concat(hash);\n\n if (isSSR) {\n serverMap[id] = code;\n return;\n }\n\n let container = document.getElementById(RESHADOW_ID);\n\n if (!container) {\n container = document.createElement('object');\n container.id = RESHADOW_ID;\n\n if (document.head) {\n document.head.appendChild(container);\n } else {\n document.addEventListener('DOMContentLoaded', function () {\n document.head.appendChild(container);\n });\n }\n }\n\n let css = document.getElementById(id);\n\n if (!css) {\n css = document.createElement('style');\n css.id = id;\n // @ts-ignore\n css.type = 'text/css';\n container.appendChild(css);\n }\n\n css.innerHTML = code;\n}\n\nfunction merge(s1 = {}, s2 = {}) {\n return Object.entries(s2).reduce((acc, [key, value]) => {\n if (key.startsWith('@') || key.startsWith('--')) {\n acc[key] = value;\n } else {\n acc[key] = cn(acc[key], value);\n }\n return acc;\n }, Object.assign({}, s1));\n}\n\nfunction getClassAndVars(styles, name, props) {\n function getPropValue(key, props) {\n return props[`use:${key}`] ?? props[key];\n }\n\n return Object.entries(styles).reduce(\n (acc, [key, value]) => {\n if (key.startsWith('--')) {\n // @ts-ignore\n acc[1][value] = getPropValue(key.substring(2), props);\n } else if (name === key) {\n // @ts-ignore\n acc[0][value] = true;\n } else {\n const [mod, modValue] = key.split('=');\n const propValue = getPropValue(mod, props);\n if (modValue === undefined) {\n // @ts-ignore\n acc[0][value] = Boolean(propValue ?? false);\n } else {\n // @ts-ignore\n acc[0][value] = propValue == modValue;\n }\n }\n return acc;\n },\n [{}, {}],\n );\n}\n\nfunction reshadowToShadow(obj) {\n return Object.entries(obj).reduce((style, [name, value]) => {\n let n = name;\n if (name.startsWith('__')) {\n n = name.replace(/^__/, '');\n } else if (name.startsWith('_')) {\n n = name.replace(/^_/, '').replace('_', '=');\n }\n style[n] = value;\n return style;\n }, {});\n}\n\nfunction sstyled(\n styles = {},\n): ((ReactNode) => ReactNode) & {\n cn(name: string, props: any): any;\n} {\n // @ts-ignore\n return {\n cn(name, props) {\n const [classes, style] = getClassAndVars(reshadowToShadow(styles), name, props);\n const extraProps = {};\n\n if (Object.keys(classes).length) {\n // @ts-ignore\n extraProps.className = cn(props.className, classes);\n }\n\n if (Object.keys(style).length) {\n // @ts-ignore\n extraProps.style = Object.assign(style, props.style);\n }\n return {\n ...props,\n ...extraProps,\n };\n },\n };\n}\n\nsstyled.css = function (css): { [key: string]: string } {\n throw new Error('Enable babel plugin');\n};\nsstyled.insert = insert;\nsstyled.merge = merge;\nsstyled.getStyles = getStyles;\nsstyled.SHADOW_STYLES = Symbol('SHADOW_STYLES');\n\nexport { sstyled };\n/* eslint-enable */\n"],"file":"sstyled.js"}
1
+ {"version":3,"sources":["../../../src/styled/sstyled.tsx"],"names":["RESHADOW_ID","isSSR","window","document","createElement","serverMap","map","getStyles","css","serverStyles","id","insert","code","hash","concat","container","getElementById","head","appendChild","addEventListener","type","innerHTML","merge","s1","s2","Object","entries","reduce","acc","key","value","startsWith","assign","getClassAndVars","styles","name","props","getPropValue","substring","split","mod","modValue","propValue","undefined","Boolean","reshadowToShadow","obj","style","n","replace","sstyled","cn","classes","extraProps","keys","length","className","Error","SHADOW_STYLES","Symbol"],"mappings":"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","sourcesContent":["/* eslint-disable */\nimport cn from 'classnames';\nimport { ReactNode } from 'react';\nimport { getStyles as reshadowGetStyles } from '@reshadow/core';\n\nconst RESHADOW_ID = '__reshadow__';\n\nconst isSSR = !(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nconst serverMap = reshadowGetStyles().map;\n\nconst getStyles = () => ({\n map: serverMap,\n get css() {\n let serverStyles = '';\n for (const id in serverMap) {\n serverStyles += `<style type='text/css' id='${id}'>${serverMap[id]}</style>`;\n }\n return serverStyles;\n },\n});\n\nfunction insert(code, hash) {\n const id = 'reshadow-'.concat(hash);\n\n if (isSSR) {\n serverMap[id] = code;\n return;\n }\n\n let container = document.getElementById(RESHADOW_ID);\n\n if (!container) {\n container = document.createElement('object');\n container.id = RESHADOW_ID;\n\n if (document.head) {\n document.head.appendChild(container);\n } else {\n document.addEventListener('DOMContentLoaded', function () {\n document.head.appendChild(container);\n });\n }\n }\n\n let css = document.getElementById(id);\n\n if (!css) {\n css = document.createElement('style');\n css.id = id;\n // @ts-ignore\n css.type = 'text/css';\n container.appendChild(css);\n }\n\n css.innerHTML = code;\n}\n\nfunction merge(s1 = {}, s2 = {}) {\n return Object.entries(s2).reduce((acc, [key, value]) => {\n if (key.startsWith('@') || key.startsWith('--')) {\n acc[key] = value;\n } else {\n acc[key] = cn(acc[key], value);\n }\n return acc;\n }, Object.assign({}, s1));\n}\n\nfunction getClassAndVars(styles, name, props) {\n function getPropValue(key, props) {\n return props[`use:${key}`] ?? props[key];\n }\n\n return Object.entries(styles).reduce(\n (acc, [key, value]) => {\n if (key.startsWith('--')) {\n // @ts-ignore\n acc[1][value] = getPropValue(key.substring(2), props);\n } else if (name === key) {\n // @ts-ignore\n acc[0][value] = true;\n } else {\n const [mod, modValue] = key.split('=');\n const propValue = getPropValue(mod, props);\n if (modValue === undefined) {\n // @ts-ignore\n acc[0][value] = Boolean(propValue ?? false);\n } else {\n // @ts-ignore\n acc[0][value] = propValue == modValue;\n }\n }\n return acc;\n },\n [{}, {}],\n );\n}\n\nfunction reshadowToShadow(obj) {\n return Object.entries(obj).reduce((style, [name, value]) => {\n let n = name;\n if (name.startsWith('__')) {\n n = name.replace(/^__/, '');\n } else if (name.startsWith('_')) {\n n = name.replace(/^_/, '').replace('_', '=');\n }\n style[n] = value;\n return style;\n }, {});\n}\n\nfunction sstyled(\n styles = {},\n): ((ReactNode) => ReactNode) & {\n cn(name: string, props: any): any;\n} {\n // @ts-ignore\n return {\n cn(name, props) {\n const [classes, style] = getClassAndVars(reshadowToShadow(styles), name, props);\n const extraProps = {};\n\n if (Object.keys(classes).length) {\n // @ts-ignore\n extraProps.className = cn(props.className, classes);\n }\n\n if (Object.keys(style).length) {\n // @ts-ignore\n extraProps.style = Object.assign(style, props.style);\n }\n return {\n ...props,\n ...extraProps,\n };\n },\n };\n}\n\nsstyled.css = function (css): { [key: string]: string } {\n throw new Error('Enable babel plugin');\n};\nsstyled.insert = insert;\nsstyled.merge = merge;\nsstyled.getStyles = getStyles;\nsstyled.SHADOW_STYLES = Symbol('SHADOW_STYLES');\n\nexport { sstyled };\n/* eslint-enable */\n"],"file":"sstyled.js"}
@@ -48,5 +48,5 @@ var RootComponent = /*#__PURE__*/function (_PureComponent) {
48
48
  return RootComponent;
49
49
  }(PureComponent);
50
50
 
51
- export { RootComponent as default };
51
+ export var Component = RootComponent;
52
52
  //# sourceMappingURL=Component.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Component.tsx"],"names":["PureComponent","RootComponent"],"mappings":";;;;;;;;;;;;AAAA,SAGEA,aAHF,QAMO,OANP;;IA8E8BC,a;;;;;;;;;;;;;;;;;;;;;;;SAK5B,eAAiD;AAC/C,aAAO,EAAP;AACD;;;SAED,eAAc;AACZ,aAAO,EAAP;AAGD;;;;EATOD,a;;SAJoBC,a","sourcesContent":["import React, {\n AllHTMLAttributes,\n ForwardRefExoticComponent,\n PureComponent,\n ReactNode,\n RefObject,\n} from 'react';\nimport { IStyledProps } from './styled';\n\ntype KnownKeys<T> = {\n [K in keyof T]: string extends K ? never : number extends K ? never : K;\n} extends { [_ in keyof T]: infer U }\n ? U\n : never;\n\nexport type HandlersType<UCProps> = { [K in keyof UCProps]?: <T = unknown>(arg: T) => void };\nexport type ChildrenType<Props = {}, Ctx = {}, UCProps = {}> =\n | ((props: Props & Ctx, handlers: HandlersType<UCProps>) => ReactNode)\n | ReactNode;\n\nexport type RootComponentHandler = (...args: any[]) => void | false;\n\nexport interface IRootComponentHandlers {\n [key: string]: RootComponentHandler;\n}\n\nexport interface IRootComponentProps<Props = {}, Ctx = {}> {\n forwardRef?: RefObject<any>;\n Children?: any;\n children?: ChildrenType<Props, Ctx>;\n styles?: IStyledProps['styles'];\n}\n\nexport type IComponentProps<Props = {}, Ctx = {}> = Props & IRootComponentProps<Props, Ctx>;\n\nexport type IFunctionProps<Props = {}, Ctx = {}> = IComponentProps<Props, Ctx> &\n Omit<AllHTMLAttributes<any>, keyof IComponentProps<Props, Ctx>> & { Root?: Root };\n\nexport type PropsWithRenderFnChildren<Props = {}, Ctx = {}, UCProps = {}> = Omit<\n Pick<Props, KnownKeys<Props>>,\n 'children'\n> & {\n children?: ChildrenType<Props, Ctx, UCProps>;\n [key: string]: unknown;\n};\n\nexport type CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\nexport type ReturnEl = React.ReactElement | null;\n\nexport interface IRootNodeProps {\n render: React.ElementType | string;\n tag?: React.ElementType | string;\n\n [key: string]: any;\n}\n\ntype Root = ForwardRefExoticComponent<IRootNodeProps>;\n\n/**\n * @deprecated since version ^1.8.0\n */\nexport type PropGetter<T extends (...args: any) => any> = <P>(props?: P) => ReturnType<T> & P;\n/**\n * @deprecated since version ^1.8.0\n */\nexport type PropGetterReturn<T extends (...args: any) => any> = Partial<ReturnType<T>>;\nexport type PropGetterFn = <T extends {}>(props?: T) => T & { [key: string]: unknown };\nexport type Merge<Props, HTMLProps> = Props & Omit<HTMLProps, keyof Props>;\nexport type MergeGetters<G1 extends (...args: any) => any, G2 extends (...args: any) => any> = <P>(\n props?: P,\n) => Merge<ReturnType<G1>, ReturnType<G2>> & P;\n\ndeclare const Root: Root;\n\nexport { Root };\n\nexport default abstract class RootComponent<\n Props = {},\n Context = {},\n State = {}\n> extends PureComponent<Props & IRootComponentProps<Props, Context>, State> {\n get handlers(): Readonly<IRootComponentHandlers> {\n return {};\n }\n\n get asProps() {\n return {} as Readonly<\n Merge<Props & IRootComponentProps<Props, Context>, AllHTMLAttributes<any>>\n >;\n }\n\n Root: Root;\n}\n"],"file":"Component.js"}
1
+ {"version":3,"sources":["../../src/Component.tsx"],"names":["PureComponent","RootComponent","Component"],"mappings":";;;;;;;;;;;;AAAA,SAGEA,aAHF,QAMO,OANP;;IA8EeC,a;;;;;;;;;;;;;;;;;;;;;;;SAIb,eAAiD;AAC/C,aAAO,EAAP;AACD;;;SAED,eAAc;AACZ,aAAO,EAAP;AAGD;;;;EAZwED,a;;AAiB3E,OAAO,IAAME,SAAS,GAAGD,aAAlB","sourcesContent":["import React, {\n AllHTMLAttributes,\n ForwardRefExoticComponent,\n PureComponent,\n ReactNode,\n RefObject,\n} from 'react';\nimport { IStyledProps } from './styled';\n\ntype KnownKeys<T> = {\n [K in keyof T]: string extends K ? never : number extends K ? never : K;\n} extends { [_ in keyof T]: infer U }\n ? U\n : never;\n\nexport type HandlersType<UCProps> = { [K in keyof UCProps]?: <T = unknown>(arg: T) => void };\nexport type ChildrenType<Props = {}, Ctx = {}, UCProps = {}> =\n | ((props: Props & Ctx, handlers: HandlersType<UCProps>) => ReactNode)\n | ReactNode;\n\nexport type RootComponentHandler = (...args: any[]) => void | false;\n\nexport interface IRootComponentHandlers {\n [key: string]: RootComponentHandler;\n}\n\nexport interface IRootComponentProps<Props = {}, Ctx = {}> {\n forwardRef?: RefObject<any>;\n Children?: any;\n children?: ChildrenType<Props, Ctx>;\n styles?: IStyledProps['styles'];\n}\n\nexport type IComponentProps<Props = {}, Ctx = {}> = Props & IRootComponentProps<Props, Ctx>;\n\nexport type IFunctionProps<Props = {}, Ctx = {}> = IComponentProps<Props, Ctx> &\n Omit<AllHTMLAttributes<any>, keyof IComponentProps<Props, Ctx>> & { Root?: Root };\n\nexport type PropsWithRenderFnChildren<Props = {}, Ctx = {}, UCProps = {}> = Omit<\n Pick<Props, KnownKeys<Props>>,\n 'children'\n> & {\n children?: ChildrenType<Props, Ctx, UCProps>;\n [key: string]: unknown;\n};\n\nexport type CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\nexport type ReturnEl = React.ReactElement | null;\n\nexport interface IRootNodeProps {\n render: React.ElementType | string;\n tag?: React.ElementType | string;\n\n [key: string]: any;\n}\n\ntype Root = ForwardRefExoticComponent<IRootNodeProps>;\n\n/**\n * @deprecated since version ^1.8.0\n */\nexport type PropGetter<T extends (...args: any) => any> = <P>(props?: P) => ReturnType<T> & P;\n/**\n * @deprecated since version ^1.8.0\n */\nexport type PropGetterReturn<T extends (...args: any) => any> = Partial<ReturnType<T>>;\nexport type PropGetterFn = <T extends {}>(props?: T) => T & { [key: string]: unknown };\nexport type Merge<Props, HTMLProps> = Props & Omit<HTMLProps, keyof Props>;\nexport type MergeGetters<G1 extends (...args: any) => any, G2 extends (...args: any) => any> = <P>(\n props?: P,\n) => Merge<ReturnType<G1>, ReturnType<G2>> & P;\n\ndeclare const Root: Root;\n\nexport { Root };\n\nabstract class RootComponent<Props = {}, Context = {}, State = {}> extends PureComponent<\n Props & IRootComponentProps<Props, Context>,\n State\n> {\n get handlers(): Readonly<IRootComponentHandlers> {\n return {};\n }\n\n get asProps() {\n return {} as Readonly<\n Merge<Props & IRootComponentProps<Props, Context>, AllHTMLAttributes<any>>\n >;\n }\n\n Root: Root;\n}\n\nexport const Component = RootComponent;\nexport type Component<\n Props = {},\n Context = {},\n State = {},\n Handlers extends IRootComponentHandlers = IRootComponentHandlers,\n> = React.ComponentClass<Props, State> & {\n handlers: Readonly<Handlers>;\n\n asProps: Readonly<Merge<Props & IRootComponentProps<Props, Context>, AllHTMLAttributes<any>>>;\n\n Root: Root;\n};\n"],"file":"Component.js"}
@@ -2,10 +2,12 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
2
2
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
3
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
4
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
+ var _excluded = ["handlers", "getters"],
6
+ _excluded2 = ["handlers"];
5
7
 
6
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
8
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
9
 
8
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
11
 
10
12
  import { useContext } from 'react';
11
13
  import { CONTEXT_COMPONENT } from '../index';
@@ -71,7 +73,7 @@ function createChildren(Context, contexts) {
71
73
  var _reduce = [].concat(_toConsumableArray(contexts), [Context]).reduce(function (acc, ctx) {
72
74
  var _useContext = useContext(ctx),
73
75
  handlers = _useContext.handlers,
74
- propsAndGetters = _objectWithoutProperties(_useContext, ["handlers"]);
76
+ propsAndGetters = _objectWithoutProperties(_useContext, _excluded2);
75
77
 
76
78
  var _splitPropsAndGetters = splitPropsAndGetters(propsAndGetters),
77
79
  props = _splitPropsAndGetters.props,
@@ -86,7 +88,7 @@ function createChildren(Context, contexts) {
86
88
  handlers = _reduce$handlers === void 0 ? {} : _reduce$handlers,
87
89
  _reduce$getters = _reduce.getters,
88
90
  getters = _reduce$getters === void 0 ? {} : _reduce$getters,
89
- props = _objectWithoutProperties(_reduce, ["handlers", "getters"]);
91
+ props = _objectWithoutProperties(_reduce, _excluded);
90
92
 
91
93
  var mergedGetters = Object.entries(getters).reduce(function (acc, _ref3) {
92
94
  var _ref4 = _slicedToArray(_ref3, 2),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/enhancement/Children.tsx"],"names":["useContext","CONTEXT_COMPONENT","CHILDREN_COMPONENT","Symbol","CHILDREN_SELF","GETTER_REG","splitPropsAndGetters","props","Object","entries","reduce","acc","key","value","exec","getters","getterToArray","getter","Array","isArray","mergeObjects","a","b","core","keys","assignGettersChain","createChildren","Context","contexts","Children","children","origin","ctx","handlers","propsAndGetters","assign","mergedGetters","undefined","Enhancement","parent","init","map","component","filter","Boolean","asProps"],"mappings":"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","sourcesContent":["import { useContext } from 'react';\nimport { CONTEXT_COMPONENT } from '../index';\n\nexport const CHILDREN_COMPONENT = Symbol('CHILDREN_COMPONENT');\nconst CHILDREN_SELF = Symbol('CHILDREN_SELF');\n\nconst GETTER_REG = /^get[\\w]+Props$/;\n\nfunction splitPropsAndGetters(props) {\n return Object.entries(props).reduce(\n (acc, [key, value]) => {\n if (GETTER_REG.exec(key) === null) {\n acc.props[key] = value;\n } else {\n acc.getters[key] = value;\n }\n return acc;\n },\n { props: {}, getters: {} },\n );\n}\n\nfunction getterToArray(getter) {\n if (!Array.isArray(getter)) {\n return typeof getter === 'function' ? [getter] : [];\n }\n return getter;\n}\n\nfunction mergeObjects(a = {}, b = {}) {\n const core = { ...a, ...b };\n return Object.keys(core).reduce((acc, key) => {\n a[key] = getterToArray(a[key]);\n b[key] = getterToArray(b[key]);\n acc[key] = [...a[key], ...b[key]];\n return acc;\n }, {});\n}\n\nfunction assignGettersChain(getters: Array<Function>) {\n return function (props = {}) {\n return getters.reduce((acc, getter) => {\n return getter(acc);\n }, props);\n };\n}\n\nfunction createChildren(Context, contexts) {\n const Children = function () {\n const children = Children.origin;\n if (typeof children === 'function') {\n const { handlers = {}, getters = {}, ...props } = [...contexts, Context].reduce(\n (acc, ctx) => {\n const { handlers, ...propsAndGetters } = useContext(ctx);\n const { props, getters } = splitPropsAndGetters(propsAndGetters);\n return Object.assign({}, acc, {\n handlers: Object.assign({}, acc.handlers, handlers),\n getters: mergeObjects(acc.getters, getters),\n ...props,\n });\n },\n Children.props,\n );\n\n const mergedGetters = Object.entries(getters).reduce((acc, [key, value]) => {\n acc[key] = assignGettersChain(value as []);\n return acc;\n }, {});\n\n return children({ ...props, ...mergedGetters }, handlers);\n } else if (children === undefined) {\n return null;\n }\n return children;\n };\n Children.origin = null;\n Children.props = {};\n Children[CHILDREN_COMPONENT] = true;\n return Children;\n}\n\nfunction Enhancement(Context, parent) {\n return {\n init: function () {\n const contexts = (Array.isArray(parent) ? parent : [parent])\n .map((component) => component[CONTEXT_COMPONENT])\n .filter(Boolean);\n this[CHILDREN_SELF] = createChildren(Context, contexts);\n },\n asProps: function (props) {\n // TODO: разобраться зачем это надо было\n // this[CHILDREN_SELF].origin = _Children ? _Children.origin : children;\n this[CHILDREN_SELF].origin = props.children;\n this[CHILDREN_SELF].props = props;\n return {\n ...props,\n Children: this[CHILDREN_SELF],\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"file":"Children.js"}
1
+ {"version":3,"sources":["../../../src/enhancement/Children.tsx"],"names":["useContext","CONTEXT_COMPONENT","CHILDREN_COMPONENT","Symbol","CHILDREN_SELF","GETTER_REG","splitPropsAndGetters","props","Object","entries","reduce","acc","key","value","exec","getters","getterToArray","getter","Array","isArray","mergeObjects","a","b","core","keys","assignGettersChain","createChildren","Context","contexts","Children","children","origin","ctx","handlers","propsAndGetters","assign","mergedGetters","undefined","Enhancement","parent","init","map","component","filter","Boolean","asProps"],"mappings":";;;;;;;;;;;AAAA,SAASA,UAAT,QAA2B,OAA3B;AACA,SAASC,iBAAT,QAAkC,UAAlC;AAEA,OAAO,IAAMC,kBAAkB,GAAGC,MAAM,CAAC,oBAAD,CAAjC;AACP,IAAMC,aAAa,GAAGD,MAAM,CAAC,eAAD,CAA5B;AAEA,IAAME,UAAU,GAAG,iBAAnB;;AAEA,SAASC,oBAAT,CAA8BC,KAA9B,EAAqC;AACnC,SAAOC,MAAM,CAACC,OAAP,CAAeF,KAAf,EAAsBG,MAAtB,CACL,UAACC,GAAD,QAAuB;AAAA;AAAA,QAAhBC,GAAgB;AAAA,QAAXC,KAAW;;AACrB,QAAIR,UAAU,CAACS,IAAX,CAAgBF,GAAhB,MAAyB,IAA7B,EAAmC;AACjCD,MAAAA,GAAG,CAACJ,KAAJ,CAAUK,GAAV,IAAiBC,KAAjB;AACD,KAFD,MAEO;AACLF,MAAAA,GAAG,CAACI,OAAJ,CAAYH,GAAZ,IAAmBC,KAAnB;AACD;;AACD,WAAOF,GAAP;AACD,GARI,EASL;AAAEJ,IAAAA,KAAK,EAAE,EAAT;AAAaQ,IAAAA,OAAO,EAAE;AAAtB,GATK,CAAP;AAWD;;AAED,SAASC,aAAT,CAAuBC,MAAvB,EAA+B;AAC7B,MAAI,CAACC,KAAK,CAACC,OAAN,CAAcF,MAAd,CAAL,EAA4B;AAC1B,WAAO,OAAOA,MAAP,KAAkB,UAAlB,GAA+B,CAACA,MAAD,CAA/B,GAA0C,EAAjD;AACD;;AACD,SAAOA,MAAP;AACD;;AAED,SAASG,YAAT,GAAsC;AAAA,MAAhBC,CAAgB,uEAAZ,EAAY;AAAA,MAARC,CAAQ,uEAAJ,EAAI;;AACpC,MAAMC,IAAI,mCAAQF,CAAR,GAAcC,CAAd,CAAV;;AACA,SAAOd,MAAM,CAACgB,IAAP,CAAYD,IAAZ,EAAkBb,MAAlB,CAAyB,UAACC,GAAD,EAAMC,GAAN,EAAc;AAC5CS,IAAAA,CAAC,CAACT,GAAD,CAAD,GAASI,aAAa,CAACK,CAAC,CAACT,GAAD,CAAF,CAAtB;AACAU,IAAAA,CAAC,CAACV,GAAD,CAAD,GAASI,aAAa,CAACM,CAAC,CAACV,GAAD,CAAF,CAAtB;AACAD,IAAAA,GAAG,CAACC,GAAD,CAAH,gCAAeS,CAAC,CAACT,GAAD,CAAhB,sBAA0BU,CAAC,CAACV,GAAD,CAA3B;AACA,WAAOD,GAAP;AACD,GALM,EAKJ,EALI,CAAP;AAMD;;AAED,SAASc,kBAAT,CAA4BV,OAA5B,EAAsD;AACpD,SAAO,YAAsB;AAAA,QAAZR,KAAY,uEAAJ,EAAI;AAC3B,WAAOQ,OAAO,CAACL,MAAR,CAAe,UAACC,GAAD,EAAMM,MAAN,EAAiB;AACrC,aAAOA,MAAM,CAACN,GAAD,CAAb;AACD,KAFM,EAEJJ,KAFI,CAAP;AAGD,GAJD;AAKD;;AAED,SAASmB,cAAT,CAAwBC,OAAxB,EAAiCC,QAAjC,EAA2C;AACzC,MAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAY;AAC3B,QAAMC,QAAQ,GAAGD,QAAQ,CAACE,MAA1B;;AACA,QAAI,OAAOD,QAAP,KAAoB,UAAxB,EAAoC;AAClC,oBAAkD,6BAAIF,QAAJ,IAAcD,OAAd,GAAuBjB,MAAvB,CAChD,UAACC,GAAD,EAAMqB,GAAN,EAAc;AACZ,0BAAyChC,UAAU,CAACgC,GAAD,CAAnD;AAAA,YAAQC,QAAR,eAAQA,QAAR;AAAA,YAAqBC,eAArB;;AACA,oCAA2B5B,oBAAoB,CAAC4B,eAAD,CAA/C;AAAA,YAAQ3B,KAAR,yBAAQA,KAAR;AAAA,YAAeQ,OAAf,yBAAeA,OAAf;;AACA,eAAOP,MAAM,CAAC2B,MAAP,CAAc,EAAd,EAAkBxB,GAAlB;AACLsB,UAAAA,QAAQ,EAAEzB,MAAM,CAAC2B,MAAP,CAAc,EAAd,EAAkBxB,GAAG,CAACsB,QAAtB,EAAgCA,QAAhC,CADL;AAELlB,UAAAA,OAAO,EAAEK,YAAY,CAACT,GAAG,CAACI,OAAL,EAAcA,OAAd;AAFhB,WAGFR,KAHE,EAAP;AAKD,OAT+C,EAUhDsB,QAAQ,CAACtB,KAVuC,CAAlD;AAAA,qCAAQ0B,QAAR;AAAA,UAAQA,QAAR,iCAAmB,EAAnB;AAAA,oCAAuBlB,OAAvB;AAAA,UAAuBA,OAAvB,gCAAiC,EAAjC;AAAA,UAAwCR,KAAxC;;AAaA,UAAM6B,aAAa,GAAG5B,MAAM,CAACC,OAAP,CAAeM,OAAf,EAAwBL,MAAxB,CAA+B,UAACC,GAAD,SAAuB;AAAA;AAAA,YAAhBC,GAAgB;AAAA,YAAXC,KAAW;;AAC1EF,QAAAA,GAAG,CAACC,GAAD,CAAH,GAAWa,kBAAkB,CAACZ,KAAD,CAA7B;AACA,eAAOF,GAAP;AACD,OAHqB,EAGnB,EAHmB,CAAtB;AAKA,aAAOmB,QAAQ,iCAAMvB,KAAN,GAAgB6B,aAAhB,GAAiCH,QAAjC,CAAf;AACD,KApBD,MAoBO,IAAIH,QAAQ,KAAKO,SAAjB,EAA4B;AACjC,aAAO,IAAP;AACD;;AACD,WAAOP,QAAP;AACD,GA1BD;;AA2BAD,EAAAA,QAAQ,CAACE,MAAT,GAAkB,IAAlB;AACAF,EAAAA,QAAQ,CAACtB,KAAT,GAAiB,EAAjB;AACAsB,EAAAA,QAAQ,CAAC3B,kBAAD,CAAR,GAA+B,IAA/B;AACA,SAAO2B,QAAP;AACD;;AAED,SAASS,WAAT,CAAqBX,OAArB,EAA8BY,MAA9B,EAAsC;AACpC,SAAO;AACLC,IAAAA,IAAI,EAAE,gBAAY;AAChB,UAAMZ,QAAQ,GAAG,CAACV,KAAK,CAACC,OAAN,CAAcoB,MAAd,IAAwBA,MAAxB,GAAiC,CAACA,MAAD,CAAlC,EACdE,GADc,CACV,UAACC,SAAD;AAAA,eAAeA,SAAS,CAACzC,iBAAD,CAAxB;AAAA,OADU,EAEd0C,MAFc,CAEPC,OAFO,CAAjB;AAGA,WAAKxC,aAAL,IAAsBsB,cAAc,CAACC,OAAD,EAAUC,QAAV,CAApC;AACD,KANI;AAOLiB,IAAAA,OAAO,EAAE,iBAAUtC,KAAV,EAAiB;AACxB;AACA;AACA,WAAKH,aAAL,EAAoB2B,MAApB,GAA6BxB,KAAK,CAACuB,QAAnC;AACA,WAAK1B,aAAL,EAAoBG,KAApB,GAA4BA,KAA5B;AACA,6CACKA,KADL;AAEEsB,QAAAA,QAAQ,EAAE,KAAKzB,aAAL;AAFZ;AAID;AAhBI,GAAP;AAkBD;;AAED,eAAekC,WAAf","sourcesContent":["import { useContext } from 'react';\nimport { CONTEXT_COMPONENT } from '../index';\n\nexport const CHILDREN_COMPONENT = Symbol('CHILDREN_COMPONENT');\nconst CHILDREN_SELF = Symbol('CHILDREN_SELF');\n\nconst GETTER_REG = /^get[\\w]+Props$/;\n\nfunction splitPropsAndGetters(props) {\n return Object.entries(props).reduce(\n (acc, [key, value]) => {\n if (GETTER_REG.exec(key) === null) {\n acc.props[key] = value;\n } else {\n acc.getters[key] = value;\n }\n return acc;\n },\n { props: {}, getters: {} },\n );\n}\n\nfunction getterToArray(getter) {\n if (!Array.isArray(getter)) {\n return typeof getter === 'function' ? [getter] : [];\n }\n return getter;\n}\n\nfunction mergeObjects(a = {}, b = {}) {\n const core = { ...a, ...b };\n return Object.keys(core).reduce((acc, key) => {\n a[key] = getterToArray(a[key]);\n b[key] = getterToArray(b[key]);\n acc[key] = [...a[key], ...b[key]];\n return acc;\n }, {});\n}\n\nfunction assignGettersChain(getters: Array<Function>) {\n return function (props = {}) {\n return getters.reduce((acc, getter) => {\n return getter(acc);\n }, props);\n };\n}\n\nfunction createChildren(Context, contexts) {\n const Children = function () {\n const children = Children.origin;\n if (typeof children === 'function') {\n const { handlers = {}, getters = {}, ...props } = [...contexts, Context].reduce(\n (acc, ctx) => {\n const { handlers, ...propsAndGetters } = useContext(ctx);\n const { props, getters } = splitPropsAndGetters(propsAndGetters);\n return Object.assign({}, acc, {\n handlers: Object.assign({}, acc.handlers, handlers),\n getters: mergeObjects(acc.getters, getters),\n ...props,\n });\n },\n Children.props,\n );\n\n const mergedGetters = Object.entries(getters).reduce((acc, [key, value]) => {\n acc[key] = assignGettersChain(value as []);\n return acc;\n }, {});\n\n return children({ ...props, ...mergedGetters }, handlers);\n } else if (children === undefined) {\n return null;\n }\n return children;\n };\n Children.origin = null;\n Children.props = {};\n Children[CHILDREN_COMPONENT] = true;\n return Children;\n}\n\nfunction Enhancement(Context, parent) {\n return {\n init: function () {\n const contexts = (Array.isArray(parent) ? parent : [parent])\n .map((component) => component[CONTEXT_COMPONENT])\n .filter(Boolean);\n this[CHILDREN_SELF] = createChildren(Context, contexts);\n },\n asProps: function (props) {\n // TODO: разобраться зачем это надо было\n // this[CHILDREN_SELF].origin = _Children ? _Children.origin : children;\n this[CHILDREN_SELF].origin = props.children;\n this[CHILDREN_SELF].props = props;\n return {\n ...props,\n Children: this[CHILDREN_SELF],\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"file":"Children.js"}
@@ -1,10 +1,12 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["render"],
5
+ _excluded2 = ["Root", "styles", "children", "Children", "forwardRef"];
4
6
 
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
7
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
8
 
7
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
9
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
10
 
9
11
  import React from 'react'; // @ts-ignore
10
12
 
@@ -14,9 +16,9 @@ import { useForkRef } from '@semcore/utils/lib/ref';
14
16
 
15
17
  function createRootRender() {
16
18
  // @ts-ignore
17
- var Root = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
19
+ var Root = React.forwardRef(function (_ref, ref) {
18
20
  var Tag = _ref.render,
19
- source = _objectWithoutProperties(_ref, ["render"]);
21
+ source = _objectWithoutProperties(_ref, _excluded);
20
22
 
21
23
  var _Root$props = Root.props,
22
24
  _Root = _Root$props.Root,
@@ -25,7 +27,7 @@ function createRootRender() {
25
27
  Children = _Root$props.Children,
26
28
  _Root$props$forwardRe = _Root$props.forwardRef,
27
29
  forwardRef = _Root$props$forwardRe === void 0 ? null : _Root$props$forwardRe,
28
- props = _objectWithoutProperties(_Root$props, ["Root", "styles", "children", "Children", "forwardRef"]);
30
+ props = _objectWithoutProperties(_Root$props, _excluded2);
29
31
 
30
32
  var clearProps = Object.entries(props).reduce(function (props, _ref2) {
31
33
  var _ref3 = _slicedToArray(_ref2, 2),
@@ -50,7 +52,7 @@ function createRootRender() {
50
52
  }), _objectSpread(_objectSpread({}, child), source));
51
53
 
52
54
  if (!Tag) {
53
- throw new Error('В Root нужно передать render');
55
+ throw new Error('`render` prop of Root is not provided');
54
56
  }
55
57
 
56
58
  return /*#__PURE__*/React.createElement(Tag, other);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/enhancement/Root.tsx"],"names":["React","assignProps","useForkRef","createRootRender","Root","forwardRef","ref","Tag","render","source","props","_Root","styles","children","Children","clearProps","Object","entries","reduce","name","value","undefined","child","origin","other","Error","Enhancement","init","asProps","WrapperComponent","isFunction"],"mappings":";;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB,C,CACA;;AACA,OAAOC,WAAP,MAAwB,gCAAxB,C,CACA;;AACA,SAASC,UAAT,QAA2B,wBAA3B;;AAEA,SAASC,gBAAT,GAA4B;AAC1B;AACA,MAAMC,IAAI,gBAAGJ,KAAK,CAACK,UAAN,CAAiB,gBAAsCC,GAAtC,EAA2C;AAAA,QAAvBC,GAAuB,QAA/BC,MAA+B;AAAA,QAAfC,MAAe;;AAAA,sBAYnEL,IAAI,CAACM,KAZ8D;AAAA,QAG/DC,KAH+D,eAGrEP,IAHqE;AAAA,QAKrEQ,MALqE,eAKrEA,MALqE;AAAA,QAOrEC,QAPqE,eAOrEA,QAPqE;AAAA,QAQrEC,QARqE,eAQrEA,QARqE;AAAA,4CASrET,UATqE;AAAA,QASrEA,UATqE,sCASxD,IATwD;AAAA,QAUlEK,KAVkE;;AAcvE,QAAMK,UAAU,GAAGC,MAAM,CAACC,OAAP,CAAeP,KAAf,EAAsBQ,MAAtB,CAA6B,UAACR,KAAD,SAA0B;AAAA;AAAA,UAAjBS,IAAiB;AAAA,UAAXC,KAAW;;AACxE,UAAIA,KAAK,KAAKC,SAAd,EAAyB;AACvBX,QAAAA,KAAK,CAACS,IAAD,CAAL,GAAcC,KAAd;AACD;;AACD,aAAOV,KAAP;AACD,KALkB,EAKhB,EALgB,CAAnB;AAOA,QAAMY,KAAK,GAAG,EAAd,CArBuE,CAsBvE;;AACA,QAAI,OAAOR,QAAQ,CAACS,MAAhB,KAA2B,WAA/B,EAA4C;AAC1C;AACAD,MAAAA,KAAK,CAACT,QAAN,gBAAiB,oBAAC,QAAD,OAAjB;AACD;;AAED,QAAMW,KAAK,GAAGvB,WAAW,iCAElBc,UAFkB;AAGrBT,MAAAA,GAAG,EAAEJ,UAAU,CAACG,UAAD,EAAaC,GAAb;AAHM,wCAMlBgB,KANkB,GAOlBb,MAPkB,EAAzB;;AAUA,QAAI,CAACF,GAAL,EAAU;AACR,YAAM,IAAIkB,KAAJ,CAAU,8BAAV,CAAN;AACD;;AACD,wBAAO,oBAAC,GAAD,EAASD,KAAT,CAAP;AACD,GA1CY,CAAb,CAF0B,CA6C1B;;AACApB,EAAAA,IAAI,CAACM,KAAL,GAAa,EAAb;AACA,SAAON,IAAP;AACD;;AAED,SAASsB,WAAT,GAAuB;AACrB,SAAO;AACLC,IAAAA,IAAI,EAAE,gBAAY;AAChB,WAAKvB,IAAL,GAAYD,gBAAgB,EAA5B;AACD,KAHI;AAILyB,IAAAA,OAAO,EAAE,iBAAUlB,KAAV,EAAiBmB,gBAAjB,EAAmCC,UAAnC,EAA+C;AACtD,UAAIA,UAAJ,EAAgB;AACd,+CACKpB,KADL;AAEEN,UAAAA,IAAI,EAAE,KAAKA;AAFb;AAID;;AACD,aAAOM,KAAP;AACD,KAZI;AAaLF,IAAAA,MAAM,EAAE,gBAAUA,OAAV,EAAkBE,KAAlB,EAAyB;AAC/B,WAAKN,IAAL,CAAUM,KAAV,GAAkBA,KAAlB;AACA,aAAOF,OAAP;AACD;AAhBI,GAAP;AAkBD;;AAED,eAAekB,WAAf","sourcesContent":["import React from 'react';\n// @ts-ignore\nimport assignProps from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n\nfunction createRootRender() {\n // @ts-ignore\n const Root = React.forwardRef(function ({ render: Tag, ...source }, ref) {\n const {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Root: _Root,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n styles,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n children,\n Children,\n forwardRef = null,\n ...props\n // @ts-ignore\n } = Root.props;\n\n const clearProps = Object.entries(props).reduce((props, [name, value]) => {\n if (value !== undefined) {\n props[name] = value;\n }\n return props;\n }, {});\n\n const child = {};\n // TODO: разобраться как то иначе\n if (typeof Children.origin !== 'undefined') {\n // @ts-ignore\n child.children = <Children />;\n }\n\n const other = assignProps(\n {\n ...clearProps,\n ref: useForkRef(forwardRef, ref),\n },\n {\n ...child,\n ...source,\n },\n );\n if (!Tag) {\n throw new Error('В Root нужно передать render');\n }\n return <Tag {...other} />;\n });\n // @ts-ignore\n Root.props = {};\n return Root;\n}\n\nfunction Enhancement() {\n return {\n init: function () {\n this.Root = createRootRender();\n },\n asProps: function (props, WrapperComponent, isFunction) {\n if (isFunction) {\n return {\n ...props,\n Root: this.Root,\n };\n }\n return props;\n },\n render: function (render, props) {\n this.Root.props = props;\n return render;\n },\n };\n}\n\nexport default Enhancement;\n"],"file":"Root.js"}
1
+ {"version":3,"sources":["../../../src/enhancement/Root.tsx"],"names":["React","assignProps","useForkRef","createRootRender","Root","forwardRef","ref","Tag","render","source","props","_Root","styles","children","Children","clearProps","Object","entries","reduce","name","value","undefined","child","origin","other","Error","Enhancement","init","asProps","WrapperComponent","isFunction"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB,C,CACA;;AACA,OAAOC,WAAP,MAAwB,gCAAxB,C,CACA;;AACA,SAASC,UAAT,QAA2B,wBAA3B;;AAEA,SAASC,gBAAT,GAA4B;AAC1B;AACA,MAAMC,IAAI,GAAGJ,KAAK,CAACK,UAAN,CAAiB,gBAAsCC,GAAtC,EAA2C;AAAA,QAAvBC,GAAuB,QAA/BC,MAA+B;AAAA,QAAfC,MAAe;;AACvE,sBAWIL,IAAI,CAACM,KAXT;AAAA,QAEQC,KAFR,eAEEP,IAFF;AAAA,QAIEQ,MAJF,eAIEA,MAJF;AAAA,QAMEC,QANF,eAMEA,QANF;AAAA,QAOEC,QAPF,eAOEA,QAPF;AAAA,4CAQET,UARF;AAAA,QAQEA,UARF,sCAQe,IARf;AAAA,QASKK,KATL;;AAaA,QAAMK,UAAU,GAAGC,MAAM,CAACC,OAAP,CAAeP,KAAf,EAAsBQ,MAAtB,CAA6B,UAACR,KAAD,SAA0B;AAAA;AAAA,UAAjBS,IAAiB;AAAA,UAAXC,KAAW;;AACxE,UAAIA,KAAK,KAAKC,SAAd,EAAyB;AACvBX,QAAAA,KAAK,CAACS,IAAD,CAAL,GAAcC,KAAd;AACD;;AACD,aAAOV,KAAP;AACD,KALkB,EAKhB,EALgB,CAAnB;AAOA,QAAMY,KAAK,GAAG,EAAd,CArBuE,CAsBvE;;AACA,QAAI,OAAOR,QAAQ,CAACS,MAAhB,KAA2B,WAA/B,EAA4C;AAC1C;AACAD,MAAAA,KAAK,CAACT,QAAN,gBAAiB,oBAAC,QAAD,OAAjB;AACD;;AAED,QAAMW,KAAK,GAAGvB,WAAW,iCAElBc,UAFkB;AAGrBT,MAAAA,GAAG,EAAEJ,UAAU,CAACG,UAAD,EAAaC,GAAb;AAHM,wCAMlBgB,KANkB,GAOlBb,MAPkB,EAAzB;;AAUA,QAAI,CAACF,GAAL,EAAU;AACR,YAAM,IAAIkB,KAAJ,CAAU,uCAAV,CAAN;AACD;;AACD,wBAAO,oBAAC,GAAD,EAASD,KAAT,CAAP;AACD,GA1CY,CAAb,CAF0B,CA6C1B;;AACApB,EAAAA,IAAI,CAACM,KAAL,GAAa,EAAb;AACA,SAAON,IAAP;AACD;;AAED,SAASsB,WAAT,GAAuB;AACrB,SAAO;AACLC,IAAAA,IAAI,EAAE,gBAAY;AAChB,WAAKvB,IAAL,GAAYD,gBAAgB,EAA5B;AACD,KAHI;AAILyB,IAAAA,OAAO,EAAE,iBAAUlB,KAAV,EAAiBmB,gBAAjB,EAAmCC,UAAnC,EAA+C;AACtD,UAAIA,UAAJ,EAAgB;AACd,+CACKpB,KADL;AAEEN,UAAAA,IAAI,EAAE,KAAKA;AAFb;AAID;;AACD,aAAOM,KAAP;AACD,KAZI;AAaLF,IAAAA,MAAM,EAAE,gBAAUA,OAAV,EAAkBE,KAAlB,EAAyB;AAC/B,WAAKN,IAAL,CAAUM,KAAV,GAAkBA,KAAlB;AACA,aAAOF,OAAP;AACD;AAhBI,GAAP;AAkBD;;AAED,eAAekB,WAAf","sourcesContent":["import React from 'react';\n// @ts-ignore\nimport assignProps from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n\nfunction createRootRender() {\n // @ts-ignore\n const Root = React.forwardRef(function ({ render: Tag, ...source }, ref) {\n const {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Root: _Root,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n styles,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n children,\n Children,\n forwardRef = null,\n ...props\n // @ts-ignore\n } = Root.props;\n\n const clearProps = Object.entries(props).reduce((props, [name, value]) => {\n if (value !== undefined) {\n props[name] = value;\n }\n return props;\n }, {});\n\n const child = {};\n // TODO: разобраться как то иначе\n if (typeof Children.origin !== 'undefined') {\n // @ts-ignore\n child.children = <Children />;\n }\n\n const other = assignProps(\n {\n ...clearProps,\n ref: useForkRef(forwardRef, ref),\n },\n {\n ...child,\n ...source,\n },\n );\n if (!Tag) {\n throw new Error('`render` prop of Root is not provided');\n }\n return <Tag {...other} />;\n });\n // @ts-ignore\n Root.props = {};\n return Root;\n}\n\nfunction Enhancement() {\n return {\n init: function () {\n this.Root = createRootRender();\n },\n asProps: function (props, WrapperComponent, isFunction) {\n if (isFunction) {\n return {\n ...props,\n Root: this.Root,\n };\n }\n return props;\n },\n render: function (render, props) {\n this.Root.props = props;\n return render;\n },\n };\n}\n\nexport default Enhancement;\n"],"file":"Root.js"}
@@ -1,8 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
 
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
4
 
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
6
 
7
7
  function Enhancement() {
8
8
  return {