lwc 2.37.2 → 2.38.0

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 +241 -125
  2. package/dist/engine-dom/esm/es2017/engine-dom.js.map +1 -0
  3. package/dist/engine-dom/iife/es2017/engine-dom.js +241 -125
  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 +178 -112
  8. package/dist/engine-dom/iife/es2017/engine-dom_debug.js.map +1 -0
  9. package/dist/engine-dom/iife/es5/engine-dom.js +274 -153
  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 +208 -140
  14. package/dist/engine-dom/iife/es5/engine-dom_debug.js.map +1 -0
  15. package/dist/engine-dom/umd/es2017/engine-dom.js +241 -125
  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 +178 -112
  20. package/dist/engine-dom/umd/es2017/engine-dom_debug.js.map +1 -0
  21. package/dist/engine-dom/umd/es5/engine-dom.js +274 -153
  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 +208 -140
  26. package/dist/engine-dom/umd/es5/engine-dom_debug.js.map +1 -0
  27. package/dist/engine-server/commonjs/es2017/engine-server.js +161 -122
  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 +161 -122
  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.2";
445
+ const LWC_VERSION = "2.38.0";
444
446
  const LWC_VERSION_COMMENT_REGEX = /\/\*LWC compiler v([\d.]+)\*\/\s*}/;
445
- /** version: 2.37.2 */
447
+ /** version: 2.38.0 */
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.2 */
526
+ /** version: 2.38.0 */
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.2 */
622
+ /** version: 2.38.0 */
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) {
@@ -5936,67 +5963,10 @@ function runWithBoundaryProtection(vm, owner, pre, job, post) {
5936
5963
  }
5937
5964
  }
5938
5965
  }
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
- }
5966
+ // This is a "handoff" from synthetic-shadow to engine-core – we want to clean up after ourselves
5967
+ // so nobody else can misuse these global APIs.
5968
+ delete _globalThis[KEY__NATIVE_GET_ELEMENT_BY_ID];
5969
+ delete _globalThis[KEY__NATIVE_QUERY_SELECTOR_ALL];
6000
5970
 
6001
5971
  /*
6002
5972
  * Copyright (c) 2018, salesforce.com, inc.
@@ -6213,7 +6183,28 @@ function freezeTemplate(tmpl) {
6213
6183
  }
6214
6184
  }
6215
6185
  }
6216
- /* version: 2.37.2 */
6186
+
6187
+ /*
6188
+ * Copyright (c) 2018, salesforce.com, inc.
6189
+ * All rights reserved.
6190
+ * SPDX-License-Identifier: MIT
6191
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6192
+ */
6193
+ /**
6194
+ * EXPERIMENTAL: This function allows you to create a reactive readonly
6195
+ * membrane around any object value. This API is subject to change or
6196
+ * being removed.
6197
+ */
6198
+ function readonly(obj) {
6199
+ if (process.env.NODE_ENV !== 'production') {
6200
+ // TODO [#1292]: Remove the readonly decorator
6201
+ if (arguments.length !== 1) {
6202
+ 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.');
6203
+ }
6204
+ }
6205
+ return getReadOnlyProxy(obj);
6206
+ }
6207
+ /* version: 2.38.0 */
6217
6208
 
