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