@semcore/core 1.11.8 → 1.11.11

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 (57) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +6 -4
  3. package/lib/cjs/Component.js.map +1 -1
  4. package/lib/cjs/enhancement/Children.js.map +1 -1
  5. package/lib/cjs/enhancement/Root.js +1 -1
  6. package/lib/cjs/enhancement/Root.js.map +1 -1
  7. package/lib/cjs/enhancement/bindHandler.js.map +1 -1
  8. package/lib/cjs/enhancement/dataName.js.map +1 -1
  9. package/lib/cjs/enhancement/enhance.js.map +1 -1
  10. package/lib/cjs/enhancement/functionDefaultProps.js.map +1 -1
  11. package/lib/cjs/enhancement/hoistProps.js.map +1 -1
  12. package/lib/cjs/enhancement/inheritedName.js.map +1 -1
  13. package/lib/cjs/enhancement/staticChildren.js.map +1 -1
  14. package/lib/cjs/enhancement/style.js.map +1 -1
  15. package/lib/cjs/enhancement/uncontrolledProps.js.map +1 -1
  16. package/lib/cjs/index.js +4 -4
  17. package/lib/cjs/index.js.map +1 -1
  18. package/lib/cjs/register.js.map +1 -1
  19. package/lib/cjs/styled/index.js.map +1 -1
  20. package/lib/cjs/styled/sstyled.js +4 -2
  21. package/lib/cjs/styled/sstyled.js.map +1 -1
  22. package/lib/es6/Component.js.map +1 -1
  23. package/lib/es6/enhancement/Children.js.map +1 -1
  24. package/lib/es6/enhancement/Root.js +1 -1
  25. package/lib/es6/enhancement/Root.js.map +1 -1
  26. package/lib/es6/enhancement/bindHandler.js.map +1 -1
  27. package/lib/es6/enhancement/dataName.js.map +1 -1
  28. package/lib/es6/enhancement/enhance.js.map +1 -1
  29. package/lib/es6/enhancement/functionDefaultProps.js.map +1 -1
  30. package/lib/es6/enhancement/hoistProps.js.map +1 -1
  31. package/lib/es6/enhancement/inheritedName.js.map +1 -1
  32. package/lib/es6/enhancement/staticChildren.js.map +1 -1
  33. package/lib/es6/enhancement/style.js.map +1 -1
  34. package/lib/es6/enhancement/uncontrolledProps.js.map +1 -1
  35. package/lib/es6/index.js +4 -4
  36. package/lib/es6/index.js.map +1 -1
  37. package/lib/es6/register.js.map +1 -1
  38. package/lib/es6/styled/index.js.map +1 -1
  39. package/lib/es6/styled/sstyled.js +4 -2
  40. package/lib/es6/styled/sstyled.js.map +1 -1
  41. package/package.json +2 -2
  42. package/src/Component.tsx +0 -108
  43. package/src/enhancement/Children.tsx +0 -104
  44. package/src/enhancement/Root.tsx +0 -78
  45. package/src/enhancement/bindHandler.tsx +0 -45
  46. package/src/enhancement/dataName.tsx +0 -12
  47. package/src/enhancement/enhance.tsx +0 -12
  48. package/src/enhancement/functionDefaultProps.tsx +0 -29
  49. package/src/enhancement/hoistProps.tsx +0 -88
  50. package/src/enhancement/inheritedName.tsx +0 -18
  51. package/src/enhancement/staticChildren.tsx +0 -128
  52. package/src/enhancement/style.tsx +0 -47
  53. package/src/enhancement/uncontrolledProps.tsx +0 -134
  54. package/src/index.tsx +0 -381
  55. package/src/register.tsx +0 -18
  56. package/src/styled/index.tsx +0 -9
  57. package/src/styled/sstyled.tsx +0 -150
package/CHANGELOG.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [1.11.11] - 2022-08-18
6
+
7
+ ### Changed
8
+
9
+ - Version patch update due to children dependencies update (`@semcore/utils` [3.36.0 ~> 3.37.0]).
10
+
11
+ ## [1.11.10] - 2022-08-11
12
+
13
+ ### Changed
14
+
15
+ - Version patch update due to children dependencies update (`@semcore/utils` [3.35.1 ~> 3.36.0]).
16
+
17
+ ## [1.11.9] - 2022-07-22
18
+
19
+ ### Changed
20
+
21
+ - Version patch update due to children dependencies update (`@semcore/utils` [3.34.0 ~> 3.35.0]).
22
+
5
23
  ## [1.11.8] - 2022-07-07
6
24
 
7
25
  ### Changed
package/README.md CHANGED
@@ -42,21 +42,23 @@ of the components that is discussed below. There should only be one version of t
42
42
 
43
43
  You can use the package the same way but without `/ui/` in the import path.
44
44
 
45
- </details>
46
-
47
45
  ```jsx
48
46
  import createComponent, { Root, sstyled } from '@semcore/core';
49
47
  ```
50
48
 
49
+ </details>
50
+
51
51
  ## 👤 Author
52
52
 
