lwc 2.37.3 → 2.38.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/engine-dom/esm/es2017/engine-dom.js +196 -127
  2. package/dist/engine-dom/esm/es2017/engine-dom.js.map +1 -0
  3. package/dist/engine-dom/iife/es2017/engine-dom.js +196 -127
  4. package/dist/engine-dom/iife/es2017/engine-dom.js.map +1 -0
  5. package/dist/engine-dom/iife/es2017/engine-dom.min.js +2 -1
  6. package/dist/engine-dom/iife/es2017/engine-dom.min.js.map +1 -0
  7. package/dist/engine-dom/iife/es2017/engine-dom_debug.js +184 -118
  8. package/dist/engine-dom/iife/es2017/engine-dom_debug.js.map +1 -0
  9. package/dist/engine-dom/iife/es5/engine-dom.js +226 -157
  10. package/dist/engine-dom/iife/es5/engine-dom.js.map +1 -0
  11. package/dist/engine-dom/iife/es5/engine-dom.min.js +2 -1
  12. package/dist/engine-dom/iife/es5/engine-dom.min.js.map +1 -0
  13. package/dist/engine-dom/iife/es5/engine-dom_debug.js +214 -148
  14. package/dist/engine-dom/iife/es5/engine-dom_debug.js.map +1 -0
  15. package/dist/engine-dom/umd/es2017/engine-dom.js +196 -127
  16. package/dist/engine-dom/umd/es2017/engine-dom.js.map +1 -0
  17. package/dist/engine-dom/umd/es2017/engine-dom.min.js +2 -1
  18. package/dist/engine-dom/umd/es2017/engine-dom.min.js.map +1 -0
  19. package/dist/engine-dom/umd/es2017/engine-dom_debug.js +184 -118
  20. package/dist/engine-dom/umd/es2017/engine-dom_debug.js.map +1 -0
  21. package/dist/engine-dom/umd/es5/engine-dom.js +226 -157
  22. package/dist/engine-dom/umd/es5/engine-dom.js.map +1 -0
  23. package/dist/engine-dom/umd/es5/engine-dom.min.js +2 -1
  24. package/dist/engine-dom/umd/es5/engine-dom.min.js.map +1 -0
  25. package/dist/engine-dom/umd/es5/engine-dom_debug.js +214 -148
  26. package/dist/engine-dom/umd/es5/engine-dom_debug.js.map +1 -0
  27. package/dist/engine-server/commonjs/es2017/engine-server.js +181 -129
  28. package/dist/engine-server/commonjs/es2017/engine-server.js.map +1 -0
  29. package/dist/engine-server/commonjs/es2017/engine-server.min.js +2 -1
  30. package/dist/engine-server/commonjs/es2017/engine-server.min.js.map +1 -0
  31. package/dist/engine-server/esm/es2017/engine-server.js +181 -129
  32. package/dist/engine-server/esm/es2017/engine-server.js.map +1 -0
  33. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +12 -5
  34. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js.map +1 -0
  35. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +12 -5
  36. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js.map +1 -0
  37. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.min.js +2 -1
  38. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.min.js.map +1 -0
  39. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +12 -5
  40. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js.map +1 -0
  41. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +8 -5
  42. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js.map +1 -0
  43. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js +2 -1
  44. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js.map +1 -0
  45. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +8 -5
  46. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js.map +1 -0
  47. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +12 -5
  48. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js.map +1 -0
  49. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js +3 -2
  50. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js.map +1 -0
  51. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +12 -5
  52. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js.map +1 -0
  53. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +8 -5
  54. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js.map +1 -0
  55. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js +2 -1
  56. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js.map +1 -0
  57. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +8 -5
  58. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js.map +1 -0
  59. package/dist/wire-service/esm/es2017/wire-service.js +3 -2
  60. package/dist/wire-service/esm/es2017/wire-service.js.map +1 -0
  61. package/dist/wire-service/iife/es2017/wire-service.js +3 -2
  62. package/dist/wire-service/iife/es2017/wire-service.js.map +1 -0
  63. package/dist/wire-service/iife/es2017/wire-service.min.js +1 -0
  64. package/dist/wire-service/iife/es2017/wire-service.min.js.map +1 -0
  65. package/dist/wire-service/iife/es2017/wire-service_debug.js +3 -2
  66. package/dist/wire-service/iife/es2017/wire-service_debug.js.map +1 -0
  67. package/dist/wire-service/iife/es5/wire-service.js +3 -2
  68. package/dist/wire-service/iife/es5/wire-service.js.map +1 -0
  69. package/dist/wire-service/iife/es5/wire-service.min.js +1 -0
  70. package/dist/wire-service/iife/es5/wire-service.min.js.map +1 -0
  71. package/dist/wire-service/iife/es5/wire-service_debug.js +3 -2
  72. package/dist/wire-service/iife/es5/wire-service_debug.js.map +1 -0
  73. package/dist/wire-service/umd/es2017/wire-service.js +3 -2
  74. package/dist/wire-service/umd/es2017/wire-service.js.map +1 -0
  75. package/dist/wire-service/umd/es2017/wire-service.min.js +1 -0
  76. package/dist/wire-service/umd/es2017/wire-service.min.js.map +1 -0
  77. package/dist/wire-service/umd/es2017/wire-service_debug.js +3 -2
  78. package/dist/wire-service/umd/es2017/wire-service_debug.js.map +1 -0
  79. package/dist/wire-service/umd/es5/wire-service.js +3 -2
  80. package/dist/wire-service/umd/es5/wire-service.js.map +1 -0
  81. package/dist/wire-service/umd/es5/wire-service.min.js +1 -0
  82. package/dist/wire-service/umd/es5/wire-service.min.js.map +1 -0
  83. package/dist/wire-service/umd/es5/wire-service_debug.js +3 -2
  84. package/dist/wire-service/umd/es5/wire-service_debug.js.map +1 -0
  85. package/package.json +7 -7
