@lwc/synthetic-shadow 3.1.2 → 4.0.0-alpha.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.
@@ -1,2 +1 @@
1
- export declare const isNativeShadowRootDefined: boolean;
2
1
  export declare const isInstanceOfNativeShadowRoot: (node: any) => boolean;
@@ -1,2 +1,2 @@
1
- declare let assignedNodes: (options?: AssignedNodesOptions) => Node[], assignedElements: (options?: AssignedNodesOptions) => Element[];
2
- export { assignedNodes, assignedElements };
1
+ export declare const assignedNodes: (options?: AssignedNodesOptions | undefined) => Node[];
2
+ export declare const assignedElements: (options?: AssignedNodesOptions | undefined) => Element[];
package/dist/index.cjs.js CHANGED
@@ -48,7 +48,6 @@ var assert = /*#__PURE__*/Object.freeze({
48
48
  const { assign, create, defineProperties, defineProperty, freeze, getOwnPropertyDescriptor, getOwnPropertyNames, getPrototypeOf, hasOwnProperty, isFrozen, keys, seal, setPrototypeOf, } = Object;
49
49
  const { isArray } = Array;
50
50
  const { concat: ArrayConcat, copyWithin: ArrayCopyWithin, every: ArrayEvery, fill: ArrayFill, filter: ArrayFilter, find: ArrayFind, findIndex: ArrayFindIndex, includes: ArrayIncludes, indexOf: ArrayIndexOf, join: ArrayJoin, map: ArrayMap, pop: ArrayPop, push: ArrayPush, reduce: ArrayReduce, reverse: ArrayReverse, shift: ArrayShift, slice: ArraySlice, some: ArraySome, sort: ArraySort, splice: ArraySplice, unshift: ArrayUnshift, forEach, } = Array.prototype;
51
- const { charCodeAt: StringCharCodeAt, replace: StringReplace, split: StringSplit, slice: StringSlice, toLowerCase: StringToLowerCase, } = String.prototype;
52
51
  function isUndefined(obj) {
53
52
  return obj === undefined;
54
53
  }
@@ -99,12 +98,11 @@ function toString(obj) {
99
98
  const _globalThis = typeof globalThis === 'object' ? globalThis : window;
100
99
 
101
100
  /*
102
- * Copyright (c) 2018, salesforce.com, inc.
101
+ * Copyright (c) 2023, Salesforce.com, inc.
103
102
  * All rights reserved.
104
103
  * SPDX-License-Identifier: MIT
105
104
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
106
105
  */
107
- const KEY__IS_NATIVE_SHADOW_ROOT_DEFINED = '$isNativeShadowRootDefined$';
108
106
  const KEY__SHADOW_RESOLVER = '$shadowResolver$';
109
107
  const KEY__SHADOW_RESOLVER_PRIVATE = '$$ShadowResolverKey$$';
110
108
  const KEY__SHADOW_STATIC = '$shadowStaticNode$';
@@ -114,7 +112,7 @@ const KEY__SHADOW_TOKEN_PRIVATE = '$$ShadowTokenKey$$';
114
112
  const KEY__SYNTHETIC_MODE = '$$lwc-synthetic-mode';
115
113
  const KEY__NATIVE_GET_ELEMENT_BY_ID = '$nativeGetElementById$';
116
114
  const KEY__NATIVE_QUERY_SELECTOR_ALL = '$nativeQuerySelectorAll$';
117
- /** version: 3.1.2 */
115
+ /** version: 4.0.0-alpha.0 */
118
116
 
119
117
  /**
120
118
  * Copyright (C) 2023 salesforce.com, inc.
@@ -123,7 +121,7 @@ const KEY__NATIVE_QUERY_SELECTOR_ALL = '$nativeQuerySelectorAll$';
123
121
  if (!_globalThis.lwcRuntimeFlags) {
124
122
  Object.defineProperty(_globalThis, 'lwcRuntimeFlags', { value: create(null) });
125
123
  }
126
- /** version: 3.1.2 */
124
+ /** version: 4.0.0-alpha.0 */
127
125
 
128
126
  /*
129
127
  * Copyright (c) 2018, salesforce.com, inc.
@@ -211,24 +209,13 @@ const assignedSlotGetter$1 = hasOwnProperty.call(Element.prototype, 'assignedSlo
211
209
  : () => null;
212
210
 
213
211
  /*
214
- * Copyright (c) 2018, salesforce.com, inc.
212
+ * Copyright (c) 2023, Salesforce.com, inc.
215
213
  * All rights reserved.
216
214
  * SPDX-License-Identifier: MIT
217
215
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
218
216
  */
219
- let assignedNodes, assignedElements;
220
- if (typeof HTMLSlotElement !== 'undefined') {
221
- assignedNodes = HTMLSlotElement.prototype.assignedNodes;
222
- assignedElements = HTMLSlotElement.prototype.assignedElements;
223
- }
224
- else {
225
- assignedNodes = () => {
226
- throw new TypeError("assignedNodes() is not supported in current browser. Load the @lwc/synthetic-shadow polyfill to start using <slot> elements in your Lightning Web Component's template");
227
- };
228
- assignedElements = () => {
229
- throw new TypeError("assignedElements() is not supported in current browser. Load the @lwc/synthetic-shadow polyfill to start using <slot> elements in your Lightning Web Component's template");
230
- };
231
- }
217
+ const assignedNodes = HTMLSlotElement.prototype.assignedNodes;
218
+ const assignedElements = HTMLSlotElement.prototype.assignedElements;
232
219
 
233
220
  /*
234
221
  * Copyright (c) 2018, salesforce.com, inc.
@@ -284,79 +271,14 @@ const MO = MutationObserver;
284
271
  const MutationObserverObserve = MO.prototype.observe;
285
272
 
286
273
  /*
287
- * Copyright (c) 2018, salesforce.com, inc.
288
- * All rights reserved.
289
- * SPDX-License-Identifier: MIT
290
- * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
291
- */
292
- let NativeShadowRoot = null;
293
- if (typeof ShadowRoot !== 'undefined') {
294
- NativeShadowRoot = ShadowRoot;
295
- }
296
- const isNativeShadowRootDefined = !isNull(NativeShadowRoot);
297
- const isInstanceOfNativeShadowRoot = isNull(NativeShadowRoot)
298
- ? () => false
299
- : (node) => node instanceof NativeShadowRoot;
300
-
301
- /*
302
- * Copyright (c) 2018, salesforce.com, inc.
303
- * All rights reserved.
304
- * SPDX-License-Identifier: MIT
305
- * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
306
- */
307
- function detect$2 () {
308
- return typeof HTMLSlotElement === 'undefined';
309
- }
310
-
311
- /*
312
- * Copyright (c) 2018, salesforce.com, inc.
313
- * All rights reserved.
314
- * SPDX-License-Identifier: MIT
315
- * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
316
- */
317
- const { createElement } = Document.prototype;
318
- const CHAR_S = 115;
319
- const CHAR_L = 108;
320
- const CHAR_O = 111;
321
- const CHAR_T = 116;
322
- function apply$2() {
323
- // IE11 does not have this element definition
324
- // we don't care much about the construction phase, just the prototype
325
- class HTMLSlotElement {
326
- }
327
- // prototype inheritance dance
328
- setPrototypeOf(HTMLSlotElement, HTMLElement.constructor);
329
- setPrototypeOf(HTMLSlotElement.prototype, HTMLElement.prototype);
330
- Window.prototype.HTMLSlotElement = HTMLSlotElement;
331
- // IE11 doesn't have HTMLSlotElement, in which case we
332
- // need to patch Document.prototype.createElement to remap `slot`
333
- // elements to the right prototype
334
- defineProperty(Document.prototype, 'createElement', {
335
- value: function (tagName, _options) {
336
- const elm = createElement.apply(this, ArraySlice.call(arguments));
337
- if (tagName.length === 4 &&
338
- StringCharCodeAt.call(tagName, 0) === CHAR_S &&
339
- StringCharCodeAt.call(tagName, 1) === CHAR_L &&
340
- StringCharCodeAt.call(tagName, 2) === CHAR_O &&
341
- StringCharCodeAt.call(tagName, 3) === CHAR_T) {
342
- // the new element is the `slot`, resetting the proto chain
343
- // the new newly created global HTMLSlotElement.prototype
344
- setPrototypeOf(elm, HTMLSlotElement.prototype);
345
- }
346
- return elm;
347
- },
348
- });
349
- }
350
-
351
- /*
352
- * Copyright (c) 2018, salesforce.com, inc.
274
+ * Copyright (c) 2023, Salesforce.com, inc.
353
275
  * All rights reserved.
354
276
  * SPDX-License-Identifier: MIT
355
277
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
356
278
  */
357
- if (detect$2()) {
358
- apply$2();
359
- }
279
+ // Capture the global `ShadowRoot` since synthetic shadow will override it later
280
+ const NativeShadowRoot = ShadowRoot;
281
+ const isInstanceOfNativeShadowRoot = (node) => node instanceof NativeShadowRoot;
360
282
 
361
283
  /*
362
284
  * Copyright (c) 2018, salesforce.com, inc.
@@ -407,12 +329,12 @@ function arrayFromCollection(collection) {
407
329
  }
408
330
 
409
331
  /*
410
- * Copyright (c) 2018, salesforce.com, inc.
332
+ * Copyright (c) 2023, Salesforce.com, inc.
411
333
  * All rights reserved.
412
334
  * SPDX-License-Identifier: MIT
413
335
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
414
336
  */
415
- const eventTargetPrototype = typeof EventTarget !== 'undefined' ? EventTarget.prototype : _Node.prototype;
337
+ const eventTargetPrototype = EventTarget.prototype;
416
338
  const { addEventListener, dispatchEvent, removeEventListener } = eventTargetPrototype;
417
339
 
418
340
  /*
@@ -1740,7 +1662,7 @@ function removeShadowRootEventListener(sr, type, listener, _options) {
1740
1662
  }
1741
1663
 
1742
1664
  /*
1743
- * Copyright (c) 2018, salesforce.com, inc.
1665
+ * Copyright (c) 2023, Salesforce.com, inc.
1744
1666
  * All rights reserved.
1745
1667
  * SPDX-License-Identifier: MIT
1746
1668
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
@@ -1771,9 +1693,6 @@ defineProperty(_Node.prototype, KEY__SHADOW_RESOLVER, {
1771
1693
  configurable: true,
1772
1694
  enumerable: true,
1773
1695
  });
1774
- defineProperty(_globalThis, KEY__IS_NATIVE_SHADOW_ROOT_DEFINED, {
1775
- value: isNativeShadowRootDefined,
1776
- });
1777
1696
  // The isUndefined check is because two copies of synthetic shadow may be loaded on the same page, and this
1778
1697
  // would throw an error if we tried to redefine it. Plus the whole point is to expose the native method.
1779
1698
  if (isUndefined(_globalThis[KEY__NATIVE_GET_ELEMENT_BY_ID])) {
@@ -2551,181 +2470,6 @@ Object.defineProperty(window, 'ShadowRoot', {
2551
2470
  writable: true,
2552
2471
  });
2553
2472
 
2554
- /*
2555
- * Copyright (c) 2018, salesforce.com, inc.
2556
- * All rights reserved.
2557
- * SPDX-License-Identifier: MIT
2558
- * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
2559
- */
2560
- const composedDescriptor = Object.getOwnPropertyDescriptor(Event.prototype, 'composed');
2561
- function detect$1() {
2562
- if (!composedDescriptor) {
2563
- // No need to apply this polyfill if this client completely lacks
2564
- // support for the composed property.
2565
- return false;
2566
- }
2567
- // Assigning a throwaway click event here to suppress a ts error when we
2568
- // pass clickEvent into the composed getter below. The error is:
2569
- // [ts] Variable 'clickEvent' is used before being assigned.
2570
- let clickEvent = new Event('click');
2571
- const button = document.createElement('button');
2572
- button.addEventListener('click', (event) => (clickEvent = event));
2573
- button.click();
2574
- return !composedDescriptor.get.call(clickEvent);
2575
- }
2576
-
2577
- /*
2578
- * Copyright (c) 2018, salesforce.com, inc.
2579
- * All rights reserved.
2580
- * SPDX-License-Identifier: MIT
2581
- * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
2582
- */
2583
- const originalClickDescriptor = Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'click');
2584
- function handleClick(event) {
2585
- Object.defineProperty(event, 'composed', {
2586
- configurable: true,
2587
- enumerable: true,
2588
- get() {
2589
- return true;
2590
- },
2591
- });
2592
- }
2593
- function apply$1() {
2594
- HTMLElement.prototype.click = function () {
2595
- addEventListener.call(this, 'click', handleClick);
2596
- try {
2597
- originalClickDescriptor.value.call(this);
2598
- }
2599
- finally {
2600
- removeEventListener.call(this, 'click', handleClick);
2601
- }
2602
- };
2603
- }
2604
-
2605
- /*
2606
- * Copyright (c) 2018, salesforce.com, inc.
2607
- * All rights reserved.
2608
- * SPDX-License-Identifier: MIT
2609
- * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
2610
- */
2611
- if (detect$1()) {
2612
- apply$1();
2613
- }
2614
-
2615
- /*
2616
- * Copyright (c) 2018, salesforce.com, inc.
2617
- * All rights reserved.
2618
- * SPDX-License-Identifier: MIT
2619
- * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
2620
- */
2621
- function detect() {
2622
- return new Event('test', { composed: true }).composed !== true;
2623
- }
2624
-
2625
- /*
2626
- * Copyright (c) 2018, salesforce.com, inc.
2627
- * All rights reserved.
2628
- * SPDX-License-Identifier: MIT
2629
- * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
2630
- */
2631
- function apply() {
2632
- // https://github.com/w3c/webcomponents/issues/513#issuecomment-224183937
2633
- const composedEvents = assign(create(null), {
2634
- beforeinput: 1,
2635
- blur: 1,
2636
- click: 1,
2637
- compositionend: 1,
2638
- compositionstart: 1,
2639
- compositionupdate: 1,
2640
- copy: 1,
2641
- cut: 1,
2642
- dblclick: 1,
2643
- DOMActivate: 1,
2644
- DOMFocusIn: 1,
2645
- DOMFocusOut: 1,
2646
- drag: 1,
2647
- dragend: 1,
2648
- dragenter: 1,
2649
- dragleave: 1,
2650
- dragover: 1,
2651
- dragstart: 1,
2652
- drop: 1,
2653
- focus: 1,
2654
- focusin: 1,
2655
- focusout: 1,
2656
- gotpointercapture: 1,
2657
- input: 1,
2658
- keydown: 1,
2659
- keypress: 1,
2660
- keyup: 1,
2661
- lostpointercapture: 1,
2662
- mousedown: 1,
2663
- mouseenter: 1,
2664
- mouseleave: 1,
2665
- mousemove: 1,
2666
- mouseout: 1,
2667
- mouseover: 1,
2668
- mouseup: 1,
2669
- paste: 1,
2670
- pointercancel: 1,
2671
- pointerdown: 1,
2672
- pointerenter: 1,
2673
- pointerleave: 1,
2674
- pointermove: 1,
2675
- pointerout: 1,
2676
- pointerover: 1,
2677
- pointerup: 1,
2678
- touchcancel: 1,
2679
- touchend: 1,
2680
- touchmove: 1,
2681
- touchstart: 1,
2682
- wheel: 1,
2683
- });
2684
- const EventConstructor = Event;
2685
- // Patch Event constructor to add the composed property on events created via new Event.
2686
- function PatchedEvent(type, eventInitDict) {
2687
- const event = new EventConstructor(type, eventInitDict);
2688
- const isComposed = !!(eventInitDict && eventInitDict.composed);
2689
- Object.defineProperties(event, {
2690
- composed: {
2691
- get() {
2692
- return isComposed;
2693
- },
2694
- configurable: true,
2695
- enumerable: true,
2696
- },
2697
- });
2698
- return event;
2699
- }
2700
- PatchedEvent.prototype = EventConstructor.prototype;
2701
- PatchedEvent.AT_TARGET = EventConstructor.AT_TARGET;
2702
- PatchedEvent.BUBBLING_PHASE = EventConstructor.BUBBLING_PHASE;
2703
- PatchedEvent.CAPTURING_PHASE = EventConstructor.CAPTURING_PHASE;
2704
- PatchedEvent.NONE = EventConstructor.NONE;
2705
- window.Event = PatchedEvent;
2706
- // Patch the Event prototype to add the composed property on user agent dispatched event.
2707
- Object.defineProperties(Event.prototype, {
2708
- composed: {
2709
- get() {
2710
- const { type } = this;
2711
- return composedEvents[type] === 1;
2712
- },
2713
- configurable: true,
2714
- enumerable: true,
2715
- },
2716
- });
2717
- }
2718
-
2719
- /*
2720
- * Copyright (c) 2018, salesforce.com, inc.
2721
- * All rights reserved.
2722
- * SPDX-License-Identifier: MIT
2723
- * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
2724
- */
2725
- if (detect()) {
2726
- apply();
2727
- }
2728
-
2729
2473
  /*
2730
2474
  * Copyright (c) 2018, salesforce.com, inc.
2731
2475
  * All rights reserved.
@@ -2751,11 +2495,13 @@ PatchedCustomEvent.prototype = CustomEventConstructor.prototype;
2751
2495
  window.CustomEvent = PatchedCustomEvent;
2752
2496
 
2753
2497
  /*
2754
- * Copyright (c) 2018, salesforce.com, inc.
2498
+ * Copyright (c) 2023, Salesforce.com, inc.
2755
2499
  * All rights reserved.
2756
2500
  * SPDX-License-Identifier: MIT
2757
2501
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
2758
2502
  */
2503
+ // Note that ClipboardEvent is undefined in Jest/jsdom
2504
+ // See: https://github.com/jsdom/jsdom/issues/1568
2759
2505
  if (typeof ClipboardEvent !== 'undefined') {
2760
2506
  const isComposedType = assign(create(null), {
2761
2507
  copy: 1,
@@ -4467,5 +4213,5 @@ defineProperty(Element.prototype, '$domManual$', {
4467
4213
  },
4468
4214
  configurable: true,
4469
4215
  });
4470
- /** version: 3.1.2 */
4216
+ /** version: 4.0.0-alpha.0 */
4471
4217
  //# sourceMappingURL=index.cjs.js.map