@lwc/synthetic-shadow 9.3.4 → 9.3.6
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/index.cjs +8 -52
- package/dist/index.js +8 -52
- package/package.json +3 -3
- package/dist/faux-shadow/legacy-shadow-token.d.ts +0 -3
package/dist/index.cjs
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
if (!globalThis.lwcRuntimeFlags) {
|
|
5
5
|
Object.defineProperty(globalThis, 'lwcRuntimeFlags', { value: Object.create(null) });
|
|
6
6
|
}
|
|
7
|
-
if (!lwcRuntimeFlags.
|
|
7
|
+
if (!lwcRuntimeFlags.DISABLE_SYNTHETIC_SHADOW) {
|
|
8
8
|
'use strict';
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -191,13 +191,10 @@ const KEY__SHADOW_STATIC = '$shadowStaticNode$';
|
|
|
191
191
|
const KEY__SHADOW_STATIC_PRIVATE = '$shadowStaticNodeKey$';
|
|
192
192
|
const KEY__SHADOW_TOKEN = '$shadowToken$';
|
|
193
193
|
const KEY__SHADOW_TOKEN_PRIVATE = '$$ShadowTokenKey$$';
|
|
194
|
-
// TODO [#3733]: remove support for legacy scope tokens
|
|
195
|
-
const KEY__LEGACY_SHADOW_TOKEN = '$legacyShadowToken$';
|
|
196
|
-
const KEY__LEGACY_SHADOW_TOKEN_PRIVATE = '$$LegacyShadowTokenKey$$';
|
|
197
194
|
const KEY__SYNTHETIC_MODE = '$$lwc-synthetic-mode';
|
|
198
195
|
const KEY__NATIVE_GET_ELEMENT_BY_ID = '$nativeGetElementById$';
|
|
199
196
|
const KEY__NATIVE_QUERY_SELECTOR_ALL = '$nativeQuerySelectorAll$';
|
|
200
|
-
/** version: 9.3.
|
|
197
|
+
/** version: 9.3.6 */
|
|
201
198
|
|
|
202
199
|
/**
|
|
203
200
|
* Copyright (c) 2026 Salesforce, Inc.
|
|
@@ -205,7 +202,7 @@ const KEY__NATIVE_QUERY_SELECTOR_ALL = '$nativeQuerySelectorAll$';
|
|
|
205
202
|
if (!globalThis.lwcRuntimeFlags) {
|
|
206
203
|
Object.defineProperty(globalThis, 'lwcRuntimeFlags', { value: create(null) });
|
|
207
204
|
}
|
|
208
|
-
/** version: 9.3.
|
|
205
|
+
/** version: 9.3.6 */
|
|
209
206
|
|
|
210
207
|
/*
|
|
211
208
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -4231,40 +4228,6 @@ defineProperty(Element.prototype, KEY__SHADOW_STATIC, {
|
|
|
4231
4228
|
configurable: true,
|
|
4232
4229
|
});
|
|
4233
4230
|
|
|
4234
|
-
/*
|
|
4235
|
-
* Copyright (c) 2023, salesforce.com, inc.
|
|
4236
|
-
* All rights reserved.
|
|
4237
|
-
* SPDX-License-Identifier: MIT
|
|
4238
|
-
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
4239
|
-
*/
|
|
4240
|
-
// TODO [#3733]: remove this entire file when we can remove legacy scope tokens
|
|
4241
|
-
function getLegacyShadowToken(node) {
|
|
4242
|
-
return node[KEY__LEGACY_SHADOW_TOKEN];
|
|
4243
|
-
}
|
|
4244
|
-
function setLegacyShadowToken(node, shadowToken) {
|
|
4245
|
-
node[KEY__LEGACY_SHADOW_TOKEN] = shadowToken;
|
|
4246
|
-
}
|
|
4247
|
-
/**
|
|
4248
|
-
* Patching Element.prototype.$legacyShadowToken$ to mark elements a portal:
|
|
4249
|
-
* Same as $shadowToken$ but for legacy CSS scope tokens.
|
|
4250
|
-
*/
|
|
4251
|
-
defineProperty(Element.prototype, KEY__LEGACY_SHADOW_TOKEN, {
|
|
4252
|
-
set(shadowToken) {
|
|
4253
|
-
const oldShadowToken = this[KEY__LEGACY_SHADOW_TOKEN_PRIVATE];
|
|
4254
|
-
if (!isUndefined(oldShadowToken) && oldShadowToken !== shadowToken) {
|
|
4255
|
-
removeAttribute.call(this, oldShadowToken);
|
|
4256
|
-
}
|
|
4257
|
-
if (!isUndefined(shadowToken)) {
|
|
4258
|
-
setAttribute.call(this, shadowToken, '');
|
|
4259
|
-
}
|
|
4260
|
-
this[KEY__LEGACY_SHADOW_TOKEN_PRIVATE] = shadowToken;
|
|
4261
|
-
},
|
|
4262
|
-
get() {
|
|
4263
|
-
return this[KEY__LEGACY_SHADOW_TOKEN_PRIVATE];
|
|
4264
|
-
},
|
|
4265
|
-
configurable: true,
|
|
4266
|
-
});
|
|
4267
|
-
|
|
4268
4231
|
/*
|
|
4269
4232
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
4270
4233
|
* All rights reserved.
|
|
@@ -4282,8 +4245,7 @@ let portalObserver;
|
|
|
4282
4245
|
const portalObserverConfig = {
|
|
4283
4246
|
childList: true,
|
|
4284
4247
|
};
|
|
4285
|
-
|
|
4286
|
-
function adoptChildNode(node, fn, shadowToken, legacyShadowToken) {
|
|
4248
|
+
function adoptChildNode(node, fn, shadowToken) {
|
|
4287
4249
|
const previousNodeShadowResolver = getShadowRootResolver(node);
|
|
4288
4250
|
if (previousNodeShadowResolver === fn) {
|
|
4289
4251
|
return; // nothing to do here, it is already correctly patched
|
|
@@ -4291,9 +4253,6 @@ function adoptChildNode(node, fn, shadowToken, legacyShadowToken) {
|
|
|
4291
4253
|
setShadowRootResolver(node, fn);
|
|
4292
4254
|
if (node instanceof Element) {
|
|
4293
4255
|
setShadowToken(node, shadowToken);
|
|
4294
|
-
if (lwcRuntimeFlags.ENABLE_LEGACY_SCOPE_TOKENS) {
|
|
4295
|
-
setLegacyShadowToken(node, legacyShadowToken);
|
|
4296
|
-
}
|
|
4297
4256
|
if (isSyntheticShadowHost(node)) {
|
|
4298
4257
|
// Root LWC elements can't get content slotted into them, therefore we don't observe their children.
|
|
4299
4258
|
return;
|
|
@@ -4305,7 +4264,7 @@ function adoptChildNode(node, fn, shadowToken, legacyShadowToken) {
|
|
|
4305
4264
|
// recursively patching all children as well
|
|
4306
4265
|
const childNodes = childNodesGetter.call(node);
|
|
4307
4266
|
for (let i = 0, len = childNodes.length; i < len; i += 1) {
|
|
4308
|
-
adoptChildNode(childNodes[i], fn, shadowToken
|
|
4267
|
+
adoptChildNode(childNodes[i], fn, shadowToken);
|
|
4309
4268
|
}
|
|
4310
4269
|
}
|
|
4311
4270
|
}
|
|
@@ -4326,20 +4285,17 @@ function initPortalObserver() {
|
|
|
4326
4285
|
// the target of the mutation should always have a ShadowRootResolver attached to it
|
|
4327
4286
|
const fn = getShadowRootResolver(elm);
|
|
4328
4287
|
const shadowToken = getShadowToken(elm);
|
|
4329
|
-
const legacyShadowToken = lwcRuntimeFlags.ENABLE_LEGACY_SCOPE_TOKENS
|
|
4330
|
-
? getLegacyShadowToken(elm)
|
|
4331
|
-
: undefined;
|
|
4332
4288
|
// Process removals first to handle the case where an element is removed and reinserted
|
|
4333
4289
|
for (let i = 0, len = removedNodes.length; i < len; i += 1) {
|
|
4334
4290
|
const node = removedNodes[i];
|
|
4335
4291
|
if (!(compareDocumentPosition.call(elm, node) & _Node.DOCUMENT_POSITION_CONTAINED_BY)) {
|
|
4336
|
-
adoptChildNode(node, DocumentResolverFn, undefined
|
|
4292
|
+
adoptChildNode(node, DocumentResolverFn, undefined);
|
|
4337
4293
|
}
|
|
4338
4294
|
}
|
|
4339
4295
|
for (let i = 0, len = addedNodes.length; i < len; i += 1) {
|
|
4340
4296
|
const node = addedNodes[i];
|
|
4341
4297
|
if (compareDocumentPosition.call(elm, node) & _Node.DOCUMENT_POSITION_CONTAINED_BY) {
|
|
4342
|
-
adoptChildNode(node, fn, shadowToken
|
|
4298
|
+
adoptChildNode(node, fn, shadowToken);
|
|
4343
4299
|
}
|
|
4344
4300
|
}
|
|
4345
4301
|
});
|
|
@@ -4382,6 +4338,6 @@ defineProperty(Element.prototype, '$domManual$', {
|
|
|
4382
4338
|
},
|
|
4383
4339
|
configurable: true,
|
|
4384
4340
|
});
|
|
4385
|
-
/** version: 9.3.
|
|
4341
|
+
/** version: 9.3.6 */
|
|
4386
4342
|
}
|
|
4387
4343
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
if (!globalThis.lwcRuntimeFlags) {
|
|
5
5
|
Object.defineProperty(globalThis, 'lwcRuntimeFlags', { value: Object.create(null) });
|
|
6
6
|
}
|
|
7
|
-
if (!lwcRuntimeFlags.
|
|
7
|
+
if (!lwcRuntimeFlags.DISABLE_SYNTHETIC_SHADOW) {
|
|
8
8
|
/**
|
|
9
9
|
* Copyright (c) 2026 Salesforce, Inc.
|
|
10
10
|
*/
|
|
@@ -189,13 +189,10 @@ const KEY__SHADOW_STATIC = '$shadowStaticNode$';
|
|
|
189
189
|
const KEY__SHADOW_STATIC_PRIVATE = '$shadowStaticNodeKey$';
|
|
190
190
|
const KEY__SHADOW_TOKEN = '$shadowToken$';
|
|
191
191
|
const KEY__SHADOW_TOKEN_PRIVATE = '$$ShadowTokenKey$$';
|
|
192
|
-
// TODO [#3733]: remove support for legacy scope tokens
|
|
193
|
-
const KEY__LEGACY_SHADOW_TOKEN = '$legacyShadowToken$';
|
|
194
|
-
const KEY__LEGACY_SHADOW_TOKEN_PRIVATE = '$$LegacyShadowTokenKey$$';
|
|
195
192
|
const KEY__SYNTHETIC_MODE = '$$lwc-synthetic-mode';
|
|
196
193
|
const KEY__NATIVE_GET_ELEMENT_BY_ID = '$nativeGetElementById$';
|
|
197
194
|
const KEY__NATIVE_QUERY_SELECTOR_ALL = '$nativeQuerySelectorAll$';
|
|
198
|
-
/** version: 9.3.
|
|
195
|
+
/** version: 9.3.6 */
|
|
199
196
|
|
|
200
197
|
/**
|
|
201
198
|
* Copyright (c) 2026 Salesforce, Inc.
|
|
@@ -203,7 +200,7 @@ const KEY__NATIVE_QUERY_SELECTOR_ALL = '$nativeQuerySelectorAll$';
|
|
|
203
200
|
if (!globalThis.lwcRuntimeFlags) {
|
|
204
201
|
Object.defineProperty(globalThis, 'lwcRuntimeFlags', { value: create(null) });
|
|
205
202
|
}
|
|
206
|
-
/** version: 9.3.
|
|
203
|
+
/** version: 9.3.6 */
|
|
207
204
|
|
|
208
205
|
/*
|
|
209
206
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -4229,40 +4226,6 @@ defineProperty(Element.prototype, KEY__SHADOW_STATIC, {
|
|
|
4229
4226
|
configurable: true,
|
|
4230
4227
|
});
|
|
4231
4228
|
|
|
4232
|
-
/*
|
|
4233
|
-
* Copyright (c) 2023, salesforce.com, inc.
|
|
4234
|
-
* All rights reserved.
|
|
4235
|
-
* SPDX-License-Identifier: MIT
|
|
4236
|
-
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
4237
|
-
*/
|
|
4238
|
-
// TODO [#3733]: remove this entire file when we can remove legacy scope tokens
|
|
4239
|
-
function getLegacyShadowToken(node) {
|
|
4240
|
-
return node[KEY__LEGACY_SHADOW_TOKEN];
|
|
4241
|
-
}
|
|
4242
|
-
function setLegacyShadowToken(node, shadowToken) {
|
|
4243
|
-
node[KEY__LEGACY_SHADOW_TOKEN] = shadowToken;
|
|
4244
|
-
}
|
|
4245
|
-
/**
|
|
4246
|
-
* Patching Element.prototype.$legacyShadowToken$ to mark elements a portal:
|
|
4247
|
-
* Same as $shadowToken$ but for legacy CSS scope tokens.
|
|
4248
|
-
*/
|
|
4249
|
-
defineProperty(Element.prototype, KEY__LEGACY_SHADOW_TOKEN, {
|
|
4250
|
-
set(shadowToken) {
|
|
4251
|
-
const oldShadowToken = this[KEY__LEGACY_SHADOW_TOKEN_PRIVATE];
|
|
4252
|
-
if (!isUndefined(oldShadowToken) && oldShadowToken !== shadowToken) {
|
|
4253
|
-
removeAttribute.call(this, oldShadowToken);
|
|
4254
|
-
}
|
|
4255
|
-
if (!isUndefined(shadowToken)) {
|
|
4256
|
-
setAttribute.call(this, shadowToken, '');
|
|
4257
|
-
}
|
|
4258
|
-
this[KEY__LEGACY_SHADOW_TOKEN_PRIVATE] = shadowToken;
|
|
4259
|
-
},
|
|
4260
|
-
get() {
|
|
4261
|
-
return this[KEY__LEGACY_SHADOW_TOKEN_PRIVATE];
|
|
4262
|
-
},
|
|
4263
|
-
configurable: true,
|
|
4264
|
-
});
|
|
4265
|
-
|
|
4266
4229
|
/*
|
|
4267
4230
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
4268
4231
|
* All rights reserved.
|
|
@@ -4280,8 +4243,7 @@ let portalObserver;
|
|
|
4280
4243
|
const portalObserverConfig = {
|
|
4281
4244
|
childList: true,
|
|
4282
4245
|
};
|
|
4283
|
-
|
|
4284
|
-
function adoptChildNode(node, fn, shadowToken, legacyShadowToken) {
|
|
4246
|
+
function adoptChildNode(node, fn, shadowToken) {
|
|
4285
4247
|
const previousNodeShadowResolver = getShadowRootResolver(node);
|
|
4286
4248
|
if (previousNodeShadowResolver === fn) {
|
|
4287
4249
|
return; // nothing to do here, it is already correctly patched
|
|
@@ -4289,9 +4251,6 @@ function adoptChildNode(node, fn, shadowToken, legacyShadowToken) {
|
|
|
4289
4251
|
setShadowRootResolver(node, fn);
|
|
4290
4252
|
if (node instanceof Element) {
|
|
4291
4253
|
setShadowToken(node, shadowToken);
|
|
4292
|
-
if (lwcRuntimeFlags.ENABLE_LEGACY_SCOPE_TOKENS) {
|
|
4293
|
-
setLegacyShadowToken(node, legacyShadowToken);
|
|
4294
|
-
}
|
|
4295
4254
|
if (isSyntheticShadowHost(node)) {
|
|
4296
4255
|
// Root LWC elements can't get content slotted into them, therefore we don't observe their children.
|
|
4297
4256
|
return;
|
|
@@ -4303,7 +4262,7 @@ function adoptChildNode(node, fn, shadowToken, legacyShadowToken) {
|
|
|
4303
4262
|
// recursively patching all children as well
|
|
4304
4263
|
const childNodes = childNodesGetter.call(node);
|
|
4305
4264
|
for (let i = 0, len = childNodes.length; i < len; i += 1) {
|
|
4306
|
-
adoptChildNode(childNodes[i], fn, shadowToken
|
|
4265
|
+
adoptChildNode(childNodes[i], fn, shadowToken);
|
|
4307
4266
|
}
|
|
4308
4267
|
}
|
|
4309
4268
|
}
|
|
@@ -4324,20 +4283,17 @@ function initPortalObserver() {
|
|
|
4324
4283
|
// the target of the mutation should always have a ShadowRootResolver attached to it
|
|
4325
4284
|
const fn = getShadowRootResolver(elm);
|
|
4326
4285
|
const shadowToken = getShadowToken(elm);
|
|
4327
|
-
const legacyShadowToken = lwcRuntimeFlags.ENABLE_LEGACY_SCOPE_TOKENS
|
|
4328
|
-
? getLegacyShadowToken(elm)
|
|
4329
|
-
: undefined;
|
|
4330
4286
|
// Process removals first to handle the case where an element is removed and reinserted
|
|
4331
4287
|
for (let i = 0, len = removedNodes.length; i < len; i += 1) {
|
|
4332
4288
|
const node = removedNodes[i];
|
|
4333
4289
|
if (!(compareDocumentPosition.call(elm, node) & _Node.DOCUMENT_POSITION_CONTAINED_BY)) {
|
|
4334
|
-
adoptChildNode(node, DocumentResolverFn, undefined
|
|
4290
|
+
adoptChildNode(node, DocumentResolverFn, undefined);
|
|
4335
4291
|
}
|
|
4336
4292
|
}
|
|
4337
4293
|
for (let i = 0, len = addedNodes.length; i < len; i += 1) {
|
|
4338
4294
|
const node = addedNodes[i];
|
|
4339
4295
|
if (compareDocumentPosition.call(elm, node) & _Node.DOCUMENT_POSITION_CONTAINED_BY) {
|
|
4340
|
-
adoptChildNode(node, fn, shadowToken
|
|
4296
|
+
adoptChildNode(node, fn, shadowToken);
|
|
4341
4297
|
}
|
|
4342
4298
|
}
|
|
4343
4299
|
});
|
|
@@ -4380,6 +4336,6 @@ defineProperty(Element.prototype, '$domManual$', {
|
|
|
4380
4336
|
},
|
|
4381
4337
|
configurable: true,
|
|
4382
4338
|
});
|
|
4383
|
-
/** version: 9.3.
|
|
4339
|
+
/** version: 9.3.6 */
|
|
4384
4340
|
}
|
|
4385
4341
|
//# sourceMappingURL=index.js.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/synthetic-shadow",
|
|
7
|
-
"version": "9.3.
|
|
7
|
+
"version": "9.3.6",
|
|
8
8
|
"description": "Synthetic Shadow Root for LWC",
|
|
9
9
|
"keywords": [
|
|
10
10
|
"lwc"
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@lwc/features": "9.3.
|
|
55
|
-
"@lwc/shared": "9.3.
|
|
54
|
+
"@lwc/features": "9.3.6",
|
|
55
|
+
"@lwc/shared": "9.3.6"
|
|
56
56
|
},
|
|
57
57
|
"lwc": {
|
|
58
58
|
"modules": [
|