@lwrjs/everywhere 0.9.0-alpha.10 → 0.9.0-alpha.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 (31) hide show
  1. package/build/__generated_site_amd_modules__/1/application/amd/l/en-US/ai/amd-bootstrap/configuration/ci/-/-/s/192f06f301107fde8653b5881ce02072/config.js +10 -0
  2. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/@lwrjs/app-service/amd-bootstrap/module/amd/v/0_9_0-alpha_11/s/c40e6caf07454ce13961de8ca76ab7f0/@lwrjs_app-service_amd-bootstrap_module_amd.js +14 -0
  3. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/everywhereAmd/v/{0_9_0-alpha_10 → 0_9_0-alpha_11}/s/c538071acf5bde58e816967a14c465c3/lwr_everywhereAmd.js +3 -3
  4. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/init/v/{0_9_0-alpha_10/s/6258bcb20cc2d5d6a9f3c5a6f9d0acaf → 0_9_0-alpha_11/s/206e6e0af6f019fdfd86d87d56331bc2}/lwr_init.js +3 -3
  5. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/loader/v/{0_9_0-alpha_10/s/2c5c9415efc211dbce3448c2096d3657 → 0_9_0-alpha_11/s/c9ab8c12a1c56b4580563bf949681854}/lwr_loader.js +1 -1
  6. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/metrics/v/{0_9_0-alpha_10/s/dfbc827104d50ff7d16b59c9d0e06aca → 0_9_0-alpha_11/s/3426e42c3e22ce07ab2adc62c4c523a0}/lwr_metrics.js +1 -1
  7. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/profiler/v/{0_9_0-alpha_10/s/5a10236d8c52bc9f6dee22875cd7016d → 0_9_0-alpha_11/s/e25f3b0b8b5c096acebf847d0a83ea62}/lwr_profiler.js +1 -1
  8. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/vault/v/{0_9_0-alpha_10 → 0_9_0-alpha_11}/s/c92abd8c1fec2d7eff62e4b097abbe14/lwr_vault.js +1 -1
  9. package/build/__generated_site_amd_modules__/1/resource/amd/lwr-error-shim.js/v/{0_9_0-alpha_10 → 0_9_0-alpha_11} +1 -1
  10. package/build/__generated_site_amd_modules__/1/resource/amd/lwr-loader-shim.js/v/{0_9_0-alpha_10 → 0_9_0-alpha_11} +17 -16
  11. package/build/assets/amd/lwr-everywhere-debug.js +10 -8
  12. package/build/assets/amd/lwr-everywhere-min.js +1 -1
  13. package/build/assets/amd/lwr-everywhere.js +10 -8
  14. package/build/assets/core/lwr-everywhere-debug.js +6 -4
  15. package/build/assets/core/lwr-everywhere.js +6 -4
  16. package/build/assets/esm/lwr-everywhere-debug.js +1 -1
  17. package/build/assets/esm/lwr-everywhere-min.js +1 -1
  18. package/build/assets/esm/lwr-everywhere.js +1 -1
  19. package/build/modules/@salesforce/lds-default-luvio/lds-default-luvio.js +11 -7
  20. package/build/modules/lwr/everywhere/everywhere.js +6 -7
  21. package/build/modules/lwr/everywhereAmd/everywhereAmd.js +9 -11
  22. package/build/modules/lwr/everywhereEsm/everywhereEsm.js +0 -1
  23. package/build/modules/lwr/host/host.js +23 -27
  24. package/build/modules/lwr/setupLDS/network.js +9 -17
  25. package/build/modules/lwr/setupLDS/setupLDS.js +6 -4
  26. package/build/modules/lwr/setupNodeLDS/network.js +9 -17
  27. package/build/modules/lwr/setupNodeLDS/setupNodeLDS.js +3 -1
  28. package/build/modules/lwr/vault/vault.js +3 -1
  29. package/package.json +5 -5
  30. package/build/__generated_site_amd_modules__/1/application/amd/l/en-US/ai/amd-bootstrap/configuration/ci/-/-/s/690bb813af001b4134ce968b8713bd34/config.js +0 -10
  31. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/@lwrjs/app-service/amd-bootstrap/module/amd/v/0_9_0-alpha_10/s/c40e6caf07454ce13961de8ca76ab7f0/@lwrjs_app-service_amd-bootstrap_module_amd.js +0 -14
