@mjhls/mjh-framework 1.0.832-scroll-fix-v2 → 1.0.833-d4d-52

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 (162) hide show
  1. package/README.md +168 -168
  2. package/dist/cjs/AD300x250.js +2 -2
  3. package/dist/cjs/AD300x250x600.js +2 -2
  4. package/dist/cjs/AD728x90.js +3 -3
  5. package/dist/cjs/ADFloatingFooter.js +1 -1
  6. package/dist/cjs/ADGutter.js +1 -1
  7. package/dist/cjs/ADSkyscraper.js +1 -1
  8. package/dist/cjs/ADSponsoredResources.js +1 -1
  9. package/dist/cjs/ADWebcast.js +1 -1
  10. package/dist/cjs/ADWelcome.js +1 -1
  11. package/dist/cjs/AdSlot.js +1 -1
  12. package/dist/cjs/AdSlotsProvider.js +2 -2
  13. package/dist/cjs/AlgoliaSearch.js +36 -18
  14. package/dist/cjs/ArticleCarousel.js +1 -1
  15. package/dist/cjs/ArticleProgramLandingPage.js +5 -5
  16. package/dist/cjs/ArticleSeriesLandingPage.js +5 -5
  17. package/dist/cjs/ArticleSeriesListing.js +3 -3
  18. package/dist/cjs/Auth.js +6 -41
  19. package/dist/cjs/AuthWrapper.js +189 -228
  20. package/dist/cjs/CMEDeck.js +3 -3
  21. package/dist/cjs/Column3.js +3 -3
  22. package/dist/cjs/ConferenceArticleCard.js +16 -16
  23. package/dist/cjs/DeckContent.js +13 -13
  24. package/dist/cjs/DeckQueue.js +4 -4
  25. package/dist/cjs/EventsDeck.js +21 -21
  26. package/dist/cjs/ExternalResources.js +5 -5
  27. package/dist/cjs/Feature.js +2 -2
  28. package/dist/cjs/ForbesHero.js +1 -1
  29. package/dist/cjs/GridContent.js +8 -8
  30. package/dist/cjs/GridHero.js +1 -1
  31. package/dist/cjs/HamMagazine.js +15 -15
  32. package/dist/cjs/HighlightenVideo.js +1 -1
  33. package/dist/cjs/HorizontalArticleListing.js +4 -4
  34. package/dist/cjs/HorizontalHero.js +1 -1
  35. package/dist/cjs/IssueContentDeck.js +1 -1
  36. package/dist/cjs/IssueDeck.js +1 -1
  37. package/dist/cjs/IssueLanding.js +36 -36
  38. package/dist/cjs/KMTracker.js +15 -15
  39. package/dist/cjs/LeftNav.js +1 -1
  40. package/dist/cjs/MasterDeck.js +13 -13
  41. package/dist/cjs/MediaSeriesLanding.js +193 -149
  42. package/dist/cjs/NavMagazine.js +14 -14
  43. package/dist/cjs/NavNative.js +12 -12
  44. package/dist/cjs/OncliveHero.js +1 -1
  45. package/dist/cjs/OncliveLargeHero.js +1 -1
  46. package/dist/cjs/PartnerDetailListing.js +7 -7
  47. package/dist/cjs/PubSection.js +5 -5
  48. package/dist/cjs/PublicationLanding.js +26 -26
  49. package/dist/cjs/QueueDeckExpanded.js +7 -7
  50. package/dist/cjs/RelatedContent.js +29 -29
  51. package/dist/cjs/RelatedTopicsDropdown.js +10 -10
  52. package/dist/cjs/SeriesListingDeck.js +3 -3
  53. package/dist/cjs/{SeriesSlider-7d308aac.js → SeriesSlider-10bc3826.js} +10 -10
  54. package/dist/cjs/SideFooter.js +2 -2
  55. package/dist/cjs/{SocialSearchComponent-42b9d251.js → SocialSearchComponent-560a666e.js} +3 -3
  56. package/dist/cjs/TaxonomyDescription.js +4 -4
  57. package/dist/cjs/TemplateNormal.js +2 -2
  58. package/dist/cjs/Ustream.js +2 -2
  59. package/dist/cjs/VerticalHero.js +1 -1
  60. package/dist/cjs/VideoProgramLandingPage.js +5 -5
  61. package/dist/cjs/VideoSeriesCard.js +2 -2
  62. package/dist/cjs/VideoSeriesLandingPage.js +5 -5
  63. package/dist/cjs/VideoSeriesListing.js +3 -3
  64. package/dist/cjs/View.js +18 -15
  65. package/dist/cjs/YahooHero.js +1 -1
  66. package/dist/cjs/YoutubeGroup.js +10 -10
  67. package/dist/cjs/{brightcove-react-player-loader.es-5c98aec7.js → brightcove-react-player-loader.es-4ba0d3d5.js} +3 -4
  68. package/dist/cjs/getRelatedArticle.js +126 -62
  69. package/dist/cjs/getSerializers.js +4 -4
  70. package/dist/cjs/{getTargeting-15ad167c.js → getTargeting-ea2ea5e7.js} +9 -9
  71. package/dist/cjs/getTargeting.js +1 -1
  72. package/dist/cjs/{index-6367b7bf.js → index-5be2866f.js} +17 -16
  73. package/dist/cjs/{index-5d106b44.js → index-b10010e9.js} +12 -12
  74. package/dist/cjs/{index-e2e62963.js → index-f0677b9d.js} +10 -0
  75. package/dist/cjs/{index.es-f3e47207.js → index.es-13533f24.js} +4 -20
  76. package/dist/cjs/index.js +12 -12
  77. package/dist/cjs/{main-7b5e57b0.js → main-11ec04d2.js} +28 -32
  78. package/dist/cjs/{moment-ca3bd9fb.js → moment-66a6a284.js} +8 -10
  79. package/dist/cjs/timeDifferenceCalc.js +1 -1
  80. package/dist/esm/AD300x250.js +2 -2
  81. package/dist/esm/AD300x250x600.js +2 -2
  82. package/dist/esm/AD728x90.js +3 -3
  83. package/dist/esm/ADFloatingFooter.js +1 -1
  84. package/dist/esm/ADGutter.js +1 -1
  85. package/dist/esm/ADSkyscraper.js +1 -1
  86. package/dist/esm/ADSponsoredResources.js +1 -1
  87. package/dist/esm/ADWebcast.js +1 -1
  88. package/dist/esm/ADWelcome.js +1 -1
  89. package/dist/esm/AdSlot.js +1 -1
  90. package/dist/esm/AdSlotsProvider.js +2 -2
  91. package/dist/esm/AlgoliaSearch.js +35 -17
  92. package/dist/esm/ArticleCarousel.js +1 -1
  93. package/dist/esm/ArticleProgramLandingPage.js +5 -5
  94. package/dist/esm/ArticleSeriesLandingPage.js +5 -5
  95. package/dist/esm/ArticleSeriesListing.js +3 -3
  96. package/dist/esm/Auth.js +7 -42
  97. package/dist/esm/AuthWrapper.js +189 -228
  98. package/dist/esm/CMEDeck.js +3 -3
  99. package/dist/esm/Column3.js +3 -3
  100. package/dist/esm/ConferenceArticleCard.js +16 -16
  101. package/dist/esm/DeckContent.js +13 -13
  102. package/dist/esm/DeckQueue.js +4 -4
  103. package/dist/esm/EventsDeck.js +21 -21
  104. package/dist/esm/ExternalResources.js +5 -5
  105. package/dist/esm/Feature.js +2 -2
  106. package/dist/esm/ForbesHero.js +1 -1
  107. package/dist/esm/GridContent.js +8 -8
  108. package/dist/esm/GridHero.js +1 -1
  109. package/dist/esm/HamMagazine.js +15 -15
  110. package/dist/esm/HighlightenVideo.js +1 -1
  111. package/dist/esm/HorizontalArticleListing.js +4 -4
  112. package/dist/esm/HorizontalHero.js +1 -1
  113. package/dist/esm/IssueContentDeck.js +1 -1
  114. package/dist/esm/IssueDeck.js +1 -1
  115. package/dist/esm/IssueLanding.js +36 -36
  116. package/dist/esm/KMTracker.js +15 -15
  117. package/dist/esm/LeftNav.js +1 -1
  118. package/dist/esm/MasterDeck.js +13 -13
  119. package/dist/esm/MediaSeriesLanding.js +193 -149
  120. package/dist/esm/NavMagazine.js +14 -14
  121. package/dist/esm/NavNative.js +12 -12
  122. package/dist/esm/OncliveHero.js +1 -1
  123. package/dist/esm/OncliveLargeHero.js +1 -1
  124. package/dist/esm/PartnerDetailListing.js +7 -7
  125. package/dist/esm/PubSection.js +5 -5
  126. package/dist/esm/PublicationLanding.js +26 -26
  127. package/dist/esm/QueueDeckExpanded.js +7 -7
  128. package/dist/esm/RelatedContent.js +29 -29
  129. package/dist/esm/RelatedTopicsDropdown.js +10 -10
  130. package/dist/esm/SeriesListingDeck.js +3 -3
  131. package/dist/esm/{SeriesSlider-3c4bfe38.js → SeriesSlider-31dcb72b.js} +10 -10
  132. package/dist/esm/SideFooter.js +2 -2
  133. package/dist/esm/{SocialSearchComponent-94f6554c.js → SocialSearchComponent-82ac7d6d.js} +3 -3
  134. package/dist/esm/TaxonomyDescription.js +4 -4
  135. package/dist/esm/TemplateNormal.js +2 -2
  136. package/dist/esm/Ustream.js +2 -2
  137. package/dist/esm/VerticalHero.js +1 -1
  138. package/dist/esm/VideoProgramLandingPage.js +5 -5
  139. package/dist/esm/VideoSeriesCard.js +2 -2
  140. package/dist/esm/VideoSeriesLandingPage.js +5 -5
  141. package/dist/esm/VideoSeriesListing.js +3 -3
  142. package/dist/esm/View.js +18 -15
  143. package/dist/esm/YahooHero.js +1 -1
  144. package/dist/esm/YoutubeGroup.js +10 -10
  145. package/dist/esm/{brightcove-react-player-loader.es-4abff0b1.js → brightcove-react-player-loader.es-e1c6b0f2.js} +3 -4
  146. package/dist/esm/getRelatedArticle.js +126 -62
  147. package/dist/esm/getSerializers.js +4 -4
  148. package/dist/esm/{getTargeting-82e86707.js → getTargeting-831bc794.js} +9 -9
  149. package/dist/esm/getTargeting.js +1 -1
  150. package/dist/esm/{index-04d3dda1.js → index-b3bd543b.js} +12 -12
  151. package/dist/esm/{index-aaa2dae0.js → index-b68072f5.js} +10 -1
  152. package/dist/esm/{index-c00b0bbb.js → index-d2f90501.js} +17 -16
  153. package/dist/esm/{index.es-c6222053.js → index.es-7dda2f0a.js} +4 -20
  154. package/dist/esm/index.js +12 -12
  155. package/dist/esm/{main-747e7d25.js → main-aef58dbc.js} +28 -32
  156. package/dist/esm/{moment-b6f49411.js → moment-12415288.js} +8 -10
  157. package/dist/esm/timeDifferenceCalc.js +1 -1
  158. package/package.json +110 -110
  159. /package/dist/cjs/{ADInfeed-0158bee3.js → ADInfeed-912f52c2.js} +0 -0
  160. /package/dist/cjs/{ADlgInfeed-3583144f.js → ADlgInfeed-98acbab8.js} +0 -0
  161. /package/dist/esm/{ADInfeed-427022e9.js → ADInfeed-813279c7.js} +0 -0
  162. /package/dist/esm/{ADlgInfeed-28d3f944.js → ADlgInfeed-8ba1523a.js} +0 -0
