@lwc/ssr-runtime 8.12.7-alpha.0 → 8.13.0-alpha.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.
- package/dist/class-list.d.ts +3 -2
- package/dist/get-read-only-proxy.d.ts +1 -0
- package/dist/index.cjs.js +274 -278
- package/dist/index.d.ts +2 -3
- package/dist/index.js +273 -276
- package/dist/lightning-element.d.ts +4 -3
- package/dist/mutation-tracker.d.ts +1 -0
- package/dist/reflection.d.ts +1 -7
- package/dist/render-text-content.d.ts +10 -2
- package/dist/render.d.ts +7 -6
- package/dist/stubs.d.ts +1 -0
- package/dist/styles.d.ts +1 -0
- package/dist/to-iterator-directive.d.ts +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/validate-style-text-contents.d.ts +1 -0
- package/dist/wire.d.ts +1 -0
- package/package.json +3 -3
package/dist/index.js
CHANGED
@@ -254,48 +254,26 @@ assign,
|
|
254
254
|
create,
|
255
255
|
/** Detached {@linkcode Object.defineProperties}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperties MDN Reference}. */
|
256
256
|
defineProperties,
|
257
|
-
/** Detached {@linkcode Object.defineProperty}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty MDN Reference}. */
|
258
|
-
defineProperty,
|
259
257
|
/** Detached {@linkcode Object.entries}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries MDN Reference}. */
|
260
258
|
entries,
|
261
|
-
/** Detached {@linkcode Object.freeze}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze MDN Reference}. */
|
262
|
-
freeze,
|
263
|
-
/** Detached {@linkcode Object.fromEntries}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/fromEntries MDN Reference}. */
|
264
|
-
fromEntries,
|
265
|
-
/** Detached {@linkcode Object.getOwnPropertyDescriptor}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor MDN Reference}. */
|
266
|
-
getOwnPropertyDescriptor: getOwnPropertyDescriptor$1,
|
267
|
-
/** Detached {@linkcode Object.getOwnPropertyDescriptors}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptors MDN Reference}. */
|
268
|
-
getOwnPropertyDescriptors,
|
269
259
|
/** Detached {@linkcode Object.getOwnPropertyNames}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames MDN Reference}. */
|
270
260
|
getOwnPropertyNames: getOwnPropertyNames$1,
|
271
|
-
/** Detached {@linkcode Object.getOwnPropertySymbols}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertySymbols MDN Reference}. */
|
272
|
-
getOwnPropertySymbols: getOwnPropertySymbols$1,
|
273
|
-
/** Detached {@linkcode Object.getPrototypeOf}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getPrototypeOf MDN Reference}. */
|
274
|
-
getPrototypeOf: getPrototypeOf$1,
|
275
261
|
/** Detached {@linkcode Object.hasOwnProperty}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty MDN Reference}. */
|
276
262
|
hasOwnProperty: hasOwnProperty$1,
|
277
|
-
/** Detached {@linkcode Object.isFrozen}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen MDN Reference}. */
|
278
|
-
isFrozen,
|
279
263
|
/** Detached {@linkcode Object.keys}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys MDN Reference}. */
|
280
|
-
keys
|
281
|
-
/** Detached {@linkcode Object.seal}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/seal MDN Reference}. */
|
282
|
-
seal,
|
283
|
-
/** Detached {@linkcode Object.setPrototypeOf}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/setPrototypeOf MDN Reference}. */
|
284
|
-
setPrototypeOf, } = Object;
|
264
|
+
keys} = Object;
|
285
265
|
const {
|
286
266
|
/** Detached {@linkcode Array.isArray}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray MDN Reference}. */
|
287
|
-
isArray: isArray$1
|
288
|
-
/** Detached {@linkcode Array.from}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from MDN Reference}. */
|
289
|
-
from: ArrayFrom, } = Array;
|
267
|
+
isArray: isArray$1} = Array;
|
290
268
|
// For some reason, JSDoc don't get picked up for multiple renamed destructured constants (even
|
291
269
|
// though it works fine for one, e.g. isArray), so comments for these are added to the export
|
292
270
|
// statement, rather than this declaration.
|
293
|
-
const {
|
271
|
+
const { join: ArrayJoin, map: ArrayMap, forEach, // Weird anomaly!
|
294
272
|
} = Array.prototype;
|
295
273
|
/** Detached {@linkcode String.fromCharCode}; see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode MDN Reference}. */
|
296
274
|
const { fromCharCode: StringFromCharCode } = String;
|
297
275
|
// No JSDocs here - see comment for Array.prototype
|
298
|
-
const {
|
276
|
+
const { charCodeAt: StringCharCodeAt, replace: StringReplace, toLowerCase: StringToLowerCase, trim: StringTrim, } = String.prototype;
|
299
277
|
/**
|
300
278
|
* Determines whether the argument is `undefined`.
|
301
279
|
* @param obj Value to test
|
@@ -627,7 +605,7 @@ function setHooks(hooks) {
|
|
627
605
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
628
606
|
*/
|
629
607
|
const DEFAULT_SSR_MODE = 'sync';
|
630
|
-
/** version: 8.
|
608
|
+
/** version: 8.13.0 */
|
631
609
|
|
632
610
|
/*
|
633
611
|
* Copyright (c) 2024, Salesforce, Inc.
|
@@ -691,6 +669,10 @@ class ClassList {
|
|
691
669
|
toString() {
|
692
670
|
return this.el.className;
|
693
671
|
}
|
672
|
+
get length() {
|
673
|
+
const currentClassNameStr = this.el.className ?? '';
|
674
|
+
return currentClassNameStr.split(MULTI_SPACE).length;
|
675
|
+
}
|
694
676
|
item(_index) {
|
695
677
|
throw new Error('Method "item" not implemented.');
|
696
678
|
}
|
@@ -700,10 +682,206 @@ class ClassList {
|
|
700
682
|
forEach(_callbackfn, _thisArg) {
|
701
683
|
throw new Error('Method "forEach" not implemented.');
|
702
684
|
}
|
703
|
-
|
704
|
-
|
685
|
+
}
|
686
|
+
|
687
|
+
/******************************************************************************
|
688
|
+
Copyright (c) Microsoft Corporation.
|
689
|
+
|
690
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
691
|
+
purpose with or without fee is hereby granted.
|
692
|
+
|
693
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
694
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
695
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
696
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
697
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
698
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
699
|
+
PERFORMANCE OF THIS SOFTWARE.
|
700
|
+
***************************************************************************** */
|
701
|
+
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
702
|
+
|
703
|
+
|
704
|
+
function __classPrivateFieldGet(receiver, state, kind, f) {
|
705
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
706
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
707
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
708
|
+
}
|
709
|
+
|
710
|
+
function __classPrivateFieldSet(receiver, state, value, kind, f) {
|
711
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
712
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
713
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
714
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
715
|
+
}
|
716
|
+
|
717
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
718
|
+
var e = new Error(message);
|
719
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
720
|
+
};
|
721
|
+
|
722
|
+
/*
|
723
|
+
* Copyright (c) 2024, Salesforce, Inc.
|
724
|
+
* All rights reserved.
|
725
|
+
* SPDX-License-Identifier: MIT
|
726
|
+
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
727
|
+
*/
|
728
|
+
var _MutationTracker_enabledSet, _MutationTracker_mutationMap;
|
729
|
+
class MutationTracker {
|
730
|
+
constructor() {
|
731
|
+
_MutationTracker_enabledSet.set(this, new WeakSet());
|
732
|
+
_MutationTracker_mutationMap.set(this, new WeakMap());
|
733
|
+
}
|
734
|
+
add(instance, attrName) {
|
735
|
+
if (__classPrivateFieldGet(this, _MutationTracker_enabledSet, "f").has(instance)) {
|
736
|
+
let mutatedAttrs = __classPrivateFieldGet(this, _MutationTracker_mutationMap, "f").get(instance);
|
737
|
+
if (!mutatedAttrs) {
|
738
|
+
mutatedAttrs = new Set();
|
739
|
+
__classPrivateFieldGet(this, _MutationTracker_mutationMap, "f").set(instance, mutatedAttrs);
|
740
|
+
}
|
741
|
+
mutatedAttrs.add(attrName.toLowerCase());
|
742
|
+
}
|
743
|
+
}
|
744
|
+
enable(instance) {
|
745
|
+
__classPrivateFieldGet(this, _MutationTracker_enabledSet, "f").add(instance);
|
746
|
+
}
|
747
|
+
disable(instance) {
|
748
|
+
__classPrivateFieldGet(this, _MutationTracker_enabledSet, "f").delete(instance);
|
749
|
+
}
|
750
|
+
renderMutatedAttrs(instance) {
|
751
|
+
const mutatedAttrs = __classPrivateFieldGet(this, _MutationTracker_mutationMap, "f").get(instance);
|
752
|
+
if (mutatedAttrs) {
|
753
|
+
return ` data-lwc-host-mutated="${[...mutatedAttrs].sort().join(' ')}"`;
|
754
|
+
}
|
755
|
+
else {
|
756
|
+
return '';
|
757
|
+
}
|
705
758
|
}
|
706
759
|
}
|
760
|
+
_MutationTracker_enabledSet = new WeakMap(), _MutationTracker_mutationMap = new WeakMap();
|
761
|
+
const mutationTracker = new MutationTracker();
|
762
|
+
|
763
|
+
/*
|
764
|
+
* Copyright (c) 2024, Salesforce, Inc.
|
765
|
+
* All rights reserved.
|
766
|
+
* SPDX-License-Identifier: MIT
|
767
|
+
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
768
|
+
*/
|
769
|
+
/**
|
770
|
+
* Descriptor for IDL attribute reflections that merely reflect the string, e.g. `title`.
|
771
|
+
*/
|
772
|
+
const stringDescriptor = (attrName) => ({
|
773
|
+
configurable: true,
|
774
|
+
enumerable: true,
|
775
|
+
get() {
|
776
|
+
return this.getAttribute(attrName);
|
777
|
+
},
|
778
|
+
set(newValue) {
|
779
|
+
const currentValue = this.getAttribute(attrName);
|
780
|
+
const normalizedValue = String(newValue);
|
781
|
+
if (normalizedValue !== currentValue) {
|
782
|
+
this.setAttribute(attrName, normalizedValue);
|
783
|
+
}
|
784
|
+
},
|
785
|
+
});
|
786
|
+
/** Descriptor for a boolean that checks for `attr="true"` or `attr="false"`, e.g. `spellcheck` and `draggable`. */
|
787
|
+
const explicitBooleanDescriptor = (attrName, defaultValue) => ({
|
788
|
+
configurable: true,
|
789
|
+
enumerable: true,
|
790
|
+
get() {
|
791
|
+
const value = this.getAttribute(attrName);
|
792
|
+
if (value === null)
|
793
|
+
return defaultValue;
|
794
|
+
// spellcheck=false => false, everything else => true
|
795
|
+
// draggable=true => true, everything else => false
|
796
|
+
return value.toLowerCase() === String(defaultValue) ? defaultValue : !defaultValue;
|
797
|
+
},
|
798
|
+
set(newValue) {
|
799
|
+
const currentValue = this.getAttribute(attrName);
|
800
|
+
const normalizedValue = String(Boolean(newValue));
|
801
|
+
if (normalizedValue !== currentValue) {
|
802
|
+
this.setAttribute(attrName, normalizedValue);
|
803
|
+
}
|
804
|
+
},
|
805
|
+
});
|
806
|
+
/**
|
807
|
+
* Descriptor for a "true" boolean attribute that checks solely for presence, e.g. `hidden`.
|
808
|
+
*/
|
809
|
+
const booleanAttributeDescriptor = (attrName) => ({
|
810
|
+
configurable: true,
|
811
|
+
enumerable: true,
|
812
|
+
get() {
|
813
|
+
return this.hasAttribute(attrName);
|
814
|
+
},
|
815
|
+
set(newValue) {
|
816
|
+
const hasAttribute = this.hasAttribute(attrName);
|
817
|
+
if (newValue) {
|
818
|
+
if (!hasAttribute) {
|
819
|
+
this.setAttribute(attrName, '');
|
820
|
+
}
|
821
|
+
}
|
822
|
+
else {
|
823
|
+
if (hasAttribute) {
|
824
|
+
this.removeAttribute(attrName);
|
825
|
+
}
|
826
|
+
}
|
827
|
+
},
|
828
|
+
});
|
829
|
+
/**
|
830
|
+
* Descriptor for ARIA reflections, e.g. `ariaLabel` and `role`.
|
831
|
+
*/
|
832
|
+
const ariaDescriptor = (attrName) => ({
|
833
|
+
configurable: true,
|
834
|
+
enumerable: true,
|
835
|
+
get() {
|
836
|
+
return this.getAttribute(attrName);
|
837
|
+
},
|
838
|
+
set(newValue) {
|
839
|
+
const currentValue = this.getAttribute(attrName);
|
840
|
+
if (newValue !== currentValue) {
|
841
|
+
// TODO [#3284]: According to the spec, IDL nullable type values
|
842
|
+
// (null and undefined) should remove the attribute; however, we
|
843
|
+
// only do so in the case of null for historical reasons.
|
844
|
+
if (isNull(newValue)) {
|
845
|
+
this.removeAttribute(attrName);
|
846
|
+
}
|
847
|
+
else {
|
848
|
+
this.setAttribute(attrName, toString(newValue));
|
849
|
+
}
|
850
|
+
}
|
851
|
+
},
|
852
|
+
});
|
853
|
+
const tabIndexDescriptor = () => ({
|
854
|
+
configurable: true,
|
855
|
+
enumerable: true,
|
856
|
+
get() {
|
857
|
+
const str = this.getAttribute('tabindex');
|
858
|
+
const num = Number(str);
|
859
|
+
return isFinite(num) ? Math.trunc(num) : -1;
|
860
|
+
},
|
861
|
+
set(newValue) {
|
862
|
+
const currentValue = this.getAttribute('tabindex');
|
863
|
+
const num = Number(newValue);
|
864
|
+
const normalizedValue = isFinite(num) ? String(Math.trunc(num)) : '0';
|
865
|
+
if (normalizedValue !== currentValue) {
|
866
|
+
this.setAttribute('tabindex', toString(newValue));
|
867
|
+
}
|
868
|
+
},
|
869
|
+
});
|
870
|
+
const descriptors = {
|
871
|
+
accessKey: stringDescriptor('accesskey'),
|
872
|
+
dir: stringDescriptor('dir'),
|
873
|
+
draggable: explicitBooleanDescriptor('draggable', true),
|
874
|
+
hidden: booleanAttributeDescriptor('hidden'),
|
875
|
+
id: stringDescriptor('id'),
|
876
|
+
lang: stringDescriptor('lang'),
|
877
|
+
spellcheck: explicitBooleanDescriptor('spellcheck', false),
|
878
|
+
tabIndex: tabIndexDescriptor(),
|
879
|
+
title: stringDescriptor('title'),
|
880
|
+
};
|
881
|
+
// Add descriptors for ARIA attributes
|
882
|
+
for (const [attrName, propName] of entries(AriaAttrNameToPropNameMap)) {
|
883
|
+
descriptors[propName] = ariaDescriptor(attrName);
|
884
|
+
}
|
707
885
|
|
708
886
|
/**
|
709
887
|
* Copyright (C) 2017 salesforce.com, inc.
|
@@ -1132,256 +1310,49 @@ function getReadOnlyProxy(value) {
|
|
1132
1310
|
return reactiveMembrane.getReadOnlyProxy(value);
|
1133
1311
|
}
|
1134
1312
|
|
1135
|
-
/******************************************************************************
|
1136
|
-
Copyright (c) Microsoft Corporation.
|
1137
|
-
|
1138
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
1139
|
-
purpose with or without fee is hereby granted.
|
1140
|
-
|
1141
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
1142
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
1143
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
1144
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
1145
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
1146
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
1147
|
-
PERFORMANCE OF THIS SOFTWARE.
|
1148
|
-
***************************************************************************** */
|
1149
|
-
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
1150
|
-
|
1151
|
-
|
1152
|
-
function __classPrivateFieldGet(receiver, state, kind, f) {
|
1153
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
1154
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
1155
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
1156
|
-
}
|
1157
|
-
|
1158
|
-
function __classPrivateFieldSet(receiver, state, value, kind, f) {
|
1159
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
1160
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
1161
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
1162
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
1163
|
-
}
|
1164
|
-
|
1165
|
-
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
1166
|
-
var e = new Error(message);
|
1167
|
-
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
1168
|
-
};
|
1169
|
-
|
1170
|
-
/*
|
1171
|
-
* Copyright (c) 2024, Salesforce, Inc.
|
1172
|
-
* All rights reserved.
|
1173
|
-
* SPDX-License-Identifier: MIT
|
1174
|
-
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
1175
|
-
*/
|
1176
|
-
var _MutationTracker_enabledSet, _MutationTracker_mutationMap;
|
1177
|
-
class MutationTracker {
|
1178
|
-
constructor() {
|
1179
|
-
_MutationTracker_enabledSet.set(this, new WeakSet());
|
1180
|
-
_MutationTracker_mutationMap.set(this, new WeakMap());
|
1181
|
-
}
|
1182
|
-
add(instance, attrName) {
|
1183
|
-
if (__classPrivateFieldGet(this, _MutationTracker_enabledSet, "f").has(instance)) {
|
1184
|
-
let mutatedAttrs = __classPrivateFieldGet(this, _MutationTracker_mutationMap, "f").get(instance);
|
1185
|
-
if (!mutatedAttrs) {
|
1186
|
-
mutatedAttrs = new Set();
|
1187
|
-
__classPrivateFieldGet(this, _MutationTracker_mutationMap, "f").set(instance, mutatedAttrs);
|
1188
|
-
}
|
1189
|
-
mutatedAttrs.add(attrName.toLowerCase());
|
1190
|
-
}
|
1191
|
-
}
|
1192
|
-
enable(instance) {
|
1193
|
-
__classPrivateFieldGet(this, _MutationTracker_enabledSet, "f").add(instance);
|
1194
|
-
}
|
1195
|
-
disable(instance) {
|
1196
|
-
__classPrivateFieldGet(this, _MutationTracker_enabledSet, "f").delete(instance);
|
1197
|
-
}
|
1198
|
-
renderMutatedAttrs(instance) {
|
1199
|
-
const mutatedAttrs = __classPrivateFieldGet(this, _MutationTracker_mutationMap, "f").get(instance);
|
1200
|
-
if (mutatedAttrs) {
|
1201
|
-
return ` data-lwc-host-mutated="${[...mutatedAttrs].sort().join(' ')}"`;
|
1202
|
-
}
|
1203
|
-
else {
|
1204
|
-
return '';
|
1205
|
-
}
|
1206
|
-
}
|
1207
|
-
}
|
1208
|
-
_MutationTracker_enabledSet = new WeakMap(), _MutationTracker_mutationMap = new WeakMap();
|
1209
|
-
const mutationTracker = new MutationTracker();
|
1210
|
-
|
1211
|
-
/*
|
1212
|
-
* Copyright (c) 2024, Salesforce, Inc.
|
1213
|
-
* All rights reserved.
|
1214
|
-
* SPDX-License-Identifier: MIT
|
1215
|
-
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
1216
|
-
*/
|
1217
|
-
/**
|
1218
|
-
* Filters out the following types of properties that should not be set.
|
1219
|
-
* - Properties that are not public.
|
1220
|
-
* - Properties that are not global.
|
1221
|
-
* - Properties that are global but are internally overridden.
|
1222
|
-
*/
|
1223
|
-
function filterProperties(props, publicFields, privateFields) {
|
1224
|
-
const propsToAssign = create(null);
|
1225
|
-
const publicFieldSet = new Set(publicFields);
|
1226
|
-
const privateFieldSet = new Set(privateFields);
|
1227
|
-
keys(props).forEach((propName) => {
|
1228
|
-
const attrName = htmlPropertyToAttribute(propName);
|
1229
|
-
if (publicFieldSet.has(propName) ||
|
1230
|
-
((REFLECTIVE_GLOBAL_PROPERTY_SET.has(propName) || isAriaAttribute(attrName)) &&
|
1231
|
-
!privateFieldSet.has(propName))) {
|
1232
|
-
propsToAssign[propName] = props[propName];
|
1233
|
-
}
|
1234
|
-
});
|
1235
|
-
return propsToAssign;
|
1236
|
-
}
|
1237
|
-
/**
|
1238
|
-
* Descriptor for IDL attribute reflections that merely reflect the string, e.g. `title`.
|
1239
|
-
*/
|
1240
|
-
const stringDescriptor = (attrName) => ({
|
1241
|
-
configurable: true,
|
1242
|
-
enumerable: true,
|
1243
|
-
get() {
|
1244
|
-
return this.getAttribute(attrName);
|
1245
|
-
},
|
1246
|
-
set(newValue) {
|
1247
|
-
const currentValue = this.getAttribute(attrName);
|
1248
|
-
const normalizedValue = String(newValue);
|
1249
|
-
if (normalizedValue !== currentValue) {
|
1250
|
-
this.setAttribute(attrName, normalizedValue);
|
1251
|
-
}
|
1252
|
-
},
|
1253
|
-
});
|
1254
|
-
/** Descriptor for a boolean that checks for `attr="true"` or `attr="false"`, e.g. `spellcheck` and `draggable`. */
|
1255
|
-
const explicitBooleanDescriptor = (attrName, defaultValue) => ({
|
1256
|
-
configurable: true,
|
1257
|
-
enumerable: true,
|
1258
|
-
get() {
|
1259
|
-
const value = this.getAttribute(attrName);
|
1260
|
-
if (value === null)
|
1261
|
-
return defaultValue;
|
1262
|
-
// spellcheck=false => false, everything else => true
|
1263
|
-
// draggable=true => true, everything else => false
|
1264
|
-
return value.toLowerCase() === String(defaultValue) ? defaultValue : !defaultValue;
|
1265
|
-
},
|
1266
|
-
set(newValue) {
|
1267
|
-
const currentValue = this.getAttribute(attrName);
|
1268
|
-
const normalizedValue = String(Boolean(newValue));
|
1269
|
-
if (normalizedValue !== currentValue) {
|
1270
|
-
this.setAttribute(attrName, normalizedValue);
|
1271
|
-
}
|
1272
|
-
},
|
1273
|
-
});
|
1274
|
-
/**
|
1275
|
-
* Descriptor for a "true" boolean attribute that checks solely for presence, e.g. `hidden`.
|
1276
|
-
*/
|
1277
|
-
const booleanAttributeDescriptor = (attrName) => ({
|
1278
|
-
configurable: true,
|
1279
|
-
enumerable: true,
|
1280
|
-
get() {
|
1281
|
-
return this.hasAttribute(attrName);
|
1282
|
-
},
|
1283
|
-
set(newValue) {
|
1284
|
-
const hasAttribute = this.hasAttribute(attrName);
|
1285
|
-
if (newValue) {
|
1286
|
-
if (!hasAttribute) {
|
1287
|
-
this.setAttribute(attrName, '');
|
1288
|
-
}
|
1289
|
-
}
|
1290
|
-
else {
|
1291
|
-
if (hasAttribute) {
|
1292
|
-
this.removeAttribute(attrName);
|
1293
|
-
}
|
1294
|
-
}
|
1295
|
-
},
|
1296
|
-
});
|
1297
|
-
/**
|
1298
|
-
* Descriptor for ARIA reflections, e.g. `ariaLabel` and `role`.
|
1299
|
-
*/
|
1300
|
-
const ariaDescriptor = (attrName) => ({
|
1301
|
-
configurable: true,
|
1302
|
-
enumerable: true,
|
1303
|
-
get() {
|
1304
|
-
return this.getAttribute(attrName);
|
1305
|
-
},
|
1306
|
-
set(newValue) {
|
1307
|
-
const currentValue = this.getAttribute(attrName);
|
1308
|
-
if (newValue !== currentValue) {
|
1309
|
-
// TODO [#3284]: According to the spec, IDL nullable type values
|
1310
|
-
// (null and undefined) should remove the attribute; however, we
|
1311
|
-
// only do so in the case of null for historical reasons.
|
1312
|
-
if (isNull(newValue)) {
|
1313
|
-
this.removeAttribute(attrName);
|
1314
|
-
}
|
1315
|
-
else {
|
1316
|
-
this.setAttribute(attrName, toString(newValue));
|
1317
|
-
}
|
1318
|
-
}
|
1319
|
-
},
|
1320
|
-
});
|
1321
|
-
const tabIndexDescriptor = () => ({
|
1322
|
-
configurable: true,
|
1323
|
-
enumerable: true,
|
1324
|
-
get() {
|
1325
|
-
const str = this.getAttribute('tabindex');
|
1326
|
-
const num = Number(str);
|
1327
|
-
return isFinite(num) ? Math.trunc(num) : -1;
|
1328
|
-
},
|
1329
|
-
set(newValue) {
|
1330
|
-
const currentValue = this.getAttribute('tabindex');
|
1331
|
-
const num = Number(newValue);
|
1332
|
-
const normalizedValue = isFinite(num) ? String(Math.trunc(num)) : '0';
|
1333
|
-
if (normalizedValue !== currentValue) {
|
1334
|
-
this.setAttribute('tabindex', toString(newValue));
|
1335
|
-
}
|
1336
|
-
},
|
1337
|
-
});
|
1338
|
-
const descriptors = {
|
1339
|
-
accessKey: stringDescriptor('accesskey'),
|
1340
|
-
dir: stringDescriptor('dir'),
|
1341
|
-
draggable: explicitBooleanDescriptor('draggable', true),
|
1342
|
-
hidden: booleanAttributeDescriptor('hidden'),
|
1343
|
-
id: stringDescriptor('id'),
|
1344
|
-
lang: stringDescriptor('lang'),
|
1345
|
-
spellcheck: explicitBooleanDescriptor('spellcheck', false),
|
1346
|
-
tabIndex: tabIndexDescriptor(),
|
1347
|
-
title: stringDescriptor('title'),
|
1348
|
-
};
|
1349
|
-
// Add descriptors for ARIA attributes
|
1350
|
-
for (const [attrName, propName] of entries(AriaAttrNameToPropNameMap)) {
|
1351
|
-
descriptors[propName] = ariaDescriptor(attrName);
|
1352
|
-
}
|
1353
|
-
|
1354
1313
|
/*
|
1355
1314
|
* Copyright (c) 2024, salesforce.com, inc.
|
1356
1315
|
* All rights reserved.
|
1357
1316
|
* SPDX-License-Identifier: MIT
|
1358
1317
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
1359
1318
|
*/
|
1360
|
-
var _LightningElement_attrs, _LightningElement_classList;
|
1319
|
+
var _LightningElement_props, _LightningElement_attrs, _LightningElement_classList;
|
1361
1320
|
const SYMBOL__SET_INTERNALS = Symbol('set-internals');
|
1362
1321
|
const SYMBOL__GENERATE_MARKUP = Symbol('generate-markup');
|
1363
1322
|
const SYMBOL__DEFAULT_TEMPLATE = Symbol('default-template');
|
1364
1323
|
class LightningElement {
|
1365
1324
|
constructor(propsAvailableAtConstruction) {
|
1366
1325
|
this.isConnected = false;
|
1367
|
-
this
|
1368
|
-
_LightningElement_attrs.set(this,
|
1326
|
+
_LightningElement_props.set(this, undefined);
|
1327
|
+
_LightningElement_attrs.set(this, undefined);
|
1369
1328
|
_LightningElement_classList.set(this, null);
|
1370
1329
|
assign(this, propsAvailableAtConstruction);
|
1371
1330
|
}
|
1372
|
-
[(_LightningElement_attrs = new WeakMap(), _LightningElement_classList = new WeakMap(), SYMBOL__SET_INTERNALS)](props, attrs) {
|
1331
|
+
[(_LightningElement_props = new WeakMap(), _LightningElement_attrs = new WeakMap(), _LightningElement_classList = new WeakMap(), SYMBOL__SET_INTERNALS)](props, attrs, publicProperties, privateProperties) {
|
1332
|
+
__classPrivateFieldSet(this, _LightningElement_props, props, "f");
|
1373
1333
|
__classPrivateFieldSet(this, _LightningElement_attrs, attrs, "f");
|
1374
|
-
|
1375
|
-
|
1376
|
-
|
1377
|
-
|
1378
|
-
|
1379
|
-
|
1380
|
-
|
1381
|
-
|
1382
|
-
|
1383
|
-
|
1384
|
-
|
1334
|
+
// Avoid setting the following types of properties that should not be set:
|
1335
|
+
// - Properties that are not public.
|
1336
|
+
// - Properties that are not global.
|
1337
|
+
// - Properties that are global but are internally overridden.
|
1338
|
+
for (const propName of keys(props)) {
|
1339
|
+
const attrName = htmlPropertyToAttribute(propName);
|
1340
|
+
if (publicProperties.has(propName) ||
|
1341
|
+
((REFLECTIVE_GLOBAL_PROPERTY_SET.has(propName) || isAriaAttribute(attrName)) &&
|
1342
|
+
!privateProperties.has(propName))) {
|
1343
|
+
// For props passed from parents to children, they are intended to be read-only
|
1344
|
+
// to avoid a child mutating its parent's state
|
1345
|
+
this[propName] = getReadOnlyProxy(props[propName]);
|
1346
|
+
}
|
1347
|
+
}
|
1348
|
+
}
|
1349
|
+
get className() {
|
1350
|
+
return __classPrivateFieldGet(this, _LightningElement_props, "f").class ?? '';
|
1351
|
+
}
|
1352
|
+
set className(newVal) {
|
1353
|
+
__classPrivateFieldGet(this, _LightningElement_props, "f").class = newVal;
|
1354
|
+
__classPrivateFieldGet(this, _LightningElement_attrs, "f").class = newVal;
|
1355
|
+
mutationTracker.add(this, 'class');
|
1385
1356
|
}
|
1386
1357
|
get classList() {
|
1387
1358
|
if (__classPrivateFieldGet(this, _LightningElement_classList, "f")) {
|
@@ -1494,7 +1465,6 @@ defineProperties(LightningElement.prototype, descriptors);
|
|
1494
1465
|
* SPDX-License-Identifier: MIT
|
1495
1466
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
1496
1467
|
*/
|
1497
|
-
const escapeAttrVal = (attrValue) => attrValue.replaceAll('&', '&').replaceAll('"', '"');
|
1498
1468
|
function renderAttrsPrivate(instance, attrs, hostScopeToken, scopeToken) {
|
1499
1469
|
// The scopeToken is e.g. `lwc-xyz123` which is the token our parent gives us.
|
1500
1470
|
// The hostScopeToken is e.g. `lwc-abc456-host` which is the token for our own component.
|
@@ -1528,7 +1498,8 @@ function renderAttrsPrivate(instance, attrs, hostScopeToken, scopeToken) {
|
|
1528
1498
|
hasClassAttribute = true;
|
1529
1499
|
}
|
1530
1500
|
}
|
1531
|
-
result +=
|
1501
|
+
result +=
|
1502
|
+
attrValue === '' ? ` ${attrName}` : ` ${attrName}="${htmlEscape(attrValue, true)}"`;
|
1532
1503
|
}
|
1533
1504
|
// If we didn't render any `class` attribute, render one for the scope token(s)
|
1534
1505
|
if (!hasClassAttribute && combinedScopeToken) {
|
@@ -1547,14 +1518,20 @@ function* renderAttrs(instance, attrs, hostScopeToken, scopeToken) {
|
|
1547
1518
|
function renderAttrsNoYield(emit, instance, attrs, hostScopeToken, scopeToken) {
|
1548
1519
|
emit(renderAttrsPrivate(instance, attrs, hostScopeToken, scopeToken));
|
1549
1520
|
}
|
1550
|
-
function* fallbackTmpl(
|
1521
|
+
function* fallbackTmpl(shadowSlottedContent, _lightSlottedContent, _scopedSlottedContent, Cmp, instance) {
|
1551
1522
|
if (Cmp.renderMode !== 'light') {
|
1552
|
-
yield
|
1523
|
+
yield `<template shadowrootmode="open"></template>`;
|
1524
|
+
if (shadowSlottedContent) {
|
1525
|
+
yield shadowSlottedContent(instance);
|
1526
|
+
}
|
1553
1527
|
}
|
1554
1528
|
}
|
1555
|
-
function fallbackTmplNoYield(emit,
|
1529
|
+
function fallbackTmplNoYield(emit, shadowSlottedContent, _lightSlottedContent, _scopedSlottedContent, Cmp, instance) {
|
1556
1530
|
if (Cmp.renderMode !== 'light') {
|
1557
|
-
emit(
|
1531
|
+
emit(`<template shadowrootmode="open"></template>`);
|
1532
|
+
if (shadowSlottedContent) {
|
1533
|
+
shadowSlottedContent(emit, instance);
|
1534
|
+
}
|
1558
1535
|
}
|
1559
1536
|
}
|
1560
1537
|
async function serverSideRenderComponent(tagName, Component, props = {}, mode = DEFAULT_SSR_MODE) {
|
@@ -1566,16 +1543,23 @@ async function serverSideRenderComponent(tagName, Component, props = {}, mode =
|
|
1566
1543
|
const emit = (segment) => {
|
1567
1544
|
markup += segment;
|
1568
1545
|
};
|
1546
|
+
if (!generateMarkup) {
|
1547
|
+
// If a non-component is accidentally provided, render an empty template
|
1548
|
+
emit(`<${tagName}>`);
|
1549
|
+
fallbackTmplNoYield(emit, null, null, null, Component, null);
|
1550
|
+
emit(`</${tagName}>`);
|
1551
|
+
return markup;
|
1552
|
+
}
|
1569
1553
|
if (mode === 'asyncYield') {
|
1570
|
-
for await (const segment of generateMarkup(tagName, props, null, null, null, null, null, null)) {
|
1554
|
+
for await (const segment of generateMarkup(tagName, props, null, null, null, null, null, null, null)) {
|
1571
1555
|
markup += segment;
|
1572
1556
|
}
|
1573
1557
|
}
|
1574
1558
|
else if (mode === 'async') {
|
1575
|
-
await generateMarkup(emit, tagName, props, null, null, null, null, null, null);
|
1559
|
+
await generateMarkup(emit, tagName, props, null, null, null, null, null, null, null);
|
1576
1560
|
}
|
1577
1561
|
else if (mode === 'sync') {
|
1578
|
-
generateMarkup(emit, tagName, props, null, null, null, null, null, null);
|
1562
|
+
generateMarkup(emit, tagName, props, null, null, null, null, null, null, null);
|
1579
1563
|
}
|
1580
1564
|
else {
|
1581
1565
|
throw new Error(`Invalid mode: ${mode}`);
|
@@ -1590,14 +1574,27 @@ async function serverSideRenderComponent(tagName, Component, props = {}, mode =
|
|
1590
1574
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
1591
1575
|
*/
|
1592
1576
|
/**
|
1593
|
-
* Given an object, render it for use as a text content node.
|
1577
|
+
* Given an object, render it for use as a text content node. Not that this applies to individual text nodes,
|
1578
|
+
* not the concatenated result of multiple adjacent text nodes.
|
1594
1579
|
* @param value
|
1595
1580
|
*/
|
1596
|
-
function
|
1581
|
+
function normalizeTextContent(value) {
|
1597
1582
|
// Using non strict equality to align with original implementation (ex. undefined == null)
|
1598
1583
|
// See: https://github.com/salesforce/lwc/blob/348130f/packages/%40lwc/engine-core/src/framework/api.ts#L548
|
1599
1584
|
return value == null ? '' : String(value);
|
1600
1585
|
}
|
1586
|
+
/**
|
1587
|
+
* Given a string, render it for use as text content in HTML. Notably this escapes HTML and renders as
|
1588
|
+
* a ZWJ is empty. Intended to be used on the result of concatenating multiple adjacent text nodes together.
|
1589
|
+
* @param value
|
1590
|
+
*/
|
1591
|
+
function renderTextContent(value) {
|
1592
|
+
// We are at the end of a series of text nodes - flush to a concatenated string
|
1593
|
+
// We only render the ZWJ if there were actually any dynamic text nodes rendered
|
1594
|
+
// The ZWJ is just so hydration can compare the SSR'd dynamic text content against
|
1595
|
+
// the CSR'd text content.
|
1596
|
+
return value === '' ? '\u200D' : htmlEscape(value);
|
1597
|
+
}
|
1601
1598
|
|
1602
1599
|
/*
|
1603
1600
|
* Copyright (c) 2024, Salesforce, Inc.
|
@@ -1785,6 +1782,6 @@ function createContextProvider(adapter) {
|
|
1785
1782
|
};
|
1786
1783
|
}
|
1787
1784
|
|
1788
|
-
export { ClassList, LightningElement, SYMBOL__DEFAULT_TEMPLATE, SYMBOL__GENERATE_MARKUP, SYMBOL__SET_INTERNALS, api, connectContext, createContextProvider, createElement, establishContextfulRelationship, fallbackTmpl, fallbackTmplNoYield,
|
1789
|
-
/** version: 8.
|
1785
|
+
export { ClassList, LightningElement, SYMBOL__DEFAULT_TEMPLATE, SYMBOL__GENERATE_MARKUP, SYMBOL__SET_INTERNALS, api, connectContext, createContextProvider, createElement, establishContextfulRelationship, fallbackTmpl, fallbackTmplNoYield, freezeTemplate, getComponentDef, hasScopedStaticStylesheets, hot, htmlEscape, isComponentConstructor, mutationTracker, normalizeClass, normalizeTextContent, parseFragment, parseSVGFragment, readonly, registerComponent, registerDecorators, registerTemplate, renderAttrs, renderAttrsNoYield, serverSideRenderComponent as renderComponent, renderStylesheets, renderTextContent, renderer, sanitizeAttribute, sanitizeHtmlContent, serverSideRenderComponent, setFeatureFlag, setFeatureFlagForTest, setHooks, swapComponent, swapStyle, swapTemplate, toIteratorDirective, track, unwrap$1 as unwrap, validateStyleTextContents, wire };
|
1786
|
+
/** version: 8.13.0 */
|
1790
1787
|
//# sourceMappingURL=index.js.map
|