@lwrjs/loader 0.22.9 → 0.22.11

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.
Files changed (37) hide show
  1. package/README.md +33 -1
  2. package/build/assets/prod/lwr-error-shim.js +1 -1
  3. package/build/assets/prod/lwr-loader-shim-legacy.bundle.js +530 -25
  4. package/build/assets/prod/lwr-loader-shim-legacy.bundle.min.js +3 -3
  5. package/build/assets/prod/lwr-loader-shim-legacy.js +317 -14
  6. package/build/assets/prod/lwr-loader-shim.bundle.js +123 -12
  7. package/build/assets/prod/lwr-loader-shim.bundle.min.js +3 -3
  8. package/build/assets/prod/lwr-loader-shim.js +105 -8
  9. package/build/cjs/modules/lwr/loader/validateLoadSpecifier.cjs +4 -1
  10. package/build/cjs/modules/lwr/loaderLegacy/importMap/importMap.cjs +1 -1
  11. package/build/cjs/modules/lwr/loaderLegacy/importMap/importMapResolver.cjs +12 -0
  12. package/build/cjs/modules/lwr/loaderLegacy/importMap/utils.cjs +13 -1
  13. package/build/cjs/modules/lwr/loaderLegacy/utils/validation.cjs +93 -0
  14. package/build/modules/lwr/esmLoader/esmLoader.js +1 -1
  15. package/build/modules/lwr/loader/loader.js +18 -4
  16. package/build/modules/lwr/loader/validateLoadSpecifier.d.ts +2 -1
  17. package/build/modules/lwr/loader/validateLoadSpecifier.js +11 -2
  18. package/build/modules/lwr/loaderLegacy/importMap/importMap.js +3 -2
  19. package/build/modules/lwr/loaderLegacy/importMap/importMapResolver.d.ts +1 -0
  20. package/build/modules/lwr/loaderLegacy/importMap/importMapResolver.js +13 -0
  21. package/build/modules/lwr/loaderLegacy/importMap/utils.d.ts +12 -1
  22. package/build/modules/lwr/loaderLegacy/importMap/utils.js +24 -2
  23. package/build/modules/lwr/loaderLegacy/loaderLegacy.d.ts +11 -1
  24. package/build/modules/lwr/loaderLegacy/loaderLegacy.js +213 -11
  25. package/build/modules/lwr/loaderLegacy/utils/validation.d.ts +50 -0
  26. package/build/modules/lwr/loaderLegacy/utils/validation.js +114 -0
  27. package/build/shim/defineCacheResolver.d.ts +10 -0
  28. package/build/shim/defineCacheResolver.js +78 -0
  29. package/build/shim/loader.d.ts +5 -1
  30. package/build/shim/loader.js +14 -3
  31. package/build/shim/shim.js +3 -2
  32. package/build/shim-legacy/loaderLegacy.d.ts +7 -2
  33. package/build/shim-legacy/loaderLegacy.js +15 -4
  34. package/build/shim-legacy/shimLegacy.d.ts +14 -0
  35. package/build/shim-legacy/shimLegacy.js +53 -4
  36. package/build/types.d.ts +22 -0
  37. package/package.json +6 -6
