@semcore/core 1.11.2 → 1.11.3

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 +6 -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 +8 -5
  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 +25 -25
  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 +2 -2
  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 +7 -5
  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 +9 -7
  38. package/lib/es6/index.js.map +1 -1
  39. package/lib/es6/styled/sstyled.js +2 -2
  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 +7 -2
  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
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/enhancement/style.tsx"],"names":["useContext","sstyled","STATIC_COMPONENT","STYLES_CONTEXT","Symbol","STYLES_SELF","Enhancement","childComponents","Context","condition","Component","Boolean","style","init","props","WrapperComponent","merge","_styles","context","Object","keys","length","asProps","styles","wrapperProps"],"mappings":";;;;;;;AAAA,SAASA,UAAT,QAA2B,OAA3B,C,CACA;;AACA,SAASC,OAAT,QAAwB,WAAxB;AACA,SAASC,gBAAT,QAAiC,kBAAjC;AAEA,OAAO,IAAMC,cAAc,GAAGC,MAAM,CAAC,gBAAD,CAA7B;AACP,IAAMC,WAAW,GAAGD,MAAM,CAAC,aAAD,CAA1B;;AAEA,SAASE,WAAT,CAAqBC,eAArB,EAAsCC,OAAtC,EAA+C;AAC7C,SAAO;AACLC,IAAAA,SAAS,EAAE,mBAAUC,SAAV,EAAqB;AAC9B,aAAOC,OAAO,CAACD,SAAS,CAACE,KAAV,IAAmBF,SAAS,CAACR,gBAAD,CAA7B,CAAd;AACD,KAHI;AAILW,IAAAA,IAAI,EAAE,cAAUC,KAAV,EAAiBC,gBAAjB,EAAmC;AACvC,UAAIA,gBAAgB,CAACH,KAArB,EAA4B;AAC1B,aAAKP,WAAL,IAAoBJ,OAAO,CAACe,KAAR,CAAcD,gBAAgB,CAACH,KAA/B,EAAsCE,KAAK,CAACG,OAA5C,CAApB;AACD;AACF,KARI;AASLC,IAAAA,OAAO,EAAE,iBAAUA,QAAV,EAAmB;AAC1B;AACA,UAAI,CAAC,KAAKb,WAAL,CAAD,IAAsB,CAACc,MAAM,CAACC,IAAP,CAAYb,eAAZ,EAA6Bc,MAAxD,EAAgE;AAC9D,eAAOH,QAAP;AACD;;AACD,6CACKA,QADL,2BAEGf,cAFH,EAEoB,KAAKE,WAAL,CAFpB;AAID,KAlBI;AAmBL;AACAiB,IAAAA,OAAO,EAAE,uBAAyC;AAAA,UAA7BL,OAA6B,QAA7BA,OAA6B;AAAA,UAApBM,MAAoB,QAApBA,MAAoB;AAAA,UAATT,KAAS;;AAChD,6CACKA,KADL;AAEES,QAAAA,MAAM,EAAEA,MAAM,IAAI,KAAKlB,WAAL;AAFpB;AAID,KAzBI;AA0BLmB,IAAAA,YAAY,EAAE,6BAAgC;AAAA,UAApBD,MAAoB,SAApBA,MAAoB;AAAA,UAATT,KAAS;;AAC5C,UAAMI,OAAO,GAAGlB,UAAU,CAACQ,OAAD,CAA1B;AACA,6CACKM,KADL;AAEEG,QAAAA,OAAO,EAAEM,MAFX;AAGEA,QAAAA,MAAM,EAAEL,OAAO,CAACf,cAAD;AAHjB;AAKD;AAjCI,GAAP;AAmCD;;AAED,eAAeG,WAAf","sourcesContent":["import { useContext } from 'react';\n// @ts-ignore\nimport { sstyled } from '../styled';\nimport { STATIC_COMPONENT } from './staticChildren';\n\nexport const STYLES_CONTEXT = Symbol('STYLES_CONTEXT');\nconst STYLES_SELF = Symbol('STYLES_SELF');\n\nfunction Enhancement(childComponents, Context) {\n return {\n condition: function (Component) {\n return Boolean(Component.style || Component[STATIC_COMPONENT]);\n },\n init: function (props, WrapperComponent) {\n if (WrapperComponent.style) {\n this[STYLES_SELF] = sstyled.merge(WrapperComponent.style, props._styles);\n }\n },\n context: function (context) {\n // для оптимизации, если нет детей, то не надо создавать контекст\n if (!this[STYLES_SELF] || !Object.keys(childComponents).length) {\n return context;\n }\n return {\n ...context,\n [STYLES_CONTEXT]: this[STYLES_SELF],\n };\n },\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n asProps: function ({ _styles, styles, ...props }) {\n return {\n ...props,\n styles: styles || this[STYLES_SELF],\n };\n },\n wrapperProps: function ({ styles, ...props }) {\n const context = useContext(Context);\n return {\n ...props,\n _styles: styles,\n styles: context[STYLES_CONTEXT],\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"file":"style.js"}
1
+ {"version":3,"sources":["../../../src/enhancement/style.tsx"],"names":["useContext","sstyled","STATIC_COMPONENT","STYLES_CONTEXT","Symbol","STYLES_SELF","Enhancement","childComponents","Context","condition","Component","Boolean","style","init","props","WrapperComponent","merge","_styles","context","Object","keys","length","asProps","styles","wrapperProps"],"mappings":";;;;;;;;;AAAA,SAASA,UAAT,QAA2B,OAA3B,C,CACA;;AACA,SAASC,OAAT,QAAwB,WAAxB;AACA,SAASC,gBAAT,QAAiC,kBAAjC;AAEA,OAAO,IAAMC,cAAc,GAAGC,MAAM,CAAC,gBAAD,CAA7B;AACP,IAAMC,WAAW,GAAGD,MAAM,CAAC,aAAD,CAA1B;;AAEA,SAASE,WAAT,CAAqBC,eAArB,EAAsCC,OAAtC,EAA+C;AAC7C,SAAO;AACLC,IAAAA,SAAS,EAAE,mBAAUC,SAAV,EAAqB;AAC9B,aAAOC,OAAO,CAACD,SAAS,CAACE,KAAV,IAAmBF,SAAS,CAACR,gBAAD,CAA7B,CAAd;AACD,KAHI;AAILW,IAAAA,IAAI,EAAE,cAAUC,KAAV,EAAiBC,gBAAjB,EAAmC;AACvC,UAAIA,gBAAgB,CAACH,KAArB,EAA4B;AAC1B,aAAKP,WAAL,IAAoBJ,OAAO,CAACe,KAAR,CAAcD,gBAAgB,CAACH,KAA/B,EAAsCE,KAAK,CAACG,OAA5C,CAApB;AACD;AACF,KARI;AASLC,IAAAA,OAAO,EAAE,iBAAUA,QAAV,EAAmB;AAC1B;AACA,UAAI,CAAC,KAAKb,WAAL,CAAD,IAAsB,CAACc,MAAM,CAACC,IAAP,CAAYb,eAAZ,EAA6Bc,MAAxD,EAAgE;AAC9D,eAAOH,QAAP;AACD;;AACD,6CACKA,QADL,2BAEGf,cAFH,EAEoB,KAAKE,WAAL,CAFpB;AAID,KAlBI;AAmBL;AACAiB,IAAAA,OAAO,EAAE,uBAAyC;AAAA,UAA7BL,OAA6B,QAA7BA,OAA6B;AAAA,UAApBM,MAAoB,QAApBA,MAAoB;AAAA,UAATT,KAAS;;AAChD,6CACKA,KADL;AAEES,QAAAA,MAAM,EAAEA,MAAM,IAAI,KAAKlB,WAAL;AAFpB;AAID,KAzBI;AA0BLmB,IAAAA,YAAY,EAAE,6BAAgC;AAAA,UAApBD,MAAoB,SAApBA,MAAoB;AAAA,UAATT,KAAS;;AAC5C,UAAMI,OAAO,GAAGlB,UAAU,CAACQ,OAAD,CAA1B;AACA,6CACKM,KADL;AAEEG,QAAAA,OAAO,EAAEM,MAFX;AAGEA,QAAAA,MAAM,EAAEL,OAAO,CAACf,cAAD;AAHjB;AAKD;AAjCI,GAAP;AAmCD;;AAED,eAAeG,WAAf","sourcesContent":["import { useContext } from 'react';\n// @ts-ignore\nimport { sstyled } from '../styled';\nimport { STATIC_COMPONENT } from './staticChildren';\n\nexport const STYLES_CONTEXT = Symbol('STYLES_CONTEXT');\nconst STYLES_SELF = Symbol('STYLES_SELF');\n\nfunction Enhancement(childComponents, Context) {\n return {\n condition: function (Component) {\n return Boolean(Component.style || Component[STATIC_COMPONENT]);\n },\n init: function (props, WrapperComponent) {\n if (WrapperComponent.style) {\n this[STYLES_SELF] = sstyled.merge(WrapperComponent.style, props._styles);\n }\n },\n context: function (context) {\n // для оптимизации, если нет детей, то не надо создавать контекст\n if (!this[STYLES_SELF] || !Object.keys(childComponents).length) {\n return context;\n }\n return {\n ...context,\n [STYLES_CONTEXT]: this[STYLES_SELF],\n };\n },\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n asProps: function ({ _styles, styles, ...props }) {\n return {\n ...props,\n styles: styles || this[STYLES_SELF],\n };\n },\n wrapperProps: function ({ styles, ...props }) {\n const context = useContext(Context);\n return {\n ...props,\n _styles: styles,\n styles: context[STYLES_CONTEXT],\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"file":"style.js"}
@@ -5,9 +5,9 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
5
5
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
6
6
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
7
 
8
- 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; }
9
9
 
10
- 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; }
11
11
 