@@ -23,18 +23,18 @@ require('react-bootstrap/Container');
23
23
  require('react-bootstrap/Row');
24
24
  require('react-bootstrap/Col');
25
25
  require('react-bootstrap/Card');
26
- var moment = require('./moment-ca3bd9fb.js');
26
+ var moment = require('./moment-66a6a284.js');
27
27
  require('next/router');
28
28
  require('./isSymbol-04666465.js');
29
29
  require('./debounce-529c8d06.js');
30
30
  require('./toNumber-36d1e7e5.js');
31
- require('./index.es-f3e47207.js');
31
+ require('./index.es-13533f24.js');
32
32
  var ReactDOM = require('react-dom');
33
33
  require('./visibility-sensor-eb2c5b69.js');
34
34
  require('./index-b5eb3ff8.js');
35
35
  var urlFor = require('./urlFor.js');
36
36
  var index$1 = require('./index-9d365128.js');
37
- require('./main-7b5e57b0.js');
37
+ require('./main-11ec04d2.js');
38
38
  require('./entities-310b46ee.js');
39
39
  var slicedToArray = require('./slicedToArray-8f385299.js');
40
40
  require('./stringify-7c5aff47.js');
@@ -42,9 +42,9 @@ var asyncToGenerator = require('./asyncToGenerator-140e5f89.js');
42
42
  require('./Segment.js');
43
43
  require('./Beam.js');
44
44
  require('./AdSlot.js');
