@lwc/synthetic-shadow 3.0.1 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|