@empjs/share 3.10.0 → 3.10.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 CHANGED
@@ -1,144 +1,2 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/adapter/index.ts
21
- var adapter_exports = {};
22
- __export(adapter_exports, {
23
- ReactAdapter: () => ReactAdapter,
24
- reactAdapter: () => reactAdapter
25
- });
26
- module.exports = __toCommonJS(adapter_exports);
27
-
28
- // src/helper/index.ts
29
- var checkVersion = (version) => version ? Number(version.split(".")[0]) : 0;
30
- var isPromise = (p) => p && Object.prototype.toString.call(p) === "[object Promise]";
31
- var isDev = true;
32
- var log = isDev ? console.log.bind(console, "[EMP Share]") : () => {
33
- };
34
-
35
- // src/adapter/react.tsx
36
- var globalLib = {};
37
- var win = window;
38
- log("process.env.EMPSHARE_ENV", "dev");
39
- var { EMPShareGlobalVal } = win || {};
40
- if (EMPShareGlobalVal && EMPShareGlobalVal.frameworkLib) {
41
- globalLib = win[EMPShareGlobalVal.frameworkLib];
42
- }
43
- var ReactAdapter = class {
44
- libs = {
45
- scope: "default",
46
- ...globalLib
47
- };
48
- constructor(op) {
49
- if (op) this.setup(op);
50
- }
51
- setup(o) {
52
- if (o) {
53
- if (typeof o === "string") o = window[o];
54
- this.libs = { ...this.libs, ...o };
55
- }
56
- }
57
- get shared() {
58
- const { React, ReactDOM, scope } = this.libs;
59
- return {
60
- react: {
61
- lib: () => React,
62
- version: React.version,
63
- scope,
64
- shareConfig: {
65
- singleton: true,
66
- requiredVersion: `^${React.version}`
67
- }
68
- },
69
- "react-dom": {
70
- lib: () => ReactDOM,
71
- version: ReactDOM.version,
72
- scope,
73
- shareConfig: {
74
- singleton: true,
75
- requiredVersion: `^${React.version}`
76
- }
77
- }
78
- };
79
- }
80
- adapter(component, scope = this.libs.scope, React = this.libs.React, ReactDOM = this.libs.ReactDOM) {
81
- const reactVersion = checkVersion(React.version);
82
- const self = this;
83
- class WrappedComponent extends React.Component {
84
- containerRef;
85
- root;
86
- constructor(props) {
87
- super(props);
88
- this.containerRef = React.createRef();
89
- }
90
- componentDidMount() {
91
- log("componentDidMount");
92
- this.mountOriginalComponent(true);
93
- }
94
- componentDidUpdate() {
95
- log("componentDidUpdate");
96
- this.mountOriginalComponent();
97
- }
98
- componentWillUnmount() {
99
- log("componentWillUnmount");
100
- this.unMountOriginalComponent();
101
- }
102
- unMountOriginalComponent() {
103
- if (!this.containerRef.current) return;
104
- if (reactVersion < 18) {
105
- ReactDOM.unmountComponentAtNode(this.containerRef.current);
106
- } else {
107
- this.root.unmount();
108
- }
109
- }
110
- async mountOriginalComponent(shouldRender) {
111
- if (isPromise(component))
112
- component = await component.then((m) => {
113
- return m[scope];
114
- });
115
- const element = React.createElement(component, this.props);
116
- if (reactVersion < 18) {
117
- const Render = shouldRender ? ReactDOM.render : ReactDOM.hydrate;
118
- Render(element, this.containerRef.current);
119
- log("shouldRender16", shouldRender, reactVersion);
120
- } else {
121
- log("shouldRender18", shouldRender, reactVersion);
122
- if (shouldRender) {
123
- const { createRoot } = self.libs;
124
- this.root = createRoot(this.containerRef.current);
125
- this.root.render(element);
126
- } else {
127
- this.root.render();
128
- }
129
- }
130
- }
131
- render() {
132
- return /* @__PURE__ */ React.createElement("div", { ref: this.containerRef });
133
- }
134
- }
135
- return WrappedComponent;
136
- }
137
- };
138
- var reactAdapter = new ReactAdapter();
139
- // Annotate the CommonJS export names for ESM import in node:
140
- 0 && (module.exports = {
141
- ReactAdapter,
142
- reactAdapter
143
- });
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});
144
2
  //# sourceMappingURL=adapter.cjs.map
