@semcore/core 1.11.7 → 1.11.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +69 -0
  3. package/lib/cjs/Component.js.map +1 -1
  4. package/lib/cjs/enhancement/Children.js +1 -1
  5. package/lib/cjs/enhancement/Children.js.map +1 -1
  6. package/lib/cjs/enhancement/Root.js +2 -2
  7. package/lib/cjs/enhancement/Root.js.map +1 -1
  8. package/lib/cjs/enhancement/bindHandler.js.map +1 -1
  9. package/lib/cjs/enhancement/dataName.js.map +1 -1
  10. package/lib/cjs/enhancement/enhance.js.map +1 -1
  11. package/lib/cjs/enhancement/functionDefaultProps.js.map +1 -1
  12. package/lib/cjs/enhancement/hoistProps.js +3 -3
  13. package/lib/cjs/enhancement/hoistProps.js.map +1 -1
  14. package/lib/cjs/enhancement/inheritedName.js.map +1 -1
  15. package/lib/cjs/enhancement/staticChildren.js.map +1 -1
  16. package/lib/cjs/enhancement/style.js +1 -1
  17. package/lib/cjs/enhancement/style.js.map +1 -1
  18. package/lib/cjs/enhancement/uncontrolledProps.js +2 -2
  19. package/lib/cjs/enhancement/uncontrolledProps.js.map +1 -1
  20. package/lib/cjs/index.js +4 -4
  21. package/lib/cjs/index.js.map +1 -1
  22. package/lib/cjs/register.js.map +1 -1
  23. package/lib/cjs/styled/index.js.map +1 -1
  24. package/lib/cjs/styled/sstyled.js +4 -2
  25. package/lib/cjs/styled/sstyled.js.map +1 -1
  26. package/lib/es6/Component.js.map +1 -1
  27. package/lib/es6/enhancement/Children.js +1 -1
  28. package/lib/es6/enhancement/Children.js.map +1 -1
  29. package/lib/es6/enhancement/Root.js +2 -2
  30. package/lib/es6/enhancement/Root.js.map +1 -1
  31. package/lib/es6/enhancement/bindHandler.js.map +1 -1
  32. package/lib/es6/enhancement/dataName.js.map +1 -1
  33. package/lib/es6/enhancement/enhance.js.map +1 -1
  34. package/lib/es6/enhancement/functionDefaultProps.js.map +1 -1
  35. package/lib/es6/enhancement/hoistProps.js +3 -3
  36. package/lib/es6/enhancement/hoistProps.js.map +1 -1
  37. package/lib/es6/enhancement/inheritedName.js.map +1 -1
  38. package/lib/es6/enhancement/staticChildren.js.map +1 -1
  39. package/lib/es6/enhancement/style.js +1 -1
  40. package/lib/es6/enhancement/style.js.map +1 -1
  41. package/lib/es6/enhancement/uncontrolledProps.js +2 -2
  42. package/lib/es6/enhancement/uncontrolledProps.js.map +1 -1
  43. package/lib/es6/index.js +4 -4
  44. package/lib/es6/index.js.map +1 -1
  45. package/lib/es6/register.js.map +1 -1
  46. package/lib/es6/styled/index.js.map +1 -1
  47. package/lib/es6/styled/sstyled.js +4 -2
  48. package/lib/es6/styled/sstyled.js.map +1 -1
  49. package/package.json +3 -3
  50. package/src/Component.tsx +0 -108
  51. package/src/enhancement/Children.tsx +0 -103
  52. package/src/enhancement/Root.tsx +0 -78
  53. package/src/enhancement/bindHandler.tsx +0 -45
  54. package/src/enhancement/dataName.tsx +0 -12
  55. package/src/enhancement/enhance.tsx +0 -12
  56. package/src/enhancement/functionDefaultProps.tsx +0 -29
  57. package/src/enhancement/hoistProps.tsx +0 -88
  58. package/src/enhancement/inheritedName.tsx +0 -18
  59. package/src/enhancement/staticChildren.tsx +0 -128
  60. package/src/enhancement/style.tsx +0 -47
  61. package/src/enhancement/uncontrolledProps.tsx +0 -134
  62. package/src/index.tsx +0 -381
  63. package/src/register.tsx +0 -18
  64. package/src/styled/index.tsx +0 -9
  65. package/src/styled/sstyled.tsx +0 -150
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/enhancement/uncontrolledProps.tsx"],"names":["callAllEventHandlers","capitalizeFirstLetter","assign","target","source","Object","defineProperties","keys","reduce","descriptors","key","getOwnPropertyDescriptor","defaultProp","prop","handlerProp","isControlled","propValue","undefined","uncontrolledProp","self","propName","propDefaultValue","propHandler","chainHandler","getValue","state","value","oldValue","setState","args","uncontrolledUniversal","props","config","handlerProps","uncontrolledProps","result","handlerName","defaultPropName","other","console","warn","setter","Array","isArray","v","handler","eventOrValue","push","uncontrolled","bind","Enhancement","condition","Component","Boolean","prototype","init","handlers","uncontrolledHandlers","context","asProps"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA,SAASA,oBAAT,QAAqC,gCAArC,C,CACA;;AACA,OAAOC,qBAAP,MAAkC,0CAAlC;;AAEA,SAASC,MAAT,CAAgBC,MAAhB,EAAwBC,MAAxB,EAAgC;AAC9B,SAAOC,MAAM,CAACC,gBAAP,CACLH,MADK,EAELE,MAAM,CAACE,IAAP,CAAYH,MAAZ,EAAoBI,MAApB,CAA2B,UAACC,WAAD,EAAcC,GAAd,EAAsB;AAC/CD,IAAAA,WAAW,CAACC,GAAD,CAAX,GAAmBL,MAAM,CAACM,wBAAP,CAAgCP,MAAhC,EAAwCM,GAAxC,CAAnB;AACA,WAAOD,WAAP;AACD,GAHD,EAGG,EAHH,CAFK,CAAP;AAOD;;AAED,SAASG,WAAT,CAAqBC,IAArB,EAA2B;AACzB,SAAO,YAAYZ,qBAAqB,CAACY,IAAD,CAAxC;AACD;;AAED,SAASC,WAAT,CAAqBD,IAArB,EAA2B;AACzB,MAAIA,IAAI,KAAK,OAAb,EAAsBA,IAAI,GAAG,EAAP;AACtB,MAAIA,IAAI,KAAK,SAAb,EAAwBA,IAAI,GAAG,EAAP;AACxB,qBAAYZ,qBAAqB,CAACY,IAAD,CAAjC;AACD;;AAED,SAASE,YAAT,CAAsBC,SAAtB,EAAiC;AAC/B,SAAOA,SAAS,KAAKC,SAArB;AACD;;AAED,SAASC,gBAAT,CAA0BC,IAA1B,EAAgCC,QAAhC,EAA0CJ,SAA1C,EAAqDK,gBAArD,EAAuEC,WAAvE,EAAoFC,YAApF,EAAkG;AAChG,WAASC,QAAT,GAAoB;AAClB,WAAOT,YAAY,CAACC,SAAD,CAAZ,GACHA,SADG,GAEHI,QAAQ,IAAID,IAAI,CAACM,KAAjB,GACAN,IAAI,CAACM,KAAL,CAAWL,QAAX,CADA,GAEAC,gBAJJ;AAKD;;AAED,SAAO,CACLG,QAAQ,EADH,EAEL,UAACE,KAAD,EAAoB;AAClB,QAAMC,QAAQ,GAAGH,QAAQ,EAAzB;AACA,QAAIG,QAAQ,KAAKD,KAAjB,EAAwB,OAAO,KAAP;AACxB,QAAI,CAACX,YAAY,CAACC,SAAD,CAAjB,EAA8BG,IAAI,CAACS,QAAL,qBAAiBR,QAAjB,EAA4BM,KAA5B;;AAHZ,sCAATG,IAAS;AAATA,MAAAA,IAAS;AAAA;;AAIlB,WAAO7B,oBAAoB,MAApB,UAAqBsB,WAArB,4BAAqCC,YAArC,mBAAmDG,KAAnD,SAA6DG,IAA7D,EAAP;AACD,GAPI,CAAP;AASD;;AAED,SAASC,qBAAT,CAA+BC,KAA/B,EAAsCC,MAAtC,EAA8Cd,gBAA9C,EAAgE;AAC9D,MAAMe,YAAY,GAAG,EAArB;AACA,MAAMC,iBAAiB,GAAG7B,MAAM,CAACE,IAAP,CAAYyB,MAAZ,EAAoBxB,MAApB,CAA2B,UAAC2B,MAAD,EAASf,QAAT,EAAsB;AAAA;;AACzE,QAAMgB,WAAW,GAAGtB,WAAW,CAACM,QAAD,CAA/B;AACA,QAAMiB,eAAe,GAAGzB,WAAW,CAACQ,QAAD,CAAnC;;AACA,QACqBC,gBADrB,GAKIc,MALJ,CACGE,eADH;AAAA,QAEcrB,SAFd,GAKImB,MALJ,CAEGf,QAFH;AAAA,QAGiBE,WAHjB,GAKIa,MALJ,CAGGC,WAHH;AAAA,QAIKE,KAJL,4BAKIH,MALJ,GACGE,eADH,EAEGjB,QAFH,EAGGgB,WAHH;;AAOA,QAAIf,gBAAgB,KAAKJ,SAAzB,EAAoC;AAClC;AACAsB,MAAAA,OAAO,CAACC,IAAR,CAAaH,eAAb,EAA8B,qCAA9B;AACD,KAbwE,CAezE;AACA;AACA;;;AAEA,QAAII,MAAM,GAAGT,MAAM,CAACZ,QAAD,CAAnB;AACA,QAAIG,YAAY,GAAG,EAAnB;;AAEA,QAAImB,KAAK,CAACC,OAAN,CAAcF,MAAd,CAAJ;AAAA,oBAAuDA,MAAvD;;AAAA;;AAA4BA,MAAAA,MAA5B;AAAuClB,MAAAA,YAAvC;AAAA;;AACAkB,IAAAA,MAAM,GAAGA,MAAM,IAAK,UAACG,CAAD;AAAA,aAAOA,CAAP;AAAA,KAApB;;AAEA,4BAAyB1B,gBAAgB,CACvCE,QADuC,EAEvCJ,SAFuC,EAGvCK,gBAHuC,EAIvCC,WAJuC,EAKvCC,YALuC,CAAzC;AAAA;AAAA,QAAOG,KAAP;AAAA,QAAcmB,OAAd,yBAzByE,CAgCzE;;;AACAZ,IAAAA,YAAY,CAACb,QAAD,CAAZ,GAAyByB,OAAzB;AAEA,2CACKP,KADL,6DAEGlB,QAFH,EAEcM,KAFd,mCAGGU,WAHH,EAGiB,UAACU,YAAD,EAA2B;AAAA,yCAATjB,IAAS;AAATA,QAAAA,IAAS;AAAA;;AACxC,UAAMM,MAAM,IAAIM,MAAM,MAAN,UAAOK,YAAP,SAAwBjB,IAAxB,EAAJ,SAAsCA,IAAtC,CAAZ;;AACA,UAAIiB,YAAY,IAAIA,YAAY,CAAC3C,MAAjC,EAAyC;AACvCgC,QAAAA,MAAM,CAACY,IAAP,CAAYD,YAAZ;AACD;;AACD,aAAOD,OAAO,MAAP,4BAAWV,MAAX,EAAP;AACD,KATH;AAWD,GA9CyB,EA8CvBJ,KA9CuB,CAA1B;AA+CA,SAAO,CAACG,iBAAD,EAAoBD,YAApB,CAAP;AACD;;AAED,SAASe,YAAT,CAAsB7B,IAAtB,EAA4BY,KAA5B,EAAmCC,MAAnC,EAA2C;AACzC,SAAOF,qBAAqB,CAACC,KAAD,EAAQC,MAAR,EAAgBd,gBAAgB,CAAC+B,IAAjB,CAAsBhC,SAAtB,EAAiCE,IAAjC,CAAhB,CAA5B;AACD;;AAED,SAAS+B,WAAT,GAAuB;AACrB,SAAO;AACLC,IAAAA,SAAS,EAAE,mBAAUC,SAAV,EAAqB;AAC9B,aAAOC,OAAO,CAACD,SAAS,CAACE,SAAV,CAAoBpB,iBAArB,CAAd;AACD,KAHI;AAILqB,IAAAA,IAAI,EAAE,gBAAY;AAChB,WAAK9B,KAAL,GAAa,KAAKA,KAAL,IAAc,EAA3B;AACAvB,MAAAA,MAAM,CAAC,IAAD,EAAO;AACX,YAAIsD,QAAJ,GAAe;AACb,8BAAiCR,YAAY,CAAC,IAAD,EAAO,KAAKjB,KAAZ,EAAmB,KAAKG,iBAAL,EAAnB,CAA7C;AAAA;AAAA,cAASuB,oBAAT;;AACA,iBAAOA,oBAAP;AACD;;AAJU,OAAP,CAAN;AAMD,KAZI;AAaLC,IAAAA,OAAO,EAAE,iBAAUA,QAAV,EAAmB;AAC1B,6CACKA,QADL;AAEEF,QAAAA,QAAQ,EAAE,KAAKA;AAFjB;AAID,KAlBI;AAmBLG,IAAAA,OAAO,EAAE,iBAAU5B,KAAV,EAAiB;AACxB;AACA,2BAA4BiB,YAAY,CAAC,IAAD,EAAOjB,KAAP,EAAc,KAAKG,iBAAL,EAAd,CAAxC;AAAA;AAAA,UAAOA,iBAAP;;AACA,aAAOA,iBAAP;AACD;AAvBI,GAAP;AAyBD;;AAED,eAAegB,WAAf","sourcesContent":["// @ts-ignore\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport capitalizeFirstLetter from '@semcore/utils/lib/capitalizeFirstLetter';\n\nfunction assign(target, source) {\n return Object.defineProperties(\n target,\n Object.keys(source).reduce((descriptors, key) => {\n descriptors[key] = Object.getOwnPropertyDescriptor(source, key);\n return descriptors;\n }, {}),\n );\n}\n\nfunction defaultProp(prop) {\n return 'default' + capitalizeFirstLetter(prop);\n}\n\nfunction handlerProp(prop) {\n if (prop === 'value') prop = '';\n if (prop === 'checked') prop = '';\n return `on${capitalizeFirstLetter(prop)}Change`;\n}\n\nfunction isControlled(propValue) {\n return propValue !== undefined;\n}\n\nfunction uncontrolledProp(self, propName, propValue, propDefaultValue, propHandler, chainHandler) {\n function getValue() {\n return isControlled(propValue)\n ? propValue\n : propName in self.state\n ? self.state[propName]\n : propDefaultValue;\n }\n\n return [\n getValue(),\n (value, ...args) => {\n const oldValue = getValue();\n if (oldValue === value) return false;\n if (!isControlled(propValue)) self.setState({ [propName]: value });\n return callAllEventHandlers(propHandler, ...chainHandler)(value, ...args);\n },\n ];\n}\n\nfunction uncontrolledUniversal(props, config, uncontrolledProp) {\n const handlerProps = {};\n const uncontrolledProps = Object.keys(config).reduce((result, propName) => {\n const handlerName = handlerProp(propName);\n const defaultPropName = defaultProp(propName);\n const {\n [defaultPropName]: propDefaultValue,\n [propName]: propValue,\n [handlerName]: propHandler,\n ...other\n } = result;\n\n if (propDefaultValue === undefined) {\n // eslint-disable-next-line no-console\n console.warn(defaultPropName, 'must be installed in \"defaultProps\"');\n }\n\n // if (typeof propDefaultValue === 'function' && propDefaultValue.defaultInit) {\n // propDefaultValue = propDefaultValue(result);\n // }\n\n let setter = config[propName];\n let chainHandler = [];\n\n if (Array.isArray(setter)) [setter, ...chainHandler] = setter;\n setter = setter || ((v) => v);\n\n const [value, handler] = uncontrolledProp(\n propName,\n propValue,\n propDefaultValue,\n propHandler,\n chainHandler,\n );\n // TODO: предупреждение из-за циклических вызовов\n handlerProps[propName] = handler;\n\n return {\n ...other,\n [propName]: value,\n [handlerName]: (eventOrValue, ...args) => {\n const result = [setter(eventOrValue, ...args), ...args];\n if (eventOrValue && eventOrValue.target) {\n result.push(eventOrValue);\n }\n return handler(...result);\n },\n };\n }, props);\n return [uncontrolledProps, handlerProps];\n}\n\nfunction uncontrolled(self, props, config) {\n return uncontrolledUniversal(props, config, uncontrolledProp.bind(undefined, self));\n}\n\nfunction Enhancement() {\n return {\n condition: function (Component) {\n return Boolean(Component.prototype.uncontrolledProps);\n },\n init: function () {\n this.state = this.state || {};\n assign(this, {\n get handlers() {\n const [, uncontrolledHandlers] = uncontrolled(this, this.props, this.uncontrolledProps());\n return uncontrolledHandlers;\n },\n });\n },\n context: function (context) {\n return {\n ...context,\n handlers: this.handlers,\n };\n },\n asProps: function (props) {\n // TODO возвращать только нужные свойства\n const [uncontrolledProps] = uncontrolled(this, props, this.uncontrolledProps());\n return uncontrolledProps;\n },\n };\n}\n\nexport default Enhancement;\n"],"file":"uncontrolledProps.js"}
1
+ {"version":3,"file":"uncontrolledProps.js","names":["callAllEventHandlers","capitalizeFirstLetter","assign","target","source","Object","defineProperties","keys","reduce","descriptors","key","getOwnPropertyDescriptor","defaultProp","prop","handlerProp","isControlled","propValue","undefined","uncontrolledProp","self","propName","propDefaultValue","propHandler","chainHandler","getValue","state","value","oldValue","setState","args","uncontrolledUniversal","props","config","handlerProps","uncontrolledProps","result","handlerName","defaultPropName","other","console","warn","setter","Array","isArray","v","handler","eventOrValue","push","uncontrolled","bind","Enhancement","condition","Component","Boolean","prototype","init","handlers","uncontrolledHandlers","context","asProps"],"sources":["../../../src/enhancement/uncontrolledProps.tsx"],"sourcesContent":["// @ts-ignore\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport capitalizeFirstLetter from '@semcore/utils/lib/capitalizeFirstLetter';\n\nfunction assign(target, source) {\n return Object.defineProperties(\n target,\n Object.keys(source).reduce((descriptors, key) => {\n descriptors[key] = Object.getOwnPropertyDescriptor(source, key);\n return descriptors;\n }, {}),\n );\n}\n\nfunction defaultProp(prop) {\n return 'default' + capitalizeFirstLetter(prop);\n}\n\nfunction handlerProp(prop) {\n if (prop === 'value') prop = '';\n if (prop === 'checked') prop = '';\n return `on${capitalizeFirstLetter(prop)}Change`;\n}\n\nfunction isControlled(propValue) {\n return propValue !== undefined;\n}\n\nfunction uncontrolledProp(self, propName, propValue, propDefaultValue, propHandler, chainHandler) {\n function getValue() {\n return isControlled(propValue)\n ? propValue\n : propName in self.state\n ? self.state[propName]\n : propDefaultValue;\n }\n\n return [\n getValue(),\n (value, ...args) => {\n const oldValue = getValue();\n if (oldValue === value) return false;\n if (!isControlled(propValue)) self.setState({ [propName]: value });\n return callAllEventHandlers(propHandler, ...chainHandler)(value, ...args);\n },\n ];\n}\n\nfunction uncontrolledUniversal(props, config, uncontrolledProp) {\n const handlerProps = {};\n const uncontrolledProps = Object.keys(config).reduce((result, propName) => {\n const handlerName = handlerProp(propName);\n const defaultPropName = defaultProp(propName);\n const {\n [defaultPropName]: propDefaultValue,\n [propName]: propValue,\n [handlerName]: propHandler,\n ...other\n } = result;\n\n if (propDefaultValue === undefined) {\n // eslint-disable-next-line no-console\n console.warn(defaultPropName, 'must be installed in \"defaultProps\"');\n }\n\n // if (typeof propDefaultValue === 'function' && propDefaultValue.defaultInit) {\n // propDefaultValue = propDefaultValue(result);\n // }\n\n let setter = config[propName];\n let chainHandler = [];\n\n if (Array.isArray(setter)) [setter, ...chainHandler] = setter;\n setter = setter || ((v) => v);\n\n const [value, handler] = uncontrolledProp(\n propName,\n propValue,\n propDefaultValue,\n propHandler,\n chainHandler,\n );\n // TODO: need to warn about recursion (by lsroman)\n handlerProps[propName] = handler;\n\n return {\n ...other,\n [propName]: value,\n [handlerName]: (eventOrValue, ...args) => {\n const result = [setter(eventOrValue, ...args), ...args];\n if (eventOrValue && eventOrValue.target) {\n result.push(eventOrValue);\n }\n return handler(...result);\n },\n };\n }, props);\n return [uncontrolledProps, handlerProps];\n}\n\nfunction uncontrolled(self, props, config) {\n return uncontrolledUniversal(props, config, uncontrolledProp.bind(undefined, self));\n}\n\nfunction Enhancement() {\n return {\n condition: function (Component) {\n return Boolean(Component.prototype.uncontrolledProps);\n },\n init: function () {\n this.state = this.state || {};\n assign(this, {\n get handlers() {\n const [, uncontrolledHandlers] = uncontrolled(this, this.props, this.uncontrolledProps());\n return uncontrolledHandlers;\n },\n });\n },\n context: function (context) {\n return {\n ...context,\n handlers: this.handlers,\n };\n },\n asProps: function (props) {\n // TODO: need to omit unneccessary props (by lsroman)\n const [uncontrolledProps] = uncontrolled(this, props, this.uncontrolledProps());\n return uncontrolledProps;\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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"}
package/lib/es6/index.js CHANGED
@@ -74,7 +74,7 @@ function createGetField(enhancements, Component, isFunction) {
74
74
 
75
75
  function createForwardWrapper(Component, wrapperProps, statics, isFunction) {
76
76
  // @ts-ignore
77
- var WrapperComponent = React.forwardRef(function (_ref, ref) {
77
+ var WrapperComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
78
78
  var _ref$forwardRef = _ref.forwardRef,
79
79
  forwardRef = _ref$forwardRef === void 0 ? null : _ref$forwardRef,
80
80
  other = _objectWithoutProperties(_ref, _excluded);
@@ -210,7 +210,7 @@ function wrapFunction(OriginComponent, enhancements, Context) {
210
210
  var statics = getField('static');
211
211
  var wrapperProps = getField('wrapperProps');
212
212
  var contexts = getField('context');
213
- var Component = React.memo(function FunctionMemoComponent(other) {
213
+ var Component = /*#__PURE__*/React.memo(function FunctionMemoComponent(other) {
214
214
  var selfRef = useRef({});
215
215
  var firstRender = useRef(true);
216
216
  useEnhancedEffect(function () {
@@ -288,7 +288,7 @@ function createComponent(OriginComponent) {
288
288
  var childComponents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
289
289
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
290
290
  var _options$context = options.context,
291
- context = _options$context === void 0 ? React.createContext({}) : _options$context,
291
+ context = _options$context === void 0 ? /*#__PURE__*/React.createContext({}) : _options$context,
292
292
  _options$parent = options.parent,
293
293
  parent = _options$parent === void 0 ? [] : _options$parent,
294
294
  _options$enhancements = options.enhancements,
@@ -344,7 +344,7 @@ function createBaseComponent(OriginComponent) {
344
344
  var Component = null;
345
345
 
346
346
  if (!React.PureComponent.isPrototypeOf(OriginComponent) && !React.Component.isPrototypeOf(OriginComponent) && typeof OriginComponent === 'function') {
347
- Component = React.forwardRef(OriginComponent);
347
+ Component = /*#__PURE__*/React.forwardRef(OriginComponent);
348
348
  Component.displayName = OriginComponent.displayName;
349
349
  Component.defaultProps = _objectSpread({
350
350
  'data-ui-name': OriginComponent.displayName
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.tsx"],"names":["React","useRef","hoistNonReactStatics","useForkRef","useEnhancedEffect","_assignProps","Component","register","childrenEnhancement","CHILDREN_COMPONENT","rootEnhancement","uncontrolledPropsEnhancement","functionDefaultPropsEnhancement","staticChildrenEnhancement","STATIC_COMPONENT","inheritedNameEnhancement","INHERITED_NAME","hoistPropsEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","bindHandlerEnhancement","CORE_COMPONENT","Symbol","CORE_INSTANCE","CORE_AS_PROPS","CORE_INIT","CONTEXT_COMPONENT","CREATE_COMPONENT","PARENT_COMPONENTS","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","WrapperComponent","forwardRef","ref","other","enhancementRef","props","displayName","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","Error","contextProps","asProps","ctx","setContext","render","wrapFunction","memo","FunctionMemoComponent","selfRef","firstRender","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","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
+ {"version":3,"file":"index.js","names":["React","useRef","hoistNonReactStatics","useForkRef","useEnhancedEffect","_assignProps","Component","register","childrenEnhancement","CHILDREN_COMPONENT","rootEnhancement","uncontrolledPropsEnhancement","functionDefaultPropsEnhancement","staticChildrenEnhancement","STATIC_COMPONENT","inheritedNameEnhancement","INHERITED_NAME","hoistPropsEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","bindHandlerEnhancement","CORE_COMPONENT","Symbol","CORE_INSTANCE","CORE_AS_PROPS","CORE_INIT","CONTEXT_COMPONENT","CREATE_COMPONENT","PARENT_COMPONENTS","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","WrapperComponent","forwardRef","ref","other","enhancementRef","props","displayName","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","Error","contextProps","asProps","ctx","setContext","render","wrapFunction","memo","FunctionMemoComponent","selfRef","firstRender","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","map","f","_OriginComponent","_childComponents","_options","createBaseComponent"],"sources":["../../src/index.tsx"],"sourcesContent":["import React, { ForwardRefExoticComponent, RefAttributes, useRef } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n// @ts-ignore\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n// @ts-ignore\nimport _assignProps from '@semcore/utils/lib/assignProps';\n\nimport { Component, PropsWithRenderFnChildren } from './Component';\nimport register from './register';\n\nimport childrenEnhancement, { CHILDREN_COMPONENT } from './enhancement/Children';\nimport rootEnhancement from './enhancement/Root';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport staticChildrenEnhancement, { 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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/register.tsx"],"names":["Register","name","defaultValue","data","set","value"],"mappings":";;;;IAAMA,Q;;;;kCACG,E;;;;;WAEP,aAAOC,IAAP,EAAaC,YAAb,EAAkC;AAChC,UAAID,IAAI,IAAI,KAAKE,IAAjB,EAAuB;AACrB,eAAO,KAAKA,IAAL,CAAUF,IAAV,CAAP;AACD,OAFD,MAEO;AACL,eAAO,KAAKG,GAAL,CAASH,IAAT,EAAeC,YAAf,CAAP;AACD;AACF;;;WAED,aAAOD,IAAP,EAAaI,KAAb,EAA0B;AACxB,aAAQ,KAAKF,IAAL,CAAUF,IAAV,IAAkBI,KAA1B;AACD;;;;;;AAGH,SAASL,QAAT;AACA,eAAe,IAAIA,QAAJ,EAAf","sourcesContent":["class Register {\n data = {};\n\n get<D>(name, defaultValue?: D): D {\n if (name in this.data) {\n return this.data[name];\n } else {\n return this.set(name, defaultValue);\n }\n }\n\n set<D>(name, value: D): D {\n return (this.data[name] = value);\n }\n}\n\nexport { Register };\nexport default new Register();\n"],"file":"register.js"}
1
+ {"version":3,"file":"register.js","names":["Register","name","defaultValue","data","set","value"],"sources":["../../src/register.tsx"],"sourcesContent":["class Register {\n data = {};\n\n get<D>(name, defaultValue?: D): D {\n if (name in this.data) {\n return this.data[name];\n } else {\n return this.set(name, defaultValue);\n }\n }\n\n set<D>(name, value: D): D {\n return (this.data[name] = value);\n }\n}\n\nexport { Register };\nexport default new Register();\n"],"mappings":";;;;IAAMA,Q;;;;kCACG,E;;;;;WAEP,aAAOC,IAAP,EAAaC,YAAb,EAAkC;MAChC,IAAID,IAAI,IAAI,KAAKE,IAAjB,EAAuB;QACrB,OAAO,KAAKA,IAAL,CAAUF,IAAV,CAAP;MACD,CAFD,MAEO;QACL,OAAO,KAAKG,GAAL,CAASH,IAAT,EAAeC,YAAf,CAAP;MACD;IACF;;;WAED,aAAOD,IAAP,EAAaI,KAAb,EAA0B;MACxB,OAAQ,KAAKF,IAAL,CAAUF,IAAV,IAAkBI,KAA1B;IACD;;;;;;AAGH,SAASL,QAAT;AACA,eAAe,IAAIA,QAAJ,EAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/styled/index.tsx"],"names":["default","styled","use","css"],"mappings":"AAIA,SAASA,OAAO,IAAIC,MAApB,QAAkC,gBAAlC;AACA,SAASC,GAAT,EAAcC,GAAd,QAAyB,gBAAzB;AACA,cAAc,gBAAd;AAEA,cAAc,WAAd","sourcesContent":["export interface IStyledProps {\n /** @ignore */\n styles?: { [key: string]: string };\n}\nexport { default as styled } from '@reshadow/core';\nexport { use, css } from '@reshadow/core';\nexport * from '@reshadow/core';\n\nexport * from './sstyled';\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["default","styled","use","css"],"sources":["../../../src/styled/index.tsx"],"sourcesContent":["export interface IStyledProps {\n /** @ignore */\n styles?: { [key: string]: string };\n}\nexport { default as styled } from '@reshadow/core';\nexport { use, css } from '@reshadow/core';\nexport * from '@reshadow/core';\n\nexport * from './sstyled';\n"],"mappings":"AAIA,SAASA,OAAO,IAAIC,MAApB,QAAkC,gBAAlC;AACA,SAASC,GAAT,EAAcC,GAAd,QAAyB,gBAAzB;AACA,cAAc,gBAAd;AAEA,cAAc,WAAd"}
@@ -86,7 +86,9 @@ function merge() {
86
86
 
87
87
  function getClassAndVars(styles, name, props) {
88
88
  function getPropValue(key, props) {
89
- return props["use:".concat(key)] ?? props[key];
89
+ var _props;
90
+
91
+ return (_props = props["use:".concat(key)]) !== null && _props !== void 0 ? _props : props[key];
90
92
  }
91
93
 
92
94
  return Object.entries(styles).reduce(function (acc, _ref3) {
@@ -110,7 +112,7 @@ function getClassAndVars(styles, name, props) {
110
112
 
111
113
  if (modValue === undefined) {
112
114
  // @ts-ignore
113
- acc[0][value] = Boolean(propValue ?? false);
115
+ acc[0][value] = Boolean(propValue !== null && propValue !== void 0 ? propValue : false);
114
116
  } else {
115
117
  // @ts-ignore
116
118
  acc[0][value] = propValue == modValue;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/styled/sstyled.tsx"],"names":["cn","ReactNode","getStyles","reshadowGetStyles","RESHADOW_ID","isSSR","window","document","createElement","serverMap","map","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","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"}
1
+ {"version":3,"file":"sstyled.js","names":["cn","ReactNode","getStyles","reshadowGetStyles","RESHADOW_ID","isSSR","window","document","createElement","serverMap","map","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","classes","extraProps","keys","length","className","Error","SHADOW_STYLES","Symbol"],"sources":["../../../src/styled/sstyled.tsx"],"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"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@semcore/core",
3
- "description": "SEMRush Core Component",
4
- "version": "1.11.7",
3
+ "description": "Semrush Core Component",
4
+ "version": "1.11.10",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
8
8
  "sideEffects": false,
9
- "author": "Roman Lysov <r.lysov@semrush.com>",
9
+ "author": "UI-kit team <ui-kit-team@semrush.com>",
10
10
  "license": "MIT",
11
11
  "scripts": {
12
12
  "build": "build",
package/src/Component.tsx DELETED
@@ -1,108 +0,0 @@
1
- import React, {
2
- AllHTMLAttributes,
3
- ForwardRefExoticComponent,
4
- PureComponent,
5
- ReactNode,
6
- RefObject,
7
- } from 'react';
8
- import { IStyledProps } from './styled';
9
-
10
- type KnownKeys<T> = {
11
- [K in keyof T]: string extends K ? never : number extends K ? never : K;
12
- } extends { [_ in keyof T]: infer U }
13
- ? U
14
- : never;
15
-
16
- export type HandlersType<UCProps> = { [K in keyof UCProps]?: <T = unknown>(arg: T) => void };
17
- export type ChildrenType<Props = {}, Ctx = {}, UCProps = {}> =
18
- | ((props: Props & Ctx, handlers: HandlersType<UCProps>) => ReactNode)
19
- | ReactNode;
20
-
21
- export type RootComponentHandler = (...args: any[]) => void | false;
22
-
23
- export interface IRootComponentHandlers {
24
- [key: string]: RootComponentHandler;
25
- }
26
-
27
- export interface IRootComponentProps<Props = {}, Ctx = {}> {
28
- forwardRef?: RefObject<any>;
29
- Children?: any;
30
- children?: ChildrenType<Props, Ctx>;
31
- styles?: IStyledProps['styles'];
32
- }
33
-
34
- export type IComponentProps<Props = {}, Ctx = {}> = Props & IRootComponentProps<Props, Ctx>;
35
-
36
- export type IFunctionProps<Props = {}, Ctx = {}> = IComponentProps<Props, Ctx> &
37
- Omit<AllHTMLAttributes<any>, keyof IComponentProps<Props, Ctx>> & { Root?: Root };
38
-
39
- export type PropsWithRenderFnChildren<Props = {}, Ctx = {}, UCProps = {}> = Omit<
40
- Pick<Props, KnownKeys<Props>>,
41
- 'children'
42
- > & {
43
- children?: ChildrenType<Props, Ctx, UCProps>;
44
- [key: string]: unknown;
45
- };
46
-
47
- export type CProps<Props, Ctx = {}, UCProps = {}> = Props & {
48
- children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;
49
- };
50
- export type ReturnEl = React.ReactElement | null;
51
-
52
- export interface IRootNodeProps {
53
- render: React.ElementType | string;
54
- tag?: React.ElementType | string;
55
-
56
- [key: string]: any;
57
- }
58
-
59
- type Root = ForwardRefExoticComponent<IRootNodeProps>;
60
-
61
- /**
62
- * @deprecated since version ^1.8.0
63
- */
64
- export type PropGetter<T extends (...args: any) => any> = <P>(props?: P) => ReturnType<T> & P;
65
- /**
66
- * @deprecated since version ^1.8.0
67
- */
68
- export type PropGetterReturn<T extends (...args: any) => any> = Partial<ReturnType<T>>;
69
- export type PropGetterFn = <T extends {}>(props?: T) => T & { [key: string]: unknown };
70
- export type Merge<Props, HTMLProps> = Props & Omit<HTMLProps, keyof Props>;
71
- export type MergeGetters<G1 extends (...args: any) => any, G2 extends (...args: any) => any> = <P>(
72
- props?: P,
73
- ) => Merge<ReturnType<G1>, ReturnType<G2>> & P;
74
-
75
- declare const Root: Root;
76
-
77
- export { Root };
78
-
79
- abstract class RootComponent<Props = {}, Context = {}, State = {}> extends PureComponent<
80
- Props & IRootComponentProps<Props, Context>,
81
- State
82
- > {
83
- get handlers(): Readonly<IRootComponentHandlers> {
84
- return {};
85
- }
86
-
87
- get asProps() {
88
- return {} as Readonly<
89
- Merge<Props & IRootComponentProps<Props, Context>, AllHTMLAttributes<any>>
90
- >;
91
- }
92
-
93
- Root: Root;
94
- }
95
-
96
- export const Component = RootComponent;
97
- export type Component<
98
- Props = {},
99
- Context = {},
100
- State = {},
101
- Handlers extends IRootComponentHandlers = IRootComponentHandlers,
102
- > = React.ComponentClass<Props, State> & {
103
- handlers: Readonly<Handlers>;
104
-
105
- asProps: Readonly<Merge<Props & IRootComponentProps<Props, Context>, AllHTMLAttributes<any>>>;
106
-
107
- Root: Root;
108
- };
@@ -1,103 +0,0 @@
1
- import { useContext } from 'react';
2
- import { CONTEXT_COMPONENT } from '../index';
3
-
4
- export const CHILDREN_COMPONENT = Symbol('CHILDREN_COMPONENT');
5
- const CHILDREN_SELF = Symbol('CHILDREN_SELF');
6
-
7
- const GETTER_REG = /^get[\w]+Props$/;
8
-
9
- function splitPropsAndGetters(props) {
10
- return Object.entries(props).reduce(
11
- (acc, [key, value]) => {
12
- if (GETTER_REG.exec(key) === null) {
13
- acc.props[key] = value;
14
- } else {
15
- acc.getters[key] = value;
16
- }
17
- return acc;
18
- },
19
- { props: {}, getters: {} },
20
- );
21
- }
22
-
23
- function getterToArray(getter) {
24
- if (!Array.isArray(getter)) {
25
- return typeof getter === 'function' ? [getter] : [];
26
- }
27
- return getter;
28
- }
29
-
30
- function mergeObjects(a = {}, b = {}) {
31
- const core = { ...a, ...b };
32
- return Object.keys(core).reduce((acc, key) => {
33
- a[key] = getterToArray(a[key]);
34
- b[key] = getterToArray(b[key]);
35
- acc[key] = [...a[key], ...b[key]];
36
- return acc;
37
- }, {});
38
- }
39
-
40
- function assignGettersChain(getters: Array<Function>) {
41
- return function (props = {}) {
42
- return getters.reduce((acc, getter) => {
43
- return getter(acc);
44
- }, props);
45
- };
46
- }
47
-
48
- function createChildren(Context, contexts) {
49
- const Children = function () {
50
- const children = Children.origin;
51
- if (typeof children === 'function') {
52
- const { handlers = {}, getters = {}, ...props } = [...contexts, Context].reduce(
53
- (acc, ctx) => {
54
- const { handlers, ...propsAndGetters } = useContext(ctx);
55
- const { props, getters } = splitPropsAndGetters(propsAndGetters);
56
- return Object.assign({}, acc, {
57
- handlers: Object.assign({}, acc.handlers, handlers),
58
- getters: mergeObjects(acc.getters, getters),
59
- ...props,
60
- });
61
- },
62
- Children.props,
63
- );
64
-
65
- const mergedGetters = Object.entries(getters).reduce((acc, [key, value]) => {
66
- acc[key] = assignGettersChain(value as []);
67
- return acc;
68
- }, {});
69
-
70
- return children({ ...props, ...mergedGetters }, handlers);
71
- } else if (children === undefined) {
72
- return null;
73
- }
74
- return children;
75
- };
76
- Children.origin = null;
77
- Children.props = {};
78
- Children[CHILDREN_COMPONENT] = true;
79
- return Children;
80
- }
81
-
82
- function Enhancement(Context, parent) {
83
- return {
84
- init: function () {
85
- const contexts = (Array.isArray(parent) ? parent : [parent])
86
- .map((component) => component[CONTEXT_COMPONENT])
87
- .filter(Boolean);
88
- this[CHILDREN_SELF] = createChildren(Context, contexts);
89
- },
90
- asProps: function (props) {
91
- // TODO: разобраться зачем это надо было
92
- // this[CHILDREN_SELF].origin = _Children ? _Children.origin : children;
93
- this[CHILDREN_SELF].origin = props.children;
94
- this[CHILDREN_SELF].props = props;
95
- return {
96
- ...props,
97
- Children: this[CHILDREN_SELF],
98
- };
99
- },
100
- };
101
- }
102
-
103
- export default Enhancement;
@@ -1,78 +0,0 @@
1
- import React from 'react';
2
- // @ts-ignore
3
- import assignProps from '@semcore/utils/lib/assignProps';
4
- // @ts-ignore
5
- import { useForkRef } from '@semcore/utils/lib/ref';
6
-
7
- function createRootRender() {
8
- // @ts-ignore
9
- const Root = React.forwardRef(function ({ render: Tag, ...source }, ref) {
10
- const {
11
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
12
- Root: _Root,
13
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
14
- styles,
15
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
16
- children,
17
- Children,
18
- forwardRef = null,
19
- ...props
20
- // @ts-ignore
21
- } = Root.props;
22
-
23
- const clearProps = Object.entries(props).reduce((props, [name, value]) => {
24
- if (value !== undefined) {
25
- props[name] = value;
26
- }
27
- return props;
28
- }, {});
29
-
30
- const child = {};
31
- // TODO: разобраться как то иначе
32
- if (typeof Children.origin !== 'undefined') {
33
- // @ts-ignore
34
- child.children = <Children />;
35
- }
36
-
37
- const other = assignProps(
38
- {
39
- ...clearProps,
40
- ref: useForkRef(forwardRef, ref),
41
- },
42
- {
43
- ...child,
44
- ...source,
45
- },
46
- );
47
- if (!Tag) {
48
- throw new Error('`render` prop of Root is not provided');
49
- }
50
- return <Tag {...other} />;
51
- });
52
- // @ts-ignore
53
- Root.props = {};
54
- return Root;
55
- }
56
-
57
- function Enhancement() {
58
- return {
59
- init: function () {
60
- this.Root = createRootRender();
61
- },
62
- asProps: function (props, WrapperComponent, isFunction) {
63
- if (isFunction) {
64
- return {
65
- ...props,
66
- Root: this.Root,
67
- };
68
- }
69
- return props;
70
- },
71
- render: function (render, props) {
72
- this.Root.props = props;
73
- return render;
74
- },
75
- };
76
- }
77
-
78
- export default Enhancement;
@@ -1,45 +0,0 @@
1
- function arraysEqual(a, b) {
2
- if (a.length !== b.length) return false;
3
- for (let i = 0; i < a.length; i++) {
4
- if (a[i] !== b[i]) return false;
5
- }
6
- return true;
7
- }
8
-
9
- function handlerBinder(fn) {
10
- return function (...depsArgs) {
11
- let memoizeds = [];
12
- if (handlerBinder.hasher.has(fn)) {
13
- memoizeds = handlerBinder.hasher.get(fn);
14
- const memoized = memoizeds.find((memoized) => arraysEqual(memoized.deps, depsArgs));
15
- if (memoized) return memoized.fn;
16
- }
17
-
18
- const bindFn = fn(...depsArgs).bind(fn);
19
- memoizeds.push({
20
- deps: depsArgs,
21
- fn: bindFn,
22
- });
23
- handlerBinder.hasher.set(fn, memoizeds);
24
- return bindFn;
25
- };
26
- }
27
-
28
- handlerBinder.hasher = new WeakMap();
29
-
30
- function Enhancement() {
31
- return {
32
- condition: function (Component, isFunction) {
33
- return !isFunction;
34
- },
35
- init: function () {
36
- Object.keys(this)
37
- .filter((field) => field.startsWith('bindHandler'))
38
- .forEach((name) => {
39
- this[name] = handlerBinder(this[name].bind(this));
40
- });
41
- },
42
- };
43
- }
44
-
45
- export default Enhancement;