@lwc/shared 8.22.1 → 8.22.4

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.
@@ -4,7 +4,10 @@ export declare const enum APIVersion {
4
4
  V60_248_SPRING_24 = 60,
5
5
  V61_250_SUMMER_24 = 61,
6
6
  V62_252_WINTER_25 = 62,
7
- V63_254_SPRING_25 = 63
7
+ V63_254_SPRING_25 = 63,
8
+ V64_256_SUMMER_25 = 64,
9
+ V65_258_WINTER_26 = 65,
10
+ V66_260_SPRING_26 = 66
8
11
  }
9
12
  export declare const LOWEST_API_VERSION: APIVersion;
10
13
  export declare const HIGHEST_API_VERSION: APIVersion;
@@ -70,6 +73,10 @@ export declare const enum APIFeature {
70
73
  */
71
74
  ENABLE_COMPLEX_TEMPLATE_EXPRESSIONS = 11
72
75
  }
76
+ /**
77
+ * @param apiVersionFeature
78
+ */
79
+ export declare function minApiVersion(apiVersionFeature: APIFeature): APIVersion;
73
80
  /**
74
81
  *
75
82
  * @param apiVersionFeature
package/dist/index.cjs.js CHANGED
@@ -274,6 +274,9 @@ const allVersions = [
274
274
  61 /* APIVersion.V61_250_SUMMER_24 */,
275
275
  62 /* APIVersion.V62_252_WINTER_25 */,
276
276
  63 /* APIVersion.V63_254_SPRING_25 */,
277
+ 64 /* APIVersion.V64_256_SUMMER_25 */,
278
+ 65 /* APIVersion.V65_258_WINTER_26 */,
279
+ 66 /* APIVersion.V66_260_SPRING_26 */,
277
280
  ];
278
281
  const allVersionsSet = /*@__PURE__@*/ new Set(allVersions);
279
282
  const LOWEST_API_VERSION = allVersions[0];
@@ -305,31 +308,37 @@ function getAPIVersionFromNumber(version) {
305
308
  return HIGHEST_API_VERSION;
306
309
  }
307
310
  /**
308
- *
309
311
  * @param apiVersionFeature
310
- * @param apiVersion
311
312
  */
312
- function isAPIFeatureEnabled(apiVersionFeature, apiVersion) {
313
+ function minApiVersion(apiVersionFeature) {
313
314
  switch (apiVersionFeature) {
314
315
  case 0 /* APIFeature.LOWERCASE_SCOPE_TOKENS */:
315
316
  case 1 /* APIFeature.TREAT_ALL_PARSE5_ERRORS_AS_ERRORS */:
316
- return apiVersion >= 59 /* APIVersion.V59_246_WINTER_24 */;
317
+ return 59 /* APIVersion.V59_246_WINTER_24 */;
317
318
  case 3 /* APIFeature.DISABLE_OBJECT_REST_SPREAD_TRANSFORMATION */:
318
319
  case 4 /* APIFeature.SKIP_UNNECESSARY_REGISTER_DECORATORS */:
319
320
  case 5 /* APIFeature.USE_COMMENTS_FOR_FRAGMENT_BOOKENDS */:
320
321
  case 2 /* APIFeature.USE_FRAGMENTS_FOR_LIGHT_DOM_SLOTS */:
321
- return apiVersion >= 60 /* APIVersion.V60_248_SPRING_24 */;
322
+ return 60 /* APIVersion.V60_248_SPRING_24 */;
322
323
  case 7 /* APIFeature.ENABLE_ELEMENT_INTERNALS_AND_FACE */:
323
324
  case 6 /* APIFeature.USE_LIGHT_DOM_SLOT_FORWARDING */:
324
- return apiVersion >= 61 /* APIVersion.V61_250_SUMMER_24 */;
325
+ return 61 /* APIVersion.V61_250_SUMMER_24 */;
325
326
  case 8 /* APIFeature.ENABLE_THIS_DOT_HOST_ELEMENT */:
326
327
  case 9 /* APIFeature.ENABLE_THIS_DOT_STYLE */:
327
328
  case 10 /* APIFeature.TEMPLATE_CLASS_NAME_OBJECT_BINDING */:
328
- return apiVersion >= 62 /* APIVersion.V62_252_WINTER_25 */;
329
+ return 62 /* APIVersion.V62_252_WINTER_25 */;
329
330
  case 11 /* APIFeature.ENABLE_COMPLEX_TEMPLATE_EXPRESSIONS */:
330
- return apiVersion >= 63 /* APIVersion.V63_254_SPRING_25 */;
331
+ return 66 /* APIVersion.V66_260_SPRING_26 */;
331
332
  }
332
333
  }
334
+ /**
335
+ *
336
+ * @param apiVersionFeature
337
+ * @param apiVersion
338
+ */
339
+ function isAPIFeatureEnabled(apiVersionFeature, apiVersion) {
340
+ return apiVersion >= minApiVersion(apiVersionFeature);
341
+ }
333
342
 
334
343
  /*
335
344
  * Copyright (c) 2018, salesforce.com, inc.
@@ -771,7 +780,7 @@ function htmlEscape(str, attrMode = false) {
771
780
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
772
781
  */
773
782
  // Increment whenever the LWC template compiler changes
774
- const LWC_VERSION = "8.22.1";
783
+ const LWC_VERSION = "8.22.4";
775
784
  const LWC_VERSION_COMMENT = `LWC compiler v${LWC_VERSION}`;
776
785
  const LWC_VERSION_COMMENT_REGEX = /\/\*LWC compiler v([\d.]+)\*\/\s*}/;