@@ -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 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 }\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":[]}
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 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 }\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":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,EAAA,iBAAAC,IAAA,eAAAC,EAAAJ,GCiBO,IAAMK,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,CAAC,kBAAAC,CAAiB,EAAIF,GAAO,CAAC,EAChCE,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,CAAC,GAAG,KAAK,KAAM,GAAIA,CAAS,EAE5C,CACA,IAAI,QAAoC,CACtC,GAAM,CAAC,MAAAC,EAAO,SAAAC,EAAU,MAAAC,CAAK,EAAI,KAAK,KACtC,MAAO,CACL,MAAO,CACL,IAAK,IAAMF,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,CACF,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,CAAC,WAAAI,CAAU,EAAIP,EAAK,KAC1B,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":["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,116 +1,2 @@
1
- // src/helper/index.ts
2
- var checkVersion = (version) => version ? Number(version.split(".")[0]) : 0;
3
- var isPromise = (p) => p && Object.prototype.toString.call(p) === "[object Promise]";
4
- var isDev = true;
5
- var log = isDev ? console.log.bind(console, "[EMP Share]") : () => {
6
- };
7
-
8
- // src/adapter/react.tsx
9
- var globalLib = {};
10
- var win = window;
11
- log("process.env.EMPSHARE_ENV", "dev");
12
- var { EMPShareGlobalVal } = win || {};
13
- if (EMPShareGlobalVal && EMPShareGlobalVal.frameworkLib) {
14
- globalLib = win[EMPShareGlobalVal.frameworkLib];
15
- }
16
- var ReactAdapter = class {
17
- libs = {
18
- scope: "default",
19
- ...globalLib
20
- };
21
- constructor(op) {
22
- if (op) this.setup(op);
23
- }
24
- setup(o) {
25
- if (o) {
26
- if (typeof o === "string") o = window[o];
27
- this.libs = { ...this.libs, ...o };
28
- }
29
- }
30
- get shared() {
31
- const { React, ReactDOM, scope } = this.libs;
32
- return {
33
- react: {
34
- lib: () => React,
35
- version: React.version,
36
- scope,
37
- shareConfig: {
38
- singleton: true,
39
- requiredVersion: `^${React.version}`
40
- }
41
- },
42
- "react-dom": {
43
- lib: () => ReactDOM,
44
- version: ReactDOM.version,
45
- scope,
46
- shareConfig: {
47
- singleton: true,
48
- requiredVersion: `^${React.version}`
49
- }
50
- }
51
- };
52
- }
53
- adapter(component, scope = this.libs.scope, React = this.libs.React, ReactDOM = this.libs.ReactDOM) {
54
- const reactVersion = checkVersion(React.version);
55
- const self = this;
56
- class WrappedComponent extends React.Component {
57
- containerRef;
58
- root;
59
- constructor(props) {
60
- super(props);
61
- this.containerRef = React.createRef();
62
- }
63
- componentDidMount() {
64
- log("componentDidMount");
65
- this.mountOriginalComponent(true);
66
- }
67
- componentDidUpdate() {
68
- log("componentDidUpdate");
69
- this.mountOriginalComponent();
70
- }
71
- componentWillUnmount() {
72
- log("componentWillUnmount");
73
- this.unMountOriginalComponent();
74
- }
75
- unMountOriginalComponent() {
76
- if (!this.containerRef.current) return;
77
- if (reactVersion < 18) {
78
- ReactDOM.unmountComponentAtNode(this.containerRef.current);
79
- } else {
80
- this.root.unmount();
81
- }
82
- }
83
- async mountOriginalComponent(shouldRender) {
84
- if (isPromise(component))
85
- component = await component.then((m) => {
86
- return m[scope];
87
- });
88
- const element = React.createElement(component, this.props);
89
- if (reactVersion < 18) {
90
- const Render = shouldRender ? ReactDOM.render : ReactDOM.hydrate;
91
- Render(element, this.containerRef.current);
92
- log("shouldRender16", shouldRender, reactVersion);
93
- } else {
94
- log("shouldRender18", shouldRender, reactVersion);
95
- if (shouldRender) {
96
- const { createRoot } = self.libs;
97
- this.root = createRoot(this.containerRef.current);
98
- this.root.render(element);
99
- } else {
100
- this.root.render();
101
- }
102
- }
103
- }
104
- render() {
105
- return /* @__PURE__ */ React.createElement("div", { ref: this.containerRef });
106
- }
107
- }
108
- return WrappedComponent;
109
- }
110
- };
111
- var reactAdapter = new ReactAdapter();
112
- export {
113
- ReactAdapter,
114
- reactAdapter
115
- };
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};
116
2
  //# sourceMappingURL=adapter.js.map