@@ -4,9 +4,9 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
- /* LWR Legacy Module Loader Shim v0.22.9 */
8
- !function(){"use strict";var e=function(e){return e[e.Start=0]="Start",e[e.End=1]="End",e}(e||{});let t;function r(e){t=e}const o=globalThis.performance,s=void 0!==o&&"function"==typeof o.mark&&"function"==typeof o.clearMarks&&"function"==typeof o.measure&&"function"==typeof o.clearMeasures;function i(e,t){return t?`${e}-${t}`:e}function n(e,t,r){const o=i(e,t);return t&&r?`${o}_${r}`:o}function a(e,t){const r=e||t?{...t}:null;return r&&e&&(r.specifier=e),r}function l({id:r,specifier:i,specifierIndex:l,metadata:d}){if(t)t({id:r,phase:e.Start,specifier:i,metadata:d,specifierIndex:l});else if(s){const e=n(r,i,l),t=a(i,d);o.mark(e,{detail:t})}}function d({id:r,specifier:l,specifierIndex:d,metadata:c}){if(t)t({id:r,phase:e.End,specifier:l,metadata:c,specifierIndex:d});else if(s){const e=n(r,l,d),t=i(r,l),s=a(l,c);o.measure(t,{start:e,detail:s}),o.clearMarks(e),o.clearMeasures(t)}}function c(e,t,o,s){const{autoBoot:i,customInit:n}=e;if(function(e,t){if(!e&&!t)throw new Error("The customInit hook is required when autoBoot is false");if(e&&t)throw new Error("The customInit hook must not be defined when autoBoot is true")}(i,n),n){n({initializeApp:t,define:o,onBootstrapError:s,attachDispatcher:r},e)}}const u="function"==typeof setTimeout,p="undefined"!=typeof console;class f{__init(){this.defineCache={}}__init2(){this.orderedDefs=[]}constructor(e){f.prototype.__init.call(this),f.prototype.__init2.call(this),u&&(this.watchdogTimerId=this.startWatchdogTimer()),this.global=e,this.config=e.LWR,this.loaderModule="lwr/loaderLegacy/v/0_22_9",this.errorHandler=this.config.onError;const t=this.tempDefine.bind(this);e.LWR.define=t,this.bootReady=this.config.autoBoot;try{this.createProfilerModule(e.LWR.define),c(Object.freeze(this.config),this.postCustomInit.bind(this),t,(e=>{this.errorHandler=e}))}catch(e){this.enterErrorState(e)}}canInit(){if(!this.config.requiredModules)throw new Error("Unexpected missing requiredModules");const e=this.config.requiredModules.every((e=>this.orderedDefs.includes(e)));return this.bootReady&&e}tempDefine(...e){const t=e[0];this.defineCache[t]=e,this.orderedDefs.push(t),this.canInit()&&(u&&clearTimeout(this.watchdogTimerId),this.initApp())}postCustomInit(){this.bootReady=!0,this.canInit()&&(u&&clearTimeout(this.watchdogTimerId),this.initApp())}initApp(){try{const e={baseUrl:this.config.baseUrl,profiler:{logOperationStart:l,logOperationEnd:d},appMetadata:{appId:this.config.appId,bootstrapModule:this.config.bootstrapModule,rootComponent:this.config.rootComponent,rootComponents:this.config.rootComponents}},t=function(e,t,r,o){if(!t||"function"!=typeof t[2])throw new Error(`Expected loader with specifier "${e}" to be a module`);const s={};t[2].call(null,s);const{Loader:i}=s;if(!i)throw new Error("Expected Loader class to be defined");const n=new i(r);return o&&o.length&&n.registerExternalModules(o),n.define(e,["exports"],(e=>{Object.assign(e,{define:n.define.bind(n),load:n.load.bind(n),services:n.services,clearRegistry:n.clearRegistry.bind(n)})}),t[3]),n}(this.loaderModule,this.defineCache[this.loaderModule],e,this.config.preloadModules);this.mountApp(t),t&&t.getModuleWarnings}catch(e){this.enterErrorState(e)}}waitForBody(){return new Promise((e=>{if(document.body)e();else{const t=new MutationObserver((()=>{document.body&&(t.disconnect(),e())}));t.observe(document.documentElement,{childList:!0})}}))}waitForDOMContentLoaded(){return"interactive"===document.readyState||"complete"===document.readyState?Promise.resolve():new Promise((e=>{document.addEventListener("DOMContentLoaded",(()=>{e()}))}))}createProfilerModule(e){e("lwr/profiler/v/0_22_9",["exports"],(e=>{Object.assign(e,{logOperationStart:l,logOperationEnd:d})}),{})}mountApp(e){const{bootstrapModule:t,rootComponent:r,importMappings:o,rootComponents:s,serverData:i,endpoints:n}=this.config;this.global.LWR=Object.freeze({define:e.define.bind(e),rootComponent:r,rootComponents:s,serverData:i||{},importMappings:o,endpoints:n,env:this.global.LWR.env}),this.orderedDefs.forEach((t=>{t!==this.loaderModule&&e.define(...this.defineCache[t])}));const{initDeferDOM:a}=this.config;e.registerImportMappings(o).then((()=>"undefined"==typeof window||void 0===typeof document?Promise.resolve():a?this.waitForDOMContentLoaded():this.waitForBody())).then((()=>e.load(t))).catch((e=>{this.enterErrorState(new Error(`Application ${r||t} could not be loaded: ${e}`))}))}enterErrorState(e){l({id:"lwr.bootstrap.error"}),this.errorHandler?this.errorHandler(e):p&&console.error(`An error occurred during LWR bootstrap. ${e.message}`,e.stack)}startWatchdogTimer(){return setTimeout((()=>{const e=this.config.requiredModules&&this.config.requiredModules.filter((e=>!this.orderedDefs.includes(e)))||[];this.enterErrorState(new Error(`Failed to load required modules - timed out: ${e.join(", ")}`))}),6e4)}logWarnings(e){for(const t in e)e[t].length&&console.warn(t,e[t])}}const h=globalThis;h.LWR.requiredModules=h.LWR.requiredModules||[],h.LWR.requiredModules.indexOf("lwr/loaderLegacy/v/0_22_9")<0&&h.LWR.requiredModules.push("lwr/loaderLegacy/v/0_22_9"),new f(h)}(),LWR.define("lwr/loaderLegacy/v/0_22_9",["exports"],(function(exports){"use strict";const templateRegex=/\{([0-9]+)\}/g;function templateString(e,t){return e.replace(templateRegex,((e,r)=>t[r]))}function generateErrorMessage(e,t){const r=Array.isArray(t)?templateString(e.message,t):e.message;return`LWR${e.code}: ${r}`}class LoaderError extends Error{constructor(e,t){super(),this.message=generateErrorMessage(e,t)}}function invariant(e,t){if(!e)throw new LoaderError(t)}const MISSING_NAME=Object.freeze({code:3e3,message:"A module name is required.",level:0}),FAIL_INSTANTIATE=Object.freeze({code:3004,message:"Failed to instantiate module: {0}",level:0}),NO_AMD_REQUIRE=Object.freeze({code:3005,message:"AMD require not supported.",level:0}),FAILED_DEP=Object.freeze({code:3006,level:0,message:"Failed to load dependency: {0}"}),INVALID_DEPS=Object.freeze({code:3007,message:"Unexpected value received for dependencies argument; expected an array.",level:0}),FAIL_LOAD=Object.freeze({code:3008,level:0,message:"Error loading {0}"});Object.freeze({code:3008,level:0,message:"Error loading empty code for {0}"});const UNRESOLVED=Object.freeze({code:3009,level:0,message:"Unable to resolve bare specifier: {0}"}),NO_BASE_URL=Object.freeze({code:3010,level:0,message:"baseUrl not set"});Object.freeze({code:3011,level:0,message:"Cannot set a loader service multiple times"});const INVALID_HOOK=Object.freeze({code:3012,level:0,message:"Invalid hook received"}),INVALID_LOADER_SERVICE_RESPONSE=Object.freeze({code:3013,level:0,message:"Invalid response received from hook"}),MODULE_LOAD_TIMEOUT=Object.freeze({code:3014,level:0,message:"Error loading {0} - timed out"}),HTTP_FAIL_LOAD=Object.freeze({code:3015,level:0,message:"Error loading {0}, status code {1}"}),STALE_HOOK_ERROR=Object.freeze({code:3016,level:0,message:"An error occurred handling module conflict"});Object.freeze({code:3017,level:0,message:"Marking module(s) as externally loaded, but they are already loaded: {0}"});const FAIL_HOOK_LOAD=Object.freeze({code:3018,level:0,message:'Error loading "{0}" from hook'}),EXPORTER_ERROR=Object.freeze({code:3021,level:0,message:'Error evaluating module "{0}", error was {1}'}),NO_IMPORT_LWC=Object.freeze({code:3022,level:0,message:'Cannot dynamically import "lwc" with importer "{0}"'}),NO_BLOB_IMPORT=Object.freeze({code:3023,level:0,message:"Cannot import a blob URL"}),NO_IMPORT_LOADER=Object.freeze({code:3024,level:0,message:'Cannot dynamically import the LWR loader with importer "{0}"'});Object.freeze({code:3025,level:0,message:'Cannot dynamically import "transport" with importer "{0}"'});const BAD_IMPORT_MAP=Object.freeze({code:3011,level:0,message:"import map is not valid"}),hasDocument="undefined"!=typeof document,hasSetTimeout="function"==typeof setTimeout,hasConsole="undefined"!=typeof console,hasProcess="undefined"!=typeof process;function getBaseUrl(){let e;if(hasDocument){const t=document.querySelector("base[href]");e=t&&t.href}if(!e&&"undefined"!=typeof location){e=location.href.split("#")[0].split("?")[0];const t=e.lastIndexOf("/");-1!==t&&(e=e.slice(0,t+1))}return e}function isUrl(e){return-1!==e.indexOf("://")}function resolveIfNotPlainOrUrl(e,t){if(-1!==e.indexOf("\\")&&(e=e.replace(/\\/g,"/")),"/"===e[0]&&"/"===e[1])return t.slice(0,t.indexOf(":")+1)+e;if("."===e[0]&&("/"===e[1]||"."===e[1]&&("/"===e[2]||2===e.length&&(e+="/"))||1===e.length&&(e+="/"))||"/"===e[0]){const r=t.slice(0,t.indexOf(":")+1);let o;if("/"===t[r.length+1]?"file:"!==r?(o=t.slice(r.length+2),o=o.slice(o.indexOf("/")+1)):o=t.slice(8):o=t.slice(r.length+("/"===t[r.length]?1:0)),"/"===e[0])return t.slice(0,t.length-o.length-1)+e;const s=o.slice(0,o.lastIndexOf("/")+1)+e,i=[];let n=-1;for(let e=0;e<s.length;e++)-1!==n?"/"===s[e]&&(i.push(s.slice(n,e+1)),n=-1):"."===s[e]?"."!==s[e+1]||"/"!==s[e+2]&&e+2!==s.length?"/"===s[e+1]||e+1===s.length?e+=1:n=e:(i.pop(),e+=2):n=e;return-1!==n&&i.push(s.slice(n)),t.slice(0,t.length-o.length)+i.join("")}}function resolveUrl(e,t){return resolveIfNotPlainOrUrl(e,t)||(isUrl(e)?e:resolveIfNotPlainOrUrl("./"+e,t))}function createScript(e){const t=document.createElement("script");return t.async=!0,t.crossOrigin="anonymous",t.src=e,t}let lastWindowError$1,lastWindowErrorUrl;function loadModuleDef(e){return new Promise((function(t,r){if(hasDocument){const o=createScript(e);o.addEventListener("error",(()=>{r(new LoaderError(FAIL_LOAD,[e]))})),o.addEventListener("load",(()=>{document.head.removeChild(o),lastWindowErrorUrl===e?r(lastWindowError$1):t()})),document.head.appendChild(o)}}))}hasProcess&&process.env,hasDocument&&window.addEventListener("error",(e=>{lastWindowErrorUrl=e.filename,lastWindowError$1=e.error}));const MODULE_LOAD_TIMEOUT_TIMER=6e4;var MODULE_WARNING;!function(e){e.MODULE_REDEFINE="Module redefine attempted";e.MODULE_ALREADY_LOADED="Marking module(s) as externally loaded, but they are already loaded";e.ALIAS_UPDATE="Alias update attempt"}(MODULE_WARNING||(MODULE_WARNING={}));
7
+ /* LWR Legacy Module Loader Shim v0.22.11 */
8
+ !function(){"use strict";var e=function(e){return e[e.Start=0]="Start",e[e.End=1]="End",e}(e||{});let t;function r(e){t=e}const o=globalThis.performance,n=void 0!==o&&"function"==typeof o.mark&&"function"==typeof o.clearMarks&&"function"==typeof o.measure&&"function"==typeof o.clearMeasures;function i(e,t){return t?`${e}-${t}`:e}function s(e,t,r){const o=i(e,t);return t&&r?`${o}_${r}`:o}function a(e,t){const r=e||t?{...t}:null;return r&&e&&(r.specifier=e),r}function l({id:r,specifier:i,specifierIndex:l,metadata:c}){if(t)t({id:r,phase:e.Start,specifier:i,metadata:c,specifierIndex:l});else if(n){const e=s(r,i,l),t=a(i,c);o.mark(e,{detail:t})}}function c({id:r,specifier:l,specifierIndex:c,metadata:d}){if(t)t({id:r,phase:e.End,specifier:l,metadata:d,specifierIndex:c});else if(n){const e=s(r,l,c),t=i(r,l),n=a(l,d);o.measure(t,{start:e,detail:n}),o.clearMarks(e),o.clearMeasures(t)}}function d(e){const[,t,r]=e;if(Array.isArray(t)&&"function"==typeof r)return{deps:t,factory:r};if("function"==typeof t)return{deps:[],factory:t};throw new Error("Invalid module definition")}function p(e,t,r){if("exports"===e)return t;const o=r[e];if(!o)throw new Error(`Dependency "${e}" not found in defineCache for loader`);try{return function(e){const{deps:t,factory:r}=d(e);if(t.length>1||1===t.length&&"exports"!==t[0])throw new Error(`Loader dependencies must have no deps or only ['exports']; got [${t.join(", ")}]`);const o={},n=r(o);return void 0!==n?n:o}(o)}catch(t){const r=t instanceof Error?t.message:String(t);throw new Error(`Loader dependency "${e}" has invalid definition: ${r}`)}}function u(e,t,r){try{const{deps:e,factory:o}=function(e){const{deps:t,factory:r}=d(e);if(t.includes("exports"))return{deps:t,factory:r};const o=0===t.length;return{deps:["exports",...t],factory:(e,...t)=>{const n=o?r(e):r(...t);void 0!==n&&"object"==typeof n&&Object.assign(e,n)}}}(t),n={};return{factory:o,args:e.map((e=>p(e,n,r))),exportsObj:n}}catch(t){const r=t instanceof Error?t.message:String(t);throw new Error(`Expected loader with specifier "${e}" to be a module. ${r}`)}}function f(e,t,o,n){const{autoBoot:i,customInit:s}=e;if(function(e,t){if(!e&&!t)throw new Error("The customInit hook is required when autoBoot is false");if(e&&t)throw new Error("The customInit hook must not be defined when autoBoot is true")}(i,s),s){s({initializeApp:t,define:o,onBootstrapError:n,attachDispatcher:r},e)}}const h="undefined"!=typeof console;"undefined"!=typeof process&&process.env;const m=[/^lwc$/i,/^lwc\/v\//i,/^@lwc\//i,/^lightningmobileruntime\//i];function g(e,t){const r=e.toLowerCase();if(r.startsWith("blob:"))throw new Error(`Cannot map ${t} to blob: URL`);if(r.startsWith("data:"))throw new Error(`Cannot map ${t} to data: URL`)}function E(e){if("string"!=typeof e||0===e.length)throw new Error("Specifier must be a non-empty string");if(function(e){return m.some((t=>t.test(e)))}(e))throw new Error(`Cannot remap protected module: ${e}`)}function y(e,t,r){const o=r[e];void 0!==o?o!==t&&function(e,t,r){h&&console.warn("Package target "+r+", resolving target '"+t+"' for "+e)}(e,t,`already mapped to "${o}", ignoring conflicting mapping`):r[e]=t}function O(e){let t,r=e[0],o=1;for(;o<e.length;){const n=e[o],i=e[o+1];if(o+=2,("optionalAccess"===n||"optionalCall"===n)&&null==r)return;"access"===n||"optionalAccess"===n?(t=r,r=i(r)):"call"!==n&&"optionalCall"!==n||(r=i(((...e)=>r.call(t,...e))),t=void 0)}return r}const R="function"==typeof setTimeout,M="undefined"!=typeof console;class _{__init(){this.defineCache={}}__init2(){this.orderedDefs=[]}__init3(){this.importMapUpdatesCache={}}constructor(e){_.prototype.__init.call(this),_.prototype.__init2.call(this),_.prototype.__init3.call(this),R&&(this.watchdogTimerId=this.startWatchdogTimer()),this.global=e,this.config=e.LWR,this.loaderModule="lwr/loaderLegacy/v/0_22_11",this.errorHandler=this.config.onError;const t=this.tempDefine.bind(this);e.LWR.define=t;const r=this.tempImportMap.bind(this);e.LWR.importMap=r,this.bootReady=this.config.autoBoot;try{this.createProfilerModule(e.LWR.define),f(Object.freeze(this.config),this.postCustomInit.bind(this),t,(e=>{this.errorHandler=e}))}catch(e){this.enterErrorState(e)}}canInit(){if(!this.config.requiredModules)throw new Error("Unexpected missing requiredModules");const e=this.config.requiredModules.every((e=>this.orderedDefs.includes(e)));return this.bootReady&&e}tempDefine(...e){const t=e[0];this.defineCache[t]=e,this.orderedDefs.push(t),this.canInit()&&(R&&clearTimeout(this.watchdogTimerId),this.initApp())}tempImportMap(e){try{const t=function(e){if(!e||"object"!=typeof e)throw new Error("LWR.importMap() requires an object argument");const t=Object.entries(e);if(0===t.length)return h&&console.warn("LWR.importMap() called with empty update object"),null;const r={};for(const[e,o]of t){if(!Array.isArray(o))throw new Error("moduleNames must be an array");if(!e||"string"!=typeof e)throw new Error("moduleScriptURL must be a string");g(e,e);for(const t of o)E(t),t in r?h&&console.warn(`LWR.importMap(): duplicate module "${t}" — already mapped to "${r[t]}", ignoring mapping to "${e}"`):r[t]=e}return{imports:r}}(e);if(!t)return;for(const[e,r]of Object.entries(t.imports))y(e,r,this.importMapUpdatesCache)}catch(e){this.enterErrorState(e)}}getImportMappingsWithUpdates(){const e=this.config.importMappings,t={...O([e,"optionalAccess",e=>e.imports])||{}};for(const[e,r]of Object.entries(this.importMapUpdatesCache))y(e,r,t);return{...e||{},imports:t}}postCustomInit(){this.bootReady=!0,this.canInit()&&(R&&clearTimeout(this.watchdogTimerId),this.initApp())}initApp(){try{const e={baseUrl:this.config.baseUrl,profiler:{logOperationStart:l,logOperationEnd:c},appMetadata:{appId:this.config.appId,bootstrapModule:this.config.bootstrapModule,rootComponent:this.config.rootComponent,rootComponents:this.config.rootComponents}},t=function(e,t,r,o,n){if(!t||"function"!=typeof t[2])throw new Error(`Expected loader with specifier "${e}" to be a module`);const i={};if(n){const{factory:r,args:o,exportsObj:s}=u(e,t,n);r(...o),Object.assign(i,s)}else t[2].call(null,i);const{Loader:s}=i;if(!s)throw new Error("Expected Loader class to be defined");const a=new s(r);return o&&o.length&&a.registerExternalModules(o),a.define(e,["exports"],(e=>{Object.assign(e,{define:a.define.bind(a),load:a.load.bind(a),services:a.services,clearRegistry:a.clearRegistry.bind(a)})}),t[3]),a}(this.loaderModule,this.defineCache[this.loaderModule],e,this.config.preloadModules,this.defineCache);this.mountApp(t),t&&t.getModuleWarnings}catch(e){this.enterErrorState(e)}}waitForBody(){return new Promise((e=>{if(document.body)e();else{const t=new MutationObserver((()=>{document.body&&(t.disconnect(),e())}));t.observe(document.documentElement,{childList:!0})}}))}waitForDOMContentLoaded(){return"interactive"===document.readyState||"complete"===document.readyState?Promise.resolve():new Promise((e=>{document.addEventListener("DOMContentLoaded",(()=>{e()}))}))}createProfilerModule(e){e("lwr/profiler/v/0_22_11",["exports"],(e=>{Object.assign(e,{logOperationStart:l,logOperationEnd:c})}),{})}mountApp(e){const{bootstrapModule:t,rootComponent:r,rootComponents:o,serverData:n,endpoints:i}=this.config,s=this.getImportMappingsWithUpdates();this.global.LWR=Object.freeze({define:e.define.bind(e),importMap:e.importMap.bind(e),rootComponent:r,rootComponents:o,serverData:n||{},importMappings:s,endpoints:i,env:this.global.LWR.env}),this.orderedDefs.forEach((t=>{t!==this.loaderModule&&e.define(...this.defineCache[t])}));const{initDeferDOM:a}=this.config;e.registerImportMappings(s).then((()=>"undefined"==typeof window||"undefined"==typeof document?Promise.resolve():a?this.waitForDOMContentLoaded():this.waitForBody())).then((()=>e.load(t))).catch((e=>{this.enterErrorState(new Error(`Application ${r||t} could not be loaded: ${e}`))}))}enterErrorState(e){l({id:"lwr.bootstrap.error"}),this.errorHandler?this.errorHandler(e):M&&console.error(`An error occurred during LWR bootstrap. ${e.message}`,e.stack)}startWatchdogTimer(){return setTimeout((()=>{const e=this.config.requiredModules&&this.config.requiredModules.filter((e=>!this.orderedDefs.includes(e)))||[];this.enterErrorState(new Error(`Failed to load required modules - timed out: ${e.join(", ")}`))}),6e4)}logWarnings(e){for(const t in e)e[t].length&&console.warn(t,e[t])}}const w=globalThis;w.LWR.requiredModules=w.LWR.requiredModules||[],w.LWR.requiredModules.indexOf("lwr/loaderLegacy/v/0_22_11")<0&&w.LWR.requiredModules.push("lwr/loaderLegacy/v/0_22_11"),new _(w)}(),LWR.define("lwr/loaderLegacy/v/0_22_11",["exports"],(function(exports){"use strict";const templateRegex=/\{([0-9]+)\}/g;function templateString(e,t){return e.replace(templateRegex,((e,r)=>t[r]))}function generateErrorMessage(e,t){const r=Array.isArray(t)?templateString(e.message,t):e.message;return`LWR${e.code}: ${r}`}class LoaderError extends Error{constructor(e,t){super(),this.message=generateErrorMessage(e,t)}}function invariant(e,t){if(!e)throw new LoaderError(t)}const MISSING_NAME=Object.freeze({code:3e3,message:"A module name is required.",level:0}),FAIL_INSTANTIATE=Object.freeze({code:3004,message:"Failed to instantiate module: {0}",level:0}),NO_AMD_REQUIRE=Object.freeze({code:3005,message:"AMD require not supported.",level:0}),FAILED_DEP=Object.freeze({code:3006,level:0,message:"Failed to load dependency: {0}"}),INVALID_DEPS=Object.freeze({code:3007,message:"Unexpected value received for dependencies argument; expected an array.",level:0}),FAIL_LOAD=Object.freeze({code:3008,level:0,message:"Error loading {0}"});Object.freeze({code:3008,level:0,message:"Error loading empty code for {0}"});const UNRESOLVED=Object.freeze({code:3009,level:0,message:"Unable to resolve bare specifier: {0}"}),NO_BASE_URL=Object.freeze({code:3010,level:0,message:"baseUrl not set"});Object.freeze({code:3011,level:0,message:"Cannot set a loader service multiple times"});const INVALID_HOOK=Object.freeze({code:3012,level:0,message:"Invalid hook received"}),INVALID_LOADER_SERVICE_RESPONSE=Object.freeze({code:3013,level:0,message:"Invalid response received from hook"}),MODULE_LOAD_TIMEOUT=Object.freeze({code:3014,level:0,message:"Error loading {0} - timed out"}),HTTP_FAIL_LOAD=Object.freeze({code:3015,level:0,message:"Error loading {0}, status code {1}"}),STALE_HOOK_ERROR=Object.freeze({code:3016,level:0,message:"An error occurred handling module conflict"});Object.freeze({code:3017,level:0,message:"Marking module(s) as externally loaded, but they are already loaded: {0}"});const FAIL_HOOK_LOAD=Object.freeze({code:3018,level:0,message:'Error loading "{0}" from hook'}),EXPORTER_ERROR=Object.freeze({code:3021,level:0,message:'Error evaluating module "{0}", error was {1}'}),NO_IMPORT_LWC=Object.freeze({code:3022,level:0,message:'Cannot dynamically import "lwc" with importer "{0}"'}),NO_BLOB_IMPORT=Object.freeze({code:3023,level:0,message:"Cannot import a blob URL"}),NO_IMPORT_LOADER=Object.freeze({code:3024,level:0,message:'Cannot dynamically import the LWR loader with importer "{0}"'}),NO_IMPORT_TRANSPORT=Object.freeze({code:3025,level:0,message:'Cannot dynamically import "transport" with importer "{0}"'}),BAD_IMPORT_MAP=Object.freeze({code:3011,level:0,message:"import map is not valid"}),hasDocument="undefined"!=typeof document,hasSetTimeout="function"==typeof setTimeout,hasConsole="undefined"!=typeof console,hasProcess="undefined"!=typeof process;function getBaseUrl(){let e;if(hasDocument){const t=document.querySelector("base[href]");e=t&&t.href}if(!e&&"undefined"!=typeof location){e=location.href.split("#")[0].split("?")[0];const t=e.lastIndexOf("/");-1!==t&&(e=e.slice(0,t+1))}return e}function isUrl(e){return-1!==e.indexOf("://")}function resolveIfNotPlainOrUrl(e,t){if(-1!==e.indexOf("\\")&&(e=e.replace(/\\/g,"/")),"/"===e[0]&&"/"===e[1])return t.slice(0,t.indexOf(":")+1)+e;if("."===e[0]&&("/"===e[1]||"."===e[1]&&("/"===e[2]||2===e.length&&(e+="/"))||1===e.length&&(e+="/"))||"/"===e[0]){const r=t.slice(0,t.indexOf(":")+1);let o;if("/"===t[r.length+1]?"file:"!==r?(o=t.slice(r.length+2),o=o.slice(o.indexOf("/")+1)):o=t.slice(8):o=t.slice(r.length+("/"===t[r.length]?1:0)),"/"===e[0])return t.slice(0,t.length-o.length-1)+e;const n=o.slice(0,o.lastIndexOf("/")+1)+e,i=[];let s=-1;for(let e=0;e<n.length;e++)-1!==s?"/"===n[e]&&(i.push(n.slice(s,e+1)),s=-1):"."===n[e]?"."!==n[e+1]||"/"!==n[e+2]&&e+2!==n.length?"/"===n[e+1]||e+1===n.length?e+=1:s=e:(i.pop(),e+=2):s=e;return-1!==s&&i.push(n.slice(s)),t.slice(0,t.length-o.length)+i.join("")}}function resolveUrl(e,t){return resolveIfNotPlainOrUrl(e,t)||(isUrl(e)?e:resolveIfNotPlainOrUrl("./"+e,t))}function createScript(e){const t=document.createElement("script");return t.async=!0,t.crossOrigin="anonymous",t.src=e,t}let lastWindowError$1,lastWindowErrorUrl;function loadModuleDef(e){return new Promise((function(t,r){if(hasDocument){const o=createScript(e);o.addEventListener("error",(()=>{r(new LoaderError(FAIL_LOAD,[e]))})),o.addEventListener("load",(()=>{document.head.removeChild(o),lastWindowErrorUrl===e?r(lastWindowError$1):t()})),document.head.appendChild(o)}}))}hasProcess&&process.env,hasDocument&&window.addEventListener("error",(e=>{lastWindowErrorUrl=e.filename,lastWindowError$1=e.error}));const MODULE_LOAD_TIMEOUT_TIMER=6e4;var MODULE_WARNING;!function(e){e.MODULE_REDEFINE="Module redefine attempted";e.MODULE_ALREADY_LOADED="Marking module(s) as externally loaded, but they are already loaded";e.ALIAS_UPDATE="Alias update attempt"}(MODULE_WARNING||(MODULE_WARNING={}));
9
9
  /*!
10
10
  * Copyright (C) 2023 salesforce.com, inc.
11
11
  */
12
- const SUPPORTS_TRUSTED_TYPES="undefined"!=typeof trustedTypes,trustedTypePolicyRegistry={__proto__:null};function createDuplicateSafeTrustedTypesPolicy(e,t){return trustedTypePolicyRegistry[e]?trustedTypePolicyRegistry[e]:trustedTypePolicyRegistry[e]=trustedTypes.createPolicy(e,t)}function createDuplicateSafeFallbackPolicy(e,t){return trustedTypePolicyRegistry[e]?trustedTypePolicyRegistry[e]:trustedTypePolicyRegistry[e]=t}const createPolicy=SUPPORTS_TRUSTED_TYPES?createDuplicateSafeTrustedTypesPolicy:createDuplicateSafeFallbackPolicy,policyOptions={createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e};try{createPolicy("default",{createHTML:e=>e,createScript(e){if("null"===e||"undefined"===e)return e},createScriptURL:e=>e})}catch(e){}const trusted=createPolicy("trusted",policyOptions);let lastWindowError;function isCustomResponse(e){return Object.prototype.hasOwnProperty.call(e,"data")&&!Object.prototype.hasOwnProperty.call(e,"blob")}function isFetchResponse(e){return"function"==typeof e.blob}function isResponseAPromise(e){return!(!e||!e.then)}async function evaluateLoadHookResponse(response,id){return Promise.resolve().then((async()=>{if(!response||!response.status)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(200!==response.status)throw new LoaderError(HTTP_FAIL_LOAD,[id,`${response.status}`]);const isResponse=isFetchResponse(response);let code;if(isCustomResponse(response))code=response.data;else{if(!isResponse)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);code=await response.text()}if(!code)throw new LoaderError(FAIL_LOAD,[`empty code for ${id}`]);code=`${code}\n//# sourceURL=${id}`;try{eval(trusted.createScript(code))}catch(e){throw new LoaderError(FAIL_LOAD,[`"${id}": ${e instanceof Error?e.message:String(e)}`])}if(lastWindowError)throw new LoaderError(FAIL_LOAD,[`"${id}": window error ${lastWindowError instanceof Error?lastWindowError.message:String(lastWindowError)}`]);return!0}))}async function evaluateLoadHook(e,t){return hasSetTimeout?new Promise(((r,o)=>{const s=setTimeout((()=>{o(new LoaderError(MODULE_LOAD_TIMEOUT,[e]))}),MODULE_LOAD_TIMEOUT_TIMER);t.then((e=>{r(e)})).catch((()=>{o(new LoaderError(FAIL_HOOK_LOAD,[e]))})).finally((()=>{clearTimeout(s)}))})):t}function reportError(e){hasConsole&&console.error(e)}function evaluateHandleStaleModuleHooks(e,t){const{name:r,oldHash:o,newHash:s}=t;for(let t=0;t<e.length;t++){const i=e[t];try{if(null!==i({name:r,oldHash:o,newHash:s}))break}catch(e){reportError(new LoaderError(STALE_HOOK_ERROR))}}}hasDocument&&globalThis.addEventListener("error",(e=>{lastWindowError=e.error}));const LOADER_PREFIX="lwr.loader.",MODULE_DEFINE=`${LOADER_PREFIX}module.define`,MODULE_DYNAMIC_LOAD=`${LOADER_PREFIX}module.dynamicLoad`,MODULE_FETCH=`${LOADER_PREFIX}module.fetch`,MODULE_ERROR=`${LOADER_PREFIX}module.error`;function _optionalChain$1(e){let t,r=e[0],o=1;for(;o<e.length;){const s=e[o],i=e[o+1];if(o+=2,("optionalAccess"===s||"optionalCall"===s)&&null==r)return;"access"===s||"optionalAccess"===s?(t=r,r=i(r)):"call"!==s&&"optionalCall"!==s||(r=i(((...e)=>r.call(t,...e))),t=void 0)}return r}let timeOfLastYield=0;async function yieldIfNecessary(){const e=checkShouldYield(timeOfLastYield);e.shouldYield&&(timeOfLastYield=e.timeOfLastYield,await yieldToMainThread())}function checkShouldYield(e){if(!globalThis.performance||!getSSREnabled())return{shouldYield:!1,timeOfLastYield:e};const t=globalThis.performance.now();return t-e>50?{shouldYield:!0,timeOfLastYield:t}:{shouldYield:!1,timeOfLastYield:e}}async function yieldToMainThread(){const e=globalThis.scheduler;return _optionalChain$1([e,"optionalAccess",e=>e.yield])?e.yield():new Promise((e=>setTimeout(e,0)))}function getSSREnabled(){const e=globalThis,{SSREnabled:t}=e.LWR&&e.LWR.env||{};return!!t}class ModuleRegistry{__init(){this.isAppMounted=!1}constructor(e){ModuleRegistry.prototype.__init.call(this),ModuleRegistry.prototype.__init2.call(this),ModuleRegistry.prototype.__init3.call(this),ModuleRegistry.prototype.__init4.call(this),this.baseUrl=e.baseUrl||"",this.profiler=e.profiler,this.warnings={[MODULE_WARNING.MODULE_REDEFINE]:[],[MODULE_WARNING.MODULE_ALREADY_LOADED]:[],[MODULE_WARNING.ALIAS_UPDATE]:[]}}clearRegistry(){this.moduleRegistry=new Map}async load(e,t){const r=t?{importer:t}:{};this.profiler.logOperationStart({id:MODULE_DYNAMIC_LOAD,specifier:e,metadata:r});const o=await this.resolve(e,t),s=await this.getModuleRecord(o,e);return s.evaluated?s.module:(s.evaluationPromise||(s.evaluationPromise=this.topLevelEvaluation(s)),s.evaluationPromise)}async resolve(e,t){const r=this.baseUrl;let o,s=e;const i=this.resolveHook;let n=!0;if(i){for(let e=0;e<i.length;e++){const t=(0,i[e])(s,{parentUrl:r});let n;if((t||null===t)&&(n=isResponseAPromise(t)?await t:t),!this.isValidResolveResponse(n))throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(null!==n){if("string"==typeof n){if(resolveIfNotPlainOrUrl(n,r))throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);s=n;continue}if(o=n&&n.url&&(resolveIfNotPlainOrUrl(n.url,r)||n.url),!o)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);break}}if(s!==e){if(!o&&this.namedDefineRegistry.has(s))return s;e=s}}if(!o){const t=resolveIfNotPlainOrUrl(e,r)||e;if(this.moduleRegistry.has(t))return t;if(this.resolver){const e=this.resolver.resolve(t,r);if(o=e&&e.uri,n=e?!!e.defaultUri:n,this.namedDefineRegistry.has(t)){const e=this.namedDefineRegistry.get(t);if(e.external||e.defined){if(!this.moduleRegistry.get(o)||!this.aliases.has(t))return t}}}else o=t}if(!o||!isUrl(o)){if(this.namedDefineRegistry.has(e))return e;throw new LoaderError(UNRESOLVED,[e])}return n&&t&&isUrl(o)&&(o+=`?importer=${encodeURIComponent(t)}`),o}has(e){return this.moduleRegistry.has(e)}define(e,t,r,o){const s=this.namedDefineRegistry.get(e);if(s&&s.defined)return void(this.lastDefine=s);const i={name:e,dependencies:t,exporter:r,signatures:o,defined:!0};s&&s.external&&s.external.resolveExternal(i),this.profiler.logOperationStart({id:MODULE_DEFINE,specifier:e}),this.namedDefineRegistry.set(e,i),this.lastDefine=i,o.hashes&&Object.entries(o.hashes).forEach((([e,t])=>{this.checkModuleSignature(e,t)}))}registerExternalModules(e){e.map((e=>{if(!this.namedDefineRegistry.has(e)){let t,r;const o=new Promise(((o,s)=>{t=o,r=setTimeout((()=>{s(new LoaderError(MODULE_LOAD_TIMEOUT,[e]))}),MODULE_LOAD_TIMEOUT_TIMER)})).finally((()=>{clearTimeout(r)})),s={name:e,defined:!1,external:{resolveExternal:t,moduleDefPromise:o}};this.namedDefineRegistry.set(e,s)}}))}checkModuleSignature(e,t){const r=this.namedDefineRegistry.get(e);if(!r){const r={name:e,signatures:{ownHash:t},defined:!1};return void this.namedDefineRegistry.set(e,r)}const o=r.signatures?r.signatures.ownHash:void 0;if(o&&t!==o){const r=this.handleStaleModuleHook;r&&evaluateHandleStaleModuleHooks(r,{name:e,oldHash:o,newHash:t})}}setImportResolver(e){this.resolver=e}__init2(){this.namedDefineRegistry=new Map}__init3(){this.moduleRegistry=new Map}__init4(){this.aliases=new Map}getExistingModuleRecord(e,t){const r=this.moduleRegistry.get(e);if(r)return this.storeModuleAlias(t,e),r;if(e!==t){const e=this.aliases.get(t);if(e){const t=this.moduleRegistry.get(e);if(t)return t}}return r}async getModuleRecord(e,t){const r=this.getExistingModuleRecord(e,t);if(r)return r;const o=this.getModuleDef(e,t),s=o.then((e=>{const t=(e&&e.dependencies||[]).map((e=>{if("exports"!==e)return invariant("require"!==e,NO_AMD_REQUIRE),this.getModuleDependencyRecord.call(this,e)})).filter((e=>void 0!==e));return Promise.all(t)})),i={id:e,module:Object.create(null),dependencyRecords:s,instantiation:o,evaluated:!1,evaluationPromise:null};return this.moduleRegistry.set(e,i),this.storeModuleAlias(t,e),s.then((()=>i))}storeModuleAlias(e,t){e!==t&&(this.aliases.has(e)||this.aliases.set(e,t))}async getModuleDependencyRecord(e){let t=await this.resolve(e);if(isUrl(t)){const r=this.moduleRegistry.get(t);r&&!this.aliases.has(e)&&(await r.instantiation,t=await this.resolve(e))}return this.getModuleRecord(t,e)}async topLevelEvaluation(e){return this.evaluateModule(e,{})}async evaluateModule(e,t){await yieldIfNecessary();const r=await e.dependencyRecords;r.length>0&&(t[e.id]=!0,await this.evaluateModuleDependencies(r,t));const{exporter:o,dependencies:s}=await e.instantiation,i={},n=s?await Promise.all(s.map((async e=>{if("exports"===e)return i;const t=await this.resolve(e),r=this.moduleRegistry.get(t);if(!r)throw new LoaderError(FAILED_DEP,[t]);const o=r.module;if(!r.evaluated)return this.getCircularDependencyWrapper(o);if(o)return o.__defaultInterop?o.default:o;throw new LoaderError(FAILED_DEP,[t])}))):[];if(e.evaluated)return e.module;let a;try{a=o(...n)}catch(t){throw new LoaderError(EXPORTER_ERROR,[e.id,t.message||t])}void 0!==a?(a={default:a},Object.defineProperty(a,"__defaultInterop",{value:!0})):this.isNamedExportDefaultOnly(i)&&Object.defineProperty(i,"__useDefault",{value:!0});const l=a||i;for(const t in l)Object.defineProperty(e.module,t,{enumerable:!0,set(e){l[t]=e},get:()=>l[t]});return l.__useDefault&&Object.defineProperty(e.module,"__useDefault",{value:!0}),l.__defaultInterop&&Object.defineProperty(e.module,"__defaultInterop",{value:!0}),l.__esModule&&Object.defineProperty(e.module,"__esModule",{value:!0}),e.evaluated=!0,Object.freeze(e.module),e.module}isNamedExportDefaultOnly(e){return void 0!==e&&2===Object.getOwnPropertyNames(e).length&&Object.prototype.hasOwnProperty.call(e,"default")&&Object.prototype.hasOwnProperty.call(e,"__esModule")}getCircularDependencyWrapper(e){const t=()=>e.__useDefault||e.__defaultInterop?e.default:e;return t.__circular__=!0,t}async evaluateModuleDependencies(e,t){for(let r=0;r<e.length;r++){const o=e[r];o.evaluated||t[o.id]||(t[o.id]=!0,await this.evaluateModule(o,t))}}async getModuleDef(e,t){this.lastDefine=void 0;const r=isUrl(e)?t!==e?t:void 0:e;let o=r&&this.namedDefineRegistry.get(r);if(o&&o.external)return o.external.moduleDefPromise;if(o&&o.defined)return o;const s=this.baseUrl,i=r||t;return this.profiler.logOperationStart({id:MODULE_FETCH,specifier:i}),Promise.resolve().then((async()=>{const t=this.loadHook;if(t)for(let r=0;r<t.length;r++){const o=(0,t[r])(e,s),i=isResponseAPromise(o)?await evaluateLoadHook(e,o):o;if(void 0===i)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(i&&null!==i)return evaluateLoadHookResponse(i,e)}return!1})).then((t=>{if(!0!==t&&hasDocument)return loadModuleDef(e)})).then((()=>{if(o=r&&this.namedDefineRegistry.get(r),o||(this.logMessage("warning",`${r} not found, falling back to the last loader.define call`),o=this.lastDefine),!o)throw new LoaderError(FAIL_INSTANTIATE,[e]);return this.profiler.logOperationEnd({id:MODULE_FETCH,specifier:i}),o})).catch((e=>{throw e instanceof LoaderError||this.profiler.logOperationStart({id:MODULE_ERROR,specifier:i}),e}))}addLoaderPlugin(e){if("object"!=typeof e)throw new LoaderError(INVALID_HOOK);const{loadModule:t,resolveModule:r}=e;r&&(this.resolveHook?this.resolveHook.push(r):this.resolveHook=[r]),t&&(this.loadHook?this.loadHook.push(t):this.loadHook=[t])}registerHandleStaleModuleHook(e){this.handleStaleModuleHook?this.handleStaleModuleHook.push(e):this.handleStaleModuleHook=[e]}isValidResolveResponse(e){return null===e||"string"==typeof e||e&&"string"==typeof e.url}getModuleWarnings(e=!1){return this.isAppMounted=e,this.warnings}logMessage(e,t){}}function _nullishCoalesce(e,t){return null!=e?e:t()}function validateLoadSpecifier(e,t,r,o){const{LoaderError:s,NO_IMPORT_LWC:i,NO_IMPORT_LOADER:n,NO_BLOB_IMPORT:a}=o;if("lwc"===e||e.startsWith("lwc/v/"))throw new s(i,[_nullishCoalesce(t,(()=>"unknown"))]);if(e===r||e.startsWith(`${r}/v/`))throw new s(n,[_nullishCoalesce(t,(()=>"unknown"))]);if(e.toLowerCase().startsWith("blob:"))throw new s(a)}function getMatch(e,t){if(t[e])return e;let r=e.length;do{const o=e.slice(0,r+1);if(o in t)return o}while(e.length>1&&-1!==(r=e.lastIndexOf("/",r-1)))}function targetWarning(e,t,r){hasConsole&&console.warn("Package target "+r+", resolving target '"+t+"' for "+e)}function applyPackages(e,t,r){const o=getMatch(e,t);if(o){const r=t[o];if(null===r)return;if(!(e.length>o.length&&"/"!==r[r.length-1])){if(e.length>o.length&&"/"===r[r.length-1]&&r.lastIndexOf(o)===r.length-o.length){return{uri:r.substring(0,r.lastIndexOf(o))+encodeURIComponent(e)}}return{uri:r+e.slice(o.length)}}targetWarning(o,r,"should have a trailing '/'")}else if(r&&!isUrl(e)){return{uri:r+encodeURIComponent(e),defaultUri:!0}}}function resolveImportMapEntry(e,t,r){e.scopes||(e.scopes={}),e.imports||(e.imports={});const o=e.scopes;let s=r&&getMatch(r,o);for(;s;){const e=applyPackages(t,o[s]);if(e)return e;s=getMatch(s.slice(0,s.lastIndexOf("/")),o)}return applyPackages(t,e.imports,e.default)||isUrl(t)&&{uri:t}||void 0}function resolveAndComposePackages(e,t,r,o,s){for(const i in e){const n=resolveIfNotPlainOrUrl(i,r)||i,a=e[i];if("string"!=typeof a)continue;const l=resolveImportMapEntry(o,resolveIfNotPlainOrUrl(a,r)||a,s);l?t[n]=l.uri:targetWarning(i,a,"bare specifier did not resolve")}}function resolveAndComposeImportMap(e,t,r={imports:{},scopes:{}}){const o={imports:Object.assign({},r.imports),scopes:Object.assign({},r.scopes),default:e.default};if(e.imports&&resolveAndComposePackages(e.imports,o.imports,t,r),e.scopes)for(const s in e.scopes){const i=resolveUrl(s,t);resolveAndComposePackages(e.scopes[s],o.scopes[i]||(o.scopes[i]={}),t,r,i)}return e.default&&(o.default=resolveIfNotPlainOrUrl(e.default,t)),o}class ImportMapResolver{constructor(e){this.importMap=e}resolve(e,t){return resolveImportMapEntry(this.importMap,e,t)}}const IMPORTMAP_SCRIPT_TYPE="lwr-importmap";function iterateDocumentImportMaps(e,t){const r=document.querySelectorAll(`script[type="${IMPORTMAP_SCRIPT_TYPE}"]`+t),o=Array.from(r).filter((e=>!e.src||(hasConsole&&console.warn("LWR does not support import maps from script src"),!1)));Array.prototype.forEach.call(o,e)}async function getImportMapFromScript(e){return Promise.resolve(e.innerHTML)}async function evaluateImportMaps(e){let t={imports:{},scopes:{}},r=Promise.resolve(t);if(hasDocument){if(e||(e=getBaseUrl()),!e)throw new LoaderError(NO_BASE_URL);iterateDocumentImportMaps((o=>{r=r.then((()=>getImportMapFromScript(o))).then((e=>{try{return JSON.parse(e)}catch(e){throw new LoaderError(BAD_IMPORT_MAP)}})).then((r=>(t=resolveAndComposeImportMap(r,o.src||e,t),t)))}),"")}return r}function _optionalChain(e){let t,r=e[0],o=1;for(;o<e.length;){const s=e[o],i=e[o+1];if(o+=2,("optionalAccess"===s||"optionalCall"===s)&&null==r)return;"access"===s||"optionalAccess"===s?(t=r,r=i(r)):"call"!==s&&"optionalCall"!==s||(r=i(((...e)=>r.call(t,...e))),t=void 0)}return r}class Loader{constructor(e){const t=e||{};let r=t.baseUrl,o=t.profiler;if(r&&(r=r.replace(/\/?$/,"/")),r||(r=getBaseUrl()),!r)throw new LoaderError(NO_BASE_URL);this.baseUrl=r,o||(o={logOperationStart:()=>{},logOperationEnd:()=>{}}),this.registry=new ModuleRegistry({baseUrl:r,profiler:o}),this.services=Object.freeze({addLoaderPlugin:this.registry.addLoaderPlugin.bind(this.registry),handleStaleModule:this.registry.registerHandleStaleModuleHook.bind(this.registry),appMetadata:_optionalChain([e,"optionalAccess",e=>e.appMetadata])})}define(e,t,r,o){invariant("string"==typeof e,MISSING_NAME);let s=r,i=t,n=o;"function"==typeof i&&(s=t,i=[],n=r),invariant(Array.isArray(i),INVALID_DEPS),this.registry.define(e,i,s,n||{})}async load(e,t){return validateLoadSpecifier(e,t,"lwr/loaderLegacy",{LoaderError:LoaderError,NO_IMPORT_LWC:NO_IMPORT_LWC,NO_IMPORT_LOADER:NO_IMPORT_LOADER,NO_BLOB_IMPORT:NO_BLOB_IMPORT}),this.registry.load(e,t)}clearRegistry(){this.registry.clearRegistry()}has(e){return this.registry.has(e)}async resolve(e,t){return this.registry.resolve(e,t)}async registerImportMappings(e){let t;if(t=e?resolveAndComposeImportMap(e,this.baseUrl,this.parentImportMap):await evaluateImportMaps(this.baseUrl),this.parentImportMap=t,this.parentImportMap){const e=new ImportMapResolver(this.parentImportMap);this.registry.setImportResolver(e)}}registerExternalModules(e){this.registry.registerExternalModules(e)}getModuleWarnings(e=!1){return this.registry.getModuleWarnings(e)}}exports.Loader=Loader,Object.defineProperty(exports,"__esModule",{value:!0})}));
12
+ const SUPPORTS_TRUSTED_TYPES="undefined"!=typeof trustedTypes,trustedTypePolicyRegistry={__proto__:null};function createDuplicateSafeTrustedTypesPolicy(e,t){return trustedTypePolicyRegistry[e]?trustedTypePolicyRegistry[e]:trustedTypePolicyRegistry[e]=trustedTypes.createPolicy(e,t)}function createDuplicateSafeFallbackPolicy(e,t){return trustedTypePolicyRegistry[e]?trustedTypePolicyRegistry[e]:trustedTypePolicyRegistry[e]=t}const createPolicy=SUPPORTS_TRUSTED_TYPES?createDuplicateSafeTrustedTypesPolicy:createDuplicateSafeFallbackPolicy,policyOptions={createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e};try{createPolicy("default",{createHTML:e=>e,createScript(e){if("null"===e||"undefined"===e)return e},createScriptURL:e=>e})}catch(e){}const trusted=createPolicy("trusted",policyOptions);let lastWindowError;function isCustomResponse(e){return Object.prototype.hasOwnProperty.call(e,"data")&&!Object.prototype.hasOwnProperty.call(e,"blob")}function isFetchResponse(e){return"function"==typeof e.blob}function isResponseAPromise(e){return!(!e||!e.then)}async function evaluateLoadHookResponse(response,id){return Promise.resolve().then((async()=>{if(!response||!response.status)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(200!==response.status)throw new LoaderError(HTTP_FAIL_LOAD,[id,`${response.status}`]);const isResponse=isFetchResponse(response);let code;if(isCustomResponse(response))code=response.data;else{if(!isResponse)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);code=await response.text()}if(!code)throw new LoaderError(FAIL_LOAD,[`empty code for ${id}`]);code=`${code}\n//# sourceURL=${id}`;try{eval(trusted.createScript(code))}catch(e){throw new LoaderError(FAIL_LOAD,[`"${id}": ${e instanceof Error?e.message:String(e)}`])}if(lastWindowError)throw new LoaderError(FAIL_LOAD,[`"${id}": window error ${lastWindowError instanceof Error?lastWindowError.message:String(lastWindowError)}`]);return!0}))}async function evaluateLoadHook(e,t){return hasSetTimeout?new Promise(((r,o)=>{const n=setTimeout((()=>{o(new LoaderError(MODULE_LOAD_TIMEOUT,[e]))}),MODULE_LOAD_TIMEOUT_TIMER);t.then((e=>{r(e)})).catch((()=>{o(new LoaderError(FAIL_HOOK_LOAD,[e]))})).finally((()=>{clearTimeout(n)}))})):t}function reportError(e){hasConsole&&console.error(e)}function evaluateHandleStaleModuleHooks(e,t){const{name:r,oldHash:o,newHash:n}=t;for(let t=0;t<e.length;t++){const i=e[t];try{if(null!==i({name:r,oldHash:o,newHash:n}))break}catch(e){reportError(new LoaderError(STALE_HOOK_ERROR))}}}hasDocument&&globalThis.addEventListener("error",(e=>{lastWindowError=e.error}));const LOADER_PREFIX="lwr.loader.",MODULE_DEFINE=`${LOADER_PREFIX}module.define`,MODULE_DYNAMIC_LOAD=`${LOADER_PREFIX}module.dynamicLoad`,MODULE_FETCH=`${LOADER_PREFIX}module.fetch`,MODULE_ERROR=`${LOADER_PREFIX}module.error`;function _optionalChain$1(e){let t,r=e[0],o=1;for(;o<e.length;){const n=e[o],i=e[o+1];if(o+=2,("optionalAccess"===n||"optionalCall"===n)&&null==r)return;"access"===n||"optionalAccess"===n?(t=r,r=i(r)):"call"!==n&&"optionalCall"!==n||(r=i(((...e)=>r.call(t,...e))),t=void 0)}return r}let timeOfLastYield=0;async function yieldIfNecessary(){const e=checkShouldYield(timeOfLastYield);e.shouldYield&&(timeOfLastYield=e.timeOfLastYield,await yieldToMainThread())}function checkShouldYield(e){if(!globalThis.performance||!getSSREnabled())return{shouldYield:!1,timeOfLastYield:e};const t=globalThis.performance.now();return t-e>50?{shouldYield:!0,timeOfLastYield:t}:{shouldYield:!1,timeOfLastYield:e}}async function yieldToMainThread(){const e=globalThis.scheduler;return _optionalChain$1([e,"optionalAccess",e=>e.yield])?e.yield():new Promise((e=>setTimeout(e,0)))}function getSSREnabled(){const e=globalThis,{SSREnabled:t}=e.LWR&&e.LWR.env||{};return!!t}class ModuleRegistry{__init(){this.isAppMounted=!1}constructor(e){ModuleRegistry.prototype.__init.call(this),ModuleRegistry.prototype.__init2.call(this),ModuleRegistry.prototype.__init3.call(this),ModuleRegistry.prototype.__init4.call(this),this.baseUrl=e.baseUrl||"",this.profiler=e.profiler,this.warnings={[MODULE_WARNING.MODULE_REDEFINE]:[],[MODULE_WARNING.MODULE_ALREADY_LOADED]:[],[MODULE_WARNING.ALIAS_UPDATE]:[]}}clearRegistry(){this.moduleRegistry=new Map}async load(e,t){const r=t?{importer:t}:{};this.profiler.logOperationStart({id:MODULE_DYNAMIC_LOAD,specifier:e,metadata:r});const o=await this.resolve(e,t),n=await this.getModuleRecord(o,e);return n.evaluated?n.module:(n.evaluationPromise||(n.evaluationPromise=this.topLevelEvaluation(n)),n.evaluationPromise)}async resolve(e,t){const r=this.baseUrl;let o,n=e;const i=this.resolveHook;let s=!0;if(i){for(let e=0;e<i.length;e++){const t=(0,i[e])(n,{parentUrl:r});let s;if((t||null===t)&&(s=isResponseAPromise(t)?await t:t),!this.isValidResolveResponse(s))throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(null!==s){if("string"==typeof s){if(resolveIfNotPlainOrUrl(s,r))throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);n=s;continue}if(o=s&&s.url&&(resolveIfNotPlainOrUrl(s.url,r)||s.url),!o)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);break}}if(n!==e){if(!o&&this.namedDefineRegistry.has(n))return n;e=n}}if(!o){const t=resolveIfNotPlainOrUrl(e,r)||e;if(this.moduleRegistry.has(t))return t;if(this.resolver){const e=this.resolver.resolve(t,r);if(o=e&&e.uri,s=e?!!e.defaultUri:s,this.namedDefineRegistry.has(t)){const e=this.namedDefineRegistry.get(t);if(e.external||e.defined){if(!this.moduleRegistry.get(o)||!this.aliases.has(t))return t}}}else o=t}if(!o||!isUrl(o)){if(this.namedDefineRegistry.has(e))return e;throw new LoaderError(UNRESOLVED,[e])}return s&&t&&isUrl(o)&&(o+=`?importer=${encodeURIComponent(t)}`),o}has(e){return this.moduleRegistry.has(e)}define(e,t,r,o){const n=this.namedDefineRegistry.get(e);if(n&&n.defined)return void(this.lastDefine=n);const i={name:e,dependencies:t,exporter:r,signatures:o,defined:!0};n&&n.external&&n.external.resolveExternal(i),this.profiler.logOperationStart({id:MODULE_DEFINE,specifier:e}),this.namedDefineRegistry.set(e,i),this.lastDefine=i,o.hashes&&Object.entries(o.hashes).forEach((([e,t])=>{this.checkModuleSignature(e,t)}))}registerExternalModules(e){e.map((e=>{if(!this.namedDefineRegistry.has(e)){let t,r;const o=new Promise(((o,n)=>{t=o,r=setTimeout((()=>{n(new LoaderError(MODULE_LOAD_TIMEOUT,[e]))}),MODULE_LOAD_TIMEOUT_TIMER)})).finally((()=>{clearTimeout(r)})),n={name:e,defined:!1,external:{resolveExternal:t,moduleDefPromise:o}};this.namedDefineRegistry.set(e,n)}}))}checkModuleSignature(e,t){const r=this.namedDefineRegistry.get(e);if(!r){const r={name:e,signatures:{ownHash:t},defined:!1};return void this.namedDefineRegistry.set(e,r)}const o=r.signatures?r.signatures.ownHash:void 0;if(o&&t!==o){const r=this.handleStaleModuleHook;r&&evaluateHandleStaleModuleHooks(r,{name:e,oldHash:o,newHash:t})}}setImportResolver(e){this.resolver=e}__init2(){this.namedDefineRegistry=new Map}__init3(){this.moduleRegistry=new Map}__init4(){this.aliases=new Map}getExistingModuleRecord(e,t){const r=this.moduleRegistry.get(e);if(r)return this.storeModuleAlias(t,e),r;if(e!==t){const e=this.aliases.get(t);if(e){const t=this.moduleRegistry.get(e);if(t)return t}}return r}async getModuleRecord(e,t){const r=this.getExistingModuleRecord(e,t);if(r)return r;const o=this.getModuleDef(e,t),n=o.then((e=>{const t=(e&&e.dependencies||[]).map((e=>{if("exports"!==e)return invariant("require"!==e,NO_AMD_REQUIRE),this.getModuleDependencyRecord.call(this,e)})).filter((e=>void 0!==e));return Promise.all(t)})),i={id:e,module:Object.create(null),dependencyRecords:n,instantiation:o,evaluated:!1,evaluationPromise:null};return this.moduleRegistry.set(e,i),this.storeModuleAlias(t,e),n.then((()=>i))}storeModuleAlias(e,t){e!==t&&(this.aliases.has(e)||this.aliases.set(e,t))}async getModuleDependencyRecord(e){let t=await this.resolve(e);if(isUrl(t)){const r=this.moduleRegistry.get(t);r&&!this.aliases.has(e)&&(await r.instantiation,t=await this.resolve(e))}return this.getModuleRecord(t,e)}async topLevelEvaluation(e){return this.evaluateModule(e,{})}async evaluateModule(e,t){await yieldIfNecessary();const r=await e.dependencyRecords;r.length>0&&(t[e.id]=!0,await this.evaluateModuleDependencies(r,t));const{exporter:o,dependencies:n}=await e.instantiation,i={},s=n?await Promise.all(n.map((async e=>{if("exports"===e)return i;const t=await this.resolve(e),r=this.moduleRegistry.get(t);if(!r)throw new LoaderError(FAILED_DEP,[t]);const o=r.module;if(!r.evaluated)return this.getCircularDependencyWrapper(o);if(o)return o.__defaultInterop?o.default:o;throw new LoaderError(FAILED_DEP,[t])}))):[];if(e.evaluated)return e.module;let a;try{a=o(...s)}catch(t){throw new LoaderError(EXPORTER_ERROR,[e.id,t.message||t])}void 0!==a?(a={default:a},Object.defineProperty(a,"__defaultInterop",{value:!0})):this.isNamedExportDefaultOnly(i)&&Object.defineProperty(i,"__useDefault",{value:!0});const l=a||i;for(const t in l)Object.defineProperty(e.module,t,{enumerable:!0,set(e){l[t]=e},get:()=>l[t]});return l.__useDefault&&Object.defineProperty(e.module,"__useDefault",{value:!0}),l.__defaultInterop&&Object.defineProperty(e.module,"__defaultInterop",{value:!0}),l.__esModule&&Object.defineProperty(e.module,"__esModule",{value:!0}),e.evaluated=!0,Object.freeze(e.module),e.module}isNamedExportDefaultOnly(e){return void 0!==e&&2===Object.getOwnPropertyNames(e).length&&Object.prototype.hasOwnProperty.call(e,"default")&&Object.prototype.hasOwnProperty.call(e,"__esModule")}getCircularDependencyWrapper(e){const t=()=>e.__useDefault||e.__defaultInterop?e.default:e;return t.__circular__=!0,t}async evaluateModuleDependencies(e,t){for(let r=0;r<e.length;r++){const o=e[r];o.evaluated||t[o.id]||(t[o.id]=!0,await this.evaluateModule(o,t))}}async getModuleDef(e,t){this.lastDefine=void 0;const r=isUrl(e)?t!==e?t:void 0:e;let o=r&&this.namedDefineRegistry.get(r);if(o&&o.external)return o.external.moduleDefPromise;if(o&&o.defined)return o;const n=this.baseUrl,i=r||t;return this.profiler.logOperationStart({id:MODULE_FETCH,specifier:i}),Promise.resolve().then((async()=>{const t=this.loadHook;if(t)for(let r=0;r<t.length;r++){const o=(0,t[r])(e,n),i=isResponseAPromise(o)?await evaluateLoadHook(e,o):o;if(void 0===i)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(i&&null!==i)return evaluateLoadHookResponse(i,e)}return!1})).then((t=>{if(!0!==t&&hasDocument)return loadModuleDef(e)})).then((()=>{if(o=r&&this.namedDefineRegistry.get(r),o||(this.logMessage("warning",`${r} not found, falling back to the last loader.define call`),o=this.lastDefine),!o)throw new LoaderError(FAIL_INSTANTIATE,[e]);return this.profiler.logOperationEnd({id:MODULE_FETCH,specifier:i}),o})).catch((e=>{throw e instanceof LoaderError||this.profiler.logOperationStart({id:MODULE_ERROR,specifier:i}),e}))}addLoaderPlugin(e){if("object"!=typeof e)throw new LoaderError(INVALID_HOOK);const{loadModule:t,resolveModule:r}=e;r&&(this.resolveHook?this.resolveHook.push(r):this.resolveHook=[r]),t&&(this.loadHook?this.loadHook.push(t):this.loadHook=[t])}registerHandleStaleModuleHook(e){this.handleStaleModuleHook?this.handleStaleModuleHook.push(e):this.handleStaleModuleHook=[e]}isValidResolveResponse(e){return null===e||"string"==typeof e||e&&"string"==typeof e.url}getModuleWarnings(e=!1){return this.isAppMounted=e,this.warnings}logMessage(e,t){}}function _nullishCoalesce(e,t){return null!=e?e:t()}function validateLoadSpecifier(e,t,r,o){const{LoaderError:n,NO_IMPORT_LWC:i,NO_IMPORT_LOADER:s,NO_IMPORT_TRANSPORT:a,NO_BLOB_IMPORT:l}=o;if("lwc"===e||e.startsWith("lwc/v/"))throw new n(i,[_nullishCoalesce(t,(()=>"unknown"))]);if(e===r||e.startsWith(`${r}/v/`))throw new n(s,[_nullishCoalesce(t,(()=>"unknown"))]);if("transport"===e||e.startsWith("transport/v/")||"webruntime/transport"===e||e.startsWith("webruntime/transport/v/"))throw new n(a,[_nullishCoalesce(t,(()=>"unknown"))]);if(e.toLowerCase().startsWith("blob:"))throw new n(l)}function getMatch(e,t){if(t[e])return e;let r=e.length;do{const o=e.slice(0,r+1);if(o in t)return o;r=e.lastIndexOf("/",r-1)}while(r>0)}function targetWarning(e,t,r){hasConsole&&console.warn("Package target "+r+", resolving target '"+t+"' for "+e)}function mergeImportMapEntry(e,t,r){const o=r[e];void 0!==o?o!==t&&targetWarning(e,t,`already mapped to "${o}", ignoring conflicting mapping`):r[e]=t}function applyPackages(e,t,r){const o=getMatch(e,t);if(o){const r=t[o];if(null===r)return;if(!(e.length>o.length&&"/"!==r[r.length-1])){if(e.length>o.length&&"/"===r[r.length-1]&&r.lastIndexOf(o)===r.length-o.length){return{uri:r.substring(0,r.lastIndexOf(o))+encodeURIComponent(e)}}return{uri:r+e.slice(o.length)}}targetWarning(o,r,"should have a trailing '/'")}else if(r&&!isUrl(e)){return{uri:r+encodeURIComponent(e),defaultUri:!0}}}function resolveImportMapEntry(e,t,r){e.scopes||(e.scopes={}),e.imports||(e.imports={});const o=e.scopes;let n=r&&getMatch(r,o);for(;n;){const e=applyPackages(t,o[n]);if(e)return e;n=getMatch(n.slice(0,n.lastIndexOf("/")),o)}return applyPackages(t,e.imports,e.default)||isUrl(t)&&{uri:t}||void 0}function resolveAndComposePackages(e,t,r,o,n){for(const i in e){const s=resolveIfNotPlainOrUrl(i,r)||i,a=e[i];if("string"!=typeof a)continue;const l=resolveImportMapEntry(o,resolveIfNotPlainOrUrl(a,r)||a,n);l?mergeImportMapEntry(s,l.uri,t):targetWarning(i,a,"bare specifier did not resolve")}}function resolveAndComposeImportMap(e,t,r={imports:{},scopes:{}}){const o={imports:Object.assign({},r.imports),scopes:Object.assign({},r.scopes),default:e.default};if(e.imports&&resolveAndComposePackages(e.imports,o.imports,t,r),e.scopes)for(const n in e.scopes){const i=resolveUrl(n,t);resolveAndComposePackages(e.scopes[n],o.scopes[i]||(o.scopes[i]={}),t,r,i)}return e.default&&(o.default=resolveIfNotPlainOrUrl(e.default,t)),o}class ImportMapResolver{constructor(e){this.importMap=e}resolve(e,t){return resolveImportMapEntry(this.importMap,e,t)}addImportMapEntries(e){if(e.imports){const t=this.importMap;t.imports||(t.imports={});for(const r in e.imports)mergeImportMapEntry(r,e.imports[r],t.imports)}}}const IMPORTMAP_SCRIPT_TYPE="lwr-importmap";function iterateDocumentImportMaps(e,t){const r=document.querySelectorAll(`script[type="${IMPORTMAP_SCRIPT_TYPE}"]`+t),o=Array.from(r).filter((e=>!e.src||(hasConsole&&console.warn("LWR does not support import maps from script src"),!1)));Array.prototype.forEach.call(o,e)}async function getImportMapFromScript(e){return Promise.resolve(e.innerHTML)}async function evaluateImportMaps(e){let t={imports:{},scopes:{}},r=Promise.resolve(t);if(hasDocument){if(e||(e=getBaseUrl()),!e)throw new LoaderError(NO_BASE_URL);iterateDocumentImportMaps((o=>{r=r.then((()=>getImportMapFromScript(o))).then((e=>{try{return JSON.parse(e)}catch(e){throw new LoaderError(BAD_IMPORT_MAP)}})).then((r=>(t=resolveAndComposeImportMap(r,o.src||e,t),t)))}),"")}return r}const PROTECTED_PATTERNS=[/^lwc$/i,/^lwc\/v\//i,/^@lwc\//i,/^lightningmobileruntime\//i];function isProtectedSpecifier(e){return PROTECTED_PATTERNS.some((t=>t.test(e)))}function validateMappingUri(e,t){const r=e.toLowerCase();if(r.startsWith("blob:"))throw new Error(`Cannot map ${t} to blob: URL`);if(r.startsWith("data:"))throw new Error(`Cannot map ${t} to data: URL`)}function validateSpecifier(e){if("string"!=typeof e||0===e.length)throw new Error("Specifier must be a non-empty string");if(isProtectedSpecifier(e))throw new Error(`Cannot remap protected module: ${e}`)}function validateAndConvertImportMapUpdate(e){if(!e||"object"!=typeof e)throw new Error("LWR.importMap() requires an object argument");const t=Object.entries(e);if(0===t.length)return hasConsole&&console.warn("LWR.importMap() called with empty update object"),null;const r={};for(const[e,o]of t){if(!Array.isArray(o))throw new Error("moduleNames must be an array");if(!e||"string"!=typeof e)throw new Error("moduleScriptURL must be a string");validateMappingUri(e,e);for(const t of o)validateSpecifier(t),t in r?hasConsole&&console.warn(`LWR.importMap(): duplicate module "${t}" — already mapped to "${r[t]}", ignoring mapping to "${e}"`):r[t]=e}return{imports:r}}function _optionalChain(e){let t,r=e[0],o=1;for(;o<e.length;){const n=e[o],i=e[o+1];if(o+=2,("optionalAccess"===n||"optionalCall"===n)&&null==r)return;"access"===n||"optionalAccess"===n?(t=r,r=i(r)):"call"!==n&&"optionalCall"!==n||(r=i(((...e)=>r.call(t,...e))),t=void 0)}return r}class Loader{constructor(e){const t=e||{};let r=t.baseUrl,o=t.profiler;if(r&&(r=r.replace(/\/?$/,"/")),r||(r=getBaseUrl()),!r)throw new LoaderError(NO_BASE_URL);this.baseUrl=r,o||(o={logOperationStart:()=>{},logOperationEnd:()=>{}}),this.registry=new ModuleRegistry({baseUrl:r,profiler:o}),this.services=Object.freeze({addLoaderPlugin:this.registry.addLoaderPlugin.bind(this.registry),handleStaleModule:this.registry.registerHandleStaleModuleHook.bind(this.registry),appMetadata:_optionalChain([e,"optionalAccess",e=>e.appMetadata])})}define(e,t,r,o){invariant("string"==typeof e,MISSING_NAME);let n=r,i=t,s=o;"function"==typeof i&&(n=t,i=[],s=r),invariant(Array.isArray(i),INVALID_DEPS),this.registry.define(e,i,n,s||{})}async load(e,t){return validateLoadSpecifier(e,t,"lwr/loaderLegacy",{LoaderError:LoaderError,NO_IMPORT_LWC:NO_IMPORT_LWC,NO_IMPORT_LOADER:NO_IMPORT_LOADER,NO_IMPORT_TRANSPORT:NO_IMPORT_TRANSPORT,NO_BLOB_IMPORT:NO_BLOB_IMPORT}),this.registry.load(e,t)}clearRegistry(){this.registry.clearRegistry()}has(e){return this.registry.has(e)}async resolve(e,t){return this.registry.resolve(e,t)}async registerImportMappings(e){let t;if(t=e?resolveAndComposeImportMap(e,this.baseUrl,this.parentImportMap):await evaluateImportMaps(this.baseUrl),t){if(this.importMapResolver||this.parentImportMap)throw new LoaderError(BAD_IMPORT_MAP);this.importMapResolver=new ImportMapResolver(t),this.registry.setImportResolver(this.importMapResolver),this.parentImportMap=this.importMapResolver.importMap}}registerExternalModules(e){this.registry.registerExternalModules(e)}importMap(e){const t=validateAndConvertImportMapUpdate(e);if(!t)return;if(!this.parentImportMap||!this.importMapResolver)throw new LoaderError(BAD_IMPORT_MAP);const r=resolveAndComposeImportMap(t,this.baseUrl,this.parentImportMap);this.importMapResolver.addImportMapEntries(r),this.parentImportMap=this.importMapResolver.importMap}getModuleWarnings(e=!1){return this.registry.getModuleWarnings(e)}}exports.Loader=Loader,Object.defineProperty(exports,"__esModule",{value:!0})}));
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
- /* LWR Legacy Module Loader Shim v0.22.9 */
7
+ /* LWR Legacy Module Loader Shim v0.22.11 */
8
8
  (function () {
9
9
  'use strict';
10
10
 
@@ -105,26 +105,121 @@
105
105
  }
106
106
  }
107
107
 
108
+ /**
109
+ * Parse AMD define args. Supports define(id, deps, factory).
110
+ */
111
+ function parseDefine(def) {
112
+ const [, depsOrFactory, factory] = def;
113
+ if (Array.isArray(depsOrFactory) && typeof factory === 'function') {
114
+ return { deps: depsOrFactory, factory };
115
+ }
116
+ if (typeof depsOrFactory === 'function') {
117
+ return { deps: [], factory: depsOrFactory };
118
+ }
119
+ throw new Error('Invalid module definition');
120
+ }
121
+
122
+ /**
123
+ * Resolve a loader dependency: 'exports' returns the bag; otherwise look up in cache and instantiate.
124
+ * Loader deps are assumed to be leaf modules (no deps of their own)—no recursive resolution.
125
+ */
126
+ function resolveDep(dep, exportsObj, cache) {
127
+ if (dep === 'exports') return exportsObj;
128
+ const mod = cache[dep];
129
+ if (!mod) {
130
+ throw new Error(`Dependency "${dep}" not found in defineCache for loader`);
131
+ }
132
+ try {
133
+ return instantiateLeafModule(mod);
134
+ } catch (e) {
135
+ const msg = e instanceof Error ? e.message : String(e);
136
+ throw new Error(`Loader dependency "${dep}" has invalid definition: ${msg}`);
137
+ }
138
+ }
139
+
140
+ /**
141
+ * Instantiate a leaf module (loader dep). Assumes the module has no dependencies of its own.
142
+ * Supports only deps: [] or ['exports']; any other dep list throws.
143
+ */
144
+ function instantiateLeafModule(def) {
145
+ const { deps, factory } = parseDefine(def);
146
+ if (deps.length > 1 || (deps.length === 1 && deps[0] !== 'exports')) {
147
+ throw new Error(
148
+ `Loader dependencies must have no deps or only ['exports']; got [${deps.join(', ')}]`,
149
+ );
150
+ }
151
+ const exports = {};
152
+ const out = factory(exports);
153
+ return out !== undefined ? out : exports;
154
+ }
155
+
156
+ /**
157
+ * Normalize loader definition to canonical (exports, ...deps). Injects 'exports' if missing.
158
+ */
159
+ function normalizeLoaderDefinition(def) {
160
+ const { deps, factory } = parseDefine(def);
161
+ if (deps.includes('exports')) {
162
+ return { deps, factory };
163
+ }
164
+ const isEmptyDeps = deps.length === 0;
165
+ const normalizedFactory = (exports, ...rest) => {
166
+ const result = isEmptyDeps ? factory(exports) : factory(...rest);
167
+ if (result !== undefined && typeof result === 'object') {
168
+ Object.assign(exports, result);
169
+ }
170
+ };
171
+ return { deps: ['exports', ...deps], factory: normalizedFactory };
172
+ }
173
+
174
+ /**
175
+ * Resolve the loader's dependencies from defineCache. Throws if definition is invalid or deps cannot be resolved.
176
+ */
177
+ function resolveLoaderDepsFromDefineCache(
178
+ loaderSpecifier,
179
+ definition,
180
+ defineCache,
181
+ ) {
182
+ try {
183
+ const { deps, factory } = normalizeLoaderDefinition(definition);
184
+ const exportsObj = {};
185
+ const args = deps.map((dep) => resolveDep(dep, exportsObj, defineCache)) ;
186
+ return { factory: factory , args, exportsObj };
187
+ } catch (e) {
188
+ const msg = e instanceof Error ? e.message : String(e);
189
+ throw new Error(`Expected loader with specifier "${loaderSpecifier}" to be a module. ${msg}`);
190
+ }
191
+ }
192
+
193
+ /**
194
+ * Create a loader from a definition. Original API preserved.
195
+ * Optional defineCache for resolving loader deps.
196
+ * definition[3] (signatures: ownHash, hashes) is passed to loader.define for cache invalidation.
197
+ */
108
198
  function createLoader(
109
199
  name,
110
200
  definition,
111
201
  config,
112
202
  externalModules,
203
+ defineCache,
113
204
  ) {
114
205
  if (!definition || typeof definition[2] !== 'function') {
115
206
  throw new Error(`Expected loader with specifier "${name}" to be a module`);
116
207
  }
117
208
 
118
- // Create a Loader instance
119
209
  const exports = {};
120
- definition[2].call(null, exports);
210
+ if (defineCache) {
211
+ const { factory, args, exportsObj } = resolveLoaderDepsFromDefineCache(name, definition, defineCache);
212
+ factory(...args);
213
+ Object.assign(exports, exportsObj);
214
+ } else {
215
+ definition[2].call(null, exports);
216
+ }
121
217
  const { Loader } = exports;
122
218
  if (!Loader) {
123
219
  throw new Error('Expected Loader class to be defined');
124
220
  }
125
221
  const loader = new Loader(config);
126
222
 
127
- // register externally loaded modules
128
223
  if (externalModules && externalModules.length) {
129
224
  loader.registerExternalModules(externalModules);
130
225
  }
@@ -181,9 +276,164 @@
181
276
  }
182
277
  }
