@semcore/core 17.0.0-prerelease.30 → 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 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-03-09
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
@@ -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) => enhancement.call(this, acc, WrapperComponent, false), this.props);
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
  }
@@ -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":[]}
@@ -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) => enhancement.call(this, acc, WrapperComponent, false), this.props);
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
  }
@@ -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":"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","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":"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","ignoreList":[]}
@@ -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) => enhancement.call(this, acc, WrapperComponent, false), this.props);
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: null,
35
- overflow: null,
36
- boxSizing: null
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
- overflow,
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: null as string | null,\n overflow: null as string | null,\n boxSizing: null as string | null,\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 { overflow, paddingRight, boxSizing } = window.getComputedStyle(document.body);\n lockedBodyStyles.paddingRight = paddingRight;\n lockedBodyStyles.overflow = overflow;\n lockedBodyStyles.boxSizing = 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":[]}
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":"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","ignoreList":[]}
@@ -23,9 +23,9 @@ function getIntValueFromCss(value) {
23
23
  }
24
24
  const scrollPreventers = new Set();
25
25
  const lockedBodyStyles = {
26
- paddingRight: null,
27
- overflow: null,
28
- boxSizing: null
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
- overflow,
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: null as string | null,\n overflow: null as string | null,\n boxSizing: null as string | null,\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 { overflow, paddingRight, boxSizing } = window.getComputedStyle(document.body);\n lockedBodyStyles.paddingRight = paddingRight;\n lockedBodyStyles.overflow = overflow;\n lockedBodyStyles.boxSizing = 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":[]}
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":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/core",
3
3
  "description": "Semrush Core Component",
4
- "version": "17.0.0-prerelease.30",
4
+ "version": "17.0.0-prerelease.31",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/index.mjs",
7
7
  "typings": "lib/index.d.ts",