53
- [UI-kit team](https://github.com/semrush/intergalactic/blob/master/MAINTAINERS) and [others ❤️](https://github.com/semrush/intergalactic/graphs/contributors)
53
+ [UI-kit team](https://github.com/semrush/intergalactic/blob/master/MAINTAINERS)
54
+ and [others ❤️](https://github.com/semrush/intergalactic/graphs/contributors)
54
55
 
55
56
  ## 🤝 Contributing
56
57
 
57
58
  Contributions, issues and feature requests are welcome!
58
59
 
59
- Feel free to check [issues page](https://github.com/semrush/intergalactic/issues). You can also take a look at the [contributing guide](https://github.com/semrush/intergalactic/blob/master/CONTRIBUTING.md).
60
+ Feel free to check [issues page](https://github.com/semrush/intergalactic/issues). You can also take a look at
61
+ the [contributing guide](https://github.com/semrush/intergalactic/blob/master/CONTRIBUTING.md).
60
62
 
61
63
  ## Show your support
62
64
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Component.tsx"],"names":["RootComponent","PureComponent","Component"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;IA8EeA,a;;;;;;;;;;;;;;;;;;;;;SAIb,eAAiD;AAC/C,aAAO,EAAP;AACD;;;SAED,eAAc;AACZ,aAAO,EAAP;AAGD;;;EAZwEC,oB;;AAiBpE,IAAMC,SAAS,GAAGF,aAAlB","sourcesContent":["import React, {\n AllHTMLAttributes,\n ForwardRefExoticComponent,\n PureComponent,\n ReactNode,\n RefObject,\n} from 'react';\nimport { IStyledProps } from './styled';\n\ntype KnownKeys<T> = {\n [K in keyof T]: string extends K ? never : number extends K ? never : K;\n} extends { [_ in keyof T]: infer U }\n ? U\n : never;\n\nexport type HandlersType<UCProps> = { [K in keyof UCProps]?: <T = unknown>(arg: T) => void };\nexport type ChildrenType<Props = {}, Ctx = {}, UCProps = {}> =\n | ((props: Props & Ctx, handlers: HandlersType<UCProps>) => ReactNode)\n | ReactNode;\n\nexport type RootComponentHandler = (...args: any[]) => void | false;\n\nexport interface IRootComponentHandlers {\n [key: string]: RootComponentHandler;\n}\n\nexport interface IRootComponentProps<Props = {}, Ctx = {}> {\n forwardRef?: RefObject<any>;\n Children?: any;\n children?: ChildrenType<Props, Ctx>;\n styles?: IStyledProps['styles'];\n}\n\nexport type IComponentProps<Props = {}, Ctx = {}> = Props & IRootComponentProps<Props, Ctx>;\n\nexport type IFunctionProps<Props = {}, Ctx = {}> = IComponentProps<Props, Ctx> &\n Omit<AllHTMLAttributes<any>, keyof IComponentProps<Props, Ctx>> & { Root?: Root };\n\nexport type PropsWithRenderFnChildren<Props = {}, Ctx = {}, UCProps = {}> = Omit<\n Pick<Props, KnownKeys<Props>>,\n 'children'\n> & {\n children?: ChildrenType<Props, Ctx, UCProps>;\n [key: string]: unknown;\n};\n\nexport type CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\nexport type ReturnEl = React.ReactElement | null;\n\nexport interface IRootNodeProps {\n render: React.ElementType | string;\n tag?: React.ElementType | string;\n\n [key: string]: any;\n}\n\ntype Root = ForwardRefExoticComponent<IRootNodeProps>;\n\n/**\n * @deprecated since version ^1.8.0\n */\nexport type PropGetter<T extends (...args: any) => any> = <P>(props?: P) => ReturnType<T> & P;\n/**\n * @deprecated since version ^1.8.0\n */\nexport type PropGetterReturn<T extends (...args: any) => any> = Partial<ReturnType<T>>;\nexport type PropGetterFn = <T extends {}>(props?: T) => T & { [key: string]: unknown };\nexport type Merge<Props, HTMLProps> = Props & Omit<HTMLProps, keyof Props>;\nexport type MergeGetters<G1 extends (...args: any) => any, G2 extends (...args: any) => any> = <P>(\n props?: P,\n) => Merge<ReturnType<G1>, ReturnType<G2>> & P;\n\ndeclare const Root: Root;\n\nexport { Root };\n\nabstract class RootComponent<Props = {}, Context = {}, State = {}> extends PureComponent<\n Props & IRootComponentProps<Props, Context>,\n State\n> {\n get handlers(): Readonly<IRootComponentHandlers> {\n return {};\n }\n\n get asProps() {\n return {} as Readonly<\n Merge<Props & IRootComponentProps<Props, Context>, AllHTMLAttributes<any>>\n >;\n }\n\n Root: Root;\n}\n\nexport const Component = RootComponent;\nexport type Component<\n Props = {},\n Context = {},\n State = {},\n Handlers extends IRootComponentHandlers = IRootComponentHandlers,\n> = React.ComponentClass<Props, State> & {\n handlers: Readonly<Handlers>;\n\n asProps: Readonly<Merge<Props & IRootComponentProps<Props, Context>, AllHTMLAttributes<any>>>;\n\n Root: Root;\n};\n"],"file":"Component.js"}
1
+ {"version":3,"file":"Component.js","names":["RootComponent","PureComponent","Component"],"sources":["../../src/Component.tsx"],"sourcesContent":["import React, {\n AllHTMLAttributes,\n ForwardRefExoticComponent,\n PureComponent,\n ReactNode,\n RefObject,\n} from 'react';\nimport { IStyledProps } from './styled';\n\ntype KnownKeys<T> = {\n [K in keyof T]: string extends K ? never : number extends K ? never : K;\n} extends { [_ in keyof T]: infer U }\n ? U\n : never;\n\nexport type HandlersType<UCProps> = { [K in keyof UCProps]?: <T = unknown>(arg: T) => void };\nexport type ChildrenType<Props = {}, Ctx = {}, UCProps = {}> =\n | ((props: Props & Ctx, handlers: HandlersType<UCProps>) => ReactNode)\n | ReactNode;\n\nexport type RootComponentHandler = (...args: any[]) => void | false;\n\nexport interface IRootComponentHandlers {\n [key: string]: RootComponentHandler;\n}\n\nexport interface IRootComponentProps<Props = {}, Ctx = {}> {\n forwardRef?: RefObject<any>;\n Children?: any;\n children?: ChildrenType<Props, Ctx>;\n styles?: IStyledProps['styles'];\n}\n\nexport type IComponentProps<Props = {}, Ctx = {}> = Props & IRootComponentProps<Props, Ctx>;\n\nexport type IFunctionProps<Props = {}, Ctx = {}> = IComponentProps<Props, Ctx> &\n Omit<AllHTMLAttributes<any>, keyof IComponentProps<Props, Ctx>> & { Root?: Root };\n\nexport type PropsWithRenderFnChildren<Props = {}, Ctx = {}, UCProps = {}> = Omit<\n Pick<Props, KnownKeys<Props>>,\n 'children'\n> & {\n children?: ChildrenType<Props, Ctx, UCProps>;\n [key: string]: unknown;\n};\n\nexport type CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\nexport type ReturnEl = React.ReactElement | null;\n\nexport interface IRootNodeProps {\n render: React.ElementType | string;\n tag?: React.ElementType | string;\n\n [key: string]: any;\n}\n\ntype Root = ForwardRefExoticComponent<IRootNodeProps>;\n\n/**\n * @deprecated since version ^1.8.0\n */\nexport type PropGetter<T extends (...args: any) => any> = <P>(props?: P) => ReturnType<T> & P;\n/**\n * @deprecated since version ^1.8.0\n */\nexport type PropGetterReturn<T extends (...args: any) => any> = Partial<ReturnType<T>>;\nexport type PropGetterFn = <T extends {}>(props?: T) => T & { [key: string]: unknown };\nexport type Merge<Props, HTMLProps> = Props & Omit<HTMLProps, keyof Props>;\nexport type MergeGetters<G1 extends (...args: any) => any, G2 extends (...args: any) => any> = <P>(\n props?: P,\n) => Merge<ReturnType<G1>, ReturnType<G2>> & P;\n\ndeclare const Root: Root;\n\nexport { Root };\n\nabstract class RootComponent<Props = {}, Context = {}, State = {}> extends PureComponent<\n Props & IRootComponentProps<Props, Context>,\n State\n> {\n get handlers(): Readonly<IRootComponentHandlers> {\n return {};\n }\n\n get asProps() {\n return {} as Readonly<\n Merge<Props & IRootComponentProps<Props, Context>, AllHTMLAttributes<any>>\n >;\n }\n\n Root: Root;\n}\n\nexport const Component = RootComponent;\nexport type Component<\n Props = {},\n Context = {},\n State = {},\n Handlers extends IRootComponentHandlers = IRootComponentHandlers,\n> = React.ComponentClass<Props, State> & {\n handlers: Readonly<Handlers>;\n\n asProps: Readonly<Merge<Props & IRootComponentProps<Props, Context>, AllHTMLAttributes<any>>>;\n\n Root: Root;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;IA8EeA,a;;;;;;;;;;;;;;;;;;;;;SAIb,eAAiD;MAC/C,OAAO,EAAP;IACD;;;SAED,eAAc;MACZ,OAAO,EAAP;IAGD;;;EAZwEC,oB;;AAiBpE,IAAMC,SAAS,GAAGF,aAAlB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/enhancement/Children.tsx"],"names":["CHILDREN_COMPONENT","Symbol","CHILDREN_SELF","GETTER_REG","splitPropsAndGetters","props","Object","entries","reduce","acc","key","value","exec","getters","getterToArray","getter","Array","isArray","mergeObjects","a","b","core","keys","assignGettersChain","createChildren","Context","contexts","Children","children","origin","ctx","handlers","propsAndGetters","assign","mergedGetters","undefined","Enhancement","parent","init","map","component","CONTEXT_COMPONENT","filter","Boolean","asProps"],"mappings":"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","sourcesContent":["import { useContext } from 'react';\nimport { CONTEXT_COMPONENT } from '../index';\n\nexport const CHILDREN_COMPONENT = Symbol('CHILDREN_COMPONENT');\nconst CHILDREN_SELF = Symbol('CHILDREN_SELF');\n\nconst GETTER_REG = /^get[\\w]+Props$/;\n\nfunction splitPropsAndGetters(props) {\n return Object.entries(props).reduce(\n (acc, [key, value]) => {\n if (GETTER_REG.exec(key) === null) {\n acc.props[key] = value;\n } else {\n acc.getters[key] = value;\n }\n return acc;\n },\n { props: {}, getters: {} },\n );\n}\n\nfunction getterToArray(getter) {\n if (!Array.isArray(getter)) {\n return typeof getter === 'function' ? [getter] : [];\n }\n return getter;\n}\n\nfunction mergeObjects(a = {}, b = {}) {\n const core = { ...a, ...b };\n return Object.keys(core).reduce((acc, key) => {\n a[key] = getterToArray(a[key]);\n b[key] = getterToArray(b[key]);\n acc[key] = [...a[key], ...b[key]];\n return acc;\n }, {});\n}\n\nfunction assignGettersChain(getters: Array<Function>) {\n return function (props = {}) {\n return getters.reduce((acc, getter) => {\n return getter(acc);\n }, props);\n };\n}\n\nfunction createChildren(Context, contexts) {\n const Children = function () {\n const children = Children.origin;\n if (typeof children === 'function') {\n const {\n handlers = {},\n getters = {},\n ...props\n } = [...contexts, Context].reduce((acc, ctx) => {\n const { handlers, ...propsAndGetters } = useContext(ctx);\n const { props, getters } = splitPropsAndGetters(propsAndGetters);\n return Object.assign({}, acc, {\n handlers: Object.assign({}, acc.handlers, handlers),\n getters: mergeObjects(acc.getters, getters),\n ...props,\n });\n }, Children.props);\n\n const mergedGetters = Object.entries(getters).reduce((acc, [key, value]) => {\n acc[key] = assignGettersChain(value as []);\n return acc;\n }, {});\n\n return children({ ...props, ...mergedGetters }, handlers);\n } else if (children === undefined) {\n return null;\n }\n return children;\n };\n Children.origin = null;\n Children.props = {};\n Children[CHILDREN_COMPONENT] = true;\n return Children;\n}\n\nfunction Enhancement(Context, parent) {\n return {\n init: function () {\n const contexts = (Array.isArray(parent) ? parent : [parent])\n .map((component) => component[CONTEXT_COMPONENT])\n .filter(Boolean);\n this[CHILDREN_SELF] = createChildren(Context, contexts);\n },\n asProps: function (props) {\n // TODO: learn the reason what it was used for (by lsroman)\n // this[CHILDREN_SELF].origin = _Children ? _Children.origin : children;\n this[CHILDREN_SELF].origin = props.children;\n this[CHILDREN_SELF].props = props;\n return {\n ...props,\n Children: this[CHILDREN_SELF],\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"file":"Children.js"}
1
+ {"version":3,"file":"Children.js","names":["CHILDREN_COMPONENT","Symbol","CHILDREN_SELF","GETTER_REG","splitPropsAndGetters","props","Object","entries","reduce","acc","key","value","exec","getters","getterToArray","getter","Array","isArray","mergeObjects","a","b","core","keys","assignGettersChain","createChildren","Context","contexts","Children","children","origin","ctx","useContext","handlers","propsAndGetters","assign","mergedGetters","undefined","Enhancement","parent","init","map","component","CONTEXT_COMPONENT","filter","Boolean","asProps"],"sources":["../../../src/enhancement/Children.tsx"],"sourcesContent":["import { useContext } from 'react';\nimport { CONTEXT_COMPONENT } from '../index';\n\nexport const CHILDREN_COMPONENT = Symbol('CHILDREN_COMPONENT');\nconst CHILDREN_SELF = Symbol('CHILDREN_SELF');\n\nconst GETTER_REG = /^get[\\w]+Props$/;\n\nfunction splitPropsAndGetters(props) {\n return Object.entries(props).reduce(\n (acc, [key, value]) => {\n if (GETTER_REG.exec(key) === null) {\n acc.props[key] = value;\n } else {\n acc.getters[key] = value;\n }\n return acc;\n },\n { props: {}, getters: {} },\n );\n}\n\nfunction getterToArray(getter) {\n if (!Array.isArray(getter)) {\n return typeof getter === 'function' ? [getter] : [];\n }\n return getter;\n}\n\nfunction mergeObjects(a = {}, b = {}) {\n const core = { ...a, ...b };\n return Object.keys(core).reduce((acc, key) => {\n a[key] = getterToArray(a[key]);\n b[key] = getterToArray(b[key]);\n acc[key] = [...a[key], ...b[key]];\n return acc;\n }, {});\n}\n\nfunction assignGettersChain(getters: Array<Function>) {\n return function (props = {}) {\n return getters.reduce((acc, getter) => {\n return getter(acc);\n }, props);\n };\n}\n\nfunction createChildren(Context, contexts) {\n const Children = function () {\n const children = Children.origin;\n if (typeof children === 'function') {\n const {\n handlers = {},\n getters = {},\n ...props\n } = [...contexts, Context].reduce((acc, ctx) => {\n const { handlers, ...propsAndGetters } = useContext(ctx);\n const { props, getters } = splitPropsAndGetters(propsAndGetters);\n return Object.assign({}, acc, {\n handlers: Object.assign({}, acc.handlers, handlers),\n getters: mergeObjects(acc.getters, getters),\n ...props,\n });\n }, Children.props);\n\n const mergedGetters = Object.entries(getters).reduce((acc, [key, value]) => {\n acc[key] = assignGettersChain(value as []);\n return acc;\n }, {});\n\n return children({ ...props, ...mergedGetters }, handlers);\n } else if (children === undefined) {\n return null;\n }\n return children;\n };\n Children.origin = null;\n Children.props = {};\n Children[CHILDREN_COMPONENT] = true;\n return Children;\n}\n\nfunction Enhancement(Context, parent) {\n return {\n init: function () {\n const contexts = (Array.isArray(parent) ? parent : [parent])\n .map((component) => component[CONTEXT_COMPONENT])\n .filter(Boolean);\n this[CHILDREN_SELF] = createChildren(Context, contexts);\n },\n asProps: function (props) {\n // TODO: learn the reason what it was used for (by lsroman)\n // this[CHILDREN_SELF].origin = _Children ? _Children.origin : children;\n this[CHILDREN_SELF].origin = props.children;\n this[CHILDREN_SELF].props = props;\n return {\n ...props,\n Children: this[CHILDREN_SELF],\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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"}
@@ -28,7 +28,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
28
28
 
29
29
  function createRootRender() {
30
30
  // @ts-ignore
31
- var Root = _react["default"].forwardRef(function (_ref, ref) {
31
+ var Root = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
32
32
  var Tag = _ref.render,
33
33
  source = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
34
34
  var _Root$props = Root.props,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/enhancement/Root.tsx"],"names":["createRootRender","Root","React","forwardRef","ref","Tag","render","source","props","_Root","styles","children","Children","clearProps","Object","entries","reduce","name","value","undefined","child","origin","other","Error","Enhancement","init","asProps","WrapperComponent","isFunction"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAEA;;AAEA;;;;;;;;;AAEA,SAASA,gBAAT,GAA4B;AAC1B;AACA,MAAMC,IAAI,GAAGC,kBAAMC,UAAN,CAAiB,gBAAsCC,GAAtC,EAA2C;AAAA,QAAvBC,GAAuB,QAA/BC,MAA+B;AAAA,QAAfC,MAAe;AACvE,sBAWIN,IAAI,CAACO,KAXT;AAAA,QAEQC,KAFR,eAEER,IAFF;AAAA,QAIES,MAJF,eAIEA,MAJF;AAAA,QAMEC,QANF,eAMEA,QANF;AAAA,QAOEC,QAPF,eAOEA,QAPF;AAAA,4CAQET,UARF;AAAA,QAQEA,UARF,sCAQe,IARf;AAAA,QASKK,KATL;AAaA,QAAMK,UAAU,GAAGC,MAAM,CAACC,OAAP,CAAeP,KAAf,EAAsBQ,MAAtB,CAA6B,UAACR,KAAD,SAA0B;AAAA;AAAA,UAAjBS,IAAiB;AAAA,UAAXC,KAAW;;AACxE,UAAIA,KAAK,KAAKC,SAAd,EAAyB;AACvBX,QAAAA,KAAK,CAACS,IAAD,CAAL,GAAcC,KAAd;AACD;;AACD,aAAOV,KAAP;AACD,KALkB,EAKhB,EALgB,CAAnB;AAOA,QAAMY,KAAK,GAAG,EAAd,CArBuE,CAsBvE;;AACA,QAAI,OAAOR,QAAQ,CAACS,MAAhB,KAA2B,WAA/B,EAA4C;AAC1C;AACAD,MAAAA,KAAK,CAACT,QAAN,gBAAiB,gCAAC,QAAD,OAAjB;AACD;;AAED,QAAMW,KAAK,GAAG,6DAEPT,UAFO;AAGVT,MAAAA,GAAG,EAAE,sBAAWD,UAAX,EAAuBC,GAAvB;AAHK,wCAMPgB,KANO,GAOPb,MAPO,EAAd;;AAUA,QAAI,CAACF,GAAL,EAAU;AACR,YAAM,IAAIkB,KAAJ,CAAU,uCAAV,CAAN;AACD;;AACD,wBAAO,gCAAC,GAAD,EAASD,KAAT,CAAP;AACD,GA1CY,CAAb,CAF0B,CA6C1B;;;AACArB,EAAAA,IAAI,CAACO,KAAL,GAAa,EAAb;AACA,SAAOP,IAAP;AACD;;AAED,SAASuB,WAAT,GAAuB;AACrB,SAAO;AACLC,IAAAA,IAAI,EAAE,gBAAY;AAChB,WAAKxB,IAAL,GAAYD,gBAAgB,EAA5B;AACD,KAHI;AAIL0B,IAAAA,OAAO,EAAE,iBAAUlB,KAAV,EAAiBmB,gBAAjB,EAAmCC,UAAnC,EAA+C;AACtD,UAAIA,UAAJ,EAAgB;AACd,+CACKpB,KADL;AAEEP,UAAAA,IAAI,EAAE,KAAKA;AAFb;AAID;;AACD,aAAOO,KAAP;AACD,KAZI;AAaLF,IAAAA,MAAM,EAAE,gBAAUA,OAAV,EAAkBE,KAAlB,EAAyB;AAC/B,WAAKP,IAAL,CAAUO,KAAV,GAAkBA,KAAlB;AACA,aAAOF,OAAP;AACD;AAhBI,GAAP;AAkBD;;eAEckB,W","sourcesContent":["import React from 'react';\n// @ts-ignore\nimport assignProps from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n\nfunction createRootRender() {\n // @ts-ignore\n const Root = React.forwardRef(function ({ render: Tag, ...source }, ref) {\n const {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Root: _Root,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n styles,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n children,\n Children,\n forwardRef = null,\n ...props\n // @ts-ignore\n } = Root.props;\n\n const clearProps = Object.entries(props).reduce((props, [name, value]) => {\n if (value !== undefined) {\n props[name] = value;\n }\n return props;\n }, {});\n\n const child = {};\n // TODO: need to find better check solution (by lsroman)\n if (typeof Children.origin !== 'undefined') {\n // @ts-ignore\n child.children = <Children />;\n }\n\n const other = assignProps(\n {\n ...clearProps,\n ref: useForkRef(forwardRef, ref),\n },\n {\n ...child,\n ...source,\n },\n );\n if (!Tag) {\n throw new Error('`render` prop of Root is not provided');\n }\n return <Tag {...other} />;\n });\n // @ts-ignore\n Root.props = {};\n return Root;\n}\n\nfunction Enhancement() {\n return {\n init: function () {\n this.Root = createRootRender();\n },\n asProps: function (props, WrapperComponent, isFunction) {\n if (isFunction) {\n return {\n ...props,\n Root: this.Root,\n };\n }\n return props;\n },\n render: function (render, props) {\n this.Root.props = props;\n return render;\n },\n };\n}\n\nexport default Enhancement;\n"],"file":"Root.js"}
1
+ {"version":3,"file":"Root.js","names":["createRootRender","Root","React","forwardRef","ref","Tag","render","source","props","_Root","styles","children","Children","clearProps","Object","entries","reduce","name","value","undefined","child","origin","other","assignProps","useForkRef","Error","Enhancement","init","asProps","WrapperComponent","isFunction"],"sources":["../../../src/enhancement/Root.tsx"],"sourcesContent":["import React from 'react';\n// @ts-ignore\nimport assignProps from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n\nfunction createRootRender() {\n // @ts-ignore\n const Root = React.forwardRef(function ({ render: Tag, ...source }, ref) {\n const {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Root: _Root,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n styles,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n children,\n Children,\n forwardRef = null,\n ...props\n // @ts-ignore\n } = Root.props;\n\n const clearProps = Object.entries(props).reduce((props, [name, value]) => {\n if (value !== undefined) {\n props[name] = value;\n }\n return props;\n }, {});\n\n const child = {};\n // TODO: need to find better check solution (by lsroman)\n if (typeof Children.origin !== 'undefined') {\n // @ts-ignore\n child.children = <Children />;\n }\n\n const other = assignProps(\n {\n ...clearProps,\n ref: useForkRef(forwardRef, ref),\n },\n {\n ...child,\n ...source,\n },\n );\n if (!Tag) {\n throw new Error('`render` prop of Root is not provided');\n }\n return <Tag {...other} />;\n });\n // @ts-ignore\n Root.props = {};\n return Root;\n}\n\nfunction Enhancement() {\n return {\n init: function () {\n this.Root = createRootRender();\n },\n asProps: function (props, WrapperComponent, isFunction) {\n if (isFunction) {\n return {\n ...props,\n Root: this.Root,\n };\n }\n return props;\n },\n render: function (render, props) {\n this.Root.props = props;\n return render;\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAEA;;AAEA;;;;;;;;;AAEA,SAASA,gBAAT,GAA4B;EAC1B;EACA,IAAMC,IAAI,gBAAGC,iBAAA,CAAMC,UAAN,CAAiB,gBAAsCC,GAAtC,EAA2C;IAAA,IAAvBC,GAAuB,QAA/BC,MAA+B;IAAA,IAAfC,MAAe;IACvE,kBAWIN,IAAI,CAACO,KAXT;IAAA,IAEQC,KAFR,eAEER,IAFF;IAAA,IAIES,MAJF,eAIEA,MAJF;IAAA,IAMEC,QANF,eAMEA,QANF;IAAA,IAOEC,QAPF,eAOEA,QAPF;IAAA,wCAQET,UARF;IAAA,IAQEA,UARF,sCAQe,IARf;IAAA,IASKK,KATL;IAaA,IAAMK,UAAU,GAAGC,MAAM,CAACC,OAAP,CAAeP,KAAf,EAAsBQ,MAAtB,CAA6B,UAACR,KAAD,SAA0B;MAAA;MAAA,IAAjBS,IAAiB;MAAA,IAAXC,KAAW;;MACxE,IAAIA,KAAK,KAAKC,SAAd,EAAyB;QACvBX,KAAK,CAACS,IAAD,CAAL,GAAcC,KAAd;MACD;;MACD,OAAOV,KAAP;IACD,CALkB,EAKhB,EALgB,CAAnB;IAOA,IAAMY,KAAK,GAAG,EAAd,CArBuE,CAsBvE;;IACA,IAAI,OAAOR,QAAQ,CAACS,MAAhB,KAA2B,WAA/B,EAA4C;MAC1C;MACAD,KAAK,CAACT,QAAN,gBAAiB,gCAAC,QAAD,OAAjB;IACD;;IAED,IAAMW,KAAK,GAAG,IAAAC,uBAAA,kCAEPV,UAFO;MAGVT,GAAG,EAAE,IAAAoB,gBAAA,EAAWrB,UAAX,EAAuBC,GAAvB;IAHK,oCAMPgB,KANO,GAOPb,MAPO,EAAd;;IAUA,IAAI,CAACF,GAAL,EAAU;MACR,MAAM,IAAIoB,KAAJ,CAAU,uCAAV,CAAN;IACD;;IACD,oBAAO,gCAAC,GAAD,EAASH,KAAT,CAAP;EACD,CA1CY,CAAb,CAF0B,CA6C1B;;;EACArB,IAAI,CAACO,KAAL,GAAa,EAAb;EACA,OAAOP,IAAP;AACD;;AAED,SAASyB,WAAT,GAAuB;EACrB,OAAO;IACLC,IAAI,EAAE,gBAAY;MAChB,KAAK1B,IAAL,GAAYD,gBAAgB,EAA5B;IACD,CAHI;IAIL4B,OAAO,EAAE,iBAAUpB,KAAV,EAAiBqB,gBAAjB,EAAmCC,UAAnC,EAA+C;MACtD,IAAIA,UAAJ,EAAgB;QACd,uCACKtB,KADL;UAEEP,IAAI,EAAE,KAAKA;QAFb;MAID;;MACD,OAAOO,KAAP;IACD,CAZI;IAaLF,MAAM,EAAE,gBAAUA,OAAV,EAAkBE,KAAlB,EAAyB;MAC/B,KAAKP,IAAL,CAAUO,KAAV,GAAkBA,KAAlB;MACA,OAAOF,OAAP;IACD;EAhBI,CAAP;AAkBD;;eAEcoB,W"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/enhancement/bindHandler.tsx"],"names":["arraysEqual","a","b","length","i","handlerBinder","fn","depsArgs","memoizeds","hasher","has","get","memoized","find","deps","bindFn","bind","push","set","WeakMap","Enhancement","condition","Component","isFunction","init","Object","keys","filter","field","startsWith","forEach","name"],"mappings":";;;;;;;AAAA,SAASA,WAAT,CAAqBC,CAArB,EAAwBC,CAAxB,EAA2B;AACzB,MAAID,CAAC,CAACE,MAAF,KAAaD,CAAC,CAACC,MAAnB,EAA2B,OAAO,KAAP;;AAC3B,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,CAAC,CAACE,MAAtB,EAA8BC,CAAC,EAA/B,EAAmC;AACjC,QAAIH,CAAC,CAACG,CAAD,CAAD,KAASF,CAAC,CAACE,CAAD,CAAd,EAAmB,OAAO,KAAP;AACpB;;AACD,SAAO,IAAP;AACD;;AAED,SAASC,aAAT,CAAuBC,EAAvB,EAA2B;AACzB,SAAO,YAAuB;AAAA,sCAAVC,QAAU;AAAVA,MAAAA,QAAU;AAAA;;AAC5B,QAAIC,SAAS,GAAG,EAAhB;;AACA,QAAIH,aAAa,CAACI,MAAd,CAAqBC,GAArB,CAAyBJ,EAAzB,CAAJ,EAAkC;AAChCE,MAAAA,SAAS,GAAGH,aAAa,CAACI,MAAd,CAAqBE,GAArB,CAAyBL,EAAzB,CAAZ;AACA,UAAMM,QAAQ,GAAGJ,SAAS,CAACK,IAAV,CAAe,UAACD,QAAD;AAAA,eAAcZ,WAAW,CAACY,QAAQ,CAACE,IAAV,EAAgBP,QAAhB,CAAzB;AAAA,OAAf,CAAjB;AACA,UAAIK,QAAJ,EAAc,OAAOA,QAAQ,CAACN,EAAhB;AACf;;AAED,QAAMS,MAAM,GAAGT,EAAE,MAAF,SAAMC,QAAN,EAAgBS,IAAhB,CAAqBV,EAArB,CAAf;AACAE,IAAAA,SAAS,CAACS,IAAV,CAAe;AACbH,MAAAA,IAAI,EAAEP,QADO;AAEbD,MAAAA,EAAE,EAAES;AAFS,KAAf;AAIAV,IAAAA,aAAa,CAACI,MAAd,CAAqBS,GAArB,CAAyBZ,EAAzB,EAA6BE,SAA7B;AACA,WAAOO,MAAP;AACD,GAfD;AAgBD;;AAEDV,aAAa,CAACI,MAAd,GAAuB,IAAIU,OAAJ,EAAvB;;AAEA,SAASC,WAAT,GAAuB;AACrB,SAAO;AACLC,IAAAA,SAAS,EAAE,mBAAUC,SAAV,EAAqBC,UAArB,EAAiC;AAC1C,aAAO,CAACA,UAAR;AACD,KAHI;AAILC,IAAAA,IAAI,EAAE,gBAAY;AAAA;;AAChBC,MAAAA,MAAM,CAACC,IAAP,CAAY,IAAZ,EACGC,MADH,CACU,UAACC,KAAD;AAAA,eAAWA,KAAK,CAACC,UAAN,CAAiB,aAAjB,CAAX;AAAA,OADV,EAEGC,OAFH,CAEW,UAACC,IAAD,EAAU;AACjB,QAAA,KAAI,CAACA,IAAD,CAAJ,GAAa1B,aAAa,CAAC,KAAI,CAAC0B,IAAD,CAAJ,CAAWf,IAAX,CAAgB,KAAhB,CAAD,CAA1B;AACD,OAJH;AAKD;AAVI,GAAP;AAYD;;eAEcI,W","sourcesContent":["function arraysEqual(a, b) {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n\nfunction handlerBinder(fn) {\n return function (...depsArgs) {\n let memoizeds = [];\n if (handlerBinder.hasher.has(fn)) {\n memoizeds = handlerBinder.hasher.get(fn);\n const memoized = memoizeds.find((memoized) => arraysEqual(memoized.deps, depsArgs));\n if (memoized) return memoized.fn;\n }\n\n const bindFn = fn(...depsArgs).bind(fn);\n memoizeds.push({\n deps: depsArgs,\n fn: bindFn,\n });\n handlerBinder.hasher.set(fn, memoizeds);\n return bindFn;\n };\n}\n\nhandlerBinder.hasher = new WeakMap();\n\nfunction Enhancement() {\n return {\n condition: function (Component, isFunction) {\n return !isFunction;\n },\n init: function () {\n Object.keys(this)\n .filter((field) => field.startsWith('bindHandler'))\n .forEach((name) => {\n this[name] = handlerBinder(this[name].bind(this));\n });\n },\n };\n}\n\nexport default Enhancement;\n"],"file":"bindHandler.js"}
1
+ {"version":3,"file":"bindHandler.js","names":["arraysEqual","a","b","length","i","handlerBinder","fn","depsArgs","memoizeds","hasher","has","get","memoized","find","deps","bindFn","bind","push","set","WeakMap","Enhancement","condition","Component","isFunction","init","Object","keys","filter","field","startsWith","forEach","name"],"sources":["../../../src/enhancement/bindHandler.tsx"],"sourcesContent":["function arraysEqual(a, b) {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n\nfunction handlerBinder(fn) {\n return function (...depsArgs) {\n let memoizeds = [];\n if (handlerBinder.hasher.has(fn)) {\n memoizeds = handlerBinder.hasher.get(fn);\n const memoized = memoizeds.find((memoized) => arraysEqual(memoized.deps, depsArgs));\n if (memoized) return memoized.fn;\n }\n\n const bindFn = fn(...depsArgs).bind(fn);\n memoizeds.push({\n deps: depsArgs,\n fn: bindFn,\n });\n handlerBinder.hasher.set(fn, memoizeds);\n return bindFn;\n };\n}\n\nhandlerBinder.hasher = new WeakMap();\n\nfunction Enhancement() {\n return {\n condition: function (Component, isFunction) {\n return !isFunction;\n },\n init: function () {\n Object.keys(this)\n .filter((field) => field.startsWith('bindHandler'))\n .forEach((name) => {\n this[name] = handlerBinder(this[name].bind(this));\n });\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":";;;;;;;AAAA,SAASA,WAAT,CAAqBC,CAArB,EAAwBC,CAAxB,EAA2B;EACzB,IAAID,CAAC,CAACE,MAAF,KAAaD,CAAC,CAACC,MAAnB,EAA2B,OAAO,KAAP;;EAC3B,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,CAAC,CAACE,MAAtB,EAA8BC,CAAC,EAA/B,EAAmC;IACjC,IAAIH,CAAC,CAACG,CAAD,CAAD,KAASF,CAAC,CAACE,CAAD,CAAd,EAAmB,OAAO,KAAP;EACpB;;EACD,OAAO,IAAP;AACD;;AAED,SAASC,aAAT,CAAuBC,EAAvB,EAA2B;EACzB,OAAO,YAAuB;IAAA,kCAAVC,QAAU;MAAVA,QAAU;IAAA;;IAC5B,IAAIC,SAAS,GAAG,EAAhB;;IACA,IAAIH,aAAa,CAACI,MAAd,CAAqBC,GAArB,CAAyBJ,EAAzB,CAAJ,EAAkC;MAChCE,SAAS,GAAGH,aAAa,CAACI,MAAd,CAAqBE,GAArB,CAAyBL,EAAzB,CAAZ;MACA,IAAMM,QAAQ,GAAGJ,SAAS,CAACK,IAAV,CAAe,UAACD,QAAD;QAAA,OAAcZ,WAAW,CAACY,QAAQ,CAACE,IAAV,EAAgBP,QAAhB,CAAzB;MAAA,CAAf,CAAjB;MACA,IAAIK,QAAJ,EAAc,OAAOA,QAAQ,CAACN,EAAhB;IACf;;IAED,IAAMS,MAAM,GAAGT,EAAE,MAAF,SAAMC,QAAN,EAAgBS,IAAhB,CAAqBV,EAArB,CAAf;IACAE,SAAS,CAACS,IAAV,CAAe;MACbH,IAAI,EAAEP,QADO;MAEbD,EAAE,EAAES;IAFS,CAAf;IAIAV,aAAa,CAACI,MAAd,CAAqBS,GAArB,CAAyBZ,EAAzB,EAA6BE,SAA7B;IACA,OAAOO,MAAP;EACD,CAfD;AAgBD;;AAEDV,aAAa,CAACI,MAAd,GAAuB,IAAIU,OAAJ,EAAvB;;AAEA,SAASC,WAAT,GAAuB;EACrB,OAAO;IACLC,SAAS,EAAE,mBAAUC,SAAV,EAAqBC,UAArB,EAAiC;MAC1C,OAAO,CAACA,UAAR;IACD,CAHI;IAILC,IAAI,EAAE,gBAAY;MAAA;;MAChBC,MAAM,CAACC,IAAP,CAAY,IAAZ,EACGC,MADH,CACU,UAACC,KAAD;QAAA,OAAWA,KAAK,CAACC,UAAN,CAAiB,aAAjB,CAAX;MAAA,CADV,EAEGC,OAFH,CAEW,UAACC,IAAD,EAAU;QACjB,KAAI,CAACA,IAAD,CAAJ,GAAa1B,aAAa,CAAC,KAAI,CAAC0B,IAAD,CAAJ,CAAWf,IAAX,CAAgB,KAAhB,CAAD,CAA1B;MACD,CAJH;IAKD;EAVI,CAAP;AAYD;;eAEcI,W"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/enhancement/dataName.tsx"],"names":["Enhancement","wrapperProps","props","WrapperComponent","displayName"],"mappings":";;;;;;;;;;;;;;;AAAA,SAASA,WAAT,GAAuB;AACrB,SAAO;AACLC,IAAAA,YAAY,EAAE,sBAAUC,KAAV,EAAiBC,gBAAjB,EAAmC;AAC/C;AACE,wBAAgBA,gBAAgB,CAACC;AADnC,SAEKF,KAFL;AAID;AANI,GAAP;AAQD;;eAEcF,W","sourcesContent":["function Enhancement() {\n return {\n wrapperProps: function (props, WrapperComponent) {\n return {\n 'data-ui-name': WrapperComponent.displayName,\n ...props,\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"file":"dataName.js"}
1
+ {"version":3,"file":"dataName.js","names":["Enhancement","wrapperProps","props","WrapperComponent","displayName"],"sources":["../../../src/enhancement/dataName.tsx"],"sourcesContent":["function Enhancement() {\n return {\n wrapperProps: function (props, WrapperComponent) {\n return {\n 'data-ui-name': WrapperComponent.displayName,\n ...props,\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":";;;;;;;;;;;;;;;AAAA,SAASA,WAAT,GAAuB;EACrB,OAAO;IACLC,YAAY,EAAE,sBAAUC,KAAV,EAAiBC,gBAAjB,EAAmC;MAC/C;QACE,gBAAgBA,gBAAgB,CAACC;MADnC,GAEKF,KAFL;IAID;EANI,CAAP;AAQD;;eAEcF,W"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/enhancement/enhance.tsx"],"names":["Enhancement","condition","Component","Boolean","enhance","length","wrapperProps","props","WrapperComponent","reduce","acc"],"mappings":";;;;;;;AAAA,SAASA,WAAT,GAAuB;AACrB,SAAO;AACLC,IAAAA,SAAS,EAAE,mBAAUC,SAAV,EAAqB;AAC9B,aAAOC,OAAO,CAACD,SAAS,CAACE,OAAV,IAAqBF,SAAS,CAACE,OAAV,CAAkBC,MAAxC,CAAd;AACD,KAHI;AAILC,IAAAA,YAAY,EAAE,sBAAUC,KAAV,EAAiBC,gBAAjB,EAAmC;AAC/C,aAAOA,gBAAgB,CAACJ,OAAjB,CAAyBK,MAAzB,CAAgC,UAACC,GAAD,EAAMN,OAAN;AAAA,eAAkBA,OAAO,CAACM,GAAD,CAAzB;AAAA,OAAhC,EAAgEH,KAAhE,CAAP;AACD;AANI,GAAP;AAQD;;eAEcP,W","sourcesContent":["function Enhancement() {\n return {\n condition: function (Component) {\n return Boolean(Component.enhance && Component.enhance.length);\n },\n wrapperProps: function (props, WrapperComponent) {\n return WrapperComponent.enhance.reduce((acc, enhance) => enhance(acc), props);\n },\n };\n}\n\nexport default Enhancement;\n"],"file":"enhance.js"}
1
+ {"version":3,"file":"enhance.js","names":["Enhancement","condition","Component","Boolean","enhance","length","wrapperProps","props","WrapperComponent","reduce","acc"],"sources":["../../../src/enhancement/enhance.tsx"],"sourcesContent":["function Enhancement() {\n return {\n condition: function (Component) {\n return Boolean(Component.enhance && Component.enhance.length);\n },\n wrapperProps: function (props, WrapperComponent) {\n return WrapperComponent.enhance.reduce((acc, enhance) => enhance(acc), props);\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":";;;;;;;AAAA,SAASA,WAAT,GAAuB;EACrB,OAAO;IACLC,SAAS,EAAE,mBAAUC,SAAV,EAAqB;MAC9B,OAAOC,OAAO,CAACD,SAAS,CAACE,OAAV,IAAqBF,SAAS,CAACE,OAAV,CAAkBC,MAAxC,CAAd;IACD,CAHI;IAILC,YAAY,EAAE,sBAAUC,KAAV,EAAiBC,gBAAjB,EAAmC;MAC/C,OAAOA,gBAAgB,CAACJ,OAAjB,CAAyBK,MAAzB,CAAgC,UAACC,GAAD,EAAMN,OAAN;QAAA,OAAkBA,OAAO,CAACM,GAAD,CAAzB;MAAA,CAAhC,EAAgEH,KAAhE,CAAP;IACD;EANI,CAAP;AAQD;;eAEcP,W"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/enhancement/functionDefaultProps.tsx"],"names":["Enhancement","defaultProps","condition","Component","Boolean","Object","keys","length","WrapperComponent","wrapperProps","props","assign"],"mappings":";;;;;;;AAAA,SAASA,WAAT,GAAuB;AACrB,MAAIC,YAAY,GAAG,EAAnB;AACA,SAAO;AACLC,IAAAA,SAAS,EAAE,mBAAUC,SAAV,EAAqB;AAC9B,UAAI,CAACA,SAAS,CAACF,YAAf,EAA6B;AAC3B,eAAO,KAAP;AACD;;AACD,UAAI,OAAOE,SAAS,CAACF,YAAjB,KAAkC,UAAtC,EAAkD;AAChD,eAAO,IAAP;AACD;;AACD,aAAOG,OAAO,CAACC,MAAM,CAACC,IAAP,CAAYH,SAAS,CAACF,YAAtB,EAAoCM,MAArC,CAAd;AACD,KATI;AAUL,cAAQ,iBAAUC,gBAAV,EAA4B;AAClCP,MAAAA,YAAY,GAAGO,gBAAgB,CAACP,YAAhC;AACA,aAAO;AACLA,QAAAA,YAAY,EAAE;AADT,OAAP;AAGD,KAfI;AAgBLQ,IAAAA,YAAY,EAAE,sBAAUC,KAAV,EAAiB;AAC7B,UAAI,OAAOT,YAAP,KAAwB,UAA5B,EAAwC;AACtC;AACA,eAAOI,MAAM,CAACM,MAAP,CAAc,EAAd,EAAkBV,YAAY,CAACS,KAAD,CAA9B,EAAuCA,KAAvC,CAAP;AACD;;AACD,aAAOL,MAAM,CAACM,MAAP,CAAc,EAAd,EAAkBV,YAAlB,EAAgCS,KAAhC,CAAP;AACD;AAtBI,GAAP;AAwBD;;eAEcV,W","sourcesContent":["function Enhancement() {\n let defaultProps = {};\n return {\n condition: function (Component) {\n if (!Component.defaultProps) {\n return false;\n }\n if (typeof Component.defaultProps === 'function') {\n return true;\n }\n return Boolean(Object.keys(Component.defaultProps).length);\n },\n static: function (WrapperComponent) {\n defaultProps = WrapperComponent.defaultProps;\n return {\n defaultProps: {},\n };\n },\n wrapperProps: function (props) {\n if (typeof defaultProps === 'function') {\n // TODO: optimization\n return Object.assign({}, defaultProps(props), props);\n }\n return Object.assign({}, defaultProps, props);\n },\n };\n}\n\nexport default Enhancement;\n"],"file":"functionDefaultProps.js"}
1
+ {"version":3,"file":"functionDefaultProps.js","names":["Enhancement","defaultProps","condition","Component","Boolean","Object","keys","length","WrapperComponent","wrapperProps","props","assign"],"sources":["../../../src/enhancement/functionDefaultProps.tsx"],"sourcesContent":["function Enhancement() {\n let defaultProps = {};\n return {\n condition: function (Component) {\n if (!Component.defaultProps) {\n return false;\n }\n if (typeof Component.defaultProps === 'function') {\n return true;\n }\n return Boolean(Object.keys(Component.defaultProps).length);\n },\n static: function (WrapperComponent) {\n defaultProps = WrapperComponent.defaultProps;\n return {\n defaultProps: {},\n };\n },\n wrapperProps: function (props) {\n if (typeof defaultProps === 'function') {\n // TODO: optimization\n return Object.assign({}, defaultProps(props), props);\n }\n return Object.assign({}, defaultProps, props);\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":";;;;;;;AAAA,SAASA,WAAT,GAAuB;EACrB,IAAIC,YAAY,GAAG,EAAnB;EACA,OAAO;IACLC,SAAS,EAAE,mBAAUC,SAAV,EAAqB;MAC9B,IAAI,CAACA,SAAS,CAACF,YAAf,EAA6B;QAC3B,OAAO,KAAP;MACD;;MACD,IAAI,OAAOE,SAAS,CAACF,YAAjB,KAAkC,UAAtC,EAAkD;QAChD,OAAO,IAAP;MACD;;MACD,OAAOG,OAAO,CAACC,MAAM,CAACC,IAAP,CAAYH,SAAS,CAACF,YAAtB,EAAoCM,MAArC,CAAd;IACD,CATI;IAUL,UAAQ,iBAAUC,gBAAV,EAA4B;MAClCP,YAAY,GAAGO,gBAAgB,CAACP,YAAhC;MACA,OAAO;QACLA,YAAY,EAAE;MADT,CAAP;IAGD,CAfI;IAgBLQ,YAAY,EAAE,sBAAUC,KAAV,EAAiB;MAC7B,IAAI,OAAOT,YAAP,KAAwB,UAA5B,EAAwC;QACtC;QACA,OAAOI,MAAM,CAACM,MAAP,CAAc,EAAd,EAAkBV,YAAY,CAACS,KAAD,CAA9B,EAAuCA,KAAvC,CAAP;MACD;;MACD,OAAOL,MAAM,CAACM,MAAP,CAAc,EAAd,EAAkBV,YAAlB,EAAgCS,KAAhC,CAAP;IACD;EAtBI,CAAP;AAwBD;;eAEcV,W"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/enhancement/hoistProps.tsx"],"names":["HOIST_CONTEXT","Symbol","HOIST_SELF","HOIST_SET","flatChildComponent","childComponents","Object","values","reduce","acc","Component","Array","isArray","push","Enhancement","Context","condition","some","Boolean","hoistProps","length","init","props","WrapperComponent","isFunction","obj","forceUpdate","context","asProps","wrapperProps","renameProps","propName","split","name","rename","entries","keys","value"],"mappings":"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","sourcesContent":["import { useContext, useState } from 'react';\n// @ts-ignore\nimport assignProps from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n// @ts-ignore\nimport pick from '@semcore/utils/lib/pick';\n\nexport const HOIST_CONTEXT = Symbol('HOIST_CONTEXT');\nconst HOIST_SELF = Symbol('HOIST_SELF');\nconst HOIST_SET = Symbol('HOIST_SET');\n\nfunction flatChildComponent(childComponents) {\n return Object.values(childComponents).reduce<unknown[]>((acc, Component) => {\n if (Array.isArray(Component)) {\n acc = [...acc, Component[0], ...flatChildComponent(Component[1])];\n } else {\n acc.push(Component);\n }\n return acc;\n }, []);\n}\n\nfunction Enhancement(childComponents, Context) {\n return {\n condition: function (Component) {\n return [Component, ...flatChildComponent(childComponents)].some((Component) =>\n Boolean(Component.hoistProps && Component.hoistProps.length),\n );\n },\n init: function (props, WrapperComponent, isFunction) {\n if (isFunction) {\n // TODO: might breake rules of hooks (by lsroman)\n this[HOIST_SELF] = useState({});\n } else {\n this[HOIST_SELF] = [\n {},\n (obj) => {\n this[HOIST_SELF][0] = obj;\n this.forceUpdate();\n },\n ];\n }\n // For optimization render\n this[HOIST_SET] = (obj) => {\n this[HOIST_SELF][1](obj);\n };\n },\n context: function (context) {\n // TODO: need to optimizte container initialization (by lsroman)\n // WrapperComponent.hoistProps\n return {\n ...context,\n [HOIST_CONTEXT]: this[HOIST_SET],\n };\n },\n asProps: function (props) {\n // TODO: need to check for no props overwriting (by lsroman)\n return assignProps(this[HOIST_SELF][0], props);\n },\n wrapperProps: function (props, WrapperComponent) {\n if (WrapperComponent.hoistProps && WrapperComponent.hoistProps.length) {\n const context = useContext(Context);\n const renameProps = WrapperComponent.hoistProps.reduce((acc, propName) => {\n const [name, rename] = propName.split(':');\n acc[name] = rename || name;\n return acc;\n }, {});\n const hoistProps = Object.entries(pick(props, Object.keys(renameProps))).reduce(\n (acc, [name, value]) => {\n acc[renameProps[name]] = value;\n return acc;\n },\n {},\n );\n\n useEnhancedEffect(() => {\n if (context[HOIST_CONTEXT]) {\n context[HOIST_CONTEXT](hoistProps);\n }\n }, Object.values(hoistProps));\n }\n return props;\n },\n };\n}\n\nexport default Enhancement;\n"],"file":"hoistProps.js"}
1
+ {"version":3,"file":"hoistProps.js","names":["HOIST_CONTEXT","Symbol","HOIST_SELF","HOIST_SET","flatChildComponent","childComponents","Object","values","reduce","acc","Component","Array","isArray","push","Enhancement","Context","condition","some","Boolean","hoistProps","length","init","props","WrapperComponent","isFunction","useState","obj","forceUpdate","context","asProps","assignProps","wrapperProps","useContext","renameProps","propName","split","name","rename","entries","pick","keys","value","useEnhancedEffect"],"sources":["../../../src/enhancement/hoistProps.tsx"],"sourcesContent":["import { useContext, useState } from 'react';\n// @ts-ignore\nimport assignProps from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n// @ts-ignore\nimport pick from '@semcore/utils/lib/pick';\n\nexport const HOIST_CONTEXT = Symbol('HOIST_CONTEXT');\nconst HOIST_SELF = Symbol('HOIST_SELF');\nconst HOIST_SET = Symbol('HOIST_SET');\n\nfunction flatChildComponent(childComponents) {\n return Object.values(childComponents).reduce<unknown[]>((acc, Component) => {\n if (Array.isArray(Component)) {\n acc = [...acc, Component[0], ...flatChildComponent(Component[1])];\n } else {\n acc.push(Component);\n }\n return acc;\n }, []);\n}\n\nfunction Enhancement(childComponents, Context) {\n return {\n condition: function (Component) {\n return [Component, ...flatChildComponent(childComponents)].some((Component) =>\n Boolean(Component.hoistProps && Component.hoistProps.length),\n );\n },\n init: function (props, WrapperComponent, isFunction) {\n if (isFunction) {\n // TODO: might breake rules of hooks (by lsroman)\n this[HOIST_SELF] = useState({});\n } else {\n this[HOIST_SELF] = [\n {},\n (obj) => {\n this[HOIST_SELF][0] = obj;\n this.forceUpdate();\n },\n ];\n }\n // For optimization render\n this[HOIST_SET] = (obj) => {\n this[HOIST_SELF][1](obj);\n };\n },\n context: function (context) {\n // TODO: need to optimizte container initialization (by lsroman)\n // WrapperComponent.hoistProps\n return {\n ...context,\n [HOIST_CONTEXT]: this[HOIST_SET],\n };\n },\n asProps: function (props) {\n // TODO: need to check for no props overwriting (by lsroman)\n return assignProps(this[HOIST_SELF][0], props);\n },\n wrapperProps: function (props, WrapperComponent) {\n if (WrapperComponent.hoistProps && WrapperComponent.hoistProps.length) {\n const context = useContext(Context);\n const renameProps = WrapperComponent.hoistProps.reduce((acc, propName) => {\n const [name, rename] = propName.split(':');\n acc[name] = rename || name;\n return acc;\n }, {});\n const hoistProps = Object.entries(pick(props, Object.keys(renameProps))).reduce(\n (acc, [name, value]) => {\n acc[renameProps[name]] = value;\n return acc;\n },\n {},\n );\n\n useEnhancedEffect(() => {\n if (context[HOIST_CONTEXT]) {\n context[HOIST_CONTEXT](hoistProps);\n }\n }, Object.values(hoistProps));\n }\n return props;\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/enhancement/inheritedName.tsx"],"names":["INHERITED_NAME","Symbol","Enhancement","condition","Component","Boolean","displayName","WrapperComponent","Set"],"mappings":";;;;;;;;;;;;;AAAO,IAAMA,cAAc,GAAGC,MAAM,CAAC,gBAAD,CAA7B;;;AAEP,SAASC,WAAT,GAAuB;AACrB,SAAO;AACLC,IAAAA,SAAS,EAAE,mBAAUC,SAAV,EAAqB;AAC9B,aAAOC,OAAO,CAACD,SAAS,CAACE,WAAX,CAAd;AACD,KAHI;AAIL,cAAQ,iBAAUC,gBAAV,EAA4B;AAClC,kDACGP,cADH,sCAEO,IAAIQ,GAAJ,+CAAaD,gBAAgB,CAACP,cAAD,CAAhB,IAAoC,EAAjD,IAAsDO,gBAAgB,CAACD,WAAvE,GAFP;AAKD;AAVI,GAAP;AAYD;;eAEcJ,W","sourcesContent":["export const INHERITED_NAME = Symbol('INHERITED_NAME');\n\nfunction Enhancement() {\n return {\n condition: function (Component) {\n return Boolean(Component.displayName);\n },\n static: function (WrapperComponent) {\n return {\n [INHERITED_NAME]: [\n ...new Set([...(WrapperComponent[INHERITED_NAME] || []), WrapperComponent.displayName]),\n ],\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"file":"inheritedName.js"}
1
+ {"version":3,"file":"inheritedName.js","names":["INHERITED_NAME","Symbol","Enhancement","condition","Component","Boolean","displayName","WrapperComponent","Set"],"sources":["../../../src/enhancement/inheritedName.tsx"],"sourcesContent":["export const INHERITED_NAME = Symbol('INHERITED_NAME');\n\nfunction Enhancement() {\n return {\n condition: function (Component) {\n return Boolean(Component.displayName);\n },\n static: function (WrapperComponent) {\n return {\n [INHERITED_NAME]: [\n ...new Set([...(WrapperComponent[INHERITED_NAME] || []), WrapperComponent.displayName]),\n ],\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":";;;;;;;;;;;;;AAAO,IAAMA,cAAc,GAAGC,MAAM,CAAC,gBAAD,CAA7B;;;AAEP,SAASC,WAAT,GAAuB;EACrB,OAAO;IACLC,SAAS,EAAE,mBAAUC,SAAV,EAAqB;MAC9B,OAAOC,OAAO,CAACD,SAAS,CAACE,WAAX,CAAd;IACD,CAHI;IAIL,UAAQ,iBAAUC,gBAAV,EAA4B;MAClC,4CACGP,cADH,sCAEO,IAAIQ,GAAJ,+CAAaD,gBAAgB,CAACP,cAAD,CAAhB,IAAoC,EAAjD,IAAsDO,gBAAgB,CAACD,WAAvE,GAFP;IAKD;EAVI,CAAP;AAYD;;eAEcJ,W"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/enhancement/staticChildren.tsx"],"names":["assign","target","source","Object","defineProperties","keys","reduce","descriptors","key","getOwnPropertyDescriptor","getterMethodName","name","getterMethodNameByDisplayName","displayName","displayNames","split","slice","length","join","flatGetterMethodNames","childComponents","parentName","entries","acc","value","Array","isArray","push","STATIC_COMPONENT","Symbol","SELF_GETTER_METHOD","Enhancement","createComponent","options","getterMethodNames","condition","Component","Boolean","init","props","WrapperComponent","getterMethods","selfGetterMethod","logger","warn","getterMethod","childrenProps","getterProps","call","index","Error","prevStaticComponent","prevDisplayName","context","wrapperProps","render","forEach","undefined"],"mappings":"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","sourcesContent":["import { useContext } from 'react';\n// @ts-ignore\nimport assignProps from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport pick from '@semcore/utils/lib/pick';\n// @ts-ignore\nimport logger from '@semcore/utils/lib/logger';\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 getterMethodName(name) {\n return `get${name}Props`;\n}\n\nfunction getterMethodNameByDisplayName(displayName) {\n const displayNames = displayName.split('.');\n const name = displayNames.slice(-(displayNames.length - 1)).join('');\n return getterMethodName(name);\n}\n\nfunction flatGetterMethodNames(childComponents, parentName?: string) {\n return Object.entries(childComponents).reduce<string[]>((acc, [name, value]) => {\n if (Array.isArray(value)) {\n acc = [...acc, ...flatGetterMethodNames(value[1], name)];\n }\n name = parentName ? `${parentName}${name}` : name;\n acc.push(getterMethodName(name));\n return acc;\n }, []);\n}\n\nexport const STATIC_COMPONENT = Symbol('STATIC_COMPONENT');\nconst SELF_GETTER_METHOD = Symbol('SELF_GETTER_METHOD');\n\nfunction Enhancement(childComponents, createComponent, options) {\n const getterMethodNames = flatGetterMethodNames(childComponents);\n return {\n condition: function (Component) {\n return Boolean(Component[STATIC_COMPONENT] || Object.keys(childComponents).length);\n },\n init: function (props, WrapperComponent) {\n const getterMethods = pick(this, getterMethodNames);\n this[SELF_GETTER_METHOD] = () => {\n const selfGetterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n logger.warn(\n true,\n `Getter \\`${selfGetterMethod}\\` can't be fired as it is a getter of static component`,\n props['data-ui-name'] || WrapperComponent.displayName,\n );\n };\n assign(\n this,\n getterMethodNames.reduce((acc, name) => {\n const getterMethod = getterMethods[name];\n if (!getterMethod) return acc;\n acc[name] = (childrenProps = {}) => {\n const getterProps = getterMethod.call(this, childrenProps, acc[name].index);\n acc[name].index++;\n return assignProps(childrenProps, getterProps);\n };\n acc[name].index = 0;\n return acc;\n }, {}),\n );\n },\n static: function (WrapperComponent) {\n if (Object.keys(childComponents).length && !WrapperComponent.displayName) {\n throw new Error('\"displayName\" is not defined');\n }\n return Object.entries(childComponents).reduce((acc, [name, value]) => {\n let childComponents = {};\n\n if (Array.isArray(value)) {\n childComponents = value[1];\n value = value[0];\n }\n\n const prevStaticComponent = value[STATIC_COMPONENT];\n // @ts-ignore\n const prevDisplayName = value.displayName;\n // @ts-ignore\n value.displayName = WrapperComponent.displayName + '.' + name;\n value[STATIC_COMPONENT] = true;\n acc[name] = createComponent(value, childComponents, options);\n // @ts-ignore\n value.displayName = prevDisplayName;\n value[STATIC_COMPONENT] = prevStaticComponent;\n return acc;\n }, {});\n },\n context: function (context /*, WrapperComponent*/) {\n // const getterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n\n return {\n ...context,\n // [getterMethod]: this[SELF_GETTER_METHOD],\n ...pick(this, getterMethodNames),\n };\n },\n wrapperProps: function (props, WrapperComponent) {\n if (!WrapperComponent[STATIC_COMPONENT]) return props;\n\n const context = useContext(options.context);\n const getterMethod = context[getterMethodNameByDisplayName(WrapperComponent.displayName)];\n if (getterMethod) {\n return getterMethod(props);\n }\n return props;\n },\n render: function (render) {\n getterMethodNames.forEach((name) => {\n if (this[name] === undefined) return;\n this[name].index = 0;\n });\n return render;\n },\n };\n}\n\nexport default Enhancement;\n"],"file":"staticChildren.js"}
1
+ {"version":3,"file":"staticChildren.js","names":["assign","target","source","Object","defineProperties","keys","reduce","descriptors","key","getOwnPropertyDescriptor","getterMethodName","name","getterMethodNameByDisplayName","displayName","displayNames","split","slice","length","join","flatGetterMethodNames","childComponents","parentName","entries","acc","value","Array","isArray","push","STATIC_COMPONENT","Symbol","SELF_GETTER_METHOD","Enhancement","createComponent","options","getterMethodNames","condition","Component","Boolean","init","props","WrapperComponent","getterMethods","pick","selfGetterMethod","logger","warn","getterMethod","childrenProps","getterProps","call","index","assignProps","Error","prevStaticComponent","prevDisplayName","context","wrapperProps","useContext","render","forEach","undefined"],"sources":["../../../src/enhancement/staticChildren.tsx"],"sourcesContent":["import { useContext } from 'react';\n// @ts-ignore\nimport assignProps from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport pick from '@semcore/utils/lib/pick';\n// @ts-ignore\nimport logger from '@semcore/utils/lib/logger';\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 getterMethodName(name) {\n return `get${name}Props`;\n}\n\nfunction getterMethodNameByDisplayName(displayName) {\n const displayNames = displayName.split('.');\n const name = displayNames.slice(-(displayNames.length - 1)).join('');\n return getterMethodName(name);\n}\n\nfunction flatGetterMethodNames(childComponents, parentName?: string) {\n return Object.entries(childComponents).reduce<string[]>((acc, [name, value]) => {\n if (Array.isArray(value)) {\n acc = [...acc, ...flatGetterMethodNames(value[1], name)];\n }\n name = parentName ? `${parentName}${name}` : name;\n acc.push(getterMethodName(name));\n return acc;\n }, []);\n}\n\nexport const STATIC_COMPONENT = Symbol('STATIC_COMPONENT');\nconst SELF_GETTER_METHOD = Symbol('SELF_GETTER_METHOD');\n\nfunction Enhancement(childComponents, createComponent, options) {\n const getterMethodNames = flatGetterMethodNames(childComponents);\n return {\n condition: function (Component) {\n return Boolean(Component[STATIC_COMPONENT] || Object.keys(childComponents).length);\n },\n init: function (props, WrapperComponent) {\n const getterMethods = pick(this, getterMethodNames);\n this[SELF_GETTER_METHOD] = () => {\n const selfGetterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n logger.warn(\n true,\n `Getter \\`${selfGetterMethod}\\` can't be fired as it is a getter of static component`,\n props['data-ui-name'] || WrapperComponent.displayName,\n );\n };\n assign(\n this,\n getterMethodNames.reduce((acc, name) => {\n const getterMethod = getterMethods[name];\n if (!getterMethod) return acc;\n acc[name] = (childrenProps = {}) => {\n const getterProps = getterMethod.call(this, childrenProps, acc[name].index);\n acc[name].index++;\n return assignProps(childrenProps, getterProps);\n };\n acc[name].index = 0;\n return acc;\n }, {}),\n );\n },\n static: function (WrapperComponent) {\n if (Object.keys(childComponents).length && !WrapperComponent.displayName) {\n throw new Error('\"displayName\" is not defined');\n }\n return Object.entries(childComponents).reduce((acc, [name, value]) => {\n let childComponents = {};\n\n if (Array.isArray(value)) {\n childComponents = value[1];\n value = value[0];\n }\n\n const prevStaticComponent = value[STATIC_COMPONENT];\n // @ts-ignore\n const prevDisplayName = value.displayName;\n // @ts-ignore\n value.displayName = WrapperComponent.displayName + '.' + name;\n value[STATIC_COMPONENT] = true;\n acc[name] = createComponent(value, childComponents, options);\n // @ts-ignore\n value.displayName = prevDisplayName;\n value[STATIC_COMPONENT] = prevStaticComponent;\n return acc;\n }, {});\n },\n context: function (context /*, WrapperComponent*/) {\n // const getterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);\n\n return {\n ...context,\n // [getterMethod]: this[SELF_GETTER_METHOD],\n ...pick(this, getterMethodNames),\n };\n },\n wrapperProps: function (props, WrapperComponent) {\n if (!WrapperComponent[STATIC_COMPONENT]) return props;\n\n const context = useContext(options.context);\n const getterMethod = context[getterMethodNameByDisplayName(WrapperComponent.displayName)];\n if (getterMethod) {\n return getterMethod(props);\n }\n return props;\n },\n render: function (render) {\n getterMethodNames.forEach((name) => {\n if (this[name] === undefined) return;\n this[name].index = 0;\n });\n return render;\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/enhancement/style.tsx"],"names":["STYLES_CONTEXT","Symbol","STYLES_SELF","Enhancement","childComponents","Context","condition","Component","Boolean","style","STATIC_COMPONENT","init","props","WrapperComponent","sstyled","merge","_styles","context","Object","keys","length","asProps","styles","wrapperProps"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;AACA;;;;;;;;;AAEO,IAAMA,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,CAACG,gCAAD,CAA7B,CAAd;AACD,KAHI;AAILC,IAAAA,IAAI,EAAE,cAAUC,KAAV,EAAiBC,gBAAjB,EAAmC;AACvC,UAAIA,gBAAgB,CAACJ,KAArB,EAA4B;AAC1B,aAAKP,WAAL,IAAoBY,gBAAQC,KAAR,CAAcF,gBAAgB,CAACJ,KAA/B,EAAsCG,KAAK,CAACI,OAA5C,CAApB;AACD;AACF,KARI;AASLC,IAAAA,OAAO,EAAE,iBAAUA,QAAV,EAAmB;AAC1B;AACA,UAAI,CAAC,KAAKf,WAAL,CAAD,IAAsB,CAACgB,MAAM,CAACC,IAAP,CAAYf,eAAZ,EAA6BgB,MAAxD,EAAgE;AAC9D,eAAOH,QAAP;AACD;;AACD,6CACKA,QADL,4CAEGjB,cAFH,EAEoB,KAAKE,WAAL,CAFpB;AAID,KAlBI;AAmBL;AACAmB,IAAAA,OAAO,EAAE,uBAAyC;AAAA,UAA7BL,OAA6B,QAA7BA,OAA6B;AAAA,UAApBM,MAAoB,QAApBA,MAAoB;AAAA,UAATV,KAAS;AAChD,6CACKA,KADL;AAEEU,QAAAA,MAAM,EAAEA,MAAM,IAAI,KAAKpB,WAAL;AAFpB;AAID,KAzBI;AA0BLqB,IAAAA,YAAY,EAAE,6BAAgC;AAAA,UAApBD,MAAoB,SAApBA,MAAoB;AAAA,UAATV,KAAS;AAC5C,UAAMK,OAAO,GAAG,uBAAWZ,OAAX,CAAhB;AACA,6CACKO,KADL;AAEEI,QAAAA,OAAO,EAAEM,MAFX;AAGEA,QAAAA,MAAM,EAAEL,OAAO,CAACjB,cAAD;AAHjB;AAKD;AAjCI,GAAP;AAmCD;;eAEcG,W","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 // Optimization: if has no children there is no need to create new context (by lsroman)\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,"file":"style.js","names":["STYLES_CONTEXT","Symbol","STYLES_SELF","Enhancement","childComponents","Context","condition","Component","Boolean","style","STATIC_COMPONENT","init","props","WrapperComponent","sstyled","merge","_styles","context","Object","keys","length","asProps","styles","wrapperProps","useContext"],"sources":["../../../src/enhancement/style.tsx"],"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 // Optimization: if has no children there is no need to create new context (by lsroman)\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"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;AACA;;;;;;;;;AAEO,IAAMA,cAAc,GAAGC,MAAM,CAAC,gBAAD,CAA7B;;AACP,IAAMC,WAAW,GAAGD,MAAM,CAAC,aAAD,CAA1B;;AAEA,SAASE,WAAT,CAAqBC,eAArB,EAAsCC,OAAtC,EAA+C;EAC7C,OAAO;IACLC,SAAS,EAAE,mBAAUC,SAAV,EAAqB;MAC9B,OAAOC,OAAO,CAACD,SAAS,CAACE,KAAV,IAAmBF,SAAS,CAACG,gCAAD,CAA7B,CAAd;IACD,CAHI;IAILC,IAAI,EAAE,cAAUC,KAAV,EAAiBC,gBAAjB,EAAmC;MACvC,IAAIA,gBAAgB,CAACJ,KAArB,EAA4B;QAC1B,KAAKP,WAAL,IAAoBY,eAAA,CAAQC,KAAR,CAAcF,gBAAgB,CAACJ,KAA/B,EAAsCG,KAAK,CAACI,OAA5C,CAApB;MACD;IACF,CARI;IASLC,OAAO,EAAE,iBAAUA,QAAV,EAAmB;MAC1B;MACA,IAAI,CAAC,KAAKf,WAAL,CAAD,IAAsB,CAACgB,MAAM,CAACC,IAAP,CAAYf,eAAZ,EAA6BgB,MAAxD,EAAgE;QAC9D,OAAOH,QAAP;MACD;;MACD,uCACKA,QADL,4CAEGjB,cAFH,EAEoB,KAAKE,WAAL,CAFpB;IAID,CAlBI;IAmBL;IACAmB,OAAO,EAAE,uBAAyC;MAAA,IAA7BL,OAA6B,QAA7BA,OAA6B;MAAA,IAApBM,MAAoB,QAApBA,MAAoB;MAAA,IAATV,KAAS;MAChD,uCACKA,KADL;QAEEU,MAAM,EAAEA,MAAM,IAAI,KAAKpB,WAAL;MAFpB;IAID,CAzBI;IA0BLqB,YAAY,EAAE,6BAAgC;MAAA,IAApBD,MAAoB,SAApBA,MAAoB;MAAA,IAATV,KAAS;MAC5C,IAAMK,OAAO,GAAG,IAAAO,iBAAA,EAAWnB,OAAX,CAAhB;MACA,uCACKO,KADL;QAEEI,OAAO,EAAEM,MAFX;QAGEA,MAAM,EAAEL,OAAO,CAACjB,cAAD;MAHjB;IAKD;EAjCI,CAAP;AAmCD;;eAEcG,W"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/enhancement/uncontrolledProps.tsx"],"names":["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","callAllEventHandlers","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: 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"],"file":"uncontrolledProps.js"}
1
+ {"version":3,"file":"uncontrolledProps.js","names":["assign","target","source","Object","defineProperties","keys","reduce","descriptors","key","getOwnPropertyDescriptor","defaultProp","prop","capitalizeFirstLetter","handlerProp","isControlled","propValue","undefined","uncontrolledProp","self","propName","propDefaultValue","propHandler","chainHandler","getValue","state","value","oldValue","setState","args","callAllEventHandlers","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/cjs/index.js CHANGED
@@ -195,7 +195,7 @@ function createGetField(enhancements, Component, isFunction) {
195
195
 
196
196
  function createForwardWrapper(Component, wrapperProps, statics, isFunction) {
197
197
  // @ts-ignore
198
- var WrapperComponent = _react["default"].forwardRef(function (_ref, ref) {
198
+ var WrapperComponent = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
199
199
  var _ref$forwardRef = _ref.forwardRef,
200
200
  forwardRef = _ref$forwardRef === void 0 ? null : _ref$forwardRef,
201
201
  other = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
@@ -328,7 +328,7 @@ function wrapFunction(OriginComponent, enhancements, Context) {
328
328
  var wrapperProps = getField('wrapperProps');
329
329
  var contexts = getField('context');
330
330
 
331
- var Component = _react["default"].memo(function FunctionMemoComponent(other) {
331
+ var Component = /*#__PURE__*/_react["default"].memo(function FunctionMemoComponent(other) {
332
332
  var selfRef = (0, _react.useRef)({});
333
333
  var firstRender = (0, _react.useRef)(true);
334
334
  (0, _useEnhancedEffect["default"])(function () {
@@ -407,7 +407,7 @@ function createComponent(OriginComponent) {
407
407
  var childComponents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
408
408
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
409
409
  var _options$context = options.context,
410
- context = _options$context === void 0 ? _react["default"].createContext({}) : _options$context,
410
+ context = _options$context === void 0 ? /*#__PURE__*/_react["default"].createContext({}) : _options$context,
411
411
  _options$parent = options.parent,
412
412
  parent = _options$parent === void 0 ? [] : _options$parent,
413
413
  _options$enhancements = options.enhancements,
@@ -463,7 +463,7 @@ function createBaseComponent(OriginComponent) {
463
463
  var Component = null;
464
464
 
465
465
  if (!_react["default"].PureComponent.isPrototypeOf(OriginComponent) && !_react["default"].Component.isPrototypeOf(OriginComponent) && typeof OriginComponent === 'function') {
466
- Component = _react["default"].forwardRef(OriginComponent);
466
+ Component = /*#__PURE__*/_react["default"].forwardRef(OriginComponent);
467
467
  Component.displayName = OriginComponent.displayName;
468
468
  Component.defaultProps = _objectSpread({
469
469
  'data-ui-name': OriginComponent.displayName
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.tsx"],"names":["CORE_COMPONENT","Symbol","CORE_INSTANCE","CORE_AS_PROPS","CORE_INIT","CONTEXT_COMPONENT","CREATE_COMPONENT","PARENT_COMPONENTS","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","Component","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","WrapperComponent","React","forwardRef","ref","other","enhancementRef","props","displayName","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","Error","contextProps","asProps","ctx","setContext","render","STATIC_COMPONENT","wrapFunction","memo","FunctionMemoComponent","selfRef","firstRender","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","map","f","_OriginComponent","_childComponents","_options","createBaseComponent"],"mappings":"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","sourcesContent":["import React, { ForwardRefExoticComponent, RefAttributes, useRef } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n// @ts-ignore\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n// @ts-ignore\nimport _assignProps from '@semcore/utils/lib/assignProps';\n\nimport { Component, PropsWithRenderFnChildren } from './Component';\nimport register from './register';\n\nimport childrenEnhancement, { CHILDREN_COMPONENT } from './enhancement/Children';\nimport rootEnhancement from './enhancement/Root';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport staticChildrenEnhancement, { STATIC_COMPONENT } from './enhancement/staticChildren';\nimport inheritedNameEnhancement, { INHERITED_NAME } from './enhancement/inheritedName';\nimport hoistPropsEnhancement from './enhancement/hoistProps';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport styleEnhancement from './enhancement/style';\nimport bindHandlerEnhancement from './enhancement/bindHandler';\n\nconst CORE_COMPONENT = Symbol('CORE_COMPONENT');\nconst CORE_INSTANCE = Symbol('CORE_INSTANCE');\nconst CORE_AS_PROPS = Symbol('CORE_AS_PROPS');\nconst CORE_INIT = Symbol('CORE_INIT');\nconst CONTEXT_COMPONENT = Symbol('CONTEXT_COMPONENT');\nconst CREATE_COMPONENT = Symbol('CREATE_COMPONENT');\nconst PARENT_COMPONENTS = Symbol('PARENT_COMPONENTS');\n\nfunction isEmptyObject(obj) {\n return (\n Object.getOwnPropertyNames(obj).length === 0 &&\n Object.getOwnPropertySymbols && // For IE 11\n Object.getOwnPropertySymbols(obj).length === 0 &&\n Object.getPrototypeOf(obj) === Object.prototype\n );\n}\n\nfunction createGetField(enhancements, Component, isFunction) {\n return function getField(key) {\n return enhancements\n .filter((enhancement) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc, item) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component, wrapperProps, statics, isFunction) {\n // @ts-ignore\n const WrapperComponent = React.forwardRef(function ({ forwardRef = null, ...other }, ref) {\n // WRAPPER PROPS\n const { ref: enhancementRef = null, ...props } = wrapperProps.reduce(\n (acc, enhancement) => enhancement(acc, WrapperComponent, isFunction),\n other,\n );\n // @ts-ignore\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n });\n\n hoistNonReactStatics(WrapperComponent, Component);\n\n WrapperComponent.displayName = Component.displayName;\n // TODO: defaultProps is only empty\n WrapperComponent.defaultProps = Component.defaultProps;\n // STATIC\n statics.forEach((enhancement) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent, enhancements, Context) {\n const getField = createGetField(enhancements, OriginComponent, false);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n class Component extends OriginComponent {\n [CORE_AS_PROPS] = null;\n [CORE_INSTANCE] = WrapperComponent;\n [CORE_INIT] = false;\n\n constructor(props, context) {\n super(props, context);\n // INITS\n inits.forEach((enhancement) => enhancement.call(this, props, WrapperComponent, false));\n this[CORE_INIT] = true;\n }\n\n get asProps() {\n // TODO if not production\n if (!this[CORE_INIT]) {\n throw new Error('Can not call asProps in constructor');\n }\n if (!this[CORE_AS_PROPS]) {\n // PROPS\n this[CORE_AS_PROPS] = props.reduce(\n (acc, enhancement) => enhancement.call(this, acc, WrapperComponent, false),\n this.props,\n );\n }\n return this[CORE_AS_PROPS];\n }\n\n setContext() {\n const contextProps = super.setContext ? super.setContext() : {};\n // CONTEXT\n return contexts.reduce(\n (acc, enhancement) => enhancement.call(this, acc, WrapperComponent, false),\n contextProps,\n );\n }\n\n render() {\n this[CORE_AS_PROPS] = null;\n // TODO if not production\n if (!super.render) {\n throw new Error('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":["CORE_COMPONENT","Symbol","CORE_INSTANCE","CORE_AS_PROPS","CORE_INIT","CONTEXT_COMPONENT","CREATE_COMPONENT","PARENT_COMPONENTS","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","Component","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","WrapperComponent","React","forwardRef","ref","other","enhancementRef","props","useForkRef","hoistNonReactStatics","displayName","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","Error","contextProps","asProps","ctx","setContext","render","STATIC_COMPONENT","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","useEnhancedEffect","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","_assignProps","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","map","f","bindHandlerEnhancement","childrenEnhancement","rootEnhancement","uncontrolledPropsEnhancement","staticChildrenEnhancement","functionDefaultPropsEnhancement","inheritedNameEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","hoistPropsEnhancement","_OriginComponent","_childComponents","_options","createBaseComponent"],"sources":["../../src/index.tsx"],"sourcesContent":["import React, { ForwardRefExoticComponent, RefAttributes, useRef } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n// @ts-ignore\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n// @ts-ignore\nimport _assignProps from '@semcore/utils/lib/assignProps';\n\nimport { Component, PropsWithRenderFnChildren } from './Component';\nimport register from './register';\n\nimport childrenEnhancement, { CHILDREN_COMPONENT } from './enhancement/Children';\nimport rootEnhancement from './enhancement/Root';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport staticChildrenEnhancement, { 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;;;mDACG,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;;;;;;;eAIY,IAAIL,QAAJ,E","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;;;mDACG,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;;;;;;;eAIY,IAAIL,QAAJ,E"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/styled/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","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":[],"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;;AAEA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAEA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -98,7 +98,9 @@ function merge() {
98
98
 
99
99
  function getClassAndVars(styles, name, props) {
100
100
  function getPropValue(key, props) {
101
- return props["use:".concat(key)] ?? props[key];
101
+ var _props;
102
+
103
+ return (_props = props["use:".concat(key)]) !== null && _props !== void 0 ? _props : props[key];
102
104
  }
103
105
 
104
106
  return Object.entries(styles).reduce(function (acc, _ref3) {
@@ -122,7 +124,7 @@ function getClassAndVars(styles, name, props) {
122
124
 
123
125
  if (modValue === undefined) {
124
126
  // @ts-ignore
125
- acc[0][value] = Boolean(propValue ?? false);
127
+ acc[0][value] = Boolean(propValue !== null && propValue !== void 0 ? propValue : false);
126
128
  } else {
127
129
  // @ts-ignore
128
130
  acc[0][value] = propValue == modValue;