183
278
 
184
- /* global document, process, console */
279
+ /* eslint-disable lwr/no-unguarded-apis */
280
+
281
+ const hasConsole$1 = typeof console !== 'undefined';
282
+
283
+ const hasProcess$1 = typeof process !== 'undefined';
284
+
285
+ // eslint-disable-next-line no-undef
286
+ hasProcess$1 && process.env;
287
+
288
+ /**
289
+ * List of protected module patterns that cannot be remapped.
290
+ * Uses case-insensitive matching to prevent bypass attempts (e.g., HF-1027).
291
+ */
292
+ const PROTECTED_PATTERNS = [
293
+ /^lwc$/i, // Core LWC
294
+ /^lwc\/v\//i, // Versioned LWC variants
295
+ /^@lwc\//i, // LWC scoped packages
296
+ /^lightningmobileruntime\//i, // Lightning mobile runtime
297
+ ];
298
+
299
+ /**
300
+ * Checks if a specifier matches any protected module pattern.
301
+ *
302
+ * @param specifier - The module specifier to check
303
+ * @returns true if the specifier is protected, false otherwise
304
+ */
305
+ function isProtectedSpecifier(specifier) {
306
+ return PROTECTED_PATTERNS.some((pattern) => pattern.test(specifier));
307
+ }
308
+
309
+ /**
310
+ * Validates that a URI does not use dangerous URL schemes.
311
+ *
312
+ * Blocks:
313
+ * - blob: URLs (HF-1027 bypass prevention) - case-insensitive
314
+ * - data: URLs (inline code injection) - case-insensitive
315
+ *
316
+ * @param uri - The URI to validate
317
+ * @param specifier - The specifier being mapped (for error messages)
318
+ * @throws Error if the URI uses a dangerous scheme
319
+ */
320
+ function validateMappingUri(uri, specifier) {
321
+ const lowerUri = uri.toLowerCase();
322
+
323
+ if (lowerUri.startsWith('blob:')) {
324
+ throw new Error(`Cannot map ${specifier} to blob: URL`);
325
+ }
326
+
327
+ if (lowerUri.startsWith('data:')) {
328
+ throw new Error(`Cannot map ${specifier} to data: URL`);
329
+ }
330
+ }
331
+
332
+ /**
333
+ * Validates that a specifier is well-formed and not protected.
334
+ *
335
+ * @param specifier - The module specifier to validate
336
+ * @throws Error if the specifier is invalid or protected
337
+ */
338
+ function validateSpecifier(specifier) {
339
+ if (typeof specifier !== 'string' || specifier.length === 0) {
340
+ throw new Error('Specifier must be a non-empty string');
341
+ }
342
+
343
+ if (isProtectedSpecifier(specifier)) {
344
+ throw new Error(`Cannot remap protected module: ${specifier}`);
345
+ }
346
+ }
347
+
348
+ /**
349
+ * Validates and converts an ImportMapUpdate to ImportMap format.
350
+ *
351
+ * Performs validation checks and then converts from:
352
+ * { moduleScriptURL: [moduleName1, moduleName2] }
353
+ * To:
354
+ * { imports: { moduleName1: moduleScriptURL, moduleName2: moduleScriptURL } }
355
+ *
356
+ * @param update - The ImportMapUpdate object to validate and convert
357
+ * @returns The converted ImportMap, or null if the update is empty
358
+ * @throws Error if any validation fails
359
+ */
360
+ function validateAndConvertImportMapUpdate(update) {
361
+ if (!update || typeof update !== 'object') {
362
+ throw new Error('LWR.importMap() requires an object argument');
363
+ }
364
+
365
+ // Check if update is empty
366
+ const entries = Object.entries(update);
367
+ if (entries.length === 0) {
368
+ if (hasConsole$1) {
369
+ // eslint-disable-next-line lwr/no-unguarded-apis
370
+ console.warn('LWR.importMap() called with empty update object');
371
+ }
372
+ return null;
373
+ }
374
+
375
+ const convertedImports = {};
376
+
377
+ for (const [moduleScriptURL, moduleNames] of entries) {
378
+ if (!Array.isArray(moduleNames)) {
379
+ throw new Error('moduleNames must be an array');
380
+ }
381
+
382
+ if (!moduleScriptURL || typeof moduleScriptURL !== 'string') {
383
+ throw new Error('moduleScriptURL must be a string');
384
+ }
385
+
386
+ validateMappingUri(moduleScriptURL, moduleScriptURL);
387
+
388
+ for (const moduleName of moduleNames) {
389
+ validateSpecifier(moduleName);
390
+ if (moduleName in convertedImports) {
391
+ if (hasConsole$1) {
392
+ // eslint-disable-next-line lwr/no-unguarded-apis
393
+ console.warn(
394
+ `LWR.importMap(): duplicate module "${moduleName}" — already mapped to "${convertedImports[moduleName]}", ignoring mapping to "${moduleScriptURL}"`,
395
+ );
396
+ }
397
+ } else {
398
+ convertedImports[moduleName] = moduleScriptURL;
399
+ }
400
+ }
401
+ }
402
+
403
+ return {
404
+ imports: convertedImports,
405
+ };
406
+ }
407
+
408
+ function targetWarning(match, target, msg) {
409
+ if (hasConsole$1) {
410
+ // eslint-disable-next-line lwr/no-unguarded-apis, no-undef
411
+ console.warn('Package target ' + msg + ", resolving target '" + target + "' for " + match);
412
+ }
413
+ }
185
414
 
