@lwc/synthetic-shadow 2.22.0 → 2.23.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -148,7 +148,7 @@ const KEY__SYNTHETIC_MODE = '$$lwc-synthetic-mode';
148
148
  // We use this to detect symbol support in order to avoid the expensive symbol polyfill. Note that
149
149
  // we can't use typeof since it will fail when transpiling.
150
150
  const hasNativeSymbolSupport = /*@__PURE__*/ (() => Symbol('x').toString() === 'Symbol(x)')();
151
- /** version: 2.22.0 */
151
+ /** version: 2.23.2 */
152
152
 
153
153
  /*
154
154
  * Copyright (c) 2018, salesforce.com, inc.
@@ -299,7 +299,7 @@ const elementsFromPoint = hasOwnProperty.call(Document.prototype, 'elementsFromP
299
299
  // defaultView can be null when a document has no browsing context. For example, the owner document
300
300
  // of a node in a template doesn't have a default view: https://jsfiddle.net/hv9z0q5a/
301
301
  const defaultViewGetter = getOwnPropertyDescriptor(Document.prototype, 'defaultView').get;
302
- const { createComment, createTreeWalker, querySelectorAll, getElementById, getElementsByClassName, getElementsByTagName, getElementsByTagNameNS, } = Document.prototype;
302
+ const { createComment, querySelectorAll, getElementById, getElementsByClassName, getElementsByTagName, getElementsByTagNameNS, } = Document.prototype;
303
303
  // In Firefox v57 and lower, getElementsByName is defined on HTMLDocument.prototype
304
304
  // In all other browsers have the method on Document.prototype
305
305
  const { getElementsByName } = HTMLDocument.prototype;
@@ -1123,8 +1123,8 @@ function createStaticHTMLCollection(items) {
1123
1123
  if (!_globalThis.lwcRuntimeFlags) {
1124
1124
  Object.defineProperty(_globalThis, 'lwcRuntimeFlags', { value: create(null) });
1125
1125
  }
1126
- const runtimeFlags = _globalThis.lwcRuntimeFlags;
1127
- /** version: 2.22.0 */
1126
+ const lwcRuntimeFlags = _globalThis.lwcRuntimeFlags;
1127
+ /** version: 2.23.2 */
1128
1128
 
1129
1129
  /*
1130
1130
  * Copyright (c) 2018, salesforce.com, inc.
@@ -1375,7 +1375,7 @@ defineProperties(_Node.prototype, {
1375
1375
  },
1376
1376
  textContent: {
1377
1377
  get() {
1378
- if (!runtimeFlags.ENABLE_NODE_PATCH) {
1378
+ if (!lwcRuntimeFlags.ENABLE_NODE_PATCH) {
1379
1379
  if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {
1380
1380
  return textContentGetterPatched.call(this);
1381
1381
  }
@@ -1482,7 +1482,7 @@ defineProperties(_Node.prototype, {
1482
1482
  return true;
1483
1483
  }
1484
1484
 
1485
- if (!runtimeFlags.ENABLE_NODE_PATCH) {
1485
+ if (!lwcRuntimeFlags.ENABLE_NODE_PATCH) {
1486
1486
  if (otherNode == null) {
1487
1487
  return false;
1488
1488
  }
@@ -1508,7 +1508,7 @@ defineProperties(_Node.prototype, {
1508
1508
  },
1509
1509
  cloneNode: {
1510
1510
  value(deep) {
1511
- if (!runtimeFlags.ENABLE_NODE_PATCH) {
1511
+ if (!lwcRuntimeFlags.ENABLE_NODE_PATCH) {
1512
1512
  if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {
1513
1513
  return cloneNodePatched.call(this, deep);
1514
1514
  }
@@ -3808,7 +3808,7 @@ function lastElementChildGetterPatched() {
3808
3808
  defineProperties(Element.prototype, {
3809
3809
  innerHTML: {
3810
3810
  get() {
3811
- if (!runtimeFlags.ENABLE_ELEMENT_PATCH) {
3811
+ if (!lwcRuntimeFlags.ENABLE_ELEMENT_PATCH) {
3812
3812
  if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {
3813
3813
  return innerHTMLGetterPatched.call(this);
3814
3814
  }
@@ -3833,7 +3833,7 @@ defineProperties(Element.prototype, {
3833
3833
  },
3834
3834
  outerHTML: {
3835
3835
  get() {
3836
- if (!runtimeFlags.ENABLE_ELEMENT_PATCH) {
3836
+ if (!lwcRuntimeFlags.ENABLE_ELEMENT_PATCH) {
3837
3837
  if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {
3838
3838
  return outerHTMLGetterPatched.call(this);
3839
3839
  }
@@ -3961,7 +3961,7 @@ function querySelectorPatched() {
3961
3961
  const elm = ArrayFind.call(nodeList, elm => getNodeNearestOwnerKey(elm) === ownerKey);
3962
3962
  return isUndefined(elm) ? null : elm;
3963
3963
  } else {
3964
- if (!runtimeFlags.ENABLE_NODE_LIST_PATCH) {
3964
+ if (!lwcRuntimeFlags.ENABLE_NODE_LIST_PATCH) {
3965
3965
  // `this` is a manually inserted element inside a shadowRoot, return the first element.
3966
3966
  return nodeList.length === 0 ? null : nodeList[0];
3967
3967
  } // Element is inside a shadow but we dont know which one. Use the
@@ -3973,7 +3973,7 @@ function querySelectorPatched() {
3973
3973
  return isUndefined(elm) ? null : elm;
3974
3974
  }
3975
3975
  } else {
3976
- if (!runtimeFlags.ENABLE_NODE_LIST_PATCH) {
3976
+ if (!lwcRuntimeFlags.ENABLE_NODE_LIST_PATCH) {
3977
3977
  if (!(this instanceof HTMLBodyElement)) {
3978
3978
  const elm = nodeList[0];
3979
3979
  return isUndefined(elm) ? null : elm;
@@ -4056,7 +4056,7 @@ defineProperties(Element.prototype, {
4056
4056
  value() {
4057
4057
  const nodeList = arrayFromCollection(querySelectorAll$1.apply(this, ArraySlice.call(arguments)));
4058
4058
 
4059
- if (!runtimeFlags.ENABLE_NODE_LIST_PATCH) {
4059
+ if (!lwcRuntimeFlags.ENABLE_NODE_LIST_PATCH) {
4060
4060
  const filteredResults = getFilteredArrayOfNodes(this, nodeList, 0
4061
4061
  /* ShadowDomSemantic.Disabled */
