@feedma/react-gen-ui-resolver
Version:
A react js version for dynamic resolution of gen ui components
2 lines (1 loc) • 1.25 kB
JavaScript
(function(e,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("react/jsx-runtime"),require("react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react"],o):(e=typeof globalThis<"u"?globalThis:e||self,o(e.ReactGenUiResolver={},e.React,e.React))})(this,(function(e,o,s){"use strict";const a=async()=>{const t=await import("__federation__");return t.__federation_method_getRemote&&t.__federation_method_setRemote?{getRemote:t.__federation_method_getRemote,setRemote:t.__federation_method_setRemote}:null},d=({url:t,name:r,module:i})=>s.lazy(async()=>{const n=await a();if(!n)throw new Error("Module federation is not configured. Please ensure @originjs/vite-plugin-federation is properly set up in your host application. The host application must configure the federation plugin and expose the federation runtime.");return n.setRemote(r,{url:()=>Promise.resolve(t),format:"esm",from:"vite"}),n.getRemote(r,i)}),m=({url:t,name:r,module:i,props:n})=>o.jsx(s.Suspense,{fallback:o.jsx("div",{children:"Loading remote component..."}),children:(()=>{const u=d({url:t,name:r,module:i});return o.jsx(u,{...n})})()});e.DynamicRemoteComponentLoader=m,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));