6218
6209
  /*
6219
6210
  * Copyright (c) 2020, salesforce.com, inc.
@@ -6229,8 +6220,9 @@ const HostParentKey = Symbol('parent');
6229
6220
  const HostShadowRootKey = Symbol('shadow-root');
6230
6221
  const HostChildrenKey = Symbol('children');
6231
6222
  const HostAttributesKey = Symbol('attributes');
6232
- const HostEventListenersKey = Symbol('event-listeners');
6233
6223
  const HostValueKey = Symbol('value');
6224
+ const HostHostKey = Symbol('host');
6225
+ const HostContextProvidersKey = Symbol('context-providers');
6234
6226
  var HostNodeType;
6235
6227
  (function (HostNodeType) {
6236
6228
  HostNodeType["Text"] = "text";
@@ -6254,6 +6246,48 @@ function tokenListToClassName(values) {
6254
6246
  return Array.from(values).join(' ');
6255
6247
  }
6256
6248
 
6249
+ /*
6250
+ * Copyright (c) 2023, salesforce.com, inc.
6251
+ * All rights reserved.
6252
+ * SPDX-License-Identifier: MIT
6253
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6254
+ */
6255
+ function createContextProvider(adapter) {
6256
+ return createContextProviderWithRegister(adapter, registerContextProvider);
6257
+ }
6258
+ function registerContextProvider(elm, adapterContextToken, onContextSubscription) {
6259
+ const vm = getAssociatedVMIfPresent(elm);
6260
+ if (!isUndefined$1(vm)) {
6261
+ elm = vm.elm;
6262
+ }
6263
+ const contextProviders = elm[HostContextProvidersKey];
6264
+ if (isUndefined$1(contextProviders)) {
6265
+ throw new Error('Unable to register context provider on provided `elm`.');
6266
+ }
6267
+ contextProviders.set(adapterContextToken, onContextSubscription);
6268
+ }
6269
+ function registerContextConsumer(elm, adapterContextToken, subscriptionPayload) {
6270
+ // Traverse element ancestors, looking for an element that can provide context
6271
+ // for the adapter identified by `adapterContextToken`. If found, register
6272
+ // to receive context updates from that provider.
6273
+ let currentNode = elm;
6274
+ do {
6275
+ if (currentNode[HostTypeKey] === HostNodeType.Element) {
6276
+ const subscribeToProvider = currentNode[HostContextProvidersKey].get(adapterContextToken);
6277
+ if (!isUndefined$1(subscribeToProvider)) {
6278
+ subscribeToProvider(subscriptionPayload);
6279
+ // If we find a provider, we shouldn't continue traversing
6280
+ // looking for another provider.
6281
+ break;
6282
+ }
6283
+ }
6284
+ currentNode =
6285
+ currentNode[HostTypeKey] === HostNodeType.Element
6286
+ ? currentNode[HostParentKey]
6287
+ : currentNode[HostHostKey];
6288
+ } while (!isNull(currentNode));
6289
+ }
6290
+
6257
6291
  /*
6258
6292
  * Copyright (c) 2020, salesforce.com, inc.
6259
6293
  * All rights reserved.
@@ -6274,7 +6308,7 @@ function createElement$1(tagName, namespace) {
6274
6308
  [HostShadowRootKey]: null,
6275
6309
  [HostChildrenKey]: [],
6276
6310
  [HostAttributesKey]: [],
6277
- [HostEventListenersKey]: {},
6311
+ [HostContextProvidersKey]: new Map(),
6278
6312
  };
6279
6313
  }
6280
6314
  const isNativeShadowDefined = false;
@@ -6340,6 +6374,7 @@ function attachShadow(element, config) {
6340
6374
  element[HostShadowRootKey] = {
6341
6375
  [HostTypeKey]: HostNodeType.ShadowRoot,
6342
6376
  [HostChildrenKey]: [],
6377
+ [HostHostKey]: element,
6343
6378
  mode: config.mode,
6344
6379
  delegatesFocus: !!config.delegatesFocus,
6345
6380
  };
@@ -6536,6 +6571,7 @@ function createCustomElement(tagName, upgradeCallback) {
6536
6571
  const UpgradableConstructor = getUpgradableElement(tagName);
6537
6572
  return new UpgradableConstructor(upgradeCallback);
6538
6573
  }
6574
+ const ownerDocument = unsupportedMethod('ownerDocument');
6539
6575
  const renderer = {
6540
6576
  isNativeShadowDefined,
6541
6577
  isSyntheticShadowDefined,
@@ -6574,6 +6610,8 @@ const renderer = {
6574
6610
  isConnected,
6575
6611
  insertStylesheet,
6576
6612
  assertInstanceOfHTMLElement,
6613
+ ownerDocument,
6614
+ registerContextConsumer,
6577
6615
  };
6578
6616
 
6579
6617
  /*
@@ -6650,7 +6688,7 @@ const FakeRootElement = {
6650
6688
  [HostShadowRootKey]: null,
6651
6689
  [HostChildrenKey]: [],
6652
6690
  [HostAttributesKey]: [],
6653
- [HostEventListenersKey]: {},
6691
+ [HostContextProvidersKey]: new Map(),
6654
6692
  };
6655
6693
  function renderComponent(tagName, Ctor, props = {}) {
6656
6694
  if (!isString(tagName)) {
@@ -6701,6 +6739,7 @@ seal(LightningElement.prototype);
6701
6739
  function createElement() {
6702
6740
  throw new Error('createElement is not supported in @lwc/engine-server, only @lwc/engine-dom.');
6703
6741
  }
6704
- /* version: 2.37.2 */
6742
+ /* version: 2.38.0 */
6705
6743
 
6706
6744
  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 };
6745
+ //# sourceMappingURL=engine-server.js.map