lwc 2.35.0 → 2.35.2
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 +61 -134
- package/dist/engine-dom/iife/es2017/engine-dom.js +61 -134
- package/dist/engine-dom/iife/es2017/engine-dom.min.js +1 -1
- package/dist/engine-dom/iife/es2017/engine-dom_debug.js +100 -74
- package/dist/engine-dom/iife/es5/engine-dom.js +249 -327
- package/dist/engine-dom/iife/es5/engine-dom.min.js +1 -1
- package/dist/engine-dom/iife/es5/engine-dom_debug.js +266 -244
- package/dist/engine-dom/umd/es2017/engine-dom.js +61 -134
- package/dist/engine-dom/umd/es2017/engine-dom.min.js +1 -1
- package/dist/engine-dom/umd/es2017/engine-dom_debug.js +100 -74
- package/dist/engine-dom/umd/es5/engine-dom.js +249 -327
- package/dist/engine-dom/umd/es5/engine-dom.min.js +1 -1
- package/dist/engine-dom/umd/es5/engine-dom_debug.js +266 -244
- package/dist/engine-server/commonjs/es2017/engine-server.js +47 -136
- package/dist/engine-server/commonjs/es2017/engine-server.min.js +1 -1
- package/dist/engine-server/esm/es2017/engine-server.js +47 -136
- package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +11 -42
- package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +11 -42
- package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.min.js +2 -2
- package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +8 -38
- package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +15 -44
- package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js +2 -2
- package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +12 -40
- package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +11 -42
- package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js +2 -2
- package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +8 -38
- package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +15 -44
- package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js +2 -2
- package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +12 -40
- package/dist/wire-service/esm/es2017/wire-service.js +2 -2
- package/dist/wire-service/iife/es2017/wire-service.js +2 -2
- package/dist/wire-service/iife/es2017/wire-service_debug.js +2 -2
- package/dist/wire-service/iife/es5/wire-service.js +2 -2
- package/dist/wire-service/iife/es5/wire-service_debug.js +2 -2
- package/dist/wire-service/umd/es2017/wire-service.js +2 -2
- package/dist/wire-service/umd/es2017/wire-service_debug.js +2 -2
- package/dist/wire-service/umd/es5/wire-service.js +2 -2
- package/dist/wire-service/umd/es5/wire-service_debug.js +2 -2
- package/package.json +7 -7
|
@@ -35,10 +35,10 @@
|
|
|
35
35
|
|
|
36
36
|
var assert = /*#__PURE__*/Object.freeze({
|
|
37
37
|
__proto__: null,
|
|
38
|
+
fail: fail,
|
|
38
39
|
invariant: invariant,
|
|
39
|
-
isTrue: isTrue$1,
|
|
40
40
|
isFalse: isFalse$1,
|
|
41
|
-
|
|
41
|
+
isTrue: isTrue$1
|
|
42
42
|
});
|
|
43
43
|
|
|
44
44
|
/*
|
|
@@ -208,41 +208,11 @@
|
|
|
208
208
|
* SPDX-License-Identifier: MIT
|
|
209
209
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
210
210
|
*/
|
|
211
|
-
//
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
}
|
|
217
|
-
let _globalThis;
|
|
218
|
-
try {
|
|
219
|
-
// eslint-disable-next-line no-extend-native
|
|
220
|
-
Object.defineProperty(Object.prototype, '__magic__', {
|
|
221
|
-
get: function () {
|
|
222
|
-
return this;
|
|
223
|
-
},
|
|
224
|
-
configurable: true,
|
|
225
|
-
});
|
|
226
|
-
// __magic__ is undefined in Safari 10 and IE10 and older.
|
|
227
|
-
// @ts-ignore
|
|
228
|
-
// eslint-disable-next-line no-undef
|
|
229
|
-
_globalThis = __magic__;
|
|
230
|
-
// @ts-ignore
|
|
231
|
-
delete Object.prototype.__magic__;
|
|
232
|
-
}
|
|
233
|
-
catch (ex) {
|
|
234
|
-
// In IE8, Object.defineProperty only works on DOM objects.
|
|
235
|
-
}
|
|
236
|
-
finally {
|
|
237
|
-
// If the magic above fails for some reason we assume that we are in a legacy browser.
|
|
238
|
-
// Assume `window` exists in this case.
|
|
239
|
-
if (typeof _globalThis === 'undefined') {
|
|
240
|
-
// @ts-ignore
|
|
241
|
-
_globalThis = window;
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
return _globalThis;
|
|
245
|
-
})();
|
|
211
|
+
// See browser support for globalThis:
|
|
212
|
+
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis#browser_compatibility
|
|
213
|
+
/* istanbul ignore next */
|
|
214
|
+
// @ts-ignore
|
|
215
|
+
const _globalThis = typeof globalThis === 'object' ? globalThis : window;
|
|
246
216
|
|
|
247
217
|
/*
|
|
248
218
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -365,9 +335,9 @@
|
|
|
365
335
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
366
336
|
*/
|
|
367
337
|
// Increment whenever the LWC template compiler changes
|
|
368
|
-
const LWC_VERSION = "2.35.
|
|
338
|
+
const LWC_VERSION = "2.35.2";
|
|
369
339
|
const LWC_VERSION_COMMENT_REGEX = /\/\*LWC compiler v([\d.]+)\*\/\s*}/;
|
|
370
|
-
/** version: 2.35.
|
|
340
|
+
/** version: 2.35.2 */
|
|
371
341
|
|
|
372
342
|
/**
|
|
373
343
|
* Copyright (C) 2018 salesforce.com, inc.
|
|
@@ -420,7 +390,8 @@
|
|
|
420
390
|
console.warn(`Failed to set the value "${value}" for the runtime feature flag "${name}" because it is undefined. Available flags: ${availableFlags}.`);
|
|
421
391
|
return;
|
|
422
392
|
}
|
|
423
|
-
|
|
393
|
+
// This may seem redundant, but `process.env.NODE_ENV === 'test-karma-lwc'` is replaced by Karma tests
|
|
394
|
+
if (process.env.NODE_ENV === 'test-karma-lwc' || process.env.NODE_ENV !== 'production') {
|
|
424
395
|
// Allow the same flag to be set more than once outside of production to enable testing
|
|
425
396
|
lwcRuntimeFlags[name] = value;
|
|
426
397
|
}
|
|
@@ -440,11 +411,12 @@
|
|
|
440
411
|
* purposes. It is a no-op when invoked in production mode.
|
|
441
412
|
*/
|
|
442
413
|
function setFeatureFlagForTest(name, value) {
|
|
443
|
-
|
|
414
|
+
// This may seem redundant, but `process.env.NODE_ENV === 'test-karma-lwc'` is replaced by Karma tests
|
|
415
|
+
if (process.env.NODE_ENV === 'test-karma-lwc' || process.env.NODE_ENV !== 'production') {
|
|
444
416
|
setFeatureFlag(name, value);
|
|
445
417
|
}
|
|
446
418
|
}
|
|
447
|
-
/** version: 2.35.
|
|
419
|
+
/** version: 2.35.2 */
|
|
448
420
|
|
|
449
421
|
/**
|
|
450
422
|
* Copyright (C) 2018 salesforce.com, inc.
|
|
@@ -508,7 +480,7 @@
|
|
|
508
480
|
}
|
|
509
481
|
}
|
|
510
482
|
}
|
|
511
|
-
/** version: 2.35.
|
|
483
|
+
/** version: 2.35.2 */
|
|
512
484
|
|
|
513
485
|
/*
|
|
514
486
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -529,8 +501,7 @@
|
|
|
529
501
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
530
502
|
*/
|
|
531
503
|
// Only used in LWC's Karma tests
|
|
532
|
-
|
|
533
|
-
if (process.env.NODE_ENV !== 'production' && typeof __karma__ !== 'undefined') {
|
|
504
|
+
if (process.env.NODE_ENV === 'test-karma-lwc') {
|
|
534
505
|
window.addEventListener('test-dummy-flag', () => {
|
|
535
506
|
let hasFlag = false;
|
|
536
507
|
if (lwcRuntimeFlags.DUMMY_TEST_FLAG) {
|
|
@@ -554,8 +525,7 @@
|
|
|
554
525
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
555
526
|
*/
|
|
556
527
|
// Only used in LWC's Karma tests
|
|
557
|
-
|
|
558
|
-
if (process.env.NODE_ENV !== 'production' && typeof __karma__ !== 'undefined') {
|
|
528
|
+
if (process.env.NODE_ENV === 'test-karma-lwc') {
|
|
559
529
|
window.addEventListener('test-dummy-flag', () => {
|
|
560
530
|
let hasFlag = false;
|
|
561
531
|
if (lwcRuntimeFlags.DUMMY_TEST_FLAG) {
|
|
@@ -696,8 +666,8 @@
|
|
|
696
666
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
697
667
|
*/
|
|
698
668
|
const alreadyLoggedMessages = new Set();
|
|
699
|
-
//
|
|
700
|
-
if (process.env.NODE_ENV
|
|
669
|
+
// Only used in LWC's Karma tests
|
|
670
|
+
if (process.env.NODE_ENV === 'test-karma-lwc') {
|
|
701
671
|
// @ts-ignore
|
|
702
672
|
window.__lwcResetAlreadyLoggedMessages = () => {
|
|
703
673
|
alreadyLoggedMessages.clear();
|
|
@@ -946,6 +916,14 @@
|
|
|
946
916
|
refVNodes[ref] = vnode;
|
|
947
917
|
}
|
|
948
918
|
}
|
|
919
|
+
// Throw an error if we're running in prod mode. Ensures code is truly removed from prod mode.
|
|
920
|
+
function assertNotProd() {
|
|
921
|
+
/* istanbul ignore if */
|
|
922
|
+
if (process.env.NODE_ENV === 'production') {
|
|
923
|
+
// this method should never leak to prod
|
|
924
|
+
throw new ReferenceError();
|
|
925
|
+
}
|
|
926
|
+
}
|
|
949
927
|
|
|
950
928
|
/*
|
|
951
929
|
* Copyright (c) 2020, salesforce.com, inc.
|
|
@@ -1151,27 +1129,18 @@
|
|
|
1151
1129
|
}
|
|
1152
1130
|
let isDomMutationAllowed = false;
|
|
1153
1131
|
function unlockDomMutation() {
|
|
1154
|
-
|
|
1155
|
-
// this method should never leak to prod
|
|
1156
|
-
throw new ReferenceError();
|
|
1157
|
-
}
|
|
1132
|
+
assertNotProd(); // this method should never leak to prod
|
|
1158
1133
|
isDomMutationAllowed = true;
|
|
1159
1134
|
}
|
|
1160
1135
|
function lockDomMutation() {
|
|
1161
|
-
|
|
1162
|
-
// this method should never leak to prod
|
|
1163
|
-
throw new ReferenceError();
|
|
1164
|
-
}
|
|
1136
|
+
assertNotProd(); // this method should never leak to prod
|
|
1165
1137
|
isDomMutationAllowed = false;
|
|
1166
1138
|
}
|
|
1167
1139
|
function logMissingPortalError(name, type) {
|
|
1168
1140
|
return logError(`The \`${name}\` ${type} is available only on elements that use the \`lwc:dom="manual"\` directive.`);
|
|
1169
1141
|
}
|
|
1170
1142
|
function patchElementWithRestrictions(elm, options) {
|
|
1171
|
-
|
|
1172
|
-
// this method should never leak to prod
|
|
1173
|
-
throw new ReferenceError();
|
|
1174
|
-
}
|
|
1143
|
+
assertNotProd(); // this method should never leak to prod
|
|
1175
1144
|
const originalOuterHTMLDescriptor = getPropertyDescriptor(elm, 'outerHTML');
|
|
1176
1145
|
const descriptors = {
|
|
1177
1146
|
outerHTML: generateAccessorDescriptor({
|
|
@@ -1252,10 +1221,7 @@
|
|
|
1252
1221
|
defineProperties(elm, descriptors);
|
|
1253
1222
|
}
|
|
1254
1223
|
function getShadowRootRestrictionsDescriptors(sr) {
|
|
1255
|
-
|
|
1256
|
-
// this method should never leak to prod
|
|
1257
|
-
throw new ReferenceError();
|
|
1258
|
-
}
|
|
1224
|
+
assertNotProd(); // this method should never leak to prod
|
|
1259
1225
|
// Disallowing properties in dev mode only to avoid people doing the wrong
|
|
1260
1226
|
// thing when using the real shadow root, because if that's the case,
|
|
1261
1227
|
// the component will not work when running with synthetic shadow.
|
|
@@ -1296,10 +1262,7 @@
|
|
|
1296
1262
|
// Custom Elements Restrictions:
|
|
1297
1263
|
// -----------------------------
|
|
1298
1264
|
function getCustomElementRestrictionsDescriptors(elm) {
|
|
1299
|
-
|
|
1300
|
-
// this method should never leak to prod
|
|
1301
|
-
throw new ReferenceError();
|
|
1302
|
-
}
|
|
1265
|
+
assertNotProd(); // this method should never leak to prod
|
|
1303
1266
|
const originalAddEventListener = elm.addEventListener;
|
|
1304
1267
|
const originalInnerHTMLDescriptor = getPropertyDescriptor(elm, 'innerHTML');
|
|
1305
1268
|
const originalOuterHTMLDescriptor = getPropertyDescriptor(elm, 'outerHTML');
|
|
@@ -1344,10 +1307,7 @@
|
|
|
1344
1307
|
};
|
|
1345
1308
|
}
|
|
1346
1309
|
function getComponentRestrictionsDescriptors() {
|
|
1347
|
-
|
|
1348
|
-
// this method should never leak to prod
|
|
1349
|
-
throw new ReferenceError();
|
|
1350
|
-
}
|
|
1310
|
+
assertNotProd(); // this method should never leak to prod
|
|
1351
1311
|
return {
|
|
1352
1312
|
tagName: generateAccessorDescriptor({
|
|
1353
1313
|
get() {
|
|
@@ -1361,10 +1321,7 @@
|
|
|
1361
1321
|
};
|
|
1362
1322
|
}
|
|
1363
1323
|
function getLightningElementPrototypeRestrictionsDescriptors(proto) {
|
|
1364
|
-
|
|
1365
|
-
// this method should never leak to prod
|
|
1366
|
-
throw new ReferenceError();
|
|
1367
|
-
}
|
|
1324
|
+
assertNotProd(); // this method should never leak to prod
|
|
1368
1325
|
const originalDispatchEvent = proto.dispatchEvent;
|
|
1369
1326
|
const descriptors = {
|
|
1370
1327
|
dispatchEvent: generateDataDescriptor({
|
|
@@ -2078,7 +2035,6 @@
|
|
|
2078
2035
|
}
|
|
2079
2036
|
};
|
|
2080
2037
|
}
|
|
2081
|
-
const EMPTY_REFS = freeze(create(null));
|
|
2082
2038
|
const refsCache = new WeakMap();
|
|
2083
2039
|
/**
|
|
2084
2040
|
* This class is the base class for any LWC element.
|
|
@@ -2366,7 +2322,6 @@
|
|
|
2366
2322
|
}
|
|
2367
2323
|
const {
|
|
2368
2324
|
refVNodes,
|
|
2369
|
-
hasRefVNodes,
|
|
2370
2325
|
cmpTemplate
|
|
2371
2326
|
} = vm;
|
|
2372
2327
|
// If the `cmpTemplate` is null, that means that the template has not been rendered yet. Most likely this occurs
|
|
@@ -2380,15 +2335,9 @@
|
|
|
2380
2335
|
// were introduced, we return undefined if the template has no refs defined
|
|
2381
2336
|
// anywhere. This fixes components that may want to add an expando called `refs`
|
|
2382
2337
|
// and are checking if it exists with `if (this.refs)` before adding it.
|
|
2383
|
-
// Note
|
|
2384
|
-
// because a template may have `lwc:ref` defined within a falsy `if:true` block.
|
|
2385
|
-
if (!hasRefVNodes) {
|
|
2386
|
-
return;
|
|
2387
|
-
}
|
|
2388
|
-
// For templates that are using `lwc:ref`, if there are no refs currently available
|
|
2389
|
-
// (e.g. refs inside of a falsy `if:true` block), we return an empty object.
|
|
2338
|
+
// Note we use a null refVNodes to indicate that the template has no refs defined.
|
|
2390
2339
|
if (isNull(refVNodes)) {
|
|
2391
|
-
return
|
|
2340
|
+
return;
|
|
2392
2341
|
}
|
|
2393
2342
|
// The refNodes can be cached based on the refVNodes, since the refVNodes
|
|
2394
2343
|
// are recreated from scratch every time the template is rendered.
|
|
@@ -3203,8 +3152,8 @@
|
|
|
3203
3152
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
3204
3153
|
*/
|
|
3205
3154
|
let warned = false;
|
|
3206
|
-
//
|
|
3207
|
-
if (process.env.NODE_ENV
|
|
3155
|
+
// Only used in LWC's Karma tests
|
|
3156
|
+
if (process.env.NODE_ENV === 'test-karma-lwc') {
|
|
3208
3157
|
// @ts-ignore
|
|
3209
3158
|
window.__lwcResetWarnedOnVersionMismatch = () => {
|
|
3210
3159
|
warned = false;
|
|
@@ -3500,10 +3449,7 @@
|
|
|
3500
3449
|
return canRefreshAllInstances;
|
|
3501
3450
|
}
|
|
3502
3451
|
function getTemplateOrSwappedTemplate(tpl) {
|
|
3503
|
-
|
|
3504
|
-
// this method should never leak to prod
|
|
3505
|
-
throw new ReferenceError();
|
|
3506
|
-
}
|
|
3452
|
+
assertNotProd(); // this method should never leak to prod
|
|
3507
3453
|
const visited = new Set();
|
|
3508
3454
|
while (swappedTemplateMap.has(tpl) && !visited.has(tpl)) {
|
|
3509
3455
|
visited.add(tpl);
|
|
@@ -3512,10 +3458,7 @@
|
|
|
3512
3458
|
return tpl;
|
|
3513
3459
|
}
|
|
3514
3460
|
function getComponentOrSwappedComponent(Ctor) {
|
|
3515
|
-
|
|
3516
|
-
// this method should never leak to prod
|
|
3517
|
-
throw new ReferenceError();
|
|
3518
|
-
}
|
|
3461
|
+
assertNotProd(); // this method should never leak to prod
|
|
3519
3462
|
const visited = new Set();
|
|
3520
3463
|
while (swappedComponentMap.has(Ctor) && !visited.has(Ctor)) {
|
|
3521
3464
|
visited.add(Ctor);
|
|
@@ -3524,10 +3467,7 @@
|
|
|
3524
3467
|
return Ctor;
|
|
3525
3468
|
}
|
|
3526
3469
|
function getStyleOrSwappedStyle(style) {
|
|
3527
|
-
|
|
3528
|
-
// this method should never leak to prod
|
|
3529
|
-
throw new ReferenceError();
|
|
3530
|
-
}
|
|
3470
|
+
assertNotProd(); // this method should never leak to prod
|
|
3531
3471
|
const visited = new Set();
|
|
3532
3472
|
while (swappedStyleMap.has(style) && !visited.has(style)) {
|
|
3533
3473
|
visited.add(style);
|
|
@@ -3536,10 +3476,7 @@
|
|
|
3536
3476
|
return style;
|
|
3537
3477
|
}
|
|
3538
3478
|
function setActiveVM(vm) {
|
|
3539
|
-
|
|
3540
|
-
// this method should never leak to prod
|
|
3541
|
-
throw new ReferenceError();
|
|
3542
|
-
}
|
|
3479
|
+
assertNotProd(); // this method should never leak to prod
|
|
3543
3480
|
// tracking active component
|
|
3544
3481
|
const Ctor = vm.def.ctor;
|
|
3545
3482
|
let componentVMs = activeComponents.get(Ctor);
|
|
@@ -3582,10 +3519,7 @@
|
|
|
3582
3519
|
}
|
|
3583
3520
|
}
|
|
3584
3521
|
function removeActiveVM(vm) {
|
|
3585
|
-
|
|
3586
|
-
// this method should never leak to prod
|
|
3587
|
-
throw new ReferenceError();
|
|
3588
|
-
}
|
|
3522
|
+
assertNotProd(); // this method should never leak to prod
|
|
3589
3523
|
// tracking inactive component
|
|
3590
3524
|
const Ctor = vm.def.ctor;
|
|
3591
3525
|
let list = activeComponents.get(Ctor);
|
|
@@ -5758,10 +5692,7 @@
|
|
|
5758
5692
|
vmBeingRendered = vm;
|
|
5759
5693
|
}
|
|
5760
5694
|
function validateSlots(vm, html) {
|
|
5761
|
-
|
|
5762
|
-
// this method should never leak to prod
|
|
5763
|
-
throw new ReferenceError();
|
|
5764
|
-
}
|
|
5695
|
+
assertNotProd(); // this method should never leak to prod
|
|
5765
5696
|
const { cmpSlots } = vm;
|
|
5766
5697
|
const { slots = EmptyArray } = html;
|
|
5767
5698
|
for (const slotName in cmpSlots.slotAssignments) {
|
|
@@ -5895,9 +5826,7 @@
|
|
|
5895
5826
|
setActiveVM(vm);
|
|
5896
5827
|
}
|
|
5897
5828
|
// reset the refs; they will be set during the tmpl() instantiation
|
|
5898
|
-
|
|
5899
|
-
vm.hasRefVNodes = hasRefVNodes;
|
|
5900
|
-
vm.refVNodes = hasRefVNodes ? create(null) : null;
|
|
5829
|
+
vm.refVNodes = html.hasRefs ? create(null) : null;
|
|
5901
5830
|
// right before producing the vnodes, we clear up all internal references
|
|
5902
5831
|
// to custom elements from the template.
|
|
5903
5832
|
vm.velements = [];
|
|
@@ -6084,7 +6013,7 @@
|
|
|
6084
6013
|
const cmpEventListenerMap = new WeakMap();
|
|
6085
6014
|
function getWrappedComponentsListener(vm, listener) {
|
|
6086
6015
|
if (!isFunction$1(listener)) {
|
|
6087
|
-
throw new TypeError(); // avoiding problems with non-valid listeners
|
|
6016
|
+
throw new TypeError('Expected an EventListener but received ' + typeof listener); // avoiding problems with non-valid listeners
|
|
6088
6017
|
}
|
|
6089
6018
|
let wrappedListener = cmpEventListenerMap.get(listener);
|
|
6090
6019
|
if (isUndefined$1(wrappedListener)) {
|
|
@@ -6229,7 +6158,6 @@
|
|
|
6229
6158
|
mode,
|
|
6230
6159
|
owner,
|
|
6231
6160
|
refVNodes: null,
|
|
6232
|
-
hasRefVNodes: false,
|
|
6233
6161
|
children: EmptyArray,
|
|
6234
6162
|
aChildren: EmptyArray,
|
|
6235
6163
|
velements: EmptyArray,
|
|
@@ -7497,7 +7425,7 @@
|
|
|
7497
7425
|
}
|
|
7498
7426
|
return ctor;
|
|
7499
7427
|
}
|
|
7500
|
-
/* version: 2.35.
|
|
7428
|
+
/* version: 2.35.2 */
|
|
7501
7429
|
|
|
7502
7430
|
/*
|
|
7503
7431
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -7605,8 +7533,7 @@
|
|
|
7605
7533
|
// Test utilities
|
|
7606
7534
|
//
|
|
7607
7535
|
// Only used in LWC's Karma tests
|
|
7608
|
-
|
|
7609
|
-
if (process.env.NODE_ENV !== 'production' && typeof __karma__ !== 'undefined') {
|
|
7536
|
+
if (process.env.NODE_ENV === 'test-karma-lwc') {
|
|
7610
7537
|
// @ts-ignore
|
|
7611
7538
|
window.__lwcResetGlobalStylesheets = () => {
|
|
7612
7539
|
stylesheetCache.clear();
|
|
@@ -7776,7 +7703,7 @@
|
|
|
7776
7703
|
const cachedConstructors = new Map();
|
|
7777
7704
|
const elementsUpgradedOutsideLWC = new WeakSet();
|
|
7778
7705
|
let elementBeingUpgradedByLWC = false;
|
|
7779
|
-
// Creates a constructor that is intended to be used as a
|
|
7706
|
+
// Creates a constructor that is intended to be used directly as a custom element, except that the upgradeCallback is
|
|
7780
7707
|
// passed in to the constructor so LWC can reuse the same custom element constructor for multiple components.
|
|
7781
7708
|
// Another benefit is that only LWC can create components that actually do anything – if you do
|
|
7782
7709
|
// `customElements.define('x-foo')`, then you don't have access to the upgradeCallback, so it's a dummy custom element.
|
|
@@ -7821,7 +7748,7 @@
|
|
|
7821
7748
|
}
|
|
7822
7749
|
return UpgradableConstructor;
|
|
7823
7750
|
};
|
|
7824
|
-
const
|
|
7751
|
+
const createCustomElementUsingUpgradableConstructor = (tagName, upgradeCallback, connectedCallback, disconnectedCallback) => {
|
|
7825
7752
|
// use global custom elements registry
|
|
7826
7753
|
let UpgradableConstructor = cachedConstructors.get(tagName);
|
|
7827
7754
|
if (isUndefined$1(UpgradableConstructor)) {
|
|
@@ -7849,7 +7776,7 @@
|
|
|
7849
7776
|
*/
|
|
7850
7777
|
/**
|
|
7851
7778
|
* Create a scoped registry, i.e. a function that can create custom elements whose tag names
|
|
7852
|
-
* do not conflict with
|
|
7779
|
+
* do not conflict with third-party custom elements having the same tag name.
|
|
7853
7780
|
*/
|
|
7854
7781
|
function createScopedRegistry() {
|
|
7855
7782
|
if (!hasCustomElements) {
|
|
@@ -8390,10 +8317,10 @@
|
|
|
8390
8317
|
* We have three modes for creating custom elements:
|
|
8391
8318
|
*
|
|
8392
8319
|
* 1. Compat (legacy) browser support (e.g. IE11). Totally custom, doesn't rely on native browser APIs.
|
|
8393
|
-
* 2. "
|
|
8394
|
-
*
|
|
8395
|
-
*
|
|
8396
|
-
* constructor, which allows us to have completely customized functionality for different components.
|
|
8320
|
+
* 2. "Upgradable constructor" custom element. This allows us to have two LWC components with the same tag name,
|
|
8321
|
+
* via a trick: every custom element constructor we define in the registry is basically the same. It's essentially
|
|
8322
|
+
* a dummy `class extends HTMLElement` that accepts an `upgradeCallback` in its constructor ("upgradable
|
|
8323
|
+
* constructor"), which allows us to have completely customized functionality for different components.
|
|
8397
8324
|
* 3. "Scoped" (or "pivot") custom elements. This relies on a sophisticated system that emulates the "scoped custom
|
|
8398
8325
|
* elements registry" proposal, with support for avoiding conflicts in tag names both between LWC components and
|
|
8399
8326
|
* between LWC components and third-party elements. This uses a similar trick to #2, but is much more complex
|
|
@@ -8404,8 +8331,8 @@
|
|
|
8404
8331
|
if (lwcRuntimeFlags.ENABLE_SCOPED_CUSTOM_ELEMENT_REGISTRY) {
|
|
8405
8332
|
createCustomElement = createCustomElementScoped;
|
|
8406
8333
|
} else {
|
|
8407
|
-
// use global
|
|
8408
|
-
createCustomElement =
|
|
8334
|
+
// use the global registry, with an upgradable constructor for the defined custom element
|
|
8335
|
+
createCustomElement = createCustomElementUsingUpgradableConstructor;
|
|
8409
8336
|
}
|
|
8410
8337
|
} else {
|
|
8411
8338
|
// no registry available here
|
|
@@ -8461,10 +8388,10 @@
|
|
|
8461
8388
|
|
|
8462
8389
|
var assert = /*#__PURE__*/Object.freeze({
|
|
8463
8390
|
__proto__: null,
|
|
8391
|
+
fail: fail,
|
|
8464
8392
|
invariant: invariant,
|
|
8465
|
-
isTrue: isTrue$1,
|
|
8466
8393
|
isFalse: isFalse$1,
|
|
8467
|
-
|
|
8394
|
+
isTrue: isTrue$1
|
|
8468
8395
|
});
|
|
8469
8396
|
function isUndefined(obj) {
|
|
8470
8397
|
return obj === undefined;
|
|
@@ -8472,7 +8399,7 @@
|
|
|
8472
8399
|
function isNull(obj) {
|
|
8473
8400
|
return obj === null;
|
|
8474
8401
|
}
|
|
8475
|
-
/** version: 2.35.
|
|
8402
|
+
/** version: 2.35.2 */
|
|
8476
8403
|
|
|
8477
8404
|
/*
|
|
8478
8405
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -9033,7 +8960,7 @@
|
|
|
9033
8960
|
});
|
|
9034
8961
|
freeze(LightningElement);
|
|
9035
8962
|
seal(LightningElement.prototype);
|
|
9036
|
-
/* version: 2.35.
|
|
8963
|
+
/* version: 2.35.2 */
|
|
9037
8964
|
|
|
9038
8965
|
exports.LightningElement = LightningElement;
|
|
9039
8966
|
exports.__unstable__ProfilerControl = profilerControl;
|