415
+ /**
416
+ * Import map entries are write-once: once a specifier is mapped, it cannot be overridden.
417
+ * This ensures deterministic module resolution and prevents runtime mutation of previously
418
+ * resolved dependencies. Conflicting mappings are ignored with a warning.
419
+ *
420
+ * Merges a single import map entry into a target imports object.
421
+ * - If the specifier doesn't exist, it is added.
422
+ * - If it exists with the same value, it is silently skipped.
423
+ * - If it exists with a different value, a warning is logged and the entry is skipped.
424
+ */
425
+ function mergeImportMapEntry(specifier, uri, target) {
426
+ const existing = target[specifier];
427
+ if (existing !== undefined) {
428
+ if (existing !== uri) {
429
+ targetWarning(specifier, uri, `already mapped to "${existing}", ignoring conflicting mapping`);
430
+ }
431
+ } else {
432
+ target[specifier] = uri;
433
+ }
434
+ }
186
435
 
436
+ function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }/* global document, process, console */
187
437
 
188
438
  /* eslint-disable lwr/no-unguarded-apis */
189
439
  const hasSetTimeout = typeof setTimeout === 'function';
@@ -198,10 +448,11 @@
198
448
 
199
449
  __init() {this.defineCache = {};}
200
450
  __init2() {this.orderedDefs = [];}
