@semcore/core 1.11.4 → 1.11.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/lib/cjs/enhancement/Root.js +1 -1
- package/lib/cjs/enhancement/Root.js.map +1 -1
- package/lib/cjs/index.js +4 -4
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/styled/sstyled.js +2 -4
- package/lib/cjs/styled/sstyled.js.map +1 -1
- package/lib/es6/enhancement/Root.js +1 -1
- package/lib/es6/enhancement/Root.js.map +1 -1
- package/lib/es6/index.js +4 -4
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/styled/sstyled.js +2 -4
- package/lib/es6/styled/sstyled.js.map +1 -1
- package/package.json +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [1.11.5] - 2022-05-19
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Version patch update due to children dependencies update (`@semcore/utils` [3.32.0 ~> 3.32.1]).
|
|
10
|
+
|
|
5
11
|
## [1.11.4] - 2022-03-14
|
|
6
12
|
|
|
7
13
|
### Changed
|
|
@@ -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 =
|
|
31
|
+
var Root = _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,
|
|
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: разобраться как то иначе\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"}
|
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 =
|
|
198
|
+
var WrapperComponent = _react["default"].forwardRef(function (_ref, ref) {
|
|
199
199
|
var _ref$forwardRef = _ref.forwardRef,
|
|
200
200
|
forwardRef = _ref$forwardRef === void 0 ? null : _ref$forwardRef,
|
|
201
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 =
|
|
331
|
+
var Component = _react["default"].memo(function FunctionMemoComponent(other) {
|
|
332
332
|
var selfRef = (0, _react.useRef)({});
|
|
333
333
|
var firstRender = (0, _react.useRef)(true);
|
|
334
334
|
(0, _useEnhancedEffect["default"])(function () {
|
|
@@ -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 ?
|
|
410
|
+
context = _options$context === void 0 ? _react["default"].createContext({}) : _options$context,
|
|
411
411
|
_options$parent = options.parent,
|
|
412
412
|
parent = _options$parent === void 0 ? [] : _options$parent,
|
|
413
413
|
_options$enhancements = options.enhancements,
|
|
@@ -463,7 +463,7 @@ function createBaseComponent(OriginComponent) {
|
|
|
463
463
|
var Component = null;
|
|
464
464
|
|
|
465
465
|
if (!_react["default"].PureComponent.isPrototypeOf(OriginComponent) && !_react["default"].Component.isPrototypeOf(OriginComponent) && typeof OriginComponent === 'function') {
|
|
466
|
-
Component =
|
|
466
|
+
Component = _react["default"].forwardRef(OriginComponent);
|
|
467
467
|
Component.displayName = OriginComponent.displayName;
|
|
468
468
|
Component.defaultProps = _objectSpread({
|
|
469
469
|
'data-ui-name': OriginComponent.displayName
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -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,"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"}
|
|
@@ -98,9 +98,7 @@ function merge() {
|
|
|
98
98
|
|
|
99
99
|
function getClassAndVars(styles, name, props) {
|
|
100
100
|
function getPropValue(key, props) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
return (_props$ = props["use:".concat(key)]) !== null && _props$ !== void 0 ? _props$ : props[key];
|
|
101
|
+
return props["use:".concat(key)] ?? props[key];
|
|
104
102
|
}
|
|
105
103
|
|
|
106
104
|
return Object.entries(styles).reduce(function (acc, _ref3) {
|
|
@@ -124,7 +122,7 @@ function getClassAndVars(styles, name, props) {
|
|
|
124
122
|
|
|
125
123
|
if (modValue === undefined) {
|
|
126
124
|
// @ts-ignore
|
|
127
|
-
acc[0][value] = Boolean(propValue
|
|
125
|
+
acc[0][value] = Boolean(propValue ?? false);
|
|
128
126
|
} else {
|
|
129
127
|
// @ts-ignore
|
|
130
128
|
acc[0][value] = propValue == modValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/styled/sstyled.tsx"],"names":["RESHADOW_ID","isSSR","window","document","createElement","serverMap","map","getStyles","css","serverStyles","id","insert","code","hash","concat","container","getElementById","head","appendChild","addEventListener","type","innerHTML","merge","s1","s2","Object","entries","reduce","acc","key","value","startsWith","assign","getClassAndVars","styles","name","props","getPropValue","substring","split","mod","modValue","propValue","undefined","Boolean","reshadowToShadow","obj","style","n","replace","sstyled","cn","classes","extraProps","keys","length","className","Error","SHADOW_STYLES","Symbol"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../src/styled/sstyled.tsx"],"names":["RESHADOW_ID","isSSR","window","document","createElement","serverMap","map","getStyles","css","serverStyles","id","insert","code","hash","concat","container","getElementById","head","appendChild","addEventListener","type","innerHTML","merge","s1","s2","Object","entries","reduce","acc","key","value","startsWith","assign","getClassAndVars","styles","name","props","getPropValue","substring","split","mod","modValue","propValue","undefined","Boolean","reshadowToShadow","obj","style","n","replace","sstyled","cn","classes","extraProps","keys","length","className","Error","SHADOW_STYLES","Symbol"],"mappings":"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","sourcesContent":["/* eslint-disable */\nimport cn from 'classnames';\nimport { ReactNode } from 'react';\nimport { getStyles as reshadowGetStyles } from '@reshadow/core';\n\nconst RESHADOW_ID = '__reshadow__';\n\nconst isSSR = !(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nconst serverMap = reshadowGetStyles().map;\n\nconst getStyles = () => ({\n map: serverMap,\n get css() {\n let serverStyles = '';\n for (const id in serverMap) {\n serverStyles += `<style type='text/css' id='${id}'>${serverMap[id]}</style>`;\n }\n return serverStyles;\n },\n});\n\nfunction insert(code, hash) {\n const id = 'reshadow-'.concat(hash);\n\n if (isSSR) {\n serverMap[id] = code;\n return;\n }\n\n let container = document.getElementById(RESHADOW_ID);\n\n if (!container) {\n container = document.createElement('object');\n container.id = RESHADOW_ID;\n\n if (document.head) {\n document.head.appendChild(container);\n } else {\n document.addEventListener('DOMContentLoaded', function () {\n document.head.appendChild(container);\n });\n }\n }\n\n let css = document.getElementById(id);\n\n if (!css) {\n css = document.createElement('style');\n css.id = id;\n // @ts-ignore\n css.type = 'text/css';\n container.appendChild(css);\n }\n\n css.innerHTML = code;\n}\n\nfunction merge(s1 = {}, s2 = {}) {\n return Object.entries(s2).reduce((acc, [key, value]) => {\n if (key.startsWith('@') || key.startsWith('--')) {\n acc[key] = value;\n } else {\n acc[key] = cn(acc[key], value);\n }\n return acc;\n }, Object.assign({}, s1));\n}\n\nfunction getClassAndVars(styles, name, props) {\n function getPropValue(key, props) {\n return props[`use:${key}`] ?? props[key];\n }\n\n return Object.entries(styles).reduce(\n (acc, [key, value]) => {\n if (key.startsWith('--')) {\n // @ts-ignore\n acc[1][value] = getPropValue(key.substring(2), props);\n } else if (name === key) {\n // @ts-ignore\n acc[0][value] = true;\n } else {\n const [mod, modValue] = key.split('=');\n const propValue = getPropValue(mod, props);\n if (modValue === undefined) {\n // @ts-ignore\n acc[0][value] = Boolean(propValue ?? false);\n } else {\n // @ts-ignore\n acc[0][value] = propValue == modValue;\n }\n }\n return acc;\n },\n [{}, {}],\n );\n}\n\nfunction reshadowToShadow(obj) {\n return Object.entries(obj).reduce((style, [name, value]) => {\n let n = name;\n if (name.startsWith('__')) {\n n = name.replace(/^__/, '');\n } else if (name.startsWith('_')) {\n n = name.replace(/^_/, '').replace('_', '=');\n }\n style[n] = value;\n return style;\n }, {});\n}\n\nfunction sstyled(\n styles = {},\n): ((ReactNode) => ReactNode) & {\n cn(name: string, props: any): any;\n} {\n // @ts-ignore\n return {\n cn(name, props) {\n const [classes, style] = getClassAndVars(reshadowToShadow(styles), name, props);\n const extraProps = {};\n\n if (Object.keys(classes).length) {\n // @ts-ignore\n extraProps.className = cn(props.className, classes);\n }\n\n if (Object.keys(style).length) {\n // @ts-ignore\n extraProps.style = Object.assign(style, props.style);\n }\n return {\n ...props,\n ...extraProps,\n };\n },\n };\n}\n\nsstyled.css = function (css): { [key: string]: string } {\n throw new Error('Enable babel plugin');\n};\nsstyled.insert = insert;\nsstyled.merge = merge;\nsstyled.getStyles = getStyles;\nsstyled.SHADOW_STYLES = Symbol('SHADOW_STYLES');\n\nexport { sstyled };\n/* eslint-enable */\n"],"file":"sstyled.js"}
|
|
@@ -16,7 +16,7 @@ import { useForkRef } from '@semcore/utils/lib/ref';
|
|
|
16
16
|
|
|
17
17
|
function createRootRender() {
|
|
18
18
|
// @ts-ignore
|
|
19
|
-
var Root =
|
|
19
|
+
var Root = React.forwardRef(function (_ref, ref) {
|
|
20
20
|
var Tag = _ref.render,
|
|
21
21
|
source = _objectWithoutProperties(_ref, _excluded);
|
|
22
22
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/enhancement/Root.tsx"],"names":["React","assignProps","useForkRef","createRootRender","Root","forwardRef","ref","Tag","render","source","props","_Root","styles","children","Children","clearProps","Object","entries","reduce","name","value","undefined","child","origin","other","Error","Enhancement","init","asProps","WrapperComponent","isFunction"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB,C,CACA;;AACA,OAAOC,WAAP,MAAwB,gCAAxB,C,CACA;;AACA,SAASC,UAAT,QAA2B,wBAA3B;;AAEA,SAASC,gBAAT,GAA4B;AAC1B;AACA,MAAMC,IAAI,
|
|
1
|
+
{"version":3,"sources":["../../../src/enhancement/Root.tsx"],"names":["React","assignProps","useForkRef","createRootRender","Root","forwardRef","ref","Tag","render","source","props","_Root","styles","children","Children","clearProps","Object","entries","reduce","name","value","undefined","child","origin","other","Error","Enhancement","init","asProps","WrapperComponent","isFunction"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB,C,CACA;;AACA,OAAOC,WAAP,MAAwB,gCAAxB,C,CACA;;AACA,SAASC,UAAT,QAA2B,wBAA3B;;AAEA,SAASC,gBAAT,GAA4B;AAC1B;AACA,MAAMC,IAAI,GAAGJ,KAAK,CAACK,UAAN,CAAiB,gBAAsCC,GAAtC,EAA2C;AAAA,QAAvBC,GAAuB,QAA/BC,MAA+B;AAAA,QAAfC,MAAe;;AACvE,sBAWIL,IAAI,CAACM,KAXT;AAAA,QAEQC,KAFR,eAEEP,IAFF;AAAA,QAIEQ,MAJF,eAIEA,MAJF;AAAA,QAMEC,QANF,eAMEA,QANF;AAAA,QAOEC,QAPF,eAOEA,QAPF;AAAA,4CAQET,UARF;AAAA,QAQEA,UARF,sCAQe,IARf;AAAA,QASKK,KATL;;AAaA,QAAMK,UAAU,GAAGC,MAAM,CAACC,OAAP,CAAeP,KAAf,EAAsBQ,MAAtB,CAA6B,UAACR,KAAD,SAA0B;AAAA;AAAA,UAAjBS,IAAiB;AAAA,UAAXC,KAAW;;AACxE,UAAIA,KAAK,KAAKC,SAAd,EAAyB;AACvBX,QAAAA,KAAK,CAACS,IAAD,CAAL,GAAcC,KAAd;AACD;;AACD,aAAOV,KAAP;AACD,KALkB,EAKhB,EALgB,CAAnB;AAOA,QAAMY,KAAK,GAAG,EAAd,CArBuE,CAsBvE;;AACA,QAAI,OAAOR,QAAQ,CAACS,MAAhB,KAA2B,WAA/B,EAA4C;AAC1C;AACAD,MAAAA,KAAK,CAACT,QAAN,gBAAiB,oBAAC,QAAD,OAAjB;AACD;;AAED,QAAMW,KAAK,GAAGvB,WAAW,iCAElBc,UAFkB;AAGrBT,MAAAA,GAAG,EAAEJ,UAAU,CAACG,UAAD,EAAaC,GAAb;AAHM,wCAMlBgB,KANkB,GAOlBb,MAPkB,EAAzB;;AAUA,QAAI,CAACF,GAAL,EAAU;AACR,YAAM,IAAIkB,KAAJ,CAAU,uCAAV,CAAN;AACD;;AACD,wBAAO,oBAAC,GAAD,EAASD,KAAT,CAAP;AACD,GA1CY,CAAb,CAF0B,CA6C1B;;AACApB,EAAAA,IAAI,CAACM,KAAL,GAAa,EAAb;AACA,SAAON,IAAP;AACD;;AAED,SAASsB,WAAT,GAAuB;AACrB,SAAO;AACLC,IAAAA,IAAI,EAAE,gBAAY;AAChB,WAAKvB,IAAL,GAAYD,gBAAgB,EAA5B;AACD,KAHI;AAILyB,IAAAA,OAAO,EAAE,iBAAUlB,KAAV,EAAiBmB,gBAAjB,EAAmCC,UAAnC,EAA+C;AACtD,UAAIA,UAAJ,EAAgB;AACd,+CACKpB,KADL;AAEEN,UAAAA,IAAI,EAAE,KAAKA;AAFb;AAID;;AACD,aAAOM,KAAP;AACD,KAZI;AAaLF,IAAAA,MAAM,EAAE,gBAAUA,OAAV,EAAkBE,KAAlB,EAAyB;AAC/B,WAAKN,IAAL,CAAUM,KAAV,GAAkBA,KAAlB;AACA,aAAOF,OAAP;AACD;AAhBI,GAAP;AAkBD;;AAED,eAAekB,WAAf","sourcesContent":["import React from 'react';\n// @ts-ignore\nimport assignProps from '@semcore/utils/lib/assignProps';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n\nfunction createRootRender() {\n // @ts-ignore\n const Root = React.forwardRef(function ({ render: Tag, ...source }, ref) {\n const {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Root: _Root,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n styles,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n children,\n Children,\n forwardRef = null,\n ...props\n // @ts-ignore\n } = Root.props;\n\n const clearProps = Object.entries(props).reduce((props, [name, value]) => {\n if (value !== undefined) {\n props[name] = value;\n }\n return props;\n }, {});\n\n const child = {};\n // TODO: разобраться как то иначе\n if (typeof Children.origin !== 'undefined') {\n // @ts-ignore\n child.children = <Children />;\n }\n\n const other = assignProps(\n {\n ...clearProps,\n ref: useForkRef(forwardRef, ref),\n },\n {\n ...child,\n ...source,\n },\n );\n if (!Tag) {\n throw new Error('`render` prop of Root is not provided');\n }\n return <Tag {...other} />;\n });\n // @ts-ignore\n Root.props = {};\n return Root;\n}\n\nfunction Enhancement() {\n return {\n init: function () {\n this.Root = createRootRender();\n },\n asProps: function (props, WrapperComponent, isFunction) {\n if (isFunction) {\n return {\n ...props,\n Root: this.Root,\n };\n }\n return props;\n },\n render: function (render, props) {\n this.Root.props = props;\n return render;\n },\n };\n}\n\nexport default Enhancement;\n"],"file":"Root.js"}
|
package/lib/es6/index.js
CHANGED
|
@@ -74,7 +74,7 @@ function createGetField(enhancements, Component, isFunction) {
|
|
|
74
74
|
|
|
75
75
|
function createForwardWrapper(Component, wrapperProps, statics, isFunction) {
|
|
76
76
|
// @ts-ignore
|
|
77
|
-
var WrapperComponent =
|
|
77
|
+
var WrapperComponent = React.forwardRef(function (_ref, ref) {
|
|
78
78
|
var _ref$forwardRef = _ref.forwardRef,
|
|
79
79
|
forwardRef = _ref$forwardRef === void 0 ? null : _ref$forwardRef,
|
|
80
80
|
other = _objectWithoutProperties(_ref, _excluded);
|
|
@@ -210,7 +210,7 @@ function wrapFunction(OriginComponent, enhancements, Context) {
|
|
|
210
210
|
var statics = getField('static');
|
|
211
211
|
var wrapperProps = getField('wrapperProps');
|
|
212
212
|
var contexts = getField('context');
|
|
213
|
-
var Component =
|
|
213
|
+
var Component = React.memo(function FunctionMemoComponent(other) {
|
|
214
214
|
var selfRef = useRef({});
|
|
215
215
|
var firstRender = useRef(true);
|
|
216
216
|
useEnhancedEffect(function () {
|
|
@@ -288,7 +288,7 @@ function createComponent(OriginComponent) {
|
|
|
288
288
|
var childComponents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
289
289
|
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
290
290
|
var _options$context = options.context,
|
|
291
|
-
context = _options$context === void 0 ?
|
|
291
|
+
context = _options$context === void 0 ? React.createContext({}) : _options$context,
|
|
292
292
|
_options$parent = options.parent,
|
|
293
293
|
parent = _options$parent === void 0 ? [] : _options$parent,
|
|
294
294
|
_options$enhancements = options.enhancements,
|
|
@@ -344,7 +344,7 @@ function createBaseComponent(OriginComponent) {
|
|
|
344
344
|
var Component = null;
|
|
345
345
|
|
|
346
346
|
if (!React.PureComponent.isPrototypeOf(OriginComponent) && !React.Component.isPrototypeOf(OriginComponent) && typeof OriginComponent === 'function') {
|
|
347
|
-
Component =
|
|
347
|
+
Component = React.forwardRef(OriginComponent);
|
|
348
348
|
Component.displayName = OriginComponent.displayName;
|
|
349
349
|
Component.defaultProps = _objectSpread({
|
|
350
350
|
'data-ui-name': OriginComponent.displayName
|
package/lib/es6/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.tsx"],"names":["React","useRef","hoistNonReactStatics","useForkRef","useEnhancedEffect","_assignProps","Component","register","childrenEnhancement","CHILDREN_COMPONENT","rootEnhancement","uncontrolledPropsEnhancement","functionDefaultPropsEnhancement","staticChildrenEnhancement","STATIC_COMPONENT","inheritedNameEnhancement","INHERITED_NAME","hoistPropsEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","bindHandlerEnhancement","CORE_COMPONENT","Symbol","CORE_INSTANCE","CORE_AS_PROPS","CORE_INIT","CONTEXT_COMPONENT","CREATE_COMPONENT","PARENT_COMPONENTS","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","WrapperComponent","forwardRef","ref","other","enhancementRef","props","displayName","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","Error","contextProps","asProps","ctx","setContext","render","wrapFunction","memo","FunctionMemoComponent","selfRef","firstRender","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","map","f","_OriginComponent","_childComponents","_options","createBaseComponent"],"mappings":"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","sourcesContent":["import React, { ForwardRefExoticComponent, RefAttributes, useRef } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n// @ts-ignore\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n// @ts-ignore\nimport _assignProps from '@semcore/utils/lib/assignProps';\n\nimport { Component, PropsWithRenderFnChildren } from './Component';\nimport register from './register';\n\nimport childrenEnhancement, { CHILDREN_COMPONENT } from './enhancement/Children';\nimport rootEnhancement from './enhancement/Root';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport staticChildrenEnhancement, { STATIC_COMPONENT } from './enhancement/staticChildren';\nimport inheritedNameEnhancement, { INHERITED_NAME } from './enhancement/inheritedName';\nimport hoistPropsEnhancement from './enhancement/hoistProps';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport styleEnhancement from './enhancement/style';\nimport bindHandlerEnhancement from './enhancement/bindHandler';\n\nconst CORE_COMPONENT = Symbol('CORE_COMPONENT');\nconst CORE_INSTANCE = Symbol('CORE_INSTANCE');\nconst CORE_AS_PROPS = Symbol('CORE_AS_PROPS');\nconst CORE_INIT = Symbol('CORE_INIT');\nconst CONTEXT_COMPONENT = Symbol('CONTEXT_COMPONENT');\nconst CREATE_COMPONENT = Symbol('CREATE_COMPONENT');\nconst PARENT_COMPONENTS = Symbol('PARENT_COMPONENTS');\n\nfunction isEmptyObject(obj) {\n return (\n Object.getOwnPropertyNames(obj).length === 0 &&\n Object.getOwnPropertySymbols && // For IE 11\n Object.getOwnPropertySymbols(obj).length === 0 &&\n Object.getPrototypeOf(obj) === Object.prototype\n );\n}\n\nfunction createGetField(enhancements, Component, isFunction) {\n return function getField(key) {\n return enhancements\n .filter((enhancement) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc, item) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component, wrapperProps, statics, isFunction) {\n // @ts-ignore\n const WrapperComponent = React.forwardRef(function ({ forwardRef = null, ...other }, ref) {\n // WRAPPER PROPS\n const { ref: enhancementRef = null, ...props } = wrapperProps.reduce(\n (acc, enhancement) => enhancement(acc, WrapperComponent, isFunction),\n other,\n );\n // @ts-ignore\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n });\n\n hoistNonReactStatics(WrapperComponent, Component);\n\n WrapperComponent.displayName = Component.displayName;\n // TODO: defaultProps is only empty\n WrapperComponent.defaultProps = Component.defaultProps;\n // STATIC\n statics.forEach((enhancement) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent, enhancements, Context) {\n const getField = createGetField(enhancements, OriginComponent, false);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n class Component extends OriginComponent {\n [CORE_AS_PROPS] = null;\n [CORE_INSTANCE] = WrapperComponent;\n [CORE_INIT] = false;\n\n constructor(props, context) {\n super(props, context);\n // INITS\n inits.forEach((enhancement) => enhancement.call(this, props, WrapperComponent, false));\n this[CORE_INIT] = true;\n }\n\n get asProps() {\n // TODO if not production\n if (!this[CORE_INIT]) {\n throw new Error('Can not call asProps in constructor');\n }\n if (!this[CORE_AS_PROPS]) {\n // PROPS\n this[CORE_AS_PROPS] = props.reduce(\n (acc, enhancement) => enhancement.call(this, acc, WrapperComponent, false),\n this.props,\n );\n }\n return this[CORE_AS_PROPS];\n }\n\n setContext() {\n const contextProps = super.setContext ? super.setContext() : {};\n // CONTEXT\n return contexts.reduce(\n (acc, enhancement) => enhancement.call(this, acc, WrapperComponent, false),\n contextProps,\n );\n }\n\n render() {\n this[CORE_AS_PROPS] = null;\n // TODO if not production\n if (!super.render) {\n throw new Error('Component `render` method is not defined');\n }\n const asProps = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc, enhancement) => enhancement.call(this, acc, asProps, WrapperComponent, false),\n super.render(),\n );\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n }\n }\n\n const WrapperComponent = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent, enhancements, Context) {\n const getField = createGetField(enhancements, OriginComponent, true);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n const Component = React.memo(function FunctionMemoComponent(other) {\n const selfRef = useRef({});\n const firstRender = useRef(true);\n useEnhancedEffect(() => {\n firstRender.current = false;\n }, []);\n if (firstRender.current) {\n // INITS\n inits.forEach((enhancement) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc, enhancement) => enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc, enhancement) => enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc, enhancement) => enhancement.call(selfRef.current, acc, asProps, WrapperComponent, true),\n <OriginComponent {...asProps} />,\n );\n\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n });\n Object.assign(Component, OriginComponent);\n const WrapperComponent = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent, enhancements, Context) {\n const Component = function ({ Root }) {\n return <Root render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n Component.defaultProps = OriginComponent.defaultProps;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent, Context, enhancements): any {\n if (\n React.PureComponent.isPrototypeOf(OriginComponent) ||\n React.Component.isPrototypeOf(OriginComponent)\n ) {\n if (OriginComponent.prototype instanceof Component) {\n return wrapClass(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must inherit from our component');\n }\n } else if (typeof OriginComponent === 'function') {\n return wrapFunction(OriginComponent, enhancements, Context);\n } else if (OriginComponent[CORE_COMPONENT]) {\n return wrapCore(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must be a React component');\n }\n}\n\nexport type PropsAndRef<T, Ctx, UCProps> = PropsWithRenderFnChildren<T, Ctx, UCProps> &\n RefAttributes<unknown>;\nexport type ForwardRefComponent<T, Ctx, UCProps> = ForwardRefExoticComponent<\n PropsAndRef<T, Ctx, UCProps>\n>;\ntype ComponentOrProps<T, Context, UCProps> = T extends [infer ParentProps, infer ChildProps]\n ? ComponentType<ParentProps, ChildProps, Context, UCProps>\n : ForwardRefComponent<T, Context, UCProps>;\n\nexport type ComponentType<\n ComponentProps,\n ChildComponentProps = {},\n ContextType = {},\n UCProps = {},\n FNType = null,\n> = (FNType extends null\n ? ForwardRefComponent<ComponentProps, ContextType, UCProps>\n : FNType & { displayName: string }) & {\n [K in keyof ChildComponentProps]: ComponentOrProps<ChildComponentProps[K], ContextType, UCProps>;\n} & {\n [CORE_COMPONENT]: boolean;\n [CREATE_COMPONENT]: () => ComponentType<\n ComponentProps,\n ChildComponentProps,\n ContextType,\n UCProps\n >;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ninterface ClassWithUncontrolledProps<Props> {\n uncontrolledProps(): unknown;\n}\n\nfunction assignProps(p1, p2) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<ComponentProps, ChildComponentProps = {}, ContextType = {}, FNType = null>(\n OriginComponent,\n childComponents = {},\n options: {\n context?: React.Context<ContextType>;\n parent?: ComponentType<unknown> | ComponentType<unknown>[];\n enhancements?: [any];\n } = {},\n): ComponentType<\n ComponentProps extends Component<infer Props> ? Props : ComponentProps,\n ChildComponentProps,\n ContextType,\n ComponentProps extends ClassWithUncontrolledProps<any>\n ? ReturnType<ComponentProps['uncontrolledProps']>\n : { [key: string]: (arg: unknown) => void },\n FNType\n> {\n const {\n context = React.createContext<ContextType>({} as ContextType),\n parent = [],\n enhancements = [],\n } = options;\n let parents = Array.isArray(parent) ? parent : [parent];\n if (parents.length) {\n const wholeFamily = parents.reduce((acc, parent) => {\n if (parent[PARENT_COMPONENTS]) {\n acc = [...parent[PARENT_COMPONENTS], ...acc];\n }\n return acc;\n }, parents);\n OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\n if (OriginComponent[CORE_COMPONENT]) {\n parents.push(OriginComponent);\n }\n const Component = createComposeComponent(OriginComponent, context, [\n // @ts-ignore\n ...enhancements.map((f) => f(context, parents, createComponent, childComponents)),\n bindHandlerEnhancement(),\n childrenEnhancement(context, parents),\n // root must be under the children\n rootEnhancement(),\n uncontrolledPropsEnhancement(),\n staticChildrenEnhancement(childComponents, createComponent, {\n context,\n parent,\n enhancements,\n }),\n // functionDefaultProps must be under the staticChild\n functionDefaultPropsEnhancement(),\n // inheritedName must be under the staticChild\n inheritedNameEnhancement(),\n // dataName must be under the staticChild\n dataNameEnhancement(),\n // enhanceEnhancement must be under the functionDefaultPropsEnhancement\n enhanceEnhancement(),\n styleEnhancement(childComponents, context),\n // must be the last one so any properties can be raised\n hoistPropsEnhancement(childComponents, context),\n ]);\n Component[CONTEXT_COMPONENT] = context;\n Component[CREATE_COMPONENT] = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component[CORE_COMPONENT] = true;\n return Component;\n}\n\nfunction createBaseComponent<ComponentProps>(OriginComponent): ComponentType<ComponentProps> {\n let Component = null;\n if (\n !React.PureComponent.isPrototypeOf(OriginComponent) &&\n !React.Component.isPrototypeOf(OriginComponent) &&\n typeof OriginComponent === 'function'\n ) {\n Component = React.forwardRef(OriginComponent);\n Component.displayName = OriginComponent.displayName;\n Component.defaultProps = {\n 'data-ui-name': OriginComponent.displayName,\n ...OriginComponent.defaultProps,\n };\n Component[CORE_COMPONENT] = true;\n } else {\n throw new Error('createBaseComponent accepts only functional component');\n }\n return Component;\n}\n\nexport * from './Component';\nexport * from './styled';\nexport * from './register';\nexport {\n createBaseComponent,\n register,\n CREATE_COMPONENT,\n CORE_INSTANCE,\n CONTEXT_COMPONENT,\n CHILDREN_COMPONENT,\n INHERITED_NAME,\n CORE_COMPONENT,\n STATIC_COMPONENT,\n assignProps,\n};\nexport default createComponent;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/index.tsx"],"names":["React","useRef","hoistNonReactStatics","useForkRef","useEnhancedEffect","_assignProps","Component","register","childrenEnhancement","CHILDREN_COMPONENT","rootEnhancement","uncontrolledPropsEnhancement","functionDefaultPropsEnhancement","staticChildrenEnhancement","STATIC_COMPONENT","inheritedNameEnhancement","INHERITED_NAME","hoistPropsEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","bindHandlerEnhancement","CORE_COMPONENT","Symbol","CORE_INSTANCE","CORE_AS_PROPS","CORE_INIT","CONTEXT_COMPONENT","CREATE_COMPONENT","PARENT_COMPONENTS","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","WrapperComponent","forwardRef","ref","other","enhancementRef","props","displayName","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","Error","contextProps","asProps","ctx","setContext","render","wrapFunction","memo","FunctionMemoComponent","selfRef","firstRender","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","map","f","_OriginComponent","_childComponents","_options","createBaseComponent"],"mappings":"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","sourcesContent":["import React, { ForwardRefExoticComponent, RefAttributes, useRef } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n// @ts-ignore\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n// @ts-ignore\nimport _assignProps from '@semcore/utils/lib/assignProps';\n\nimport { Component, PropsWithRenderFnChildren } from './Component';\nimport register from './register';\n\nimport childrenEnhancement, { CHILDREN_COMPONENT } from './enhancement/Children';\nimport rootEnhancement from './enhancement/Root';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport staticChildrenEnhancement, { STATIC_COMPONENT } from './enhancement/staticChildren';\nimport inheritedNameEnhancement, { INHERITED_NAME } from './enhancement/inheritedName';\nimport hoistPropsEnhancement from './enhancement/hoistProps';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport styleEnhancement from './enhancement/style';\nimport bindHandlerEnhancement from './enhancement/bindHandler';\n\nconst CORE_COMPONENT = Symbol('CORE_COMPONENT');\nconst CORE_INSTANCE = Symbol('CORE_INSTANCE');\nconst CORE_AS_PROPS = Symbol('CORE_AS_PROPS');\nconst CORE_INIT = Symbol('CORE_INIT');\nconst CONTEXT_COMPONENT = Symbol('CONTEXT_COMPONENT');\nconst CREATE_COMPONENT = Symbol('CREATE_COMPONENT');\nconst PARENT_COMPONENTS = Symbol('PARENT_COMPONENTS');\n\nfunction isEmptyObject(obj) {\n return (\n Object.getOwnPropertyNames(obj).length === 0 &&\n Object.getOwnPropertySymbols && // For IE 11\n Object.getOwnPropertySymbols(obj).length === 0 &&\n Object.getPrototypeOf(obj) === Object.prototype\n );\n}\n\nfunction createGetField(enhancements, Component, isFunction) {\n return function getField(key) {\n return enhancements\n .filter((enhancement) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc, item) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component, wrapperProps, statics, isFunction) {\n // @ts-ignore\n const WrapperComponent = React.forwardRef(function ({ forwardRef = null, ...other }, ref) {\n // WRAPPER PROPS\n const { ref: enhancementRef = null, ...props } = wrapperProps.reduce(\n (acc, enhancement) => enhancement(acc, WrapperComponent, isFunction),\n other,\n );\n // @ts-ignore\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n });\n\n hoistNonReactStatics(WrapperComponent, Component);\n\n WrapperComponent.displayName = Component.displayName;\n // TODO: defaultProps is only empty\n WrapperComponent.defaultProps = Component.defaultProps;\n // STATIC\n statics.forEach((enhancement) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent, enhancements, Context) {\n const getField = createGetField(enhancements, OriginComponent, false);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n class Component extends OriginComponent {\n [CORE_AS_PROPS] = null;\n [CORE_INSTANCE] = WrapperComponent;\n [CORE_INIT] = false;\n\n constructor(props, context) {\n super(props, context);\n // INITS\n inits.forEach((enhancement) => enhancement.call(this, props, WrapperComponent, false));\n this[CORE_INIT] = true;\n }\n\n get asProps() {\n // TODO if not production\n if (!this[CORE_INIT]) {\n throw new Error('Can not call asProps in constructor');\n }\n if (!this[CORE_AS_PROPS]) {\n // PROPS\n this[CORE_AS_PROPS] = props.reduce(\n (acc, enhancement) => enhancement.call(this, acc, WrapperComponent, false),\n this.props,\n );\n }\n return this[CORE_AS_PROPS];\n }\n\n setContext() {\n const contextProps = super.setContext ? super.setContext() : {};\n // CONTEXT\n return contexts.reduce(\n (acc, enhancement) => enhancement.call(this, acc, WrapperComponent, false),\n contextProps,\n );\n }\n\n render() {\n this[CORE_AS_PROPS] = null;\n // TODO if not production\n if (!super.render) {\n throw new Error('Component `render` method is not defined');\n }\n const asProps = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc, enhancement) => enhancement.call(this, acc, asProps, WrapperComponent, false),\n super.render(),\n );\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n }\n }\n\n const WrapperComponent = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent, enhancements, Context) {\n const getField = createGetField(enhancements, OriginComponent, true);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n const Component = React.memo(function FunctionMemoComponent(other) {\n const selfRef = useRef({});\n const firstRender = useRef(true);\n useEnhancedEffect(() => {\n firstRender.current = false;\n }, []);\n if (firstRender.current) {\n // INITS\n inits.forEach((enhancement) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc, enhancement) => enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc, enhancement) => enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc, enhancement) => enhancement.call(selfRef.current, acc, asProps, WrapperComponent, true),\n <OriginComponent {...asProps} />,\n );\n\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n });\n Object.assign(Component, OriginComponent);\n const WrapperComponent = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent, enhancements, Context) {\n const Component = function ({ Root }) {\n return <Root render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n Component.defaultProps = OriginComponent.defaultProps;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent, Context, enhancements): any {\n if (\n React.PureComponent.isPrototypeOf(OriginComponent) ||\n React.Component.isPrototypeOf(OriginComponent)\n ) {\n if (OriginComponent.prototype instanceof Component) {\n return wrapClass(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must inherit from our component');\n }\n } else if (typeof OriginComponent === 'function') {\n return wrapFunction(OriginComponent, enhancements, Context);\n } else if (OriginComponent[CORE_COMPONENT]) {\n return wrapCore(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must be a React component');\n }\n}\n\nexport type PropsAndRef<T, Ctx, UCProps> = PropsWithRenderFnChildren<T, Ctx, UCProps> &\n RefAttributes<unknown>;\nexport type ForwardRefComponent<T, Ctx, UCProps> = ForwardRefExoticComponent<\n PropsAndRef<T, Ctx, UCProps>\n>;\ntype ComponentOrProps<T, Context, UCProps> = T extends [infer ParentProps, infer ChildProps]\n ? ComponentType<ParentProps, ChildProps, Context, UCProps>\n : ForwardRefComponent<T, Context, UCProps>;\n\nexport type ComponentType<\n ComponentProps,\n ChildComponentProps = {},\n ContextType = {},\n UCProps = {},\n FNType = null,\n> = (FNType extends null\n ? ForwardRefComponent<ComponentProps, ContextType, UCProps>\n : FNType & { displayName: string }) & {\n [K in keyof ChildComponentProps]: ComponentOrProps<ChildComponentProps[K], ContextType, UCProps>;\n} & {\n [CORE_COMPONENT]: boolean;\n [CREATE_COMPONENT]: () => ComponentType<\n ComponentProps,\n ChildComponentProps,\n ContextType,\n UCProps\n >;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ninterface ClassWithUncontrolledProps<Props> {\n uncontrolledProps(): unknown;\n}\n\nfunction assignProps(p1, p2) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<ComponentProps, ChildComponentProps = {}, ContextType = {}, FNType = null>(\n OriginComponent,\n childComponents = {},\n options: {\n context?: React.Context<ContextType>;\n parent?: ComponentType<unknown> | ComponentType<unknown>[];\n enhancements?: [any];\n } = {},\n): ComponentType<\n ComponentProps extends Component<infer Props> ? Props : ComponentProps,\n ChildComponentProps,\n ContextType,\n ComponentProps extends ClassWithUncontrolledProps<any>\n ? ReturnType<ComponentProps['uncontrolledProps']>\n : { [key: string]: (arg: unknown) => void },\n FNType\n> {\n const {\n context = React.createContext<ContextType>({} as ContextType),\n parent = [],\n enhancements = [],\n } = options;\n let parents = Array.isArray(parent) ? parent : [parent];\n if (parents.length) {\n const wholeFamily = parents.reduce((acc, parent) => {\n if (parent[PARENT_COMPONENTS]) {\n acc = [...parent[PARENT_COMPONENTS], ...acc];\n }\n return acc;\n }, parents);\n OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\n if (OriginComponent[CORE_COMPONENT]) {\n parents.push(OriginComponent);\n }\n const Component = createComposeComponent(OriginComponent, context, [\n // @ts-ignore\n ...enhancements.map((f) => f(context, parents, createComponent, childComponents)),\n bindHandlerEnhancement(),\n childrenEnhancement(context, parents),\n // root must be under the children\n rootEnhancement(),\n uncontrolledPropsEnhancement(),\n staticChildrenEnhancement(childComponents, createComponent, {\n context,\n parent,\n enhancements,\n }),\n // functionDefaultProps must be under the staticChild\n functionDefaultPropsEnhancement(),\n // inheritedName must be under the staticChild\n inheritedNameEnhancement(),\n // dataName must be under the staticChild\n dataNameEnhancement(),\n // enhanceEnhancement must be under the functionDefaultPropsEnhancement\n enhanceEnhancement(),\n styleEnhancement(childComponents, context),\n // must be the last one so any properties can be raised\n hoistPropsEnhancement(childComponents, context),\n ]);\n Component[CONTEXT_COMPONENT] = context;\n Component[CREATE_COMPONENT] = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component[CORE_COMPONENT] = true;\n return Component;\n}\n\nfunction createBaseComponent<ComponentProps>(OriginComponent): ComponentType<ComponentProps> {\n let Component = null;\n if (\n !React.PureComponent.isPrototypeOf(OriginComponent) &&\n !React.Component.isPrototypeOf(OriginComponent) &&\n typeof OriginComponent === 'function'\n ) {\n Component = React.forwardRef(OriginComponent);\n Component.displayName = OriginComponent.displayName;\n Component.defaultProps = {\n 'data-ui-name': OriginComponent.displayName,\n ...OriginComponent.defaultProps,\n };\n Component[CORE_COMPONENT] = true;\n } else {\n throw new Error('createBaseComponent accepts only functional component');\n }\n return Component;\n}\n\nexport * from './Component';\nexport * from './styled';\nexport * from './register';\nexport {\n createBaseComponent,\n register,\n CREATE_COMPONENT,\n CORE_INSTANCE,\n CONTEXT_COMPONENT,\n CHILDREN_COMPONENT,\n INHERITED_NAME,\n CORE_COMPONENT,\n STATIC_COMPONENT,\n assignProps,\n};\nexport default createComponent;\n"],"file":"index.js"}
|
|
@@ -86,9 +86,7 @@ function merge() {
|
|
|
86
86
|
|
|
87
87
|
function getClassAndVars(styles, name, props) {
|
|
88
88
|
function getPropValue(key, props) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
return (_props$ = props["use:".concat(key)]) !== null && _props$ !== void 0 ? _props$ : props[key];
|
|
89
|
+
return props["use:".concat(key)] ?? props[key];
|
|
92
90
|
}
|
|
93
91
|
|
|
94
92
|
return Object.entries(styles).reduce(function (acc, _ref3) {
|
|
@@ -112,7 +110,7 @@ function getClassAndVars(styles, name, props) {
|
|
|
112
110
|
|
|
113
111
|
if (modValue === undefined) {
|
|
114
112
|
// @ts-ignore
|
|
115
|
-
acc[0][value] = Boolean(propValue
|
|
113
|
+
acc[0][value] = Boolean(propValue ?? false);
|
|
116
114
|
} else {
|
|
117
115
|
// @ts-ignore
|
|
118
116
|
acc[0][value] = propValue == modValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/styled/sstyled.tsx"],"names":["cn","ReactNode","getStyles","reshadowGetStyles","RESHADOW_ID","isSSR","window","document","createElement","serverMap","map","css","serverStyles","id","insert","code","hash","concat","container","getElementById","head","appendChild","addEventListener","type","innerHTML","merge","s1","s2","Object","entries","reduce","acc","key","value","startsWith","assign","getClassAndVars","styles","name","props","getPropValue","substring","split","mod","modValue","propValue","undefined","Boolean","reshadowToShadow","obj","style","n","replace","sstyled","classes","extraProps","keys","length","className","Error","SHADOW_STYLES","Symbol"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../src/styled/sstyled.tsx"],"names":["cn","ReactNode","getStyles","reshadowGetStyles","RESHADOW_ID","isSSR","window","document","createElement","serverMap","map","css","serverStyles","id","insert","code","hash","concat","container","getElementById","head","appendChild","addEventListener","type","innerHTML","merge","s1","s2","Object","entries","reduce","acc","key","value","startsWith","assign","getClassAndVars","styles","name","props","getPropValue","substring","split","mod","modValue","propValue","undefined","Boolean","reshadowToShadow","obj","style","n","replace","sstyled","classes","extraProps","keys","length","className","Error","SHADOW_STYLES","Symbol"],"mappings":"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","sourcesContent":["/* eslint-disable */\nimport cn from 'classnames';\nimport { ReactNode } from 'react';\nimport { getStyles as reshadowGetStyles } from '@reshadow/core';\n\nconst RESHADOW_ID = '__reshadow__';\n\nconst isSSR = !(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nconst serverMap = reshadowGetStyles().map;\n\nconst getStyles = () => ({\n map: serverMap,\n get css() {\n let serverStyles = '';\n for (const id in serverMap) {\n serverStyles += `<style type='text/css' id='${id}'>${serverMap[id]}</style>`;\n }\n return serverStyles;\n },\n});\n\nfunction insert(code, hash) {\n const id = 'reshadow-'.concat(hash);\n\n if (isSSR) {\n serverMap[id] = code;\n return;\n }\n\n let container = document.getElementById(RESHADOW_ID);\n\n if (!container) {\n container = document.createElement('object');\n container.id = RESHADOW_ID;\n\n if (document.head) {\n document.head.appendChild(container);\n } else {\n document.addEventListener('DOMContentLoaded', function () {\n document.head.appendChild(container);\n });\n }\n }\n\n let css = document.getElementById(id);\n\n if (!css) {\n css = document.createElement('style');\n css.id = id;\n // @ts-ignore\n css.type = 'text/css';\n container.appendChild(css);\n }\n\n css.innerHTML = code;\n}\n\nfunction merge(s1 = {}, s2 = {}) {\n return Object.entries(s2).reduce((acc, [key, value]) => {\n if (key.startsWith('@') || key.startsWith('--')) {\n acc[key] = value;\n } else {\n acc[key] = cn(acc[key], value);\n }\n return acc;\n }, Object.assign({}, s1));\n}\n\nfunction getClassAndVars(styles, name, props) {\n function getPropValue(key, props) {\n return props[`use:${key}`] ?? props[key];\n }\n\n return Object.entries(styles).reduce(\n (acc, [key, value]) => {\n if (key.startsWith('--')) {\n // @ts-ignore\n acc[1][value] = getPropValue(key.substring(2), props);\n } else if (name === key) {\n // @ts-ignore\n acc[0][value] = true;\n } else {\n const [mod, modValue] = key.split('=');\n const propValue = getPropValue(mod, props);\n if (modValue === undefined) {\n // @ts-ignore\n acc[0][value] = Boolean(propValue ?? false);\n } else {\n // @ts-ignore\n acc[0][value] = propValue == modValue;\n }\n }\n return acc;\n },\n [{}, {}],\n );\n}\n\nfunction reshadowToShadow(obj) {\n return Object.entries(obj).reduce((style, [name, value]) => {\n let n = name;\n if (name.startsWith('__')) {\n n = name.replace(/^__/, '');\n } else if (name.startsWith('_')) {\n n = name.replace(/^_/, '').replace('_', '=');\n }\n style[n] = value;\n return style;\n }, {});\n}\n\nfunction sstyled(\n styles = {},\n): ((ReactNode) => ReactNode) & {\n cn(name: string, props: any): any;\n} {\n // @ts-ignore\n return {\n cn(name, props) {\n const [classes, style] = getClassAndVars(reshadowToShadow(styles), name, props);\n const extraProps = {};\n\n if (Object.keys(classes).length) {\n // @ts-ignore\n extraProps.className = cn(props.className, classes);\n }\n\n if (Object.keys(style).length) {\n // @ts-ignore\n extraProps.style = Object.assign(style, props.style);\n }\n return {\n ...props,\n ...extraProps,\n };\n },\n };\n}\n\nsstyled.css = function (css): { [key: string]: string } {\n throw new Error('Enable babel plugin');\n};\nsstyled.insert = insert;\nsstyled.merge = merge;\nsstyled.getStyles = getStyles;\nsstyled.SHADOW_STYLES = Symbol('SHADOW_STYLES');\n\nexport { sstyled };\n/* eslint-enable */\n"],"file":"sstyled.js"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/core",
|
|
3
3
|
"description": "SEMRush Core Component",
|
|
4
|
-
"version": "1.11.
|
|
4
|
+
"version": "1.11.5",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@semcore/utils": "^3.29",
|
|
17
17
|
"@reshadow/core": "0.0.1-alpha.74",
|
|
18
|
-
"hoist-non-react-statics": "
|
|
18
|
+
"hoist-non-react-statics": "3.3.2"
|
|
19
19
|
},
|
|
20
20
|
"peerDependencies": {
|
|
21
21
|
"react": "16.8 - 17"
|
|
@@ -27,5 +27,8 @@
|
|
|
27
27
|
"type": "git",
|
|
28
28
|
"url": "https://github.com/semrush/intergalactic.git",
|
|
29
29
|
"directory": "semcore/core"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@semcore/jest-preset-ui": "1.0.0"
|
|
30
33
|
}
|
|
31
34
|
}
|