12
12
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
13
13
 
@@ -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":"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","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,"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":"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","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"}
package/lib/es6/index.js CHANGED
@@ -9,10 +9,12 @@ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
9
9
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
10
10
  import _extends from "@babel/runtime/helpers/extends";
11
11
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
12
+ var _excluded = ["forwardRef"],
13
+ _excluded2 = ["ref"];
12
14
 
13
- 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; }
15
+ 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; }
14
16
 
15
- 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; }
17
+ 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; }
16
18
 
17
19
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
18
20
 
@@ -26,7 +28,7 @@ import { useForkRef } from '@semcore/utils/lib/ref'; // @ts-ignore
26
28
  import useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect'; // @ts-ignore
27
29
 
28
30
  import _assignProps from '@semcore/utils/lib/assignProps';
29
- import Component from './Component';
31
+ import { Component } from './Component';
30
32
  import register from './register';
31
33
  import childrenEnhancement, { CHILDREN_COMPONENT } from './enhancement/Children';
32
34
  import rootEnhancement from './enhancement/Root';
@@ -75,7 +77,7 @@ function createForwardWrapper(Component, wrapperProps, statics, isFunction) {
75
77
  var WrapperComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
76
78
  var _ref$forwardRef = _ref.forwardRef,
77
79
  forwardRef = _ref$forwardRef === void 0 ? null : _ref$forwardRef,
78
- other = _objectWithoutProperties(_ref, ["forwardRef"]);
80
+ other = _objectWithoutProperties(_ref, _excluded);
79
81
 
80
82
  // WRAPPER PROPS
81
83
  var _wrapperProps$reduce = wrapperProps.reduce(function (acc, enhancement) {
@@ -83,7 +85,7 @@ function createForwardWrapper(Component, wrapperProps, statics, isFunction) {
83
85
  }, other),
84
86
  _wrapperProps$reduce$ = _wrapperProps$reduce.ref,
85
87
  enhancementRef = _wrapperProps$reduce$ === void 0 ? null : _wrapperProps$reduce$,
86
- props = _objectWithoutProperties(_wrapperProps$reduce, ["ref"]); // @ts-ignore
88
+ props = _objectWithoutProperties(_wrapperProps$reduce, _excluded2); // @ts-ignore
87
89
 
88
90
 
89
91
  return /*#__PURE__*/React.createElement(Component, _extends({}, props, {
@@ -173,7 +175,7 @@ function wrapClass(OriginComponent, enhancements, Context) {
173
175
  this[CORE_AS_PROPS] = null; // TODO if not production
174
176
 
175
177
  if (!_get(_getPrototypeOf(Component.prototype), "render", this)) {
176
- throw new Error('нужно определить render метод');
178
+ throw new Error('Component `render` method is not defined');
177
179
  }
178
180
 
179
181
  var asProps = this.asProps;
@@ -358,6 +360,6 @@ function createBaseComponent(OriginComponent) {
358
360
  export * from './Component';
359
361
  export * from './styled';
360
362
  export * from './register';
361
- export { createBaseComponent, Component, register, CREATE_COMPONENT, CORE_INSTANCE, CONTEXT_COMPONENT, CHILDREN_COMPONENT, INHERITED_NAME, CORE_COMPONENT, STATIC_COMPONENT, assignProps };
363
+ export { createBaseComponent, register, CREATE_COMPONENT, CORE_INSTANCE, CONTEXT_COMPONENT, CHILDREN_COMPONENT, INHERITED_NAME, CORE_COMPONENT, STATIC_COMPONENT, assignProps };
362
364
  export default createComponent;
363
365
  //# sourceMappingURL=index.js.map
@@ -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":";;;;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,IAA0DC,MAA1D,QAAwE,OAAxE;AACA,OAAOC,oBAAP,MAAiC,yBAAjC,C,CACA;;AACA,SAASC,UAAT,QAA2B,wBAA3B,C,CACA;;AACA,OAAOC,iBAAP,MAA8B,0CAA9B,C,CACA;;AACA,OAAOC,YAAP,MAAyB,gCAAzB;AAEA,OAAOC,SAAP,MAAqD,aAArD;AACA,OAAOC,QAAP,MAAqB,YAArB;AAEA,OAAOC,mBAAP,IAA8BC,kBAA9B,QAAwD,wBAAxD;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AACA,OAAOC,4BAAP,MAAyC,iCAAzC;AACA,OAAOC,+BAAP,MAA4C,oCAA5C;AACA,OAAOC,yBAAP,IAAoCC,gBAApC,QAA4D,8BAA5D;AACA,OAAOC,wBAAP,IAAmCC,cAAnC,QAAyD,6BAAzD;AACA,OAAOC,qBAAP,MAAkC,0BAAlC;AACA,OAAOC,mBAAP,MAAgC,wBAAhC;AACA,OAAOC,kBAAP,MAA+B,uBAA/B;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;AACA,OAAOC,sBAAP,MAAmC,2BAAnC;AAEA,IAAMC,cAAc,GAAGC,MAAM,CAAC,gBAAD,CAA7B;AACA,IAAMC,aAAa,GAAGD,MAAM,CAAC,eAAD,CAA5B;AACA,IAAME,aAAa,GAAGF,MAAM,CAAC,eAAD,CAA5B;AACA,IAAMG,SAAS,GAAGH,MAAM,CAAC,WAAD,CAAxB;AACA,IAAMI,iBAAiB,GAAGJ,MAAM,CAAC,mBAAD,CAAhC;AACA,IAAMK,gBAAgB,GAAGL,MAAM,CAAC,kBAAD,CAA/B;AACA,IAAMM,iBAAiB,GAAGN,MAAM,CAAC,mBAAD,CAAhC;;AAEA,SAASO,aAAT,CAAuBC,GAAvB,EAA4B;AAC1B,SACEC,MAAM,CAACC,mBAAP,CAA2BF,GAA3B,EAAgCG,MAAhC,KAA2C,CAA3C,IACAF,MAAM,CAACG,qBADP,IACgC;AAChCH,EAAAA,MAAM,CAACG,qBAAP,CAA6BJ,GAA7B,EAAkCG,MAAlC,KAA6C,CAF7C,IAGAF,MAAM,CAACI,cAAP,CAAsBL,GAAtB,MAA+BC,MAAM,CAACK,SAJxC;AAMD;;AAED,SAASC,cAAT,CAAwBC,YAAxB,EAAsCjC,SAAtC,EAAiDkC,UAAjD,EAA6D;AAC3D,SAAO,SAASC,QAAT,CAAkBC,GAAlB,EAAuB;AAC5B,WAAOH,YAAY,CAChBI,MADI,CACG,UAACC,WAAD,EAAiB;AACvB,UAAI,CAACA,WAAW,CAACC,SAAjB,EAA4B;AAC1B,eAAO,IAAP;AACD;;AACD,aAAOD,WAAW,CAACC,SAAZ,CAAsBvC,SAAtB,EAAiCkC,UAAjC,CAAP;AACD,KANI,EAOJM,MAPI,CAOG,UAACC,GAAD,EAAMC,IAAN,EAAe;AACrB,UAAIA,IAAI,CAACN,GAAD,CAAR,EAAe;AACbK,QAAAA,GAAG,CAACE,IAAJ,CAASD,IAAI,CAACN,GAAD,CAAb;AACD;;AACD,aAAOK,GAAP;AACD,KAZI,EAYF,EAZE,CAAP;AAaD,GAdD;AAeD;;AAED,SAASG,oBAAT,CAA8B5C,SAA9B,EAAyC6C,YAAzC,EAAuDC,OAAvD,EAAgEZ,UAAhE,EAA4E;AAC1E;AACA,MAAMa,gBAAgB,gBAAGrD,KAAK,CAACsD,UAAN,CAAiB,gBAA2CC,GAA3C,EAAgD;AAAA,+BAApCD,UAAoC;AAAA,QAApCA,UAAoC,gCAAvB,IAAuB;AAAA,QAAdE,KAAc;;AACxF;AADwF,+BAEvCL,YAAY,CAACL,MAAb,CAC/C,UAACC,GAAD,EAAMH,WAAN;AAAA,aAAsBA,WAAW,CAACG,GAAD,EAAMM,gBAAN,EAAwBb,UAAxB,CAAjC;AAAA,KAD+C,EAE/CgB,KAF+C,CAFuC;AAAA,qDAEhFD,GAFgF;AAAA,QAE3EE,cAF2E,sCAE1D,IAF0D;AAAA,QAEjDC,KAFiD,4DAMxF;;;AACA,wBAAO,oBAAC,SAAD,eAAeA,KAAf;AAAsB,MAAA,UAAU,EAAEvD,UAAU,CAACsD,cAAD,EAAiBF,GAAjB,EAAsBD,UAAtB;AAA5C,OAAP;AACD,GARwB,CAAzB;AAUApD,EAAAA,oBAAoB,CAACmD,gBAAD,EAAmB/C,SAAnB,CAApB;AAEA+C,EAAAA,gBAAgB,CAACM,WAAjB,GAA+BrD,SAAS,CAACqD,WAAzC,CAd0E,CAe1E;;AACAN,EAAAA,gBAAgB,CAACO,YAAjB,GAAgCtD,SAAS,CAACsD,YAA1C,CAhB0E,CAiB1E;;AACAR,EAAAA,OAAO,CAACS,OAAR,CAAgB,UAACjB,WAAD;AAAA,WACdZ,MAAM,CAAC8B,MAAP,CAAcT,gBAAd,EAAgCT,WAAW,CAACS,gBAAD,EAAmBb,UAAnB,CAA3C,CADc;AAAA,GAAhB;AAIA,SAAOa,gBAAP;AACD;;AAED,SAASU,SAAT,CAAmBC,eAAnB,EAAoCzB,YAApC,EAAkD0B,OAAlD,EAA2D;AACzD,MAAMxB,QAAQ,GAAGH,cAAc,CAACC,YAAD,EAAeyB,eAAf,EAAgC,KAAhC,CAA/B;AAEA,MAAME,KAAK,GAAGzB,QAAQ,CAAC,MAAD,CAAtB;AACA,MAAMiB,KAAK,GAAGjB,QAAQ,CAAC,SAAD,CAAtB;AACA,MAAM0B,OAAO,GAAG1B,QAAQ,CAAC,QAAD,CAAxB;AACA,MAAMW,OAAO,GAAGX,QAAQ,CAAC,QAAD,CAAxB;AACA,MAAMU,YAAY,GAAGV,QAAQ,CAAC,cAAD,CAA7B;AACA,MAAM2B,QAAQ,GAAG3B,QAAQ,CAAC,SAAD,CAAzB;;AARyD,MAUnDnC,SAVmD;AAAA;;AAAA;;AAevD,uBAAYoD,KAAZ,EAAmBW,OAAnB,EAA4B;AAAA;;AAAA;;AAC1B,gCAAMX,KAAN,EAAaW,OAAb,EAD0B,CAE1B;;AAF0B,qDAJ3B5C,aAI2B,EAJV,IAIU;;AAAA,qDAH3BD,aAG2B,EAHV6B,gBAGU;;AAAA,qDAF3B3B,SAE2B,EAFd,KAEc;;AAG1BwC,MAAAA,KAAK,CAACL,OAAN,CAAc,UAACjB,WAAD;AAAA,eAAiBA,WAAW,CAAC0B,IAAZ,gCAAuBZ,KAAvB,EAA8BL,gBAA9B,EAAgD,KAAhD,CAAjB;AAAA,OAAd;AACA,YAAK3B,SAAL,IAAkB,IAAlB;AAJ0B;AAK3B;;AApBsD;AAAA;AAAA,WAsBvD,eAAc;AAAA;;AACZ;AACA,YAAI,CAAC,KAAKA,SAAL,CAAL,EAAsB;AACpB,gBAAM,IAAI6C,KAAJ,CAAU,qCAAV,CAAN;AACD;;AACD,YAAI,CAAC,KAAK9C,aAAL,CAAL,EAA0B;AACxB;AACA,eAAKA,aAAL,IAAsBiC,KAAK,CAACZ,MAAN,CACpB,UAACC,GAAD,EAAMH,WAAN;AAAA,mBAAsBA,WAAW,CAAC0B,IAAZ,CAAiB,MAAjB,EAAuBvB,GAAvB,EAA4BM,gBAA5B,EAA8C,KAA9C,CAAtB;AAAA,WADoB,EAEpB,KAAKK,KAFe,CAAtB;AAID;;AACD,eAAO,KAAKjC,aAAL,CAAP;AACD;AAnCsD;AAAA;AAAA,aAqCvD,sBAAa;AAAA;;AACX,YAAM+C,YAAY,GAAG,6IAAwC,EAA7D,CADW,CAEX;;AACA,eAAOJ,QAAQ,CAACtB,MAAT,CACL,UAACC,GAAD,EAAMH,WAAN;AAAA,iBAAsBA,WAAW,CAAC0B,IAAZ,CAAiB,MAAjB,EAAuBvB,GAAvB,EAA4BM,gBAA5B,EAA8C,KAA9C,CAAtB;AAAA,SADK,EAELmB,YAFK,CAAP;AAID;AA5CsD;AAAA;AAAA,aA8CvD,kBAAS;AAAA;;AACP,aAAK/C,aAAL,IAAsB,IAAtB,CADO,CAEP;;AACA,YAAI,2DAAJ,EAAmB;AACjB,gBAAM,IAAI8C,KAAJ,CAAU,+BAAV,CAAN;AACD;;AACD,YAAME,OAAO,GAAG,KAAKA,OAArB;AACA,YAAMC,GAAG,GAAG,KAAKC,UAAL,EAAZ,CAPO,CAQP;;AACA,YAAMC,MAAM,GAAGT,OAAO,CAACrB,MAAR,CACb,UAACC,GAAD,EAAMH,WAAN;AAAA,iBAAsBA,WAAW,CAAC0B,IAAZ,CAAiB,MAAjB,EAAuBvB,GAAvB,EAA4B0B,OAA5B,EAAqCpB,gBAArC,EAAuD,KAAvD,CAAtB;AAAA,SADa,wEAAf;;AAIA,YAAI,CAACA,gBAAgB,CAACvC,gBAAD,CAAjB,IAAuC,CAACgB,aAAa,CAAC4C,GAAD,CAAzD,EAAgE;AAC9D,8BAAO,oBAAC,OAAD,CAAS,QAAT;AAAkB,YAAA,KAAK,kCAAOD,OAAP,GAAmBC,GAAnB;AAAvB,aAAkDE,MAAlD,CAAP;AACD,SAFD,MAEO;AACL,iBAAOA,MAAP;AACD;AACF;AAhEsD;;AAAA;AAAA,IAUjCZ,eAViC;;AAmEzD,MAAMX,gBAAgB,GAAGH,oBAAoB,CAAC5C,SAAD,EAAY6C,YAAZ,EAA0BC,OAA1B,EAAmC,KAAnC,CAA7C;AACA,SAAOC,gBAAP;AACD;;AAED,SAASwB,YAAT,CAAsBb,eAAtB,EAAuCzB,YAAvC,EAAqD0B,OAArD,EAA8D;AAC5D,MAAMxB,QAAQ,GAAGH,cAAc,CAACC,YAAD,EAAeyB,eAAf,EAAgC,IAAhC,CAA/B;AAEA,MAAME,KAAK,GAAGzB,QAAQ,CAAC,MAAD,CAAtB;AACA,MAAMiB,KAAK,GAAGjB,QAAQ,CAAC,SAAD,CAAtB;AACA,MAAM0B,OAAO,GAAG1B,QAAQ,CAAC,QAAD,CAAxB;AACA,MAAMW,OAAO,GAAGX,QAAQ,CAAC,QAAD,CAAxB;AACA,MAAMU,YAAY,GAAGV,QAAQ,CAAC,cAAD,CAA7B;AACA,MAAM2B,QAAQ,GAAG3B,QAAQ,CAAC,SAAD,CAAzB;AAEA,MAAMnC,SAAS,gBAAGN,KAAK,CAAC8E,IAAN,CAAW,SAASC,qBAAT,CAA+BvB,KAA/B,EAAsC;AACjE,QAAMwB,OAAO,GAAG/E,MAAM,CAAC,EAAD,CAAtB;AACA,QAAMgF,WAAW,GAAGhF,MAAM,CAAC,IAAD,CAA1B;AACAG,IAAAA,iBAAiB,CAAC,YAAM;AACtB6E,MAAAA,WAAW,CAACC,OAAZ,GAAsB,KAAtB;AACD,KAFgB,EAEd,EAFc,CAAjB;;AAGA,QAAID,WAAW,CAACC,OAAhB,EAAyB;AACvB;AACAhB,MAAAA,KAAK,CAACL,OAAN,CAAc,UAACjB,WAAD;AAAA,eACZA,WAAW,CAAC0B,IAAZ,CAAiBU,OAAO,CAACE,OAAzB,EAAkC1B,KAAlC,EAAyCH,gBAAzC,EAA2D,IAA3D,CADY;AAAA,OAAd;AAGD,KAXgE,CAYjE;;;AACA,QAAMoB,OAAO,GAAGf,KAAK,CAACZ,MAAN,CACd,UAACC,GAAD,EAAMH,WAAN;AAAA,aAAsBA,WAAW,CAAC0B,IAAZ,CAAiBU,OAAO,CAACE,OAAzB,EAAkCnC,GAAlC,EAAuCM,gBAAvC,EAAyD,IAAzD,CAAtB;AAAA,KADc,EAEdG,KAFc,CAAhB,CAbiE,CAiBjE;;AACA,QAAMkB,GAAG,GAAGN,QAAQ,CAACtB,MAAT,CACV,UAACC,GAAD,EAAMH,WAAN;AAAA,aAAsBA,WAAW,CAAC0B,IAAZ,CAAiBU,OAAO,CAACE,OAAzB,EAAkCnC,GAAlC,EAAuCM,gBAAvC,EAAyD,IAAzD,CAAtB;AAAA,KADU,EAEV,EAFU,CAAZ,CAlBiE,CAuBjE;;AACA,QAAMuB,MAAM,GAAGT,OAAO,CAACrB,MAAR,CACb,UAACC,GAAD,EAAMH,WAAN;AAAA,aAAsBA,WAAW,CAAC0B,IAAZ,CAAiBU,OAAO,CAACE,OAAzB,EAAkCnC,GAAlC,EAAuC0B,OAAvC,EAAgDpB,gBAAhD,EAAkE,IAAlE,CAAtB;AAAA,KADa,eAEb,oBAAC,eAAD,EAAqBoB,OAArB,CAFa,CAAf;;AAKA,QAAI,CAACpB,gBAAgB,CAACvC,gBAAD,CAAjB,IAAuC,CAACgB,aAAa,CAAC4C,GAAD,CAAzD,EAAgE;AAC9D,0BAAO,oBAAC,OAAD,CAAS,QAAT;AAAkB,QAAA,KAAK,kCAAOD,OAAP,GAAmBC,GAAnB;AAAvB,SAAkDE,MAAlD,CAAP;AACD,KAFD,MAEO;AACL,aAAOA,MAAP;AACD;AACF,GAlCiB,CAAlB;AAmCA5C,EAAAA,MAAM,CAAC8B,MAAP,CAAcxD,SAAd,EAAyB0D,eAAzB;AACA,MAAMX,gBAAgB,GAAGH,oBAAoB,CAAC5C,SAAD,EAAY6C,YAAZ,EAA0BC,OAA1B,EAAmC,IAAnC,CAA7C;AACA,SAAOC,gBAAP;AACD;;AAED,SAAS8B,QAAT,CAAkBnB,eAAlB,EAAmCzB,YAAnC,EAAiD0B,OAAjD,EAA0D;AACxD,MAAM3D,SAAS,GAAG,SAAZA,SAAY,QAAoB;AAAA,QAAR8E,IAAQ,SAARA,IAAQ;AACpC,wBAAO,oBAAC,IAAD;AAAM,MAAA,MAAM,EAAEpB;AAAd,MAAP;AACD,GAFD;;AAGA9D,EAAAA,oBAAoB,CAACI,SAAD,EAAY0D,eAAZ,CAApB;AACA1D,EAAAA,SAAS,CAACqD,WAAV,GAAwBK,eAAe,CAACL,WAAxC;AACArD,EAAAA,SAAS,CAACsD,YAAV,GAAyBI,eAAe,CAACJ,YAAzC;AACA,SAAOiB,YAAY,CAACvE,SAAD,EAAYiC,YAAZ,EAA0B0B,OAA1B,CAAnB;AACD;;AAED,SAASoB,sBAAT,CAAgCrB,eAAhC,EAAiDC,OAAjD,EAA0D1B,YAA1D,EAA6E;AAC3E,MACEvC,KAAK,CAACsF,aAAN,CAAoBC,aAApB,CAAkCvB,eAAlC,KACAhE,KAAK,CAACM,SAAN,CAAgBiF,aAAhB,CAA8BvB,eAA9B,CAFF,EAGE;AACA,QAAIA,eAAe,CAAC3B,SAAhB,YAAqC/B,SAAzC,EAAoD;AAClD,aAAOyD,SAAS,CAACC,eAAD,EAAkBzB,YAAlB,EAAgC0B,OAAhC,CAAhB;AACD,KAFD,MAEO;AACL,YAAM,IAAIM,KAAJ,CAAU,iCAAV,CAAN;AACD;AACF,GATD,MASO,IAAI,OAAOP,eAAP,KAA2B,UAA/B,EAA2C;AAChD,WAAOa,YAAY,CAACb,eAAD,EAAkBzB,YAAlB,EAAgC0B,OAAhC,CAAnB;AACD,GAFM,MAEA,IAAID,eAAe,CAAC1C,cAAD,CAAnB,EAAqC;AAC1C,WAAO6D,QAAQ,CAACnB,eAAD,EAAkBzB,YAAlB,EAAgC0B,OAAhC,CAAf;AACD,GAFM,MAEA;AACL,UAAM,IAAIM,KAAJ,CAAU,2BAAV,CAAN;AACD;AACF;;AAwCD,SAASiB,WAAT,CAAqBC,EAArB,EAAyBC,EAAzB,EAA6B;AAC3B,SAAOrF,YAAY,CAACqF,EAAD,EAAKD,EAAL,CAAnB;AACD;;AAED,SAASE,eAAT,CACE3B,eADF,EAgBE;AAAA,MAdA4B,eAcA,uEAdkB,EAclB;AAAA,MAbAC,OAaA,uEATI,EASJ;AAAA,yBAKIA,OALJ,CAEExB,OAFF;AAAA,MAEEA,OAFF,8CAEYrE,KAAK,CAAC8F,aAAN,CAAiC,EAAjC,CAFZ;AAAA,wBAKID,OALJ,CAGEE,MAHF;AAAA,MAGEA,MAHF,gCAGW,EAHX;AAAA,8BAKIF,OALJ,CAIEtD,YAJF;AAAA,MAIEA,YAJF,sCAIiB,EAJjB;AAMA,MAAIyD,OAAO,GAAGC,KAAK,CAACC,OAAN,CAAcH,MAAd,IAAwBA,MAAxB,GAAiC,CAACA,MAAD,CAA/C;;AACA,MAAIC,OAAO,CAAC9D,MAAZ,EAAoB;AAClB,QAAMiE,WAAW,GAAGH,OAAO,CAAClD,MAAR,CAAe,UAACC,GAAD,EAAMgD,MAAN,EAAiB;AAClD,UAAIA,MAAM,CAAClE,iBAAD,CAAV,EAA+B;AAC7BkB,QAAAA,GAAG,gCAAOgD,MAAM,CAAClE,iBAAD,CAAb,sBAAqCkB,GAArC,EAAH;AACD;;AACD,aAAOA,GAAP;AACD,KALmB,EAKjBiD,OALiB,CAApB;AAMAhC,IAAAA,eAAe,CAACnC,iBAAD,CAAf,GAAqCsE,WAArC;AACAH,IAAAA,OAAO,GAAGG,WAAV;AACD;;AACD,MAAInC,eAAe,CAAC1C,cAAD,CAAnB,EAAqC;AACnC0E,IAAAA,OAAO,CAAC/C,IAAR,CAAae,eAAb;AACD;;AACD,MAAM1D,SAAS,GAAG+E,sBAAsB,CAACrB,eAAD,EAAkBK,OAAlB,+BAEnC9B,YAAY,CAAC6D,GAAb,CAAiB,UAACC,CAAD;AAAA,WAAOA,CAAC,CAAChC,OAAD,EAAU2B,OAAV,EAAmBL,eAAnB,EAAoCC,eAApC,CAAR;AAAA,GAAjB,CAFmC,IAGtCvE,sBAAsB,EAHgB,EAItCb,mBAAmB,CAAC6D,OAAD,EAAU2B,OAAV,CAJmB,EAKtC;AACAtF,EAAAA,eAAe,EANuB,EAOtCC,4BAA4B,EAPU,EAQtCE,yBAAyB,CAAC+E,eAAD,EAAkBD,eAAlB,EAAmC;AAC1DtB,IAAAA,OAAO,EAAPA,OAD0D;AAE1D0B,IAAAA,MAAM,EAANA,MAF0D;AAG1DxD,IAAAA,YAAY,EAAZA;AAH0D,GAAnC,CARa,EAatC;AACA3B,EAAAA,+BAA+B,EAdO,EAetC;AACAG,EAAAA,wBAAwB,EAhBc,EAiBtC;AACAG,EAAAA,mBAAmB,EAlBmB,EAmBtC;AACAC,EAAAA,kBAAkB,EApBoB,EAqBtCC,gBAAgB,CAACwE,eAAD,EAAkBvB,OAAlB,CArBsB,EAsBtC;AACApD,EAAAA,qBAAqB,CAAC2E,eAAD,EAAkBvB,OAAlB,CAvBiB,GAAxC;AAyBA/D,EAAAA,SAAS,CAACqB,iBAAD,CAAT,GAA+B0C,OAA/B;;AACA/D,EAAAA,SAAS,CAACsB,gBAAD,CAAT,GAA8B,YAI5B;AAAA,QAHA0E,gBAGA,uEAHmBtC,eAGnB;;AAAA,QAFAuC,gBAEA,uEAFmBX,eAEnB;;AAAA,QADAY,QACA,uEADWX,OACX;;AACA,WAAOF,eAAe,CAACW,gBAAD,EAAmBC,gBAAnB,EAAqCC,QAArC,CAAtB;AACD,GAND;;AAOAlG,EAAAA,SAAS,CAACgB,cAAD,CAAT,GAA4B,IAA5B;AACA,SAAOhB,SAAP;AACD;;AAED,SAASmG,mBAAT,CAA6CzC,eAA7C,EAA6F;AAC3F,MAAI1D,SAAS,GAAG,IAAhB;;AACA,MACE,CAACN,KAAK,CAACsF,aAAN,CAAoBC,aAApB,CAAkCvB,eAAlC,CAAD,IACA,CAAChE,KAAK,CAACM,SAAN,CAAgBiF,aAAhB,CAA8BvB,eAA9B,CADD,IAEA,OAAOA,eAAP,KAA2B,UAH7B,EAIE;AACA1D,IAAAA,SAAS,gBAAGN,KAAK,CAACsD,UAAN,CAAiBU,eAAjB,CAAZ;AACA1D,IAAAA,SAAS,CAACqD,WAAV,GAAwBK,eAAe,CAACL,WAAxC;AACArD,IAAAA,SAAS,CAACsD,YAAV;AACE,sBAAgBI,eAAe,CAACL;AADlC,OAEKK,eAAe,CAACJ,YAFrB;AAIAtD,IAAAA,SAAS,CAACgB,cAAD,CAAT,GAA4B,IAA5B;AACD,GAZD,MAYO;AACL,UAAM,IAAIiD,KAAJ,CAAU,uDAAV,CAAN;AACD;;AACD,SAAOjE,SAAP;AACD;;AAED,cAAc,aAAd;AACA,cAAc,UAAd;AACA,cAAc,YAAd;AACA,SACEmG,mBADF,EAEEnG,SAFF,EAGEC,QAHF,EAIEqB,gBAJF,EAKEJ,aALF,EAMEG,iBANF,EAOElB,kBAPF,EAQEO,cARF,EASEM,cATF,EAUER,gBAVF,EAWE0E,WAXF;AAaA,eAAeG,eAAf","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":["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,9 +1,9 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
 
4
- 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; }
4
+ 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; }
5
5
 
6
- 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; }
6
+ 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; }
7
7
 
8
8
  /* eslint-disable */
9
9
  import _cn from 'classnames';
@@ -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,"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"}
@@ -52,8 +52,14 @@ export declare type Merge<Props, HTMLProps> = Props & Omit<HTMLProps, keyof Prop
52
52
  export declare type MergeGetters<G1 extends (...args: any) => any, G2 extends (...args: any) => any> = <P>(props?: P) => Merge<ReturnType<G1>, ReturnType<G2>> & P;
53
53
  declare const Root: Root;
54
54
  export { Root };
55
- export default abstract class RootComponent<Props = {}, Context = {}, State = {}> extends PureComponent<Props & IRootComponentProps<Props, Context>, State> {
55
+ declare abstract class RootComponent<Props = {}, Context = {}, State = {}> extends PureComponent<Props & IRootComponentProps<Props, Context>, State> {
56
56
  get handlers(): Readonly<IRootComponentHandlers>;
57
57
  get asProps(): Readonly<Merge<Props & IRootComponentProps<Props, Context>, React.AllHTMLAttributes<any>>>;
58
58
  Root: Root;
59
59
  }
60
+ export declare const Component: typeof RootComponent;
61
+ export declare type Component<Props = {}, Context = {}, State = {}, Handlers extends IRootComponentHandlers = IRootComponentHandlers> = React.ComponentClass<Props, State> & {
62
+ handlers: Readonly<Handlers>;
63
+ asProps: Readonly<Merge<Props & IRootComponentProps<Props, Context>, AllHTMLAttributes<any>>>;
64
+ Root: Root;
65
+ };
@@ -1,5 +1,5 @@
1
1
  import React, { ForwardRefExoticComponent, RefAttributes } from 'react';
2
- import Component, { PropsWithRenderFnChildren } from './Component';
2
+ import { Component, PropsWithRenderFnChildren } from './Component';
3
3
  import register from './register';
4
4
  import { CHILDREN_COMPONENT } from './enhancement/Children';
5
5
  import { STATIC_COMPONENT } from './enhancement/staticChildren';
@@ -34,5 +34,5 @@ declare function createBaseComponent<ComponentProps>(OriginComponent: any): Comp
34
34
  export * from './Component';
35
35
  export * from './styled';
36
36
  export * from './register';
37
- export { createBaseComponent, Component, register, CREATE_COMPONENT, CORE_INSTANCE, CONTEXT_COMPONENT, CHILDREN_COMPONENT, INHERITED_NAME, CORE_COMPONENT, STATIC_COMPONENT, assignProps, };
37
+ export { createBaseComponent, register, CREATE_COMPONENT, CORE_INSTANCE, CONTEXT_COMPONENT, CHILDREN_COMPONENT, INHERITED_NAME, CORE_COMPONENT, STATIC_COMPONENT, assignProps, };
38
38
  export default createComponent;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/core",
3
3
  "description": "SEMRush Core Component",
4
- "version": "1.11.2",
4
+ "version": "1.11.3",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -21,6 +21,11 @@
21
21
  "react": "16.8 - 17"
22
22
  },
23
23
  "jest": {
24
- "preset": "jest-preset-ui"
24
+ "preset": "@semcore/jest-preset-ui"
25
+ },
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "https://github.com/semrush/intergalactic.git",
29
+ "directory": "semcore/core"
25
30
  }
26
31
  }