4062
4062
  );
@@ -4080,7 +4080,7 @@ if (process.env.NODE_ENV !== 'test') {
4080
4080
  value() {
4081
4081
  const elements = arrayFromCollection(getElementsByClassName$1.apply(this, ArraySlice.call(arguments)));
4082
4082
 
4083
- if (!runtimeFlags.ENABLE_HTML_COLLECTIONS_PATCH) {
4083
+ if (!lwcRuntimeFlags.ENABLE_HTML_COLLECTIONS_PATCH) {
4084
4084
  return createStaticHTMLCollection(getNonPatchedFilteredArrayOfNodes(this, elements));
4085
4085
  }
4086
4086
 
@@ -4098,7 +4098,7 @@ if (process.env.NODE_ENV !== 'test') {
4098
4098
  value() {
4099
4099
  const elements = arrayFromCollection(getElementsByTagName$1.apply(this, ArraySlice.call(arguments)));
4100
4100
 
4101
- if (!runtimeFlags.ENABLE_HTML_COLLECTIONS_PATCH) {
4101
+ if (!lwcRuntimeFlags.ENABLE_HTML_COLLECTIONS_PATCH) {
4102
4102
  return createStaticHTMLCollection(getNonPatchedFilteredArrayOfNodes(this, elements));
4103
4103
  }
4104
4104
 
@@ -4116,7 +4116,7 @@ if (process.env.NODE_ENV !== 'test') {
4116
4116
  value() {
4117
4117
  const elements = arrayFromCollection(getElementsByTagNameNS$1.apply(this, ArraySlice.call(arguments)));
4118
4118
 
4119
- if (!runtimeFlags.ENABLE_HTML_COLLECTIONS_PATCH) {
4119
+ if (!lwcRuntimeFlags.ENABLE_HTML_COLLECTIONS_PATCH) {
4120
4120
  return createStaticHTMLCollection(getNonPatchedFilteredArrayOfNodes(this, elements));
4121
4121
  }
4122
4122
 
@@ -4848,11 +4848,11 @@ defineProperties(HTMLElement.prototype, {
4848
4848
  if (innerTextGetter !== null && innerTextSetter !== null) {
4849
4849
  defineProperty(HTMLElement.prototype, 'innerText', {
4850
4850
  get() {
4851
- if (!runtimeFlags.ENABLE_INNER_OUTER_TEXT_PATCH) {
4851
+ if (!lwcRuntimeFlags.ENABLE_INNER_OUTER_TEXT_PATCH) {
4852
4852
  return innerTextGetter.call(this);
4853
4853
  }
4854
4854
 
4855
- if (!runtimeFlags.ENABLE_ELEMENT_PATCH) {
4855
+ if (!lwcRuntimeFlags.ENABLE_ELEMENT_PATCH) {
4856
4856
  if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {
4857
4857
  return getInnerText(this);
4858
4858
  }
@@ -4884,11 +4884,11 @@ if (outerTextGetter !== null && outerTextSetter !== null) {
4884
4884
  // As a setter, it removes the current node and replaces it with the given text.
4885
4885
  defineProperty(HTMLElement.prototype, 'outerText', {
4886
4886
  get() {
4887
- if (!runtimeFlags.ENABLE_INNER_OUTER_TEXT_PATCH) {
4887
+ if (!lwcRuntimeFlags.ENABLE_INNER_OUTER_TEXT_PATCH) {
4888
4888
  return outerTextGetter.call(this);
4889
4889
  }
4890
4890
 
4891
- if (!runtimeFlags.ENABLE_ELEMENT_PATCH) {
4891
+ if (!lwcRuntimeFlags.ENABLE_ELEMENT_PATCH) {
4892
4892
  if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {
4893
4893
  return getInnerText(this);
4894
4894
  }
@@ -4953,16 +4953,19 @@ defineProperty(Element.prototype, KEY__SHADOW_TOKEN, {
4953
4953
  },
4954
4954
  configurable: true,
4955
4955
  });
4956
+ function recursivelySetShadowResolver(node, fn) {
4957
+ node[KEY__SHADOW_RESOLVER] = fn;
4958
+ const childNodes = childNodesGetter.call(node);
4959
+ for (let i = 0, n = childNodes.length; i < n; i++) {
4960
+ recursivelySetShadowResolver(childNodes[i], fn);
4961
+ }
4962
+ }
4956
4963
  defineProperty(Element.prototype, KEY__SHADOW_STATIC, {
4957
4964
  set(v) {
4958
4965
  // Marking an element as static will propagate the shadow resolver to the children.
4959
- const fn = this[KEY__SHADOW_RESOLVER];
4960
4966
  if (v) {
4961
- const treeWalker = createTreeWalker.call(getOwnerDocument(this), this, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, () => NodeFilter.FILTER_ACCEPT, false);
4962
- let currentNode;
4963
- while ((currentNode = treeWalker.nextNode())) {
4964
- currentNode[KEY__SHADOW_RESOLVER] = fn;
4965
- }
4967
+ const fn = this[KEY__SHADOW_RESOLVER];
4968
+ recursivelySetShadowResolver(this, fn);
4966
4969
  }
4967
4970
  this[KEY__SHADOW_STATIC_PRIVATE] = v;
4968
4971
  },
@@ -5099,7 +5102,7 @@ if (process.env.NODE_ENV !== 'production' && typeof __karma__ !== 'undefined') {
5099
5102
  window.addEventListener('test-dummy-flag', () => {
5100
5103
  let hasFlag = false;
5101
5104
 
5102
- if (runtimeFlags.DUMMY_TEST_FLAG) {
5105
+ if (lwcRuntimeFlags.DUMMY_TEST_FLAG) {
5103
5106
  hasFlag = true;
5104
5107
  }
5105
5108
 
@@ -5111,4 +5114,4 @@ if (process.env.NODE_ENV !== 'production' && typeof __karma__ !== 'undefined') {
5111
5114
  }));
5112
5115
  });
5113
5116
  }
5114
- /** version: 2.22.0 */
5117
+ /** version: 2.23.2 */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lwc/synthetic-shadow",
3
- "version": "2.22.0",
3
+ "version": "2.23.2",
4
4
  "description": "Synthetic Shadow Root for LWC",
5
5
  "homepage": "https://lwc.dev/",
6
6
  "repository": {
@@ -37,7 +37,7 @@
37
37
  "access": "public"
38
38
  },
39
39
  "devDependencies": {
40
- "@lwc/features": "2.22.0",
41
- "@lwc/shared": "2.22.0"
40
+ "@lwc/features": "2.23.2",
41
+ "@lwc/shared": "2.23.2"
42
42
  }
43
43
  }