@empjs/share 3.8.3-beta.0 → 3.8.3-beta.1
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/dist/adapter.cjs +1 -1
- package/dist/adapter.cjs.map +1 -1
- package/dist/adapter.js +1 -1
- package/dist/adapter.js.map +1 -1
- package/package.json +1 -1
package/dist/adapter.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var l=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var v=(t,e)=>{for(var o in e)l(t,o,{get:e[o],enumerable:!0})},M=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of E(e))!P.call(t,r)&&r!==o&&l(t,r,{get:()=>e[r],enumerable:!(n=g(e,r))||n.enumerable});return t};var x=t=>M(l({},"__esModule",{value:!0}),t);var C={};v(C,{ReactAdapter:()=>p,reactAdapter:()=>A});module.exports=x(C);var h=t=>t?Number(t.split(".")[0]):0,f=t=>t&&Object.prototype.toString.call(t)==="[object Promise]",S=!1,i=S?console.log.bind(console,"[EMP Share]"):()=>{};var d={},y=window;i("process.env.EMPSHARE_ENV","prod");var{EMPShareGlobalVal:u}=y||{};u&&u.frameworkLib&&(d=y[u.frameworkLib]);var p=class{libs={scope:"default",...d};constructor(e){e&&this.setup(e)}setup(e){e&&(typeof e=="string"&&(e=window[e]),this.libs={...this.libs,...e})}get shared(){let{React:e,ReactDOM:o,scope:n}=this.libs;return{react:{lib:()=>e,version:e.version,scope:n,shareConfig:{singleton:!0,requiredVersion:`^${e.version}`}},"react-dom":{lib:()=>o,version:o.version,scope:n,shareConfig:{singleton:!0,requiredVersion:`^${e.version}`}}}}adapter(e,o=this.libs.scope,n=this.libs.React,r=this.libs.ReactDOM){let a=h(n.version),b=this;class R extends n.Component{containerRef;root;constructor(s){super(s),this.containerRef=n.createRef()}componentDidMount(){i("componentDidMount"),this.mountOriginalComponent(!0)}componentDidUpdate(){i("componentDidUpdate"),this.mountOriginalComponent()}componentWillUnmount(){i("componentWillUnmount"),this.unMountOriginalComponent()}unMountOriginalComponent(){this.containerRef.current&&(a<18?r.unmountComponentAtNode(this.containerRef.current):this.root.unmount())}async mountOriginalComponent(s){f(e)&&(e=await e.then(c=>c[o]));let m=n.createElement(e,this.props);if(a<18)(s?r.render:r.hydrate)(m,this.containerRef.current),i("shouldRender16",s,a);else if(i("shouldRender18",s,a),s){let{createRoot:c}=b.libs;this.root=c(this.containerRef.current),this.root.render(m)}else this.root.render()}render(){return n.createElement("div",{ref:this.containerRef})}}return R}},A=new p;0&&(module.exports={ReactAdapter,reactAdapter});
|
|
1
|
+
"use strict";var l=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var v=(t,e)=>{for(var o in e)l(t,o,{get:e[o],enumerable:!0})},M=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of E(e))!P.call(t,r)&&r!==o&&l(t,r,{get:()=>e[r],enumerable:!(n=g(e,r))||n.enumerable});return t};var x=t=>M(l({},"__esModule",{value:!0}),t);var C={};v(C,{ReactAdapter:()=>p,reactAdapter:()=>A});module.exports=x(C);var h=t=>t?Number(t.split(".")[0]):0,f=t=>t&&Object.prototype.toString.call(t)==="[object Promise]",S=!1,i=S?console.log.bind(console,"[EMP Share]"):()=>{};var d={},y=window;i("process.env.EMPSHARE_ENV","prod");var{EMPShareGlobalVal:u}=y||{};u&&u.frameworkLib&&(d=y[u.frameworkLib]);var p=class{libs={scope:"default",...d};constructor(e){e&&this.setup(e)}setup(e){e&&(typeof e=="string"&&(e=window[e]),this.libs={...this.libs,...e})}get shared(){let{React:e,ReactDOM:o,scope:n}=this.libs;return e&&o?{react:{lib:()=>e,version:e.version,scope:n,shareConfig:{singleton:!0,requiredVersion:`^${e.version}`}},"react-dom":{lib:()=>o,version:o.version,scope:n,shareConfig:{singleton:!0,requiredVersion:`^${e.version}`}}}:{}}adapter(e,o=this.libs.scope,n=this.libs.React,r=this.libs.ReactDOM){let a=h(n.version),b=this;class R extends n.Component{containerRef;root;constructor(s){super(s),this.containerRef=n.createRef()}componentDidMount(){i("componentDidMount"),this.mountOriginalComponent(!0)}componentDidUpdate(){i("componentDidUpdate"),this.mountOriginalComponent()}componentWillUnmount(){i("componentWillUnmount"),this.unMountOriginalComponent()}unMountOriginalComponent(){this.containerRef.current&&(a<18?r.unmountComponentAtNode(this.containerRef.current):this.root.unmount())}async mountOriginalComponent(s){f(e)&&(e=await e.then(c=>c[o]));let m=n.createElement(e,this.props);if(a<18)(s?r.render:r.hydrate)(m,this.containerRef.current),i("shouldRender16",s,a);else if(i("shouldRender18",s,a),s){let{createRoot:c}=b.libs;this.root=c(this.containerRef.current),this.root.render(m)}else this.root.render()}render(){return n.createElement("div",{ref:this.containerRef})}}return R}},A=new p;0&&(module.exports={ReactAdapter,reactAdapter});
|
|
2
2
|
//# sourceMappingURL=adapter.cjs.map
|
package/dist/adapter.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/adapter/index.ts","../src/helper/index.ts","../src/adapter/react.tsx"],"sourcesContent":["export * from 'src/adapter/react'\n","export const importJsVm = (content: string) => `data:text/javascript,${content}`\n\nexport function deepAssign<T>(target: any, ...sources: any): T {\n for (const source of sources) {\n for (const k in source) {\n const vs = source[k],\n vt = target[k]\n if (Object(vs) == vs && Object(vt) === vt) {\n target[k] = deepAssign(vt, vs)\n continue\n }\n target[k] = source[k]\n }\n }\n return target\n}\n\nexport const checkVersion = (version: string) => (version ? Number(version.split('.')[0]) : 0)\nexport const isPromise = (p: any) => p && Object.prototype.toString.call(p) === '[object Promise]'\n\n//\nexport const isDev = process.env.EMPSHARE_ENV === 'dev'\nexport const log = isDev ? console.log.bind(console, '[EMP Share]') : () => {}\n","import {checkVersion, isPromise} from 'src/helper'\nimport type {EMPShareRuntimeAdapterReactType, InitOptionsType} from 'src/types'\nimport {log} from '../helper'\n\n//\nlet globalLib = {}\nconst win: any = window\n//\nlog('process.env.EMPSHARE_ENV', process.env.EMPSHARE_ENV)\n//\nconst {EMPShareGlobalVal} = win || {}\nif (EMPShareGlobalVal && EMPShareGlobalVal.frameworkLib) {\n globalLib = win[EMPShareGlobalVal.frameworkLib]\n}\n//\nexport class ReactAdapter {\n libs: EMPShareRuntimeAdapterReactType = {\n scope: 'default',\n ...globalLib,\n }\n constructor(op?: EMPShareRuntimeAdapterReactType) {\n if (op) this.setup(op)\n }\n public setup(o?: EMPShareRuntimeAdapterReactType | string) {\n if (o) {\n if (typeof o === 'string') o = window[o]\n this.libs = {...this.libs, ...(o as any)}\n }\n }\n get shared(): InitOptionsType['shared'] {\n const {React, ReactDOM, scope} = this.libs as EMPShareRuntimeAdapterReactType\n return {\n
|
|
1
|
+
{"version":3,"sources":["../src/adapter/index.ts","../src/helper/index.ts","../src/adapter/react.tsx"],"sourcesContent":["export * from 'src/adapter/react'\n","export const importJsVm = (content: string) => `data:text/javascript,${content}`\n\nexport function deepAssign<T>(target: any, ...sources: any): T {\n for (const source of sources) {\n for (const k in source) {\n const vs = source[k],\n vt = target[k]\n if (Object(vs) == vs && Object(vt) === vt) {\n target[k] = deepAssign(vt, vs)\n continue\n }\n target[k] = source[k]\n }\n }\n return target\n}\n\nexport const checkVersion = (version: string) => (version ? Number(version.split('.')[0]) : 0)\nexport const isPromise = (p: any) => p && Object.prototype.toString.call(p) === '[object Promise]'\n\n//\nexport const isDev = process.env.EMPSHARE_ENV === 'dev'\nexport const log = isDev ? console.log.bind(console, '[EMP Share]') : () => {}\n","import { checkVersion, isPromise } from 'src/helper'\nimport type { EMPShareRuntimeAdapterReactType, InitOptionsType } from 'src/types'\nimport { log } from '../helper'\n\n//\nlet globalLib = {}\nconst win: any = window\n//\nlog('process.env.EMPSHARE_ENV', process.env.EMPSHARE_ENV)\n//\nconst { EMPShareGlobalVal } = win || {}\nif (EMPShareGlobalVal && EMPShareGlobalVal.frameworkLib) {\n globalLib = win[EMPShareGlobalVal.frameworkLib]\n}\n//\nexport class ReactAdapter {\n libs: EMPShareRuntimeAdapterReactType = {\n scope: 'default',\n ...globalLib,\n }\n constructor(op?: EMPShareRuntimeAdapterReactType) {\n if (op) this.setup(op)\n }\n public setup(o?: EMPShareRuntimeAdapterReactType | string) {\n if (o) {\n if (typeof o === 'string') o = window[o]\n this.libs = { ...this.libs, ...(o as any) }\n }\n }\n get shared(): InitOptionsType['shared'] {\n const { React, ReactDOM, scope } = this.libs as EMPShareRuntimeAdapterReactType\n if (React && ReactDOM) {\n return {\n react: {\n lib: () => React,\n version: React.version,\n scope,\n shareConfig: {\n singleton: true,\n requiredVersion: `^${React.version}`,\n },\n },\n 'react-dom': {\n lib: () => ReactDOM,\n version: ReactDOM.version,\n scope,\n shareConfig: {\n singleton: true,\n requiredVersion: `^${React.version}`,\n },\n },\n }\n } else {\n return {}\n }\n\n }\n adapter<P = any>(\n component: any,\n scope: string = this.libs.scope,\n React: any = this.libs.React,\n ReactDOM: any = this.libs.ReactDOM,\n ): P {\n const reactVersion = checkVersion(React.version)\n const self = this\n class WrappedComponent extends React.Component {\n public containerRef: any\n public root: any\n constructor(props: P) {\n super(props as any)\n this.containerRef = React.createRef()\n }\n\n componentDidMount() {\n log('componentDidMount')\n this.mountOriginalComponent(true)\n }\n\n componentDidUpdate() {\n log('componentDidUpdate')\n this.mountOriginalComponent()\n }\n\n componentWillUnmount() {\n log('componentWillUnmount')\n this.unMountOriginalComponent()\n }\n unMountOriginalComponent() {\n if (!this.containerRef.current) return\n if (reactVersion < 18) {\n ReactDOM.unmountComponentAtNode(this.containerRef.current)\n } else {\n this.root.unmount()\n }\n }\n async mountOriginalComponent(shouldRender?: boolean) {\n if (isPromise(component))\n component = await component.then((m: any) => {\n return m[scope]\n })\n const element = React.createElement(component, this.props)\n\n if (reactVersion < 18) {\n const Render = shouldRender ? ReactDOM.render : ReactDOM.hydrate\n Render(element, this.containerRef.current)\n log('shouldRender16', shouldRender, reactVersion)\n } else {\n log('shouldRender18', shouldRender, reactVersion)\n if (shouldRender) {\n const { createRoot } = self.libs\n this.root = createRoot(this.containerRef.current!)\n this.root.render(element)\n } else {\n // const {hydrateRoot} = self.libs\n // this.root = hydrateRoot(this.containerRef.current!, element)\n this.root.render()\n }\n }\n }\n\n render() {\n return <div ref={this.containerRef} />\n }\n }\n return WrappedComponent as any\n }\n}\n\nexport const reactAdapter = new ReactAdapter()\n"],"mappings":"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","names":["adapter_exports","__export","ReactAdapter","reactAdapter","__toCommonJS","checkVersion","version","isPromise","p","isDev","log","globalLib","win","log","EMPShareGlobalVal","ReactAdapter","op","o","React","ReactDOM","scope","component","reactVersion","checkVersion","self","WrappedComponent","props","shouldRender","isPromise","m","element","createRoot","reactAdapter"]}
|
package/dist/adapter.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var m=o=>o?Number(o.split(".")[0]):0,h=o=>o&&Object.prototype.toString.call(o)==="[object Promise]",R=!1,n=R?console.log.bind(console,"[EMP Share]"):()=>{};var f={},d=window;n("process.env.EMPSHARE_ENV","prod");var{EMPShareGlobalVal:p}=d||{};p&&p.frameworkLib&&(f=d[p.frameworkLib]);var l=class{libs={scope:"default",...f};constructor(e){e&&this.setup(e)}setup(e){e&&(typeof e=="string"&&(e=window[e]),this.libs={...this.libs,...e})}get shared(){let{React:e,ReactDOM:i,scope:t}=this.libs;return{react:{lib:()=>e,version:e.version,scope:t,shareConfig:{singleton:!0,requiredVersion:`^${e.version}`}},"react-dom":{lib:()=>i,version:i.version,scope:t,shareConfig:{singleton:!0,requiredVersion:`^${e.version}`}}}}adapter(e,i=this.libs.scope,t=this.libs.React,c=this.libs.ReactDOM){let s=m(t.version),y=this;class b extends t.Component{containerRef;root;constructor(r){super(r),this.containerRef=t.createRef()}componentDidMount(){n("componentDidMount"),this.mountOriginalComponent(!0)}componentDidUpdate(){n("componentDidUpdate"),this.mountOriginalComponent()}componentWillUnmount(){n("componentWillUnmount"),this.unMountOriginalComponent()}unMountOriginalComponent(){this.containerRef.current&&(s<18?c.unmountComponentAtNode(this.containerRef.current):this.root.unmount())}async mountOriginalComponent(r){h(e)&&(e=await e.then(a=>a[i]));let u=t.createElement(e,this.props);if(s<18)(r?c.render:c.hydrate)(u,this.containerRef.current),n("shouldRender16",r,s);else if(n("shouldRender18",r,s),r){let{createRoot:a}=y.libs;this.root=a(this.containerRef.current),this.root.render(u)}else this.root.render()}render(){return t.createElement("div",{ref:this.containerRef})}}return b}},M=new l;export{l as ReactAdapter,M as reactAdapter};
|
|
1
|
+
var m=o=>o?Number(o.split(".")[0]):0,h=o=>o&&Object.prototype.toString.call(o)==="[object Promise]",R=!1,n=R?console.log.bind(console,"[EMP Share]"):()=>{};var f={},d=window;n("process.env.EMPSHARE_ENV","prod");var{EMPShareGlobalVal:p}=d||{};p&&p.frameworkLib&&(f=d[p.frameworkLib]);var l=class{libs={scope:"default",...f};constructor(e){e&&this.setup(e)}setup(e){e&&(typeof e=="string"&&(e=window[e]),this.libs={...this.libs,...e})}get shared(){let{React:e,ReactDOM:i,scope:t}=this.libs;return e&&i?{react:{lib:()=>e,version:e.version,scope:t,shareConfig:{singleton:!0,requiredVersion:`^${e.version}`}},"react-dom":{lib:()=>i,version:i.version,scope:t,shareConfig:{singleton:!0,requiredVersion:`^${e.version}`}}}:{}}adapter(e,i=this.libs.scope,t=this.libs.React,c=this.libs.ReactDOM){let s=m(t.version),y=this;class b extends t.Component{containerRef;root;constructor(r){super(r),this.containerRef=t.createRef()}componentDidMount(){n("componentDidMount"),this.mountOriginalComponent(!0)}componentDidUpdate(){n("componentDidUpdate"),this.mountOriginalComponent()}componentWillUnmount(){n("componentWillUnmount"),this.unMountOriginalComponent()}unMountOriginalComponent(){this.containerRef.current&&(s<18?c.unmountComponentAtNode(this.containerRef.current):this.root.unmount())}async mountOriginalComponent(r){h(e)&&(e=await e.then(a=>a[i]));let u=t.createElement(e,this.props);if(s<18)(r?c.render:c.hydrate)(u,this.containerRef.current),n("shouldRender16",r,s);else if(n("shouldRender18",r,s),r){let{createRoot:a}=y.libs;this.root=a(this.containerRef.current),this.root.render(u)}else this.root.render()}render(){return t.createElement("div",{ref:this.containerRef})}}return b}},M=new l;export{l as ReactAdapter,M as reactAdapter};
|
|
2
2
|
//# sourceMappingURL=adapter.js.map
|
package/dist/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/helper/index.ts","../src/adapter/react.tsx"],"sourcesContent":["export const importJsVm = (content: string) => `data:text/javascript,${content}`\n\nexport function deepAssign<T>(target: any, ...sources: any): T {\n for (const source of sources) {\n for (const k in source) {\n const vs = source[k],\n vt = target[k]\n if (Object(vs) == vs && Object(vt) === vt) {\n target[k] = deepAssign(vt, vs)\n continue\n }\n target[k] = source[k]\n }\n }\n return target\n}\n\nexport const checkVersion = (version: string) => (version ? Number(version.split('.')[0]) : 0)\nexport const isPromise = (p: any) => p && Object.prototype.toString.call(p) === '[object Promise]'\n\n//\nexport const isDev = process.env.EMPSHARE_ENV === 'dev'\nexport const log = isDev ? console.log.bind(console, '[EMP Share]') : () => {}\n","import {checkVersion, isPromise} from 'src/helper'\nimport type {EMPShareRuntimeAdapterReactType, InitOptionsType} from 'src/types'\nimport {log} from '../helper'\n\n//\nlet globalLib = {}\nconst win: any = window\n//\nlog('process.env.EMPSHARE_ENV', process.env.EMPSHARE_ENV)\n//\nconst {EMPShareGlobalVal} = win || {}\nif (EMPShareGlobalVal && EMPShareGlobalVal.frameworkLib) {\n globalLib = win[EMPShareGlobalVal.frameworkLib]\n}\n//\nexport class ReactAdapter {\n libs: EMPShareRuntimeAdapterReactType = {\n scope: 'default',\n ...globalLib,\n }\n constructor(op?: EMPShareRuntimeAdapterReactType) {\n if (op) this.setup(op)\n }\n public setup(o?: EMPShareRuntimeAdapterReactType | string) {\n if (o) {\n if (typeof o === 'string') o = window[o]\n this.libs = {...this.libs, ...(o as any)}\n }\n }\n get shared(): InitOptionsType['shared'] {\n const {React, ReactDOM, scope} = this.libs as EMPShareRuntimeAdapterReactType\n return {\n
|
|
1
|
+
{"version":3,"sources":["../src/helper/index.ts","../src/adapter/react.tsx"],"sourcesContent":["export const importJsVm = (content: string) => `data:text/javascript,${content}`\n\nexport function deepAssign<T>(target: any, ...sources: any): T {\n for (const source of sources) {\n for (const k in source) {\n const vs = source[k],\n vt = target[k]\n if (Object(vs) == vs && Object(vt) === vt) {\n target[k] = deepAssign(vt, vs)\n continue\n }\n target[k] = source[k]\n }\n }\n return target\n}\n\nexport const checkVersion = (version: string) => (version ? Number(version.split('.')[0]) : 0)\nexport const isPromise = (p: any) => p && Object.prototype.toString.call(p) === '[object Promise]'\n\n//\nexport const isDev = process.env.EMPSHARE_ENV === 'dev'\nexport const log = isDev ? console.log.bind(console, '[EMP Share]') : () => {}\n","import { checkVersion, isPromise } from 'src/helper'\nimport type { EMPShareRuntimeAdapterReactType, InitOptionsType } from 'src/types'\nimport { log } from '../helper'\n\n//\nlet globalLib = {}\nconst win: any = window\n//\nlog('process.env.EMPSHARE_ENV', process.env.EMPSHARE_ENV)\n//\nconst { EMPShareGlobalVal } = win || {}\nif (EMPShareGlobalVal && EMPShareGlobalVal.frameworkLib) {\n globalLib = win[EMPShareGlobalVal.frameworkLib]\n}\n//\nexport class ReactAdapter {\n libs: EMPShareRuntimeAdapterReactType = {\n scope: 'default',\n ...globalLib,\n }\n constructor(op?: EMPShareRuntimeAdapterReactType) {\n if (op) this.setup(op)\n }\n public setup(o?: EMPShareRuntimeAdapterReactType | string) {\n if (o) {\n if (typeof o === 'string') o = window[o]\n this.libs = { ...this.libs, ...(o as any) }\n }\n }\n get shared(): InitOptionsType['shared'] {\n const { React, ReactDOM, scope } = this.libs as EMPShareRuntimeAdapterReactType\n if (React && ReactDOM) {\n return {\n react: {\n lib: () => React,\n version: React.version,\n scope,\n shareConfig: {\n singleton: true,\n requiredVersion: `^${React.version}`,\n },\n },\n 'react-dom': {\n lib: () => ReactDOM,\n version: ReactDOM.version,\n scope,\n shareConfig: {\n singleton: true,\n requiredVersion: `^${React.version}`,\n },\n },\n }\n } else {\n return {}\n }\n\n }\n adapter<P = any>(\n component: any,\n scope: string = this.libs.scope,\n React: any = this.libs.React,\n ReactDOM: any = this.libs.ReactDOM,\n ): P {\n const reactVersion = checkVersion(React.version)\n const self = this\n class WrappedComponent extends React.Component {\n public containerRef: any\n public root: any\n constructor(props: P) {\n super(props as any)\n this.containerRef = React.createRef()\n }\n\n componentDidMount() {\n log('componentDidMount')\n this.mountOriginalComponent(true)\n }\n\n componentDidUpdate() {\n log('componentDidUpdate')\n this.mountOriginalComponent()\n }\n\n componentWillUnmount() {\n log('componentWillUnmount')\n this.unMountOriginalComponent()\n }\n unMountOriginalComponent() {\n if (!this.containerRef.current) return\n if (reactVersion < 18) {\n ReactDOM.unmountComponentAtNode(this.containerRef.current)\n } else {\n this.root.unmount()\n }\n }\n async mountOriginalComponent(shouldRender?: boolean) {\n if (isPromise(component))\n component = await component.then((m: any) => {\n return m[scope]\n })\n const element = React.createElement(component, this.props)\n\n if (reactVersion < 18) {\n const Render = shouldRender ? ReactDOM.render : ReactDOM.hydrate\n Render(element, this.containerRef.current)\n log('shouldRender16', shouldRender, reactVersion)\n } else {\n log('shouldRender18', shouldRender, reactVersion)\n if (shouldRender) {\n const { createRoot } = self.libs\n this.root = createRoot(this.containerRef.current!)\n this.root.render(element)\n } else {\n // const {hydrateRoot} = self.libs\n // this.root = hydrateRoot(this.containerRef.current!, element)\n this.root.render()\n }\n }\n }\n\n render() {\n return <div ref={this.containerRef} />\n }\n }\n return WrappedComponent as any\n }\n}\n\nexport const reactAdapter = new ReactAdapter()\n"],"mappings":"AAiBO,IAAMA,EAAgBC,GAAqBA,EAAU,OAAOA,EAAQ,MAAM,GAAG,EAAE,CAAC,CAAC,EAAI,EAC/EC,EAAaC,GAAWA,GAAK,OAAO,UAAU,SAAS,KAAKA,CAAC,IAAM,mBAGnEC,EAAQ,GACRC,EAAMD,EAAQ,QAAQ,IAAI,KAAK,QAAS,aAAa,EAAI,IAAM,CAAC,ECjB7E,IAAIE,EAAY,CAAC,EACXC,EAAW,OAEjBC,EAAI,2BAA4B,MAAwB,EAExD,GAAM,CAAE,kBAAAC,CAAkB,EAAIF,GAAO,CAAC,EAClCE,GAAqBA,EAAkB,eACzCH,EAAYC,EAAIE,EAAkB,YAAY,GAGzC,IAAMC,EAAN,KAAmB,CACxB,KAAwC,CACtC,MAAO,UACP,GAAGJ,CACL,EACA,YAAYK,EAAsC,CAC5CA,GAAI,KAAK,MAAMA,CAAE,CACvB,CACO,MAAMC,EAA8C,CACrDA,IACE,OAAOA,GAAM,WAAUA,EAAI,OAAOA,CAAC,GACvC,KAAK,KAAO,CAAE,GAAG,KAAK,KAAM,GAAIA,CAAU,EAE9C,CACA,IAAI,QAAoC,CACtC,GAAM,CAAE,MAAAC,EAAO,SAAAC,EAAU,MAAAC,CAAM,EAAI,KAAK,KACxC,OAAIF,GAASC,EACJ,CACL,MAAO,CACL,IAAK,IAAMD,EACX,QAASA,EAAM,QACf,MAAAE,EACA,YAAa,CACX,UAAW,GACX,gBAAiB,IAAIF,EAAM,OAAO,EACpC,CACF,EACA,YAAa,CACX,IAAK,IAAMC,EACX,QAASA,EAAS,QAClB,MAAAC,EACA,YAAa,CACX,UAAW,GACX,gBAAiB,IAAIF,EAAM,OAAO,EACpC,CACF,CACF,EAEO,CAAC,CAGZ,CACA,QACEG,EACAD,EAAgB,KAAK,KAAK,MAC1BF,EAAa,KAAK,KAAK,MACvBC,EAAgB,KAAK,KAAK,SACvB,CACH,IAAMG,EAAeC,EAAaL,EAAM,OAAO,EACzCM,EAAO,KACb,MAAMC,UAAyBP,EAAM,SAAU,CACtC,aACA,KACP,YAAYQ,EAAU,CACpB,MAAMA,CAAY,EAClB,KAAK,aAAeR,EAAM,UAAU,CACtC,CAEA,mBAAoB,CAClBL,EAAI,mBAAmB,EACvB,KAAK,uBAAuB,EAAI,CAClC,CAEA,oBAAqB,CACnBA,EAAI,oBAAoB,EACxB,KAAK,uBAAuB,CAC9B,CAEA,sBAAuB,CACrBA,EAAI,sBAAsB,EAC1B,KAAK,yBAAyB,CAChC,CACA,0BAA2B,CACpB,KAAK,aAAa,UACnBS,EAAe,GACjBH,EAAS,uBAAuB,KAAK,aAAa,OAAO,EAEzD,KAAK,KAAK,QAAQ,EAEtB,CACA,MAAM,uBAAuBQ,EAAwB,CAC/CC,EAAUP,CAAS,IACrBA,EAAY,MAAMA,EAAU,KAAMQ,GACzBA,EAAET,CAAK,CACf,GACH,IAAMU,EAAUZ,EAAM,cAAcG,EAAW,KAAK,KAAK,EAEzD,GAAIC,EAAe,IACFK,EAAeR,EAAS,OAASA,EAAS,SAClDW,EAAS,KAAK,aAAa,OAAO,EACzCjB,EAAI,iBAAkBc,EAAcL,CAAY,UAEhDT,EAAI,iBAAkBc,EAAcL,CAAY,EAC5CK,EAAc,CAChB,GAAM,CAAE,WAAAI,CAAW,EAAIP,EAAK,KAC5B,KAAK,KAAOO,EAAW,KAAK,aAAa,OAAQ,EACjD,KAAK,KAAK,OAAOD,CAAO,CAC1B,MAGE,KAAK,KAAK,OAAO,CAGvB,CAEA,QAAS,CACP,OAAOZ,EAAA,cAAC,OAAI,IAAK,KAAK,aAAc,CACtC,CACF,CACA,OAAOO,CACT,CACF,EAEaO,EAAe,IAAIjB","names":["checkVersion","version","isPromise","p","isDev","log","globalLib","win","log","EMPShareGlobalVal","ReactAdapter","op","o","React","ReactDOM","scope","component","reactVersion","checkVersion","self","WrappedComponent","props","shouldRender","isPromise","m","element","createRoot","reactAdapter"]}
|