lwc 2.43.0 → 2.45.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.
Files changed (68) hide show
  1. package/dist/engine-dom/esm/es2017/engine-dom.js +53 -231
  2. package/dist/engine-dom/esm/es2017/engine-dom.js.map +1 -1
  3. package/dist/engine-dom/iife/es2017/engine-dom.js +52 -231
  4. package/dist/engine-dom/iife/es2017/engine-dom.js.map +1 -1
  5. package/dist/engine-dom/iife/es2017/engine-dom.min.js +1 -1
  6. package/dist/engine-dom/iife/es2017/engine-dom_debug.js +8 -28
  7. package/dist/engine-dom/iife/es2017/engine-dom_debug.js.map +1 -1
  8. package/dist/engine-dom/iife/es5/engine-dom.js +51 -232
  9. package/dist/engine-dom/iife/es5/engine-dom.js.map +1 -1
  10. package/dist/engine-dom/iife/es5/engine-dom.min.js +1 -1
  11. package/dist/engine-dom/iife/es5/engine-dom_debug.js +7 -27
  12. package/dist/engine-dom/iife/es5/engine-dom_debug.js.map +1 -1
  13. package/dist/engine-dom/umd/es2017/engine-dom.js +52 -231
  14. package/dist/engine-dom/umd/es2017/engine-dom.js.map +1 -1
  15. package/dist/engine-dom/umd/es2017/engine-dom.min.js +1 -1
  16. package/dist/engine-dom/umd/es2017/engine-dom_debug.js +8 -28
  17. package/dist/engine-dom/umd/es2017/engine-dom_debug.js.map +1 -1
  18. package/dist/engine-dom/umd/es5/engine-dom.js +51 -232
  19. package/dist/engine-dom/umd/es5/engine-dom.js.map +1 -1
  20. package/dist/engine-dom/umd/es5/engine-dom.min.js +1 -1
  21. package/dist/engine-dom/umd/es5/engine-dom_debug.js +7 -27
  22. package/dist/engine-dom/umd/es5/engine-dom_debug.js.map +1 -1
  23. package/dist/engine-server/commonjs/es2017/engine-server.js +121 -203
  24. package/dist/engine-server/commonjs/es2017/engine-server.js.map +1 -1
  25. package/dist/engine-server/commonjs/es2017/engine-server.min.js +1 -1
  26. package/dist/engine-server/esm/es2017/engine-server.js +103 -203
  27. package/dist/engine-server/esm/es2017/engine-server.js.map +1 -1
  28. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +89 -74
  29. package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js.map +1 -1
  30. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +89 -74
  31. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js.map +1 -1
  32. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.min.js +2 -2
  33. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +85 -70
  34. package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js.map +1 -1
  35. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +88 -71
  36. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js.map +1 -1
  37. package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js +2 -2
  38. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +84 -67
  39. package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js.map +1 -1
  40. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +89 -74
  41. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js.map +1 -1
  42. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js +2 -2
  43. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +85 -70
  44. package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js.map +1 -1
  45. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +88 -71
  46. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js.map +1 -1
  47. package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js +2 -2
  48. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +84 -67
  49. package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js.map +1 -1
  50. package/dist/wire-service/esm/es2017/wire-service.js +2 -2
  51. package/dist/wire-service/esm/es2017/wire-service.js.map +1 -1
  52. package/dist/wire-service/iife/es2017/wire-service.js +2 -2
  53. package/dist/wire-service/iife/es2017/wire-service.js.map +1 -1
  54. package/dist/wire-service/iife/es2017/wire-service_debug.js +2 -2
  55. package/dist/wire-service/iife/es2017/wire-service_debug.js.map +1 -1
  56. package/dist/wire-service/iife/es5/wire-service.js +2 -2
  57. package/dist/wire-service/iife/es5/wire-service.js.map +1 -1
  58. package/dist/wire-service/iife/es5/wire-service_debug.js +2 -2
  59. package/dist/wire-service/iife/es5/wire-service_debug.js.map +1 -1
  60. package/dist/wire-service/umd/es2017/wire-service.js +2 -2
  61. package/dist/wire-service/umd/es2017/wire-service.js.map +1 -1
  62. package/dist/wire-service/umd/es2017/wire-service_debug.js +2 -2
  63. package/dist/wire-service/umd/es2017/wire-service_debug.js.map +1 -1
  64. package/dist/wire-service/umd/es5/wire-service.js +2 -2
  65. package/dist/wire-service/umd/es5/wire-service.js.map +1 -1
  66. package/dist/wire-service/umd/es5/wire-service_debug.js +2 -2
  67. package/dist/wire-service/umd/es5/wire-service_debug.js.map +1 -1
  68. package/package.json +7 -7
