@lwc/synthetic-shadow 3.0.1 → 3.1.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/env/document.d.ts +2 -2
- package/dist/faux-shadow/node.d.ts +0 -7
- package/dist/faux-shadow/shadow-root.d.ts +0 -7
- package/dist/index.cjs.js +31 -316
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +31 -316
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/polyfills/iframe-content-window/detect.d.ts +0 -1
- package/dist/polyfills/iframe-content-window/main.d.ts +0 -1
- package/dist/polyfills/iframe-content-window/patch.d.ts +0 -1
- package/dist/polyfills/window-event-target/detect.d.ts +0 -1
- package/dist/polyfills/window-event-target/main.d.ts +0 -1
- package/dist/polyfills/window-event-target/polyfill.d.ts +0 -1
package/dist/index.d.ts
CHANGED
@@ -14,10 +14,8 @@ import './polyfills/click-event-composed/main';
|
|
14
14
|
import './polyfills/event-composed/main';
|
15
15
|
import './polyfills/custom-event-composed/main';
|
16
16
|
import './polyfills/clipboard-event-composed/main';
|
17
|
-
import './polyfills/iframe-content-window/main';
|
18
17
|
import './polyfills/mutation-observer/main';
|
19
18
|
import './polyfills/event-target/main';
|
20
|
-
import './polyfills/window-event-target/main';
|
21
19
|
import './polyfills/event/main';
|
22
20
|
import './polyfills/focus-event/main';
|
23
21
|
import './polyfills/mouse-event/main';
|
package/dist/index.js
CHANGED
@@ -112,17 +112,7 @@ const KEY__SHADOW_TOKEN_PRIVATE = '$$ShadowTokenKey$$';
|
|
112
112
|
const KEY__SYNTHETIC_MODE = '$$lwc-synthetic-mode';
|
113
113
|
const KEY__NATIVE_GET_ELEMENT_BY_ID = '$nativeGetElementById$';
|
114
114
|
const KEY__NATIVE_QUERY_SELECTOR_ALL = '$nativeQuerySelectorAll$';
|
115
|
-
|
116
|
-
/*
|
117
|
-
* Copyright (c) 2018, salesforce.com, inc.
|
118
|
-
* All rights reserved.
|
119
|
-
* SPDX-License-Identifier: MIT
|
120
|
-
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
121
|
-
*/
|
122
|
-
// We use this to detect symbol support in order to avoid the expensive symbol polyfill. Note that
|
123
|
-
// we can't use typeof since it will fail when transpiling.
|
124
|
-
const hasNativeSymbolSupport = /*@__PURE__*/ (() => Symbol('x').toString() === 'Symbol(x)')();
|
125
|
-
/** version: 3.0.1 */
|
115
|
+
/** version: 3.1.0 */
|
126
116
|
|
127
117
|
/**
|
128
118
|
* Copyright (C) 2023 salesforce.com, inc.
|
@@ -131,7 +121,7 @@ const hasNativeSymbolSupport = /*@__PURE__*/ (() => Symbol('x').toString() === '
|
|
131
121
|
if (!_globalThis.lwcRuntimeFlags) {
|
132
122
|
Object.defineProperty(_globalThis, 'lwcRuntimeFlags', { value: create(null) });
|
133
123
|
}
|
134
|
-
/** version: 3.0
|
124
|
+
/** version: 3.1.0 */
|
135
125
|
|
136
126
|
/*
|
137
127
|
* Copyright (c) 2018, salesforce.com, inc.
|
@@ -151,13 +141,9 @@ const lastChildGetter = getOwnPropertyDescriptor(nodePrototype, 'lastChild').get
|
|
151
141
|
const textContentGetter = getOwnPropertyDescriptor(nodePrototype, 'textContent').get;
|
152
142
|
const parentNodeGetter = getOwnPropertyDescriptor(nodePrototype, 'parentNode').get;
|
153
143
|
const ownerDocumentGetter = getOwnPropertyDescriptor(nodePrototype, 'ownerDocument').get;
|
154
|
-
const parentElementGetter =
|
155
|
-
? getOwnPropertyDescriptor(nodePrototype, 'parentElement').get
|
156
|
-
: getOwnPropertyDescriptor(HTMLElement.prototype, 'parentElement').get; // IE11
|
144
|
+
const parentElementGetter = getOwnPropertyDescriptor(nodePrototype, 'parentElement').get;
|
157
145
|
const textContextSetter = getOwnPropertyDescriptor(nodePrototype, 'textContent').set;
|
158
|
-
const childNodesGetter =
|
159
|
-
? getOwnPropertyDescriptor(nodePrototype, 'childNodes').get
|
160
|
-
: getOwnPropertyDescriptor(HTMLElement.prototype, 'childNodes').get; // IE11
|
146
|
+
const childNodesGetter = getOwnPropertyDescriptor(nodePrototype, 'childNodes').get;
|
161
147
|
const isConnected = hasOwnProperty.call(nodePrototype, 'isConnected')
|
162
148
|
? getOwnPropertyDescriptor(nodePrototype, 'isConnected').get
|
163
149
|
: function () {
|
@@ -200,26 +186,18 @@ const outerTextGetter = outerTextDescriptor
|
|
200
186
|
const outerTextSetter = outerTextDescriptor
|
201
187
|
? outerTextDescriptor.set
|
202
188
|
: null;
|
203
|
-
const innerHTMLDescriptor =
|
204
|
-
? getOwnPropertyDescriptor(Element.prototype, 'innerHTML')
|
205
|
-
: getOwnPropertyDescriptor(HTMLElement.prototype, 'innerHTML'); // IE11
|
189
|
+
const innerHTMLDescriptor = getOwnPropertyDescriptor(Element.prototype, 'innerHTML');
|
206
190
|
const innerHTMLGetter = innerHTMLDescriptor.get;
|
207
191
|
const innerHTMLSetter = innerHTMLDescriptor.set;
|
208
|
-
const outerHTMLDescriptor =
|
209
|
-
? getOwnPropertyDescriptor(Element.prototype, 'outerHTML')
|
210
|
-
: getOwnPropertyDescriptor(HTMLElement.prototype, 'outerHTML'); // IE11
|
192
|
+
const outerHTMLDescriptor = getOwnPropertyDescriptor(Element.prototype, 'outerHTML');
|
211
193
|
const outerHTMLGetter = outerHTMLDescriptor.get;
|
212
194
|
const outerHTMLSetter = outerHTMLDescriptor.set;
|
213
195
|
const tagNameGetter = getOwnPropertyDescriptor(Element.prototype, 'tagName').get;
|
214
196
|
const tabIndexDescriptor = getOwnPropertyDescriptor(HTMLElement.prototype, 'tabIndex');
|
215
197
|
const tabIndexGetter = tabIndexDescriptor.get;
|
216
198
|
const tabIndexSetter = tabIndexDescriptor.set;
|
217
|
-
const matches =
|
218
|
-
|
219
|
-
: Element.prototype.msMatchesSelector; // IE11
|
220
|
-
const childrenGetter = hasOwnProperty.call(Element.prototype, 'children')
|
221
|
-
? getOwnPropertyDescriptor(Element.prototype, 'children').get
|
222
|
-
: getOwnPropertyDescriptor(HTMLElement.prototype, 'children').get; // IE11
|
199
|
+
const matches = Element.prototype.matches;
|
200
|
+
const childrenGetter = getOwnPropertyDescriptor(Element.prototype, 'children').get;
|
223
201
|
// for IE11, access from HTMLElement
|
224
202
|
// for all other browsers access the method from the parent Element interface
|
225
203
|
const { getElementsByClassName: getElementsByClassName$1 } = HTMLElement.prototype;
|
@@ -273,16 +251,12 @@ const composedPath = hasOwnProperty.call(Event.prototype, 'composedPath')
|
|
273
251
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
274
252
|
*/
|
275
253
|
const DocumentPrototypeActiveElement = getOwnPropertyDescriptor(Document.prototype, 'activeElement').get;
|
276
|
-
const elementFromPoint =
|
277
|
-
|
278
|
-
: Document.prototype.msElementFromPoint; // IE11
|
279
|
-
const elementsFromPoint = hasOwnProperty.call(Document.prototype, 'elementsFromPoint')
|
280
|
-
? Document.prototype.elementsFromPoint
|
281
|
-
: Document.prototype.msElementsFromPoint; // IE11
|
254
|
+
const elementFromPoint = Document.prototype.elementFromPoint;
|
255
|
+
const elementsFromPoint = Document.prototype.elementsFromPoint;
|
282
256
|
// defaultView can be null when a document has no browsing context. For example, the owner document
|
283
257
|
// of a node in a template doesn't have a default view: https://jsfiddle.net/hv9z0q5a/
|
284
258
|
const defaultViewGetter = getOwnPropertyDescriptor(Document.prototype, 'defaultView').get;
|
285
|
-
const {
|
259
|
+
const { querySelectorAll, getElementById, getElementsByClassName, getElementsByTagName, getElementsByTagNameNS, } = Document.prototype;
|
286
260
|
// In Firefox v57 and lower, getElementsByName is defined on HTMLDocument.prototype
|
287
261
|
// In all other browsers have the method on Document.prototype
|
288
262
|
const { getElementsByName } = HTMLDocument.prototype;
|
@@ -328,7 +302,7 @@ const isInstanceOfNativeShadowRoot = isNull(NativeShadowRoot)
|
|
328
302
|
* SPDX-License-Identifier: MIT
|
329
303
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
330
304
|
*/
|
331
|
-
function detect$
|
305
|
+
function detect$2 () {
|
332
306
|
return typeof HTMLSlotElement === 'undefined';
|
333
307
|
}
|
334
308
|
|
@@ -343,7 +317,7 @@ const CHAR_S = 115;
|
|
343
317
|
const CHAR_L = 108;
|
344
318
|
const CHAR_O = 111;
|
345
319
|
const CHAR_T = 116;
|
346
|
-
function apply$
|
320
|
+
function apply$2() {
|
347
321
|
// IE11 does not have this element definition
|
348
322
|
// we don't care much about the construction phase, just the prototype
|
349
323
|
class HTMLSlotElement {
|
@@ -378,8 +352,8 @@ function apply$4() {
|
|
378
352
|
* SPDX-License-Identifier: MIT
|
379
353
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
380
354
|
*/
|
381
|
-
if (detect$
|
382
|
-
apply$
|
355
|
+
if (detect$2()) {
|
356
|
+
apply$2();
|
383
357
|
}
|
384
358
|
|
385
359
|
/*
|
@@ -1280,15 +1254,6 @@ function childNodesGetterPatched() {
|
|
1280
1254
|
if (isSyntheticShadowHost(this)) {
|
1281
1255
|
const owner = getNodeOwner(this);
|
1282
1256
|
const childNodes = isNull(owner) ? [] : getAllMatches(owner, getFilteredChildNodes(this));
|
1283
|
-
if (process.env.NODE_ENV !== 'production' &&
|
1284
|
-
isFalse(hasNativeSymbolSupport) &&
|
1285
|
-
isExternalChildNodeAccessorFlagOn()) {
|
1286
|
-
// inserting a comment node as the first childNode to trick the IE11
|
1287
|
-
// DevTool to show the content of the shadowRoot, this should only happen
|
1288
|
-
// in dev-mode and in IE11 (which we detect by looking at the symbol).
|
1289
|
-
// Plus it should only be in place if we know it is an external invoker.
|
1290
|
-
ArrayUnshift.call(childNodes, getIE11FakeShadowRootPlaceholder(this));
|
1291
|
-
}
|
1292
1257
|
return createStaticNodeList(childNodes);
|
1293
1258
|
}
|
1294
1259
|
// nothing to do here since this does not have a synthetic shadow attached to it
|
@@ -1503,40 +1468,9 @@ defineProperties(_Node.prototype, {
|
|
1503
1468
|
},
|
1504
1469
|
},
|
1505
1470
|
});
|
1506
|
-
|
1507
|
-
|
1508
|
-
|
1509
|
-
* .childNodes member property of a node. If it is used from inside the synthetic shadow
|
1510
|
-
* or from an external invoker. This helps to produce the right output in one very peculiar
|
1511
|
-
* case, the IE11 debugging comment for shadowRoot representation on the devtool.
|
1512
|
-
*/
|
1513
|
-
function isExternalChildNodeAccessorFlagOn() {
|
1514
|
-
return !internalChildNodeAccessorFlag;
|
1515
|
-
}
|
1516
|
-
const getInternalChildNodes = process.env.NODE_ENV !== 'production' && isFalse(hasNativeSymbolSupport)
|
1517
|
-
? function (node) {
|
1518
|
-
internalChildNodeAccessorFlag = true;
|
1519
|
-
let childNodes;
|
1520
|
-
let error = null;
|
1521
|
-
try {
|
1522
|
-
childNodes = node.childNodes;
|
1523
|
-
}
|
1524
|
-
catch (e) {
|
1525
|
-
// childNodes accessor should never throw, but just in case!
|
1526
|
-
error = e;
|
1527
|
-
}
|
1528
|
-
finally {
|
1529
|
-
internalChildNodeAccessorFlag = false;
|
1530
|
-
if (!isNull(error)) {
|
1531
|
-
// re-throwing after restoring the state machinery for setInternalChildNodeAccessorFlag
|
1532
|
-
throw error; // eslint-disable-line no-unsafe-finally
|
1533
|
-
}
|
1534
|
-
}
|
1535
|
-
return childNodes;
|
1536
|
-
}
|
1537
|
-
: function (node) {
|
1538
|
-
return node.childNodes;
|
1539
|
-
};
|
1471
|
+
const getInternalChildNodes = function (node) {
|
1472
|
+
return node.childNodes;
|
1473
|
+
};
|
1540
1474
|
// IE11 extra patches for wrong prototypes
|
1541
1475
|
if (hasOwnProperty.call(HTMLElement.prototype, 'contains')) {
|
1542
1476
|
defineProperty(HTMLElement.prototype, 'contains', getOwnPropertyDescriptor(_Node.prototype, 'contains'));
|
@@ -2344,42 +2278,6 @@ defineProperty(SyntheticShadowRoot, Symbol.hasInstance, {
|
|
2344
2278
|
getPrototypeOf(object) === SyntheticShadowRoot.prototype));
|
2345
2279
|
},
|
2346
2280
|
});
|
2347
|
-
/**
|
2348
|
-
* This method is only intended to be used in non-production mode in IE11
|
2349
|
-
* and its role is to produce a 1-1 mapping between a shadowRoot instance
|
2350
|
-
* and a comment node that is intended to use to trick the IE11 DevTools
|
2351
|
-
* to show the content of the shadowRoot in the DOM Explorer.
|
2352
|
-
*/
|
2353
|
-
function getIE11FakeShadowRootPlaceholder(host) {
|
2354
|
-
const shadowRoot = getShadowRoot(host);
|
2355
|
-
// @ts-ignore this $$placeholder$$ is not a security issue because you must
|
2356
|
-
// have access to the shadowRoot in order to extract the fake node, which give
|
2357
|
-
// you access to the same childNodes of the shadowRoot, so, who cares.
|
2358
|
-
let c = shadowRoot.$$placeholder$$;
|
2359
|
-
if (!isUndefined(c)) {
|
2360
|
-
return c;
|
2361
|
-
}
|
2362
|
-
const doc = getOwnerDocument(host);
|
2363
|
-
// @ts-ignore $$placeholder$$ is fine, read the node above.
|
2364
|
-
c = shadowRoot.$$placeholder$$ = createComment.call(doc, '');
|
2365
|
-
defineProperties(c, {
|
2366
|
-
childNodes: {
|
2367
|
-
get() {
|
2368
|
-
return shadowRoot.childNodes;
|
2369
|
-
},
|
2370
|
-
enumerable: true,
|
2371
|
-
configurable: true,
|
2372
|
-
},
|
2373
|
-
tagName: {
|
2374
|
-
get() {
|
2375
|
-
return `#shadow-root (${shadowRoot.mode})`;
|
2376
|
-
},
|
2377
|
-
enumerable: true,
|
2378
|
-
configurable: true,
|
2379
|
-
},
|
2380
|
-
});
|
2381
|
-
return c;
|
2382
|
-
}
|
2383
2281
|
|
2384
2282
|
/*
|
2385
2283
|
* Copyright (c) 2018, salesforce.com, inc.
|
@@ -2658,7 +2556,7 @@ Object.defineProperty(window, 'ShadowRoot', {
|
|
2658
2556
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
2659
2557
|
*/
|
2660
2558
|
const composedDescriptor = Object.getOwnPropertyDescriptor(Event.prototype, 'composed');
|
2661
|
-
function detect$
|
2559
|
+
function detect$1() {
|
2662
2560
|
if (!composedDescriptor) {
|
2663
2561
|
// No need to apply this polyfill if this client completely lacks
|
2664
2562
|
// support for the composed property.
|
@@ -2690,7 +2588,7 @@ function handleClick(event) {
|
|
2690
2588
|
},
|
2691
2589
|
});
|
2692
2590
|
}
|
2693
|
-
function apply$
|
2591
|
+
function apply$1() {
|
2694
2592
|
HTMLElement.prototype.click = function () {
|
2695
2593
|
addEventListener.call(this, 'click', handleClick);
|
2696
2594
|
try {
|
@@ -2708,8 +2606,8 @@ function apply$3() {
|
|
2708
2606
|
* SPDX-License-Identifier: MIT
|
2709
2607
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
2710
2608
|
*/
|
2711
|
-
if (detect$
|
2712
|
-
apply$
|
2609
|
+
if (detect$1()) {
|
2610
|
+
apply$1();
|
2713
2611
|
}
|
2714
2612
|
|
2715
2613
|
/*
|
@@ -2718,7 +2616,7 @@ if (detect$3()) {
|
|
2718
2616
|
* SPDX-License-Identifier: MIT
|
2719
2617
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
2720
2618
|
*/
|
2721
|
-
function detect
|
2619
|
+
function detect() {
|
2722
2620
|
return new Event('test', { composed: true }).composed !== true;
|
2723
2621
|
}
|
2724
2622
|
|
@@ -2728,7 +2626,7 @@ function detect$2() {
|
|
2728
2626
|
* SPDX-License-Identifier: MIT
|
2729
2627
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
2730
2628
|
*/
|
2731
|
-
function apply
|
2629
|
+
function apply() {
|
2732
2630
|
// https://github.com/w3c/webcomponents/issues/513#issuecomment-224183937
|
2733
2631
|
const composedEvents = assign(create(null), {
|
2734
2632
|
beforeinput: 1,
|
@@ -2822,8 +2720,8 @@ function apply$2() {
|
|
2822
2720
|
* SPDX-License-Identifier: MIT
|
2823
2721
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
2824
2722
|
*/
|
2825
|
-
if (detect
|
2826
|
-
apply
|
2723
|
+
if (detect()) {
|
2724
|
+
apply();
|
2827
2725
|
}
|
2828
2726
|
|
2829
2727
|
/*
|
@@ -2875,121 +2773,6 @@ if (typeof ClipboardEvent !== 'undefined') {
|
|
2875
2773
|
});
|
2876
2774
|
}
|
2877
2775
|
|
2878
|
-
/*
|
2879
|
-
* Copyright (c) 2018, salesforce.com, inc.
|
2880
|
-
* All rights reserved.
|
2881
|
-
* SPDX-License-Identifier: MIT
|
2882
|
-
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
2883
|
-
*/
|
2884
|
-
function detect$1() {
|
2885
|
-
// Note: when using this in mobile apps, we might have a DOM that does not support iframes.
|
2886
|
-
const hasIframe = typeof HTMLIFrameElement !== 'undefined';
|
2887
|
-
// This polyfill should only apply in compat mode; see https://github.com/salesforce/lwc/issues/1513
|
2888
|
-
const isCompat = typeof Proxy !== 'undefined' && isTrue(Proxy.isCompat);
|
2889
|
-
return hasIframe && isCompat;
|
2890
|
-
}
|
2891
|
-
|
2892
|
-
/*
|
2893
|
-
* Copyright (c) 2018, salesforce.com, inc.
|
2894
|
-
* All rights reserved.
|
2895
|
-
* SPDX-License-Identifier: MIT
|
2896
|
-
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
2897
|
-
*/
|
2898
|
-
function apply$1() {
|
2899
|
-
// the iframe property descriptor for `contentWindow` should always be available, otherwise this method should never be called
|
2900
|
-
const desc = getOwnPropertyDescriptor(HTMLIFrameElement.prototype, 'contentWindow');
|
2901
|
-
const { get: originalGetter } = desc;
|
2902
|
-
desc.get = function () {
|
2903
|
-
const original = originalGetter.call(this);
|
2904
|
-
// If the original iframe element is not a keyed node, then do not wrap it
|
2905
|
-
if (isNull(original) || isUndefined(getNodeOwnerKey(this))) {
|
2906
|
-
return original;
|
2907
|
-
}
|
2908
|
-
// only if the element is an iframe inside a shadowRoot, we care about this problem
|
2909
|
-
// because in that case, the code that is accessing the iframe, is very likely code
|
2910
|
-
// compiled with proxy-compat transformation. It is true that other code without those
|
2911
|
-
// transformations might also access an iframe from within a shadowRoot, but in that,
|
2912
|
-
// case, which is more rare, we still return the wrapper, and it should work the same,
|
2913
|
-
// this part is just an optimization.
|
2914
|
-
return wrapIframeWindow(original);
|
2915
|
-
};
|
2916
|
-
defineProperty(HTMLIFrameElement.prototype, 'contentWindow', desc);
|
2917
|
-
}
|
2918
|
-
function wrapIframeWindow(win) {
|
2919
|
-
return {
|
2920
|
-
addEventListener() {
|
2921
|
-
// Typescript does not like it when you treat the `arguments` object as an array
|
2922
|
-
// @ts-ignore type-mismatch
|
2923
|
-
return win.addEventListener.apply(win, arguments);
|
2924
|
-
},
|
2925
|
-
blur() {
|
2926
|
-
// Typescript does not like it when you treat the `arguments` object as an array
|
2927
|
-
// @ts-ignore type-mismatch
|
2928
|
-
return win.blur.apply(win, arguments);
|
2929
|
-
},
|
2930
|
-
close() {
|
2931
|
-
// Typescript does not like it when you treat the `arguments` object as an array
|
2932
|
-
// @ts-ignore type-mismatch
|
2933
|
-
return win.close.apply(win, arguments);
|
2934
|
-
},
|
2935
|
-
focus() {
|
2936
|
-
// Typescript does not like it when you treat the `arguments` object as an array
|
2937
|
-
// @ts-ignore type-mismatch
|
2938
|
-
return win.focus.apply(win, arguments);
|
2939
|
-
},
|
2940
|
-
postMessage() {
|
2941
|
-
// Typescript does not like it when you treat the `arguments` object as an array
|
2942
|
-
// @ts-ignore type-mismatch
|
2943
|
-
return win.postMessage.apply(win, arguments);
|
2944
|
-
},
|
2945
|
-
removeEventListener() {
|
2946
|
-
// Typescript does not like it when you treat the `arguments` object as an array
|
2947
|
-
// @ts-ignore type-mismatch
|
2948
|
-
return win.removeEventListener.apply(win, arguments);
|
2949
|
-
},
|
2950
|
-
get closed() {
|
2951
|
-
return win.closed;
|
2952
|
-
},
|
2953
|
-
get frames() {
|
2954
|
-
return win.frames;
|
2955
|
-
},
|
2956
|
-
get length() {
|
2957
|
-
return win.length;
|
2958
|
-
},
|
2959
|
-
get location() {
|
2960
|
-
return win.location;
|
2961
|
-
},
|
2962
|
-
set location(value) {
|
2963
|
-
win.location = value;
|
2964
|
-
},
|
2965
|
-
get opener() {
|
2966
|
-
return win.opener;
|
2967
|
-
},
|
2968
|
-
get parent() {
|
2969
|
-
return win.parent;
|
2970
|
-
},
|
2971
|
-
get self() {
|
2972
|
-
return win.self;
|
2973
|
-
},
|
2974
|
-
get top() {
|
2975
|
-
return win.top;
|
2976
|
-
},
|
2977
|
-
get window() {
|
2978
|
-
return win.window;
|
2979
|
-
},
|
2980
|
-
}; // this is limited
|
2981
|
-
}
|
2982
|
-
|
2983
|
-
/*
|
2984
|
-
* Copyright (c) 2018, salesforce.com, inc.
|
2985
|
-
* All rights reserved.
|
2986
|
-
* SPDX-License-Identifier: MIT
|
2987
|
-
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
2988
|
-
*/
|
2989
|
-
if (detect$1()) {
|
2990
|
-
apply$1();
|
2991
|
-
}
|
2992
|
-
|
2993
2776
|
/*
|
2994
2777
|
* Copyright (c) 2018, salesforce.com, inc.
|
2995
2778
|
* All rights reserved.
|
@@ -3231,7 +3014,7 @@ defineProperty(window, 'MutationObserver', {
|
|
3231
3014
|
* SPDX-License-Identifier: MIT
|
3232
3015
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
3233
3016
|
*/
|
3234
|
-
function patchedAddEventListener
|
3017
|
+
function patchedAddEventListener(type, listener, optionsOrCapture) {
|
3235
3018
|
if (isSyntheticShadowHost(this)) {
|
3236
3019
|
// Typescript does not like it when you treat the `arguments` object as an array
|
3237
3020
|
// @ts-ignore type-mismatch
|
@@ -3254,7 +3037,7 @@ function patchedAddEventListener$1(type, listener, optionsOrCapture) {
|
|
3254
3037
|
// The third argument is optional, so passing in `undefined` for `optionsOrCapture` gives capture=false
|
3255
3038
|
return addEventListener.call(this, type, wrappedListener, optionsOrCapture);
|
3256
3039
|
}
|
3257
|
-
function patchedRemoveEventListener
|
3040
|
+
function patchedRemoveEventListener(_type, _listener, _optionsOrCapture) {
|
3258
3041
|
if (isSyntheticShadowHost(this)) {
|
3259
3042
|
// Typescript does not like it when you treat the `arguments` object as an array
|
3260
3043
|
// @ts-ignore type-mismatch
|
@@ -3274,87 +3057,19 @@ function patchedRemoveEventListener$1(_type, _listener, _optionsOrCapture) {
|
|
3274
3057
|
}
|
3275
3058
|
defineProperties(eventTargetPrototype, {
|
3276
3059
|
addEventListener: {
|
3277
|
-
value: patchedAddEventListener
|
3060
|
+
value: patchedAddEventListener,
|
3278
3061
|
enumerable: true,
|
3279
3062
|
writable: true,
|
3280
3063
|
configurable: true,
|
3281
3064
|
},
|
3282
3065
|
removeEventListener: {
|
3283
|
-
value: patchedRemoveEventListener
|
3066
|
+
value: patchedRemoveEventListener,
|
3284
3067
|
enumerable: true,
|
3285
3068
|
writable: true,
|
3286
3069
|
configurable: true,
|
3287
3070
|
},
|
3288
3071
|
});
|
3289
3072
|
|
3290
|
-
/*
|
3291
|
-
* Copyright (c) 2018, salesforce.com, inc.
|
3292
|
-
* All rights reserved.
|
3293
|
-
* SPDX-License-Identifier: MIT
|
3294
|
-
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
3295
|
-
*/
|
3296
|
-
function detect() {
|
3297
|
-
return typeof EventTarget === 'undefined';
|
3298
|
-
}
|
3299
|
-
|
3300
|
-
/*
|
3301
|
-
* Copyright (c) 2018, salesforce.com, inc.
|
3302
|
-
* All rights reserved.
|
3303
|
-
* SPDX-License-Identifier: MIT
|
3304
|
-
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
3305
|
-
*/
|
3306
|
-
function patchedAddEventListener(_type, _listener, _options) {
|
3307
|
-
if (arguments.length > 1) {
|
3308
|
-
const args = ArraySlice.call(arguments);
|
3309
|
-
args[1] = getEventListenerWrapper(args[1]);
|
3310
|
-
// Ignore types because we're passing through to native method
|
3311
|
-
// @ts-ignore type-mismatch
|
3312
|
-
return windowAddEventListener.apply(this, args);
|
3313
|
-
}
|
3314
|
-
// Typescript does not like it when you treat the `arguments` object as an array
|
3315
|
-
// @ts-ignore type-mismatch
|
3316
|
-
return windowAddEventListener.apply(this, arguments);
|
3317
|
-
}
|
3318
|
-
function patchedRemoveEventListener(_type, _listener, _options) {
|
3319
|
-
if (arguments.length > 1) {
|
3320
|
-
const args = ArraySlice.call(arguments);
|
3321
|
-
args[1] = getEventListenerWrapper(args[1]);
|
3322
|
-
// Ignore types because we're passing through to native method
|
3323
|
-
// @ts-ignore type-mismatch
|
3324
|
-
windowRemoveEventListener.apply(this, args);
|
3325
|
-
}
|
3326
|
-
// Account for listeners that were added before this polyfill was applied
|
3327
|
-
// Typescript does not like it when you treat the `arguments` object as an array
|
3328
|
-
// @ts-ignore type-mismatch
|
3329
|
-
windowRemoveEventListener.apply(this, arguments);
|
3330
|
-
}
|
3331
|
-
function apply() {
|
3332
|
-
defineProperties(Window.prototype, {
|
3333
|
-
addEventListener: {
|
3334
|
-
value: patchedAddEventListener,
|
3335
|
-
enumerable: true,
|
3336
|
-
writable: true,
|
3337
|
-
configurable: true,
|
3338
|
-
},
|
3339
|
-
removeEventListener: {
|
3340
|
-
value: patchedRemoveEventListener,
|
3341
|
-
enumerable: true,
|
3342
|
-
writable: true,
|
3343
|
-
configurable: true,
|
3344
|
-
},
|
3345
|
-
});
|
3346
|
-
}
|
3347
|
-
|
3348
|
-
/*
|
3349
|
-
* Copyright (c) 2018, salesforce.com, inc.
|
3350
|
-
* All rights reserved.
|
3351
|
-
* SPDX-License-Identifier: MIT
|
3352
|
-
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
3353
|
-
*/
|
3354
|
-
if (detect()) {
|
3355
|
-
apply();
|
3356
|
-
}
|
3357
|
-
|
3358
3073
|
/*
|
3359
3074
|
* Copyright (c) 2018, salesforce.com, inc.
|
3360
3075
|
* All rights reserved.
|
@@ -4750,5 +4465,5 @@ defineProperty(Element.prototype, '$domManual$', {
|
|
4750
4465
|
},
|
4751
4466
|
configurable: true,
|
4752
4467
|
});
|
4753
|
-
/** version: 3.0
|
4468
|
+
/** version: 3.1.0 */
|
4754
4469
|
//# sourceMappingURL=index.js.map
|