package/src/Component.tsx CHANGED
@@ -76,11 +76,10 @@ declare const Root: Root;
76
76
 
77
77
  export { Root };
78
78
 
79
- export default abstract class RootComponent<
80
- Props = {},
81
- Context = {},
82
- State = {}
83
- > extends PureComponent<Props & IRootComponentProps<Props, Context>, State> {
79
+ abstract class RootComponent<Props = {}, Context = {}, State = {}> extends PureComponent<
80
+ Props & IRootComponentProps<Props, Context>,
81
+ State
82
+ > {
84
83
  get handlers(): Readonly<IRootComponentHandlers> {
85
84
  return {};
86
85
  }
@@ -93,3 +92,17 @@ export default abstract class RootComponent<
93
92
 
94
93
  Root: Root;
95
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
+ };
@@ -45,7 +45,7 @@ function createRootRender() {
45
45
  },
46
46
  );
47
47
  if (!Tag) {
48
- throw new Error('В Root нужно передать render');
48
+ throw new Error('`render` prop of Root is not provided');
49
49
  }
50
50
  return <Tag {...other} />;
51
51
  });
@@ -52,7 +52,7 @@ function Enhancement(childComponents, createComponent, options) {
52
52
  const selfGetterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);
53
53
  logger.warn(
54
54
  true,
55
- `Метод "${selfGetterMethod}" не может быть вызван, так как вызов getter функции внутри статичного компонента для которого эта функция предназначена - не возможно`,
55
+ `Getter \`${selfGetterMethod}\` can't be fired as it is a getter of static component`,
56
56
  props['data-ui-name'] || WrapperComponent.displayName,
57
57
  );