@@ -0,0 +1,10 @@
1
+ /* This script is generated */
2
+ /* Client Bootstrap configuration */
3
+ globalThis.LWR = globalThis.LWR || {};
4
+ Object.assign(globalThis.LWR, {"appId":"amd-bootstrap","bootstrapModule":"@lwrjs/app-service/amd-bootstrap/module/amd/v/0_9_0-alpha_11","autoBoot":true,"imports":{"/1/module/amd/1/l/en-US/mi/%40lwrjs%2Fapp-service%2Famd-bootstrap%2Fmodule%2Famd%2Fv%2F0_9_0-alpha_11/s/c40e6caf07454ce13961de8ca76ab7f0/@lwrjs_app-service_amd-bootstrap_module_amd.js":["@lwrjs/app-service/amd-bootstrap/module/amd/v/0_9_0-alpha_11"],"/1/module/amd/1/l/en-US/mi/lwr%2Finit%2Fv%2F0_9_0-alpha_11/s/206e6e0af6f019fdfd86d87d56331bc2/lwr_init.js":["lwr/init/v/0_9_0-alpha_11"],"/1/module/amd/1/l/en-US/mi/lwr%2Fmetrics%2Fv%2F0_9_0-alpha_11/s/3426e42c3e22ce07ab2adc62c4c523a0/lwr_metrics.js":["lwr/metrics/v/0_9_0-alpha_11"],"/1/module/amd/1/l/en-US/mi/lwr%2Fprofiler%2Fv%2F0_9_0-alpha_11/s/e25f3b0b8b5c096acebf847d0a83ea62/lwr_profiler.js":["lwr/profiler/v/0_9_0-alpha_11"],"/1/module/amd/1/l/en-US/mi/lwc%2Fv%2F2_33_0/s/90a5f16131da45cef1653112862ca9dc/lwc.js":["lwc/v/2_33_0"],"/1/module/amd/1/l/en-US/mi/lwr%2FeverywhereAmd%2Fv%2F0_9_0-alpha_11/s/c538071acf5bde58e816967a14c465c3/lwr_everywhereAmd.js":["lwr/everywhereAmd/v/0_9_0-alpha_11"],"/1/module/amd/1/l/en-US/mi/lwr%2Fvault%2Fv%2F0_9_0-alpha_11/s/c92abd8c1fec2d7eff62e4b097abbe14/lwr_vault.js":["lwr/vault/v/0_9_0-alpha_11"]},"index":{"@lwrjs/app-service/amd-bootstrap/module/amd/v/0_9_0-alpha_11":"/1/module/amd/1/l/en-US/mi/%40lwrjs%2Fapp-service%2Famd-bootstrap%2Fmodule%2Famd%2Fv%2F0_9_0-alpha_11/s/c40e6caf07454ce13961de8ca76ab7f0/@lwrjs_app-service_amd-bootstrap_module_amd.js","lwr/init/v/0_9_0-alpha_11":"/1/module/amd/1/l/en-US/mi/lwr%2Finit%2Fv%2F0_9_0-alpha_11/s/206e6e0af6f019fdfd86d87d56331bc2/lwr_init.js","lwr/metrics/v/0_9_0-alpha_11":"/1/module/amd/1/l/en-US/mi/lwr%2Fmetrics%2Fv%2F0_9_0-alpha_11/s/3426e42c3e22ce07ab2adc62c4c523a0/lwr_metrics.js","lwr/profiler/v/0_9_0-alpha_11":"/1/module/amd/1/l/en-US/mi/lwr%2Fprofiler%2Fv%2F0_9_0-alpha_11/s/e25f3b0b8b5c096acebf847d0a83ea62/lwr_profiler.js","lwc/v/2_33_0":"/1/module/amd/1/l/en-US/mi/lwc%2Fv%2F2_33_0/s/90a5f16131da45cef1653112862ca9dc/lwc.js","lwr/everywhereAmd/v/0_9_0-alpha_11":"/1/module/amd/1/l/en-US/mi/lwr%2FeverywhereAmd%2Fv%2F0_9_0-alpha_11/s/c538071acf5bde58e816967a14c465c3/lwr_everywhereAmd.js","lwr/vault/v/0_9_0-alpha_11":"/1/module/amd/1/l/en-US/mi/lwr%2Fvault%2Fv%2F0_9_0-alpha_11/s/c92abd8c1fec2d7eff62e4b097abbe14/lwr_vault.js"},"rootComponents":["lwr/everywhereAmd/v/0_9_0-alpha_11"],"requiredModules":["@lwrjs/app-service/amd-bootstrap/module/amd/v/0_9_0-alpha_11"],"preloadModules":["lwr/everywhereAmd/v/0_9_0-alpha_11"],"endpoints":{"uris":{"mapping":"/1/mapping/amd/1/l/en-US/mp/"}}});
5
+ globalThis.process = { env: { NODE_ENV: "compat" } };
6
+ // Appended by Static Site Generator
7
+ if (!globalThis.LWR.imports) { globalThis.LWR.imports = {}; }
8
+ Object.assign(globalThis.LWR.imports, {"/1/module/amd/1/l/en-US/mi/lwr%2Floader%2Fv%2F0_9_0-alpha_11/s/c9ab8c12a1c56b4580563bf949681854/lwr_loader.js":["lwr/loader/v/0_9_0-alpha_11"]})
9
+ if (!globalThis.LWR.index) { globalThis.LWR.index = {}; }
10
+ Object.assign(globalThis.LWR.index, {"lwr/loader/v/0_9_0-alpha_11":"/1/module/amd/1/l/en-US/mi/lwr%2Floader%2Fv%2F0_9_0-alpha_11/s/c9ab8c12a1c56b4580563bf949681854/lwr_loader.js"})
@@ -0,0 +1,14 @@
1
+ LWR.define("@lwrjs/app-service/amd-bootstrap/module/amd/v/0_9_0-alpha_11", ["lwr/loader/v/0_9_0-alpha_11", "lwr/init/v/0_9_0-alpha_11"], function(_0_9_0Alpha_11$1, _0_9_0Alpha_11) {
2
+ "use strict";
3
+ const clientBootstrapConfig = globalThis.LWR;
4
+ const {rootComponents, ssrProps} = clientBootstrapConfig;
5
+ Promise.all(rootComponents.map(async (rootSpecifier) => {
6
+ const element = _0_9_0Alpha_11.toKebabCase(rootSpecifier);
7
+ return _0_9_0Alpha_11$1.load(rootSpecifier, "@lwrjs/app-service/amd-bootstrap/module/amd/v/0_9_0-alpha_11").then(({default: Ctor}) => {
8
+ _0_9_0Alpha_11.init([[element, Ctor]], ssrProps);
9
+ });
10
+ }));
11
+ globalThis.LWR = Object.freeze({
12
+ define: globalThis.LWR.define
13
+ });
14
+ });
@@ -1,7 +1,7 @@
1
- LWR.define("lwr/everywhereAmd/v/0_9_0-alpha_10", ["exports", "lwr/vault/v/0_9_0-alpha_10"], function(exports, _0_9_0Alpha_10) {
1
+ LWR.define("lwr/everywhereAmd/v/0_9_0-alpha_11", ["exports", "lwr/vault/v/0_9_0-alpha_11"], function(exports, _0_9_0Alpha_11) {
2
2
  "use strict";
3
3
  async function authFetch(url, accept = "javascript") {
4
- const authInfo = _0_9_0Alpha_10.getAuthInfo();
4
+ const authInfo = _0_9_0Alpha_11.getAuthInfo();
5
5
  if (authInfo) {
6
6
  return fetch(url, {
7
7
  headers: {
@@ -39,7 +39,7 @@ LWR.define("lwr/everywhereAmd/v/0_9_0-alpha_10", ["exports", "lwr/vault/v/0_9_0-
39
39
  }
40
40
  function authenticate(authInfo) {
41
41
  if (authInfo) {
42
- _0_9_0Alpha_10.setAuthInfo(authInfo);
42
+ _0_9_0Alpha_11.setAuthInfo(authInfo);
43
43
  }
44
44
  }
45
45
  exports.authenticate = authenticate;
@@ -1,4 +1,4 @@
1
- LWR.define("lwr/init/v/0_9_0-alpha_10", ["exports", "lwr/metrics/v/0_9_0-alpha_10", "lwr/profiler/v/0_9_0-alpha_10", "lwc/v/2_33_0"], function(exports, _0_9_0Alpha_10$1, _0_9_0Alpha_10, _2_33_0) {
1
+ LWR.define("lwr/init/v/0_9_0-alpha_11", ["exports", "lwr/metrics/v/0_9_0-alpha_11", "lwr/profiler/v/0_9_0-alpha_11", "lwc/v/2_33_0"], function(exports, _0_9_0Alpha_11$1, _0_9_0Alpha_11, _2_33_0) {
2
2
  "use strict";
3
3
  function initializeWebComponent(elementName, Ctor) {
4
4
  return _2_33_0.createElement(elementName, {
@@ -47,8 +47,8 @@ LWR.define("lwr/init/v/0_9_0-alpha_10", ["exports", "lwr/metrics/v/0_9_0-alpha_1
47
47
  }
48
48
  });
49
49
  }
50
- _0_9_0Alpha_10.logOperationStart({
51
- id: _0_9_0Alpha_10$1.BOOTSTRAP_END
50
+ _0_9_0Alpha_11.logOperationStart({
51
+ id: _0_9_0Alpha_11$1.BOOTSTRAP_END
52
52
  });
53
53
  }
54
54
  exports.getPropFromAttrName = getPropFromAttrName;
@@ -1,4 +1,4 @@
1
- LWR.define("lwr/loader/v/0_9_0-alpha_10", ["exports"], function(exports) {
1
+ LWR.define("lwr/loader/v/0_9_0-alpha_11", ["exports"], function(exports) {
2
2
  "use strict";
3
3
  const templateRegex = /\{([0-9]+)\}/g;
4
4
  function templateString(template, args) {
@@ -1,4 +1,4 @@
1
- LWR.define("lwr/metrics/v/0_9_0-alpha_10", ["exports"], function(exports) {
1
+ LWR.define("lwr/metrics/v/0_9_0-alpha_11", ["exports"], function(exports) {
2
2
  "use strict";
3
3
  const BOOTSTRAP_PREFIX = "lwr.bootstrap.";
4
4
  const BOOTSTRAP_END = `${BOOTSTRAP_PREFIX}end`;
@@ -1,4 +1,4 @@
1
- LWR.define("lwr/profiler/v/0_9_0-alpha_10", ["exports"], function(exports) {
1
+ LWR.define("lwr/profiler/v/0_9_0-alpha_11", ["exports"], function(exports) {
2
2
  "use strict";
3
3
  var Phase;
4
4
  (function(Phase2) {
@@ -1,4 +1,4 @@
1
- LWR.define("lwr/vault/v/0_9_0-alpha_10", ["exports"], function(exports) {
1
+ LWR.define("lwr/vault/v/0_9_0-alpha_11", ["exports"], function(exports) {
2
2
  "use strict";
3
3
  let authInfo;
4
4
  function getAuthInfo() {
@@ -4,5 +4,5 @@
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 Error Shim v0.9.0-alpha.10 */
7
+ /* LWR Error Shim v0.9.0-alpha.11 */
8
8
  !function(){"use strict";if(!(globalThis.LWR&&globalThis.LWR.define)){const o=new Error("The LWR application failed to bootstrap");if(!globalThis.LWR||!globalThis.LWR.onError)throw o;globalThis.LWR.onError(o)}}();
@@ -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 Module Loader Shim v0.9.0-alpha.10 */
7
+ /* LWR Module Loader Shim v0.9.0-alpha.11 */
8
8
  (function () {
9
9
  'use strict';
10
10
 
@@ -13,23 +13,23 @@
13
13
  const BOOTSTRAP_ERROR = `${BOOTSTRAP_PREFIX}error`;
14
14
 
15
15
  var Phase;
16
-
17
16
  (function (Phase) {
18
17
  Phase[Phase["Start"] = 0] = "Start";
19
18
  Phase[Phase["End"] = 1] = "End";
20
19
  })(Phase || (Phase = {}));
21
-
22
20
  // Attach a custom dispatcher
23
21
  let customDispatcher;
24
22
  function attachDispatcher(dispatcher) {
25
23
  customDispatcher = dispatcher;
26
- } // Check if the Performance API is available
27
- // e.g. JSDom (used in Jest) doesn't implement these
24
+ }
28
25
 
26
+ // Check if the Performance API is available
27
+ // e.g. JSDom (used in Jest) doesn't implement these
29
28
  const perf = globalThis.performance;
30
- const isPerfSupported = typeof perf !== 'undefined' && typeof perf.mark === 'function' && typeof perf.clearMarks === 'function' && typeof perf.measure === 'function' && typeof perf.clearMeasures === 'function'; // For marking request metrics
31
- // Fallback to the Performance API if there is no custom dispatcher
29
+ const isPerfSupported = typeof perf !== 'undefined' && typeof perf.mark === 'function' && typeof perf.clearMarks === 'function' && typeof perf.measure === 'function' && typeof perf.clearMeasures === 'function';
32
30
 
31
+ // For marking request metrics
32
+ // Fallback to the Performance API if there is no custom dispatcher
33
33
  function logOperationStart({
34
34
  id,
35
35
  specifier
@@ -43,11 +43,11 @@
43
43
  } else if (isPerfSupported) {
44
44
  perf.mark(id + (specifier ? `.${specifier}` : ''));
45
45
  }
46
- } // For measuring duration metrics
47
- // Fallback to the Performance API if there is no custom dispatcher
46
+ }
48
47
 
48
+ // For measuring duration metrics
49
+ // Fallback to the Performance API if there is no custom dispatcher
49
50
  /* istanbul ignore next */
50
-
51
51
  function logOperationEnd({
52
52
  id,
53
53
  specifier
@@ -62,9 +62,10 @@
62
62
  const suffix = specifier ? `.${specifier}` : '';
63
63
  const markName = id + suffix;
64
64
  const measureName = `${id}.duration${suffix}`;
65
- perf.measure(measureName, markName); // Clear the created mark and measure to avoid filling the performance entry buffer
66
- // Even if they get deleted, existing PerformanceObservers preserve copies of the entries
65
+ perf.measure(measureName, markName);
67
66
 
67
+ // Clear the created mark and measure to avoid filling the performance entry buffer
68
+ // Even if they get deleted, existing PerformanceObservers preserve copies of the entries
68
69
  perf.clearMarks(markName);
69
70
  perf.clearMeasures(measureName);
70
71
  }
@@ -140,7 +141,7 @@
140
141
  // Parse configuration
141
142
  this.global = global;
142
143
  this.config = global.LWR;
143
- this.loaderSpecifier = 'lwr/loader/v/0_9_0-alpha_10';
144
+ this.loaderSpecifier = 'lwr/loader/v/0_9_0-alpha_11';
144
145
  // Set up error handler
145
146
  this.errorHandler = this.config.onError;
146
147
  // Set up the temporary LWR.define function and customInit hook
@@ -242,7 +243,7 @@
242
243
  const exporter = (exports) => {
243
244
  Object.assign(exports, { logOperationStart, logOperationEnd });
244
245
  };
245
- loader.define('lwr/profiler/v/0_9_0-alpha_10', ['exports'], exporter);
246
+ loader.define('lwr/profiler/v/0_9_0-alpha_11', ['exports'], exporter);
246
247
  }
247
248
  // Set up the application globals, import map, root custom element...
248
249
  mountApp(loader) {
@@ -303,8 +304,8 @@
303
304
  // The loader module is ALWAYS required
304
305
  const GLOBAL = globalThis;
305
306
  GLOBAL.LWR.requiredModules = GLOBAL.LWR.requiredModules || [];
306
- if (GLOBAL.LWR.requiredModules.indexOf('lwr/loader/v/0_9_0-alpha_10') < 0) {
307
- GLOBAL.LWR.requiredModules.push('lwr/loader/v/0_9_0-alpha_10');
307
+ if (GLOBAL.LWR.requiredModules.indexOf('lwr/loader/v/0_9_0-alpha_11') < 0) {
308
+ GLOBAL.LWR.requiredModules.push('lwr/loader/v/0_9_0-alpha_11');
308
309
  }
309
310
  new LoaderShim(GLOBAL);
310
311
 
@@ -18,7 +18,7 @@ function getConfiguration(options) {
18
18
  ? `${ORIGIN}${PREFIX}/bundle/${format}/${POSTFIX}${BUNDLE_ID}-0/module/mi/`
19
19
  : `${ORIGIN}${PREFIX}/module/${format}/${POSTFIX}/mi/`;
20
20
  // Component specifiers and URIs
21
- const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_9_0-alpha_10`;
21
+ const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_9_0-alpha_11`;
22
22
  const BOOT_URI = `${ENDPOINT}${encodeURIComponent(BOOT_MODULE)}/latest${debug ? '?debug' : ''}`;
23
23
  // Client Bootstrap Config
24
24
  const config = {
@@ -48,7 +48,7 @@ function getConfiguration(options) {
48
48
  * SPDX-License-Identifier: MIT
49
49
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
50
50
  */
51
- /* LWR Module Loader v0.9.0-alpha.10 */
51
+ /* LWR Module Loader v0.9.0-alpha.11 */
52
52
  const templateRegex = /\{([0-9]+)\}/g;
53
53
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
54
  function templateString(template, args) {
@@ -345,11 +345,13 @@ if (hasDocument) {
345
345
 
346
346
  // Bootstrap / shim
347
347
 
348
+ // Loader: modules
348
349
  const LOADER_PREFIX = 'lwr.loader.';
349
350
  const MODULE_DEFINE = `${LOADER_PREFIX}module.define`;
350
351
  const MODULE_FETCH = `${LOADER_PREFIX}module.fetch`;
351
352
  const MODULE_ERROR = `${LOADER_PREFIX}module.error`;
352
353
 
354
+ // Loader: mappings
353
355
  const MAPPINGS_FETCH = `${LOADER_PREFIX}mappings.fetch`;
354
356
  const MAPPINGS_ERROR = `${LOADER_PREFIX}mappings.error`;
355
357
 
@@ -1285,7 +1287,7 @@ const configuration = getConfiguration(configOptions);
1285
1287
  const { bootstrapModule, endpoints, baseUrl, imports, index } = configuration;
1286
1288
  // Initialize the AMD loader (its code is bundled into the LWR Everywhere module)
1287
1289
  const loader = new Loader({ endpoints, baseUrl });
1288
- loader.define('lwr/loader/v/0_9_0-alpha_10', ['exports'], (exports) => {
1290
+ loader.define('lwr/loader/v/0_9_0-alpha_11', ['exports'], (exports) => {
1289
1291
  Object.assign(exports, {
1290
1292
  define: loader.define.bind(loader),
1291
1293
  load: loader.load.bind(loader),
@@ -1294,9 +1296,9 @@ loader.define('lwr/loader/v/0_9_0-alpha_10', ['exports'], (exports) => {
1294
1296
  await loader.registerImportMappings({ imports, index }, [bootstrapModule]);
1295
1297
  globalThis.LWR = Object.freeze({ define: loader.define.bind(loader) });
1296
1298
  // Define preload modules (ie: ABS, vault, etc) BEFORE loading them
1297
- LWR.define("lwr/everywhereAmd/v/0_9_0-alpha_10", ["exports", "lwr/vault/v/0_9_0-alpha_10"], function (exports, _0_9_0Alpha_10) {
1299
+ LWR.define("lwr/everywhereAmd/v/0_9_0-alpha_11", ["exports", "lwr/vault/v/0_9_0-alpha_11"], function (exports, _0_9_0Alpha_11) {
1298
1300
  async function authFetch(url, accept = "javascript") {
1299
- const authInfo = _0_9_0Alpha_10.getAuthInfo();
1301
+ const authInfo = _0_9_0Alpha_11.getAuthInfo();
1300
1302
  if (authInfo) {
1301
1303
  return fetch(url, {
1302
1304
  headers: {
@@ -1334,14 +1336,14 @@ LWR.define("lwr/everywhereAmd/v/0_9_0-alpha_10", ["exports", "lwr/vault/v/0_9_0-
1334
1336
  }
1335
1337
  function authenticate(authInfo) {
1336
1338
  if (authInfo) {
1337
- _0_9_0Alpha_10.setAuthInfo(authInfo);
1339
+ _0_9_0Alpha_11.setAuthInfo(authInfo);
1338
1340
  }
1339
1341
  }
1340
1342
  exports.authenticate = authenticate;
1341
1343
  exports.initAmd = initAmd;
1342
1344
  Object.defineProperty(exports, "__esModule", { value: true });
1343
1345
  });
1344
- LWR.define("lwr/vault/v/0_9_0-alpha_10", ["exports"], function (exports) {
1346
+ LWR.define("lwr/vault/v/0_9_0-alpha_11", ["exports"], function (exports) {
1345
1347
  let authInfo;
1346
1348
  function getAuthInfo() {
1347
1349
  return authInfo;
@@ -1355,7 +1357,7 @@ LWR.define("lwr/vault/v/0_9_0-alpha_10", ["exports"], function (exports) {
1355
1357
  });
1356
1358
  // Set up the AMD loader hooks for OAuth
1357
1359
  const { initAmd, authenticate } = await loader.load(bootstrapModule);
1358
- initAmd(loader.services, endpoints?.uris.mapping, '0_9_0-alpha_10');
1360
+ initAmd(loader.services, endpoints?.uris.mapping, '0_9_0-alpha_11');
1359
1361
  // Wrap the createComponent API to allow proper ordering of module definitions:
1360
1362
  // 1. LWRE module bundle (this): lwr/loader, lwr/everywhereAmd, lwr/vault
1361
1363
  // 2. lwr/everywhere (deps: lwc, synthetic shadow, lwr/host, etc)
@@ -1 +1 @@
1
- function getConfiguration(e){const{format:t,server:r,apiVersion:o,apiPrefix:n,locale:i,bundle:s,debug:a}=e,l=new URL(import.meta.url),d=r||l.origin||"",c=`${n}/${o}`,u="0"+(i?`/l/${i}`:""),p="/bi/3_A,B,O,S,EG,JLMT,C,D,F,H,I,K,N,P,Q,R",h=s?`${d}${c}/bundle/${t}/${u}${p}-0/module/mi/`:`${d}${c}/module/${t}/${u}/mi/`,f=`lwr/everywhere${"esm"===t?"Esm":"Amd"}/v/0_9_0-alpha_10`,g=`${h}${encodeURIComponent(f)}/latest${a?"?debug":""}`,m={appId:"lwre",autoBoot:!0,bootstrapModule:f,baseUrl:d,imports:{[g]:[f]},index:{[f]:g},endpoints:{uris:{module:h,mapping:`${d}${c}/mapping/${t}/${u}${s?p:""}/mp/`}}};return a&&m.endpoints&&(m.endpoints.modifiers={debug:"true"}),m}globalThis.process={env:{NODE_ENV:"production"}};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}"}),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"}),MODULE_ALREADY_LOADED=Object.freeze({code:3017,level:0,message:"Marking module(s) as externally loaded, but they are already loaded: {0}"}),FAIL_HOOK_LOAD=Object.freeze({code:3018,level:0,message:'Error loading "{0}" from hook'}),NO_MAPPING_URL=Object.freeze({code:3019,level:0,message:"Mapping endpoint not set"}),BAD_IMPORT_METADATA=Object.freeze({code:3020,level:0,message:"Invalid import metadata: {0} {1}"});Object.freeze({code:3011,level:0,message:"import map is not valid"});const hasDocument="undefined"!=typeof document,hasSetTimeout="function"==typeof setTimeout,hasConsole="undefined"!=typeof console;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)}}))}hasDocument&&window.addEventListener("error",(e=>{lastWindowErrorUrl=e.filename,lastWindowError$1=e.error}));const LOADER_PREFIX="lwr.loader.",MODULE_DEFINE=`${LOADER_PREFIX}module.define`,MODULE_FETCH=`${LOADER_PREFIX}module.fetch`,MODULE_ERROR=`${LOADER_PREFIX}module.error`,MAPPINGS_FETCH=`${LOADER_PREFIX}mappings.fetch`,MAPPINGS_ERROR=`${LOADER_PREFIX}mappings.error`;class ImportMetadataResolver{constructor(e,t){this.importURICache=new Map,this.pendingURICache=new Map,this.loadMappingHooks=[],this.config=e,this.invalidationCallback=t}addLoadMappingHook(e){this.loadMappingHooks.push(e)}getMappingEndpoint(){return this.config.endpoints&&this.config.endpoints.uris?this.config.endpoints.uris.mapping:void 0}getModifiersAsUrlParams(){const e=this.config.endpoints?this.config.endpoints.modifiers:void 0;if(e){return`?${Object.keys(e).map((t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`)).join("&")}`}return""}buildMappingUrl(e){return`${this.getMappingEndpoint()}${encodeURIComponent(e)}${this.getModifiersAsUrlParams()}`}getBaseUrl(){return this.config.baseUrl}registerImportMappings(e,t){if(!t||0===t.length){const r=e?JSON.stringify(e):"undefined";throw new LoaderError(BAD_IMPORT_METADATA,[r,t?"[]":"undefined"])}if(!e)throw new LoaderError(BAD_IMPORT_METADATA,["undefined",JSON.stringify(t)]);if(!e.imports||0===Object.keys(e.imports).length)throw new LoaderError(BAD_IMPORT_METADATA,[JSON.stringify(e),JSON.stringify(t)]);const r=e.index||{};for(const[o,n]of Object.entries(e.imports))n.forEach((e=>{const n=r[e],i=this.importURICache.get(e);if(i){const t=n||o,r=i.identity||i.uri;r!==t&&this.invalidationCallback({name:e,oldUrl:r,newUrl:t})}else this.saveImportURIRecord(e,o,n,t.includes(e))}))}getURI(e){return this.importURICache.has(e)?resolveUrl(this.importURICache.get(e).uri,this.getBaseUrl()):void 0}resolveLocal(e){const t=this.getURI(e);return t||(isUrl(e)||e.startsWith("/")?e:void 0)}async resolve(e){let t=this.getURI(e);if(t)return t;if(isUrl(e)||e.startsWith("/"))return e;{const r=this.pendingURICache.get(e);if(r)return r;this.config.profiler.logOperationStart({id:MAPPINGS_FETCH,specifier:e});const o=(this.hasMappingHooks()?this.evaluateMappingHooks:this.fetchNewMappings).bind(this)(e).then((r=>{if(!r||!r.imports)throw new LoaderError(UNRESOLVED,[e]);if(this.registerImportMappings(r,[e]),t=this.getURI(e),!t)throw new LoaderError(UNRESOLVED,[e]);return this.config.profiler.logOperationEnd({id:MAPPINGS_FETCH,specifier:e}),t})).finally((()=>{this.pendingURICache.delete(e)}));return this.pendingURICache.set(e,o),o}}hasMappingHooks(){return this.loadMappingHooks.length>0}async evaluateMappingHooks(e){const t=this.loadMappingHooks;if(t.length){const r=Array.from(this.importURICache.keys());for(let o=0;o<t.length;o++){const n=t[o],i=await n(e,{knownModules:r});if(i||void 0===i)return i}}return this.fetchNewMappings(e)}async fetchNewMappings(e){if("function"!=typeof globalThis.fetch)throw new LoaderError(UNRESOLVED,[e]);const t=resolveUrl(this.buildMappingUrl(e),this.getBaseUrl());return globalThis.fetch(t).then((t=>{if(!t.ok)throw this.config.profiler.logOperationStart({id:MAPPINGS_ERROR,specifier:e}),new LoaderError(UNRESOLVED,[e]);return t.json().then((e=>e)).catch((t=>{throw new LoaderError(UNRESOLVED,[e])}))}))}saveImportURIRecord(e,t,r,o){r&&t!==r?this.importURICache.set(e,{uri:t,identity:r,isRoot:o}):this.importURICache.set(e,{uri:t,isRoot:o})}}function reportError(e){hasConsole&&console.error(e)}function evaluateHandleStaleModuleHooks(e,t){const{name:r,oldUrl:o,newUrl:n}=t;for(let t=0;t<e.length;t++){const i=e[t];try{if(null!==i({name:r,oldUrl:o,newUrl:n}))break}catch(e){reportError(new LoaderError(STALE_HOOK_ERROR))}}}const MODULE_LOAD_TIMEOUT_TIMER=3e5;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.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,[id]);code=`${code}\n//# sourceURL=${id}`;try{eval(code)}catch(e){throw new LoaderError(FAIL_LOAD,[id])}if(lastWindowError)throw new LoaderError(FAIL_LOAD,[id]);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}hasDocument&&globalThis.addEventListener("error",(e=>{lastWindowError=e.error})),"production"!==process.env.NODE_ENV&&!hasSetTimeout&&hasConsole&&console.warn("setTimeout API is not available, watchdog timer on load hook will not be set");class ModuleRegistry{constructor(e){this.namedDefineRegistry=new Map,this.moduleRegistry=new Map,this.aliases=new Map,this.profiler=e.profiler,this.resolver=new ImportMetadataResolver(e,this.importMetadataInvalidationCallback.bind(this))}async load(e,t){const r=await this.resolve(e,t),o=this.getModuleRecord(r,e);return o.evaluated?o.module:(o.evaluationPromise||(o.evaluationPromise=this.topLevelEvaluation(o)),o.evaluationPromise)}async resolve(e,t){const r=this.resolver.getBaseUrl();let o,n=e;const i=this.resolveHook;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),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;const n=this.resolver.resolveLocal(t);if(n){if(this.namedDefineRegistry.has(t)&&this.namedDefineRegistry.get(t).defined){if(!this.moduleRegistry.get(n)||!this.aliases.has(t))return t}return n}if(this.namedDefineRegistry.has(t))return t;try{o=await this.resolver.resolve(t)}catch(e){}}if(!o||!isUrl(o)){if(this.namedDefineRegistry.has(e))return e;throw new LoaderError(UNRESOLVED,[e])}return t&&isUrl(o)&&(o+=`?importer=${encodeURIComponent(t)}`),o}has(e){return this.moduleRegistry.has(e)}define(e,t,r){const o=this.namedDefineRegistry.get(e);if(o&&o.defined)return"production"!==process.env.NODE_ENV&&hasConsole&&console.warn(`Module redefine attempted: ${e}`),void(this.lastDefine=o);const n={name:e,dependencies:t,exporter:r,defined:!0};o&&o.external&&o.external.resolveExternal(n),this.profiler.logOperationStart({id:MODULE_DEFINE,specifier:e}),this.namedDefineRegistry.set(e,n),this.lastDefine=n}registerExternalModules(e){const t=[];if(e.map((e=>{if(this.namedDefineRegistry.has(e))t.push(e);else{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)}})),t.length)throw new LoaderError(MODULE_ALREADY_LOADED,[t.join(", ")])}getImportMetadataResolver(){return this.resolver}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}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.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),i}storeModuleAlias(e,t){if(e!==t)if(this.aliases.has(e)){if("production"!==process.env.NODE_ENV&&hasConsole){const r=this.aliases.get(e);r!==t&&console.warn(`Alias update attempt: ${e}=>${r}, ${t}`)}}else this.aliases.set(e,t)}async getModuleDependencyRecord(e){const t=await this.resolve(e);return this.getModuleRecord(t,e)}async topLevelEvaluation(e){return await this.instantiateAll(e,{}),this.evaluateModule(e,{})}async instantiateAll(e,t){if(!t[e.id]){t[e.id]=!0;const r=await e.dependencyRecords;if(r)for(let e=0;e<r.length;e++){const o=r[e];await this.instantiateAll(o,t)}}}async evaluateModule(e,t){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=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=o(...s);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.resolver.getBaseUrl(),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||(o=this.lastDefine),!o)throw new LoaderError(FAIL_INSTANTIATE,[e]);return this.profiler.logOperationEnd({id:MODULE_FETCH,specifier:i}),o})).catch((e=>{throw 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,loadMapping:o}=e;r&&(this.resolveHook?this.resolveHook.push(r):this.resolveHook=[r]),t&&(this.loadHook?this.loadHook.push(t):this.loadHook=[t]),o&&this.resolver.addLoadMappingHook(o)}importMetadataInvalidationCallback({name:e,oldUrl:t,newUrl:r}){const o=this.handleStaleModuleHook;o?evaluateHandleStaleModuleHooks(o,{name:e,oldUrl:t,newUrl:r}):"production"!==process.env.NODE_ENV&&hasConsole&&console.warn(`stale module detected ${e}, current URL:${t}, new URL:${r}`)}registerHandleStaleModuleHook(e){this.handleStaleModuleHook?this.handleStaleModuleHook.push(e):this.handleStaleModuleHook=[e]}}class Loader{constructor(e){let t=e.baseUrl;const r=e.endpoints?e.endpoints.uris.mapping:void 0;let o=e.profiler;if(!r)throw new LoaderError(NO_MAPPING_URL);if(e.endpoints.uris.mapping=r.replace(/\/?$/,"/"),t&&(t=t.replace(/\/?$/,"/")),t||(t=getBaseUrl()),!t)throw new LoaderError(NO_BASE_URL);if(o||(o={logOperationStart:()=>{},logOperationEnd:()=>{}}),this.registry=new ModuleRegistry(Object.freeze({endpoints:e.endpoints,baseUrl:t,profiler:o})),e.appMetadata&&!e.appMetadata.appId){const t=e.appMetadata.bootstrapModule.match(/@lwr-bootstrap\/(.+)\/v\/.+/),r=t&&t[1];e.appMetadata.appId=r}this.services=Object.freeze({addLoaderPlugin:this.registry.addLoaderPlugin.bind(this.registry),handleStaleModule:this.registry.registerHandleStaleModuleHook.bind(this.registry),appMetadata:e.appMetadata})}define(e,t,r){invariant("string"==typeof e,MISSING_NAME);let o=r,n=t;"function"==typeof n&&(o=t,n=[]),invariant(Array.isArray(n),INVALID_DEPS),this.registry.define(e,n,o)}async load(e,t){return this.registry.load(e,t)}has(e){return this.registry.has(e)}async resolve(e,t){return this.registry.resolve(e,t)}async registerImportMappings(e,t){this.registry.getImportMetadataResolver().registerImportMappings(e,t)}registerExternalModules(e){this.registry.registerExternalModules(e)}}const configOptions={format:"amd",apiVersion:"1",apiPrefix:"",bundle:!0,debug:!1},configuration=getConfiguration(configOptions),{bootstrapModule:bootstrapModule,endpoints:endpoints,baseUrl:baseUrl,imports:imports,index:index}=configuration,loader=new Loader({endpoints:endpoints,baseUrl:baseUrl});loader.define("lwr/loader/v/0_9_0-alpha_10",["exports"],(e=>{Object.assign(e,{define:loader.define.bind(loader),load:loader.load.bind(loader)})})),await loader.registerImportMappings({imports:imports,index:index},[bootstrapModule]),globalThis.LWR=Object.freeze({define:loader.define.bind(loader)}),LWR.define("lwr/everywhereAmd/v/0_9_0-alpha_10",["exports","lwr/vault/v/0_9_0-alpha_10"],(function(e,t){async function r(e,r="javascript"){const o=t.getAuthInfo();return o?fetch(e,{headers:{Accept:`application/${r}`,Authorization:`Bearer ${o.access_token}`}}):null}e.authenticate=function(e){e&&t.setAuthInfo(e)},e.initAmd=function(e,t,o){t.match(/\/v5\d\.0\//)&&function(e,t,o){e.addLoaderPlugin({loadModule:async e=>r(e),loadMapping:async e=>{const o=await r(`${t}${encodeURIComponent(e)}`,"json");return o&&o.ok?o.json():null},resolveModule:e=>e&&!/\/v\/[^/]+?$/.test(e)?`${e}/v/${o}`:null})}(e,t,o)},Object.defineProperty(e,"__esModule",{value:!0})})),LWR.define("lwr/vault/v/0_9_0-alpha_10",["exports"],(function(e){let t;e.getAuthInfo=function(){return t},e.setAuthInfo=function(e){t=e},Object.defineProperty(e,"__esModule",{value:!0})}));const{initAmd:initAmd,authenticate:authenticate}=await loader.load(bootstrapModule);async function createComponent(e,t,r={},o){const{createComponent:n}=await loader.load(bootstrapModule.replace("Amd",""));return n(e,t,r,o)}initAmd(loader.services,endpoints?.uris.mapping,"0_9_0-alpha_10");export{authenticate,createComponent};
1
+ function getConfiguration(e){const{format:t,server:r,apiVersion:o,apiPrefix:n,locale:i,bundle:s,debug:a}=e,l=new URL(import.meta.url),d=r||l.origin||"",c=`${n}/${o}`,u="0"+(i?`/l/${i}`:""),p="/bi/3_A,B,O,S,EG,JLMT,C,D,F,H,I,K,N,P,Q,R",h=s?`${d}${c}/bundle/${t}/${u}${p}-0/module/mi/`:`${d}${c}/module/${t}/${u}/mi/`,f=`lwr/everywhere${"esm"===t?"Esm":"Amd"}/v/0_9_0-alpha_11`,g=`${h}${encodeURIComponent(f)}/latest${a?"?debug":""}`,m={appId:"lwre",autoBoot:!0,bootstrapModule:f,baseUrl:d,imports:{[g]:[f]},index:{[f]:g},endpoints:{uris:{module:h,mapping:`${d}${c}/mapping/${t}/${u}${s?p:""}/mp/`}}};return a&&m.endpoints&&(m.endpoints.modifiers={debug:"true"}),m}globalThis.process={env:{NODE_ENV:"production"}};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}"}),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"}),MODULE_ALREADY_LOADED=Object.freeze({code:3017,level:0,message:"Marking module(s) as externally loaded, but they are already loaded: {0}"}),FAIL_HOOK_LOAD=Object.freeze({code:3018,level:0,message:'Error loading "{0}" from hook'}),NO_MAPPING_URL=Object.freeze({code:3019,level:0,message:"Mapping endpoint not set"}),BAD_IMPORT_METADATA=Object.freeze({code:3020,level:0,message:"Invalid import metadata: {0} {1}"});Object.freeze({code:3011,level:0,message:"import map is not valid"});const hasDocument="undefined"!=typeof document,hasSetTimeout="function"==typeof setTimeout,hasConsole="undefined"!=typeof console;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)}}))}hasDocument&&window.addEventListener("error",(e=>{lastWindowErrorUrl=e.filename,lastWindowError$1=e.error}));const LOADER_PREFIX="lwr.loader.",MODULE_DEFINE=`${LOADER_PREFIX}module.define`,MODULE_FETCH=`${LOADER_PREFIX}module.fetch`,MODULE_ERROR=`${LOADER_PREFIX}module.error`,MAPPINGS_FETCH=`${LOADER_PREFIX}mappings.fetch`,MAPPINGS_ERROR=`${LOADER_PREFIX}mappings.error`;class ImportMetadataResolver{constructor(e,t){this.importURICache=new Map,this.pendingURICache=new Map,this.loadMappingHooks=[],this.config=e,this.invalidationCallback=t}addLoadMappingHook(e){this.loadMappingHooks.push(e)}getMappingEndpoint(){return this.config.endpoints&&this.config.endpoints.uris?this.config.endpoints.uris.mapping:void 0}getModifiersAsUrlParams(){const e=this.config.endpoints?this.config.endpoints.modifiers:void 0;if(e){return`?${Object.keys(e).map((t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`)).join("&")}`}return""}buildMappingUrl(e){return`${this.getMappingEndpoint()}${encodeURIComponent(e)}${this.getModifiersAsUrlParams()}`}getBaseUrl(){return this.config.baseUrl}registerImportMappings(e,t){if(!t||0===t.length){const r=e?JSON.stringify(e):"undefined";throw new LoaderError(BAD_IMPORT_METADATA,[r,t?"[]":"undefined"])}if(!e)throw new LoaderError(BAD_IMPORT_METADATA,["undefined",JSON.stringify(t)]);if(!e.imports||0===Object.keys(e.imports).length)throw new LoaderError(BAD_IMPORT_METADATA,[JSON.stringify(e),JSON.stringify(t)]);const r=e.index||{};for(const[o,n]of Object.entries(e.imports))n.forEach((e=>{const n=r[e],i=this.importURICache.get(e);if(i){const t=n||o,r=i.identity||i.uri;r!==t&&this.invalidationCallback({name:e,oldUrl:r,newUrl:t})}else this.saveImportURIRecord(e,o,n,t.includes(e))}))}getURI(e){return this.importURICache.has(e)?resolveUrl(this.importURICache.get(e).uri,this.getBaseUrl()):void 0}resolveLocal(e){const t=this.getURI(e);return t||(isUrl(e)||e.startsWith("/")?e:void 0)}async resolve(e){let t=this.getURI(e);if(t)return t;if(isUrl(e)||e.startsWith("/"))return e;{const r=this.pendingURICache.get(e);if(r)return r;this.config.profiler.logOperationStart({id:MAPPINGS_FETCH,specifier:e});const o=(this.hasMappingHooks()?this.evaluateMappingHooks:this.fetchNewMappings).bind(this)(e).then((r=>{if(!r||!r.imports)throw new LoaderError(UNRESOLVED,[e]);if(this.registerImportMappings(r,[e]),t=this.getURI(e),!t)throw new LoaderError(UNRESOLVED,[e]);return this.config.profiler.logOperationEnd({id:MAPPINGS_FETCH,specifier:e}),t})).finally((()=>{this.pendingURICache.delete(e)}));return this.pendingURICache.set(e,o),o}}hasMappingHooks(){return this.loadMappingHooks.length>0}async evaluateMappingHooks(e){const t=this.loadMappingHooks;if(t.length){const r=Array.from(this.importURICache.keys());for(let o=0;o<t.length;o++){const n=t[o],i=await n(e,{knownModules:r});if(i||void 0===i)return i}}return this.fetchNewMappings(e)}async fetchNewMappings(e){if("function"!=typeof globalThis.fetch)throw new LoaderError(UNRESOLVED,[e]);const t=resolveUrl(this.buildMappingUrl(e),this.getBaseUrl());return globalThis.fetch(t).then((t=>{if(!t.ok)throw this.config.profiler.logOperationStart({id:MAPPINGS_ERROR,specifier:e}),new LoaderError(UNRESOLVED,[e]);return t.json().then((e=>e)).catch((t=>{throw new LoaderError(UNRESOLVED,[e])}))}))}saveImportURIRecord(e,t,r,o){r&&t!==r?this.importURICache.set(e,{uri:t,identity:r,isRoot:o}):this.importURICache.set(e,{uri:t,isRoot:o})}}function reportError(e){hasConsole&&console.error(e)}function evaluateHandleStaleModuleHooks(e,t){const{name:r,oldUrl:o,newUrl:n}=t;for(let t=0;t<e.length;t++){const i=e[t];try{if(null!==i({name:r,oldUrl:o,newUrl:n}))break}catch(e){reportError(new LoaderError(STALE_HOOK_ERROR))}}}const MODULE_LOAD_TIMEOUT_TIMER=3e5;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.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,[id]);code=`${code}\n//# sourceURL=${id}`;try{eval(code)}catch(e){throw new LoaderError(FAIL_LOAD,[id])}if(lastWindowError)throw new LoaderError(FAIL_LOAD,[id]);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}hasDocument&&globalThis.addEventListener("error",(e=>{lastWindowError=e.error})),"production"!==process.env.NODE_ENV&&!hasSetTimeout&&hasConsole&&console.warn("setTimeout API is not available, watchdog timer on load hook will not be set");class ModuleRegistry{constructor(e){this.namedDefineRegistry=new Map,this.moduleRegistry=new Map,this.aliases=new Map,this.profiler=e.profiler,this.resolver=new ImportMetadataResolver(e,this.importMetadataInvalidationCallback.bind(this))}async load(e,t){const r=await this.resolve(e,t),o=this.getModuleRecord(r,e);return o.evaluated?o.module:(o.evaluationPromise||(o.evaluationPromise=this.topLevelEvaluation(o)),o.evaluationPromise)}async resolve(e,t){const r=this.resolver.getBaseUrl();let o,n=e;const i=this.resolveHook;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),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;const n=this.resolver.resolveLocal(t);if(n){if(this.namedDefineRegistry.has(t)&&this.namedDefineRegistry.get(t).defined){if(!this.moduleRegistry.get(n)||!this.aliases.has(t))return t}return n}if(this.namedDefineRegistry.has(t))return t;try{o=await this.resolver.resolve(t)}catch(e){}}if(!o||!isUrl(o)){if(this.namedDefineRegistry.has(e))return e;throw new LoaderError(UNRESOLVED,[e])}return t&&isUrl(o)&&(o+=`?importer=${encodeURIComponent(t)}`),o}has(e){return this.moduleRegistry.has(e)}define(e,t,r){const o=this.namedDefineRegistry.get(e);if(o&&o.defined)return"production"!==process.env.NODE_ENV&&hasConsole&&console.warn(`Module redefine attempted: ${e}`),void(this.lastDefine=o);const n={name:e,dependencies:t,exporter:r,defined:!0};o&&o.external&&o.external.resolveExternal(n),this.profiler.logOperationStart({id:MODULE_DEFINE,specifier:e}),this.namedDefineRegistry.set(e,n),this.lastDefine=n}registerExternalModules(e){const t=[];if(e.map((e=>{if(this.namedDefineRegistry.has(e))t.push(e);else{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)}})),t.length)throw new LoaderError(MODULE_ALREADY_LOADED,[t.join(", ")])}getImportMetadataResolver(){return this.resolver}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}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.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),i}storeModuleAlias(e,t){if(e!==t)if(this.aliases.has(e)){if("production"!==process.env.NODE_ENV&&hasConsole){const r=this.aliases.get(e);r!==t&&console.warn(`Alias update attempt: ${e}=>${r}, ${t}`)}}else this.aliases.set(e,t)}async getModuleDependencyRecord(e){const t=await this.resolve(e);return this.getModuleRecord(t,e)}async topLevelEvaluation(e){return await this.instantiateAll(e,{}),this.evaluateModule(e,{})}async instantiateAll(e,t){if(!t[e.id]){t[e.id]=!0;const r=await e.dependencyRecords;if(r)for(let e=0;e<r.length;e++){const o=r[e];await this.instantiateAll(o,t)}}}async evaluateModule(e,t){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=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=o(...s);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.resolver.getBaseUrl(),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||(o=this.lastDefine),!o)throw new LoaderError(FAIL_INSTANTIATE,[e]);return this.profiler.logOperationEnd({id:MODULE_FETCH,specifier:i}),o})).catch((e=>{throw 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,loadMapping:o}=e;r&&(this.resolveHook?this.resolveHook.push(r):this.resolveHook=[r]),t&&(this.loadHook?this.loadHook.push(t):this.loadHook=[t]),o&&this.resolver.addLoadMappingHook(o)}importMetadataInvalidationCallback({name:e,oldUrl:t,newUrl:r}){const o=this.handleStaleModuleHook;o?evaluateHandleStaleModuleHooks(o,{name:e,oldUrl:t,newUrl:r}):"production"!==process.env.NODE_ENV&&hasConsole&&console.warn(`stale module detected ${e}, current URL:${t}, new URL:${r}`)}registerHandleStaleModuleHook(e){this.handleStaleModuleHook?this.handleStaleModuleHook.push(e):this.handleStaleModuleHook=[e]}}class Loader{constructor(e){let t=e.baseUrl;const r=e.endpoints?e.endpoints.uris.mapping:void 0;let o=e.profiler;if(!r)throw new LoaderError(NO_MAPPING_URL);if(e.endpoints.uris.mapping=r.replace(/\/?$/,"/"),t&&(t=t.replace(/\/?$/,"/")),t||(t=getBaseUrl()),!t)throw new LoaderError(NO_BASE_URL);if(o||(o={logOperationStart:()=>{},logOperationEnd:()=>{}}),this.registry=new ModuleRegistry(Object.freeze({endpoints:e.endpoints,baseUrl:t,profiler:o})),e.appMetadata&&!e.appMetadata.appId){const t=e.appMetadata.bootstrapModule.match(/@lwr-bootstrap\/(.+)\/v\/.+/),r=t&&t[1];e.appMetadata.appId=r}this.services=Object.freeze({addLoaderPlugin:this.registry.addLoaderPlugin.bind(this.registry),handleStaleModule:this.registry.registerHandleStaleModuleHook.bind(this.registry),appMetadata:e.appMetadata})}define(e,t,r){invariant("string"==typeof e,MISSING_NAME);let o=r,n=t;"function"==typeof n&&(o=t,n=[]),invariant(Array.isArray(n),INVALID_DEPS),this.registry.define(e,n,o)}async load(e,t){return this.registry.load(e,t)}has(e){return this.registry.has(e)}async resolve(e,t){return this.registry.resolve(e,t)}async registerImportMappings(e,t){this.registry.getImportMetadataResolver().registerImportMappings(e,t)}registerExternalModules(e){this.registry.registerExternalModules(e)}}const configOptions={format:"amd",apiVersion:"1",apiPrefix:"",bundle:!0,debug:!1},configuration=getConfiguration(configOptions),{bootstrapModule:bootstrapModule,endpoints:endpoints,baseUrl:baseUrl,imports:imports,index:index}=configuration,loader=new Loader({endpoints:endpoints,baseUrl:baseUrl});loader.define("lwr/loader/v/0_9_0-alpha_11",["exports"],(e=>{Object.assign(e,{define:loader.define.bind(loader),load:loader.load.bind(loader)})})),await loader.registerImportMappings({imports:imports,index:index},[bootstrapModule]),globalThis.LWR=Object.freeze({define:loader.define.bind(loader)}),LWR.define("lwr/everywhereAmd/v/0_9_0-alpha_11",["exports","lwr/vault/v/0_9_0-alpha_11"],(function(e,t){async function r(e,r="javascript"){const o=t.getAuthInfo();return o?fetch(e,{headers:{Accept:`application/${r}`,Authorization:`Bearer ${o.access_token}`}}):null}e.authenticate=function(e){e&&t.setAuthInfo(e)},e.initAmd=function(e,t,o){t.match(/\/v5\d\.0\//)&&function(e,t,o){e.addLoaderPlugin({loadModule:async e=>r(e),loadMapping:async e=>{const o=await r(`${t}${encodeURIComponent(e)}`,"json");return o&&o.ok?o.json():null},resolveModule:e=>e&&!/\/v\/[^/]+?$/.test(e)?`${e}/v/${o}`:null})}(e,t,o)},Object.defineProperty(e,"__esModule",{value:!0})})),LWR.define("lwr/vault/v/0_9_0-alpha_11",["exports"],(function(e){let t;e.getAuthInfo=function(){return t},e.setAuthInfo=function(e){t=e},Object.defineProperty(e,"__esModule",{value:!0})}));const{initAmd:initAmd,authenticate:authenticate}=await loader.load(bootstrapModule);async function createComponent(e,t,r={},o){const{createComponent:n}=await loader.load(bootstrapModule.replace("Amd",""));return n(e,t,r,o)}initAmd(loader.services,endpoints?.uris.mapping,"0_9_0-alpha_11");export{authenticate,createComponent};
@@ -18,7 +18,7 @@ function getConfiguration(options) {
18
18
  ? `${ORIGIN}${PREFIX}/bundle/${format}/${POSTFIX}${BUNDLE_ID}-0/module/mi/`
19
19
  : `${ORIGIN}${PREFIX}/module/${format}/${POSTFIX}/mi/`;
20
20
  // Component specifiers and URIs
21
- const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_9_0-alpha_10`;
21
+ const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_9_0-alpha_11`;
22
22
  const BOOT_URI = `${ENDPOINT}${encodeURIComponent(BOOT_MODULE)}/latest${debug ? '?debug' : ''}`;
23
23
  // Client Bootstrap Config
24
24
  const config = {
@@ -48,7 +48,7 @@ function getConfiguration(options) {
48
48
  * SPDX-License-Identifier: MIT
49
49
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
50
50
  */
51
- /* LWR Module Loader v0.9.0-alpha.10 */
51
+ /* LWR Module Loader v0.9.0-alpha.11 */
52
52
  const templateRegex = /\{([0-9]+)\}/g;
53
53
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
54
  function templateString(template, args) {
@@ -345,11 +345,13 @@ if (hasDocument) {
345
345
 
346
346
  // Bootstrap / shim
347
347
 
348
+ // Loader: modules
348
349
  const LOADER_PREFIX = 'lwr.loader.';
349
350
  const MODULE_DEFINE = `${LOADER_PREFIX}module.define`;
350
351
  const MODULE_FETCH = `${LOADER_PREFIX}module.fetch`;
351
352
  const MODULE_ERROR = `${LOADER_PREFIX}module.error`;
352
353
 
354
+ // Loader: mappings
353
355
  const MAPPINGS_FETCH = `${LOADER_PREFIX}mappings.fetch`;
354
356
  const MAPPINGS_ERROR = `${LOADER_PREFIX}mappings.error`;
355
357
 
@@ -1285,7 +1287,7 @@ const configuration = getConfiguration(configOptions);
1285
1287
  const { bootstrapModule, endpoints, baseUrl, imports, index } = configuration;
1286
1288
  // Initialize the AMD loader (its code is bundled into the LWR Everywhere module)
1287
1289
  const loader = new Loader({ endpoints, baseUrl });
1288
- loader.define('lwr/loader/v/0_9_0-alpha_10', ['exports'], (exports) => {
1290
+ loader.define('lwr/loader/v/0_9_0-alpha_11', ['exports'], (exports) => {
1289
1291
  Object.assign(exports, {
1290
1292
  define: loader.define.bind(loader),
1291
1293
  load: loader.load.bind(loader),
@@ -1294,9 +1296,9 @@ loader.define('lwr/loader/v/0_9_0-alpha_10', ['exports'], (exports) => {
1294
1296
  await loader.registerImportMappings({ imports, index }, [bootstrapModule]);
1295
1297
  globalThis.LWR = Object.freeze({ define: loader.define.bind(loader) });
1296
1298
  // Define preload modules (ie: ABS, vault, etc) BEFORE loading them
1297
- LWR.define("lwr/everywhereAmd/v/0_9_0-alpha_10", ["exports", "lwr/vault/v/0_9_0-alpha_10"], function (exports, _0_9_0Alpha_10) {
1299
+ LWR.define("lwr/everywhereAmd/v/0_9_0-alpha_11", ["exports", "lwr/vault/v/0_9_0-alpha_11"], function (exports, _0_9_0Alpha_11) {
1298
1300
  async function authFetch(url, accept = "javascript") {
1299
- const authInfo = _0_9_0Alpha_10.getAuthInfo();
1301
+ const authInfo = _0_9_0Alpha_11.getAuthInfo();
1300
1302
  if (authInfo) {
1301
1303
  return fetch(url, {
1302
1304
  headers: {
@@ -1334,14 +1336,14 @@ LWR.define("lwr/everywhereAmd/v/0_9_0-alpha_10", ["exports", "lwr/vault/v/0_9_0-
1334
1336
  }
1335
1337
  function authenticate(authInfo) {
1336
1338
  if (authInfo) {
1337
- _0_9_0Alpha_10.setAuthInfo(authInfo);
1339
+ _0_9_0Alpha_11.setAuthInfo(authInfo);
1338
1340
  }
1339
1341
  }
1340
1342
  exports.authenticate = authenticate;
1341
1343
  exports.initAmd = initAmd;
1342
1344
  Object.defineProperty(exports, "__esModule", { value: true });
1343
1345
  });
1344
- LWR.define("lwr/vault/v/0_9_0-alpha_10", ["exports"], function (exports) {
1346
+ LWR.define("lwr/vault/v/0_9_0-alpha_11", ["exports"], function (exports) {
1345
1347
  let authInfo;
1346
1348
  function getAuthInfo() {
1347
1349
  return authInfo;
@@ -1355,7 +1357,7 @@ LWR.define("lwr/vault/v/0_9_0-alpha_10", ["exports"], function (exports) {
1355
1357
  });
1356
1358
  // Set up the AMD loader hooks for OAuth
1357
1359
  const { initAmd, authenticate } = await loader.load(bootstrapModule);
1358
- initAmd(loader.services, endpoints?.uris.mapping, '0_9_0-alpha_10');
1360
+ initAmd(loader.services, endpoints?.uris.mapping, '0_9_0-alpha_11');
1359
1361
  // Wrap the createComponent API to allow proper ordering of module definitions:
1360
1362
  // 1. LWRE module bundle (this): lwr/loader, lwr/everywhereAmd, lwr/vault
1361
1363
  // 2. lwr/everywhere (deps: lwc, synthetic shadow, lwr/host, etc)
@@ -48,7 +48,7 @@ function getConfiguration(options) {
48
48
  * SPDX-License-Identifier: MIT
49
49
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
50
50
  */
51
- /* LWR Module Loader v0.9.0-alpha.10 */
51
+ /* LWR Module Loader v0.9.0-alpha.11 */
52
52
  const templateRegex = /\{([0-9]+)\}/g;
53
53
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
54
  function templateString(template, args) {
@@ -345,11 +345,13 @@ if (hasDocument) {
345
345
 
346
346
  // Bootstrap / shim
347
347
 
348
+ // Loader: modules
348
349
  const LOADER_PREFIX = 'lwr.loader.';
349
350
  const MODULE_DEFINE = `${LOADER_PREFIX}module.define`;
350
351
  const MODULE_FETCH = `${LOADER_PREFIX}module.fetch`;
351
352
  const MODULE_ERROR = `${LOADER_PREFIX}module.error`;
352
353
 
354
+ // Loader: mappings
353
355
  const MAPPINGS_FETCH = `${LOADER_PREFIX}mappings.fetch`;
354
356
  const MAPPINGS_ERROR = `${LOADER_PREFIX}mappings.error`;
355
357
 
@@ -1294,9 +1296,9 @@ loader.define('lwr/loader/v/0_0_1', ['exports'], (exports) => {
1294
1296
  await loader.registerImportMappings({ imports, index }, [bootstrapModule]);
1295
1297
  globalThis.LWR = Object.freeze({ define: loader.define.bind(loader) });
1296
1298
  // Define preload modules (ie: ABS, vault, etc) BEFORE loading them
1297
- LWR.define("lwr/everywhereAmd/v/0_0_1", ["exports", "lwr/vault/v/0_0_1"], function (exports, _0_9_0Alpha_10) {
1299
+ LWR.define("lwr/everywhereAmd/v/0_0_1", ["exports", "lwr/vault/v/0_0_1"], function (exports, _0_9_0Alpha_11) {
1298
1300
  async function authFetch(url, accept = "javascript") {
1299
- const authInfo = _0_9_0Alpha_10.getAuthInfo();
1301
+ const authInfo = _0_9_0Alpha_11.getAuthInfo();
1300
1302
  if (authInfo) {
1301
1303
  return fetch(url, {
1302
1304
  headers: {
@@ -1334,7 +1336,7 @@ LWR.define("lwr/everywhereAmd/v/0_0_1", ["exports", "lwr/vault/v/0_0_1"], functi
1334
1336
  }
1335
1337
  function authenticate(authInfo) {
1336
1338
  if (authInfo) {
1337
- _0_9_0Alpha_10.setAuthInfo(authInfo);
1339
+ _0_9_0Alpha_11.setAuthInfo(authInfo);
1338
1340
  }
1339
1341
  }
1340
1342
  exports.authenticate = authenticate;
@@ -48,7 +48,7 @@ function getConfiguration(options) {
48
48
  * SPDX-License-Identifier: MIT
49
49
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
50
50
  */
51
- /* LWR Module Loader v0.9.0-alpha.10 */
51
+ /* LWR Module Loader v0.9.0-alpha.11 */
52
52
  const templateRegex = /\{([0-9]+)\}/g;
53
53
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
54
  function templateString(template, args) {
@@ -345,11 +345,13 @@ if (hasDocument) {
345
345
 
346
346
  // Bootstrap / shim
347
347
 
348
+ // Loader: modules
348
349
  const LOADER_PREFIX = 'lwr.loader.';
349
350
  const MODULE_DEFINE = `${LOADER_PREFIX}module.define`;
350
351
  const MODULE_FETCH = `${LOADER_PREFIX}module.fetch`;
351
352
  const MODULE_ERROR = `${LOADER_PREFIX}module.error`;
352
353
 
354
+ // Loader: mappings
353
355
  const MAPPINGS_FETCH = `${LOADER_PREFIX}mappings.fetch`;
354
356
  const MAPPINGS_ERROR = `${LOADER_PREFIX}mappings.error`;
355
357
 
@@ -1294,9 +1296,9 @@ loader.define('lwr/loader/v/0_0_1', ['exports'], (exports) => {
1294
1296
  await loader.registerImportMappings({ imports, index }, [bootstrapModule]);
1295
1297
  globalThis.LWR = Object.freeze({ define: loader.define.bind(loader) });
1296
1298
  // Define preload modules (ie: ABS, vault, etc) BEFORE loading them
1297
- LWR.define("lwr/everywhereAmd/v/0_0_1", ["exports", "lwr/vault/v/0_0_1"], function (exports, _0_9_0Alpha_10) {
1299
+ LWR.define("lwr/everywhereAmd/v/0_0_1", ["exports", "lwr/vault/v/0_0_1"], function (exports, _0_9_0Alpha_11) {
1298
1300
  async function authFetch(url, accept = "javascript") {
1299
- const authInfo = _0_9_0Alpha_10.getAuthInfo();
1301
+ const authInfo = _0_9_0Alpha_11.getAuthInfo();
1300
1302
  if (authInfo) {
1301
1303
  return fetch(url, {
1302
1304
  headers: {
@@ -1334,7 +1336,7 @@ LWR.define("lwr/everywhereAmd/v/0_0_1", ["exports", "lwr/vault/v/0_0_1"], functi
1334
1336
  }
1335
1337
  function authenticate(authInfo) {
1336
1338
  if (authInfo) {
1337
- _0_9_0Alpha_10.setAuthInfo(authInfo);
1339
+ _0_9_0Alpha_11.setAuthInfo(authInfo);
1338
1340
  }
1339
1341
  }
1340
1342
  exports.authenticate = authenticate;
@@ -18,7 +18,7 @@ function getConfiguration(options) {
18
18
  ? `${ORIGIN}${PREFIX}/bundle/${format}/${POSTFIX}${BUNDLE_ID}-0/module/mi/`
19
19
  : `${ORIGIN}${PREFIX}/module/${format}/${POSTFIX}/mi/`;
20
20
  // Component specifiers and URIs
21
- const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_9_0-alpha_10`;
21
+ const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_9_0-alpha_11`;
22
22
  const BOOT_URI = `${ENDPOINT}${encodeURIComponent(BOOT_MODULE)}/latest${debug ? '?debug' : ''}`;
23
23
  // Client Bootstrap Config
24
24
  const config = {
@@ -1 +1 @@
1
- globalThis.process={env:{NODE_ENV:"production"}};const e=function(e){const{format:o,server:i,apiVersion:n,apiPrefix:t,locale:p,bundle:r,debug:s}=e,a=new URL(import.meta.url),m=i||a.origin||"",d=`${t}/${n}`,$="0"+(p?`/l/${p}`:""),u="/bi/3_A,B,O,S,EG,JLMT,C,D,F,H,I,K,N,P,Q,R",l=r?`${m}${d}/bundle/${o}/${$}${u}-0/module/mi/`:`${m}${d}/module/${o}/${$}/mi/`,b=`lwr/everywhere${"esm"===o?"Esm":"Amd"}/v/0_9_0-alpha_10`,g=`${l}${encodeURIComponent(b)}/latest${s?"?debug":""}`,c={appId:"lwre",autoBoot:!0,bootstrapModule:b,baseUrl:m,imports:{[g]:[b]},index:{[b]:g},endpoints:{uris:{module:l,mapping:`${m}${d}/mapping/${o}/${$}${r?u:""}/mp/`}}};return s&&c.endpoints&&(c.endpoints.modifiers={debug:"true"}),c}({format:"esm",apiVersion:"1",apiPrefix:"",bundle:!0,debug:!1}),{bootstrapModule:o,imports:i,index:n={},importMappings:t,endpoints:p}=e,{initEsm:r,authenticate:s,createComponent:a}=await import(n[o]);r({imports:i,index:n,importMappings:t,endpoints:p});export{s as authenticate,a as createComponent};
1
+ globalThis.process={env:{NODE_ENV:"production"}};const e=function(e){const{format:o,server:i,apiVersion:n,apiPrefix:t,locale:p,bundle:r,debug:s}=e,a=new URL(import.meta.url),m=i||a.origin||"",d=`${t}/${n}`,$="0"+(p?`/l/${p}`:""),u="/bi/3_A,B,O,S,EG,JLMT,C,D,F,H,I,K,N,P,Q,R",l=r?`${m}${d}/bundle/${o}/${$}${u}-0/module/mi/`:`${m}${d}/module/${o}/${$}/mi/`,b=`lwr/everywhere${"esm"===o?"Esm":"Amd"}/v/0_9_0-alpha_11`,g=`${l}${encodeURIComponent(b)}/latest${s?"?debug":""}`,c={appId:"lwre",autoBoot:!0,bootstrapModule:b,baseUrl:m,imports:{[g]:[b]},index:{[b]:g},endpoints:{uris:{module:l,mapping:`${m}${d}/mapping/${o}/${$}${r?u:""}/mp/`}}};return s&&c.endpoints&&(c.endpoints.modifiers={debug:"true"}),c}({format:"esm",apiVersion:"1",apiPrefix:"",bundle:!0,debug:!1}),{bootstrapModule:o,imports:i,index:n={},importMappings:t,endpoints:p}=e,{initEsm:r,authenticate:s,createComponent:a}=await import(n[o]);r({imports:i,index:n,importMappings:t,endpoints:p});export{s as authenticate,a as createComponent};
@@ -18,7 +18,7 @@ function getConfiguration(options) {
18
18
  ? `${ORIGIN}${PREFIX}/bundle/${format}/${POSTFIX}${BUNDLE_ID}-0/module/mi/`
19
19
  : `${ORIGIN}${PREFIX}/module/${format}/${POSTFIX}/mi/`;
20
20
  // Component specifiers and URIs
21
- const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_9_0-alpha_10`;
21
+ const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_9_0-alpha_11`;
22
22
  const BOOT_URI = `${ENDPOINT}${encodeURIComponent(BOOT_MODULE)}/latest${debug ? '?debug' : ''}`;
23
23
  // Client Bootstrap Config
24
24
  const config = {
@@ -1,41 +1,45 @@
1
1
  // temp from https://github.com/salesforce-experience-platform-emu/lds-lightning-platform/blob/main/packages/lds-default-luvio/src/main.ts
2
+
2
3
  // callback used to inform interested parties that a new default Luvio has been set.
4
+
3
5
  // most recently set default Luvio instance
4
- let defaultLuvio; // callbacks to be invoked when default luvio instance is set/changed
6
+ let defaultLuvio;
5
7
 
8
+ // callbacks to be invoked when default luvio instance is set/changed
6
9
  const callbacks = [];
10
+
7
11
  /**
8
12
  * Constructs/sets the default Luvio instance. Any previously-set default luvio instance
9
13
  * is overwritten.
10
14
  */
11
-
12
15
  export function setDefaultLuvio({
13
16
  luvio
14
17
  }) {
15
18
  if (luvio === undefined) {
16
19
  throw new Error('unable to construct default Luvio instance from supplied parameters');
17
20
  }
21
+ defaultLuvio = luvio;
18
22
 
19
- defaultLuvio = luvio; // inform observers
20
-
23
+ // inform observers
21
24
  for (let i = 0; i < callbacks.length; ++i) {
22
25
  callbacks[i](defaultLuvio);
23
26
  }
24
27
  }
28
+
25
29
  /**
26
30
  * Registers a callback to be invoked with the default Luvio instance. Note that the
27
31
  * callback may be invoked multiple times if the default Luvio changes.
28
32
  *
29
33
  * @param callback callback to be invoked with default Luvio instance
30
34
  */
31
-
32
35
  export function withDefaultLuvio(callback) {
33
36
  if (defaultLuvio) {
34
37
  callback(defaultLuvio);
35
38
  }
36
-
37
39
  callbacks.push(callback);
38
- } // export * from './registry'; see below
40
+ }
41
+
42
+ // export * from './registry'; see below
39
43
 
40
44
  const registryCallbacks = [];
41
45
  const registrations = [];
@@ -1,38 +1,37 @@
1
1
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2
2
  import '@lwc/synthetic-shadow'; // @ts-ignore: Typescript thinks createElement does not exist
3
-
4
3
  import { createElement } from 'lwc';
5
4
  import { setAuthInfo } from 'lwr/vault';
6
5
  import HostCtor from 'lwr/host';
7
- import setupLDS from 'lwr/setupLDS'; // Setup a Luvio instance with an OAuth network adapter
6
+ import setupLDS from 'lwr/setupLDS';
8
7
 
9
- setupLDS(); // Export the LWRE authenticate() API
8
+ // Setup a Luvio instance with an OAuth network adapter
9
+ setupLDS();
10
10
 
11
+ // Export the LWRE authenticate() API
11
12
  export function authenticate(authInfo) {
12
13
  // Put OAuth info into the vault
13
14
  if (authInfo) {
14
15
  setAuthInfo(authInfo);
15
16
  }
16
- } // Export the LWRE createComponent() API
17
+ }
17
18
 
19
+ // Export the LWRE createComponent() API
18
20
  export function createComponent(specifier, nodeId, properties = {}, config = {
19
21
  navigation: false
20
22
  }) {
21
23
  if (!specifier) {
22
24
  throw new Error('LWR Everywhere - createComponent requires a component specifier');
23
25
  }
24
-
25
26
  const hostCmp = createElement('lwr-host', {
26
27
  is: HostCtor
27
28
  });
28
29
  hostCmp.componentId = specifier;
29
30
  hostCmp.navigation = config.navigation;
30
31
  const node = typeof nodeId === 'string' ? document.getElementById(nodeId) : nodeId;
31
-
32
32
  if (!node) {
33
33
  throw new Error('LWR Everywhere - cannot find node passed to createComponent');
34
34
  }
35
-
36
35
  node.appendChild(hostCmp);
37
36
  hostCmp.properties = properties;
38
37
  return hostCmp;
@@ -1,9 +1,10 @@
1
1
  // IMPORTANT: Do not add any static imports to this file that are not bundled with the amd-client
2
- import { getAuthInfo, setAuthInfo } from 'lwr/vault'; // Do an OAuthed fetch
3
2
 
3
+ import { getAuthInfo, setAuthInfo } from 'lwr/vault';
4
+
5
+ // Do an OAuthed fetch
4
6
  async function authFetch(url, accept = 'javascript') {
5
7
  const authInfo = getAuthInfo();
6
-
7
8
  if (authInfo) {
8
9
  return fetch(url, {
9
10
  headers: {
@@ -12,12 +13,11 @@ async function authFetch(url, accept = 'javascript') {
12
13
  }
13
14
  });
14
15
  }
15
-
16
16
  return null; // defer to loader
17
- } // Add a hook for adding OAuth headers to module and mapping requests
18
- // Workaround: core does not have proper versioning; replace all versions with 0_0_1
19
-
17
+ }
20
18
 
19
+ // Add a hook for adding OAuth headers to module and mapping requests
20
+ // Workaround: core does not have proper versioning; replace all versions with 0_0_1
21
21
  function everywhereHooks(serviceAPI, mappingEndpoint, coreVersion) {
22
22
  serviceAPI.addLoaderPlugin({
23
23
  loadModule: async url => {
@@ -25,11 +25,9 @@ function everywhereHooks(serviceAPI, mappingEndpoint, coreVersion) {
25
25
  },
26
26
  loadMapping: async specifier => {
27
27
  const res = await authFetch(`${mappingEndpoint}${encodeURIComponent(specifier)}`, 'json');
28
-
29
28
  if (res && res.ok) {
30
29
  return res.json();
31
30
  }
32
-
33
31
  return null;
34
32
  },
35
33
  resolveModule: specifier => {
@@ -38,7 +36,6 @@ function everywhereHooks(serviceAPI, mappingEndpoint, coreVersion) {
38
36
  if (specifier && !/\/v\/[^/]+?$/.test(specifier)) {
39
37
  return `${specifier}/v/${coreVersion}`;
40
38
  }
41
-
42
39
  return null; // defer to loader
43
40
  }
44
41
  });
@@ -49,10 +46,11 @@ export function initAmd(services, mappingEndpoint, coreVersion) {
49
46
  if (mappingEndpoint.match(/\/v5\d\.0\//)) {
50
47
  everywhereHooks(services, mappingEndpoint, coreVersion);
51
48
  }
52
- } // Export the LWRE authenticate() API
49
+ }
50
+
51
+ // Export the LWRE authenticate() API
53
52
  // This is a duplicate of the function exported from "lwr/everywhere"
54
53
  // because it MUST be bundled into the LWRE module via "lwr/everywhereAmd"
55
-
56
54
  export function authenticate(authInfo) {
57
55
  // Put OAuth info into the vault
58
56
  if (authInfo) {
@@ -1,7 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/ban-ts-comment */
2
2
  // @ts-ignore: Use LWC module resolver
3
3
  import { init } from 'lwr/esmLoader'; // @ts-ignore
4
-
5
4
  export { createComponent } from 'lwr/everywhere';
6
5
  export function initEsm({
7
6
  imports,
@@ -1,46 +1,41 @@
1
1
  /* eslint-disable @typescript-eslint/ban-ts-comment */
2
-
3
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
4
3
  import { LightningElement, api } from 'lwc'; // @ts-ignore: Use LWC module resolver
5
4
 
6
5
  // Host component constants
7
- const SPECIFIER_REGEX = /^@?[\w-]+(\/[\w-]+)*$/; // Navigation events
6
+ const SPECIFIER_REGEX = /^@?[\w-]+(\/[\w-]+)*$/;
8
7
 
8
+ // Navigation events
9
9
  const NAV_EVENT = 'navigate'; // FIRED after a navigation event has been completed
10
-
11
10
  const NAV_ERROR_EVENT = 'navigationerror'; // FIRED when a navigation event has failed
12
11
 
13
12
  export default class LwrHost extends LightningElement {
14
13
  // The component specifier of the Salesforce UI content to embed
15
14
  @api
16
- componentId = undefined; // Getter and setter for the public (@api) properties on the embedded component
15
+ componentId = undefined;
17
16
 
17
+ // Getter and setter for the public (@api) properties on the embedded component
18
18
  _props = {};
19
-
20
19
  @api
21
20
  get properties() {
22
21
  return this._props;
23
22
  }
24
-
25
23
  set properties(value) {
26
24
  this._props = value;
27
25
  this.setProperties(value);
28
- } // Import and embed the Salesforce UI content
29
-
26
+ }
30
27
 
28
+ // Import and embed the Salesforce UI content
31
29
  ctor = undefined;
32
-
33
30
  async connectedCallback() {
34
31
  // Setup navigation hooks before the embedded component is mounted
35
32
  await this.setUpNavBridge();
36
-
37
33
  if (this.componentId) {
38
34
  if (typeof this.componentId !== 'string' || !SPECIFIER_REGEX.test(this.componentId)) {
39
35
  // Validate component specifier format
40
36
  console.error('LWR Everywhere - Salesforce UI content has an invalid component-id:', this.componentId);
41
37
  return;
42
38
  }
43
-
44
39
  try {
45
40
  const module = await import(this.componentId);
46
41
  this.ctor = module.default;
@@ -49,22 +44,21 @@ export default class LwrHost extends LightningElement {
49
44
  console.error('LWR Everywhere - Salesforce UI content did not load:', e.message);
50
45
  }
51
46
  }
52
- } // Initialize public (@api) properties on the embedded content
53
-
47
+ }
54
48
 
49
+ // Initialize public (@api) properties on the embedded content
55
50
  renderedCallback() {
56
51
  this.setProperties(this.properties);
57
- } // When the Salesforce UI content has an unhandled error, print an error to the console
58
-
52
+ }
59
53
 
54
+ // When the Salesforce UI content has an unhandled error, print an error to the console
60
55
  errorCallback(e) {
61
56
  console.error(`LWR Everywhere - Salesforce UI content for "${this.componentId}" cannot be displayed:`, e.message);
62
- } // Update public (@api) properties on the embedded content
63
-
57
+ }
64
58
 
59
+ // Update public (@api) properties on the embedded content
65
60
  setProperties(properties) {
66
61
  const dynamicContent = this.template.querySelector('lwr-dynamic');
67
-
68
62
  if (dynamicContent) {
69
63
  Object.entries(properties).forEach(([key, value]) => {
70
64
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -73,15 +67,16 @@ export default class LwrHost extends LightningElement {
73
67
  });
74
68
  }
75
69
  }
70
+
76
71
  /**
77
72
  * NAVIGATION FEATURE PROPERTIES AND METHODS
78
73
  * The navigation feature creates a bridge between the root router of embedded
79
74
  * Salesforce UI content and the host document with public properties and events
80
75
  */
81
-
82
-
83
76
  @api
84
- navigation = false; // Create the router bridge
77
+ navigation = false;
78
+
79
+ // Create the router bridge
85
80
 
86
81
  async setUpNavBridge() {
87
82
  if (this.navigation && !this.bridge) {
@@ -101,12 +96,14 @@ export default class LwrHost extends LightningElement {
101
96
  onError: error => this.dispatchEvent(new CustomEvent(NAV_ERROR_EVENT, {
102
97
  detail: error
103
98
  }))
104
- }, // The bridge is attached to this component, and observes the root router inside its slot
99
+ },
100
+ // The bridge is attached to this component, and observes the root router inside its slot
105
101
  this);
106
102
  }
107
- } // Navigate via the bridge, which is hooked into its descendent root router
108
- // The host component cannot call "lwr/navigation" APIs; it has no access to a NavigationContext
103
+ }
109
104
 
105
+ // Navigate via the bridge, which is hooked into its descendent root router
106
+ // The host component cannot call "lwr/navigation" APIs; it has no access to a NavigationContext
110
107
 
111
108
  navigate(pageRef) {
112
109
  if (pageRef && this.bridge && this.bridge.navigate(pageRef)) {
@@ -116,17 +113,16 @@ export default class LwrHost extends LightningElement {
116
113
  // SAVE the pending page reference if the navigation event was NOT fired
117
114
  this.pendingPageRef = pageRef;
118
115
  }
119
- } // Navigate to the page reference when set from the host document
116
+ }
120
117
 
118
+ // Navigate to the page reference when set from the host document
121
119
 
122
120
  @api
123
121
  get pageReference() {
124
122
  return this._pageRef;
125
123
  }
126
-
127
124
  set pageReference(pageRef) {
128
125
  this._pageRef = pageRef;
129
126
  this.navigate(pageRef);
130
127
  }
131
-
132
128
  }
@@ -1,4 +1,5 @@
1
1
  import { getAuthInfo } from 'lwr/vault';
2
+
2
3
  /**
3
4
  * Authenticated UI API Luvio Network Adapter
4
5
  * See LDS error handling: https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.data_error
@@ -14,13 +15,11 @@ class RecordError extends Error {
14
15
  this.status = status;
15
16
  this.statusText = message;
16
17
  }
18
+ }
17
19
 
18
- } // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
-
20
-
20
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
21
  export async function networkAdapter(req) {
22
22
  const authInfo = getAuthInfo();
23
-
24
23
  if (authInfo) {
25
24
  const {
26
25
  instance_url,
@@ -35,16 +34,15 @@ export async function networkAdapter(req) {
35
34
  headers
36
35
  } = req;
37
36
  const path = `${instance_url}${baseUri}${basePath}${generateQueryString(queryParams)}`;
38
-
39
37
  try {
40
38
  const res = await fetch(path, {
41
39
  method: method.toUpperCase(),
42
- headers: access_token ? generateHeaders({ ...headers,
40
+ headers: access_token ? generateHeaders({
41
+ ...headers,
43
42
  Authorization: `Bearer ${access_token}`
44
43
  }) : generateHeaders(headers),
45
44
  body: body === null ? null : JSON.stringify(body)
46
45
  });
47
-
48
46
  if (res.ok) {
49
47
  return {
50
48
  body: res.status === 204 ? undefined : await res.json(),
@@ -54,9 +52,8 @@ export async function networkAdapter(req) {
54
52
  ok: res.ok,
55
53
  headers: {}
56
54
  };
57
- } // Request goes through but returns HTTP errors
58
-
59
-
55
+ }
56
+ // Request goes through but returns HTTP errors
60
57
  throw new RecordError(res.statusText, res.status);
61
58
  } catch (e) {
62
59
  // Return the failure; no response status => 401
@@ -67,29 +64,24 @@ export async function networkAdapter(req) {
67
64
  // There is no authentication data available to make this request
68
65
  throw new RecordError('You are not authenticated.', 401);
69
66
  }
70
- } // eslint-disable-next-line @typescript-eslint/no-explicit-any
67
+ }
71
68
 
69
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
70
  function generateQueryString(params) {
73
71
  const queryStrings = [];
74
-
75
72
  for (const key of Object.keys(params)) {
76
73
  const value = Array.isArray(params[key]) ? params[key].join(',') : params[key];
77
-
78
74
  if (value) {
79
75
  queryStrings.push(`${key}=${value}`);
80
76
  }
81
77
  }
82
-
83
78
  return queryStrings.length > 0 ? `?${queryStrings.join('&')}` : '';
84
79
  }
85
-
86
80
  function generateHeaders(headers) {
87
81
  const fetchHeaders = new globalThis.Headers();
88
-
89
82
  for (const key of Object.keys(headers)) {
90
83
  fetchHeaders.set(key, headers[key]);
91
84
  }
92
-
93
85
  fetchHeaders.set('Accept', 'application/json');
94
86
  fetchHeaders.set('Content-Type', 'application/json');
95
87
  return fetchHeaders;
@@ -1,10 +1,12 @@
1
- import { Luvio, Store, Environment } from '@luvio/engine'; // import { setDefaultLuvio } from 'force/ldsEngine'; // TODO: uncomment if available on-core
1
+ import { Luvio, Store, Environment } from '@luvio/engine';
2
+ // import { setDefaultLuvio } from 'force/ldsEngine'; // TODO: uncomment if available on-core
3
+ import { networkAdapter } from './network';
2
4
 
3
- import { networkAdapter } from './network'; // This module is used with LWR Java apps, the "force/ldsEngine" module is available on-core
5
+ // This module is used with LWR Java apps, the "force/ldsEngine" module is available on-core
4
6
  // Set the default Luvio instance for LWR Everywhere
5
7
  // It uses a fetch-based "web" network adapter with OAuth headers
6
8
 
7
9
  export default function () {
8
- /* const luvio = */
9
- new Luvio(new Environment(new Store(), networkAdapter)); // setDefaultLuvio({ luvio });
10
+ /* const luvio = */new Luvio(new Environment(new Store(), networkAdapter));
11
+ // setDefaultLuvio({ luvio });
10
12
  }
@@ -1,4 +1,5 @@
1
1
  import { getAuthInfo } from 'lwr/vault';
2
+
2
3
  /**
3
4
  * Authenticated UI API Luvio Network Adapter
4
5
  * See LDS error handling: https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.data_error
@@ -14,13 +15,11 @@ class RecordError extends Error {
14
15
  this.status = status;
15
16
  this.statusText = message;
16
17
  }
18
+ }
17
19
 
18
- } // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
-
20
-
20
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
21
  export async function networkAdapter(req) {
22
22
  const authInfo = getAuthInfo();
23
-
24
23
  if (authInfo) {
25
24
  const {
26
25
  instance_url,
@@ -35,16 +34,15 @@ export async function networkAdapter(req) {
35
34
  headers
36
35
  } = req;
37
36
  const path = `${instance_url}${baseUri}${basePath}${generateQueryString(queryParams)}`;
38
-
39
37
  try {
40
38
  const res = await fetch(path, {
41
39
  method: method.toUpperCase(),
42
- headers: access_token ? generateHeaders({ ...headers,
40
+ headers: access_token ? generateHeaders({
41
+ ...headers,
43
42
  Authorization: `Bearer ${access_token}`
44
43
  }) : generateHeaders(headers),
45
44
  body: body === null ? null : JSON.stringify(body)
46
45
  });
47
-
48
46
  if (res.ok) {
49
47
  return {
50
48
  body: res.status === 204 ? undefined : await res.json(),
@@ -54,9 +52,8 @@ export async function networkAdapter(req) {
54
52
  ok: res.ok,
55
53
  headers: {}
56
54
  };
57
- } // Request goes through but returns HTTP errors
58
-
59
-
55
+ }
56
+ // Request goes through but returns HTTP errors
60
57
  throw new RecordError(res.statusText, res.status);
61
58
  } catch (e) {
62
59
  // Return the failure; no response status => 401
@@ -67,29 +64,24 @@ export async function networkAdapter(req) {
67
64
  // There is no authentication data available to make this request
68
65
  throw new RecordError('You are not authenticated.', 401);
69
66
  }
70
- } // eslint-disable-next-line @typescript-eslint/no-explicit-any
67
+ }
71
68
 
69
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
70
  function generateQueryString(params) {
73
71
  const queryStrings = [];
74
-
75
72
  for (const key of Object.keys(params)) {
76
73
  const value = Array.isArray(params[key]) ? params[key].join(',') : params[key];
77
-
78
74
  if (value) {
79
75
  queryStrings.push(`${key}=${value}`);
80
76
  }
81
77
  }
82
-
83
78
  return queryStrings.length > 0 ? `?${queryStrings.join('&')}` : '';
84
79
  }
85
-
86
80
  function generateHeaders(headers) {
87
81
  const fetchHeaders = new globalThis.Headers();
88
-
89
82
  for (const key of Object.keys(headers)) {
90
83
  fetchHeaders.set(key, headers[key]);
91
84
  }
92
-
93
85
  fetchHeaders.set('Accept', 'application/json');
94
86
  fetchHeaders.set('Content-Type', 'application/json');
95
87
  return fetchHeaders;
@@ -1,6 +1,8 @@
1
1
  import { Luvio, Store, Environment } from '@luvio/engine';
2
2
  import { setDefaultLuvio } from '@salesforce/lds-default-luvio';
3
- import { networkAdapter } from './network'; // This module is used with LWR Node.js apps, it's aliased as "lwr/setupLDS" in package.json
3
+ import { networkAdapter } from './network';
4
+
5
+ // This module is used with LWR Node.js apps, it's aliased as "lwr/setupLDS" in package.json
4
6
  // Set the default Luvio instance for LWR Everywhere
5
7
  // It uses a fetch-based "web" network adapter with OAuth headers
6
8
 
@@ -1,7 +1,9 @@
1
1
  // Credential vault for storing setters and subscribers for OAuth info
2
2
  // This module is a SINGLETON and must be excluded from ESM bundling
3
- let authInfo; // Get and set the OAuth info
4
3
 
4
+ let authInfo;
5
+
6
+ // Get and set the OAuth info
5
7
  export function getAuthInfo() {
6
8
  return authInfo;
7
9
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lwrjs/everywhere",
3
3
  "description": "LWR Everywhere",
4
- "version": "0.9.0-alpha.10",
4
+ "version": "0.9.0-alpha.11",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -50,9 +50,9 @@
50
50
  "devDependencies": {
51
51
  "@luvio/engine": "0.47.5",
52
52
  "@lwc/module-resolver": "2.33.0",
53
- "@lwrjs/loader": "0.9.0-alpha.10",
54
- "@lwrjs/router": "0.9.0-alpha.10",
55
- "@lwrjs/types": "0.9.0-alpha.10"
53
+ "@lwrjs/loader": "0.9.0-alpha.11",
54
+ "@lwrjs/router": "0.9.0-alpha.11",
55
+ "@lwrjs/types": "0.9.0-alpha.11"
56
56
  },
57
57
  "lwc": {
58
58
  "modules": [
@@ -74,5 +74,5 @@
74
74
  "lwr/vault"
75
75
  ]
76
76
  },
77
- "gitHead": "ecbf031157dd87d2b1a3d528b7fae8f9142eba7e"
77
+ "gitHead": "3cb1275b364ae7373c1868c79e6082a122dbef9c"
78
78
  }
@@ -1,10 +0,0 @@
1
- /* This script is generated */
2
- /* Client Bootstrap configuration */
3
- globalThis.LWR = globalThis.LWR || {};
4
- Object.assign(globalThis.LWR, {"appId":"amd-bootstrap","bootstrapModule":"@lwrjs/app-service/amd-bootstrap/module/amd/v/0_9_0-alpha_10","autoBoot":true,"imports":{"/1/module/amd/1/l/en-US/mi/%40lwrjs%2Fapp-service%2Famd-bootstrap%2Fmodule%2Famd%2Fv%2F0_9_0-alpha_10/s/c40e6caf07454ce13961de8ca76ab7f0/@lwrjs_app-service_amd-bootstrap_module_amd.js":["@lwrjs/app-service/amd-bootstrap/module/amd/v/0_9_0-alpha_10"],"/1/module/amd/1/l/en-US/mi/lwr%2Finit%2Fv%2F0_9_0-alpha_10/s/6258bcb20cc2d5d6a9f3c5a6f9d0acaf/lwr_init.js":["lwr/init/v/0_9_0-alpha_10"],"/1/module/amd/1/l/en-US/mi/lwr%2Fmetrics%2Fv%2F0_9_0-alpha_10/s/dfbc827104d50ff7d16b59c9d0e06aca/lwr_metrics.js":["lwr/metrics/v/0_9_0-alpha_10"],"/1/module/amd/1/l/en-US/mi/lwr%2Fprofiler%2Fv%2F0_9_0-alpha_10/s/5a10236d8c52bc9f6dee22875cd7016d/lwr_profiler.js":["lwr/profiler/v/0_9_0-alpha_10"],"/1/module/amd/1/l/en-US/mi/lwc%2Fv%2F2_33_0/s/90a5f16131da45cef1653112862ca9dc/lwc.js":["lwc/v/2_33_0"],"/1/module/amd/1/l/en-US/mi/lwr%2FeverywhereAmd%2Fv%2F0_9_0-alpha_10/s/c538071acf5bde58e816967a14c465c3/lwr_everywhereAmd.js":["lwr/everywhereAmd/v/0_9_0-alpha_10"],"/1/module/amd/1/l/en-US/mi/lwr%2Fvault%2Fv%2F0_9_0-alpha_10/s/c92abd8c1fec2d7eff62e4b097abbe14/lwr_vault.js":["lwr/vault/v/0_9_0-alpha_10"]},"index":{"@lwrjs/app-service/amd-bootstrap/module/amd/v/0_9_0-alpha_10":"/1/module/amd/1/l/en-US/mi/%40lwrjs%2Fapp-service%2Famd-bootstrap%2Fmodule%2Famd%2Fv%2F0_9_0-alpha_10/s/c40e6caf07454ce13961de8ca76ab7f0/@lwrjs_app-service_amd-bootstrap_module_amd.js","lwr/init/v/0_9_0-alpha_10":"/1/module/amd/1/l/en-US/mi/lwr%2Finit%2Fv%2F0_9_0-alpha_10/s/6258bcb20cc2d5d6a9f3c5a6f9d0acaf/lwr_init.js","lwr/metrics/v/0_9_0-alpha_10":"/1/module/amd/1/l/en-US/mi/lwr%2Fmetrics%2Fv%2F0_9_0-alpha_10/s/dfbc827104d50ff7d16b59c9d0e06aca/lwr_metrics.js","lwr/profiler/v/0_9_0-alpha_10":"/1/module/amd/1/l/en-US/mi/lwr%2Fprofiler%2Fv%2F0_9_0-alpha_10/s/5a10236d8c52bc9f6dee22875cd7016d/lwr_profiler.js","lwc/v/2_33_0":"/1/module/amd/1/l/en-US/mi/lwc%2Fv%2F2_33_0/s/90a5f16131da45cef1653112862ca9dc/lwc.js","lwr/everywhereAmd/v/0_9_0-alpha_10":"/1/module/amd/1/l/en-US/mi/lwr%2FeverywhereAmd%2Fv%2F0_9_0-alpha_10/s/c538071acf5bde58e816967a14c465c3/lwr_everywhereAmd.js","lwr/vault/v/0_9_0-alpha_10":"/1/module/amd/1/l/en-US/mi/lwr%2Fvault%2Fv%2F0_9_0-alpha_10/s/c92abd8c1fec2d7eff62e4b097abbe14/lwr_vault.js"},"rootComponents":["lwr/everywhereAmd/v/0_9_0-alpha_10"],"requiredModules":["@lwrjs/app-service/amd-bootstrap/module/amd/v/0_9_0-alpha_10"],"preloadModules":["lwr/everywhereAmd/v/0_9_0-alpha_10"],"endpoints":{"uris":{"mapping":"/1/mapping/amd/1/l/en-US/mp/"}}});
5
- globalThis.process = { env: { NODE_ENV: "compat" } };
6
- // Appended by Static Site Generator
7
- if (!globalThis.LWR.imports) { globalThis.LWR.imports = {}; }
8
- Object.assign(globalThis.LWR.imports, {"/1/module/amd/1/l/en-US/mi/lwr%2Floader%2Fv%2F0_9_0-alpha_10/s/2c5c9415efc211dbce3448c2096d3657/lwr_loader.js":["lwr/loader/v/0_9_0-alpha_10"]})
9
- if (!globalThis.LWR.index) { globalThis.LWR.index = {}; }
10
- Object.assign(globalThis.LWR.index, {"lwr/loader/v/0_9_0-alpha_10":"/1/module/amd/1/l/en-US/mi/lwr%2Floader%2Fv%2F0_9_0-alpha_10/s/2c5c9415efc211dbce3448c2096d3657/lwr_loader.js"})
@@ -1,14 +0,0 @@
1
- LWR.define("@lwrjs/app-service/amd-bootstrap/module/amd/v/0_9_0-alpha_10", ["lwr/loader/v/0_9_0-alpha_10", "lwr/init/v/0_9_0-alpha_10"], function(_0_9_0Alpha_10$1, _0_9_0Alpha_10) {
2
- "use strict";
3
- const clientBootstrapConfig = globalThis.LWR;
4
- const {rootComponents, ssrProps} = clientBootstrapConfig;
5
- Promise.all(rootComponents.map(async (rootSpecifier) => {
6
- const element = _0_9_0Alpha_10.toKebabCase(rootSpecifier);
7
- return _0_9_0Alpha_10$1.load(rootSpecifier, "@lwrjs/app-service/amd-bootstrap/module/amd/v/0_9_0-alpha_10").then(({default: Ctor}) => {
8
- _0_9_0Alpha_10.init([[element, Ctor]], ssrProps);
9
- });
10
- }));
11
- globalThis.LWR = Object.freeze({
12
- define: globalThis.LWR.define
13
- });
14
- });