@canopyconnect/components
Version:
Canopy Connect Components loading utility
1 lines • 4.48 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","mappings":"AACA,IAAIA,EAAsB,CCA1BA,EAAwB,CAACC,EAASC,KACjC,IAAI,IAAIC,KAAOD,EACXF,EAAoBI,EAAEF,EAAYC,KAASH,EAAoBI,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAE1E,ECNDH,EAAwB,CAACS,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,I,KCIlF,IAAII,EAEG,SAASC,IACd,YAI0BC,IAAtBF,IAIJA,EAAoB,IAAIG,SAAQ,CAACC,EAASC,MA2B5C,SAAoBC,EAAoBC,GACtC,MAAMC,EAASC,SAASC,cAAc,UAEtCF,EAAOG,IAAMC,uDACbJ,EAAOK,OAAQ,EACfL,EAAOM,cAAgB,OAEvBN,EAAOO,iBAAiB,OAAQC,EAAgB,CAAEC,MAAM,IACxDT,EAAOO,iBAAiB,QAASG,EAAiB,CAAED,MAAM,IAE1D,MAAME,EAAaV,SAASW,MAAQX,SAASY,KAC7C,IAAKF,EACH,MAAM,IAAIG,MAAM,4DAIlB,SAASN,IACPR,EAAOe,oBAAoB,QAASL,GACpCZ,GACF,CAEA,SAASY,EAAgBM,GACvBhB,EAAOe,oBAAoB,OAAQP,GACnCT,EAAQiB,EAAMC,MAChB,CAVAN,EAAWO,YAAYlB,EAWzB,CAnDImB,EACE,KACM,4BAA6BC,OAC/BxB,EAAQwB,OAAOC,yBAEfxB,EAAO,IAAIiB,MAAM,yDACnB,IAEDQ,IACC9B,OAAoBE,EAEpBG,EACE,IAAIiB,MACF,kDAGA,CAAEQ,UAEL,GAEJ,KAxBM9B,CAJX,C","sources":["webpack://@canopyconnect/components/webpack/bootstrap","webpack://@canopyconnect/components/webpack/runtime/define property getters","webpack://@canopyconnect/components/webpack/runtime/hasOwnProperty shorthand","webpack://@canopyconnect/components/./src/npm/index.ts"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import type CanopyConnectComponents from '../components/index.js';\n\nexport type { CanopyConnectComponents };\n\nlet componentsPromise: Promise<CanopyConnectComponents> | undefined;\n\nexport function loadCanopyConnectComponents(): Promise<CanopyConnectComponents> {\n return getComponentsPromise();\n}\n\nfunction getComponentsPromise(): Promise<CanopyConnectComponents> {\n if (componentsPromise !== undefined) {\n return componentsPromise;\n }\n\n componentsPromise = new Promise((resolve, reject) => {\n loadScript(\n () => {\n if ('CanopyConnectComponents' in window) {\n resolve(window.CanopyConnectComponents as CanopyConnectComponents);\n } else {\n reject(new Error('Failed to initialize Canopy Connect Components script'));\n }\n },\n (cause?: unknown) => {\n componentsPromise = undefined; // Allow retrying\n\n reject(\n new Error(\n 'Failed to load Canopy Connect Components script',\n // @ts-expect-error - The `cause` property is not available in our target\n // environment, but it is safe to pass for those that do support it.\n { cause }\n )\n );\n }\n );\n });\n\n return componentsPromise;\n}\n\nfunction loadScript(onLoad: () => void, onError: (cause?: unknown) => void): void {\n const script = document.createElement('script');\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- injected by webpack\n script.src = process.env.COMPONENTS_URL!;\n script.async = true;\n script.fetchPriority = 'high';\n\n script.addEventListener('load', onLoadListener, { once: true });\n script.addEventListener('error', onErrorListener, { once: true });\n\n const headOrBody = document.head || document.body;\n if (!headOrBody) {\n throw new Error('Failed to find <head> or <body> element to append script');\n }\n headOrBody.appendChild(script);\n\n function onLoadListener() {\n script.removeEventListener('error', onErrorListener);\n onLoad();\n }\n\n function onErrorListener(event: ErrorEvent) {\n script.removeEventListener('load', onLoadListener);\n onError(event.error);\n }\n}\n"],"names":["__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","componentsPromise","loadCanopyConnectComponents","undefined","Promise","resolve","reject","onLoad","onError","script","document","createElement","src","process","async","fetchPriority","addEventListener","onLoadListener","once","onErrorListener","headOrBody","head","body","Error","removeEventListener","event","error","appendChild","loadScript","window","CanopyConnectComponents","cause"],"sourceRoot":""}