@@ -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 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 }\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":[]}
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 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 }\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,CAAC,kBAAAC,CAAiB,EAAIF,GAAO,CAAC,EAChCE,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,CAAC,GAAG,KAAK,KAAM,GAAIA,CAAS,EAE5C,CACA,IAAI,QAAoC,CACtC,GAAM,CAAC,MAAAC,EAAO,SAAAC,EAAU,MAAAC,CAAK,EAAI,KAAK,KACtC,MAAO,CACL,MAAO,CACL,IAAK,IAAMF,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,CACF,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,CAAC,WAAAI,CAAU,EAAIP,EAAK,KAC1B,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"]}
@@ -1,108 +1,2 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/adapter/vue.ts
21
- var vue_exports = {};
22
- __export(vue_exports, {
23
- Vue2InVue3Adapter: () => Vue2InVue3Adapter
24
- });
25
- module.exports = __toCommonJS(vue_exports);
26
- var globalVue3Cache = { vue: { defineComponent: null, h: null, ref: null }, increaseId: Date.now() };
27
- var win = window;
28
- function bindSlotContext(target, context) {
29
- return Object.keys(target).map((key) => {
30
- const vnode = target[key];
31
- vnode.context = context;
32
- return vnode;
33
- });
34
- }
35
- function vue2ToVue3(WrapperComponent, wrapperId) {
36
- const Vue2 = win.EMP_ADAPTER_VUE.Vue;
37
- let vm;
38
- return {
39
- mounted() {
40
- const slots = this.$slots ? bindSlotContext(this.$slots, this.__self) : null;
41
- vm = new Vue2({
42
- render: (createElement) => {
43
- return createElement(
44
- WrapperComponent,
45
- {
46
- on: this.$attrs,
47
- attrs: this.$attrs,
48
- props: { ...this.$props, ...this.$attrs },
49
- // 合并 props 和 attrs
50
- scopedSlots: this.$scopedSlots
51
- },
52
- slots
53
- );
54
- }
55
- });
56
- vm.$mount(`#${wrapperId}`);
57
- },
58
- // 继承原组件的所有 props 定义
59
- props: WrapperComponent.props || {},
60
- render() {
61
- vm && vm.$forceUpdate();
62
- }
63
- };
64
- }
65
- var initVue2InVue3Adapter = (vue) => {
66
- globalVue3Cache.vue = vue;
67
- };
68
- var Vue2InVue3Adapter = (() => {
69
- initVue2InVue3Adapter(win.Vue);
70
- const { defineComponent, h, ref } = globalVue3Cache.vue;
71
- if (!(defineComponent && h && ref)) {
72
- console.warn("emp3 Vue2InVue3Adapter has not init");
73
- return () => {
74
- };
75
- }
76
- return defineComponent({
77
- // 声明props
78
- props: {
79
- mfComponent: {
80
- type: Function,
81
- required: true
82
- }
83
- },
84
- setup() {
85
- const renderId = ref(globalVue3Cache.increaseId);
86
- globalVue3Cache.increaseId++;
87
- return {
88
- renderId
89
- };
90
- },
91
- render() {
92
- const { renderId } = this;
93
- return h("div", [h("div", { id: `vue2-in-vue3${renderId}` })]);
94
- },
95
- mounted() {
96
- ;
97
- (async () => {
98
- const fc = await this.mfComponent();
99
- vue2ToVue3(fc.default, `vue2-in-vue3${this.renderId}`).mounted();
100
- })();
101
- }
102
- });
103
- })();
104
- // Annotate the CommonJS export names for ESM import in node:
105
- 0 && (module.exports = {
106
- Vue2InVue3Adapter
107
- });
1
+ "use strict";var u=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var l=(e,n)=>{for(var s in n)u(e,s,{get:n[s],enumerable:!0})},h=(e,n,s,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of c(n))!p.call(e,o)&&o!==s&&u(e,o,{get:()=>n[o],enumerable:!(t=a(n,o))||t.enumerable});return e};var f=e=>h(u({},"__esModule",{value:!0}),e);var $={};l($,{Vue2InVue3Adapter:()=>V});module.exports=f($);var r={vue:{defineComponent:null,h:null,ref:null},increaseId:Date.now()},i=window;function m(e,n){return Object.keys(e).map(s=>{let t=e[s];return t.context=n,t})}function v(e,n){let s=i.EMP_ADAPTER_VUE.Vue,t;return{mounted(){let o=this.$slots?m(this.$slots,this.__self):null;t=new s({render:d=>d(e,{on:this.$attrs,attrs:this.$attrs,props:{...this.$props,...this.$attrs},scopedSlots:this.$scopedSlots},o)}),t.$mount(`#${n}`)},props:e.props||{},render(){t&&t.$forceUpdate()}}}var y=e=>{r.vue=e},V=(()=>{y(i.Vue);let{defineComponent:e,h:n,ref:s}=r.vue;return e&&n&&s?e({props:{mfComponent:{type:Function,required:!0}},setup(){let t=s(r.increaseId);return r.increaseId++,{renderId:t}},render(){let{renderId:t}=this;return n("div",[n("div",{id:`vue2-in-vue3${t}`})])},mounted(){(async()=>{let t=await this.mfComponent();v(t.default,`vue2-in-vue3${this.renderId}`).mounted()})()}}):(console.warn("emp3 Vue2InVue3Adapter has not init"),()=>{})})();0&&(module.exports={Vue2InVue3Adapter});
108
2
  //# sourceMappingURL=adapterVue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/adapter/vue.ts"],"sourcesContent":["const globalVue3Cache: any = {vue: {defineComponent: null, h: null, ref: null}, increaseId: Date.now()}\nconst win = window as any\nfunction bindSlotContext(target: any, context: any) {\n return Object.keys(target).map(key => {\n const vnode = target[key]\n vnode.context = context\n return vnode\n })\n}\n\nfunction vue2ToVue3(WrapperComponent: any, wrapperId: string): any {\n const Vue2 = win.EMP_ADAPTER_VUE.Vue\n let vm: any\n return {\n mounted() {\n const slots = this.$slots ? bindSlotContext(this.$slots, this.__self) : null\n vm = new Vue2({\n render: (createElement: any) => {\n return createElement(\n WrapperComponent,\n {\n on: this.$attrs,\n attrs: this.$attrs,\n props: {...this.$props, ...this.$attrs}, // 合并 props 和 attrs\n scopedSlots: this.$scopedSlots,\n },\n slots,\n )\n },\n })\n vm.$mount(`#${wrapperId}`)\n },\n // 继承原组件的所有 props 定义\n props: WrapperComponent.props || {},\n render() {\n vm && vm.$forceUpdate()\n },\n }\n}\n\nconst initVue2InVue3Adapter = (vue: any) => {\n globalVue3Cache.vue = vue\n}\n// 创建组件\nexport const Vue2InVue3Adapter = (() => {\n initVue2InVue3Adapter(win.Vue)\n const {defineComponent, h, ref} = globalVue3Cache.vue\n if (!(defineComponent && h && ref)) {\n console.warn('emp3 Vue2InVue3Adapter has not init')\n return () => {}\n }\n return defineComponent({\n // 声明props\n props: {\n mfComponent: {\n type: Function,\n required: true,\n },\n },\n setup() {\n const renderId = ref(globalVue3Cache.increaseId)\n globalVue3Cache.increaseId++\n return {\n renderId,\n }\n },\n render() {\n const {renderId} = this\n return h('div', [h('div', {id: `vue2-in-vue3${renderId}`})])\n },\n mounted() {\n ;(async () => {\n const fc = await this.mfComponent()\n vue2ToVue3(fc.default, `vue2-in-vue3${this.renderId}`).mounted()\n })()\n },\n })\n})()\n\n// const Vue3InVue2Adapter = () => {\n// console.log('not implement')\n// }\n\n// export default {Vue2InVue3Adapter, Vue3InVue2Adapter}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAM,kBAAuB,EAAC,KAAK,EAAC,iBAAiB,MAAM,GAAG,MAAM,KAAK,KAAI,GAAG,YAAY,KAAK,IAAI,EAAC;AACtG,IAAM,MAAM;AACZ,SAAS,gBAAgB,QAAa,SAAc;AAClD,SAAO,OAAO,KAAK,MAAM,EAAE,IAAI,SAAO;AACpC,UAAM,QAAQ,OAAO,GAAG;AACxB,UAAM,UAAU;AAChB,WAAO;AAAA,EACT,CAAC;AACH;AAEA,SAAS,WAAW,kBAAuB,WAAwB;AACjE,QAAM,OAAO,IAAI,gBAAgB;AACjC,MAAI;AACJ,SAAO;AAAA,IACL,UAAU;AACR,YAAM,QAAQ,KAAK,SAAS,gBAAgB,KAAK,QAAQ,KAAK,MAAM,IAAI;AACxE,WAAK,IAAI,KAAK;AAAA,QACZ,QAAQ,CAAC,kBAAuB;AAC9B,iBAAO;AAAA,YACL;AAAA,YACA;AAAA,cACE,IAAI,KAAK;AAAA,cACT,OAAO,KAAK;AAAA,cACZ,OAAO,EAAC,GAAG,KAAK,QAAQ,GAAG,KAAK,OAAM;AAAA;AAAA,cACtC,aAAa,KAAK;AAAA,YACpB;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,SAAG,OAAO,IAAI,SAAS,EAAE;AAAA,IAC3B;AAAA;AAAA,IAEA,OAAO,iBAAiB,SAAS,CAAC;AAAA,IAClC,SAAS;AACP,YAAM,GAAG,aAAa;AAAA,IACxB;AAAA,EACF;AACF;AAEA,IAAM,wBAAwB,CAAC,QAAa;AAC1C,kBAAgB,MAAM;AACxB;AAEO,IAAM,qBAAqB,MAAM;AACtC,wBAAsB,IAAI,GAAG;AAC7B,QAAM,EAAC,iBAAiB,GAAG,IAAG,IAAI,gBAAgB;AAClD,MAAI,EAAE,mBAAmB,KAAK,MAAM;AAClC,YAAQ,KAAK,qCAAqC;AAClD,WAAO,MAAM;AAAA,IAAC;AAAA,EAChB;AACA,SAAO,gBAAgB;AAAA;AAAA,IAErB,OAAO;AAAA,MACL,aAAa;AAAA,QACX,MAAM;AAAA,QACN,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,QAAQ;AACN,YAAM,WAAW,IAAI,gBAAgB,UAAU;AAC/C,sBAAgB;AAChB,aAAO;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAAA,IACA,SAAS;AACP,YAAM,EAAC,SAAQ,IAAI;AACnB,aAAO,EAAE,OAAO,CAAC,EAAE,OAAO,EAAC,IAAI,eAAe,QAAQ,GAAE,CAAC,CAAC,CAAC;AAAA,IAC7D;AAAA,IACA,UAAU;AACR;AAAC,OAAC,YAAY;AACZ,cAAM,KAAK,MAAM,KAAK,YAAY;AAClC,mBAAW,GAAG,SAAS,eAAe,KAAK,QAAQ,EAAE,EAAE,QAAQ;AAAA,MACjE,GAAG;AAAA,IACL;AAAA,EACF,CAAC;AACH,GAAG;","names":[]}