451
+ __init3() {this.importMapUpdatesCache = {};}
201
452
 
202
453
  // eslint-disable-line no-undef, lwr/no-unguarded-apis
203
454
 
204
- constructor(global) {LoaderShim.prototype.__init.call(this);LoaderShim.prototype.__init2.call(this);
455
+ constructor(global) {LoaderShim.prototype.__init.call(this);LoaderShim.prototype.__init2.call(this);LoaderShim.prototype.__init3.call(this);
205
456
  // Start watchdog timer
206
457
  if (hasSetTimeout) {
207
458
  this.watchdogTimerId = this.startWatchdogTimer();
@@ -210,14 +461,16 @@
210
461
  // Parse configuration
211
462
  this.global = global;
212
463
  this.config = global.LWR ;
213
- this.loaderModule = 'lwr/loaderLegacy/v/0_22_9';
464
+ this.loaderModule = 'lwr/loaderLegacy/v/0_22_11';
214
465
 
215
466
  // Set up error handler
216
467
  this.errorHandler = this.config.onError ;
217
468
 
218
- // Set up the temporary LWR.define function and customInit hook
469
+ // Set up the temporary LWR.define and LWR.importMap functions
219
470
  const tempDefine = this.tempDefine.bind(this);
220
471
  global.LWR.define = tempDefine;
472
+ const tempImportMapMethod = this.tempImportMap.bind(this);
473
+ global.LWR.importMap = tempImportMapMethod;
221
474
  this.bootReady = this.config.autoBoot;
222
475
 
223
476
  try {
@@ -273,6 +526,53 @@
273
526
  }
274
527
  }
275
528
 
529
+ /**
530
+ * Create a temporary LWR.importMap() function which captures all
531
+ * import map updates that occur BEFORE the full loader module is available
532
+ *
533
+ * Each import map update is validated, converted to moduleName -> URL mapping,
534
+ * and merged into the importMapUpdatesCache with write-once protection
535
+ */
536
+ tempImportMap(importMapUpdate) {
537
+ try {
538
+ // Validate and convert the import map update to { imports: { moduleName: moduleScriptURL } }
539
+ const importMap = validateAndConvertImportMapUpdate(importMapUpdate);
540
+
541
+ // Early return if update was empty
542
+ if (!importMap) {
543
+ return;
544
+ }
545
+
546
+ // Merge into cache with write-once protection
547
+ for (const [moduleName, moduleScriptURL] of Object.entries(importMap.imports)) {
548
+ mergeImportMapEntry(moduleName, moduleScriptURL, this.importMapUpdatesCache);
549
+ }
550
+ } catch (e) {
551
+ this.enterErrorState(e);
552
+ }
553
+ }
554
+
555
+ /**
556
+ * Apply all cached import map updates and merge with bootstrap import map
557
+ * Returns merged import map
558
+ */
559
+ getImportMappingsWithUpdates() {
560
+ // Start with bootstrap import map
561
+ // Cast importMappings from object to ImportMap to access properties
562
+ const bootstrapMappings = this.config.importMappings ;
563
+
564
+ // Merge with write-once protection: bootstrap mappings take precedence
565
+ const mergedImports = { ...(_optionalChain([bootstrapMappings, 'optionalAccess', _ => _.imports]) || {}) };
566
+ for (const [specifier, uri] of Object.entries(this.importMapUpdatesCache)) {
567
+ mergeImportMapEntry(specifier, uri, mergedImports);
568
+ }
569
+
570
+ return {
571
+ ...(bootstrapMappings || {}),
572
+ imports: mergedImports,
573
+ };
574
+ }
575
+
276
576
  // Called by the customInit hook via lwr.initializeApp()
277
577
  postCustomInit() {
278
578
  this.bootReady = true;
@@ -305,6 +605,7 @@
305
605
  this.defineCache[this.loaderModule],
306
606
  loaderConfig,
307
607
  this.config.preloadModules,
608
+ this.defineCache,
308
609
  );
309
610
  this.mountApp(loader);
310
611
  if (
@@ -360,17 +661,19 @@
360
661
  const exporter = (exports) => {
361
662
  Object.assign(exports, { logOperationStart, logOperationEnd });
362
663
  };
363
- define('lwr/profiler/v/0_22_9', ['exports'], exporter, {});
664
+ define('lwr/profiler/v/0_22_11', ['exports'], exporter, {});
364
665
  }
365
666
 
366
667
  // Set up the application globals, import map, root custom element...
367
668
  mountApp(loader) {
368
- const { bootstrapModule, rootComponent, importMappings, rootComponents, serverData, endpoints } =
369
- this.config;
669
+ const { bootstrapModule, rootComponent, rootComponents, serverData, endpoints } = this.config;
670
+
671
+ const importMappings = this.getImportMappingsWithUpdates();
370
672
 
371
673
  // Set global LWR.define to loader.define
372
674
  this.global.LWR = Object.freeze({
373
675
  define: loader.define.bind(loader),
676
+ importMap: loader.importMap.bind(loader),
374
677
  rootComponent,
375
678
  rootComponents,
376
679
  serverData: serverData || {},
@@ -395,7 +698,7 @@
395
698
  .registerImportMappings(importMappings)
396
699
  .then(() => {
397
700
  // eslint-disable-next-line lwr/no-unguarded-apis
398
- if (typeof window === 'undefined' || typeof document === undefined) {
701
+ if (typeof window === 'undefined' || typeof document === 'undefined') {
399
702
  return Promise.resolve();
400
703
  }
401
704
  if (initDeferDOM) {
@@ -455,8 +758,8 @@
455
758
  // The loader module is ALWAYS required
456
759
  const GLOBAL = globalThis ;
457
760
  GLOBAL.LWR.requiredModules = GLOBAL.LWR.requiredModules || [];
458
- if (GLOBAL.LWR.requiredModules.indexOf('lwr/loaderLegacy/v/0_22_9') < 0) {
459
- GLOBAL.LWR.requiredModules.push('lwr/loaderLegacy/v/0_22_9');
761
+ if (GLOBAL.LWR.requiredModules.indexOf('lwr/loaderLegacy/v/0_22_11') < 0) {
762
+ GLOBAL.LWR.requiredModules.push('lwr/loaderLegacy/v/0_22_11');
460
763
  }
461
764
  new LoaderShim(GLOBAL);
462
765