45
- require('./ADInfeed-0158bee3.js');
45
+ require('./ADInfeed-912f52c2.js');
46
46
  require('./lodash-7fd85bcf.js');
47
- require('./ADlgInfeed-3583144f.js');
47
+ require('./ADlgInfeed-98acbab8.js');
48
48
  var BlockContent = require('./BlockContent-8b494587.js');
49
49
  require('./index-187c967e.js');
50
50
  require('./smoothscroll-5054361f.js');
@@ -52,9 +52,9 @@ require('./GroupDeck.js');
52
52
  require('react-bootstrap');
53
53
  require('./iconBase-68959171.js');
54
54
  require('./index.esm-974f47d9.js');
55
- var getSerializers = require('./index-5d106b44.js');
55
+ var getSerializers = require('./index-b10010e9.js');
56
56
  require('./util-f2c1b65b.js');
57
- require('./brightcove-react-player-loader.es-5c98aec7.js');
57
+ require('./brightcove-react-player-loader.es-4ba0d3d5.js');
58
58
  require('next/head');
59
59
  require('react-share');
60
60
  require('./SocialShare.js');
@@ -64,7 +64,7 @@ require('react-bootstrap/Button');
64
64
  require('react-bootstrap/Figure');
65
65
  var MasterDeck = require('./MasterDeck.js');
66
66
  var defineProperty = require('./defineProperty-55548b25.js');
67
- var index = require('./index-e2e62963.js');
67
+ var index = require('./index-f0677b9d.js');
68
68
  var styleInject_es = require('./style-inject.es-dcee06b6.js');
69
69
  var Link = require('next/link');
70
70
 