1
+ {"version":3,"sources":["../src/adapter/vue.ts"],"sourcesContent":["const globalVue3Cache: any = {vue: {defineComponent: null, h: null, ref: null}, increaseId: Date.now()}\nconst win = window as any\nfunction bindSlotContext(target: any, context: any) {\n return Object.keys(target).map(key => {\n const vnode = target[key]\n vnode.context = context\n return vnode\n })\n}\n\nfunction vue2ToVue3(WrapperComponent: any, wrapperId: string): any {\n const Vue2 = win.EMP_ADAPTER_VUE.Vue\n let vm: any\n return {\n mounted() {\n const slots = this.$slots ? bindSlotContext(this.$slots, this.__self) : null\n vm = new Vue2({\n render: (createElement: any) => {\n return createElement(\n WrapperComponent,\n {\n on: this.$attrs,\n attrs: this.$attrs,\n props: {...this.$props, ...this.$attrs}, // 合并 props 和 attrs\n scopedSlots: this.$scopedSlots,\n },\n slots,\n )\n },\n })\n vm.$mount(`#${wrapperId}`)\n },\n // 继承原组件的所有 props 定义\n props: WrapperComponent.props || {},\n render() {\n vm && vm.$forceUpdate()\n },\n }\n}\n\nconst initVue2InVue3Adapter = (vue: any) => {\n globalVue3Cache.vue = vue\n}\n// 创建组件\nexport const Vue2InVue3Adapter = (() => {\n initVue2InVue3Adapter(win.Vue)\n const {defineComponent, h, ref} = globalVue3Cache.vue\n if (!(defineComponent && h && ref)) {\n console.warn('emp3 Vue2InVue3Adapter has not init')\n return () => {}\n }\n return defineComponent({\n // 声明props\n props: {\n mfComponent: {\n type: Function,\n required: true,\n },\n },\n setup() {\n const renderId = ref(globalVue3Cache.increaseId)\n globalVue3Cache.increaseId++\n return {\n renderId,\n }\n },\n render() {\n const {renderId} = this\n return h('div', [h('div', {id: `vue2-in-vue3${renderId}`})])\n },\n mounted() {\n ;(async () => {\n const fc = await this.mfComponent()\n vue2ToVue3(fc.default, `vue2-in-vue3${this.renderId}`).mounted()\n })()\n },\n })\n})()\n\n// const Vue3InVue2Adapter = () => {\n// console.log('not implement')\n// }\n\n// export default {Vue2InVue3Adapter, Vue3InVue2Adapter}\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAMI,EAAuB,CAAC,IAAK,CAAC,gBAAiB,KAAM,EAAG,KAAM,IAAK,IAAI,EAAG,WAAY,KAAK,IAAI,CAAC,EAChGC,EAAM,OACZ,SAASC,EAAgBC,EAAaC,EAAc,CAClD,OAAO,OAAO,KAAKD,CAAM,EAAE,IAAIE,GAAO,CACpC,IAAMC,EAAQH,EAAOE,CAAG,EACxB,OAAAC,EAAM,QAAUF,EACTE,CACT,CAAC,CACH,CAEA,SAASC,EAAWC,EAAuBC,EAAwB,CACjE,IAAMC,EAAOT,EAAI,gBAAgB,IAC7BU,EACJ,MAAO,CACL,SAAU,CACR,IAAMC,EAAQ,KAAK,OAASV,EAAgB,KAAK,OAAQ,KAAK,MAAM,EAAI,KACxES,EAAK,IAAID,EAAK,CACZ,OAASG,GACAA,EACLL,EACA,CACE,GAAI,KAAK,OACT,MAAO,KAAK,OACZ,MAAO,CAAC,GAAG,KAAK,OAAQ,GAAG,KAAK,MAAM,EACtC,YAAa,KAAK,YACpB,EACAI,CACF,CAEJ,CAAC,EACDD,EAAG,OAAO,IAAIF,CAAS,EAAE,CAC3B,EAEA,MAAOD,EAAiB,OAAS,CAAC,EAClC,QAAS,CACPG,GAAMA,EAAG,aAAa,CACxB,CACF,CACF,CAEA,IAAMG,EAAyBC,GAAa,CAC1Cf,EAAgB,IAAMe,CACxB,EAEajB,GAAqB,IAAM,CACtCgB,EAAsBb,EAAI,GAAG,EAC7B,GAAM,CAAC,gBAAAe,EAAiB,EAAAC,EAAG,IAAAC,CAAG,EAAIlB,EAAgB,IAClD,OAAMgB,GAAmBC,GAAKC,EAIvBF,EAAgB,CAErB,MAAO,CACL,YAAa,CACX,KAAM,SACN,SAAU,EACZ,CACF,EACA,OAAQ,CACN,IAAMG,EAAWD,EAAIlB,EAAgB,UAAU,EAC/C,OAAAA,EAAgB,aACT,CACL,SAAAmB,CACF,CACF,EACA,QAAS,CACP,GAAM,CAAC,SAAAA,CAAQ,EAAI,KACnB,OAAOF,EAAE,MAAO,CAACA,EAAE,MAAO,CAAC,GAAI,eAAeE,CAAQ,EAAE,CAAC,CAAC,CAAC,CAC7D,EACA,SAAU,EACN,SAAY,CACZ,IAAMC,EAAK,MAAM,KAAK,YAAY,EAClCb,EAAWa,EAAG,QAAS,eAAe,KAAK,QAAQ,EAAE,EAAE,QAAQ,CACjE,GAAG,CACL,CACF,CAAC,GA5BC,QAAQ,KAAK,qCAAqC,EAC3C,IAAM,CAAC,EA4BlB,GAAG","names":["vue_exports","__export","Vue2InVue3Adapter","__toCommonJS","globalVue3Cache","win","bindSlotContext","target","context","key","vnode","vue2ToVue3","WrapperComponent","wrapperId","Vue2","vm","slots","createElement","initVue2InVue3Adapter","vue","defineComponent","h","ref","renderId","fc"]}
@@ -1,83 +1,2 @@
1
- // src/adapter/vue.ts
2
- var globalVue3Cache = { vue: { defineComponent: null, h: null, ref: null }, increaseId: Date.now() };
3
- var win = window;
4
- function bindSlotContext(target, context) {
5
- return Object.keys(target).map((key) => {
6
- const vnode = target[key];
7
- vnode.context = context;
8
- return vnode;
9
- });
10
- }
11
- function vue2ToVue3(WrapperComponent, wrapperId) {
12
- const Vue2 = win.EMP_ADAPTER_VUE.Vue;
13
- let vm;
14
- return {
15
- mounted() {
16
- const slots = this.$slots ? bindSlotContext(this.$slots, this.__self) : null;
17
- vm = new Vue2({
18
- render: (createElement) => {
19
- return createElement(
20
- WrapperComponent,
21
- {
22
- on: this.$attrs,
23
- attrs: this.$attrs,
24
- props: { ...this.$props, ...this.$attrs },
25
- // 合并 props 和 attrs
26
- scopedSlots: this.$scopedSlots
27
- },
28
- slots
29
- );
30
- }
31
- });
32
- vm.$mount(`#${wrapperId}`);
33
- },
34
- // 继承原组件的所有 props 定义
35
- props: WrapperComponent.props || {},
36
- render() {
37
- vm && vm.$forceUpdate();
38
- }
39
- };
40
- }
41
- var initVue2InVue3Adapter = (vue) => {
42
- globalVue3Cache.vue = vue;
43
- };
44
- var Vue2InVue3Adapter = (() => {
45
- initVue2InVue3Adapter(win.Vue);
46
- const { defineComponent, h, ref } = globalVue3Cache.vue;
47
- if (!(defineComponent && h && ref)) {
48
- console.warn("emp3 Vue2InVue3Adapter has not init");
49
- return () => {
50
- };
51
- }
52
- return defineComponent({
53
- // 声明props
54
- props: {
55
- mfComponent: {
56
- type: Function,
57
- required: true
58
- }
59
- },
60
- setup() {
61
- const renderId = ref(globalVue3Cache.increaseId);
62
- globalVue3Cache.increaseId++;
63
- return {
64
- renderId
65
- };
66
- },
67
- render() {
68
- const { renderId } = this;
69
- return h("div", [h("div", { id: `vue2-in-vue3${renderId}` })]);
70
- },
71
- mounted() {
72
- ;
73
- (async () => {
74
- const fc = await this.mfComponent();
75
- vue2ToVue3(fc.default, `vue2-in-vue3${this.renderId}`).mounted();
76
- })();
77
- }
78
- });
79
- })();
80
- export {
81
- Vue2InVue3Adapter
82
- };
1
+ var o={vue:{defineComponent:null,h:null,ref:null},increaseId:Date.now()},r=window;function d(n,t){return Object.keys(n).map(s=>{let e=n[s];return e.context=t,e})}function a(n,t){let s=r.EMP_ADAPTER_VUE.Vue,e;return{mounted(){let u=this.$slots?d(this.$slots,this.__self):null;e=new s({render:i=>i(n,{on:this.$attrs,attrs:this.$attrs,props:{...this.$props,...this.$attrs},scopedSlots:this.$scopedSlots},u)}),e.$mount(`#${t}`)},props:n.props||{},render(){e&&e.$forceUpdate()}}}var c=n=>{o.vue=n},p=(()=>{c(r.Vue);let{defineComponent:n,h:t,ref:s}=o.vue;return n&&t&&s?n({props:{mfComponent:{type:Function,required:!0}},setup(){let e=s(o.increaseId);return o.increaseId++,{renderId:e}},render(){let{renderId:e}=this;return t("div",[t("div",{id:`vue2-in-vue3${e}`})])},mounted(){(async()=>{let e=await this.mfComponent();a(e.default,`vue2-in-vue3${this.renderId}`).mounted()})()}}):(console.warn("emp3 Vue2InVue3Adapter has not init"),()=>{})})();export{p as Vue2InVue3Adapter};
83
2
  //# sourceMappingURL=adapterVue.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/adapter/vue.ts"],"sourcesContent":["const globalVue3Cache: any = {vue: {defineComponent: null, h: null, ref: null}, increaseId: Date.now()}\nconst win = window as any\nfunction bindSlotContext(target: any, context: any) {\n return Object.keys(target).map(key => {\n const vnode = target[key]\n vnode.context = context\n return vnode\n })\n}\n\nfunction vue2ToVue3(WrapperComponent: any, wrapperId: string): any {\n const Vue2 = win.EMP_ADAPTER_VUE.Vue\n let vm: any\n return {\n mounted() {\n const slots = this.$slots ? bindSlotContext(this.$slots, this.__self) : null\n vm = new Vue2({\n render: (createElement: any) => {\n return createElement(\n WrapperComponent,\n {\n on: this.$attrs,\n attrs: this.$attrs,\n props: {...this.$props, ...this.$attrs}, // 合并 props 和 attrs\n scopedSlots: this.$scopedSlots,\n },\n slots,\n )\n },\n })\n vm.$mount(`#${wrapperId}`)\n },\n // 继承原组件的所有 props 定义\n props: WrapperComponent.props || {},\n render() {\n vm && vm.$forceUpdate()\n },\n }\n}\n\nconst initVue2InVue3Adapter = (vue: any) => {\n globalVue3Cache.vue = vue\n}\n// 创建组件\nexport const Vue2InVue3Adapter = (() => {\n initVue2InVue3Adapter(win.Vue)\n const {defineComponent, h, ref} = globalVue3Cache.vue\n if (!(defineComponent && h && ref)) {\n console.warn('emp3 Vue2InVue3Adapter has not init')\n return () => {}\n }\n return defineComponent({\n // 声明props\n props: {\n mfComponent: {\n type: Function,\n required: true,\n },\n },\n setup() {\n const renderId = ref(globalVue3Cache.increaseId)\n globalVue3Cache.increaseId++\n return {\n renderId,\n }\n },\n render() {\n const {renderId} = this\n return h('div', [h('div', {id: `vue2-in-vue3${renderId}`})])\n },\n mounted() {\n ;(async () => {\n const fc = await this.mfComponent()\n vue2ToVue3(fc.default, `vue2-in-vue3${this.renderId}`).mounted()\n })()\n },\n })\n})()\n\n// const Vue3InVue2Adapter = () => {\n// console.log('not implement')\n// }\n\n// export default {Vue2InVue3Adapter, Vue3InVue2Adapter}\n"],"mappings":";AAAA,IAAM,kBAAuB,EAAC,KAAK,EAAC,iBAAiB,MAAM,GAAG,MAAM,KAAK,KAAI,GAAG,YAAY,KAAK,IAAI,EAAC;AACtG,IAAM,MAAM;AACZ,SAAS,gBAAgB,QAAa,SAAc;AAClD,SAAO,OAAO,KAAK,MAAM,EAAE,IAAI,SAAO;AACpC,UAAM,QAAQ,OAAO,GAAG;AACxB,UAAM,UAAU;AAChB,WAAO;AAAA,EACT,CAAC;AACH;AAEA,SAAS,WAAW,kBAAuB,WAAwB;AACjE,QAAM,OAAO,IAAI,gBAAgB;AACjC,MAAI;AACJ,SAAO;AAAA,IACL,UAAU;AACR,YAAM,QAAQ,KAAK,SAAS,gBAAgB,KAAK,QAAQ,KAAK,MAAM,IAAI;AACxE,WAAK,IAAI,KAAK;AAAA,QACZ,QAAQ,CAAC,kBAAuB;AAC9B,iBAAO;AAAA,YACL;AAAA,YACA;AAAA,cACE,IAAI,KAAK;AAAA,cACT,OAAO,KAAK;AAAA,cACZ,OAAO,EAAC,GAAG,KAAK,QAAQ,GAAG,KAAK,OAAM;AAAA;AAAA,cACtC,aAAa,KAAK;AAAA,YACpB;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,SAAG,OAAO,IAAI,SAAS,EAAE;AAAA,IAC3B;AAAA;AAAA,IAEA,OAAO,iBAAiB,SAAS,CAAC;AAAA,IAClC,SAAS;AACP,YAAM,GAAG,aAAa;AAAA,IACxB;AAAA,EACF;AACF;AAEA,IAAM,wBAAwB,CAAC,QAAa;AAC1C,kBAAgB,MAAM;AACxB;AAEO,IAAM,qBAAqB,MAAM;AACtC,wBAAsB,IAAI,GAAG;AAC7B,QAAM,EAAC,iBAAiB,GAAG,IAAG,IAAI,gBAAgB;AAClD,MAAI,EAAE,mBAAmB,KAAK,MAAM;AAClC,YAAQ,KAAK,qCAAqC;AAClD,WAAO,MAAM;AAAA,IAAC;AAAA,EAChB;AACA,SAAO,gBAAgB;AAAA;AAAA,IAErB,OAAO;AAAA,MACL,aAAa;AAAA,QACX,MAAM;AAAA,QACN,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,QAAQ;AACN,YAAM,WAAW,IAAI,gBAAgB,UAAU;AAC/C,sBAAgB;AAChB,aAAO;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAAA,IACA,SAAS;AACP,YAAM,EAAC,SAAQ,IAAI;AACnB,aAAO,EAAE,OAAO,CAAC,EAAE,OAAO,EAAC,IAAI,eAAe,QAAQ,GAAE,CAAC,CAAC,CAAC;AAAA,IAC7D;AAAA,IACA,UAAU;AACR;AAAC,OAAC,YAAY;AACZ,cAAM,KAAK,MAAM,KAAK,YAAY;AAClC,mBAAW,GAAG,SAAS,eAAe,KAAK,QAAQ,EAAE,EAAE,QAAQ;AAAA,MACjE,GAAG;AAAA,IACL;AAAA,EACF,CAAC;AACH,GAAG;","names":[]}
1
+ {"version":3,"sources":["../src/adapter/vue.ts"],"sourcesContent":["const globalVue3Cache: any = {vue: {defineComponent: null, h: null, ref: null}, increaseId: Date.now()}\nconst win = window as any\nfunction bindSlotContext(target: any, context: any) {\n return Object.keys(target).map(key => {\n const vnode = target[key]\n vnode.context = context\n return vnode\n })\n}\n\nfunction vue2ToVue3(WrapperComponent: any, wrapperId: string): any {\n const Vue2 = win.EMP_ADAPTER_VUE.Vue\n let vm: any\n return {\n mounted() {\n const slots = this.$slots ? bindSlotContext(this.$slots, this.__self) : null\n vm = new Vue2({\n render: (createElement: any) => {\n return createElement(\n WrapperComponent,\n {\n on: this.$attrs,\n attrs: this.$attrs,\n props: {...this.$props, ...this.$attrs}, // 合并 props 和 attrs\n scopedSlots: this.$scopedSlots,\n },\n slots,\n )\n },\n })\n vm.$mount(`#${wrapperId}`)\n },\n // 继承原组件的所有 props 定义\n props: WrapperComponent.props || {},\n render() {\n vm && vm.$forceUpdate()\n },\n }\n}\n\nconst initVue2InVue3Adapter = (vue: any) => {\n globalVue3Cache.vue = vue\n}\n// 创建组件\nexport const Vue2InVue3Adapter = (() => {\n initVue2InVue3Adapter(win.Vue)\n const {defineComponent, h, ref} = globalVue3Cache.vue\n if (!(defineComponent && h && ref)) {\n console.warn('emp3 Vue2InVue3Adapter has not init')\n return () => {}\n }\n return defineComponent({\n // 声明props\n props: {\n mfComponent: {\n type: Function,\n required: true,\n },\n },\n setup() {\n const renderId = ref(globalVue3Cache.increaseId)\n globalVue3Cache.increaseId++\n return {\n renderId,\n }\n },\n render() {\n const {renderId} = this\n return h('div', [h('div', {id: `vue2-in-vue3${renderId}`})])\n },\n mounted() {\n ;(async () => {\n const fc = await this.mfComponent()\n vue2ToVue3(fc.default, `vue2-in-vue3${this.renderId}`).mounted()\n })()\n },\n })\n})()\n\n// const Vue3InVue2Adapter = () => {\n// console.log('not implement')\n// }\n\n// export default {Vue2InVue3Adapter, Vue3InVue2Adapter}\n"],"mappings":"AAAA,IAAMA,EAAuB,CAAC,IAAK,CAAC,gBAAiB,KAAM,EAAG,KAAM,IAAK,IAAI,EAAG,WAAY,KAAK,IAAI,CAAC,EAChGC,EAAM,OACZ,SAASC,EAAgBC,EAAaC,EAAc,CAClD,OAAO,OAAO,KAAKD,CAAM,EAAE,IAAIE,GAAO,CACpC,IAAMC,EAAQH,EAAOE,CAAG,EACxB,OAAAC,EAAM,QAAUF,EACTE,CACT,CAAC,CACH,CAEA,SAASC,EAAWC,EAAuBC,EAAwB,CACjE,IAAMC,EAAOT,EAAI,gBAAgB,IAC7BU,EACJ,MAAO,CACL,SAAU,CACR,IAAMC,EAAQ,KAAK,OAASV,EAAgB,KAAK,OAAQ,KAAK,MAAM,EAAI,KACxES,EAAK,IAAID,EAAK,CACZ,OAASG,GACAA,EACLL,EACA,CACE,GAAI,KAAK,OACT,MAAO,KAAK,OACZ,MAAO,CAAC,GAAG,KAAK,OAAQ,GAAG,KAAK,MAAM,EACtC,YAAa,KAAK,YACpB,EACAI,CACF,CAEJ,CAAC,EACDD,EAAG,OAAO,IAAIF,CAAS,EAAE,CAC3B,EAEA,MAAOD,EAAiB,OAAS,CAAC,EAClC,QAAS,CACPG,GAAMA,EAAG,aAAa,CACxB,CACF,CACF,CAEA,IAAMG,EAAyBC,GAAa,CAC1Cf,EAAgB,IAAMe,CACxB,EAEaC,GAAqB,IAAM,CACtCF,EAAsBb,EAAI,GAAG,EAC7B,GAAM,CAAC,gBAAAgB,EAAiB,EAAAC,EAAG,IAAAC,CAAG,EAAInB,EAAgB,IAClD,OAAMiB,GAAmBC,GAAKC,EAIvBF,EAAgB,CAErB,MAAO,CACL,YAAa,CACX,KAAM,SACN,SAAU,EACZ,CACF,EACA,OAAQ,CACN,IAAMG,EAAWD,EAAInB,EAAgB,UAAU,EAC/C,OAAAA,EAAgB,aACT,CACL,SAAAoB,CACF,CACF,EACA,QAAS,CACP,GAAM,CAAC,SAAAA,CAAQ,EAAI,KACnB,OAAOF,EAAE,MAAO,CAACA,EAAE,MAAO,CAAC,GAAI,eAAeE,CAAQ,EAAE,CAAC,CAAC,CAAC,CAC7D,EACA,SAAU,EACN,SAAY,CACZ,IAAMC,EAAK,MAAM,KAAK,YAAY,EAClCd,EAAWc,EAAG,QAAS,eAAe,KAAK,QAAQ,EAAE,EAAE,QAAQ,CACjE,GAAG,CACL,CACF,CAAC,GA5BC,QAAQ,KAAK,qCAAqC,EAC3C,IAAM,CAAC,EA4BlB,GAAG","names":["globalVue3Cache","win","bindSlotContext","target","context","key","vnode","vue2ToVue3","WrapperComponent","wrapperId","Vue2","vm","slots","createElement","initVue2InVue3Adapter","vue","Vue2InVue3Adapter","defineComponent","h","ref","renderId","fc"]}