lwc 2.45.1 → 2.45.3
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.
- package/dist/engine-dom/esm/es2017/engine-dom.js +101 -60
- package/dist/engine-dom/esm/es2017/engine-dom.js.map +1 -1
- package/dist/engine-dom/iife/es2017/engine-dom.js +101 -60
- package/dist/engine-dom/iife/es2017/engine-dom.js.map +1 -1
- package/dist/engine-dom/iife/es2017/engine-dom.min.js +1 -1
- package/dist/engine-dom/iife/es2017/engine-dom_debug.js +110 -58
- package/dist/engine-dom/iife/es2017/engine-dom_debug.js.map +1 -1
- package/dist/engine-dom/iife/es5/engine-dom.js +114 -62
- package/dist/engine-dom/iife/es5/engine-dom.js.map +1 -1
- package/dist/engine-dom/iife/es5/engine-dom.min.js +1 -1
- package/dist/engine-dom/iife/es5/engine-dom_debug.js +123 -60
- package/dist/engine-dom/iife/es5/engine-dom_debug.js.map +1 -1
- package/dist/engine-dom/umd/es2017/engine-dom.js +101 -60
- package/dist/engine-dom/umd/es2017/engine-dom.js.map +1 -1
- package/dist/engine-dom/umd/es2017/engine-dom.min.js +1 -1
- package/dist/engine-dom/umd/es2017/engine-dom_debug.js +110 -58
- package/dist/engine-dom/umd/es2017/engine-dom_debug.js.map +1 -1
- package/dist/engine-dom/umd/es5/engine-dom.js +114 -62
- package/dist/engine-dom/umd/es5/engine-dom.js.map +1 -1
- package/dist/engine-dom/umd/es5/engine-dom.min.js +1 -1
- package/dist/engine-dom/umd/es5/engine-dom_debug.js +123 -60
- package/dist/engine-dom/umd/es5/engine-dom_debug.js.map +1 -1
- package/dist/engine-server/commonjs/es2017/engine-server.js +7796 -92
- package/dist/engine-server/commonjs/es2017/engine-server.js.map +1 -1
- package/dist/engine-server/commonjs/es2017/engine-server.min.js +1 -1
- package/dist/engine-server/esm/es2017/engine-server.js +7795 -72
- package/dist/engine-server/esm/es2017/engine-server.js.map +1 -1
- package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +72 -13
- package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js.map +1 -1
- package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +72 -13
- package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js.map +1 -1
- package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.min.js +40 -2
- package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +56 -6
- package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js.map +1 -1
- package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +71 -12
- package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js.map +1 -1
- package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js +39 -1
- package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +43 -4
- package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js.map +1 -1
- package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +72 -13
- package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js.map +1 -1
- package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js +40 -2
- package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +56 -6
- package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js.map +1 -1
- package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +71 -12
- package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js.map +1 -1
- package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js +39 -1
- package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +43 -4
- package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js.map +1 -1
- package/dist/wire-service/esm/es2017/wire-service.js +10 -4
- package/dist/wire-service/esm/es2017/wire-service.js.map +1 -1
- package/dist/wire-service/iife/es2017/wire-service.js +10 -4
- package/dist/wire-service/iife/es2017/wire-service.js.map +1 -1
- package/dist/wire-service/iife/es2017/wire-service_debug.js +10 -4
- package/dist/wire-service/iife/es2017/wire-service_debug.js.map +1 -1
- package/dist/wire-service/iife/es5/wire-service.js +10 -4
- package/dist/wire-service/iife/es5/wire-service.js.map +1 -1
- package/dist/wire-service/iife/es5/wire-service_debug.js +10 -4
- package/dist/wire-service/iife/es5/wire-service_debug.js.map +1 -1
- package/dist/wire-service/umd/es2017/wire-service.js +10 -4
- package/dist/wire-service/umd/es2017/wire-service.js.map +1 -1
- package/dist/wire-service/umd/es2017/wire-service_debug.js +10 -4
- package/dist/wire-service/umd/es2017/wire-service_debug.js.map +1 -1
- package/dist/wire-service/umd/es5/wire-service.js +10 -4
- package/dist/wire-service/umd/es5/wire-service.js.map +1 -1
- package/dist/wire-service/umd/es5/wire-service_debug.js +10 -4
- package/dist/wire-service/umd/es5/wire-service_debug.js.map +1 -1
- package/package.json +7 -7
|
@@ -32,9 +32,11 @@
|
|
|
32
32
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
33
33
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
34
34
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
35
|
-
/* proxy-compat-disable */
|
|
36
35
|
/**
|
|
37
|
-
* Copyright (C)
|
|
36
|
+
* Copyright (C) 2023 salesforce.com, inc.
|
|
37
|
+
*/
|
|
38
|
+
/**
|
|
39
|
+
* Copyright (C) 2023 salesforce.com, inc.
|
|
38
40
|
*/
|
|
39
41
|
/*
|
|
40
42
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -90,8 +92,10 @@
|
|
|
90
92
|
var isArray$1 = Array.isArray;
|
|
91
93
|
var _Array$prototype = Array.prototype,
|
|
92
94
|
ArrayCopyWithin = _Array$prototype.copyWithin,
|
|
95
|
+
ArrayEvery = _Array$prototype.every,
|
|
93
96
|
ArrayFill = _Array$prototype.fill,
|
|
94
97
|
ArrayFilter = _Array$prototype.filter,
|
|
98
|
+
ArrayIncludes = _Array$prototype.includes,
|
|
95
99
|
ArrayIndexOf = _Array$prototype.indexOf,
|
|
96
100
|
ArrayJoin = _Array$prototype.join,
|
|
97
101
|
ArrayMap = _Array$prototype.map,
|
|
@@ -104,6 +108,15 @@
|
|
|
104
108
|
ArraySplice = _Array$prototype.splice,
|
|
105
109
|
ArrayUnshift = _Array$prototype.unshift,
|
|
106
110
|
forEach = _Array$prototype.forEach;
|
|
111
|
+
// The type of the return value of Array.prototype.every is `this is T[]`. However, once this
|
|
112
|
+
// Array method is pulled out of the prototype, the function is now referencing `this` where
|
|
113
|
+
// `this` is meaningless, resulting in a TypeScript compilation error.
|
|
114
|
+
//
|
|
115
|
+
// Exposing this helper function is the closest we can get to preserving the usage patterns
|
|
116
|
+
// of Array.prototype methods used elsewhere in the codebase.
|
|
117
|
+
function arrayEvery(arr, predicate) {
|
|
118
|
+
return ArrayEvery.call(arr, predicate);
|
|
119
|
+
}
|
|
107
120
|
var StringFromCharCode = String.fromCharCode;
|
|
108
121
|
var _String$prototype = String.prototype,
|
|
109
122
|
StringCharCodeAt = _String$prototype.charCodeAt,
|
|
@@ -203,7 +216,7 @@
|
|
|
203
216
|
AriaPropNameToAttrNameMap = _ref.AriaPropNameToAttrNameMap;
|
|
204
217
|
// These attributes take either an ID or a list of IDs as values.
|
|
205
218
|
// This includes aria-* attributes as well as the special non-ARIA "for" attribute
|
|
206
|
-
var ID_REFERENCING_ATTRIBUTES_SET = new Set(['aria-activedescendant', 'aria-controls', 'aria-describedby', 'aria-details', 'aria-errormessage', 'aria-flowto', 'aria-labelledby', 'aria-owns', 'for']);
|
|
219
|
+
var ID_REFERENCING_ATTRIBUTES_SET = /*@__PURE__*/new Set(['aria-activedescendant', 'aria-controls', 'aria-describedby', 'aria-details', 'aria-errormessage', 'aria-flowto', 'aria-labelledby', 'aria-owns', 'for']);
|
|
207
220
|
|
|
208
221
|
/*
|
|
209
222
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -266,11 +279,11 @@
|
|
|
266
279
|
/**
|
|
267
280
|
* Map associating previously transformed HTML property into HTML attribute.
|
|
268
281
|
*/
|
|
269
|
-
var CACHED_PROPERTY_ATTRIBUTE_MAPPING = new Map();
|
|
282
|
+
var CACHED_PROPERTY_ATTRIBUTE_MAPPING = /*@__PURE__@*/new Map();
|
|
270
283
|
/**
|
|
271
284
|
* Map associating previously transformed HTML attribute into HTML property.
|
|
272
285
|
*/
|
|
273
|
-
var CACHED_ATTRIBUTE_PROPERTY_MAPPING = new Map();
|
|
286
|
+
var CACHED_ATTRIBUTE_PROPERTY_MAPPING = /*@__PURE__@*/new Map();
|
|
274
287
|
function htmlPropertyToAttribute(propName) {
|
|
275
288
|
var ariaAttributeName = AriaPropNameToAttrNameMap[propName];
|
|
276
289
|
if (!isUndefined$1(ariaAttributeName)) {
|
|
@@ -318,10 +331,10 @@
|
|
|
318
331
|
CACHED_ATTRIBUTE_PROPERTY_MAPPING.set(attrName, propertyName);
|
|
319
332
|
return propertyName;
|
|
320
333
|
}
|
|
321
|
-
/** version: 2.45.
|
|
334
|
+
/** version: 2.45.3 */
|
|
322
335
|
|
|
323
336
|
/**
|
|
324
|
-
* Copyright (C)
|
|
337
|
+
* Copyright (C) 2023 salesforce.com, inc.
|
|
325
338
|
*/
|
|
326
339
|
|
|
327
340
|
/*
|
|
@@ -389,10 +402,10 @@
|
|
|
389
402
|
*/
|
|
390
403
|
function setFeatureFlagForTest(name, value) {
|
|
391
404
|
}
|
|
392
|
-
/** version: 2.45.
|
|
405
|
+
/** version: 2.45.3 */
|
|
393
406
|
|
|
394
407
|
/**
|
|
395
|
-
* Copyright (C)
|
|
408
|
+
* Copyright (C) 2023 salesforce.com, inc.
|
|
396
409
|
*/
|
|
397
410
|
|
|
398
411
|
/*
|
|
@@ -453,7 +466,7 @@
|
|
|
453
466
|
}
|
|
454
467
|
}
|
|
455
468
|
}
|
|
456
|
-
/** version: 2.45.
|
|
469
|
+
/** version: 2.45.3 */
|
|
457
470
|
|
|
458
471
|
/*
|
|
459
472
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -467,7 +480,9 @@
|
|
|
467
480
|
applyAriaReflection();
|
|
468
481
|
}
|
|
469
482
|
|
|
470
|
-
|
|
483
|
+
/**
|
|
484
|
+
* Copyright (C) 2023 salesforce.com, inc.
|
|
485
|
+
*/
|
|
471
486
|
|
|
472
487
|
/*
|
|
473
488
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -614,6 +629,9 @@
|
|
|
614
629
|
function logError(message, vm) {
|
|
615
630
|
log('error', message, vm, false);
|
|
616
631
|
}
|
|
632
|
+
function logWarn(message, vm) {
|
|
633
|
+
log('warn', message, vm, false);
|
|
634
|
+
}
|
|
617
635
|
|
|
618
636
|
/*
|
|
619
637
|
* Copyright (c) 2019, salesforce.com, inc.
|
|
@@ -888,19 +906,6 @@
|
|
|
888
906
|
*/
|
|
889
907
|
// These properties get added to LWCElement.prototype publicProps automatically
|
|
890
908
|
var defaultDefHTMLPropertyNames = ['accessKey', 'dir', 'draggable', 'hidden', 'id', 'lang', 'spellcheck', 'tabIndex', 'title'];
|
|
891
|
-
var controlledElement = null;
|
|
892
|
-
var controlledAttributeName;
|
|
893
|
-
function isAttributeLocked(elm, attrName) {
|
|
894
|
-
return elm !== controlledElement || attrName !== controlledAttributeName;
|
|
895
|
-
}
|
|
896
|
-
function lockAttribute(_elm, _key) {
|
|
897
|
-
controlledElement = null;
|
|
898
|
-
controlledAttributeName = undefined;
|
|
899
|
-
}
|
|
900
|
-
function unlockAttribute(elm, key) {
|
|
901
|
-
controlledElement = elm;
|
|
902
|
-
controlledAttributeName = key;
|
|
903
|
-
}
|
|
904
909
|
|
|
905
910
|
/*
|
|
906
911
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -1516,6 +1521,14 @@
|
|
|
1516
1521
|
* SPDX-License-Identifier: MIT
|
|
1517
1522
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
1518
1523
|
*/
|
|
1524
|
+
/**
|
|
1525
|
+
* This module is responsible for producing the ComponentDef object that is always
|
|
1526
|
+
* accessible via `vm.def`. This is lazily created during the creation of the first
|
|
1527
|
+
* instance of a component class, and shared across all instances.
|
|
1528
|
+
*
|
|
1529
|
+
* This structure can be used to synthetically create proxies, and understand the
|
|
1530
|
+
* shape of a component. It is also used internally to apply extra optimizations.
|
|
1531
|
+
*/
|
|
1519
1532
|
/**
|
|
1520
1533
|
* This operation is called with a descriptor of an standard html property
|
|
1521
1534
|
* that a Custom Element can support (including AOM properties), which
|
|
@@ -1646,17 +1659,13 @@
|
|
|
1646
1659
|
var vm = getAssociatedVM(this);
|
|
1647
1660
|
var elm = vm.elm,
|
|
1648
1661
|
removeAttribute = vm.renderer.removeAttribute;
|
|
1649
|
-
unlockAttribute(elm, name);
|
|
1650
1662
|
removeAttribute(elm, name);
|
|
1651
|
-
lockAttribute();
|
|
1652
1663
|
},
|
|
1653
1664
|
removeAttributeNS: function removeAttributeNS(namespace, name) {
|
|
1654
1665
|
var _getAssociatedVM = getAssociatedVM(this),
|
|
1655
1666
|
elm = _getAssociatedVM.elm,
|
|
1656
1667
|
removeAttribute = _getAssociatedVM.renderer.removeAttribute;
|
|
1657
|
-
unlockAttribute(elm, name);
|
|
1658
1668
|
removeAttribute(elm, name, namespace);
|
|
1659
|
-
lockAttribute();
|
|
1660
1669
|
},
|
|
1661
1670
|
getAttribute: function getAttribute(name) {
|
|
1662
1671
|
var vm = getAssociatedVM(this);
|
|
@@ -1674,17 +1683,13 @@
|
|
|
1674
1683
|
var vm = getAssociatedVM(this);
|
|
1675
1684
|
var elm = vm.elm,
|
|
1676
1685
|
setAttribute = vm.renderer.setAttribute;
|
|
1677
|
-
unlockAttribute(elm, name);
|
|
1678
1686
|
setAttribute(elm, name, value);
|
|
1679
|
-
lockAttribute();
|
|
1680
1687
|
},
|
|
1681
1688
|
setAttributeNS: function setAttributeNS(namespace, name, value) {
|
|
1682
1689
|
var vm = getAssociatedVM(this);
|
|
1683
1690
|
var elm = vm.elm,
|
|
1684
1691
|
setAttribute = vm.renderer.setAttribute;
|
|
1685
|
-
unlockAttribute(elm, name);
|
|
1686
1692
|
setAttribute(elm, name, value, namespace);
|
|
1687
|
-
lockAttribute();
|
|
1688
1693
|
},
|
|
1689
1694
|
getBoundingClientRect: function getBoundingClientRect() {
|
|
1690
1695
|
var vm = getAssociatedVM(this);
|
|
@@ -2017,7 +2022,9 @@
|
|
|
2017
2022
|
});
|
|
2018
2023
|
runWithBoundaryProtection(vm, vm, noop, function () {
|
|
2019
2024
|
// job
|
|
2020
|
-
connector = new adapter(dataCallback
|
|
2025
|
+
connector = new adapter(dataCallback, {
|
|
2026
|
+
tagName: vm.tagName
|
|
2027
|
+
});
|
|
2021
2028
|
}, noop);
|
|
2022
2029
|
var updateConnectorConfig = function updateConnectorConfig(config) {
|
|
2023
2030
|
// every time the config is recomputed due to tracking,
|
|
@@ -2402,6 +2409,10 @@
|
|
|
2402
2409
|
* SPDX-License-Identifier: MIT
|
|
2403
2410
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
2404
2411
|
*/
|
|
2412
|
+
/**
|
|
2413
|
+
* This module is responsible for creating the base bridge class BaseBridgeElement
|
|
2414
|
+
* that represents the HTMLElement extension used for any LWC inserted in the DOM.
|
|
2415
|
+
*/
|
|
2405
2416
|
// A bridge descriptor is a descriptor whose job is just to get the component instance
|
|
2406
2417
|
// from the element instance, and get the value or set a new value on the component.
|
|
2407
2418
|
// This means that across different elements, similar names can get the exact same
|
|
@@ -2456,14 +2467,6 @@
|
|
|
2456
2467
|
}
|
|
2457
2468
|
return;
|
|
2458
2469
|
}
|
|
2459
|
-
if (!isAttributeLocked(this, attrName)) {
|
|
2460
|
-
// Ignore changes triggered by the engine itself during:
|
|
2461
|
-
// * diffing when public props are attempting to reflect to the DOM
|
|
2462
|
-
// * component via `this.setAttribute()`, should never update the prop
|
|
2463
|
-
// Both cases, the setAttribute call is always wrapped by the unlocking of the
|
|
2464
|
-
// attribute to be changed
|
|
2465
|
-
return;
|
|
2466
|
-
}
|
|
2467
2470
|
// Reflect attribute change to the corresponding property when changed from outside.
|
|
2468
2471
|
this[propName] = newValue;
|
|
2469
2472
|
};
|
|
@@ -2682,6 +2685,15 @@
|
|
|
2682
2685
|
return ModernWeakMultiMap;
|
|
2683
2686
|
}();
|
|
2684
2687
|
var WeakMultiMap = supportsWeakRefs ? ModernWeakMultiMap : LegacyWeakMultiMap;
|
|
2688
|
+
|
|
2689
|
+
/*
|
|
2690
|
+
* Copyright (c) 2020, salesforce.com, inc.
|
|
2691
|
+
* All rights reserved.
|
|
2692
|
+
* SPDX-License-Identifier: MIT
|
|
2693
|
+
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
2694
|
+
*/
|
|
2695
|
+
new WeakMap();
|
|
2696
|
+
new WeakMap();
|
|
2685
2697
|
var swappedStyleMap = new WeakMap();
|
|
2686
2698
|
// The important thing here is the weak values – VMs are transient (one per component instance) and should be GC'ed,
|
|
2687
2699
|
// so we don't want to create strong references to them.
|
|
@@ -2752,6 +2764,14 @@
|
|
|
2752
2764
|
* SPDX-License-Identifier: MIT
|
|
2753
2765
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
2754
2766
|
*/
|
|
2767
|
+
/**
|
|
2768
|
+
* This module is responsible for producing the ComponentDef object that is always
|
|
2769
|
+
* accessible via `vm.def`. This is lazily created during the creation of the first
|
|
2770
|
+
* instance of a component class, and shared across all instances.
|
|
2771
|
+
*
|
|
2772
|
+
* This structure can be used to synthetically create proxies, and understand the
|
|
2773
|
+
* shape of a component. It is also used internally to apply extra optimizations.
|
|
2774
|
+
*/
|
|
2755
2775
|
var CtorToDefMap = new WeakMap();
|
|
2756
2776
|
function getCtorProto(Ctor) {
|
|
2757
2777
|
var proto = getPrototypeOf$1(Ctor);
|
|
@@ -2923,9 +2943,9 @@
|
|
|
2923
2943
|
};
|
|
2924
2944
|
}
|
|
2925
2945
|
var publicMethods = {};
|
|
2926
|
-
for (var
|
|
2946
|
+
for (var _key in methods) {
|
|
2927
2947
|
// avoid leaking the reference to the public method descriptors
|
|
2928
|
-
publicMethods[
|
|
2948
|
+
publicMethods[_key] = methods[_key].value;
|
|
2929
2949
|
}
|
|
2930
2950
|
return {
|
|
2931
2951
|
ctor: ctor,
|
|
@@ -3176,7 +3196,6 @@
|
|
|
3176
3196
|
var cur = attrs[key];
|
|
3177
3197
|
var old = oldAttrs[key];
|
|
3178
3198
|
if (old !== cur) {
|
|
3179
|
-
unlockAttribute(elm, key);
|
|
3180
3199
|
if (StringCharCodeAt.call(key, 3) === ColonCharCode$1) {
|
|
3181
3200
|
// Assume xml namespace
|
|
3182
3201
|
setAttribute(elm, key, cur, XML_NAMESPACE);
|
|
@@ -3188,7 +3207,6 @@
|
|
|
3188
3207
|
} else {
|
|
3189
3208
|
setAttribute(elm, key, cur);
|
|
3190
3209
|
}
|
|
3191
|
-
lockAttribute();
|
|
3192
3210
|
}
|
|
3193
3211
|
}
|
|
3194
3212
|
}
|
|
@@ -4598,8 +4616,8 @@
|
|
|
4598
4616
|
}
|
|
4599
4617
|
function buildParseFragmentFn(createFragmentFn) {
|
|
4600
4618
|
return function (strings) {
|
|
4601
|
-
for (var _len3 = arguments.length, keys = new Array(_len3 > 1 ? _len3 - 1 : 0),
|
|
4602
|
-
keys[
|
|
4619
|
+
for (var _len3 = arguments.length, keys = new Array(_len3 > 1 ? _len3 - 1 : 0), _key2 = 1; _key2 < _len3; _key2++) {
|
|
4620
|
+
keys[_key2 - 1] = arguments[_key2];
|
|
4603
4621
|
}
|
|
4604
4622
|
var cache = create(null);
|
|
4605
4623
|
return function () {
|
|
@@ -5709,6 +5727,35 @@
|
|
|
5709
5727
|
return renderer.nextSibling(hydratedNode);
|
|
5710
5728
|
}
|
|
5711
5729
|
var NODE_VALUE_PROP = 'nodeValue';
|
|
5730
|
+
// The validationOptOut static property can be an array of attribute names.
|
|
5731
|
+
// Any attribute names specified in that array will not be validated, and the
|
|
5732
|
+
// LWC runtime will assume that VDOM attrs and DOM attrs are in sync.
|
|
5733
|
+
function getValidationPredicate(optOutStaticProp) {
|
|
5734
|
+
if (isUndefined$1(optOutStaticProp)) {
|
|
5735
|
+
return function (_attrName) {
|
|
5736
|
+
return true;
|
|
5737
|
+
};
|
|
5738
|
+
}
|
|
5739
|
+
// If validationOptOut is true, no attributes will be checked for correctness
|
|
5740
|
+
// and the runtime will assume VDOM attrs and DOM attrs are in sync.
|
|
5741
|
+
if (isTrue(optOutStaticProp)) {
|
|
5742
|
+
return function (_attrName) {
|
|
5743
|
+
return false;
|
|
5744
|
+
};
|
|
5745
|
+
}
|
|
5746
|
+
// If validationOptOut is an array of strings, attributes specified in the
|
|
5747
|
+
// array will be "opted out". Attributes not specified in the array will still
|
|
5748
|
+
// be validated.
|
|
5749
|
+
if (isArray$1(optOutStaticProp) && arrayEvery(optOutStaticProp, isString)) {
|
|
5750
|
+
return function (attrName) {
|
|
5751
|
+
return !ArrayIncludes.call(optOutStaticProp, attrName);
|
|
5752
|
+
};
|
|
5753
|
+
}
|
|
5754
|
+
logWarn('Validation opt out must be `true` or an array of attributes that should not be validated.');
|
|
5755
|
+
return function (_attrName) {
|
|
5756
|
+
return true;
|
|
5757
|
+
};
|
|
5758
|
+
}
|
|
5712
5759
|
function hydrateText(node, vnode, renderer) {
|
|
5713
5760
|
var _a;
|
|
5714
5761
|
if (!hasCorrectNodeType(vnode, node, 3 /* EnvNodeTypes.TEXT */, renderer)) {
|
|
@@ -5772,7 +5819,18 @@
|
|
|
5772
5819
|
return elm;
|
|
5773
5820
|
}
|
|
5774
5821
|
function hydrateCustomElement(elm, vnode, renderer) {
|
|
5775
|
-
|
|
5822
|
+
var validationOptOut = vnode.ctor.validationOptOut;
|
|
5823
|
+
var shouldValidateAttr = getValidationPredicate(validationOptOut);
|
|
5824
|
+
// The validationOptOut static property can be an array of attribute names.
|
|
5825
|
+
// Any attribute names specified in that array will not be validated, and the
|
|
5826
|
+
// LWC runtime will assume that VDOM attrs and DOM attrs are in sync.
|
|
5827
|
+
//
|
|
5828
|
+
// If validationOptOut is true, no attributes will be checked for correctness
|
|
5829
|
+
// and the runtime will assume VDOM attrs and DOM attrs are in sync.
|
|
5830
|
+
//
|
|
5831
|
+
// Therefore, if validationOptOut is falsey or an array of strings, we need to
|
|
5832
|
+
// examine some or all of the custom element's attributes.
|
|
5833
|
+
if (!hasCorrectNodeType(vnode, elm, 1 /* EnvNodeTypes.ELEMENT */, renderer) || !isMatchingElement(vnode, elm, renderer, shouldValidateAttr)) {
|
|
5776
5834
|
return handleMismatch(elm, vnode, renderer);
|
|
5777
5835
|
}
|
|
5778
5836
|
var sel = vnode.sel,
|
|
@@ -5801,18 +5859,16 @@
|
|
|
5801
5859
|
}
|
|
5802
5860
|
function hydrateChildren(node, children, parentNode, owner) {
|
|
5803
5861
|
var nextNode = node;
|
|
5804
|
-
var anchor = null;
|
|
5805
5862
|
var renderer = owner.renderer;
|
|
5806
5863
|
for (var _i36 = 0; _i36 < children.length; _i36++) {
|
|
5807
5864
|
var childVnode = children[_i36];
|
|
5808
5865
|
if (!isNull(childVnode)) {
|
|
5809
5866
|
if (nextNode) {
|
|
5810
5867
|
nextNode = hydrateNode(nextNode, childVnode, renderer);
|
|
5811
|
-
anchor = childVnode.elm;
|
|
5812
5868
|
} else {
|
|
5813
5869
|
hasMismatch = true;
|
|
5814
|
-
mount(childVnode, parentNode, renderer,
|
|
5815
|
-
|
|
5870
|
+
mount(childVnode, parentNode, renderer, nextNode);
|
|
5871
|
+
nextNode = renderer.nextSibling(childVnode.elm);
|
|
5816
5872
|
}
|
|
5817
5873
|
}
|
|
5818
5874
|
}
|
|
@@ -5850,14 +5906,17 @@
|
|
|
5850
5906
|
return true;
|
|
5851
5907
|
}
|
|
5852
5908
|
function isMatchingElement(vnode, elm, renderer) {
|
|
5909
|
+
var shouldValidateAttr = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {
|
|
5910
|
+
return true;
|
|
5911
|
+
};
|
|
5853
5912
|
var getProperty = renderer.getProperty;
|
|
5854
5913
|
if (vnode.sel.toLowerCase() !== getProperty(elm, 'tagName').toLowerCase()) {
|
|
5855
5914
|
return false;
|
|
5856
5915
|
}
|
|
5857
|
-
var
|
|
5858
|
-
var
|
|
5859
|
-
var
|
|
5860
|
-
return
|
|
5916
|
+
var hasCompatibleAttrs = validateAttrs(vnode, elm, renderer, shouldValidateAttr);
|
|
5917
|
+
var hasCompatibleClass = shouldValidateAttr('class') ? validateClassAttr(vnode, elm, renderer) : true;
|
|
5918
|
+
var hasCompatibleStyle = shouldValidateAttr('style') ? validateStyleAttr(vnode, elm, renderer) : true;
|
|
5919
|
+
return hasCompatibleAttrs && hasCompatibleClass && hasCompatibleStyle;
|
|
5861
5920
|
}
|
|
5862
5921
|
function attributeValuesAreEqual(vnodeValue, value) {
|
|
5863
5922
|
var vnodeValueAsString = String(vnodeValue);
|
|
@@ -5872,7 +5931,7 @@
|
|
|
5872
5931
|
// In all other cases, the two values are not considered equal
|
|
5873
5932
|
return false;
|
|
5874
5933
|
}
|
|
5875
|
-
function validateAttrs(vnode, elm, renderer) {
|
|
5934
|
+
function validateAttrs(vnode, elm, renderer, shouldValidateAttr) {
|
|
5876
5935
|
var _vnode$data$attrs = vnode.data.attrs,
|
|
5877
5936
|
attrs = _vnode$data$attrs === void 0 ? {} : _vnode$data$attrs;
|
|
5878
5937
|
var nodesAreCompatible = true;
|
|
@@ -5882,6 +5941,9 @@
|
|
|
5882
5941
|
var _Object$entries$_i = _slicedToArray(_Object$entries[_i37], 2),
|
|
5883
5942
|
attrName = _Object$entries$_i[0],
|
|
5884
5943
|
attrValue = _Object$entries$_i[1];
|
|
5944
|
+
if (!shouldValidateAttr(attrName)) {
|
|
5945
|
+
continue;
|
|
5946
|
+
}
|
|
5885
5947
|
vnode.owner;
|
|
5886
5948
|
var getAttribute = renderer.getAttribute;
|
|
5887
5949
|
var elmAttrValue = getAttribute(elm, attrName);
|
|
@@ -6472,6 +6534,7 @@
|
|
|
6472
6534
|
* SPDX-License-Identifier: MIT
|
|
6473
6535
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
6474
6536
|
*/
|
|
6537
|
+
new WeakMap();
|
|
6475
6538
|
// Creates a custom element for compat (legacy) browser environments
|
|
6476
6539
|
var createCustomElementCompat = function createCustomElementCompat(tagName, upgradeCallback) {
|
|
6477
6540
|
var elm = document.createElement(tagName);
|
|
@@ -6599,7 +6662,7 @@
|
|
|
6599
6662
|
function rendererFactory(baseRenderer) {
|
|
6600
6663
|
var renderer = function (exports) {
|
|
6601
6664
|
/**
|
|
6602
|
-
* Copyright (C)
|
|
6665
|
+
* Copyright (C) 2023 salesforce.com, inc.
|
|
6603
6666
|
*/
|
|
6604
6667
|
/*
|
|
6605
6668
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -6638,7 +6701,7 @@
|
|
|
6638
6701
|
function isNull(obj) {
|
|
6639
6702
|
return obj === null;
|
|
6640
6703
|
}
|
|
6641
|
-
/** version: 2.45.
|
|
6704
|
+
/** version: 2.45.3 */
|
|
6642
6705
|
|
|
6643
6706
|
/*
|
|
6644
6707
|
* Copyright (c) 2023, salesforce.com, inc.
|
|
@@ -7273,7 +7336,7 @@
|
|
|
7273
7336
|
});
|
|
7274
7337
|
});
|
|
7275
7338
|
}
|
|
7276
|
-
|
|
7339
|
+
/** version: 2.45.3 */
|
|
7277
7340
|
|
|
7278
7341
|
exports.LightningElement = LightningElement;
|
|
7279
7342
|
exports.__unstable__ProfilerControl = profilerControl;
|