@@ -183,7 +183,7 @@ function useUncontrolled(props, config) {
183
183
  function _inheritsLoose(subClass, superClass) {
184
184
  subClass.prototype = Object.create(superClass.prototype);
185
185
  subClass.prototype.constructor = subClass;
186
- subClass.__proto__ = superClass;
186
+ index._setPrototypeOf(subClass, superClass);
187
187
  }
188
188
 
189
189
  var ThemeContext = React__default['default'].createContext({});
@@ -1852,6 +1852,20 @@ function setChainedTimeout(handleRef, fn, timeoutAtMs) {
1852
1852
  /**
1853
1853
  * Returns a controller object for setting a timeout that is properly cleaned up
1854
1854
  * once the component unmounts. New timeouts cancel and replace existing ones.
1855
+ *
1856
+ *
1857
+ *
1858
+ * ```tsx
1859
+ * const { set, clear } = useTimeout();
1860
+ * const [hello, showHello] = useState(false);
1861
+ * //Display hello after 5 seconds
1862
+ * set(() => showHello(true), 5000);
1863
+ * return (
1864
+ * <div className="App">
1865
+ * {hello ? <h3>Hello</h3> : null}
1866
+ * </div>
1867
+ * );
1868
+ * ```
1855
1869
  */
1856
1870
 
1857
1871
 
@@ -2610,21 +2624,50 @@ function getBasePlacement(placement) {
2610
2624
  return placement.split('-')[0];
2611
2625
  }
2612
2626
 
2613
- // Returns the layout rect of an element relative to its offsetParent. Layout
2627
+ function getBoundingClientRect(element) {
2628
+ var rect = element.getBoundingClientRect();
2629
+ return {
2630
+ width: rect.width,
2631
+ height: rect.height,
2632
+ top: rect.top,
2633
+ right: rect.right,
2634
+ bottom: rect.bottom,
2635
+ left: rect.left,
2636
+ x: rect.left,
2637
+ y: rect.top
2638
+ };
2639
+ }
2640
+
2614
2641
  // means it doesn't take into account transforms.
2642
+
2615
2643
  function getLayoutRect(element) {
2644
+ var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.
2645
+ // Fixes https://github.com/popperjs/popper-core/issues/1223
2646
+
2647
+ var width = element.offsetWidth;
2648
+ var height = element.offsetHeight;
2649
+
2650
+ if (Math.abs(clientRect.width - width) <= 1) {
2651
+ width = clientRect.width;
2652
+ }
2653
+
2654
+ if (Math.abs(clientRect.height - height) <= 1) {
2655
+ height = clientRect.height;
2656
+ }
2657
+
2616
2658
  return {
2617
2659
  x: element.offsetLeft,
2618
2660
  y: element.offsetTop,
2619
- width: element.offsetWidth,
2620
- height: element.offsetHeight
2661
+ width: width,
2662
+ height: height
2621
2663
  };
2622
2664
  }
2623
2665
 
2624
- /*:: import type { Window } from '../types'; */
2625
-
2626
- /*:: declare function getWindow(node: Node | Window): Window; */
2627
2666
  function getWindow(node) {
2667
+ if (node == null) {
2668
+ return window;
2669
+ }
2670
+
2628
2671
  if (node.toString() !== '[object Window]') {
2629
2672
  var ownerDocument = node.ownerDocument;
2630
2673
  return ownerDocument ? ownerDocument.defaultView || window : window;
@@ -2633,26 +2676,22 @@ function getWindow(node) {
2633
2676
  return node;
2634
2677
  }
2635
2678
 
2636
- /*:: declare function isElement(node: mixed): boolean %checks(node instanceof
2637
- Element); */
2638
-
2639
2679
  function isElement(node) {
2640
2680
  var OwnElement = getWindow(node).Element;
2641
2681
  return node instanceof OwnElement || node instanceof Element;
2642
2682
  }
2643
- /*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof
2644
- HTMLElement); */
2645
-
2646
2683
 
2647
2684
  function isHTMLElement(node) {
2648
2685
  var OwnElement = getWindow(node).HTMLElement;
2649
2686
  return node instanceof OwnElement || node instanceof HTMLElement;
2650
2687
  }
2651
- /*:: declare function isShadowRoot(node: mixed): boolean %checks(node instanceof
2652
- ShadowRoot); */
2653
-
2654
2688
 
2655
2689
  function isShadowRoot(node) {
2690
+ // IE 11 has no ShadowRoot
2691
+ if (typeof ShadowRoot === 'undefined') {
2692
+ return false;
2693
+ }
2694
+
2656
2695
  var OwnElement = getWindow(node).ShadowRoot;
2657
2696
  return node instanceof OwnElement || node instanceof ShadowRoot;
2658
2697
  }
@@ -2669,7 +2708,7 @@ function contains(parent, child) {
2669
2708
  do {
2670
2709
  if (next && parent.isSameNode(next)) {
2671
2710
  return true;
2672
- } // $FlowFixMe: need a better way to handle this...
2711
+ } // $FlowFixMe[prop-missing]: need a better way to handle this...
2673
2712
 
2674
2713
 
2675
2714
  next = next.parentNode || next.host;
@@ -2693,8 +2732,9 @@ function isTableElement(element) {
2693
2732
  }
2694
2733
 
2695
2734
  function getDocumentElement(element) {
2696
- // $FlowFixMe: assume body is always available
2697
- return ((isElement(element) ? element.ownerDocument : element.document) || window.document).documentElement;
2735
+ // $FlowFixMe[incompatible-return]: assume body is always available
2736
+ return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]
2737
+ element.document) || window.document).documentElement;
2698
2738
  }
2699
2739
 
2700
2740
  function getParentNode(element) {
@@ -2702,12 +2742,13 @@ function getParentNode(element) {
2702
2742
  return element;
2703
2743
  }
2704
2744
 
2705
- return (// $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle
2745
+ return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle
2746
+ // $FlowFixMe[incompatible-return]
2747
+ // $FlowFixMe[prop-missing]
2706
2748
  element.assignedSlot || // step into the shadow DOM of the parent of a slotted node
2707
- element.parentNode || // DOM Element detected
2708
- // $FlowFixMe: need a better way to handle this...
2709
- element.host || // ShadowRoot detected
2710
- // $FlowFixMe: HTMLElement is a Node
2749
+ element.parentNode || ( // DOM Element detected
2750
+ isShadowRoot(element) ? element.host : null) || // ShadowRoot detected
2751
+ // $FlowFixMe[incompatible-call]: HTMLElement is a Node
2711
2752
  getDocumentElement(element) // fallback
2712
2753
 
2713
2754
  );
@@ -2719,29 +2760,21 @@ function getTrueOffsetParent(element) {
2719
2760
  return null;
2720
2761
  }
2721
2762
 
2722
- var offsetParent = element.offsetParent;
2723
-
2724
- if (offsetParent) {
2725
- var html = getDocumentElement(offsetParent);
2726
-
2727
- if (getNodeName(offsetParent) === 'body' && getComputedStyle$2(offsetParent).position === 'static' && getComputedStyle$2(html).position !== 'static') {
2728
- return html;
2729
- }
2730
- }
2731
-
2732
- return offsetParent;
2763
+ return element.offsetParent;
2733
2764
  } // `.offsetParent` reports `null` for fixed elements, while absolute elements
2734
2765
  // return the containing block
2735
2766
 
2736
2767
 
2737
2768
  function getContainingBlock(element) {
2769
+ var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;
2738
2770
  var currentNode = getParentNode(element);
2739
2771
 
2740
2772
  while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {
2741
2773
  var css = getComputedStyle$2(currentNode); // This is non-exhaustive but covers the most common CSS properties that
2742
2774
  // create a containing block.
2775
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
2743
2776
 
2744
- if (css.transform !== 'none' || css.perspective !== 'none' || css.willChange && css.willChange !== 'auto') {
2777
+ if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {
2745
2778
  return currentNode;
2746
2779
  } else {
2747
2780
  currentNode = currentNode.parentNode;
@@ -2761,7 +2794,7 @@ function getOffsetParent(element) {
2761
2794
  offsetParent = getTrueOffsetParent(offsetParent);
2762
2795
  }
2763
2796
 
2764
- if (offsetParent && getNodeName(offsetParent) === 'body' && getComputedStyle$2(offsetParent).position === 'static') {
2797
+ if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle$2(offsetParent).position === 'static')) {
2765
2798
  return window;
2766
2799
  }
2767
2800
 
@@ -2772,8 +2805,12 @@ function getMainAxisFromPlacement(placement) {
2772
2805
  return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
2773
2806
  }
2774
2807
 
2775
- function within(min, value, max) {
2776
- return Math.max(min, Math.min(value, max));
2808
+ var max = Math.max;
2809
+ var min = Math.min;
2810
+ var round = Math.round;
2811
+
2812
+ function within(min$1, value, max$1) {
2813
+ return max(min$1, min(value, max$1));
2777
2814
  }
2778
2815
 
2779
2816
  function getFreshSideObject() {
@@ -2786,7 +2823,7 @@ function getFreshSideObject() {
2786
2823
  }
2787
2824
 
2788
2825
  function mergePaddingObject(paddingObject) {
2789
- return Object.assign(Object.assign({}, getFreshSideObject()), paddingObject);
2826
+ return Object.assign({}, getFreshSideObject(), paddingObject);
2790
2827
  }
2791
2828
 
2792
2829
  function expandToHashMap(value, keys) {
@@ -2796,11 +2833,19 @@ function expandToHashMap(value, keys) {
2796
2833
  }, {});
2797
2834
  }
2798
2835
 
2836
+ var toPaddingObject = function toPaddingObject(padding, state) {
2837
+ padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {
2838
+ placement: state.placement
2839
+ })) : padding;
2840
+ return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));
2841
+ };
2842
+
2799
2843
  function arrow(_ref) {
2800
2844
  var _state$modifiersData$;
2801
2845
 
2802
2846
  var state = _ref.state,
2803
- name = _ref.name;
2847
+ name = _ref.name,
2848
+ options = _ref.options;
2804
2849
  var arrowElement = state.elements.arrow;
2805
2850
  var popperOffsets = state.modifiersData.popperOffsets;
2806
2851
  var basePlacement = getBasePlacement(state.placement);
@@ -2812,7 +2857,7 @@ function arrow(_ref) {
2812
2857
  return;
2813
2858
  }
2814
2859
 
2815
- var paddingObject = state.modifiersData[name + "#persistent"].padding;
2860
+ var paddingObject = toPaddingObject(options.padding, state);
2816
2861
  var arrowRect = getLayoutRect(arrowElement);
2817
2862
  var minProp = axis === 'y' ? top : left;
2818
2863
  var maxProp = axis === 'y' ? bottom : right;
@@ -2834,12 +2879,9 @@ function arrow(_ref) {
2834
2879
 
2835
2880
  function effect(_ref2) {
2836
2881
  var state = _ref2.state,
2837
- options = _ref2.options,
2838
- name = _ref2.name;
2882
+ options = _ref2.options;
2839
2883
  var _options$element = options.element,
2840
- arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element,
2841
- _options$padding = options.padding,
2842
- padding = _options$padding === void 0 ? 0 : _options$padding;
2884
+ arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;
2843
2885
 
2844
2886
  if (arrowElement == null) {
2845
2887
  return;
@@ -2869,9 +2911,6 @@ function effect(_ref2) {
2869
2911
  }
2870
2912
 
2871
2913
  state.elements.arrow = arrowElement;
2872
- state.modifiersData[name + "#persistent"] = {
2873
- padding: mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements))
2874
- };
2875
2914
  } // eslint-disable-next-line import/no-unused-modules
2876
2915
 
2877
2916
 
@@ -2894,14 +2933,14 @@ var unsetSides = {
2894
2933
  // Zooming can change the DPR, but it seems to report a value that will
2895
2934
  // cleanly divide the values into the appropriate subpixels.
2896
2935
 
2897
- function roundOffsets(_ref) {
2936
+ function roundOffsetsByDPR(_ref) {
2898
2937
  var x = _ref.x,
2899
2938
  y = _ref.y;
2900
2939
  var win = window;
2901
2940
  var dpr = win.devicePixelRatio || 1;
2902
2941
  return {
2903
- x: Math.round(x * dpr) / dpr || 0,
2904
- y: Math.round(y * dpr) / dpr || 0
2942
+ x: round(round(x * dpr) / dpr) || 0,
2943
+ y: round(round(y * dpr) / dpr) || 0
2905
2944
  };
2906
2945
  }
2907
2946
 
@@ -2914,11 +2953,14 @@ function mapToStyles(_ref2) {
2914
2953
  offsets = _ref2.offsets,
2915
2954
  position = _ref2.position,
2916
2955
  gpuAcceleration = _ref2.gpuAcceleration,
2917
- adaptive = _ref2.adaptive;
2956
+ adaptive = _ref2.adaptive,
2957
+ roundOffsets = _ref2.roundOffsets;
2918
2958
 
2919
- var _roundOffsets = roundOffsets(offsets),
2920
- x = _roundOffsets.x,
2921
- y = _roundOffsets.y;
2959
+ var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,
2960
+ _ref3$x = _ref3.x,
2961
+ x = _ref3$x === void 0 ? 0 : _ref3$x,
2962
+ _ref3$y = _ref3.y,
2963
+ y = _ref3$y === void 0 ? 0 : _ref3$y;
2922
2964
 
2923
2965
  var hasX = offsets.hasOwnProperty('x');
2924
2966
  var hasY = offsets.hasOwnProperty('y');
@@ -2928,23 +2970,32 @@ function mapToStyles(_ref2) {
2928
2970
 
2929
2971
  if (adaptive) {
2930
2972
  var offsetParent = getOffsetParent(popper);
2973
+ var heightProp = 'clientHeight';
2974
+ var widthProp = 'clientWidth';
2931
2975
 
2932
2976
  if (offsetParent === getWindow(popper)) {
2933
2977
  offsetParent = getDocumentElement(popper);
2934
- } // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it
2935
2978
 
2936
- /*:: offsetParent = (offsetParent: Element); */
2979
+ if (getComputedStyle$2(offsetParent).position !== 'static') {
2980
+ heightProp = 'scrollHeight';
2981
+ widthProp = 'scrollWidth';
2982
+ }
2983
+ } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it
2984
+
2937
2985
 
2986
+ offsetParent = offsetParent;
2938
2987
 
2939
2988
  if (placement === top) {
2940
- sideY = bottom;
2941
- y -= offsetParent.clientHeight - popperRect.height;
2989
+ sideY = bottom; // $FlowFixMe[prop-missing]
2990
+
2991
+ y -= offsetParent[heightProp] - popperRect.height;
2942
2992
  y *= gpuAcceleration ? 1 : -1;
2943
2993
  }
2944
2994
 
2945
2995
  if (placement === left) {
2946
- sideX = right;
2947
- x -= offsetParent.clientWidth - popperRect.width;
2996
+ sideX = right; // $FlowFixMe[prop-missing]
2997
+
2998
+ x -= offsetParent[widthProp] - popperRect.width;
2948
2999
  x *= gpuAcceleration ? 1 : -1;
2949
3000
  }
2950
3001
  }
@@ -2956,19 +3007,21 @@ function mapToStyles(_ref2) {
2956
3007
  if (gpuAcceleration) {
2957
3008
  var _Object$assign;
2958
3009
 
2959
- return Object.assign(Object.assign({}, commonStyles), {}, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
3010
+ return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
2960
3011
  }
2961
3012
 
2962
- return Object.assign(Object.assign({}, commonStyles), {}, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2));
3013
+ return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2));
2963
3014
  }
2964
3015
 
2965
- function computeStyles(_ref3) {
2966
- var state = _ref3.state,
2967
- options = _ref3.options;
3016
+ function computeStyles(_ref4) {
3017
+ var state = _ref4.state,
3018
+ options = _ref4.options;
2968
3019
  var _options$gpuAccelerat = options.gpuAcceleration,
2969
3020
  gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,
2970
3021
  _options$adaptive = options.adaptive,
2971
- adaptive = _options$adaptive === void 0 ? true : _options$adaptive;
3022
+ adaptive = _options$adaptive === void 0 ? true : _options$adaptive,
3023
+ _options$roundOffsets = options.roundOffsets,
3024
+ roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;
2972
3025
 
2973
3026
  if (process.env.NODE_ENV !== "production") {
2974
3027
  var transitionProperty = getComputedStyle$2(state.elements.popper).transitionProperty || '';
@@ -2988,22 +3041,24 @@ function computeStyles(_ref3) {
2988
3041
  };
2989
3042
 
2990
3043
  if (state.modifiersData.popperOffsets != null) {
2991
- state.styles.popper = Object.assign(Object.assign({}, state.styles.popper), mapToStyles(Object.assign(Object.assign({}, commonStyles), {}, {
3044
+ state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {
2992
3045
  offsets: state.modifiersData.popperOffsets,
2993
3046
  position: state.options.strategy,
2994
- adaptive: adaptive
3047
+ adaptive: adaptive,
3048
+ roundOffsets: roundOffsets
2995
3049
  })));
2996
3050
  }
2997
3051
 
2998
3052
  if (state.modifiersData.arrow != null) {
2999
- state.styles.arrow = Object.assign(Object.assign({}, state.styles.arrow), mapToStyles(Object.assign(Object.assign({}, commonStyles), {}, {
3053
+ state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {
3000
3054
  offsets: state.modifiersData.arrow,
3001
3055
  position: 'absolute',
3002
- adaptive: false
3056
+ adaptive: false,
3057
+ roundOffsets: roundOffsets
3003
3058
  })));
3004
3059
  }
3005
3060
 
3006
- state.attributes.popper = Object.assign(Object.assign({}, state.attributes.popper), {}, {
3061
+ state.attributes.popper = Object.assign({}, state.attributes.popper, {
3007
3062
  'data-popper-placement': state.placement
3008
3063
  });
3009
3064
  } // eslint-disable-next-line import/no-unused-modules
@@ -3087,20 +3142,6 @@ function getOppositeVariationPlacement(placement) {
3087
3142
  });
3088
3143
  }
3089
3144
 
3090
- function getBoundingClientRect(element) {
3091
- var rect = element.getBoundingClientRect();
3092
- return {
3093
- width: rect.width,
3094
- height: rect.height,
3095
- top: rect.top,
3096
- right: rect.right,
3097
- bottom: rect.bottom,
3098
- left: rect.left,
3099
- x: rect.left,
3100
- y: rect.top
3101
- };
3102
- }
3103
-
3104
3145
  function getWindowScroll(node) {
3105
3146
  var win = getWindow(node);
3106
3147
  var scrollLeft = win.pageXOffset;
@@ -3163,16 +3204,18 @@ function getViewportRect(element) {
3163
3204
  // of the `<html>` and `<body>` rect bounds if horizontally scrollable
3164
3205
 
3165
3206
  function getDocumentRect(element) {
3207
+ var _element$ownerDocumen;
3208
+
3166
3209
  var html = getDocumentElement(element);
3167
3210
  var winScroll = getWindowScroll(element);
3168
- var body = element.ownerDocument.body;
3169
- var width = Math.max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
3170
- var height = Math.max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
3211
+ var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;
3212
+ var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
3213
+ var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
3171
3214
  var x = -winScroll.scrollLeft + getWindowScrollBarX(element);
3172
3215
  var y = -winScroll.scrollTop;
3173
3216
 
3174
3217
  if (getComputedStyle$2(body || html).direction === 'rtl') {
3175
- x += Math.max(html.clientWidth, body ? body.clientWidth : 0) - width;
3218
+ x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
3176
3219
  }
3177
3220
 
3178
3221
  return {
@@ -3195,7 +3238,7 @@ function isScrollParent(element) {
3195
3238
 
3196
3239
  function getScrollParent(node) {
3197
3240
  if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {
3198
- // $FlowFixMe: assume body is always available
3241
+ // $FlowFixMe[incompatible-return]: assume body is always available
3199
3242
  return node.ownerDocument.body;
3200
3243
  }
3201
3244
 
@@ -3209,26 +3252,28 @@ function getScrollParent(node) {
3209
3252
  /*
3210
3253
  given a DOM element, return the list of all scroll parents, up the list of ancesors
3211
3254
  until we get to the top window object. This list is what we attach scroll listeners
3212
- to, because if any of these parent elements scroll, we'll need to re-calculate the
3255
+ to, because if any of these parent elements scroll, we'll need to re-calculate the
3213
3256
  reference element's position.
3214
3257
  */
3215
3258
 
3216
3259
  function listScrollParents(element, list) {
3260
+ var _element$ownerDocumen;
3261
+
3217
3262
  if (list === void 0) {
3218
3263
  list = [];
3219
3264
  }
3220
3265
 
3221
3266
  var scrollParent = getScrollParent(element);
3222
- var isBody = getNodeName(scrollParent) === 'body';
3267
+ var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);
3223
3268
  var win = getWindow(scrollParent);
3224
3269
  var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;
3225
3270
  var updatedList = list.concat(target);
3226
- return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here
3271
+ return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
3227
3272
  updatedList.concat(listScrollParents(getParentNode(target)));
3228
3273
  }
3229
3274
 
3230
3275
  function rectToClientRect(rect) {
3231
- return Object.assign(Object.assign({}, rect), {}, {
3276
+ return Object.assign({}, rect, {
3232
3277
  left: rect.x,
3233
3278
  top: rect.y,
3234
3279
  right: rect.x + rect.width,
@@ -3263,7 +3308,7 @@ function getClippingParents(element) {
3263
3308
 
3264
3309
  if (!isElement(clipperElement)) {
3265
3310
  return [];
3266
- } // $FlowFixMe: https://github.com/facebook/flow/issues/1414
3311
+ } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414
3267
3312
 
3268
3313
 
3269
3314
  return clippingParents.filter(function (clippingParent) {
@@ -3279,10 +3324,10 @@ function getClippingRect(element, boundary, rootBoundary) {
3279
3324
  var firstClippingParent = clippingParents[0];
3280
3325
  var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {
3281
3326
  var rect = getClientRectFromMixedType(element, clippingParent);
3282
- accRect.top = Math.max(rect.top, accRect.top);
3283
- accRect.right = Math.min(rect.right, accRect.right);
3284
- accRect.bottom = Math.min(rect.bottom, accRect.bottom);
3285
- accRect.left = Math.max(rect.left, accRect.left);
3327
+ accRect.top = max(rect.top, accRect.top);
3328
+ accRect.right = min(rect.right, accRect.right);
3329
+ accRect.bottom = min(rect.bottom, accRect.bottom);
3330
+ accRect.left = max(rect.left, accRect.left);
3286
3331
  return accRect;
3287
3332
  }, getClientRectFromMixedType(element, firstClippingParent));
3288
3333
  clippingRect.width = clippingRect.right - clippingRect.left;
@@ -3349,11 +3394,11 @@ function computeOffsets(_ref) {
3349
3394
 
3350
3395
  switch (variation) {
3351
3396
  case start:
3352
- offsets[mainAxis] = Math.floor(offsets[mainAxis]) - Math.floor(reference[len] / 2 - element[len] / 2);
3397
+ offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);
3353
3398
  break;
3354
3399
 
3355
3400
  case end:
3356
- offsets[mainAxis] = Math.floor(offsets[mainAxis]) + Math.ceil(reference[len] / 2 - element[len] / 2);
3401
+ offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);
3357
3402
  break;
3358
3403
  }
3359
3404
  }
@@ -3392,7 +3437,7 @@ function detectOverflow(state, options) {
3392
3437
  strategy: 'absolute',
3393
3438
  placement: placement
3394
3439
  });
3395
- var popperClientRect = rectToClientRect(Object.assign(Object.assign({}, popperRect), popperOffsets));
3440
+ var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));
3396
3441
  var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect
3397
3442
  // 0 or negative = within the clipping rect
3398
3443
 
@@ -3416,9 +3461,6 @@ function detectOverflow(state, options) {
3416
3461
  return overflowOffsets;
3417
3462
  }
3418
3463
 
3419
- /*:: type OverflowsMap = { [ComputedPlacement]: number }; */
3420
-
3421
- /*;; type OverflowsMap = { [key in ComputedPlacement]: number }; */
3422
3464
  function computeAutoPlacement(state, options) {
3423
3465
  if (options === void 0) {
3424
3466
  options = {};
@@ -3435,8 +3477,7 @@ function computeAutoPlacement(state, options) {
3435
3477
  var variation = getVariation(placement);
3436
3478
  var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {
3437
3479
  return getVariation(placement) === variation;
3438
- }) : basePlacements; // $FlowFixMe
3439
-
3480
+ }) : basePlacements;
3440
3481
  var allowedPlacements = placements$1.filter(function (placement) {
3441
3482
  return allowedAutoPlacements.indexOf(placement) >= 0;
3442
3483
  });
@@ -3447,7 +3488,7 @@ function computeAutoPlacement(state, options) {
3447
3488
  if (process.env.NODE_ENV !== "production") {
3448
3489
  console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, "auto" cannot be used to allow "bottom-start".', 'Use "auto-start" instead.'].join(' '));
3449
3490
  }
3450
- } // $FlowFixMe: Flow seems to have problems with two array unions...
3491
+ } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...
3451
3492
 
3452
3493
 
3453
3494
  var overflows = allowedPlacements.reduce(function (acc, placement) {
@@ -3648,7 +3689,7 @@ function hide(_ref) {
3648
3689
  isReferenceHidden: isReferenceHidden,
3649
3690
  hasPopperEscaped: hasPopperEscaped
3650
3691
  };
3651
- state.attributes.popper = Object.assign(Object.assign({}, state.attributes.popper), {}, {
3692
+ state.attributes.popper = Object.assign({}, state.attributes.popper, {
3652
3693
  'data-popper-reference-hidden': isReferenceHidden,
3653
3694
  'data-popper-escaped': hasPopperEscaped
3654
3695
  });
@@ -3667,7 +3708,7 @@ function distanceAndSkiddingToXY(placement, rects, offset) {
3667
3708
  var basePlacement = getBasePlacement(placement);
3668
3709
  var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;
3669
3710
 
3670
- var _ref = typeof offset === 'function' ? offset(Object.assign(Object.assign({}, rects), {}, {
3711
+ var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {
3671
3712
  placement: placement
3672
3713
  })) : offset,
3673
3714
  skidding = _ref[0],
@@ -3773,7 +3814,7 @@ function preventOverflow(_ref) {
3773
3814
  var popperOffsets = state.modifiersData.popperOffsets;
3774
3815
  var referenceRect = state.rects.reference;
3775
3816
  var popperRect = state.rects.popper;
3776
- var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign(Object.assign({}, state.rects), {}, {
3817
+ var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {
3777
3818
  placement: state.placement
3778
3819
  })) : tetherOffset;
3779
3820
  var data = {
@@ -3785,13 +3826,13 @@ function preventOverflow(_ref) {
3785
3826
  return;
3786
3827
  }
3787
3828
 
3788
- if (checkMainAxis) {
3829
+ if (checkMainAxis || checkAltAxis) {
3789
3830
  var mainSide = mainAxis === 'y' ? top : left;
3790
3831
  var altSide = mainAxis === 'y' ? bottom : right;
3791
3832
  var len = mainAxis === 'y' ? 'height' : 'width';
3792
3833
  var offset = popperOffsets[mainAxis];
3793
- var min = popperOffsets[mainAxis] + overflow[mainSide];
3794
- var max = popperOffsets[mainAxis] - overflow[altSide];
3834
+ var min$1 = popperOffsets[mainAxis] + overflow[mainSide];
3835
+ var max$1 = popperOffsets[mainAxis] - overflow[altSide];
3795
3836
  var additive = tether ? -popperRect[len] / 2 : 0;
3796
3837
  var minLen = variation === start ? referenceRect[len] : popperRect[len];
3797
3838
  var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go
@@ -3818,26 +3859,29 @@ function preventOverflow(_ref) {
3818
3859
  var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;
3819
3860
  var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;
3820
3861
  var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;
3821
- var preventedOffset = within(tether ? Math.min(min, tetherMin) : min, offset, tether ? Math.max(max, tetherMax) : max);
3822
- popperOffsets[mainAxis] = preventedOffset;
3823
- data[mainAxis] = preventedOffset - offset;
3824
- }
3825
3862
 
3826
- if (checkAltAxis) {
3827
- var _mainSide = mainAxis === 'x' ? top : left;
3863
+ if (checkMainAxis) {
3864
+ var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
3865
+ popperOffsets[mainAxis] = preventedOffset;
3866
+ data[mainAxis] = preventedOffset - offset;
3867
+ }
3868
+
3869
+ if (checkAltAxis) {
3870
+ var _mainSide = mainAxis === 'x' ? top : left;
3828
3871
 
3829
- var _altSide = mainAxis === 'x' ? bottom : right;
3872
+ var _altSide = mainAxis === 'x' ? bottom : right;
3830
3873
 
3831
- var _offset = popperOffsets[altAxis];
3874
+ var _offset = popperOffsets[altAxis];
3832
3875
 
3833
- var _min = _offset + overflow[_mainSide];
3876
+ var _min = _offset + overflow[_mainSide];
3834
3877
 
3835
- var _max = _offset - overflow[_altSide];
3878
+ var _max = _offset - overflow[_altSide];
3836
3879
 
3837
- var _preventedOffset = within(_min, _offset, _max);
3880
+ var _preventedOffset = within(tether ? min(_min, tetherMin) : _min, _offset, tether ? max(_max, tetherMax) : _max);
3838
3881
 
3839
- popperOffsets[altAxis] = _preventedOffset;
3840
- data[altAxis] = _preventedOffset - _offset;
3882
+ popperOffsets[altAxis] = _preventedOffset;
3883
+ data[altAxis] = _preventedOffset - _offset;
3884
+ }
3841
3885
  }
3842
3886
 
3843
3887
  state.modifiersData[name] = data;
@@ -4068,9 +4112,9 @@ function uniqueBy(arr, fn) {
4068
4112
  function mergeByName(modifiers) {
4069
4113
  var merged = modifiers.reduce(function (merged, current) {
4070
4114
  var existing = merged[current.name];
4071
- merged[current.name] = existing ? Object.assign(Object.assign(Object.assign({}, existing), current), {}, {
4072
- options: Object.assign(Object.assign({}, existing.options), current.options),
4073
- data: Object.assign(Object.assign({}, existing.data), current.data)
4115
+ merged[current.name] = existing ? Object.assign({}, existing, current, {
4116
+ options: Object.assign({}, existing.options, current.options),
4117
+ data: Object.assign({}, existing.data, current.data)
4074
4118
  }) : current;
4075
4119
  return merged;
4076
4120
  }, {}); // IE11 does not support Object.values
@@ -4116,7 +4160,7 @@ function popperGenerator(generatorOptions) {
4116
4160
  var state = {
4117
4161
  placement: 'bottom',
4118
4162
  orderedModifiers: [],
4119
- options: Object.assign(Object.assign({}, DEFAULT_OPTIONS), defaultOptions),
4163
+ options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),
4120
4164
  modifiersData: {},
4121
4165
  elements: {
4122
4166
  reference: reference,
@@ -4131,7 +4175,7 @@ function popperGenerator(generatorOptions) {
4131
4175
  state: state,
4132
4176
  setOptions: function setOptions(options) {
4133
4177
  cleanupModifierEffects();
4134
- state.options = Object.assign(Object.assign(Object.assign({}, defaultOptions), state.options), options);
4178
+ state.options = Object.assign({}, defaultOptions, state.options, options);
4135
4179
  state.scrollParents = {
4136
4180
  reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],
4137
4181
  popper: listScrollParents(popper)
@@ -9343,7 +9387,7 @@ var Tooltip = React__default['default'].forwardRef(function (_ref, ref) {
9343
9387
  Tooltip.defaultProps = defaultProps$E;
9344
9388
  Tooltip.displayName = 'Tooltip';
9345
9389
 
9346
- var css = ".MediaSeriesCard-module_article__SAFYK {\r\n width: 100%;\r\n margin: 0 0 1rem 0;\r\n}\r\n.MediaSeriesCard-module_article__SAFYK a {\r\n display: flex;\r\n width: 100%;\r\n color: #000000;\r\n}\r\n.MediaSeriesCard-module_thumb__3jRAU {\r\n width: 25%;\r\n}\r\n.MediaSeriesCard-module_thumb__3jRAU img {\r\n width: 100%;\r\n height: auto;\r\n}\r\n.MediaSeriesCard-module_info__3L7_o {\r\n width: 75%;\r\n font-size: 1rem;\r\n}\r\n.MediaSeriesCard-module_info__3L7_o h2 {\r\n font-weight: bold;\r\n font-size: 1.25rem;\r\n margin: 0;\r\n}\r\n.MediaSeriesCard-module_published__E4oiz {\r\n color: #6d6d6d;\r\n margin: 0;\r\n}\r\n.MediaSeriesCard-module_summary__1xanh {\r\n margin: 0.5rem 0 0 0;\r\n}\r\n.MediaSeriesCard-module_author__e5fuR {\r\n margin: 0;\r\n}\r\n.MediaSeriesCard-module_author__e5fuR span {\r\n color: #6d6d6d;\r\n}\r\n.MediaSeriesCard-module_name__2m5KY {\r\n font-size: 1.3rem;\r\n font-weight: bold;\r\n}\r\n@media only screen and (max-width: 568px) {\r\n .MediaSeriesCard-module_article__SAFYK {\r\n margin: 1rem 0;\r\n box-shadow: 2px 4px 8px rgba(0,0,0,.2);\r\n }\r\n .MediaSeriesCard-module_article__SAFYK a {\r\n flex-direction: column;\r\n align-items: center;\r\n }\r\n .MediaSeriesCard-module_thumb__3jRAU {\r\n overflow: hidden;\r\n width: 100%;\r\n margin-bottom: 1rem;\r\n }\r\n .MediaSeriesCard-module_thumb__3jRAU img{\r\n border-radius: 10px 10px 0 0; \r\n }\r\n .MediaSeriesCard-module_thumb__3jRAU figure {\r\n margin: 0;\r\n }\r\n .MediaSeriesCard-module_info__3L7_o {\r\n width: 90%;\r\n padding: 0rem !important;\r\n }\r\n .MediaSeriesCard-module_info__3L7_o h2 {\r\n font-size: 1rem;\r\n }\r\n .MediaSeriesCard-module_name__2m5KY {\r\n font-size: 1rem;\r\n \r\n }\r\n}\r\n";
9390
+ var css = ".MediaSeriesCard-module_article__SAFYK {\n width: 100%;\n margin: 0 0 1rem 0;\n}\n.MediaSeriesCard-module_article__SAFYK a {\n display: flex;\n width: 100%;\n color: #000000;\n}\n.MediaSeriesCard-module_thumb__3jRAU {\n width: 25%;\n}\n.MediaSeriesCard-module_thumb__3jRAU img {\n width: 100%;\n height: auto;\n}\n.MediaSeriesCard-module_info__3L7_o {\n width: 75%;\n font-size: 1rem;\n}\n.MediaSeriesCard-module_info__3L7_o h2 {\n font-weight: bold;\n font-size: 1.25rem;\n margin: 0;\n}\n.MediaSeriesCard-module_published__E4oiz {\n color: #6d6d6d;\n margin: 0;\n}\n.MediaSeriesCard-module_summary__1xanh {\n margin: 0.5rem 0 0 0;\n}\n.MediaSeriesCard-module_author__e5fuR {\n margin: 0;\n}\n.MediaSeriesCard-module_author__e5fuR span {\n color: #6d6d6d;\n}\n.MediaSeriesCard-module_name__2m5KY {\n font-size: 1.3rem;\n font-weight: bold;\n}\n@media only screen and (max-width: 568px) {\n .MediaSeriesCard-module_article__SAFYK {\n margin: 1rem 0;\n box-shadow: 2px 4px 8px rgba(0,0,0,.2);\n }\n .MediaSeriesCard-module_article__SAFYK a {\n flex-direction: column;\n align-items: center;\n }\n .MediaSeriesCard-module_thumb__3jRAU {\n overflow: hidden;\n width: 100%;\n margin-bottom: 1rem;\n }\n .MediaSeriesCard-module_thumb__3jRAU img{\n border-radius: 10px 10px 0 0; \n }\n .MediaSeriesCard-module_thumb__3jRAU figure {\n margin: 0;\n }\n .MediaSeriesCard-module_info__3L7_o {\n width: 90%;\n padding: 0rem !important;\n }\n .MediaSeriesCard-module_info__3L7_o h2 {\n font-size: 1rem;\n }\n .MediaSeriesCard-module_name__2m5KY {\n font-size: 1rem;\n \n }\n}\n";
9347
9391
  var styles = { "article": "MediaSeriesCard-module_article__SAFYK", "thumb": "MediaSeriesCard-module_thumb__3jRAU", "info": "MediaSeriesCard-module_info__3L7_o", "published": "MediaSeriesCard-module_published__E4oiz", "summary": "MediaSeriesCard-module_summary__1xanh", "author": "MediaSeriesCard-module_author__e5fuR", "name": "MediaSeriesCard-module_name__2m5KY" };
9348
9392
  styleInject_es.styleInject(css);
9349
9393
 
@@ -9430,11 +9474,11 @@ var Filter = function Filter(_ref) {
9430
9474
  _useState6 = slicedToArray._slicedToArray(_useState5, 2),
9431
9475
  grandChildData = _useState6[0],
9432
9476
  setGrandChildData = _useState6[1];
9433
- /*
9434
- {parent: showAll,
9435
- chidlren: show selected from parent,
9436
- grandchildren: show selected from children
9437
- }
9477
+ /*
9478
+ {parent: showAll,
9479
+ chidlren: show selected from parent,
9480
+ grandchildren: show selected from children
9481
+ }
9438
9482
  */
9439
9483
 
9440
9484