58
58
  };
package/src/index.tsx CHANGED
@@ -7,7 +7,7 @@ import useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';
7
7
  // @ts-ignore
8
8
  import _assignProps from '@semcore/utils/lib/assignProps';
9
9
 
10
- import Component, { PropsWithRenderFnChildren } from './Component';
10
+ import { Component, PropsWithRenderFnChildren } from './Component';
11
11
  import register from './register';
12
12
 
13
13
  import childrenEnhancement, { CHILDREN_COMPONENT } from './enhancement/Children';
@@ -132,7 +132,7 @@ function wrapClass(OriginComponent, enhancements, Context) {
132
132
  this[CORE_AS_PROPS] = null;
133
133
  // TODO if not production
134
134
  if (!super.render) {
135
- throw new Error('нужно определить render метод');
135
+ throw new Error('Component `render` method is not defined');
136
136
  }
137
137
  const asProps = this.asProps;
138
138
  const ctx = this.setContext();
@@ -246,26 +246,22 @@ export type ComponentType<
246
246
  ChildComponentProps = {},
247
247
  ContextType = {},
248
248
  UCProps = {},
249
- FNType = null
249
+ FNType = null,
250
250
  > = (FNType extends null
251
251
  ? ForwardRefComponent<ComponentProps, ContextType, UCProps>
252
- : FNType & { displayName: string }) &
253
- {
254
- [K in keyof ChildComponentProps]: ComponentOrProps<
255
- ChildComponentProps[K],
256
- ContextType,
257
- UCProps
258
- >;
259
- } & {
260
- [CORE_COMPONENT]: boolean;
261
- [CREATE_COMPONENT]: () => ComponentType<
262
- ComponentProps,
263
- ChildComponentProps,
264
- ContextType,
265
- UCProps
266
- >;
267
- };
252
+ : FNType & { displayName: string }) & {
253
+ [K in keyof ChildComponentProps]: ComponentOrProps<ChildComponentProps[K], ContextType, UCProps>;
254
+ } & {
255
+ [CORE_COMPONENT]: boolean;
256
+ [CREATE_COMPONENT]: () => ComponentType<
257
+ ComponentProps,
258
+ ChildComponentProps,
259
+ ContextType,
260
+ UCProps
261
+ >;
262
+ };
268
263
 
264
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
269
265
  interface ClassWithUncontrolledProps<Props> {
270
266
  uncontrolledProps(): unknown;
271
267
  }
@@ -372,7 +368,6 @@ export * from './styled';
372
368
  export * from './register';
373
369
  export {
374
370
  createBaseComponent,
375
- Component,
376
371
  register,
377
372
  CREATE_COMPONENT,
378
373
  CORE_INSTANCE,