@@ -48,7 +48,7 @@
48
48
  */
49
49
  const { assign, create, defineProperties, defineProperty, freeze, getOwnPropertyDescriptor, getOwnPropertyNames, getPrototypeOf, hasOwnProperty, isFrozen, keys, seal, setPrototypeOf, } = Object;
50
50
  const { isArray } = Array;
51
- const { concat: ArrayConcat, copyWithin: ArrayCopyWithin, fill: ArrayFill, filter: ArrayFilter, find: ArrayFind, 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 { concat: ArrayConcat, copyWithin: ArrayCopyWithin, fill: ArrayFill, filter: ArrayFilter, find: ArrayFind, findIndex: ArrayFindIndex, 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;
52
52
  const { charCodeAt: StringCharCodeAt, replace: StringReplace, split: StringSplit, slice: StringSlice, toLowerCase: StringToLowerCase, } = String.prototype;
53
53
  function isUndefined(obj) {
54
54
  return obj === undefined;
@@ -125,7 +125,7 @@
125
125
  // We use this to detect symbol support in order to avoid the expensive symbol polyfill. Note that
126
126
  // we can't use typeof since it will fail when transpiling.
127
127
  const hasNativeSymbolSupport = /*@__PURE__*/ (() => Symbol('x').toString() === 'Symbol(x)')();
128
- /** version: 2.43.0 */
128
+ /** version: 2.45.0 */
129
129
 
130
130
  /**
131
131
  * Copyright (C) 2018 salesforce.com, inc.
@@ -134,7 +134,7 @@
134
134
  if (!_globalThis.lwcRuntimeFlags) {
135
135
  Object.defineProperty(_globalThis, 'lwcRuntimeFlags', { value: create(null) });
136
136
  }
137
- /** version: 2.43.0 */
137
+ /** version: 2.45.0 */
138
138
 
139
139
  /*
140
140
  * Copyright (c) 2018, salesforce.com, inc.
@@ -1508,7 +1508,7 @@
1508
1508
  */
1509
1509
  const EventListenerMap = new WeakMap();
1510
1510
  const ComposedPathMap = new WeakMap();
1511
- function isEventListenerOrEventListenerObject(fnOrObj) {
1511
+ function isEventListenerOrEventListenerObject$1(fnOrObj) {
1512
1512
  return (isFunction(fnOrObj) ||
1513
1513
  (isObject(fnOrObj) &&
1514
1514
  !isNull(fnOrObj) &&
@@ -1529,7 +1529,7 @@
1529
1529
  return composedPath.includes(currentTarget);
1530
1530
  }
1531
1531
  function getEventListenerWrapper(fnOrObj) {
1532
- if (!isEventListenerOrEventListenerObject(fnOrObj)) {
1532
+ if (!isEventListenerOrEventListenerObject$1(fnOrObj)) {
1533
1533
  return fnOrObj;
1534
1534
  }
1535
1535
  let wrapperFn = EventListenerMap.get(fnOrObj);
@@ -1560,6 +1560,17 @@
1560
1560
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
1561
1561
  */
1562
1562
  const eventToContextMap = new WeakMap();
1563
+ function getEventHandler(listener) {
1564
+ if (isFunction(listener)) {
1565
+ return listener;
1566
+ }
1567
+ else {
1568
+ return listener.handleEvent;
1569
+ }
1570
+ }
1571
+ function isEventListenerOrEventListenerObject(listener) {
1572
+ return isFunction(listener) || isFunction(listener === null || listener === void 0 ? void 0 : listener.handleEvent);
1573
+ }
1563
1574
  const customElementToWrappedListeners = new WeakMap();
1564
1575
  function getEventMap(elm) {
1565
1576
  let listenerInfo = customElementToWrappedListeners.get(elm);
@@ -1579,49 +1590,58 @@
1579
1590
  return (_a = eventToShadowRootMap.get(event)) !== null && _a !== void 0 ? _a : eventTargetGetter.call(event);
1580
1591
  }
1581
1592
  const shadowRootEventListenerMap = new WeakMap();
1582
- function getWrappedShadowRootListener(listener) {
1583
- if (!isFunction(listener)) {
1593
+ function getManagedShadowRootListener(listener) {
1594
+ if (!isEventListenerOrEventListenerObject(listener)) {
1584
1595
  throw new TypeError(); // avoiding problems with non-valid listeners
1585
1596
  }
1586
- let shadowRootWrappedListener = shadowRootEventListenerMap.get(listener);
1587
- if (isUndefined(shadowRootWrappedListener)) {
1588
- shadowRootWrappedListener = function (event) {
1589
- // currentTarget is always defined inside an event listener
1590
- let currentTarget = eventCurrentTargetGetter.call(event);
1591
- // If currentTarget is not an instance of a native shadow root then we're dealing with a
1592
- // host element whose synthetic shadow root must be accessed via getShadowRoot().
1593
- if (!isInstanceOfNativeShadowRoot(currentTarget)) {
1594
- currentTarget = getShadowRoot(currentTarget);
1595
- }
1596
- const actualTarget = getActualTarget(event);
1597
- if (shouldInvokeListener(event, actualTarget, currentTarget)) {
1598
- listener.call(currentTarget, event);
1599
- }
1597
+ let managedListener = shadowRootEventListenerMap.get(listener);
1598
+ if (isUndefined(managedListener)) {
1599
+ managedListener = {
1600
+ identity: listener,
1601
+ placement: 1 /* EventListenerContext.SHADOW_ROOT_LISTENER */,
1602
+ handleEvent(event) {
1603
+ // currentTarget is always defined inside an event listener
1604
+ let currentTarget = eventCurrentTargetGetter.call(event);
1605
+ // If currentTarget is not an instance of a native shadow root then we're dealing with a
1606
+ // host element whose synthetic shadow root must be accessed via getShadowRoot().
1607
+ if (!isInstanceOfNativeShadowRoot(currentTarget)) {
1608
+ currentTarget = getShadowRoot(currentTarget);
1609
+ }
1610
+ const actualTarget = getActualTarget(event);
1611
+ if (shouldInvokeListener(event, actualTarget, currentTarget)) {
1612
+ getEventHandler(listener).call(currentTarget, event);
1613
+ }
1614
+ },
1600
1615
  };
1601
- shadowRootWrappedListener.placement = 1 /* EventListenerContext.SHADOW_ROOT_LISTENER */;
1602
- shadowRootEventListenerMap.set(listener, shadowRootWrappedListener);
1616
+ shadowRootEventListenerMap.set(listener, managedListener);
1603
1617
  }
1604
- return shadowRootWrappedListener;
1618
+ return managedListener;
1605
1619
  }
1606
1620
  const customElementEventListenerMap = new WeakMap();
1607
- function getWrappedCustomElementListener(listener) {
1608
- if (!isFunction(listener)) {
1621
+ function getManagedCustomElementListener(listener) {
1622
+ if (!isEventListenerOrEventListenerObject(listener)) {
1609
1623
  throw new TypeError(); // avoiding problems with non-valid listeners
1610
1624
  }
1611
- let customElementWrappedListener = customElementEventListenerMap.get(listener);
1612
- if (isUndefined(customElementWrappedListener)) {
1613
- customElementWrappedListener = function (event) {
1614
- // currentTarget is always defined inside an event listener
1615
- const currentTarget = eventCurrentTargetGetter.call(event);
1616
- const actualTarget = getActualTarget(event);
1617
- if (shouldInvokeListener(event, actualTarget, currentTarget)) {
1618
- listener.call(currentTarget, event);
1619
- }
1625
+ let managedListener = customElementEventListenerMap.get(listener);
1626
+ if (isUndefined(managedListener)) {
1627
+ managedListener = {
1628
+ identity: listener,
1629
+ placement: 0 /* EventListenerContext.CUSTOM_ELEMENT_LISTENER */,
1630
+ handleEvent(event) {
1631
+ // currentTarget is always defined inside an event listener
1632
+ const currentTarget = eventCurrentTargetGetter.call(event);
1633
+ const actualTarget = getActualTarget(event);
1634
+ if (shouldInvokeListener(event, actualTarget, currentTarget)) {
1635
+ getEventHandler(listener).call(currentTarget, event);
1636
+ }
1637
+ },
1620
1638
  };
1621
- customElementWrappedListener.placement = 0 /* EventListenerContext.CUSTOM_ELEMENT_LISTENER */;
1622
- customElementEventListenerMap.set(listener, customElementWrappedListener);
1639
+ customElementEventListenerMap.set(listener, managedListener);
1623
1640
  }
1624
- return customElementWrappedListener;
1641
+ return managedListener;
1642
+ }
1643
+ function indexOfManagedListener(listeners, listener) {
1644
+ return ArrayFindIndex.call(listeners, (l) => l.identity === listener.identity);
1625
1645
  }
1626
1646
  function domListener(evt) {
1627
1647
  let immediatePropagationStopped = false;
@@ -1655,9 +1675,9 @@
1655
1675
  forEach.call(bookkeeping, (listener) => {
1656
1676
  if (isFalse(immediatePropagationStopped) && listener.placement === placement) {
1657
1677
  // making sure that the listener was not removed from the original listener queue
1658
- if (ArrayIndexOf.call(listeners, listener) !== -1) {
1678
+ if (indexOfManagedListener(listeners, listener) !== -1) {
1659
1679
  // all handlers on the custom element should be called with undefined 'this'
1660
- listener.call(undefined, evt);
1680
+ listener.handleEvent.call(undefined, evt);
1661
1681
  }
1662
1682
  }
1663
1683
  });
@@ -1671,31 +1691,30 @@
1671
1691
  }
1672
1692
  eventToContextMap.set(evt, 2 /* EventListenerContext.UNKNOWN_LISTENER */);
1673
1693
  }
1674
- function attachDOMListener(elm, type, wrappedListener) {
1694
+ function attachDOMListener(elm, type, managedListener) {
1675
1695
  const listenerMap = getEventMap(elm);
1676
- let cmpEventHandlers = listenerMap[type];
1677
- if (isUndefined(cmpEventHandlers)) {
1678
- cmpEventHandlers = listenerMap[type] = [];
1696
+ let listeners = listenerMap[type];
1697
+ if (isUndefined(listeners)) {
1698
+ listeners = listenerMap[type] = [];
1679
1699
  }
1680
1700
  // Prevent identical listeners from subscribing to the same event type.
1681
- // TODO [#1824]: Options will also play a factor when we introduce support for them (#1824).
1682
- if (ArrayIndexOf.call(cmpEventHandlers, wrappedListener) !== -1) {
1701
+ // TODO [#1824]: Options will also play a factor in deduping if we introduce options support
1702
+ if (indexOfManagedListener(listeners, managedListener) !== -1) {
1683
1703
  return;
1684
1704
  }
1685
1705
  // only add to DOM if there is no other listener on the same placement yet
1686
- if (cmpEventHandlers.length === 0) {
1687
- // super.addEventListener() - this will not work on
1706
+ if (listeners.length === 0) {
1688
1707
  addEventListener.call(elm, type, domListener);
1689
1708
  }
1690
- ArrayPush.call(cmpEventHandlers, wrappedListener);
1709
+ ArrayPush.call(listeners, managedListener);
1691
1710
  }
1692
- function detachDOMListener(elm, type, wrappedListener) {
1711
+ function detachDOMListener(elm, type, managedListener) {
1693
1712
  const listenerMap = getEventMap(elm);
1694
- let p;
1713
+ let index;
1695
1714
  let listeners;
1696
1715
  if (!isUndefined((listeners = listenerMap[type])) &&
1697
- (p = ArrayIndexOf.call(listeners, wrappedListener)) !== -1) {
1698
- ArraySplice.call(listeners, p, 1);
1716
+ (index = indexOfManagedListener(listeners, managedListener)) !== -1) {
1717
+ ArraySplice.call(listeners, index, 1);
1699
1718
  // only remove from DOM if there is no other listener on the same placement
1700
1719
  if (listeners.length === 0) {
1701
1720
  removeEventListener.call(elm, type, domListener);
@@ -1704,42 +1723,38 @@
1704
1723
  }
1705
1724
  function addCustomElementEventListener(type, listener, _options) {
1706
1725
  if (process.env.NODE_ENV !== 'production') {
1707
- if (!isFunction(listener)) {
1708
- throw new TypeError(`Invalid second argument for Element.addEventListener() in ${toString(this)} for event "${type}". Expected an EventListener but received ${listener}.`);
1726
+ if (!isEventListenerOrEventListenerObject(listener)) {
1727
+ throw new TypeError(`Invalid second argument for Element.addEventListener() in ${toString(this)} for event "${type}". Expected EventListener or EventListenerObject but received ${listener}.`);
1709
1728
  }
1710
1729
  }
1711
- // TODO [#1824]: Lift this restriction on the option parameter
1712
- if (isFunction(listener)) {
1713
- const wrappedListener = getWrappedCustomElementListener(listener);
1714
- attachDOMListener(this, type, wrappedListener);
1730
+ if (isEventListenerOrEventListenerObject(listener)) {
1731
+ const managedListener = getManagedCustomElementListener(listener);
1732
+ attachDOMListener(this, type, managedListener);
1715
1733
  }
1716
1734
  }
1717
1735
  function removeCustomElementEventListener(type, listener, _options) {
1718
- // TODO [#1824]: Lift this restriction on the option parameter
1719
- if (isFunction(listener)) {
1720
- const wrappedListener = getWrappedCustomElementListener(listener);
1721
- detachDOMListener(this, type, wrappedListener);
1736
+ if (isEventListenerOrEventListenerObject(listener)) {
1737
+ const managedListener = getManagedCustomElementListener(listener);
1738
+ detachDOMListener(this, type, managedListener);
1722
1739
  }
1723
1740
  }
1724
1741
  function addShadowRootEventListener(sr, type, listener, _options) {
1725
1742
  if (process.env.NODE_ENV !== 'production') {
1726
- if (!isFunction(listener)) {
1727
- throw new TypeError(`Invalid second argument for ShadowRoot.addEventListener() in ${toString(sr)} for event "${type}". Expected an EventListener but received ${listener}.`);
1743
+ if (!isEventListenerOrEventListenerObject(listener)) {
1744
+ throw new TypeError(`Invalid second argument for ShadowRoot.addEventListener() in ${toString(sr)} for event "${type}". Expected EventListener or EventListenerObject but received ${listener}.`);
1728
1745
  }
1729
1746
  }
1730
- // TODO [#1824]: Lift this restriction on the option parameter
1731
- if (isFunction(listener)) {
1747
+ if (isEventListenerOrEventListenerObject(listener)) {
1732
1748
  const elm = getHost(sr);
1733
- const wrappedListener = getWrappedShadowRootListener(listener);
1734
- attachDOMListener(elm, type, wrappedListener);
1749
+ const managedListener = getManagedShadowRootListener(listener);
1750
+ attachDOMListener(elm, type, managedListener);
1735
1751
  }
1736
1752
  }
1737
1753
  function removeShadowRootEventListener(sr, type, listener, _options) {
1738
- // TODO [#1824]: Lift this restriction on the option parameter
1739
- if (isFunction(listener)) {
1754
+ if (isEventListenerOrEventListenerObject(listener)) {
1740
1755
  const elm = getHost(sr);
1741
- const wrappedListener = getWrappedShadowRootListener(listener);
1742
- detachDOMListener(elm, type, wrappedListener);
1756
+ const managedListener = getManagedShadowRootListener(listener);
1757
+ detachDOMListener(elm, type, managedListener);
1743
1758
  }
1744
1759
  }
1745
1760
 
@@ -4681,7 +4696,7 @@
4681
4696
  },
4682
4697
  configurable: true,
4683
4698
  });
4684
- /** version: 2.43.0 */
4699
+ /** version: 2.45.0 */
4685
4700
 
4686
4701
  }));
4687
4702
  //# sourceMappingURL=synthetic-shadow.js.map