@@ -201,6 +201,8 @@ const KEY__SHADOW_RESOLVER = '$shadowResolver$';
201
201
  const KEY__SHADOW_STATIC = '$shadowStaticNode$';
202
202
  const KEY__SYNTHETIC_MODE = '$$lwc-synthetic-mode';
203
203
  const KEY__SCOPED_CSS = '$scoped$';
204
+ const KEY__NATIVE_GET_ELEMENT_BY_ID = '$nativeGetElementById$';
205
+ const KEY__NATIVE_QUERY_SELECTOR_ALL = '$nativeQuerySelectorAll$';
204
206
 
205
207
  /*
206
208
  * Copyright (c) 2022, salesforce.com, inc.
@@ -440,9 +442,9 @@ function htmlEscape(str, attrMode = false) {
440
442
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
441
443
  */
442
444
  // Increment whenever the LWC template compiler changes
443
- const LWC_VERSION = "2.37.3";
445
+ const LWC_VERSION = "2.38.1";
444
446
  const LWC_VERSION_COMMENT_REGEX = /\/\*LWC compiler v([\d.]+)\*\/\s*}/;
445
- /** version: 2.37.3 */
447
+ /** version: 2.38.1 */
446
448
 
447
449
  /**
448
450
  * Copyright (C) 2018 salesforce.com, inc.
@@ -521,7 +523,7 @@ function setFeatureFlagForTest(name, value) {
521
523
  setFeatureFlag(name, value);
522
524
  }
523
525
  }
524
- /** version: 2.37.3 */
526
+ /** version: 2.38.1 */
525
527
 
526
528
  /*
527
529
  * Copyright (c) 2020, salesforce.com, inc.
@@ -617,7 +619,7 @@ function applyAriaReflection(prototype = Element.prototype) {
617
619
  }
618
620
  }
619
621
  }
620
- /** version: 2.37.3 */
622
+ /** version: 2.38.1 */
621
623
 
622
624
  /* proxy-compat-disable */
623
625
 
@@ -2191,6 +2193,14 @@ LightningElement.prototype = {
2191
2193
  }
2192
2194
  return renderer.getLastElementChild(vm.elm);
2193
2195
  },
