@semcore/core 17.0.0-prerelease.29 → 17.0.0-prerelease.31
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 +5 -1
- package/lib/coreFactory.js +19 -1
- package/lib/coreFactory.js.map +1 -1
- package/lib/coreFactory.mjs +19 -1
- package/lib/coreFactory.mjs.map +1 -1
- package/lib/esm/coreFactory.mjs +19 -1
- package/lib/utils/use/usePreventScroll.js +7 -9
- package/lib/utils/use/usePreventScroll.js.map +1 -1
- package/lib/utils/use/usePreventScroll.mjs +7 -9
- package/lib/utils/use/usePreventScroll.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
-
## [17.0.0] - 2026-
|
|
5
|
+
## [17.0.0] - 2026-03-27
|
|
6
6
|
|
|
7
7
|
### BREAK
|
|
8
8
|
|
|
@@ -13,6 +13,10 @@ CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangel
|
|
|
13
13
|
- Removed `WithKeyboardFocus`. Just don't use.
|
|
14
14
|
- Removed `WithRef`. Use `useForkRef`.
|
|
15
15
|
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- Prevent `body` pollution in `usePreventScroll`.
|
|
19
|
+
|
|
16
20
|
## [16.5.1] - 2025-10-30
|
|
17
21
|
|
|
18
22
|
### Fixed
|
package/lib/coreFactory.js
CHANGED
|
@@ -118,7 +118,25 @@ function wrapClass(OriginComponent, enhancements, Context) {
|
|
|
118
118
|
}
|
|
119
119
|
if (!this[_symbols.CORE_AS_PROPS]) {
|
|
120
120
|
// PROPS
|
|
121
|
-
this[_symbols.CORE_AS_PROPS] = props.reduce((acc, enhancement) =>
|
|
121
|
+
this[_symbols.CORE_AS_PROPS] = props.reduce((acc, enhancement) => {
|
|
122
|
+
return enhancement.call(this, acc, WrapperComponent, false);
|
|
123
|
+
}, this.props);
|
|
124
|
+
if (this[_symbols.CORE_AS_PROPS] !== null) {
|
|
125
|
+
const prefixesMap = new Map();
|
|
126
|
+
Object.entries(this[_symbols.CORE_AS_PROPS]).forEach(([key, value]) => {
|
|
127
|
+
const [prefix, propertyKey] = key.split(':');
|
|
128
|
+
if (prefix !== 'use' && propertyKey) {
|
|
129
|
+
const obj = prefixesMap.get(prefix) ?? {};
|
|
130
|
+
obj[propertyKey] = value;
|
|
131
|
+
prefixesMap.set(prefix, obj);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
for (const [key, value] of prefixesMap.entries()) {
|
|
135
|
+
Object.defineProperty(this[_symbols.CORE_AS_PROPS], `${key}Props`, {
|
|
136
|
+
value
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}
|
|
122
140
|
}
|
|
123
141
|
return this[_symbols.CORE_AS_PROPS];
|
|
124
142
|
}
|
package/lib/coreFactory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coreFactory.js","names":["_hoistNonReactStatics","_interopRequireDefault","require","_react","_Component2","_symbols","_Children","_dataName","_enhance","_functionDefaultProps","_i18n","_inheritedName","_Root","_staticChildren","_interopRequireWildcard","_style","_uncontrolledProps","_assignProps2","_ref","_useEnhancedEffect","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","Component","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","ROOT_COMPONENT","getterMethodName","getterMethodNameByDisplayName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","forwardRef","other","ref","default","createElement","BindingWrapper","_extends2","useForkRef","WrapperForwardRef","__WRAPPER_PROPS_BIND__","enhancementRef","props","WrapperComponent","React","constructor","args","_defineProperty2","render","map","fn","bind","hoistNonReactStatics","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","CORE_AS_PROPS","CORE_INSTANCE","CORE_INIT","call","asProps","Error","setContext","contextProps","ctx","STATIC_COMPONENT","Provider","value","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","useEnhancedEffect","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","CORE_COMPONENT","assignProps","p1","p2","_assignProps","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","PARENT_COMPONENTS","f","i18nAppLocaleEnhance","childrenEnhancement","rootEnhancement","uncontrolledPropsEnhancement","staticChildrenEnhancement","functionDefaultPropsEnhancement","inheritedNameEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","CONTEXT_COMPONENT","_______childrenComponents","CREATE_COMPONENT","_OriginComponent","_childComponents","_options","newInstance","createBaseComponent"],"sources":["../src/coreFactory.tsx"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport React from 'react';\n\nimport { type Intergalactic, Component } from './core-types/Component';\nimport {\n CONTEXT_COMPONENT,\n CORE_AS_PROPS,\n CORE_COMPONENT,\n CORE_INIT,\n CORE_INSTANCE,\n CREATE_COMPONENT,\n PARENT_COMPONENTS,\n} from './core-types/symbols';\nimport childrenEnhancement from './enhancement/Children';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport i18nAppLocaleEnhance from './enhancement/i18n';\nimport inheritedNameEnhancement from './enhancement/inheritedName';\nimport rootEnhancement from './enhancement/Root';\nimport staticChildrenEnhancement, {\n getterMethodNameByDisplayName,\n ROOT_COMPONENT,\n STATIC_COMPONENT,\n} from './enhancement/staticChildren';\nimport styleEnhancement from './enhancement/style';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport _assignProps from './utils/assignProps';\nimport { useForkRef } from './utils/ref';\nimport useEnhancedEffect from './utils/use/useEnhancedEffect';\n\nfunction isEmptyObject(obj: any) {\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: any, Component: any, isFunction: boolean) {\n return function getField(key: string) {\n return enhancements\n .filter((enhancement: any) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc: any, item: any) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component: any, wrapperProps: any, statics: any, isFunction: any) {\n const RootComponent = Component[ROOT_COMPONENT];\n const getterMethodName = getterMethodNameByDisplayName(Component?.displayName);\n const getterMethod = RootComponent?.prototype\n ? RootComponent.prototype[getterMethodName]\n : undefined;\n const useGetterIndex = getterMethod?.length >= 2;\n\n function WrapperForwardRefWithBind({ forwardRef = null, ...other }, ref: any) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef(\n { forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }: any,\n ref: any,\n ) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc: any, enhancement: any) => enhancement(acc, WrapperComponent, isFunction), other);\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n }\n\n class BindingWrapper extends React.Component<any> {\n index = -1;\n render() {\n return (\n <WrapperForwardRef\n {...this.props}\n __WRAPPER_PROPS_BIND__={wrapperProps.map((fn: any) => fn.bind(this))}\n />\n );\n }\n }\n\n const WrapperComponent = React.forwardRef(\n useGetterIndex ? WrapperForwardRefWithBind : WrapperForwardRef,\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: any) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent: any, enhancements: any, Context: any) {\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: any, context: any) {\n super(props, context);\n // INITS\n inits.forEach((enhancement: any) => 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: any, enhancement: any) => 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: any, enhancement: any) => 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: any = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n 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: any = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent: any, enhancements: any, Context: any) {\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 = React.useRef({});\n const firstRender = React.useRef(true);\n useEnhancedEffect(() => {\n firstRender.current = false;\n }, []);\n if (firstRender.current) {\n // INITS\n inits.forEach((enhancement: any) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n 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: any = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent: any, enhancements: any, Context: any) {\n const Component = function ({ Root }: any) {\n const defaultProps = OriginComponent.defaultProps || {};\n return <Root {...defaultProps} render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent: any, Context: any, enhancements: any): 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 function assignProps(p1: any, p2: any) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<T extends Intergalactic.InternalTypings.ComponentTag = 'div', ComponentProps = {}, ContextType = {}, E extends Readonly<any[]> = never[]>(\n OriginComponent: any,\n childComponents: any = {},\n options: {\n context?: React.Context<ContextType>;\n parent?: Intergalactic.Component<any, any, any, any> | Intergalactic.Component<any, any, any, any>[];\n enhancements?: [any];\n } = {},\n): Intergalactic.Component<T, ComponentProps, ContextType, E> {\n const {\n context = React.createContext<ContextType>({} as ContextType),\n parent = [],\n enhancements = [],\n } = options;\n let parents: any[] = Array.isArray(parent) ? parent : [parent];\n if (parents.length) {\n const wholeFamily = parents.reduce((acc: any, parent: any) => {\n if (parent[PARENT_COMPONENTS]) {\n acc = [...parent[PARENT_COMPONENTS], ...acc];\n }\n return acc;\n }, parents);\n // @ts-ignore\n OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\n // @ts-ignore\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 i18nAppLocaleEnhance(),\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 ]);\n Component[CONTEXT_COMPONENT] = context;\n Component._______childrenComponents = childComponents;\n Component[CREATE_COMPONENT] = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component.newInstance = 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<T extends keyof React.JSX.IntrinsicElements, P>(OriginComponent: React.ForwardRefRenderFunction<React.ElementRef<T>, P>) {\n const Component = React.forwardRef<React.ElementRef<T>, P>(OriginComponent) as unknown as Intergalactic.Component<T, P>;\n Component.displayName = OriginComponent.displayName ?? '';\n // @ts-ignore\n Component.defaultProps = {\n 'data-ui-name': OriginComponent.displayName,\n };\n Component[CORE_COMPONENT] = true;\n\n return Component;\n}\n\nexport { createComponent, createBaseComponent };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"coreFactory.js","names":["_hoistNonReactStatics","_interopRequireDefault","require","_react","_Component2","_symbols","_Children","_dataName","_enhance","_functionDefaultProps","_i18n","_inheritedName","_Root","_staticChildren","_interopRequireWildcard","_style","_uncontrolledProps","_assignProps2","_ref","_useEnhancedEffect","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","Component","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","ROOT_COMPONENT","getterMethodName","getterMethodNameByDisplayName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","forwardRef","other","ref","default","createElement","BindingWrapper","_extends2","useForkRef","WrapperForwardRef","__WRAPPER_PROPS_BIND__","enhancementRef","props","WrapperComponent","React","constructor","args","_defineProperty2","render","map","fn","bind","hoistNonReactStatics","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","CORE_AS_PROPS","CORE_INSTANCE","CORE_INIT","call","asProps","Error","prefixesMap","Map","entries","value","prefix","propertyKey","split","get","set","defineProperty","setContext","contextProps","ctx","STATIC_COMPONENT","Provider","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","useEnhancedEffect","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","CORE_COMPONENT","assignProps","p1","p2","_assignProps","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","PARENT_COMPONENTS","f","i18nAppLocaleEnhance","childrenEnhancement","rootEnhancement","uncontrolledPropsEnhancement","staticChildrenEnhancement","functionDefaultPropsEnhancement","inheritedNameEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","CONTEXT_COMPONENT","_______childrenComponents","CREATE_COMPONENT","_OriginComponent","_childComponents","_options","newInstance","createBaseComponent"],"sources":["../src/coreFactory.tsx"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport React from 'react';\n\nimport { type Intergalactic, Component } from './core-types/Component';\nimport {\n CONTEXT_COMPONENT,\n CORE_AS_PROPS,\n CORE_COMPONENT,\n CORE_INIT,\n CORE_INSTANCE,\n CREATE_COMPONENT,\n PARENT_COMPONENTS,\n} from './core-types/symbols';\nimport childrenEnhancement from './enhancement/Children';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport i18nAppLocaleEnhance from './enhancement/i18n';\nimport inheritedNameEnhancement from './enhancement/inheritedName';\nimport rootEnhancement from './enhancement/Root';\nimport staticChildrenEnhancement, {\n getterMethodNameByDisplayName,\n ROOT_COMPONENT,\n STATIC_COMPONENT,\n} from './enhancement/staticChildren';\nimport styleEnhancement from './enhancement/style';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport _assignProps from './utils/assignProps';\nimport { useForkRef } from './utils/ref';\nimport useEnhancedEffect from './utils/use/useEnhancedEffect';\n\nfunction isEmptyObject(obj: any) {\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: any, Component: any, isFunction: boolean) {\n return function getField(key: string) {\n return enhancements\n .filter((enhancement: any) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc: any, item: any) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component: any, wrapperProps: any, statics: any, isFunction: any) {\n const RootComponent = Component[ROOT_COMPONENT];\n const getterMethodName = getterMethodNameByDisplayName(Component?.displayName);\n const getterMethod = RootComponent?.prototype\n ? RootComponent.prototype[getterMethodName]\n : undefined;\n const useGetterIndex = getterMethod?.length >= 2;\n\n function WrapperForwardRefWithBind({ forwardRef = null, ...other }, ref: any) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef(\n { forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }: any,\n ref: any,\n ) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc: any, enhancement: any) => enhancement(acc, WrapperComponent, isFunction), other);\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n }\n\n class BindingWrapper extends React.Component<any> {\n index = -1;\n render() {\n return (\n <WrapperForwardRef\n {...this.props}\n __WRAPPER_PROPS_BIND__={wrapperProps.map((fn: any) => fn.bind(this))}\n />\n );\n }\n }\n\n const WrapperComponent = React.forwardRef(\n useGetterIndex ? WrapperForwardRefWithBind : WrapperForwardRef,\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: any) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent: any, enhancements: any, Context: any) {\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: any, context: any) {\n super(props, context);\n // INITS\n inits.forEach((enhancement: any) => 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((acc: any, enhancement: any) => {\n return enhancement.call(this, acc, WrapperComponent, false);\n }, this.props);\n\n if (this[CORE_AS_PROPS] !== null) {\n const prefixesMap = new Map<string, Record<string, unknown>>();\n Object.entries(this[CORE_AS_PROPS]).forEach(([key, value]) => {\n const [prefix, propertyKey] = key.split(':');\n if (prefix !== 'use' && propertyKey) {\n const obj = prefixesMap.get(prefix) ?? {};\n obj[propertyKey] = value;\n\n prefixesMap.set(prefix, obj);\n }\n });\n\n for (const [key, value] of prefixesMap.entries()) {\n Object.defineProperty(this[CORE_AS_PROPS], `${key}Props`, { value });\n }\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: any, enhancement: any) => 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: any = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n 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: any = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent: any, enhancements: any, Context: any) {\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 = React.useRef({});\n const firstRender = React.useRef(true);\n useEnhancedEffect(() => {\n firstRender.current = false;\n }, []);\n if (firstRender.current) {\n // INITS\n inits.forEach((enhancement: any) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n 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: any = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent: any, enhancements: any, Context: any) {\n const Component = function ({ Root }: any) {\n const defaultProps = OriginComponent.defaultProps || {};\n return <Root {...defaultProps} render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent: any, Context: any, enhancements: any): 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 function assignProps(p1: any, p2: any) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<T extends Intergalactic.InternalTypings.ComponentTag = 'div', ComponentProps = {}, ContextType = {}, E extends Readonly<any[]> = never[]>(\n OriginComponent: any,\n childComponents: any = {},\n options: {\n context?: React.Context<ContextType>;\n parent?: Intergalactic.Component<any, any, any, any> | Intergalactic.Component<any, any, any, any>[];\n enhancements?: [any];\n } = {},\n): Intergalactic.Component<T, ComponentProps, ContextType, E> {\n const {\n context = React.createContext<ContextType>({} as ContextType),\n parent = [],\n enhancements = [],\n } = options;\n let parents: any[] = Array.isArray(parent) ? parent : [parent];\n if (parents.length) {\n const wholeFamily = parents.reduce((acc: any, parent: any) => {\n if (parent[PARENT_COMPONENTS]) {\n acc = [...parent[PARENT_COMPONENTS], ...acc];\n }\n return acc;\n }, parents);\n // @ts-ignore\n OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\n // @ts-ignore\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 i18nAppLocaleEnhance(),\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 ]);\n Component[CONTEXT_COMPONENT] = context;\n Component._______childrenComponents = childComponents;\n Component[CREATE_COMPONENT] = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component.newInstance = 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<T extends keyof React.JSX.IntrinsicElements, P>(OriginComponent: React.ForwardRefRenderFunction<React.ElementRef<T>, P>) {\n const Component = React.forwardRef<React.ElementRef<T>, P>(OriginComponent) as unknown as Intergalactic.Component<T, P>;\n Component.displayName = OriginComponent.displayName ?? '';\n // @ts-ignore\n Component.defaultProps = {\n 'data-ui-name': OriginComponent.displayName,\n };\n Component[CORE_COMPONENT] = true;\n\n return Component;\n}\n\nexport { createComponent, createBaseComponent };\n"],"mappings":"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","ignoreList":[]}
|
package/lib/coreFactory.mjs
CHANGED
|
@@ -102,7 +102,25 @@ function wrapClass(OriginComponent, enhancements, Context) {
|
|
|
102
102
|
throw new Error("Can not call asProps in constructor");
|
|
103
103
|
}
|
|
104
104
|
if (!this[CORE_AS_PROPS]) {
|
|
105
|
-
this[CORE_AS_PROPS] = props.reduce((acc, enhancement) =>
|
|
105
|
+
this[CORE_AS_PROPS] = props.reduce((acc, enhancement) => {
|
|
106
|
+
return enhancement.call(this, acc, WrapperComponent, false);
|
|
107
|
+
}, this.props);
|
|
108
|
+
if (this[CORE_AS_PROPS] !== null) {
|
|
109
|
+
const prefixesMap = /* @__PURE__ */ new Map();
|
|
110
|
+
Object.entries(this[CORE_AS_PROPS]).forEach(([key, value]) => {
|
|
111
|
+
const [prefix, propertyKey] = key.split(":");
|
|
112
|
+
if (prefix !== "use" && propertyKey) {
|
|
113
|
+
const obj = prefixesMap.get(prefix) ?? {};
|
|
114
|
+
obj[propertyKey] = value;
|
|
115
|
+
prefixesMap.set(prefix, obj);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
for (const [key, value] of prefixesMap.entries()) {
|
|
119
|
+
Object.defineProperty(this[CORE_AS_PROPS], `${key}Props`, {
|
|
120
|
+
value
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
106
124
|
}
|
|
107
125
|
return this[CORE_AS_PROPS];
|
|
108
126
|
}
|
package/lib/coreFactory.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coreFactory.mjs","names":["hoistNonReactStatics","React","Component","CONTEXT_COMPONENT","CORE_AS_PROPS","CORE_COMPONENT","CORE_INIT","CORE_INSTANCE","CREATE_COMPONENT","PARENT_COMPONENTS","childrenEnhancement","dataNameEnhancement","enhanceEnhancement","functionDefaultPropsEnhancement","i18nAppLocaleEnhance","inheritedNameEnhancement","rootEnhancement","staticChildrenEnhancement","getterMethodNameByDisplayName","ROOT_COMPONENT","STATIC_COMPONENT","styleEnhancement","uncontrolledPropsEnhancement","_assignProps","useForkRef","useEnhancedEffect","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","getterMethodName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","forwardRef","other","ref","createElement","BindingWrapper","_extends","WrapperForwardRef","__WRAPPER_PROPS_BIND__","enhancementRef","props","WrapperComponent","constructor","args","_defineProperty","render","map","fn","bind","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","asProps","Error","setContext","contextProps","ctx","Provider","value","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","f","_______childrenComponents","_OriginComponent","_childComponents","_options","newInstance","createBaseComponent"],"sources":["../src/coreFactory.tsx"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport React from 'react';\n\nimport { type Intergalactic, Component } from './core-types/Component';\nimport {\n CONTEXT_COMPONENT,\n CORE_AS_PROPS,\n CORE_COMPONENT,\n CORE_INIT,\n CORE_INSTANCE,\n CREATE_COMPONENT,\n PARENT_COMPONENTS,\n} from './core-types/symbols';\nimport childrenEnhancement from './enhancement/Children';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport i18nAppLocaleEnhance from './enhancement/i18n';\nimport inheritedNameEnhancement from './enhancement/inheritedName';\nimport rootEnhancement from './enhancement/Root';\nimport staticChildrenEnhancement, {\n getterMethodNameByDisplayName,\n ROOT_COMPONENT,\n STATIC_COMPONENT,\n} from './enhancement/staticChildren';\nimport styleEnhancement from './enhancement/style';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport _assignProps from './utils/assignProps';\nimport { useForkRef } from './utils/ref';\nimport useEnhancedEffect from './utils/use/useEnhancedEffect';\n\nfunction isEmptyObject(obj: any) {\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: any, Component: any, isFunction: boolean) {\n return function getField(key: string) {\n return enhancements\n .filter((enhancement: any) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc: any, item: any) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component: any, wrapperProps: any, statics: any, isFunction: any) {\n const RootComponent = Component[ROOT_COMPONENT];\n const getterMethodName = getterMethodNameByDisplayName(Component?.displayName);\n const getterMethod = RootComponent?.prototype\n ? RootComponent.prototype[getterMethodName]\n : undefined;\n const useGetterIndex = getterMethod?.length >= 2;\n\n function WrapperForwardRefWithBind({ forwardRef = null, ...other }, ref: any) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef(\n { forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }: any,\n ref: any,\n ) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc: any, enhancement: any) => enhancement(acc, WrapperComponent, isFunction), other);\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n }\n\n class BindingWrapper extends React.Component<any> {\n index = -1;\n render() {\n return (\n <WrapperForwardRef\n {...this.props}\n __WRAPPER_PROPS_BIND__={wrapperProps.map((fn: any) => fn.bind(this))}\n />\n );\n }\n }\n\n const WrapperComponent = React.forwardRef(\n useGetterIndex ? WrapperForwardRefWithBind : WrapperForwardRef,\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: any) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent: any, enhancements: any, Context: any) {\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: any, context: any) {\n super(props, context);\n // INITS\n inits.forEach((enhancement: any) => 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: any, enhancement: any) => 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: any, enhancement: any) => 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: any = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n 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: any = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent: any, enhancements: any, Context: any) {\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 = React.useRef({});\n const firstRender = React.useRef(true);\n useEnhancedEffect(() => {\n firstRender.current = false;\n }, []);\n if (firstRender.current) {\n // INITS\n inits.forEach((enhancement: any) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n 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: any = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent: any, enhancements: any, Context: any) {\n const Component = function ({ Root }: any) {\n const defaultProps = OriginComponent.defaultProps || {};\n return <Root {...defaultProps} render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent: any, Context: any, enhancements: any): 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 function assignProps(p1: any, p2: any) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<T extends Intergalactic.InternalTypings.ComponentTag = 'div', ComponentProps = {}, ContextType = {}, E extends Readonly<any[]> = never[]>(\n OriginComponent: any,\n childComponents: any = {},\n options: {\n context?: React.Context<ContextType>;\n parent?: Intergalactic.Component<any, any, any, any> | Intergalactic.Component<any, any, any, any>[];\n enhancements?: [any];\n } = {},\n): Intergalactic.Component<T, ComponentProps, ContextType, E> {\n const {\n context = React.createContext<ContextType>({} as ContextType),\n parent = [],\n enhancements = [],\n } = options;\n let parents: any[] = Array.isArray(parent) ? parent : [parent];\n if (parents.length) {\n const wholeFamily = parents.reduce((acc: any, parent: any) => {\n if (parent[PARENT_COMPONENTS]) {\n acc = [...parent[PARENT_COMPONENTS], ...acc];\n }\n return acc;\n }, parents);\n // @ts-ignore\n OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\n // @ts-ignore\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 i18nAppLocaleEnhance(),\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 ]);\n Component[CONTEXT_COMPONENT] = context;\n Component._______childrenComponents = childComponents;\n Component[CREATE_COMPONENT] = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component.newInstance = 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<T extends keyof React.JSX.IntrinsicElements, P>(OriginComponent: React.ForwardRefRenderFunction<React.ElementRef<T>, P>) {\n const Component = React.forwardRef<React.ElementRef<T>, P>(OriginComponent) as unknown as Intergalactic.Component<T, P>;\n Component.displayName = OriginComponent.displayName ?? '';\n // @ts-ignore\n Component.defaultProps = {\n 'data-ui-name': OriginComponent.displayName,\n };\n Component[CORE_COMPONENT] = true;\n\n return Component;\n}\n\nexport { createComponent, createBaseComponent };\n"],"mappings":";;AAAA,OAAOA,oBAAoB,MAAM,yBAAyB;AAC1D,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAA6BC,SAAS,QAAQ,4BAAwB;AACtE,SACEC,iBAAiB,EACjBC,aAAa,EACbC,cAAc,EACdC,SAAS,EACTC,aAAa,EACbC,gBAAgB,EAChBC,iBAAiB,QACZ,0BAAsB;AAC7B,OAAOC,mBAAmB,MAAM,4BAAwB;AACxD,OAAOC,mBAAmB,MAAM,4BAAwB;AACxD,OAAOC,kBAAkB,MAAM,2BAAuB;AACtD,OAAOC,+BAA+B,MAAM,wCAAoC;AAChF,OAAOC,oBAAoB,MAAM,wBAAoB;AACrD,OAAOC,wBAAwB,MAAM,iCAA6B;AAClE,OAAOC,eAAe,MAAM,wBAAoB;AAChD,OAAOC,yBAAyB,IAC9BC,6BAA6B,EAC7BC,cAAc,EACdC,gBAAgB,QACX,kCAA8B;AACrC,OAAOC,gBAAgB,MAAM,yBAAqB;AAClD,OAAOC,4BAA4B,MAAM,qCAAiC;AAC1E,OAAOC,YAAY,MAAM,yBAAqB;AAC9C,SAASC,UAAU,QAAQ,iBAAa;AACxC,OAAOC,iBAAiB,MAAM,mCAA+B;AAE7D,SAASC,aAAaA,CAACC,GAAQ,EAAE;EAC/B,OACEC,MAAM,CAACC,mBAAmB,CAACF,GAAG,CAAC,CAACG,MAAM,KAAK,CAAC,IAC5CF,MAAM,CAACG,qBAAqB;EAAI;EAChCH,MAAM,CAACG,qBAAqB,CAACJ,GAAG,CAAC,CAACG,MAAM,KAAK,CAAC,IAC9CF,MAAM,CAACI,cAAc,CAACL,GAAG,CAAC,KAAKC,MAAM,CAACK,SAAS;AAEnD;AAEA,SAASC,cAAcA,CAACC,YAAiB,EAAEjC,SAAc,EAAEkC,UAAmB,EAAE;EAC9E,OAAO,SAASC,QAAQA,CAACC,GAAW,EAAE;IACpC,OAAOH,YAAY,CAChBI,MAAM,CAAEC,WAAgB,IAAK;MAC5B,IAAI,CAACA,WAAW,CAACC,SAAS,EAAE;QAC1B,OAAO,IAAI;MACb;MACA,OAAOD,WAAW,CAACC,SAAS,CAACvC,SAAS,EAAEkC,UAAU,CAAC;IACrD,CAAC,CAAC,CACDM,MAAM,CAAC,CAACC,GAAQ,EAAEC,IAAS,KAAK;MAC/B,IAAIA,IAAI,CAACN,GAAG,CAAC,EAAE;QACbK,GAAG,CAACE,IAAI,CAACD,IAAI,CAACN,GAAG,CAAC,CAAC;MACrB;MACA,OAAOK,GAAG;IACZ,CAAC,EAAE,EAAE,CAAC;EACV,CAAC;AACH;AAEA,SAASG,oBAAoBA,CAAC5C,SAAc,EAAE6C,YAAiB,EAAEC,OAAY,EAAEZ,UAAe,EAAE;EAC9F,MAAMa,aAAa,GAAG/C,SAAS,CAACiB,cAAc,CAAC;EAC/C,MAAM+B,gBAAgB,GAAGhC,6BAA6B,CAAChB,SAAS,EAAEiD,WAAW,CAAC;EAC9E,MAAMC,YAAY,GAAGH,aAAa,EAAEhB,SAAS,GACzCgB,aAAa,CAAChB,SAAS,CAACiB,gBAAgB,CAAC,GACzCG,SAAS;EACb,MAAMC,cAAc,GAAGF,YAAY,EAAEtB,MAAM,IAAI,CAAC;EAEhD,SAASyB,yBAAyBA,CAAC;IAAEC,UAAU,GAAG,IAAI;IAAE,GAAGC;EAAM,CAAC,EAAEC,GAAQ,EAAE;IAC5E,oBAAOzD,KAAA,CAAA0D,aAAA,CAACC,cAAc,EAAAC,QAAA,KAAKJ,KAAK;MAAED,UAAU,EAAEhC,UAAU,CAACkC,GAAG,EAAEF,UAAU;IAAE,EAAE,CAAC;EAC/E;EAEA,SAASM,iBAAiBA,CACxB;IAAEN,UAAU,GAAG,IAAI;IAAEO,sBAAsB;IAAE,GAAGN;EAAW,CAAC,EAC5DC,GAAQ,EACR;IACA,MAAM;MAAEA,GAAG,EAAEM,cAAc,GAAG,IAAI;MAAE,GAAGC;IAAM,CAAC,GAAG,CAC/CF,sBAAsB,IAAIhB,YAAY,EACtCL,MAAM,CAAC,CAACC,GAAQ,EAAEH,WAAgB,KAAKA,WAAW,CAACG,GAAG,EAAEuB,gBAAgB,EAAE9B,UAAU,CAAC,EAAEqB,KAAK,CAAC;IAC/F,oBAAOxD,KAAA,CAAA0D,aAAA,CAACzD,SAAS,EAAA2D,QAAA,KAAKI,KAAK;MAAET,UAAU,EAAEhC,UAAU,CAACwC,cAAc,EAAEN,GAAG,EAAEF,UAAU;IAAE,EAAE,CAAC;EAC1F;EAEA,MAAMI,cAAc,SAAS3D,KAAK,CAACC,SAAS,CAAM;IAAAiE,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAC,eAAA,gBACxC,CAAC,CAAC;IAAA;IACVC,MAAMA,CAAA,EAAG;MACP,oBACErE,KAAA,CAAA0D,aAAA,CAACG,iBAAiB,EAAAD,QAAA,KACZ,IAAI,CAACI,KAAK;QACdF,sBAAsB,EAAEhB,YAAY,CAACwB,GAAG,CAAEC,EAAO,IAAKA,EAAE,CAACC,IAAI,CAAC,IAAI,CAAC;MAAE,EACtE,CAAC;IAEN;EACF;EAEA,MAAMP,gBAAgB,gBAAGjE,KAAK,CAACuD,UAAU,CACvCF,cAAc,GAAGC,yBAAyB,GAAGO,iBAC/C,CAAC;EAED9D,oBAAoB,CAACkE,gBAAgB,EAAEhE,SAAS,CAAC;EAEjDgE,gBAAgB,CAACf,WAAW,GAAGjD,SAAS,CAACiD,WAAW;EACpD;EACAe,gBAAgB,CAACQ,YAAY,GAAGxE,SAAS,CAACwE,YAAY;EACtD;EACA1B,OAAO,CAAC2B,OAAO,CAAEnC,WAAgB,IAC/BZ,MAAM,CAACgD,MAAM,CAACV,gBAAgB,EAAE1B,WAAW,CAAC0B,gBAAgB,EAAEhE,SAAS,EAAEkC,UAAU,CAAC,CACtF,CAAC;EAED,OAAO8B,gBAAgB;AACzB;AAEA,SAASW,SAASA,CAACC,eAAoB,EAAE3C,YAAiB,EAAE4C,OAAY,EAAE;EACxE,MAAM1C,QAAQ,GAAGH,cAAc,CAACC,YAAY,EAAE2C,eAAe,EAAE,KAAK,CAAC;EAErE,MAAME,KAAK,GAAG3C,QAAQ,CAAC,MAAM,CAAC;EAC9B,MAAM4B,KAAK,GAAG5B,QAAQ,CAAC,SAAS,CAAC;EACjC,MAAM4C,OAAO,GAAG5C,QAAQ,CAAC,QAAQ,CAAC;EAClC,MAAMW,OAAO,GAAGX,QAAQ,CAAC,QAAQ,CAAC;EAClC,MAAMU,YAAY,GAAGV,QAAQ,CAAC,cAAc,CAAC;EAC7C,MAAM6C,QAAQ,GAAG7C,QAAQ,CAAC,SAAS,CAAC;EAEpC,MAAMnC,SAAS,SAAS4E,eAAe,CAAC;IAKtCX,WAAWA,CAACF,KAAU,EAAEkB,OAAY,EAAE;MACpC,KAAK,CAAClB,KAAK,EAAEkB,OAAO,CAAC;MACrB;MAAAd,eAAA,OANDjE,aAAa,EAAI,IAAI;MAAAiE,eAAA,OACrB9D,aAAa,EAAI2D,gBAAgB;MAAAG,eAAA,OACjC/D,SAAS,EAAI,KAAK;MAKjB0E,KAAK,CAACL,OAAO,CAAEnC,WAAgB,IAAKA,WAAW,CAAC4C,IAAI,CAAC,IAAI,EAAEnB,KAAK,EAAEC,gBAAgB,EAAE,KAAK,CAAC,CAAC;MAC3F,IAAI,CAAC5D,SAAS,CAAC,GAAG,IAAI;IACxB;IAEA,IAAI+E,OAAOA,CAAA,EAAG;MACZ;MACA,IAAI,CAAC,IAAI,CAAC/E,SAAS,CAAC,EAAE;QACpB,MAAM,IAAIgF,KAAK,CAAC,qCAAqC,CAAC;MACxD;MACA,IAAI,CAAC,IAAI,CAAClF,aAAa,CAAC,EAAE;QACxB;QACA,IAAI,CAACA,aAAa,CAAC,GAAG6D,KAAK,CAACvB,MAAM,CAChC,CAACC,GAAQ,EAAEH,WAAgB,KAAKA,WAAW,CAAC4C,IAAI,CAAC,IAAI,EAAEzC,GAAG,EAAEuB,gBAAgB,EAAE,KAAK,CAAC,EACpF,IAAI,CAACD,KACP,CAAC;MACH;MACA,OAAO,IAAI,CAAC7D,aAAa,CAAC;IAC5B;IAEAmF,UAAUA,CAAA,EAAG;MACX,MAAMC,YAAY,GAAG,KAAK,CAACD,UAAU,GAAG,KAAK,CAACA,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;MAC/D;MACA,OAAOL,QAAQ,CAACxC,MAAM,CACpB,CAACC,GAAQ,EAAEH,WAAgB,KAAKA,WAAW,CAAC4C,IAAI,CAAC,IAAI,EAAEzC,GAAG,EAAEuB,gBAAgB,EAAE,KAAK,CAAC,EACpFsB,YACF,CAAC;IACH;IAEAlB,MAAMA,CAAA,EAAG;MACP,IAAI,CAAClE,aAAa,CAAC,GAAG,IAAI;MAC1B;MACA,IAAI,CAAC,KAAK,CAACkE,MAAM,EAAE;QACjB,MAAM,IAAIgB,KAAK,CAAC,0CAA0C,CAAC;MAC7D;MACA,MAAMD,OAAY,GAAG,IAAI,CAACA,OAAO;MACjC,MAAMI,GAAG,GAAG,IAAI,CAACF,UAAU,CAAC,CAAC;MAC7B;MACA,MAAMjB,MAAM,GAAGW,OAAO,CAACvC,MAAM,CAC3B,CAACC,GAAQ,EAAEH,WAAgB,KACzBA,WAAW,CAAC4C,IAAI,CAAC,IAAI,EAAEzC,GAAG,EAAE0C,OAAO,EAAEnB,gBAAgB,EAAE,KAAK,CAAC,EAC/D,KAAK,CAACI,MAAM,CAAC,CACf,CAAC;MACD,IAAI,CAACJ,gBAAgB,CAAC9C,gBAAgB,CAAC,IAAI,CAACM,aAAa,CAAC+D,GAAG,CAAC,EAAE;QAC9D,oBAAOxF,KAAA,CAAA0D,aAAA,CAACoB,OAAO,CAACW,QAAQ;UAACC,KAAK,EAAE;YAAE,GAAGN,OAAO;YAAE,GAAGI;UAAI;QAAE,GAAEnB,MAAyB,CAAC;MACrF,CAAC,MAAM;QACL,OAAOA,MAAM;MACf;IACF;EACF;EAEA,MAAMJ,gBAAqB,GAAGpB,oBAAoB,CAAC5C,SAAS,EAAE6C,YAAY,EAAEC,OAAO,EAAE,KAAK,CAAC;EAC3F,OAAOkB,gBAAgB;AACzB;AAEA,SAAS0B,YAAYA,CAACd,eAAoB,EAAE3C,YAAiB,EAAE4C,OAAY,EAAE;EAC3E,MAAM1C,QAAQ,GAAGH,cAAc,CAACC,YAAY,EAAE2C,eAAe,EAAE,IAAI,CAAC;EAEpE,MAAME,KAAK,GAAG3C,QAAQ,CAAC,MAAM,CAAC;EAC9B,MAAM4B,KAAK,GAAG5B,QAAQ,CAAC,SAAS,CAAC;EACjC,MAAM4C,OAAO,GAAG5C,QAAQ,CAAC,QAAQ,CAAC;EAClC,MAAMW,OAAO,GAAGX,QAAQ,CAAC,QAAQ,CAAC;EAClC,MAAMU,YAAY,GAAGV,QAAQ,CAAC,cAAc,CAAC;EAC7C,MAAM6C,QAAQ,GAAG7C,QAAQ,CAAC,SAAS,CAAC;EAEpC,MAAMnC,SAAS,gBAAGD,KAAK,CAAC4F,IAAI,CAAC,SAASC,qBAAqBA,CAACrC,KAAK,EAAE;IACjE,MAAMsC,OAAO,GAAG9F,KAAK,CAAC+F,MAAM,CAAC,CAAC,CAAC,CAAC;IAChC,MAAMC,WAAW,GAAGhG,KAAK,CAAC+F,MAAM,CAAC,IAAI,CAAC;IACtCvE,iBAAiB,CAAC,MAAM;MACtBwE,WAAW,CAACC,OAAO,GAAG,KAAK;IAC7B,CAAC,EAAE,EAAE,CAAC;IACN,IAAID,WAAW,CAACC,OAAO,EAAE;MACvB;MACAlB,KAAK,CAACL,OAAO,CAAEnC,WAAgB,IAC7BA,WAAW,CAAC4C,IAAI,CAACW,OAAO,CAACG,OAAO,EAAEzC,KAAK,EAAES,gBAAgB,EAAE,IAAI,CACjE,CAAC;IACH;IACA;IACA,MAAMmB,OAAO,GAAGpB,KAAK,CAACvB,MAAM,CAC1B,CAACC,GAAQ,EAAEH,WAAgB,KACzBA,WAAW,CAAC4C,IAAI,CAACW,OAAO,CAACG,OAAO,EAAEvD,GAAG,EAAEuB,gBAAgB,EAAE,IAAI,CAAC,EAChET,KACF,CAAC;IACD;IACA,MAAMgC,GAAG,GAAGP,QAAQ,CAACxC,MAAM,CACzB,CAACC,GAAQ,EAAEH,WAAgB,KACzBA,WAAW,CAAC4C,IAAI,CAACW,OAAO,CAACG,OAAO,EAAEvD,GAAG,EAAEuB,gBAAgB,EAAE,IAAI,CAAC,EAChE,CAAC,CACH,CAAC;;IAED;IACA,MAAMI,MAAM,GAAGW,OAAO,CAACvC,MAAM,CAC3B,CAACC,GAAQ,EAAEH,WAAgB,KACzBA,WAAW,CAAC4C,IAAI,CAACW,OAAO,CAACG,OAAO,EAAEvD,GAAG,EAAE0C,OAAO,EAAEnB,gBAAgB,EAAE,IAAI,CAAC,eACzEjE,KAAA,CAAA0D,aAAA,CAACmB,eAAe,EAAKO,OAAU,CACjC,CAAC;IAED,IAAI,CAACnB,gBAAgB,CAAC9C,gBAAgB,CAAC,IAAI,CAACM,aAAa,CAAC+D,GAAG,CAAC,EAAE;MAC9D,oBAAOxF,KAAA,CAAA0D,aAAA,CAACoB,OAAO,CAACW,QAAQ;QAACC,KAAK,EAAE;UAAE,GAAGN,OAAO;UAAE,GAAGI;QAAI;MAAE,GAAEnB,MAAyB,CAAC;IACrF,CAAC,MAAM;MACL,OAAOA,MAAM;IACf;EACF,CAAC,CAAC;EACF1C,MAAM,CAACgD,MAAM,CAAC1E,SAAS,EAAE4E,eAAe,CAAC;EACzC,MAAMZ,gBAAqB,GAAGpB,oBAAoB,CAAC5C,SAAS,EAAE6C,YAAY,EAAEC,OAAO,EAAE,IAAI,CAAC;EAC1F,OAAOkB,gBAAgB;AACzB;AAEA,SAASiC,QAAQA,CAACrB,eAAoB,EAAE3C,YAAiB,EAAE4C,OAAY,EAAE;EACvE,MAAM7E,SAAS,GAAG,SAAAA,CAAU;IAAEkG;EAAU,CAAC,EAAE;IACzC,MAAM1B,YAAY,GAAGI,eAAe,CAACJ,YAAY,IAAI,CAAC,CAAC;IACvD,oBAAOzE,KAAA,CAAA0D,aAAA,CAACyC,IAAI,EAAAvC,QAAA,KAAKa,YAAY;MAAEJ,MAAM,EAAEQ;IAAgB,EAAE,CAAC;EAC5D,CAAC;EACD9E,oBAAoB,CAACE,SAAS,EAAE4E,eAAe,CAAC;EAChD5E,SAAS,CAACiD,WAAW,GAAG2B,eAAe,CAAC3B,WAAW;EACnD,OAAOyC,YAAY,CAAC1F,SAAS,EAAEiC,YAAY,EAAE4C,OAAO,CAAC;AACvD;AAEA,SAASsB,sBAAsBA,CAACvB,eAAoB,EAAEC,OAAY,EAAE5C,YAAiB,EAAO;EAC1F,IACElC,KAAK,CAACqG,aAAa,CAACC,aAAa,CAACzB,eAAe,CAAC,IAClD7E,KAAK,CAACC,SAAS,CAACqG,aAAa,CAACzB,eAAe,CAAC,EAC9C;IACA,IAAIA,eAAe,CAAC7C,SAAS,YAAY/B,SAAS,EAAE;MAClD,OAAO2E,SAAS,CAACC,eAAe,EAAE3C,YAAY,EAAE4C,OAAO,CAAC;IAC1D,CAAC,MAAM;MACL,MAAM,IAAIO,KAAK,CAAC,iCAAiC,CAAC;IACpD;EACF,CAAC,MAAM,IAAI,OAAOR,eAAe,KAAK,UAAU,EAAE;IAChD,OAAOc,YAAY,CAACd,eAAe,EAAE3C,YAAY,EAAE4C,OAAO,CAAC;EAC7D,CAAC,MAAM,IAAID,eAAe,CAACzE,cAAc,CAAC,EAAE;IAC1C,OAAO8F,QAAQ,CAACrB,eAAe,EAAE3C,YAAY,EAAE4C,OAAO,CAAC;EACzD,CAAC,MAAM;IACL,MAAM,IAAIO,KAAK,CAAC,2BAA2B,CAAC;EAC9C;AACF;AAEA,OAAO,SAASkB,WAAWA,CAACC,EAAO,EAAEC,EAAO,EAAE;EAC5C,OAAOnF,YAAY,CAACmF,EAAE,EAAED,EAAE,CAAC;AAC7B;AAEA,SAASE,eAAeA,CACtB7B,eAAoB,EACpB8B,eAAoB,GAAG,CAAC,CAAC,EACzBC,OAIC,GAAG,CAAC,CAAC,EACsD;EAC5D,MAAM;IACJ1B,OAAO,gBAAGlF,KAAK,CAAC6G,aAAa,CAAc,CAAC,CAAgB,CAAC;IAC7DC,MAAM,GAAG,EAAE;IACX5E,YAAY,GAAG;EACjB,CAAC,GAAG0E,OAAO;EACX,IAAIG,OAAc,GAAGC,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC;EAC9D,IAAIC,OAAO,CAAClF,MAAM,EAAE;IAClB,MAAMqF,WAAW,GAAGH,OAAO,CAACtE,MAAM,CAAC,CAACC,GAAQ,EAAEoE,MAAW,KAAK;MAC5D,IAAIA,MAAM,CAACtG,iBAAiB,CAAC,EAAE;QAC7BkC,GAAG,GAAG,CAAC,GAAGoE,MAAM,CAACtG,iBAAiB,CAAC,EAAE,GAAGkC,GAAG,CAAC;MAC9C;MACA,OAAOA,GAAG;IACZ,CAAC,EAAEqE,OAAO,CAAC;IACX;IACAlC,eAAe,CAACrE,iBAAiB,CAAC,GAAG0G,WAAW;IAChDH,OAAO,GAAGG,WAAW;EACvB;EACA;EACA,IAAIrC,eAAe,CAACzE,cAAc,CAAC,EAAE;IACnC2G,OAAO,CAACnE,IAAI,CAACiC,eAAe,CAAC;EAC/B;EACA,MAAM5E,SAAS,GAAGmG,sBAAsB,CAACvB,eAAe,EAAEK,OAAO,EAAE;EACjE;EACA,GAAGhD,YAAY,CAACoC,GAAG,CAAE6C,CAAC,IAAKA,CAAC,CAACjC,OAAO,EAAE6B,OAAO,EAAEL,eAAe,EAAEC,eAAe,CAAC,CAAC,EACjF9F,oBAAoB,CAAC,CAAC,EACtBJ,mBAAmB,CAACyE,OAAO,EAAE6B,OAAO,CAAC;EACrC;EACAhG,eAAe,CAAC,CAAC,EACjBM,4BAA4B,CAAC,CAAC,EAC9BL,yBAAyB,CAAC2F,eAAe,EAAED,eAAe,EAAE;IAC1DxB,OAAO;IACP4B,MAAM;IACN5E;EACF,CAAC,CAAC;EACF;EACAtB,+BAA+B,CAAC,CAAC;EACjC;EACAE,wBAAwB,CAAC,CAAC;EAC1B;EACAJ,mBAAmB,CAAC,CAAC;EACrB;EACAC,kBAAkB,CAAC,CAAC,EACpBS,gBAAgB,CAACuF,eAAe,EAAEzB,OAAO,CAAC,CAC3C,CAAC;EACFjF,SAAS,CAACC,iBAAiB,CAAC,GAAGgF,OAAO;EACtCjF,SAAS,CAACmH,yBAAyB,GAAGT,eAAe;EACrD1G,SAAS,CAACM,gBAAgB,CAAC,GAAG,UAC5B8G,gBAAgB,GAAGxC,eAAe,EAClCyC,gBAAgB,GAAGX,eAAe,EAClCY,QAAQ,GAAGX,OAAO,EAClB;IACA,OAAOF,eAAe,CAACW,gBAAgB,EAAEC,gBAAgB,EAAEC,QAAQ,CAAC;EACtE,CAAC;EACDtH,SAAS,CAACuH,WAAW,GAAG,UAChBH,gBAAgB,GAAGxC,eAAe,EAClCyC,gBAAgB,GAAGX,eAAe,EAClCY,QAAQ,GAAGX,OAAO,EACxB;IACA,OAAOF,eAAe,CAACW,gBAAgB,EAAEC,gBAAgB,EAAEC,QAAQ,CAAC;EACtE,CAAC;EACDtH,SAAS,CAACG,cAAc,CAAC,GAAG,IAAI;EAChC,OAAOH,SAAS;AAClB;AAEA,SAASwH,mBAAmBA,CAAiD5C,eAAuE,EAAE;EACpJ,MAAM5E,SAAS,gBAAGD,KAAK,CAACuD,UAAU,CAAyBsB,eAAe,CAA6C;EACvH5E,SAAS,CAACiD,WAAW,GAAG2B,eAAe,CAAC3B,WAAW,IAAI,EAAE;EACzD;EACAjD,SAAS,CAACwE,YAAY,GAAG;IACvB,cAAc,EAAEI,eAAe,CAAC3B;EAClC,CAAC;EACDjD,SAAS,CAACG,cAAc,CAAC,GAAG,IAAI;EAEhC,OAAOH,SAAS;AAClB;AAEA,SAASyG,eAAe,EAAEe,mBAAmB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"coreFactory.mjs","names":["hoistNonReactStatics","React","Component","CONTEXT_COMPONENT","CORE_AS_PROPS","CORE_COMPONENT","CORE_INIT","CORE_INSTANCE","CREATE_COMPONENT","PARENT_COMPONENTS","childrenEnhancement","dataNameEnhancement","enhanceEnhancement","functionDefaultPropsEnhancement","i18nAppLocaleEnhance","inheritedNameEnhancement","rootEnhancement","staticChildrenEnhancement","getterMethodNameByDisplayName","ROOT_COMPONENT","STATIC_COMPONENT","styleEnhancement","uncontrolledPropsEnhancement","_assignProps","useForkRef","useEnhancedEffect","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","getterMethodName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","forwardRef","other","ref","createElement","BindingWrapper","_extends","WrapperForwardRef","__WRAPPER_PROPS_BIND__","enhancementRef","props","WrapperComponent","constructor","args","_defineProperty","render","map","fn","bind","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","asProps","Error","prefixesMap","Map","entries","value","prefix","propertyKey","split","get","set","defineProperty","setContext","contextProps","ctx","Provider","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","f","_______childrenComponents","_OriginComponent","_childComponents","_options","newInstance","createBaseComponent"],"sources":["../src/coreFactory.tsx"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport React from 'react';\n\nimport { type Intergalactic, Component } from './core-types/Component';\nimport {\n CONTEXT_COMPONENT,\n CORE_AS_PROPS,\n CORE_COMPONENT,\n CORE_INIT,\n CORE_INSTANCE,\n CREATE_COMPONENT,\n PARENT_COMPONENTS,\n} from './core-types/symbols';\nimport childrenEnhancement from './enhancement/Children';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport i18nAppLocaleEnhance from './enhancement/i18n';\nimport inheritedNameEnhancement from './enhancement/inheritedName';\nimport rootEnhancement from './enhancement/Root';\nimport staticChildrenEnhancement, {\n getterMethodNameByDisplayName,\n ROOT_COMPONENT,\n STATIC_COMPONENT,\n} from './enhancement/staticChildren';\nimport styleEnhancement from './enhancement/style';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport _assignProps from './utils/assignProps';\nimport { useForkRef } from './utils/ref';\nimport useEnhancedEffect from './utils/use/useEnhancedEffect';\n\nfunction isEmptyObject(obj: any) {\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: any, Component: any, isFunction: boolean) {\n return function getField(key: string) {\n return enhancements\n .filter((enhancement: any) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc: any, item: any) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component: any, wrapperProps: any, statics: any, isFunction: any) {\n const RootComponent = Component[ROOT_COMPONENT];\n const getterMethodName = getterMethodNameByDisplayName(Component?.displayName);\n const getterMethod = RootComponent?.prototype\n ? RootComponent.prototype[getterMethodName]\n : undefined;\n const useGetterIndex = getterMethod?.length >= 2;\n\n function WrapperForwardRefWithBind({ forwardRef = null, ...other }, ref: any) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef(\n { forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }: any,\n ref: any,\n ) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc: any, enhancement: any) => enhancement(acc, WrapperComponent, isFunction), other);\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n }\n\n class BindingWrapper extends React.Component<any> {\n index = -1;\n render() {\n return (\n <WrapperForwardRef\n {...this.props}\n __WRAPPER_PROPS_BIND__={wrapperProps.map((fn: any) => fn.bind(this))}\n />\n );\n }\n }\n\n const WrapperComponent = React.forwardRef(\n useGetterIndex ? WrapperForwardRefWithBind : WrapperForwardRef,\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: any) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent: any, enhancements: any, Context: any) {\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: any, context: any) {\n super(props, context);\n // INITS\n inits.forEach((enhancement: any) => 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((acc: any, enhancement: any) => {\n return enhancement.call(this, acc, WrapperComponent, false);\n }, this.props);\n\n if (this[CORE_AS_PROPS] !== null) {\n const prefixesMap = new Map<string, Record<string, unknown>>();\n Object.entries(this[CORE_AS_PROPS]).forEach(([key, value]) => {\n const [prefix, propertyKey] = key.split(':');\n if (prefix !== 'use' && propertyKey) {\n const obj = prefixesMap.get(prefix) ?? {};\n obj[propertyKey] = value;\n\n prefixesMap.set(prefix, obj);\n }\n });\n\n for (const [key, value] of prefixesMap.entries()) {\n Object.defineProperty(this[CORE_AS_PROPS], `${key}Props`, { value });\n }\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: any, enhancement: any) => 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: any = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n 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: any = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent: any, enhancements: any, Context: any) {\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 = React.useRef({});\n const firstRender = React.useRef(true);\n useEnhancedEffect(() => {\n firstRender.current = false;\n }, []);\n if (firstRender.current) {\n // INITS\n inits.forEach((enhancement: any) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n 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: any = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent: any, enhancements: any, Context: any) {\n const Component = function ({ Root }: any) {\n const defaultProps = OriginComponent.defaultProps || {};\n return <Root {...defaultProps} render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent: any, Context: any, enhancements: any): 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 function assignProps(p1: any, p2: any) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<T extends Intergalactic.InternalTypings.ComponentTag = 'div', ComponentProps = {}, ContextType = {}, E extends Readonly<any[]> = never[]>(\n OriginComponent: any,\n childComponents: any = {},\n options: {\n context?: React.Context<ContextType>;\n parent?: Intergalactic.Component<any, any, any, any> | Intergalactic.Component<any, any, any, any>[];\n enhancements?: [any];\n } = {},\n): Intergalactic.Component<T, ComponentProps, ContextType, E> {\n const {\n context = React.createContext<ContextType>({} as ContextType),\n parent = [],\n enhancements = [],\n } = options;\n let parents: any[] = Array.isArray(parent) ? parent : [parent];\n if (parents.length) {\n const wholeFamily = parents.reduce((acc: any, parent: any) => {\n if (parent[PARENT_COMPONENTS]) {\n acc = [...parent[PARENT_COMPONENTS], ...acc];\n }\n return acc;\n }, parents);\n // @ts-ignore\n OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\n // @ts-ignore\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 i18nAppLocaleEnhance(),\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 ]);\n Component[CONTEXT_COMPONENT] = context;\n Component._______childrenComponents = childComponents;\n Component[CREATE_COMPONENT] = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component.newInstance = 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<T extends keyof React.JSX.IntrinsicElements, P>(OriginComponent: React.ForwardRefRenderFunction<React.ElementRef<T>, P>) {\n const Component = React.forwardRef<React.ElementRef<T>, P>(OriginComponent) as unknown as Intergalactic.Component<T, P>;\n Component.displayName = OriginComponent.displayName ?? '';\n // @ts-ignore\n Component.defaultProps = {\n 'data-ui-name': OriginComponent.displayName,\n };\n Component[CORE_COMPONENT] = true;\n\n return Component;\n}\n\nexport { createComponent, createBaseComponent };\n"],"mappings":";;AAAA,OAAOA,oBAAoB,MAAM,yBAAyB;AAC1D,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAA6BC,SAAS,QAAQ,4BAAwB;AACtE,SACEC,iBAAiB,EACjBC,aAAa,EACbC,cAAc,EACdC,SAAS,EACTC,aAAa,EACbC,gBAAgB,EAChBC,iBAAiB,QACZ,0BAAsB;AAC7B,OAAOC,mBAAmB,MAAM,4BAAwB;AACxD,OAAOC,mBAAmB,MAAM,4BAAwB;AACxD,OAAOC,kBAAkB,MAAM,2BAAuB;AACtD,OAAOC,+BAA+B,MAAM,wCAAoC;AAChF,OAAOC,oBAAoB,MAAM,wBAAoB;AACrD,OAAOC,wBAAwB,MAAM,iCAA6B;AAClE,OAAOC,eAAe,MAAM,wBAAoB;AAChD,OAAOC,yBAAyB,IAC9BC,6BAA6B,EAC7BC,cAAc,EACdC,gBAAgB,QACX,kCAA8B;AACrC,OAAOC,gBAAgB,MAAM,yBAAqB;AAClD,OAAOC,4BAA4B,MAAM,qCAAiC;AAC1E,OAAOC,YAAY,MAAM,yBAAqB;AAC9C,SAASC,UAAU,QAAQ,iBAAa;AACxC,OAAOC,iBAAiB,MAAM,mCAA+B;AAE7D,SAASC,aAAaA,CAACC,GAAQ,EAAE;EAC/B,OACEC,MAAM,CAACC,mBAAmB,CAACF,GAAG,CAAC,CAACG,MAAM,KAAK,CAAC,IAC5CF,MAAM,CAACG,qBAAqB;EAAI;EAChCH,MAAM,CAACG,qBAAqB,CAACJ,GAAG,CAAC,CAACG,MAAM,KAAK,CAAC,IAC9CF,MAAM,CAACI,cAAc,CAACL,GAAG,CAAC,KAAKC,MAAM,CAACK,SAAS;AAEnD;AAEA,SAASC,cAAcA,CAACC,YAAiB,EAAEjC,SAAc,EAAEkC,UAAmB,EAAE;EAC9E,OAAO,SAASC,QAAQA,CAACC,GAAW,EAAE;IACpC,OAAOH,YAAY,CAChBI,MAAM,CAAEC,WAAgB,IAAK;MAC5B,IAAI,CAACA,WAAW,CAACC,SAAS,EAAE;QAC1B,OAAO,IAAI;MACb;MACA,OAAOD,WAAW,CAACC,SAAS,CAACvC,SAAS,EAAEkC,UAAU,CAAC;IACrD,CAAC,CAAC,CACDM,MAAM,CAAC,CAACC,GAAQ,EAAEC,IAAS,KAAK;MAC/B,IAAIA,IAAI,CAACN,GAAG,CAAC,EAAE;QACbK,GAAG,CAACE,IAAI,CAACD,IAAI,CAACN,GAAG,CAAC,CAAC;MACrB;MACA,OAAOK,GAAG;IACZ,CAAC,EAAE,EAAE,CAAC;EACV,CAAC;AACH;AAEA,SAASG,oBAAoBA,CAAC5C,SAAc,EAAE6C,YAAiB,EAAEC,OAAY,EAAEZ,UAAe,EAAE;EAC9F,MAAMa,aAAa,GAAG/C,SAAS,CAACiB,cAAc,CAAC;EAC/C,MAAM+B,gBAAgB,GAAGhC,6BAA6B,CAAChB,SAAS,EAAEiD,WAAW,CAAC;EAC9E,MAAMC,YAAY,GAAGH,aAAa,EAAEhB,SAAS,GACzCgB,aAAa,CAAChB,SAAS,CAACiB,gBAAgB,CAAC,GACzCG,SAAS;EACb,MAAMC,cAAc,GAAGF,YAAY,EAAEtB,MAAM,IAAI,CAAC;EAEhD,SAASyB,yBAAyBA,CAAC;IAAEC,UAAU,GAAG,IAAI;IAAE,GAAGC;EAAM,CAAC,EAAEC,GAAQ,EAAE;IAC5E,oBAAOzD,KAAA,CAAA0D,aAAA,CAACC,cAAc,EAAAC,QAAA,KAAKJ,KAAK;MAAED,UAAU,EAAEhC,UAAU,CAACkC,GAAG,EAAEF,UAAU;IAAE,EAAE,CAAC;EAC/E;EAEA,SAASM,iBAAiBA,CACxB;IAAEN,UAAU,GAAG,IAAI;IAAEO,sBAAsB;IAAE,GAAGN;EAAW,CAAC,EAC5DC,GAAQ,EACR;IACA,MAAM;MAAEA,GAAG,EAAEM,cAAc,GAAG,IAAI;MAAE,GAAGC;IAAM,CAAC,GAAG,CAC/CF,sBAAsB,IAAIhB,YAAY,EACtCL,MAAM,CAAC,CAACC,GAAQ,EAAEH,WAAgB,KAAKA,WAAW,CAACG,GAAG,EAAEuB,gBAAgB,EAAE9B,UAAU,CAAC,EAAEqB,KAAK,CAAC;IAC/F,oBAAOxD,KAAA,CAAA0D,aAAA,CAACzD,SAAS,EAAA2D,QAAA,KAAKI,KAAK;MAAET,UAAU,EAAEhC,UAAU,CAACwC,cAAc,EAAEN,GAAG,EAAEF,UAAU;IAAE,EAAE,CAAC;EAC1F;EAEA,MAAMI,cAAc,SAAS3D,KAAK,CAACC,SAAS,CAAM;IAAAiE,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAC,eAAA,gBACxC,CAAC,CAAC;IAAA;IACVC,MAAMA,CAAA,EAAG;MACP,oBACErE,KAAA,CAAA0D,aAAA,CAACG,iBAAiB,EAAAD,QAAA,KACZ,IAAI,CAACI,KAAK;QACdF,sBAAsB,EAAEhB,YAAY,CAACwB,GAAG,CAAEC,EAAO,IAAKA,EAAE,CAACC,IAAI,CAAC,IAAI,CAAC;MAAE,EACtE,CAAC;IAEN;EACF;EAEA,MAAMP,gBAAgB,gBAAGjE,KAAK,CAACuD,UAAU,CACvCF,cAAc,GAAGC,yBAAyB,GAAGO,iBAC/C,CAAC;EAED9D,oBAAoB,CAACkE,gBAAgB,EAAEhE,SAAS,CAAC;EAEjDgE,gBAAgB,CAACf,WAAW,GAAGjD,SAAS,CAACiD,WAAW;EACpD;EACAe,gBAAgB,CAACQ,YAAY,GAAGxE,SAAS,CAACwE,YAAY;EACtD;EACA1B,OAAO,CAAC2B,OAAO,CAAEnC,WAAgB,IAC/BZ,MAAM,CAACgD,MAAM,CAACV,gBAAgB,EAAE1B,WAAW,CAAC0B,gBAAgB,EAAEhE,SAAS,EAAEkC,UAAU,CAAC,CACtF,CAAC;EAED,OAAO8B,gBAAgB;AACzB;AAEA,SAASW,SAASA,CAACC,eAAoB,EAAE3C,YAAiB,EAAE4C,OAAY,EAAE;EACxE,MAAM1C,QAAQ,GAAGH,cAAc,CAACC,YAAY,EAAE2C,eAAe,EAAE,KAAK,CAAC;EAErE,MAAME,KAAK,GAAG3C,QAAQ,CAAC,MAAM,CAAC;EAC9B,MAAM4B,KAAK,GAAG5B,QAAQ,CAAC,SAAS,CAAC;EACjC,MAAM4C,OAAO,GAAG5C,QAAQ,CAAC,QAAQ,CAAC;EAClC,MAAMW,OAAO,GAAGX,QAAQ,CAAC,QAAQ,CAAC;EAClC,MAAMU,YAAY,GAAGV,QAAQ,CAAC,cAAc,CAAC;EAC7C,MAAM6C,QAAQ,GAAG7C,QAAQ,CAAC,SAAS,CAAC;EAEpC,MAAMnC,SAAS,SAAS4E,eAAe,CAAC;IAKtCX,WAAWA,CAACF,KAAU,EAAEkB,OAAY,EAAE;MACpC,KAAK,CAAClB,KAAK,EAAEkB,OAAO,CAAC;MACrB;MAAAd,eAAA,OANDjE,aAAa,EAAI,IAAI;MAAAiE,eAAA,OACrB9D,aAAa,EAAI2D,gBAAgB;MAAAG,eAAA,OACjC/D,SAAS,EAAI,KAAK;MAKjB0E,KAAK,CAACL,OAAO,CAAEnC,WAAgB,IAAKA,WAAW,CAAC4C,IAAI,CAAC,IAAI,EAAEnB,KAAK,EAAEC,gBAAgB,EAAE,KAAK,CAAC,CAAC;MAC3F,IAAI,CAAC5D,SAAS,CAAC,GAAG,IAAI;IACxB;IAEA,IAAI+E,OAAOA,CAAA,EAAG;MACZ;MACA,IAAI,CAAC,IAAI,CAAC/E,SAAS,CAAC,EAAE;QACpB,MAAM,IAAIgF,KAAK,CAAC,qCAAqC,CAAC;MACxD;MACA,IAAI,CAAC,IAAI,CAAClF,aAAa,CAAC,EAAE;QACxB;QACA,IAAI,CAACA,aAAa,CAAC,GAAG6D,KAAK,CAACvB,MAAM,CAAC,CAACC,GAAQ,EAAEH,WAAgB,KAAK;UACjE,OAAOA,WAAW,CAAC4C,IAAI,CAAC,IAAI,EAAEzC,GAAG,EAAEuB,gBAAgB,EAAE,KAAK,CAAC;QAC7D,CAAC,EAAE,IAAI,CAACD,KAAK,CAAC;QAEd,IAAI,IAAI,CAAC7D,aAAa,CAAC,KAAK,IAAI,EAAE;UAChC,MAAMmF,WAAW,GAAG,IAAIC,GAAG,CAAkC,CAAC;UAC9D5D,MAAM,CAAC6D,OAAO,CAAC,IAAI,CAACrF,aAAa,CAAC,CAAC,CAACuE,OAAO,CAAC,CAAC,CAACrC,GAAG,EAAEoD,KAAK,CAAC,KAAK;YAC5D,MAAM,CAACC,MAAM,EAAEC,WAAW,CAAC,GAAGtD,GAAG,CAACuD,KAAK,CAAC,GAAG,CAAC;YAC5C,IAAIF,MAAM,KAAK,KAAK,IAAIC,WAAW,EAAE;cACnC,MAAMjE,GAAG,GAAG4D,WAAW,CAACO,GAAG,CAACH,MAAM,CAAC,IAAI,CAAC,CAAC;cACzChE,GAAG,CAACiE,WAAW,CAAC,GAAGF,KAAK;cAExBH,WAAW,CAACQ,GAAG,CAACJ,MAAM,EAAEhE,GAAG,CAAC;YAC9B;UACF,CAAC,CAAC;UAEF,KAAK,MAAM,CAACW,GAAG,EAAEoD,KAAK,CAAC,IAAIH,WAAW,CAACE,OAAO,CAAC,CAAC,EAAE;YAChD7D,MAAM,CAACoE,cAAc,CAAC,IAAI,CAAC5F,aAAa,CAAC,EAAE,GAAGkC,GAAG,OAAO,EAAE;cAAEoD;YAAM,CAAC,CAAC;UACtE;QACF;MACF;MACA,OAAO,IAAI,CAACtF,aAAa,CAAC;IAC5B;IAEA6F,UAAUA,CAAA,EAAG;MACX,MAAMC,YAAY,GAAG,KAAK,CAACD,UAAU,GAAG,KAAK,CAACA,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;MAC/D;MACA,OAAOf,QAAQ,CAACxC,MAAM,CACpB,CAACC,GAAQ,EAAEH,WAAgB,KAAKA,WAAW,CAAC4C,IAAI,CAAC,IAAI,EAAEzC,GAAG,EAAEuB,gBAAgB,EAAE,KAAK,CAAC,EACpFgC,YACF,CAAC;IACH;IAEA5B,MAAMA,CAAA,EAAG;MACP,IAAI,CAAClE,aAAa,CAAC,GAAG,IAAI;MAC1B;MACA,IAAI,CAAC,KAAK,CAACkE,MAAM,EAAE;QACjB,MAAM,IAAIgB,KAAK,CAAC,0CAA0C,CAAC;MAC7D;MACA,MAAMD,OAAY,GAAG,IAAI,CAACA,OAAO;MACjC,MAAMc,GAAG,GAAG,IAAI,CAACF,UAAU,CAAC,CAAC;MAC7B;MACA,MAAM3B,MAAM,GAAGW,OAAO,CAACvC,MAAM,CAC3B,CAACC,GAAQ,EAAEH,WAAgB,KACzBA,WAAW,CAAC4C,IAAI,CAAC,IAAI,EAAEzC,GAAG,EAAE0C,OAAO,EAAEnB,gBAAgB,EAAE,KAAK,CAAC,EAC/D,KAAK,CAACI,MAAM,CAAC,CACf,CAAC;MACD,IAAI,CAACJ,gBAAgB,CAAC9C,gBAAgB,CAAC,IAAI,CAACM,aAAa,CAACyE,GAAG,CAAC,EAAE;QAC9D,oBAAOlG,KAAA,CAAA0D,aAAA,CAACoB,OAAO,CAACqB,QAAQ;UAACV,KAAK,EAAE;YAAE,GAAGL,OAAO;YAAE,GAAGc;UAAI;QAAE,GAAE7B,MAAyB,CAAC;MACrF,CAAC,MAAM;QACL,OAAOA,MAAM;MACf;IACF;EACF;EAEA,MAAMJ,gBAAqB,GAAGpB,oBAAoB,CAAC5C,SAAS,EAAE6C,YAAY,EAAEC,OAAO,EAAE,KAAK,CAAC;EAC3F,OAAOkB,gBAAgB;AACzB;AAEA,SAASmC,YAAYA,CAACvB,eAAoB,EAAE3C,YAAiB,EAAE4C,OAAY,EAAE;EAC3E,MAAM1C,QAAQ,GAAGH,cAAc,CAACC,YAAY,EAAE2C,eAAe,EAAE,IAAI,CAAC;EAEpE,MAAME,KAAK,GAAG3C,QAAQ,CAAC,MAAM,CAAC;EAC9B,MAAM4B,KAAK,GAAG5B,QAAQ,CAAC,SAAS,CAAC;EACjC,MAAM4C,OAAO,GAAG5C,QAAQ,CAAC,QAAQ,CAAC;EAClC,MAAMW,OAAO,GAAGX,QAAQ,CAAC,QAAQ,CAAC;EAClC,MAAMU,YAAY,GAAGV,QAAQ,CAAC,cAAc,CAAC;EAC7C,MAAM6C,QAAQ,GAAG7C,QAAQ,CAAC,SAAS,CAAC;EAEpC,MAAMnC,SAAS,gBAAGD,KAAK,CAACqG,IAAI,CAAC,SAASC,qBAAqBA,CAAC9C,KAAK,EAAE;IACjE,MAAM+C,OAAO,GAAGvG,KAAK,CAACwG,MAAM,CAAC,CAAC,CAAC,CAAC;IAChC,MAAMC,WAAW,GAAGzG,KAAK,CAACwG,MAAM,CAAC,IAAI,CAAC;IACtChF,iBAAiB,CAAC,MAAM;MACtBiF,WAAW,CAACC,OAAO,GAAG,KAAK;IAC7B,CAAC,EAAE,EAAE,CAAC;IACN,IAAID,WAAW,CAACC,OAAO,EAAE;MACvB;MACA3B,KAAK,CAACL,OAAO,CAAEnC,WAAgB,IAC7BA,WAAW,CAAC4C,IAAI,CAACoB,OAAO,CAACG,OAAO,EAAElD,KAAK,EAAES,gBAAgB,EAAE,IAAI,CACjE,CAAC;IACH;IACA;IACA,MAAMmB,OAAO,GAAGpB,KAAK,CAACvB,MAAM,CAC1B,CAACC,GAAQ,EAAEH,WAAgB,KACzBA,WAAW,CAAC4C,IAAI,CAACoB,OAAO,CAACG,OAAO,EAAEhE,GAAG,EAAEuB,gBAAgB,EAAE,IAAI,CAAC,EAChET,KACF,CAAC;IACD;IACA,MAAM0C,GAAG,GAAGjB,QAAQ,CAACxC,MAAM,CACzB,CAACC,GAAQ,EAAEH,WAAgB,KACzBA,WAAW,CAAC4C,IAAI,CAACoB,OAAO,CAACG,OAAO,EAAEhE,GAAG,EAAEuB,gBAAgB,EAAE,IAAI,CAAC,EAChE,CAAC,CACH,CAAC;;IAED;IACA,MAAMI,MAAM,GAAGW,OAAO,CAACvC,MAAM,CAC3B,CAACC,GAAQ,EAAEH,WAAgB,KACzBA,WAAW,CAAC4C,IAAI,CAACoB,OAAO,CAACG,OAAO,EAAEhE,GAAG,EAAE0C,OAAO,EAAEnB,gBAAgB,EAAE,IAAI,CAAC,eACzEjE,KAAA,CAAA0D,aAAA,CAACmB,eAAe,EAAKO,OAAU,CACjC,CAAC;IAED,IAAI,CAACnB,gBAAgB,CAAC9C,gBAAgB,CAAC,IAAI,CAACM,aAAa,CAACyE,GAAG,CAAC,EAAE;MAC9D,oBAAOlG,KAAA,CAAA0D,aAAA,CAACoB,OAAO,CAACqB,QAAQ;QAACV,KAAK,EAAE;UAAE,GAAGL,OAAO;UAAE,GAAGc;QAAI;MAAE,GAAE7B,MAAyB,CAAC;IACrF,CAAC,MAAM;MACL,OAAOA,MAAM;IACf;EACF,CAAC,CAAC;EACF1C,MAAM,CAACgD,MAAM,CAAC1E,SAAS,EAAE4E,eAAe,CAAC;EACzC,MAAMZ,gBAAqB,GAAGpB,oBAAoB,CAAC5C,SAAS,EAAE6C,YAAY,EAAEC,OAAO,EAAE,IAAI,CAAC;EAC1F,OAAOkB,gBAAgB;AACzB;AAEA,SAAS0C,QAAQA,CAAC9B,eAAoB,EAAE3C,YAAiB,EAAE4C,OAAY,EAAE;EACvE,MAAM7E,SAAS,GAAG,SAAAA,CAAU;IAAE2G;EAAU,CAAC,EAAE;IACzC,MAAMnC,YAAY,GAAGI,eAAe,CAACJ,YAAY,IAAI,CAAC,CAAC;IACvD,oBAAOzE,KAAA,CAAA0D,aAAA,CAACkD,IAAI,EAAAhD,QAAA,KAAKa,YAAY;MAAEJ,MAAM,EAAEQ;IAAgB,EAAE,CAAC;EAC5D,CAAC;EACD9E,oBAAoB,CAACE,SAAS,EAAE4E,eAAe,CAAC;EAChD5E,SAAS,CAACiD,WAAW,GAAG2B,eAAe,CAAC3B,WAAW;EACnD,OAAOkD,YAAY,CAACnG,SAAS,EAAEiC,YAAY,EAAE4C,OAAO,CAAC;AACvD;AAEA,SAAS+B,sBAAsBA,CAAChC,eAAoB,EAAEC,OAAY,EAAE5C,YAAiB,EAAO;EAC1F,IACElC,KAAK,CAAC8G,aAAa,CAACC,aAAa,CAAClC,eAAe,CAAC,IAClD7E,KAAK,CAACC,SAAS,CAAC8G,aAAa,CAAClC,eAAe,CAAC,EAC9C;IACA,IAAIA,eAAe,CAAC7C,SAAS,YAAY/B,SAAS,EAAE;MAClD,OAAO2E,SAAS,CAACC,eAAe,EAAE3C,YAAY,EAAE4C,OAAO,CAAC;IAC1D,CAAC,MAAM;MACL,MAAM,IAAIO,KAAK,CAAC,iCAAiC,CAAC;IACpD;EACF,CAAC,MAAM,IAAI,OAAOR,eAAe,KAAK,UAAU,EAAE;IAChD,OAAOuB,YAAY,CAACvB,eAAe,EAAE3C,YAAY,EAAE4C,OAAO,CAAC;EAC7D,CAAC,MAAM,IAAID,eAAe,CAACzE,cAAc,CAAC,EAAE;IAC1C,OAAOuG,QAAQ,CAAC9B,eAAe,EAAE3C,YAAY,EAAE4C,OAAO,CAAC;EACzD,CAAC,MAAM;IACL,MAAM,IAAIO,KAAK,CAAC,2BAA2B,CAAC;EAC9C;AACF;AAEA,OAAO,SAAS2B,WAAWA,CAACC,EAAO,EAAEC,EAAO,EAAE;EAC5C,OAAO5F,YAAY,CAAC4F,EAAE,EAAED,EAAE,CAAC;AAC7B;AAEA,SAASE,eAAeA,CACtBtC,eAAoB,EACpBuC,eAAoB,GAAG,CAAC,CAAC,EACzBC,OAIC,GAAG,CAAC,CAAC,EACsD;EAC5D,MAAM;IACJnC,OAAO,gBAAGlF,KAAK,CAACsH,aAAa,CAAc,CAAC,CAAgB,CAAC;IAC7DC,MAAM,GAAG,EAAE;IACXrF,YAAY,GAAG;EACjB,CAAC,GAAGmF,OAAO;EACX,IAAIG,OAAc,GAAGC,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC;EAC9D,IAAIC,OAAO,CAAC3F,MAAM,EAAE;IAClB,MAAM8F,WAAW,GAAGH,OAAO,CAAC/E,MAAM,CAAC,CAACC,GAAQ,EAAE6E,MAAW,KAAK;MAC5D,IAAIA,MAAM,CAAC/G,iBAAiB,CAAC,EAAE;QAC7BkC,GAAG,GAAG,CAAC,GAAG6E,MAAM,CAAC/G,iBAAiB,CAAC,EAAE,GAAGkC,GAAG,CAAC;MAC9C;MACA,OAAOA,GAAG;IACZ,CAAC,EAAE8E,OAAO,CAAC;IACX;IACA3C,eAAe,CAACrE,iBAAiB,CAAC,GAAGmH,WAAW;IAChDH,OAAO,GAAGG,WAAW;EACvB;EACA;EACA,IAAI9C,eAAe,CAACzE,cAAc,CAAC,EAAE;IACnCoH,OAAO,CAAC5E,IAAI,CAACiC,eAAe,CAAC;EAC/B;EACA,MAAM5E,SAAS,GAAG4G,sBAAsB,CAAChC,eAAe,EAAEK,OAAO,EAAE;EACjE;EACA,GAAGhD,YAAY,CAACoC,GAAG,CAAEsD,CAAC,IAAKA,CAAC,CAAC1C,OAAO,EAAEsC,OAAO,EAAEL,eAAe,EAAEC,eAAe,CAAC,CAAC,EACjFvG,oBAAoB,CAAC,CAAC,EACtBJ,mBAAmB,CAACyE,OAAO,EAAEsC,OAAO,CAAC;EACrC;EACAzG,eAAe,CAAC,CAAC,EACjBM,4BAA4B,CAAC,CAAC,EAC9BL,yBAAyB,CAACoG,eAAe,EAAED,eAAe,EAAE;IAC1DjC,OAAO;IACPqC,MAAM;IACNrF;EACF,CAAC,CAAC;EACF;EACAtB,+BAA+B,CAAC,CAAC;EACjC;EACAE,wBAAwB,CAAC,CAAC;EAC1B;EACAJ,mBAAmB,CAAC,CAAC;EACrB;EACAC,kBAAkB,CAAC,CAAC,EACpBS,gBAAgB,CAACgG,eAAe,EAAElC,OAAO,CAAC,CAC3C,CAAC;EACFjF,SAAS,CAACC,iBAAiB,CAAC,GAAGgF,OAAO;EACtCjF,SAAS,CAAC4H,yBAAyB,GAAGT,eAAe;EACrDnH,SAAS,CAACM,gBAAgB,CAAC,GAAG,UAC5BuH,gBAAgB,GAAGjD,eAAe,EAClCkD,gBAAgB,GAAGX,eAAe,EAClCY,QAAQ,GAAGX,OAAO,EAClB;IACA,OAAOF,eAAe,CAACW,gBAAgB,EAAEC,gBAAgB,EAAEC,QAAQ,CAAC;EACtE,CAAC;EACD/H,SAAS,CAACgI,WAAW,GAAG,UAChBH,gBAAgB,GAAGjD,eAAe,EAClCkD,gBAAgB,GAAGX,eAAe,EAClCY,QAAQ,GAAGX,OAAO,EACxB;IACA,OAAOF,eAAe,CAACW,gBAAgB,EAAEC,gBAAgB,EAAEC,QAAQ,CAAC;EACtE,CAAC;EACD/H,SAAS,CAACG,cAAc,CAAC,GAAG,IAAI;EAChC,OAAOH,SAAS;AAClB;AAEA,SAASiI,mBAAmBA,CAAiDrD,eAAuE,EAAE;EACpJ,MAAM5E,SAAS,gBAAGD,KAAK,CAACuD,UAAU,CAAyBsB,eAAe,CAA6C;EACvH5E,SAAS,CAACiD,WAAW,GAAG2B,eAAe,CAAC3B,WAAW,IAAI,EAAE;EACzD;EACAjD,SAAS,CAACwE,YAAY,GAAG;IACvB,cAAc,EAAEI,eAAe,CAAC3B;EAClC,CAAC;EACDjD,SAAS,CAACG,cAAc,CAAC,GAAG,IAAI;EAEhC,OAAOH,SAAS;AAClB;AAEA,SAASkH,eAAe,EAAEe,mBAAmB","ignoreList":[]}
|
package/lib/esm/coreFactory.mjs
CHANGED
|
@@ -102,7 +102,25 @@ function wrapClass(OriginComponent, enhancements, Context) {
|
|
|
102
102
|
throw new Error("Can not call asProps in constructor");
|
|
103
103
|
}
|
|
104
104
|
if (!this[CORE_AS_PROPS]) {
|
|
105
|
-
this[CORE_AS_PROPS] = props.reduce((acc, enhancement) =>
|
|
105
|
+
this[CORE_AS_PROPS] = props.reduce((acc, enhancement) => {
|
|
106
|
+
return enhancement.call(this, acc, WrapperComponent, false);
|
|
107
|
+
}, this.props);
|
|
108
|
+
if (this[CORE_AS_PROPS] !== null) {
|
|
109
|
+
const prefixesMap = /* @__PURE__ */ new Map();
|
|
110
|
+
Object.entries(this[CORE_AS_PROPS]).forEach(([key, value]) => {
|
|
111
|
+
const [prefix, propertyKey] = key.split(":");
|
|
112
|
+
if (prefix !== "use" && propertyKey) {
|
|
113
|
+
const obj = prefixesMap.get(prefix) ?? {};
|
|
114
|
+
obj[propertyKey] = value;
|
|
115
|
+
prefixesMap.set(prefix, obj);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
for (const [key, value] of prefixesMap.entries()) {
|
|
119
|
+
Object.defineProperty(this[CORE_AS_PROPS], `${key}Props`, {
|
|
120
|
+
value
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
106
124
|
}
|
|
107
125
|
return this[CORE_AS_PROPS];
|
|
108
126
|
}
|
|
@@ -31,9 +31,9 @@ function getIntValueFromCss(value) {
|
|
|
31
31
|
}
|
|
32
32
|
const scrollPreventers = new Set();
|
|
33
33
|
const lockedBodyStyles = {
|
|
34
|
-
paddingRight:
|
|
35
|
-
overflow:
|
|
36
|
-
boxSizing:
|
|
34
|
+
paddingRight: '',
|
|
35
|
+
overflow: '',
|
|
36
|
+
boxSizing: ''
|
|
37
37
|
};
|
|
38
38
|
function usePreventScroll(visible = true, disabled = false) {
|
|
39
39
|
const scrollbarWidth = _react.default.useMemo(getScrollbarWidth, [getScrollbarWidth]);
|
|
@@ -44,13 +44,11 @@ function usePreventScroll(visible = true, disabled = false) {
|
|
|
44
44
|
scrollPreventers.add(id);
|
|
45
45
|
if (scrollPreventers.size > 1) return;
|
|
46
46
|
const {
|
|
47
|
-
|
|
48
|
-
paddingRight,
|
|
49
|
-
boxSizing
|
|
47
|
+
paddingRight
|
|
50
48
|
} = window.getComputedStyle(document.body);
|
|
51
|
-
lockedBodyStyles.paddingRight = paddingRight;
|
|
52
|
-
lockedBodyStyles.overflow = overflow;
|
|
53
|
-
lockedBodyStyles.boxSizing = boxSizing;
|
|
49
|
+
lockedBodyStyles.paddingRight = document.body.style.paddingRight;
|
|
50
|
+
lockedBodyStyles.overflow = document.body.style.overflow;
|
|
51
|
+
lockedBodyStyles.boxSizing = document.body.style.boxSizing;
|
|
54
52
|
const intPaddingRight = getIntValueFromCss(paddingRight);
|
|
55
53
|
let intPaddingRightFromStyle = getIntValueFromCss(document.body.style.paddingRight);
|
|
56
54
|
// Detected own style for window inside window
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePreventScroll.js","names":["_react","_interopRequireDefault","require","_canUseDOM","_uniqueID","getScrollbarWidth","canUseDOM","outer","document","createElement","style","visibility","width","msOverflowStyle","body","appendChild","widthNoScroll","offsetWidth","overflow","inner","widthWithScroll","parentNode","removeChild","getIntValueFromCss","value","Number","isNaN","parseInt","scrollPreventers","Set","lockedBodyStyles","paddingRight","boxSizing","usePreventScroll","visible","disabled","scrollbarWidth","React","useMemo","id","useUID","useEffect","add","size","window","getComputedStyle","intPaddingRight","intPaddingRightFromStyle","delete"],"sources":["../../../src/utils/use/usePreventScroll.tsx"],"sourcesContent":["import React from 'react';\n\nimport canUseDOM from '../canUseDOM';\nimport { useUID } from '../uniqueID';\n\nexport function getScrollbarWidth(): number {\n if (!canUseDOM()) return 0;\n const outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n // @ts-expect-error\n outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps\n document.body.appendChild(outer);\n\n const widthNoScroll = outer.offsetWidth;\n outer.style.overflow = 'scroll';\n\n const inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n\n const widthWithScroll = inner.offsetWidth;\n\n outer.parentNode?.removeChild(outer);\n\n return widthNoScroll - widthWithScroll;\n}\n\nfunction getIntValueFromCss(value: any) {\n return !Number.isNaN(Number(value)) ? Number(value) : Number.parseInt(value, 10);\n}\n\nconst scrollPreventers = new Set<string>();\nconst lockedBodyStyles = {\n paddingRight:
|
|
1
|
+
{"version":3,"file":"usePreventScroll.js","names":["_react","_interopRequireDefault","require","_canUseDOM","_uniqueID","getScrollbarWidth","canUseDOM","outer","document","createElement","style","visibility","width","msOverflowStyle","body","appendChild","widthNoScroll","offsetWidth","overflow","inner","widthWithScroll","parentNode","removeChild","getIntValueFromCss","value","Number","isNaN","parseInt","scrollPreventers","Set","lockedBodyStyles","paddingRight","boxSizing","usePreventScroll","visible","disabled","scrollbarWidth","React","useMemo","id","useUID","useEffect","add","size","window","getComputedStyle","intPaddingRight","intPaddingRightFromStyle","delete"],"sources":["../../../src/utils/use/usePreventScroll.tsx"],"sourcesContent":["import React from 'react';\n\nimport canUseDOM from '../canUseDOM';\nimport { useUID } from '../uniqueID';\n\nexport function getScrollbarWidth(): number {\n if (!canUseDOM()) return 0;\n const outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n // @ts-expect-error\n outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps\n document.body.appendChild(outer);\n\n const widthNoScroll = outer.offsetWidth;\n outer.style.overflow = 'scroll';\n\n const inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n\n const widthWithScroll = inner.offsetWidth;\n\n outer.parentNode?.removeChild(outer);\n\n return widthNoScroll - widthWithScroll;\n}\n\nfunction getIntValueFromCss(value: any) {\n return !Number.isNaN(Number(value)) ? Number(value) : Number.parseInt(value, 10);\n}\n\nconst scrollPreventers = new Set<string>();\nconst lockedBodyStyles = {\n paddingRight: '',\n overflow: '',\n boxSizing: '',\n};\nexport default function usePreventScroll(visible = true, disabled = false) {\n const scrollbarWidth = React.useMemo(getScrollbarWidth, [getScrollbarWidth]);\n const id = useUID('scroll-preventer-');\n\n React.useEffect(() => {\n if (disabled) return;\n if (!canUseDOM() || !visible) return;\n scrollPreventers.add(id);\n if (scrollPreventers.size > 1) return;\n\n const { paddingRight } = window.getComputedStyle(document.body);\n\n lockedBodyStyles.paddingRight = document.body.style.paddingRight;\n lockedBodyStyles.overflow = document.body.style.overflow;\n lockedBodyStyles.boxSizing = document.body.style.boxSizing;\n\n const intPaddingRight = getIntValueFromCss(paddingRight);\n let intPaddingRightFromStyle = getIntValueFromCss(document.body.style.paddingRight);\n // Detected own style for window inside window\n if (intPaddingRightFromStyle !== scrollbarWidth) {\n intPaddingRightFromStyle = 0;\n }\n\n document.body.style.overflow = 'hidden';\n document.body.style.paddingRight =\n scrollbarWidth + (intPaddingRight - intPaddingRightFromStyle) + 'px';\n document.body.style.boxSizing = 'border-box';\n }, [visible, id, disabled]);\n\n React.useEffect(() => {\n if (disabled) return;\n if (!canUseDOM() || !visible) return;\n return () => {\n scrollPreventers.delete(id);\n if (scrollPreventers.size !== 0) return;\n document.body.style.overflow = lockedBodyStyles.overflow;\n document.body.style.paddingRight = lockedBodyStyles.paddingRight;\n document.body.style.boxSizing = lockedBodyStyles.boxSizing;\n };\n }, [visible, id, disabled]);\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEO,SAASG,iBAAiBA,CAAA,EAAW;EAC1C,IAAI,CAAC,IAAAC,kBAAS,EAAC,CAAC,EAAE,OAAO,CAAC;EAC1B,MAAMC,KAAK,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAC3CF,KAAK,CAACG,KAAK,CAACC,UAAU,GAAG,QAAQ;EACjCJ,KAAK,CAACG,KAAK,CAACE,KAAK,GAAG,OAAO;EAC3B;EACAL,KAAK,CAACG,KAAK,CAACG,eAAe,GAAG,WAAW,CAAC,CAAC;EAC3CL,QAAQ,CAACM,IAAI,CAACC,WAAW,CAACR,KAAK,CAAC;EAEhC,MAAMS,aAAa,GAAGT,KAAK,CAACU,WAAW;EACvCV,KAAK,CAACG,KAAK,CAACQ,QAAQ,GAAG,QAAQ;EAE/B,MAAMC,KAAK,GAAGX,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAC3CU,KAAK,CAACT,KAAK,CAACE,KAAK,GAAG,MAAM;EAC1BL,KAAK,CAACQ,WAAW,CAACI,KAAK,CAAC;EAExB,MAAMC,eAAe,GAAGD,KAAK,CAACF,WAAW;EAEzCV,KAAK,CAACc,UAAU,EAAEC,WAAW,CAACf,KAAK,CAAC;EAEpC,OAAOS,aAAa,GAAGI,eAAe;AACxC;AAEA,SAASG,kBAAkBA,CAACC,KAAU,EAAE;EACtC,OAAO,CAACC,MAAM,CAACC,KAAK,CAACD,MAAM,CAACD,KAAK,CAAC,CAAC,GAAGC,MAAM,CAACD,KAAK,CAAC,GAAGC,MAAM,CAACE,QAAQ,CAACH,KAAK,EAAE,EAAE,CAAC;AAClF;AAEA,MAAMI,gBAAgB,GAAG,IAAIC,GAAG,CAAS,CAAC;AAC1C,MAAMC,gBAAgB,GAAG;EACvBC,YAAY,EAAE,EAAE;EAChBb,QAAQ,EAAE,EAAE;EACZc,SAAS,EAAE;AACb,CAAC;AACc,SAASC,gBAAgBA,CAACC,OAAO,GAAG,IAAI,EAAEC,QAAQ,GAAG,KAAK,EAAE;EACzE,MAAMC,cAAc,GAAGC,cAAK,CAACC,OAAO,CAACjC,iBAAiB,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAC5E,MAAMkC,EAAE,GAAG,IAAAC,gBAAM,EAAC,mBAAmB,CAAC;EAEtCH,cAAK,CAACI,SAAS,CAAC,MAAM;IACpB,IAAIN,QAAQ,EAAE;IACd,IAAI,CAAC,IAAA7B,kBAAS,EAAC,CAAC,IAAI,CAAC4B,OAAO,EAAE;IAC9BN,gBAAgB,CAACc,GAAG,CAACH,EAAE,CAAC;IACxB,IAAIX,gBAAgB,CAACe,IAAI,GAAG,CAAC,EAAE;IAE/B,MAAM;MAAEZ;IAAa,CAAC,GAAGa,MAAM,CAACC,gBAAgB,CAACrC,QAAQ,CAACM,IAAI,CAAC;IAE/DgB,gBAAgB,CAACC,YAAY,GAAGvB,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACqB,YAAY;IAChED,gBAAgB,CAACZ,QAAQ,GAAGV,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACQ,QAAQ;IACxDY,gBAAgB,CAACE,SAAS,GAAGxB,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACsB,SAAS;IAE1D,MAAMc,eAAe,GAAGvB,kBAAkB,CAACQ,YAAY,CAAC;IACxD,IAAIgB,wBAAwB,GAAGxB,kBAAkB,CAACf,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACqB,YAAY,CAAC;IACnF;IACA,IAAIgB,wBAAwB,KAAKX,cAAc,EAAE;MAC/CW,wBAAwB,GAAG,CAAC;IAC9B;IAEAvC,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACQ,QAAQ,GAAG,QAAQ;IACvCV,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACqB,YAAY,GAC9BK,cAAc,IAAIU,eAAe,GAAGC,wBAAwB,CAAC,GAAG,IAAI;IACtEvC,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACsB,SAAS,GAAG,YAAY;EAC9C,CAAC,EAAE,CAACE,OAAO,EAAEK,EAAE,EAAEJ,QAAQ,CAAC,CAAC;EAE3BE,cAAK,CAACI,SAAS,CAAC,MAAM;IACpB,IAAIN,QAAQ,EAAE;IACd,IAAI,CAAC,IAAA7B,kBAAS,EAAC,CAAC,IAAI,CAAC4B,OAAO,EAAE;IAC9B,OAAO,MAAM;MACXN,gBAAgB,CAACoB,MAAM,CAACT,EAAE,CAAC;MAC3B,IAAIX,gBAAgB,CAACe,IAAI,KAAK,CAAC,EAAE;MACjCnC,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACQ,QAAQ,GAAGY,gBAAgB,CAACZ,QAAQ;MACxDV,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACqB,YAAY,GAAGD,gBAAgB,CAACC,YAAY;MAChEvB,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACsB,SAAS,GAAGF,gBAAgB,CAACE,SAAS;IAC5D,CAAC;EACH,CAAC,EAAE,CAACE,OAAO,EAAEK,EAAE,EAAEJ,QAAQ,CAAC,CAAC;AAC7B","ignoreList":[]}
|
|
@@ -23,9 +23,9 @@ function getIntValueFromCss(value) {
|
|
|
23
23
|
}
|
|
24
24
|
const scrollPreventers = new Set();
|
|
25
25
|
const lockedBodyStyles = {
|
|
26
|
-
paddingRight:
|
|
27
|
-
overflow:
|
|
28
|
-
boxSizing:
|
|
26
|
+
paddingRight: '',
|
|
27
|
+
overflow: '',
|
|
28
|
+
boxSizing: ''
|
|
29
29
|
};
|
|
30
30
|
export default function usePreventScroll(visible = true, disabled = false) {
|
|
31
31
|
const scrollbarWidth = React.useMemo(getScrollbarWidth, [getScrollbarWidth]);
|
|
@@ -36,13 +36,11 @@ export default function usePreventScroll(visible = true, disabled = false) {
|
|
|
36
36
|
scrollPreventers.add(id);
|
|
37
37
|
if (scrollPreventers.size > 1) return;
|
|
38
38
|
const {
|
|
39
|
-
|
|
40
|
-
paddingRight,
|
|
41
|
-
boxSizing
|
|
39
|
+
paddingRight
|
|
42
40
|
} = window.getComputedStyle(document.body);
|
|
43
|
-
lockedBodyStyles.paddingRight = paddingRight;
|
|
44
|
-
lockedBodyStyles.overflow = overflow;
|
|
45
|
-
lockedBodyStyles.boxSizing = boxSizing;
|
|
41
|
+
lockedBodyStyles.paddingRight = document.body.style.paddingRight;
|
|
42
|
+
lockedBodyStyles.overflow = document.body.style.overflow;
|
|
43
|
+
lockedBodyStyles.boxSizing = document.body.style.boxSizing;
|
|
46
44
|
const intPaddingRight = getIntValueFromCss(paddingRight);
|
|
47
45
|
let intPaddingRightFromStyle = getIntValueFromCss(document.body.style.paddingRight);
|
|
48
46
|
// Detected own style for window inside window
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePreventScroll.mjs","names":["React","canUseDOM","useUID","getScrollbarWidth","outer","document","createElement","style","visibility","width","msOverflowStyle","body","appendChild","widthNoScroll","offsetWidth","overflow","inner","widthWithScroll","parentNode","removeChild","getIntValueFromCss","value","Number","isNaN","parseInt","scrollPreventers","Set","lockedBodyStyles","paddingRight","boxSizing","usePreventScroll","visible","disabled","scrollbarWidth","useMemo","id","useEffect","add","size","window","getComputedStyle","intPaddingRight","intPaddingRightFromStyle","delete"],"sources":["../../../src/utils/use/usePreventScroll.tsx"],"sourcesContent":["import React from 'react';\n\nimport canUseDOM from '../canUseDOM';\nimport { useUID } from '../uniqueID';\n\nexport function getScrollbarWidth(): number {\n if (!canUseDOM()) return 0;\n const outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n // @ts-expect-error\n outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps\n document.body.appendChild(outer);\n\n const widthNoScroll = outer.offsetWidth;\n outer.style.overflow = 'scroll';\n\n const inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n\n const widthWithScroll = inner.offsetWidth;\n\n outer.parentNode?.removeChild(outer);\n\n return widthNoScroll - widthWithScroll;\n}\n\nfunction getIntValueFromCss(value: any) {\n return !Number.isNaN(Number(value)) ? Number(value) : Number.parseInt(value, 10);\n}\n\nconst scrollPreventers = new Set<string>();\nconst lockedBodyStyles = {\n paddingRight:
|
|
1
|
+
{"version":3,"file":"usePreventScroll.mjs","names":["React","canUseDOM","useUID","getScrollbarWidth","outer","document","createElement","style","visibility","width","msOverflowStyle","body","appendChild","widthNoScroll","offsetWidth","overflow","inner","widthWithScroll","parentNode","removeChild","getIntValueFromCss","value","Number","isNaN","parseInt","scrollPreventers","Set","lockedBodyStyles","paddingRight","boxSizing","usePreventScroll","visible","disabled","scrollbarWidth","useMemo","id","useEffect","add","size","window","getComputedStyle","intPaddingRight","intPaddingRightFromStyle","delete"],"sources":["../../../src/utils/use/usePreventScroll.tsx"],"sourcesContent":["import React from 'react';\n\nimport canUseDOM from '../canUseDOM';\nimport { useUID } from '../uniqueID';\n\nexport function getScrollbarWidth(): number {\n if (!canUseDOM()) return 0;\n const outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n // @ts-expect-error\n outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps\n document.body.appendChild(outer);\n\n const widthNoScroll = outer.offsetWidth;\n outer.style.overflow = 'scroll';\n\n const inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n\n const widthWithScroll = inner.offsetWidth;\n\n outer.parentNode?.removeChild(outer);\n\n return widthNoScroll - widthWithScroll;\n}\n\nfunction getIntValueFromCss(value: any) {\n return !Number.isNaN(Number(value)) ? Number(value) : Number.parseInt(value, 10);\n}\n\nconst scrollPreventers = new Set<string>();\nconst lockedBodyStyles = {\n paddingRight: '',\n overflow: '',\n boxSizing: '',\n};\nexport default function usePreventScroll(visible = true, disabled = false) {\n const scrollbarWidth = React.useMemo(getScrollbarWidth, [getScrollbarWidth]);\n const id = useUID('scroll-preventer-');\n\n React.useEffect(() => {\n if (disabled) return;\n if (!canUseDOM() || !visible) return;\n scrollPreventers.add(id);\n if (scrollPreventers.size > 1) return;\n\n const { paddingRight } = window.getComputedStyle(document.body);\n\n lockedBodyStyles.paddingRight = document.body.style.paddingRight;\n lockedBodyStyles.overflow = document.body.style.overflow;\n lockedBodyStyles.boxSizing = document.body.style.boxSizing;\n\n const intPaddingRight = getIntValueFromCss(paddingRight);\n let intPaddingRightFromStyle = getIntValueFromCss(document.body.style.paddingRight);\n // Detected own style for window inside window\n if (intPaddingRightFromStyle !== scrollbarWidth) {\n intPaddingRightFromStyle = 0;\n }\n\n document.body.style.overflow = 'hidden';\n document.body.style.paddingRight =\n scrollbarWidth + (intPaddingRight - intPaddingRightFromStyle) + 'px';\n document.body.style.boxSizing = 'border-box';\n }, [visible, id, disabled]);\n\n React.useEffect(() => {\n if (disabled) return;\n if (!canUseDOM() || !visible) return;\n return () => {\n scrollPreventers.delete(id);\n if (scrollPreventers.size !== 0) return;\n document.body.style.overflow = lockedBodyStyles.overflow;\n document.body.style.paddingRight = lockedBodyStyles.paddingRight;\n document.body.style.boxSizing = lockedBodyStyles.boxSizing;\n };\n }, [visible, id, disabled]);\n}\n"],"mappings":"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","ignoreList":[]}
|