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
@@ -320,6 +320,27 @@ var LWC = (function (exports) {
320
320
  return propertyName;
321
321
  }
322
322
 
323
+ /*
324
+ * Copyright (c) 2020, salesforce.com, inc.
325
+ * All rights reserved.
326
+ * SPDX-License-Identifier: MIT
327
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
328
+ */
329
+ var ESCAPED_CHARS = {
330
+ '"': '"',
331
+ "'": ''',
332
+ '<': '&lt;',
333
+ '>': '&gt;',
334
+ '&': '&amp;'
335
+ };
336
+ function htmlEscape(str) {
337
+ var attrMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
338
+ var searchValue = attrMode ? /["&]/g : /["'<>&]/g;
339
+ return str.replace(searchValue, function (char) {
340
+ return ESCAPED_CHARS[char];
341
+ });
342
+ }
343
+
323
344
  /*
324
345
  * Copyright (c) 2018, salesforce.com, inc.
325
346
  * All rights reserved.
@@ -327,9 +348,9 @@ var LWC = (function (exports) {
327
348
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
328
349
  */
329
350
  // Increment whenever the LWC template compiler changes
330
- var LWC_VERSION = "2.37.2";
351
+ var LWC_VERSION = "2.38.0";
331
352
  var LWC_VERSION_COMMENT_REGEX = /\/\*LWC compiler v([\d.]+)\*\/\s*}/;
332
- /** version: 2.37.2 */
353
+ /** version: 2.38.0 */
333
354
 
334
355
  /**
335
356
  * Copyright (C) 2018 salesforce.com, inc.
@@ -410,7 +431,7 @@ var LWC = (function (exports) {
410
431
  setFeatureFlag(name, value);
411
432
  }
412
433
  }
413
- /** version: 2.37.2 */
434
+ /** version: 2.38.0 */
414
435
 
415
436
  /**
416
437
  * Copyright (C) 2018 salesforce.com, inc.
@@ -474,7 +495,7 @@ var LWC = (function (exports) {
474
495
  }
475
496
  }
476
497
  }
477
- /** version: 2.37.2 */
498
+ /** version: 2.38.0 */
478
499
 
479
500
  /*
480
501
  * Copyright (c) 2018, salesforce.com, inc.
@@ -2439,6 +2460,14 @@ var LWC = (function (exports) {
2439
2460
  }
2440
2461
  return renderer.getLastElementChild(vm.elm);
2441
2462
  },
2463
+ get ownerDocument() {
2464
+ var vm = getAssociatedVM(this);
2465
+ var renderer = vm.renderer;
2466
+ if (process.env.NODE_ENV !== 'production') {
2467
+ warnIfInvokedDuringConstruction(vm, 'ownerDocument');
2468
+ }
2469
+ return renderer.ownerDocument(vm.elm);
2470
+ },
2442
2471
  render: function render() {
2443
2472
  var vm = getAssociatedVM(this);
2444
2473
  return vm.def.template;
@@ -2513,39 +2542,91 @@ var LWC = (function (exports) {
2513
2542
  }
2514
2543
 
2515
2544
  /*
2516
- * Copyright (c) 2018, salesforce.com, inc.
2545
+ * Copyright (c) 2023, salesforce.com, inc.
2517
2546
  * All rights reserved.
2518
2547
  * SPDX-License-Identifier: MIT
2519
2548
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
2520
2549
  */
2521
- var DeprecatedWiredElementHost = '$$DeprecatedWiredElementHostKey$$';
2522
- var DeprecatedWiredParamsMeta = '$$DeprecatedWiredParamsMetaKey$$';
2523
- var WIRE_DEBUG_ENTRY = '@wire';
2524
- var WireMetaMap = new Map();
2525
- var WireContextRegistrationEvent = /*#__PURE__*/function (_CustomEvent) {
2526
- _inherits(WireContextRegistrationEvent, _CustomEvent);
2527
- var _super3 = _createSuper(WireContextRegistrationEvent);
2528
- function WireContextRegistrationEvent(adapterToken, _ref3) {
2529
- var _this2;
2530
- var setNewContext = _ref3.setNewContext,
2531
- setDisconnectedCallback = _ref3.setDisconnectedCallback;
2532
- _classCallCheck(this, WireContextRegistrationEvent);
2533
- _this2 = _super3.call(this, adapterToken, {
2534
- bubbles: true,
2535
- composed: true
2550
+ var AdapterToTokenMap = new Map();
2551
+ function createContextProviderWithRegister(adapter, registerContextProvider) {
2552
+ var adapterContextToken = AdapterToTokenMap.get(adapter);
2553
+ if (!isUndefined$1(adapterContextToken)) {
2554
+ throw new Error("Adapter already has a context provider.");
2555
+ }
2556
+ adapterContextToken = guid();
2557
+ AdapterToTokenMap.set(adapter, adapterContextToken);
2558
+ var providers = new WeakSet();
2559
+ return function (elmOrComponent, options) {
2560
+ if (providers.has(elmOrComponent)) {
2561
+ throw new Error("Adapter was already installed on ".concat(elmOrComponent, "."));
2562
+ }
2563
+ providers.add(elmOrComponent);
2564
+ var consumerConnectedCallback = options.consumerConnectedCallback,
2565
+ consumerDisconnectedCallback = options.consumerDisconnectedCallback;
2566
+ registerContextProvider(elmOrComponent, adapterContextToken, function (subscriptionPayload) {
2567
+ var setNewContext = subscriptionPayload.setNewContext,
2568
+ setDisconnectedCallback = subscriptionPayload.setDisconnectedCallback;
2569
+ var consumer = {
2570
+ provide: function provide(newContext) {
2571
+ setNewContext(newContext);
2572
+ }
2573
+ };
2574
+ var disconnectCallback = function disconnectCallback() {
2575
+ if (!isUndefined$1(consumerDisconnectedCallback)) {
2576
+ consumerDisconnectedCallback(consumer);
2577
+ }
2578
+ };
2579
+ setDisconnectedCallback(disconnectCallback);
2580
+ consumerConnectedCallback(consumer);
2536
2581
  });
2537
- defineProperties(_assertThisInitialized(_this2), {
2538
- setNewContext: {
2539
- value: setNewContext
2582
+ };
2583
+ }
2584
+ function createContextWatcher(vm, wireDef, callbackWhenContextIsReady) {
2585
+ var adapter = wireDef.adapter;
2586
+ var adapterContextToken = AdapterToTokenMap.get(adapter);
2587
+ if (isUndefined$1(adapterContextToken)) {
2588
+ return; // no provider found, nothing to be done
2589
+ }
2590
+
2591
+ var elm = vm.elm,
2592
+ _vm$context = vm.context,
2593
+ wiredConnecting = _vm$context.wiredConnecting,
2594
+ wiredDisconnecting = _vm$context.wiredDisconnecting,
2595
+ registerContextConsumer = vm.renderer.registerContextConsumer;
2596
+ // waiting for the component to be connected to formally request the context via the token
2597
+ ArrayPush$1.call(wiredConnecting, function () {
2598
+ // This will attempt to connect the current element with one of its anscestors
2599
+ // that can provide context for the given wire adapter. This relationship is
2600
+ // keyed on the secret & internal value of `adapterContextToken`, which is unique
2601
+ // to a given wire adapter.
2602
+ //
2603
+ // Depending on the runtime environment, this connection is made using either DOM
2604
+ // events (in the browser) or a custom traversal (on the server).
2605
+ registerContextConsumer(elm, adapterContextToken, {
2606
+ setNewContext: function setNewContext(newContext) {
2607
+ // eslint-disable-next-line @lwc/lwc-internal/no-invalid-todo
2608
+ // TODO: dev-mode validation of config based on the adapter.contextSchema
2609
+ callbackWhenContextIsReady(newContext);
2540
2610
  },
2541
- setDisconnectedCallback: {
2542
- value: setDisconnectedCallback
2611
+ setDisconnectedCallback: function setDisconnectedCallback(disconnectCallback) {
2612
+ // adds this callback into the disconnect bucket so it gets disconnected from parent
2613
+ // the the element hosting the wire is disconnected
2614
+ ArrayPush$1.call(wiredDisconnecting, disconnectCallback);
2543
2615
  }
2544
2616
  });
2545
- return _this2;
2546
- }
2547
- return _createClass(WireContextRegistrationEvent);
2548
- }( /*#__PURE__*/_wrapNativeSuper(CustomEvent));
2617
+ });
2618
+ }
2619
+
2620
+ /*
2621
+ * Copyright (c) 2023, salesforce.com, inc.
2622
+ * All rights reserved.
2623
+ * SPDX-License-Identifier: MIT
2624
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
2625
+ */
2626
+ var DeprecatedWiredElementHost = '$$DeprecatedWiredElementHostKey$$';
2627
+ var DeprecatedWiredParamsMeta = '$$DeprecatedWiredParamsMetaKey$$';
2628
+ var WIRE_DEBUG_ENTRY = '@wire';
2629
+ var WireMetaMap = new Map();
2549
2630
  function createFieldDataCallback(vm, name) {
2550
2631
  return function (value) {
2551
2632
  updateComponentValue(vm, name, value);
@@ -2591,40 +2672,6 @@ var LWC = (function (exports) {
2591
2672
  ro: ro
2592
2673
  };
2593
2674
  }
2594
- function createContextWatcher(vm, wireDef, callbackWhenContextIsReady) {
2595
- var adapter = wireDef.adapter;
2596
- var adapterContextToken = getAdapterToken(adapter);
2597
- if (isUndefined$1(adapterContextToken)) {
2598
- return; // no provider found, nothing to be done
2599
- }
2600
-
2601
- var elm = vm.elm,
2602
- _vm$context = vm.context,
2603
- wiredConnecting = _vm$context.wiredConnecting,
2604
- wiredDisconnecting = _vm$context.wiredDisconnecting,
2605
- dispatchEvent = vm.renderer.dispatchEvent;
2606
- // waiting for the component to be connected to formally request the context via the token
2607
- ArrayPush$1.call(wiredConnecting, function () {
2608
- // This event is responsible for connecting the host element with another
2609
- // element in the composed path that is providing contextual data. The provider
2610
- // must be listening for a special dom event with the name corresponding to the value of
2611
- // `adapterContextToken`, which will remain secret and internal to this file only to
2612
- // guarantee that the linkage can be forged.
2613
- var contextRegistrationEvent = new WireContextRegistrationEvent(adapterContextToken, {
2614
- setNewContext: function setNewContext(newContext) {
2615
- // eslint-disable-next-line @lwc/lwc-internal/no-invalid-todo
2616
- // TODO: dev-mode validation of config based on the adapter.contextSchema
2617
- callbackWhenContextIsReady(newContext);
2618
- },
2619
- setDisconnectedCallback: function setDisconnectedCallback(disconnectCallback) {
2620
- // adds this callback into the disconnect bucket so it gets disconnected from parent
2621
- // the the element hosting the wire is disconnected
2622
- ArrayPush$1.call(wiredDisconnecting, disconnectCallback);
2623
- }
2624
- });
2625
- dispatchEvent(elm, contextRegistrationEvent);
2626
- });
2627
- }
2628
2675
  function createConnector(vm, name, wireDef) {
2629
2676
  var method = wireDef.method,
2630
2677
  adapter = wireDef.adapter,
@@ -2704,13 +2751,6 @@ var LWC = (function (exports) {
2704
2751
  }
2705
2752
  };
2706
2753
  }
2707
- var AdapterToTokenMap = new Map();
2708
- function getAdapterToken(adapter) {
2709
- return AdapterToTokenMap.get(adapter);
2710
- }
2711
- function setAdapterToken(adapter, token) {
2712
- AdapterToTokenMap.set(adapter, token);
2713
- }
2714
2754
  function storeWiredMethodMeta(descriptor, adapter, configCallback, dynamic) {
2715
2755
  // support for callable adapters
2716
2756
  if (adapter.adapter) {
@@ -3319,10 +3359,10 @@ var LWC = (function (exports) {
3319
3359
  if (isFunction$1(SuperClass)) {
3320
3360
  HTMLBridgeElement = /*#__PURE__*/function (_SuperClass) {
3321
3361
  _inherits(HTMLBridgeElement, _SuperClass);
3322
- var _super4 = _createSuper(HTMLBridgeElement);
3362
+ var _super3 = _createSuper(HTMLBridgeElement);
3323
3363
  function HTMLBridgeElement() {
3324
3364
  _classCallCheck(this, HTMLBridgeElement);
3325
- return _super4.apply(this, arguments);
3365
+ return _super3.apply(this, arguments);
3326
3366
  }
3327
3367
  return _createClass(HTMLBridgeElement);
3328
3368
  }(SuperClass);
@@ -5938,8 +5978,8 @@ var LWC = (function (exports) {
5938
5978
  */
5939
5979
  function registerComponent(
5940
5980
  // We typically expect a LightningElementConstructor, but technically you can call this with anything
5941
- Ctor, _ref4) {
5942
- var tmpl = _ref4.tmpl;
5981
+ Ctor, _ref3) {
5982
+ var tmpl = _ref3.tmpl;
5943
5983
  if (isFunction$1(Ctor)) {
5944
5984
  if (process.env.NODE_ENV !== 'production') {
5945
5985
  // There is no point in running this in production, because the version mismatch check relies
@@ -6582,6 +6622,10 @@ var LWC = (function (exports) {
6582
6622
  // Use the unpatched native getElementById/querySelectorAll rather than the synthetic one
6583
6623
  var getElementById = _globalThis[KEY__NATIVE_GET_ELEMENT_BY_ID];
6584
6624
  var querySelectorAll = _globalThis[KEY__NATIVE_QUERY_SELECTOR_ALL];
6625
+ // This is a "handoff" from synthetic-shadow to engine-core – we want to clean up after ourselves
6626
+ // so nobody else can misuse these global APIs.
6627
+ delete _globalThis[KEY__NATIVE_GET_ELEMENT_BY_ID];
6628
+ delete _globalThis[KEY__NATIVE_QUERY_SELECTOR_ALL];
6585
6629
  function isSyntheticShadowRootInstance(rootNode) {
6586
6630
  return rootNode !== document && isTrue(rootNode.synthetic);
6587
6631
  }
@@ -6846,69 +6890,6 @@ var LWC = (function (exports) {
6846
6890
  }
6847
6891
  }
6848
6892
 
6849
- /*
6850
- * Copyright (c) 2018, salesforce.com, inc.
6851
- * All rights reserved.
6852
- * SPDX-License-Identifier: MIT
6853
- * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6854
- */
6855
- // this is lwc internal implementation
6856
- function createContextProvider(adapter) {
6857
- var adapterContextToken = getAdapterToken(adapter);
6858
- if (!isUndefined$1(adapterContextToken)) {
6859
- throw new Error("Adapter already has a context provider.");
6860
- }
6861
- adapterContextToken = guid();
6862
- setAdapterToken(adapter, adapterContextToken);
6863
- var providers = new WeakSet();
6864
- return function (elm, options) {
6865
- if (providers.has(elm)) {
6866
- throw new Error("Adapter was already installed on ".concat(elm, "."));
6867
- }
6868
- providers.add(elm);
6869
- var consumerConnectedCallback = options.consumerConnectedCallback,
6870
- consumerDisconnectedCallback = options.consumerDisconnectedCallback;
6871
- elm.addEventListener(adapterContextToken, function (evt) {
6872
- var setNewContext = evt.setNewContext,
6873
- setDisconnectedCallback = evt.setDisconnectedCallback;
6874
- var consumer = {
6875
- provide: function provide(newContext) {
6876
- setNewContext(newContext);
6877
- }
6878
- };
6879
- var disconnectCallback = function disconnectCallback() {
6880
- if (!isUndefined$1(consumerDisconnectedCallback)) {
6881
- consumerDisconnectedCallback(consumer);
6882
- }
6883
- };
6884
- setDisconnectedCallback(disconnectCallback);
6885
- consumerConnectedCallback(consumer);
6886
- evt.stopImmediatePropagation();
6887
- });
6888
- };
6889
- }
6890
-
6891
- /*
6892
- * Copyright (c) 2018, salesforce.com, inc.
6893
- * All rights reserved.
6894
- * SPDX-License-Identifier: MIT
6895
- * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6896
- */
6897
- /**
6898
- * EXPERIMENTAL: This function allows you to create a reactive readonly
6899
- * membrane around any object value. This API is subject to change or
6900
- * being removed.
6901
- */
6902
- function readonly(obj) {
6903
- if (process.env.NODE_ENV !== 'production') {
6904
- // TODO [#1292]: Remove the readonly decorator
6905
- if (arguments.length !== 1) {
6906
- 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.');
6907
- }
6908
- }
6909
- return getReadOnlyProxy(obj);
6910
- }
6911
-
6912
6893
  /*
6913
6894
  * Copyright (c) 2022, salesforce.com, inc.
6914
6895
  * All rights reserved.
@@ -6963,15 +6944,44 @@ var LWC = (function (exports) {
6963
6944
  return renderer.nextSibling(hydratedNode);
6964
6945
  }
6965
6946
  var NODE_VALUE_PROP = 'nodeValue';
6947
+ var PARENT_NODE_PROP = 'parentNode';
6948
+ var TAG_NAME_PROP = 'tagName';
6949
+ function textNodeContentsAreEqual(node, vnode, renderer) {
6950
+ var getProperty = renderer.getProperty;
6951
+ var nodeValue = getProperty(node, NODE_VALUE_PROP);
6952
+ if (nodeValue === vnode.text) {
6953
+ return true;
6954
+ }
6955
+ // Special case for empty text nodes – these are serialized differently on the server
6956
+ // See https://github.com/salesforce/lwc/pull/2656
6957
+ if (nodeValue === "\u200D" && vnode.text === '') {
6958
+ return true;
6959
+ }
6960
+ // Special case for text nodes inside `<style>` tags – these are escaped when rendered server-size,
6961
+ // but not when generated by the engine client-side.
6962
+ var parentNode = getProperty(node, PARENT_NODE_PROP);
6963
+ // Should never be null, but just to be safe, we check.
6964
+ /* istanbul ignore else */
6965
+ if (!isNull(parentNode)) {
6966
+ var tagName = getProperty(parentNode, TAG_NAME_PROP);
6967
+ // If the tagName is STYLE, then the following condition should always be true.
6968
+ // The LWC compiler blocks using `<style>`s inside of templates, so it should be impossible
6969
+ // for component authors to render different `<style>` text content on the client and server.
6970
+ // But just to be safe, we check.
6971
+ /* istanbul ignore next */
6972
+ if (tagName === 'STYLE' && htmlEscape(vnode.text) === nodeValue) {
6973
+ return true;
6974
+ }
6975
+ }
6976
+ return false;
6977
+ }
6966
6978
  function hydrateText(node, vnode, renderer) {
6967
6979
  var _a;
6968
6980
  if (!hasCorrectNodeType(vnode, node, 3 /* EnvNodeTypes.TEXT */, renderer)) {
6969
6981
  return handleMismatch(node, vnode, renderer);
6970
6982
  }
6971
6983
  if (process.env.NODE_ENV !== 'production') {
6972
- var getProperty = renderer.getProperty;
6973
- var nodeValue = getProperty(node, NODE_VALUE_PROP);
6974
- if (nodeValue !== vnode.text && !(nodeValue === "\u200D" && vnode.text === '')) {
6984
+ if (!textNodeContentsAreEqual(node, vnode, renderer)) {
6975
6985
  logWarn('Hydration mismatch: text values do not match, will recover from the difference', vnode.owner);
6976
6986
  }
6977
6987
  }
@@ -7153,6 +7163,19 @@ var LWC = (function (exports) {
7153
7163
  var hasIncompatibleStyle = validateStyleAttr(vnode, elm, renderer);
7154
7164
  return hasIncompatibleAttrs && hasIncompatibleClass && hasIncompatibleStyle;
7155
7165
  }
7166
+ function attributeValuesAreEqual(vnodeValue, value) {
7167
+ var vnodeValueAsString = String(vnodeValue);
7168
+ if (vnodeValueAsString === value) {
7169
+ return true;
7170
+ }
7171
+ // If the expected value is null, this means that the attribute does not exist. In that case,
7172
+ // we accept any nullish value (undefined or null).
7173
+ if (isNull(value) && (isUndefined$1(vnodeValue) || isNull(vnodeValue))) {
7174
+ return true;
7175
+ }
7176
+ // In all other cases, the two values are not considered equal
7177
+ return false;
7178
+ }
7156
7179
  function validateAttrs(vnode, elm, renderer) {
7157
7180
  var _vnode$data$attrs = vnode.data.attrs,
7158
7181
  attrs = _vnode$data$attrs === void 0 ? {} : _vnode$data$attrs;
@@ -7166,10 +7189,10 @@ var LWC = (function (exports) {
7166
7189
  var owner = vnode.owner;
7167
7190
  var getAttribute = renderer.getAttribute;
7168
7191
  var elmAttrValue = getAttribute(elm, attrName);
7169
- if (String(attrValue) !== elmAttrValue) {
7192
+ if (!attributeValuesAreEqual(attrValue, elmAttrValue)) {
7170
7193
  if (process.env.NODE_ENV !== 'production') {
7171
7194
  var getProperty = renderer.getProperty;
7172
- logError("Mismatch hydrating element <".concat(getProperty(elm, 'tagName').toLowerCase(), ">: attribute \"").concat(attrName, "\" has different values, expected \"").concat(attrValue, "\" but found \"").concat(elmAttrValue, "\""), owner);
7195
+ logError("Mismatch hydrating element <".concat(getProperty(elm, 'tagName').toLowerCase(), ">: attribute \"").concat(attrName, "\" has different values, expected \"").concat(attrValue, "\" but found ").concat(isNull(elmAttrValue) ? 'null' : "\"".concat(elmAttrValue, "\"")), owner);
7173
7196
  }
7174
7197
  nodesAreCompatible = false;
7175
7198
  }
@@ -7590,7 +7613,28 @@ var LWC = (function (exports) {
7590
7613
  }
7591
7614
  return ctor;
7592
7615
  }
7593
- /* version: 2.37.2 */
7616
+
7617
+ /*
7618
+ * Copyright (c) 2018, salesforce.com, inc.
7619
+ * All rights reserved.
7620
+ * SPDX-License-Identifier: MIT
7621
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
7622
+ */
7623
+ /**
7624
+ * EXPERIMENTAL: This function allows you to create a reactive readonly
7625
+ * membrane around any object value. This API is subject to change or
7626
+ * being removed.
7627
+ */
7628
+ function readonly(obj) {
7629
+ if (process.env.NODE_ENV !== 'production') {
7630
+ // TODO [#1292]: Remove the readonly decorator
7631
+ if (arguments.length !== 1) {
7632
+ 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.');
7633
+ }
7634
+ }
7635
+ return getReadOnlyProxy(obj);
7636
+ }
7637
+ /* version: 2.38.0 */
7594
7638
 
7595
7639
  /*
7596
7640
  * Copyright (c) 2018, salesforce.com, inc.
@@ -7828,10 +7872,10 @@ var LWC = (function (exports) {
7828
7872
  // which are not equipped to be initialized that way.
7829
7873
  var clazz = /*#__PURE__*/function (_HTMLElementAlias) {
7830
7874
  _inherits(clazz, _HTMLElementAlias);
7831
- var _super5 = _createSuper(clazz);
7875
+ var _super4 = _createSuper(clazz);
7832
7876
  function clazz() {
7833
7877
  _classCallCheck(this, clazz);
7834
- return _super5.apply(this, arguments);
7878
+ return _super4.apply(this, arguments);
7835
7879
  }
7836
7880
  return _createClass(clazz);
7837
7881
  }(HTMLElementAlias);
@@ -7877,24 +7921,24 @@ var LWC = (function (exports) {
7877
7921
  // TODO [#2972]: this class should expose observedAttributes as necessary
7878
7922
  var UpgradableConstructor = /*#__PURE__*/function (_HTMLElement) {
7879
7923
  _inherits(UpgradableConstructor, _HTMLElement);
7880
- var _super6 = _createSuper(UpgradableConstructor);
7924
+ var _super5 = _createSuper(UpgradableConstructor);
7881
7925
  function UpgradableConstructor(upgradeCallback) {
7882
- var _this3;
7926
+ var _this2;
7883
7927
  _classCallCheck(this, UpgradableConstructor);
7884
- _this3 = _super6.call(this);
7928
+ _this2 = _super5.call(this);
7885
7929
  // If the element is not created using lwc.createElement(), e.g. `document.createElement('x-foo')`,
7886
7930
  // then elementBeingUpgraded will be false
7887
7931
  if (elementBeingUpgradedByLWC) {
7888
- upgradeCallback(_assertThisInitialized(_this3));
7932
+ upgradeCallback(_assertThisInitialized(_this2));
7889
7933
  } else if (hasConnectedCallback || hasDisconnectedCallback) {
7890
7934
  // If this element has connected or disconnected callbacks, then we need to keep track of
7891
7935
  // instances that were created outside LWC (i.e. not created by `lwc.createElement()`).
7892
7936
  // If the element has no connected or disconnected callbacks, then we don't need to track this.
7893
- elementsUpgradedOutsideLWC.add(_assertThisInitialized(_this3));
7937
+ elementsUpgradedOutsideLWC.add(_assertThisInitialized(_this2));
7894
7938
  // TODO [#2970]: LWC elements cannot be upgraded via new Ctor()
7895
7939
  // Do we want to support this? Throw an error? Currently for backwards compat it's a no-op.
7896
7940
  }
7897
- return _this3;
7941
+ return _this2;
7898
7942
  }
7899
7943
  return _createClass(UpgradableConstructor);
7900
7944
  }( /*#__PURE__*/_wrapNativeSuper(HTMLElement)); // Do not unnecessarily add a connectedCallback/disconnectedCallback, as it introduces perf overhead
@@ -8016,7 +8060,46 @@ var LWC = (function (exports) {
8016
8060
  function isNull(obj) {
8017
8061
  return obj === null;
8018
8062
  }
8019
- /** version: 2.37.2 */
8063
+ /** version: 2.38.0 */
8064
+
8065
+ /*
8066
+ * Copyright (c) 2023, salesforce.com, inc.
8067
+ * All rights reserved.
8068
+ * SPDX-License-Identifier: MIT
8069
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
8070
+ */
8071
+ var WireContextSubscriptionEvent = /*#__PURE__*/function (_CustomEvent) {
8072
+ _inherits(WireContextSubscriptionEvent, _CustomEvent);
8073
+ var _super6 = _createSuper(WireContextSubscriptionEvent);
8074
+ function WireContextSubscriptionEvent(adapterToken, _ref6) {
8075
+ var _this3;
8076
+ var setNewContext = _ref6.setNewContext,
8077
+ setDisconnectedCallback = _ref6.setDisconnectedCallback;
8078
+ _classCallCheck(this, WireContextSubscriptionEvent);
8079
+ _this3 = _super6.call(this, adapterToken, {
8080
+ bubbles: true,
8081
+ composed: true
8082
+ });
8083
+ _this3.setNewContext = setNewContext;
8084
+ _this3.setDisconnectedCallback = setDisconnectedCallback;
8085
+ return _this3;
8086
+ }
8087
+ return _createClass(WireContextSubscriptionEvent);
8088
+ }( /*#__PURE__*/_wrapNativeSuper(CustomEvent));
8089
+ function registerContextConsumer(elm, adapterContextToken, subscriptionPayload) {
8090
+ dispatchEvent(elm, new WireContextSubscriptionEvent(adapterContextToken, subscriptionPayload));
8091
+ }
8092
+ function registerContextProvider(elm, adapterContextToken, onContextSubscription) {
8093
+ addEventListener(elm, adapterContextToken, function (evt) {
8094
+ evt.stopImmediatePropagation();
8095
+ var setNewContext = evt.setNewContext,
8096
+ setDisconnectedCallback = evt.setDisconnectedCallback;
8097
+ onContextSubscription({
8098
+ setNewContext: setNewContext,
8099
+ setDisconnectedCallback: setDisconnectedCallback
8100
+ });
8101
+ });
8102
+ }
8020
8103
 
8021
8104
  /*
8022
8105
  * Copyright (c) 2018, salesforce.com, inc.
@@ -8198,6 +8281,9 @@ var LWC = (function (exports) {
8198
8281
  function assertInstanceOfHTMLElement(elm, msg) {
8199
8282
  assert.invariant(elm instanceof HTMLElement, msg);
8200
8283
  }
8284
+ function ownerDocument(element) {
8285
+ return element.ownerDocument;
8286
+ }
8201
8287
  exports.addEventListener = addEventListener;
8202
8288
  exports.assertInstanceOfHTMLElement = assertInstanceOfHTMLElement;
8203
8289
  exports.attachShadow = attachShadow;
@@ -8221,8 +8307,11 @@ var LWC = (function (exports) {
8221
8307
  exports.insert = insert;
8222
8308
  exports.isConnected = isConnected;
8223
8309
  exports.nextSibling = nextSibling;
8310
+ exports.ownerDocument = ownerDocument;
8224
8311
  exports.querySelector = querySelector;
8225
8312
  exports.querySelectorAll = querySelectorAll;
8313
+ exports.registerContextConsumer = registerContextConsumer;
8314
+ exports.registerContextProvider = registerContextProvider;
8226
8315
  exports.remove = remove;
8227
8316
  exports.removeAttribute = removeAttribute;
8228
8317
  exports.removeEventListener = removeEventListener;
@@ -8582,7 +8671,38 @@ var LWC = (function (exports) {
8582
8671
  });
8583
8672
  freeze(LightningElement);
8584
8673
  seal(LightningElement.prototype);
8585
- /* version: 2.37.2 */
8674
+
8675
+ /*
8676
+ * Copyright (c) 2018, salesforce.com, inc.
8677
+ * All rights reserved.
8678
+ * SPDX-License-Identifier: MIT
8679
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
8680
+ */
8681
+ function addEventListener(target, type, callback, options) {
8682
+ target.addEventListener(type, callback, options);
8683
+ }
8684
+
8685
+ /*
8686
+ * Copyright (c) 2023, salesforce.com, inc.
8687
+ * All rights reserved.
8688
+ * SPDX-License-Identifier: MIT
8689
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
8690
+ */
8691
+ function createContextProvider(adapter) {
8692
+ return createContextProviderWithRegister(adapter, registerContextProvider);
8693
+ }
8694
+ function registerContextProvider(elm, adapterContextToken, onContextSubscription) {
8695
+ addEventListener(elm, adapterContextToken, function (evt) {
8696
+ evt.stopImmediatePropagation();
8697
+ var setNewContext = evt.setNewContext,
8698
+ setDisconnectedCallback = evt.setDisconnectedCallback;
8699
+ onContextSubscription({
8700
+ setNewContext: setNewContext,
8701
+ setDisconnectedCallback: setDisconnectedCallback
8702
+ });
8703
+ });
8704
+ }
8705
+ /* version: 2.38.0 */
8586
8706
 
8587
8707
  exports.LightningElement = LightningElement;
8588
8708
  exports.__unstable__ProfilerControl = profilerControl;
@@ -8620,3 +8740,4 @@ var LWC = (function (exports) {
8620
8740
  return exports;
8621
8741
 
8622
8742
  })({});
8743
+ //# sourceMappingURL=engine-dom.js.map