2196
+ get ownerDocument() {
2197
+ const vm = getAssociatedVM(this);
2198
+ const renderer = vm.renderer;
2199
+ if (process.env.NODE_ENV !== 'production') {
2200
+ warnIfInvokedDuringConstruction(vm, 'ownerDocument');
2201
+ }
2202
+ return renderer.ownerDocument(vm.elm);
2203
+ },
2194
2204
  render() {
2195
2205
  const vm = getAssociatedVM(this);
2196
2206
  return vm.def.template;
@@ -2265,31 +2275,84 @@ function createObservedFieldPropertyDescriptor(key) {
2265
2275
  }
2266
2276
 
2267
2277
  /*
2268
- * Copyright (c) 2018, salesforce.com, inc.
2278
+ * Copyright (c) 2023, salesforce.com, inc.
2269
2279
  * All rights reserved.
2270
2280
  * SPDX-License-Identifier: MIT
2271
2281
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
2272
2282
  */
2273
- const DeprecatedWiredElementHost = '$$DeprecatedWiredElementHostKey$$';
2274
- const DeprecatedWiredParamsMeta = '$$DeprecatedWiredParamsMetaKey$$';
2275
- const WIRE_DEBUG_ENTRY = '@wire';
2276
- const WireMetaMap = new Map();
2277
- class WireContextRegistrationEvent extends CustomEvent {
2278
- constructor(adapterToken, { setNewContext, setDisconnectedCallback }) {
2279
- super(adapterToken, {
2280
- bubbles: true,
2281
- composed: true,
2283
+ const AdapterToTokenMap = new Map();
2284
+ function createContextProviderWithRegister(adapter, registerContextProvider) {
2285
+ let adapterContextToken = AdapterToTokenMap.get(adapter);
2286
+ if (!isUndefined$1(adapterContextToken)) {
2287
+ throw new Error(`Adapter already has a context provider.`);
2288
+ }
2289
+ adapterContextToken = guid();
2290
+ AdapterToTokenMap.set(adapter, adapterContextToken);
2291
+ const providers = new WeakSet();
2292
+ return (elmOrComponent, options) => {
2293
+ if (providers.has(elmOrComponent)) {
2294
+ throw new Error(`Adapter was already installed on ${elmOrComponent}.`);
2295
+ }
2296
+ providers.add(elmOrComponent);
2297
+ const { consumerConnectedCallback, consumerDisconnectedCallback } = options;
2298
+ registerContextProvider(elmOrComponent, adapterContextToken, (subscriptionPayload) => {
2299
+ const { setNewContext, setDisconnectedCallback } = subscriptionPayload;
2300
+ const consumer = {
2301
+ provide(newContext) {
2302
+ setNewContext(newContext);
2303
+ },
2304
+ };
2305
+ const disconnectCallback = () => {
2306
+ if (!isUndefined$1(consumerDisconnectedCallback)) {
2307
+ consumerDisconnectedCallback(consumer);
2308
+ }
2309
+ };
2310
+ setDisconnectedCallback(disconnectCallback);
2311
+ consumerConnectedCallback(consumer);
2282
2312
  });
2283
- defineProperties(this, {
2284
- setNewContext: {
2285
- value: setNewContext,
2313
+ };
2314
+ }
2315
+ function createContextWatcher(vm, wireDef, callbackWhenContextIsReady) {
2316
+ const { adapter } = wireDef;
2317
+ const adapterContextToken = AdapterToTokenMap.get(adapter);
2318
+ if (isUndefined$1(adapterContextToken)) {
2319
+ return; // no provider found, nothing to be done
2320
+ }
2321
+ const { elm, context: { wiredConnecting, wiredDisconnecting }, renderer: { registerContextConsumer }, } = vm;
2322
+ // waiting for the component to be connected to formally request the context via the token
2323
+ ArrayPush$1.call(wiredConnecting, () => {
2324
+ // This will attempt to connect the current element with one of its anscestors
2325
+ // that can provide context for the given wire adapter. This relationship is
2326
+ // keyed on the secret & internal value of `adapterContextToken`, which is unique
2327
+ // to a given wire adapter.
2328
+ //
2329
+ // Depending on the runtime environment, this connection is made using either DOM
2330
+ // events (in the browser) or a custom traversal (on the server).
2331
+ registerContextConsumer(elm, adapterContextToken, {
2332
+ setNewContext(newContext) {
2333
+ // eslint-disable-next-line @lwc/lwc-internal/no-invalid-todo
2334
+ // TODO: dev-mode validation of config based on the adapter.contextSchema
2335
+ callbackWhenContextIsReady(newContext);
2286
2336
  },
2287
- setDisconnectedCallback: {
2288
- value: setDisconnectedCallback,
2337
+ setDisconnectedCallback(disconnectCallback) {
2338
+ // adds this callback into the disconnect bucket so it gets disconnected from parent
2339
+ // the the element hosting the wire is disconnected
2340
+ ArrayPush$1.call(wiredDisconnecting, disconnectCallback);
2289
2341
  },
2290
2342
  });
2291
- }
2343
+ });
2292
2344
  }
2345
+
2346
+ /*
2347
+ * Copyright (c) 2023, salesforce.com, inc.
2348
+ * All rights reserved.
2349
+ * SPDX-License-Identifier: MIT
2350
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
2351
+ */
2352
+ const DeprecatedWiredElementHost = '$$DeprecatedWiredElementHostKey$$';
2353
+ const DeprecatedWiredParamsMeta = '$$DeprecatedWiredParamsMetaKey$$';
2354
+ const WIRE_DEBUG_ENTRY = '@wire';
2355
+ const WireMetaMap = new Map();
2293
2356
  function createFieldDataCallback(vm, name) {
2294
2357
  return (value) => {
2295
2358
  updateComponentValue(vm, name, value);
@@ -2320,35 +2383,6 @@ function createConfigWatcher(component, configCallback, callbackWhenConfigIsRead
2320
2383
  ro,
2321
2384
  };
2322
2385
  }
2323
- function createContextWatcher(vm, wireDef, callbackWhenContextIsReady) {
2324
- const { adapter } = wireDef;
2325
- const adapterContextToken = getAdapterToken(adapter);
2326
- if (isUndefined$1(adapterContextToken)) {
2327
- return; // no provider found, nothing to be done
2328
- }
2329
- const { elm, context: { wiredConnecting, wiredDisconnecting }, renderer: { dispatchEvent }, } = vm;
2330
- // waiting for the component to be connected to formally request the context via the token
2331
- ArrayPush$1.call(wiredConnecting, () => {
2332
- // This event is responsible for connecting the host element with another
2333
- // element in the composed path that is providing contextual data. The provider
2334
- // must be listening for a special dom event with the name corresponding to the value of
2335
- // `adapterContextToken`, which will remain secret and internal to this file only to
2336
- // guarantee that the linkage can be forged.
2337
- const contextRegistrationEvent = new WireContextRegistrationEvent(adapterContextToken, {
2338
- setNewContext(newContext) {
2339
- // eslint-disable-next-line @lwc/lwc-internal/no-invalid-todo
2340
- // TODO: dev-mode validation of config based on the adapter.contextSchema
2341
- callbackWhenContextIsReady(newContext);
2342
- },
2343
- setDisconnectedCallback(disconnectCallback) {
2344
- // adds this callback into the disconnect bucket so it gets disconnected from parent
2345
- // the the element hosting the wire is disconnected
2346
- ArrayPush$1.call(wiredDisconnecting, disconnectCallback);
2347
- },
2348
- });
2349
- dispatchEvent(elm, contextRegistrationEvent);
2350
- });
2351
- }
2352
2386
  function createConnector(vm, name, wireDef) {
2353
2387
  const { method, adapter, configCallback, dynamic } = wireDef;
2354
2388
  let debugInfo;
@@ -2423,13 +2457,6 @@ function createConnector(vm, name, wireDef) {
2423
2457
  resetConfigWatcher: () => ro.reset(),
2424
2458
  };
2425
2459
  }
2426
- const AdapterToTokenMap = new Map();
2427
- function getAdapterToken(adapter) {
2428
- return AdapterToTokenMap.get(adapter);
2429
- }
2430
- function setAdapterToken(adapter, token) {
2431
- AdapterToTokenMap.set(adapter, token);
2432
- }
2433
2460
  function storeWiredMethodMeta(descriptor, adapter, configCallback, dynamic) {
2434
2461
  // support for callable adapters
2435
2462
  if (adapter.adapter) {
@@ -5890,17 +5917,30 @@ function recursivelyDisconnectChildren(vnodes) {
5890
5917
  // into snabbdom. Especially useful when the reset is a consequence of an error, in which case the
5891
5918
  // children VNodes might not be representing the current state of the DOM.
5892
5919
  function resetComponentRoot(vm) {
5893
- const { children, renderRoot, renderer: { remove }, } = vm;
5894
- for (let i = 0, len = children.length; i < len; i++) {
5895
- const child = children[i];
5896
- if (!isNull(child) && !isUndefined$1(child.elm)) {
5897
- remove(child.elm, renderRoot);
5898
- }
5899
- }
5920
+ recursivelyRemoveChildren(vm.children, vm);
5900
5921
  vm.children = EmptyArray;
5901
5922
  runChildNodesDisconnectedCallback(vm);
5902
5923
  vm.velements = EmptyArray;
5903
5924
  }
5925
+ // Helper function to remove all children of the root node.
5926
+ // If the set of children includes VFragment nodes, we need to remove the children of those nodes too.
5927
+ // Since VFragments can contain other VFragments, we need to traverse the entire of tree of VFragments.
5928
+ // If the set contains no VFragment nodes, no traversal is needed.
5929
+ function recursivelyRemoveChildren(vnodes, vm) {
5930
+ const { renderRoot, renderer: { remove }, } = vm;
5931
+ for (let i = 0, len = vnodes.length; i < len; i += 1) {
5932
+ const vnode = vnodes[i];
5933
+ if (!isNull(vnode)) {
5934
+ // VFragments are special; their .elm property does not point to the root element since they have no single root.
5935
+ if (isVFragment(vnode)) {
5936
+ recursivelyRemoveChildren(vnode.children, vm);
5937
+ }
5938
+ else if (!isUndefined$1(vnode.elm)) {
5939
+ remove(vnode.elm, renderRoot);
5940
+ }
5941
+ }
5942
+ }
5943
+ }
5904
5944
  function getErrorBoundaryVM(vm) {
5905
5945
  let currentVm = vm;
5906
5946
  while (!isNull(currentVm)) {
@@ -5936,67 +5976,10 @@ function runWithBoundaryProtection(vm, owner, pre, job, post) {
5936
5976
  }
5937
5977
  }
5938
5978
  }
5939
-
5940
- /*
5941
- * Copyright (c) 2018, salesforce.com, inc.
5942
- * All rights reserved.
5943
- * SPDX-License-Identifier: MIT
5944
- * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
5945
- */
5946
- // this is lwc internal implementation
5947
- function createContextProvider(adapter) {
5948
- let adapterContextToken = getAdapterToken(adapter);
5949
- if (!isUndefined$1(adapterContextToken)) {
5950
- throw new Error(`Adapter already has a context provider.`);
5951
- }
5952
- adapterContextToken = guid();
5953
- setAdapterToken(adapter, adapterContextToken);
5954
- const providers = new WeakSet();
5955
- return (elm, options) => {
5956
- if (providers.has(elm)) {
5957
- throw new Error(`Adapter was already installed on ${elm}.`);
5958
- }
5959
- providers.add(elm);
5960
- const { consumerConnectedCallback, consumerDisconnectedCallback } = options;
5961
- elm.addEventListener(adapterContextToken, ((evt) => {
5962
- const { setNewContext, setDisconnectedCallback } = evt;
5963
- const consumer = {
5964
- provide(newContext) {
5965
- setNewContext(newContext);
5966
- },
5967
- };
5968
- const disconnectCallback = () => {
5969
- if (!isUndefined$1(consumerDisconnectedCallback)) {
5970
- consumerDisconnectedCallback(consumer);
5971
- }
5972
- };
5973
- setDisconnectedCallback(disconnectCallback);
5974
- consumerConnectedCallback(consumer);
5975
- evt.stopImmediatePropagation();
5976
- }));
5977
- };
5978
- }
5979
-
5980
- /*
5981
- * Copyright (c) 2018, salesforce.com, inc.
5982
- * All rights reserved.
5983
- * SPDX-License-Identifier: MIT
5984
- * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
5985
- */
5986
- /**
5987
- * EXPERIMENTAL: This function allows you to create a reactive readonly
5988
- * membrane around any object value. This API is subject to change or
5989
- * being removed.
5990
- */
5991
- function readonly(obj) {
5992
- if (process.env.NODE_ENV !== 'production') {
5993
- // TODO [#1292]: Remove the readonly decorator
5994
- if (arguments.length !== 1) {
5995
- assert.fail('@readonly cannot be used as a decorator just yet, use it as a function with one argument to produce a readonly version of the provided value.');
5996
- }
5997
- }
5998
- return getReadOnlyProxy(obj);
5999
- }
5979
+ // This is a "handoff" from synthetic-shadow to engine-core – we want to clean up after ourselves
5980
+ // so nobody else can misuse these global APIs.
5981
+ delete _globalThis[KEY__NATIVE_GET_ELEMENT_BY_ID];
5982
+ delete _globalThis[KEY__NATIVE_QUERY_SELECTOR_ALL];
6000
5983
 
6001
5984
  /*
6002
5985
  * Copyright (c) 2018, salesforce.com, inc.
@@ -6213,7 +6196,28 @@ function freezeTemplate(tmpl) {
6213
6196
  }
6214
6197
  }
6215
6198
  }
6216
- /* version: 2.37.3 */
6199
+
6200
+ /*
6201
+ * Copyright (c) 2018, salesforce.com, inc.
6202
+ * All rights reserved.
6203
+ * SPDX-License-Identifier: MIT
6204
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6205
+ */
6206
+ /**
6207
+ * EXPERIMENTAL: This function allows you to create a reactive readonly
6208
+ * membrane around any object value. This API is subject to change or
6209
+ * being removed.
6210
+ */
6211
+ function readonly(obj) {
6212
+ if (process.env.NODE_ENV !== 'production') {
6213
+ // TODO [#1292]: Remove the readonly decorator
6214
+ if (arguments.length !== 1) {
6215
+ assert.fail('@readonly cannot be used as a decorator just yet, use it as a function with one argument to produce a readonly version of the provided value.');
6216
+ }
6217
+ }
6218
+ return getReadOnlyProxy(obj);
6219
+ }
6220
+ /* version: 2.38.1 */
6217
6221
 
6218
6222
  /*
6219
6223
  * Copyright (c) 2020, salesforce.com, inc.
@@ -6229,8 +6233,9 @@ const HostParentKey = Symbol('parent');
6229
6233
  const HostShadowRootKey = Symbol('shadow-root');
6230
6234
  const HostChildrenKey = Symbol('children');
6231
6235
  const HostAttributesKey = Symbol('attributes');
6232
- const HostEventListenersKey = Symbol('event-listeners');
6233
6236
  const HostValueKey = Symbol('value');
6237
+ const HostHostKey = Symbol('host');
6238
+ const HostContextProvidersKey = Symbol('context-providers');
6234
6239
  var HostNodeType;
6235
6240
  (function (HostNodeType) {
6236
6241
  HostNodeType["Text"] = "text";
@@ -6254,6 +6259,48 @@ function tokenListToClassName(values) {
6254
6259
  return Array.from(values).join(' ');
6255
6260
  }
6256
6261
 
6262
+ /*
6263
+ * Copyright (c) 2023, salesforce.com, inc.
6264
+ * All rights reserved.
6265
+ * SPDX-License-Identifier: MIT
6266
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6267
+ */
6268
+ function createContextProvider(adapter) {
6269
+ return createContextProviderWithRegister(adapter, registerContextProvider);
6270
+ }
6271
+ function registerContextProvider(elm, adapterContextToken, onContextSubscription) {
6272
+ const vm = getAssociatedVMIfPresent(elm);
6273
+ if (!isUndefined$1(vm)) {
6274
+ elm = vm.elm;
6275
+ }
6276
+ const contextProviders = elm[HostContextProvidersKey];
6277
+ if (isUndefined$1(contextProviders)) {
6278
+ throw new Error('Unable to register context provider on provided `elm`.');
6279
+ }
6280
+ contextProviders.set(adapterContextToken, onContextSubscription);
6281
+ }
6282
+ function registerContextConsumer(elm, adapterContextToken, subscriptionPayload) {
6283
+ // Traverse element ancestors, looking for an element that can provide context
6284
+ // for the adapter identified by `adapterContextToken`. If found, register
6285
+ // to receive context updates from that provider.
6286
+ let currentNode = elm;
6287
+ do {
6288
+ if (currentNode[HostTypeKey] === HostNodeType.Element) {
6289
+ const subscribeToProvider = currentNode[HostContextProvidersKey].get(adapterContextToken);
6290
+ if (!isUndefined$1(subscribeToProvider)) {
6291
+ subscribeToProvider(subscriptionPayload);
6292
+ // If we find a provider, we shouldn't continue traversing
6293
+ // looking for another provider.
6294
+ break;
6295
+ }
6296
+ }
6297
+ currentNode =
6298
+ currentNode[HostTypeKey] === HostNodeType.Element
6299
+ ? currentNode[HostParentKey]
6300
+ : currentNode[HostHostKey];
6301
+ } while (!isNull(currentNode));
6302
+ }
6303
+
6257
6304
  /*
6258
6305
  * Copyright (c) 2020, salesforce.com, inc.
6259
6306
  * All rights reserved.
@@ -6274,7 +6321,7 @@ function createElement$1(tagName, namespace) {
6274
6321
  [HostShadowRootKey]: null,
6275
6322
  [HostChildrenKey]: [],
6276
6323
  [HostAttributesKey]: [],
6277
- [HostEventListenersKey]: {},
6324
+ [HostContextProvidersKey]: new Map(),
6278
6325
  };
6279
6326
  }
6280
6327
  const isNativeShadowDefined = false;
@@ -6340,6 +6387,7 @@ function attachShadow(element, config) {
6340
6387
  element[HostShadowRootKey] = {
6341
6388
  [HostTypeKey]: HostNodeType.ShadowRoot,
6342
6389
  [HostChildrenKey]: [],
6390
+ [HostHostKey]: element,
6343
6391
  mode: config.mode,
6344
6392
  delegatesFocus: !!config.delegatesFocus,
6345
6393
  };
@@ -6536,6 +6584,7 @@ function createCustomElement(tagName, upgradeCallback) {
6536
6584
  const UpgradableConstructor = getUpgradableElement(tagName);
6537
6585
  return new UpgradableConstructor(upgradeCallback);
6538
6586
  }
6587
+ const ownerDocument = unsupportedMethod('ownerDocument');
6539
6588
  const renderer = {
6540
6589
  isNativeShadowDefined,
6541
6590
  isSyntheticShadowDefined,
@@ -6574,6 +6623,8 @@ const renderer = {
6574
6623
  isConnected,
6575
6624
  insertStylesheet,
6576
6625
  assertInstanceOfHTMLElement,
6626
+ ownerDocument,
6627
+ registerContextConsumer,
6577
6628
  };
6578
6629
 
6579
6630
  /*
@@ -6650,7 +6701,7 @@ const FakeRootElement = {
6650
6701
  [HostShadowRootKey]: null,
6651
6702
  [HostChildrenKey]: [],
6652
6703
  [HostAttributesKey]: [],
6653
- [HostEventListenersKey]: {},
6704
+ [HostContextProvidersKey]: new Map(),
6654
6705
  };
6655
6706
  function renderComponent(tagName, Ctor, props = {}) {
6656
6707
  if (!isString(tagName)) {
@@ -6701,6 +6752,7 @@ seal(LightningElement.prototype);
6701
6752
  function createElement() {
6702
6753
  throw new Error('createElement is not supported in @lwc/engine-server, only @lwc/engine-dom.');
6703
6754
  }
6704
- /* version: 2.37.3 */
6755
+ /* version: 2.38.1 */
6705
6756
 
6706
6757
  export { LightningElement, api$1 as api, createContextProvider, createElement, freezeTemplate, getComponentDef, isComponentConstructor, parseFragment, parseFragment as parseSVGFragment, readonly, register, registerComponent, registerDecorators, registerTemplate, renderComponent, renderer, sanitizeAttribute, setFeatureFlag, setFeatureFlagForTest, setHooks, track, unwrap, wire };
6758
+ //# sourceMappingURL=engine-server.js.map