777
786
 
@@ -902,12 +911,26 @@ let trustedSignals;
902
911
  function setTrustedSignalSet(signals) {
903
912
  isFalse$1(trustedSignals, 'Trusted Signal Set is already set!');
904
913
  trustedSignals = signals;
914
+ // Only used in LWC's Karma. Contained within the set function as there are multiple imports of
915
+ // this module. Placing it here ensures we reference the import where the trustedSignals set is maintained
916
+ if (process.env.NODE_ENV === 'test-karma-lwc') {
917
+ // Used to reset the global state between test runs
918
+ globalThis.__lwcResetTrustedSignalsSetForTest = () => (trustedSignals = undefined);
919
+ }
905
920
  }
906
921
  function addTrustedSignal(signal) {
907
922
  // This should be a no-op when the trustedSignals set isn't set by runtime
908
923
  trustedSignals?.add(signal);
909
924
  }
910
- function isTrustedSignal(target) {
925
+ /**
926
+ * The legacy validation behavior was that this check should only
927
+ * be performed for runtimes that have provided a trustedSignals set.
928
+ * However, this resulted in a bug as all object values were
929
+ * being considered signals in environments where the trustedSignals
930
+ * set had not been defined. The runtime flag has been added as a killswitch
931
+ * in case the fix needs to be reverted.
932
+ */
933
+ function legacyIsTrustedSignal(target) {
911
934
  if (!trustedSignals) {
912
935
  // The runtime didn't set a trustedSignals set
913
936
  // this check should only be performed for runtimes that care about filtering signals to track
@@ -916,6 +939,12 @@ function isTrustedSignal(target) {
916
939
  }
917
940
  return trustedSignals.has(target);
918
941
  }
942
+ function isTrustedSignal(target) {
943
+ if (!trustedSignals) {
944
+ return false;
945
+ }
946
+ return trustedSignals.has(target);
947
+ }
919
948
 
920
949
  /*
921
950
  * Copyright (c) 2024, salesforce.com, inc.
@@ -1079,6 +1108,8 @@ exports.isUndefined = isUndefined;
1079
1108
  exports.isVoidElement = isVoidElement;
1080
1109
  exports.kebabCaseToCamelCase = kebabCaseToCamelCase;
1081
1110
  exports.keys = keys;
1111
+ exports.legacyIsTrustedSignal = legacyIsTrustedSignal;
1112
+ exports.minApiVersion = minApiVersion;
1082
1113
  exports.noop = noop;
1083
1114
  exports.normalizeClass = normalizeClass;
1084
1115
  exports.normalizeStyleAttributeValue = normalizeStyleAttributeValue;
@@ -1092,5 +1123,5 @@ exports.setPrototypeOf = setPrototypeOf;
1092
1123
  exports.setTrustedContextSet = setTrustedContextSet;
1093
1124
  exports.setTrustedSignalSet = setTrustedSignalSet;
1094
1125
  exports.toString = toString;
1095
- /** version: 8.22.1 */
1126
+ /** version: 8.22.4 */
1096
1127
  //# sourceMappingURL=index.cjs.js.map
package/dist/index.js CHANGED
@@ -270,6 +270,9 @@ const allVersions = [
270
270
  61 /* APIVersion.V61_250_SUMMER_24 */,
271
271
  62 /* APIVersion.V62_252_WINTER_25 */,
272
272
  63 /* APIVersion.V63_254_SPRING_25 */,
273
+ 64 /* APIVersion.V64_256_SUMMER_25 */,
274
+ 65 /* APIVersion.V65_258_WINTER_26 */,
275
+ 66 /* APIVersion.V66_260_SPRING_26 */,
273
276
  ];
274
277
  const allVersionsSet = /*@__PURE__@*/ new Set(allVersions);
275
278
  const LOWEST_API_VERSION = allVersions[0];
@@ -301,31 +304,37 @@ function getAPIVersionFromNumber(version) {
301
304
  return HIGHEST_API_VERSION;
302
305
  }
303
306
  /**
304
- *
305
307
  * @param apiVersionFeature
306
- * @param apiVersion
307
308
  */
308
- function isAPIFeatureEnabled(apiVersionFeature, apiVersion) {
309
+ function minApiVersion(apiVersionFeature) {
309
310
  switch (apiVersionFeature) {
310
311
  case 0 /* APIFeature.LOWERCASE_SCOPE_TOKENS */:
311
312
  case 1 /* APIFeature.TREAT_ALL_PARSE5_ERRORS_AS_ERRORS */:
312
- return apiVersion >= 59 /* APIVersion.V59_246_WINTER_24 */;
313
+ return 59 /* APIVersion.V59_246_WINTER_24 */;
313
314
  case 3 /* APIFeature.DISABLE_OBJECT_REST_SPREAD_TRANSFORMATION */:
314
315
  case 4 /* APIFeature.SKIP_UNNECESSARY_REGISTER_DECORATORS */:
315
316
  case 5 /* APIFeature.USE_COMMENTS_FOR_FRAGMENT_BOOKENDS */:
316
317
  case 2 /* APIFeature.USE_FRAGMENTS_FOR_LIGHT_DOM_SLOTS */:
317
- return apiVersion >= 60 /* APIVersion.V60_248_SPRING_24 */;
318
+ return 60 /* APIVersion.V60_248_SPRING_24 */;
318
319
  case 7 /* APIFeature.ENABLE_ELEMENT_INTERNALS_AND_FACE */:
319
320
  case 6 /* APIFeature.USE_LIGHT_DOM_SLOT_FORWARDING */:
320
- return apiVersion >= 61 /* APIVersion.V61_250_SUMMER_24 */;
321
+ return 61 /* APIVersion.V61_250_SUMMER_24 */;
321
322
  case 8 /* APIFeature.ENABLE_THIS_DOT_HOST_ELEMENT */:
322
323
  case 9 /* APIFeature.ENABLE_THIS_DOT_STYLE */:
323
324
  case 10 /* APIFeature.TEMPLATE_CLASS_NAME_OBJECT_BINDING */:
324
- return apiVersion >= 62 /* APIVersion.V62_252_WINTER_25 */;
325
+ return 62 /* APIVersion.V62_252_WINTER_25 */;
325
326
  case 11 /* APIFeature.ENABLE_COMPLEX_TEMPLATE_EXPRESSIONS */:
326
- return apiVersion >= 63 /* APIVersion.V63_254_SPRING_25 */;
327
+ return 66 /* APIVersion.V66_260_SPRING_26 */;
327
328
  }
328
329
  }
330
+ /**
331
+ *
332
+ * @param apiVersionFeature
333
+ * @param apiVersion
334
+ */
335
+ function isAPIFeatureEnabled(apiVersionFeature, apiVersion) {
336
+ return apiVersion >= minApiVersion(apiVersionFeature);
337
+ }
329
338
 
330
339
  /*
331
340
  * Copyright (c) 2018, salesforce.com, inc.
@@ -767,7 +776,7 @@ function htmlEscape(str, attrMode = false) {
767
776
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
768
777
  */
769
778
  // Increment whenever the LWC template compiler changes
770
- const LWC_VERSION = "8.22.1";
779
+ const LWC_VERSION = "8.22.4";
771
780
  const LWC_VERSION_COMMENT = `LWC compiler v${LWC_VERSION}`;
772
781
  const LWC_VERSION_COMMENT_REGEX = /\/\*LWC compiler v([\d.]+)\*\/\s*}/;
773
782
 
@@ -898,12 +907,26 @@ let trustedSignals;
898
907
  function setTrustedSignalSet(signals) {
899
908
  isFalse$1(trustedSignals, 'Trusted Signal Set is already set!');
900
909
  trustedSignals = signals;
910
+ // Only used in LWC's Karma. Contained within the set function as there are multiple imports of
911
+ // this module. Placing it here ensures we reference the import where the trustedSignals set is maintained
912
+ if (process.env.NODE_ENV === 'test-karma-lwc') {
913
+ // Used to reset the global state between test runs
914
+ globalThis.__lwcResetTrustedSignalsSetForTest = () => (trustedSignals = undefined);
915
+ }
901
916
  }
902
917
  function addTrustedSignal(signal) {
903
918
  // This should be a no-op when the trustedSignals set isn't set by runtime
904
919
  trustedSignals?.add(signal);
905
920
  }
906
- function isTrustedSignal(target) {
921
+ /**
922
+ * The legacy validation behavior was that this check should only
923
+ * be performed for runtimes that have provided a trustedSignals set.
924
+ * However, this resulted in a bug as all object values were
925
+ * being considered signals in environments where the trustedSignals
926
+ * set had not been defined. The runtime flag has been added as a killswitch
927
+ * in case the fix needs to be reverted.
928
+ */
929
+ function legacyIsTrustedSignal(target) {
907
930
  if (!trustedSignals) {
908
931
  // The runtime didn't set a trustedSignals set
909
932
  // this check should only be performed for runtimes that care about filtering signals to track
@@ -912,6 +935,12 @@ function isTrustedSignal(target) {
912
935
  }
913
936
  return trustedSignals.has(target);
914
937
  }
938
+ function isTrustedSignal(target) {
939
+ if (!trustedSignals) {
940
+ return false;
941
+ }
942
+ return trustedSignals.has(target);
943
+ }
915
944
 
916
945
  /*
917
946
  * Copyright (c) 2024, salesforce.com, inc.
@@ -967,6 +996,6 @@ function normalizeTabIndex(value) {
967
996
  return shouldNormalize ? 0 : value;
968
997
  }
969
998
 
970
- export { AMBIGUOUS_PROP_SET, AriaAttrNameToPropNameMap, AriaPropNameToAttrNameMap, ArrayConcat, ArrayCopyWithin, ArrayEvery, ArrayFill, ArrayFilter, ArrayFind, ArrayFindIndex, ArrayFrom, ArrayIncludes, ArrayIndexOf, ArrayJoin, ArrayMap, ArrayPop, ArrayPush, ArrayReduce, ArrayReverse, ArrayShift, ArraySlice, ArraySome, ArraySort, ArraySplice, ArrayUnshift, ContextEventName, DEFAULT_SSR_MODE, DISALLOWED_PROP_SET, HIGHEST_API_VERSION, HTML_NAMESPACE, ID_REFERENCING_ATTRIBUTES_SET, IMPORTANT_FLAG, KEY__LEGACY_SHADOW_TOKEN, KEY__LEGACY_SHADOW_TOKEN_PRIVATE, KEY__NATIVE_GET_ELEMENT_BY_ID, KEY__NATIVE_ONLY_CSS, KEY__NATIVE_QUERY_SELECTOR_ALL, KEY__SCOPED_CSS, KEY__SHADOW_RESOLVER, KEY__SHADOW_RESOLVER_PRIVATE, KEY__SHADOW_STATIC, KEY__SHADOW_STATIC_PRIVATE, KEY__SHADOW_TOKEN, KEY__SHADOW_TOKEN_PRIVATE, KEY__SYNTHETIC_MODE, LOWEST_API_VERSION, LWC_VERSION, LWC_VERSION_COMMENT, LWC_VERSION_COMMENT_REGEX, MATHML_NAMESPACE, REFLECTIVE_GLOBAL_PROPERTY_SET, SPECIAL_PROPERTY_ATTRIBUTE_MAPPING, SVG_NAMESPACE, StringCharAt, StringCharCodeAt, StringFromCharCode, StringReplace, StringSlice, StringSplit, StringToLowerCase, StringTrim, XLINK_NAMESPACE, XML_NAMESPACE, addTrustedContext, addTrustedSignal, arrayEvery, assert, assign, create, defineProperties, defineProperty, entries, flattenStylesheets, forEach, freeze, fromEntries, generateCustomElementTagName, getAPIVersionFromNumber, getContextKeys, getOwnPropertyDescriptor, getOwnPropertyDescriptors, getOwnPropertyNames, getOwnPropertySymbols, getPropertyDescriptor, getPrototypeOf, hasOwnProperty, htmlEscape, htmlPropertyToAttribute, isAPIFeatureEnabled, isAriaAttribute, isArray, isBoolean, isBooleanAttribute, isFalse, isFrozen, isFunction, isGlobalHtmlAttribute, isNull, isNumber, isObject, isString, isTrue, isTrustedContext, isTrustedSignal, isUndefined, isVoidElement, kebabCaseToCamelCase, keys, noop, normalizeClass, normalizeStyleAttributeValue, normalizeTabIndex, parseStyleText, sanitizeHtmlContent, seal, setContextKeys, setHooks, setPrototypeOf, setTrustedContextSet, setTrustedSignalSet, toString };
971
- /** version: 8.22.1 */
999
+ export { AMBIGUOUS_PROP_SET, AriaAttrNameToPropNameMap, AriaPropNameToAttrNameMap, ArrayConcat, ArrayCopyWithin, ArrayEvery, ArrayFill, ArrayFilter, ArrayFind, ArrayFindIndex, ArrayFrom, ArrayIncludes, ArrayIndexOf, ArrayJoin, ArrayMap, ArrayPop, ArrayPush, ArrayReduce, ArrayReverse, ArrayShift, ArraySlice, ArraySome, ArraySort, ArraySplice, ArrayUnshift, ContextEventName, DEFAULT_SSR_MODE, DISALLOWED_PROP_SET, HIGHEST_API_VERSION, HTML_NAMESPACE, ID_REFERENCING_ATTRIBUTES_SET, IMPORTANT_FLAG, KEY__LEGACY_SHADOW_TOKEN, KEY__LEGACY_SHADOW_TOKEN_PRIVATE, KEY__NATIVE_GET_ELEMENT_BY_ID, KEY__NATIVE_ONLY_CSS, KEY__NATIVE_QUERY_SELECTOR_ALL, KEY__SCOPED_CSS, KEY__SHADOW_RESOLVER, KEY__SHADOW_RESOLVER_PRIVATE, KEY__SHADOW_STATIC, KEY__SHADOW_STATIC_PRIVATE, KEY__SHADOW_TOKEN, KEY__SHADOW_TOKEN_PRIVATE, KEY__SYNTHETIC_MODE, LOWEST_API_VERSION, LWC_VERSION, LWC_VERSION_COMMENT, LWC_VERSION_COMMENT_REGEX, MATHML_NAMESPACE, REFLECTIVE_GLOBAL_PROPERTY_SET, SPECIAL_PROPERTY_ATTRIBUTE_MAPPING, SVG_NAMESPACE, StringCharAt, StringCharCodeAt, StringFromCharCode, StringReplace, StringSlice, StringSplit, StringToLowerCase, StringTrim, XLINK_NAMESPACE, XML_NAMESPACE, addTrustedContext, addTrustedSignal, arrayEvery, assert, assign, create, defineProperties, defineProperty, entries, flattenStylesheets, forEach, freeze, fromEntries, generateCustomElementTagName, getAPIVersionFromNumber, getContextKeys, getOwnPropertyDescriptor, getOwnPropertyDescriptors, getOwnPropertyNames, getOwnPropertySymbols, getPropertyDescriptor, getPrototypeOf, hasOwnProperty, htmlEscape, htmlPropertyToAttribute, isAPIFeatureEnabled, isAriaAttribute, isArray, isBoolean, isBooleanAttribute, isFalse, isFrozen, isFunction, isGlobalHtmlAttribute, isNull, isNumber, isObject, isString, isTrue, isTrustedContext, isTrustedSignal, isUndefined, isVoidElement, kebabCaseToCamelCase, keys, legacyIsTrustedSignal, minApiVersion, noop, normalizeClass, normalizeStyleAttributeValue, normalizeTabIndex, parseStyleText, sanitizeHtmlContent, seal, setContextKeys, setHooks, setPrototypeOf, setTrustedContextSet, setTrustedSignalSet, toString };
1000
+ /** version: 8.22.4 */
972
1001
  //# sourceMappingURL=index.js.map
package/dist/signals.d.ts CHANGED
@@ -1,4 +1,13 @@
1
1
  export declare function setTrustedSignalSet(signals: WeakSet<object>): void;
2
2
  export declare function addTrustedSignal(signal: object): void;
3
+ /**
4
+ * The legacy validation behavior was that this check should only
5
+ * be performed for runtimes that have provided a trustedSignals set.
6
+ * However, this resulted in a bug as all object values were
7
+ * being considered signals in environments where the trustedSignals
8
+ * set had not been defined. The runtime flag has been added as a killswitch
9
+ * in case the fix needs to be reverted.
10
+ */
11
+ export declare function legacyIsTrustedSignal(target: object): boolean;
3
12
  export declare function isTrustedSignal(target: object): boolean;
4
13
  //# sourceMappingURL=signals.d.ts.map
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten."
5
5
  ],
6
6
  "name": "@lwc/shared",
7
- "version": "8.22.1",
7
+ "version": "8.22.4",
8
8
  "description": "Utilities and methods that are shared across packages",
9
9
  "keywords": [
10
10
  "lwc"