@mjhls/mjh-framework 1.0.1080 → 1.0.1082-404-v4

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 (232) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/AD.js +6 -6
  3. package/dist/cjs/AD300x250.js +5 -6
  4. package/dist/cjs/AD300x250x600.js +5 -6
  5. package/dist/cjs/AD728x90.js +6 -7
  6. package/dist/cjs/ADFloatingFooter.js +8 -9
  7. package/dist/cjs/ADFooter.js +5 -5
  8. package/dist/cjs/ADGutter.js +8 -9
  9. package/dist/cjs/{ADInfeed-3a68b356.js → ADInfeed-98ee4120.js} +6 -6
  10. package/dist/cjs/ADSkyscraper.js +8 -9
  11. package/dist/cjs/ADSponsoredResources.js +8 -9
  12. package/dist/cjs/ADWebcast.js +8 -9
  13. package/dist/cjs/ADWelcome.js +12 -13
  14. package/dist/cjs/{ADlgInfeed-d88a0250.js → ADlgInfeed-55df7d69.js} +4 -4
  15. package/dist/cjs/AccordionPanel.js +17 -17
  16. package/dist/cjs/AdSlot.js +9 -10
  17. package/dist/cjs/AdSlotsProvider.js +5 -6
  18. package/dist/cjs/AlgoliaSearch.js +1784 -1027
  19. package/dist/cjs/AlphabeticList.js +12 -12
  20. package/dist/cjs/ArticleCarousel.js +5 -5
  21. package/dist/cjs/ArticleProgramLandingPage.js +15 -16
  22. package/dist/cjs/ArticleSeriesLandingPage.js +12 -13
  23. package/dist/cjs/ArticleSeriesListing.js +30 -31
  24. package/dist/cjs/AuthWrapper.js +257 -633
  25. package/dist/cjs/{AuthorComponent-39b37d84.js → AuthorComponent-7d00f6d5.js} +9 -9
  26. package/dist/cjs/{BlockContent-9ebd251f.js → BlockContent-96b44364.js} +18 -18
  27. package/dist/cjs/Breadcrumbs.js +17 -17
  28. package/dist/cjs/CEDeckSupabase.js +67 -72
  29. package/dist/cjs/CMEDeck.js +61 -66
  30. package/dist/cjs/Column1.js +6 -6
  31. package/dist/cjs/Column2.js +14 -14
  32. package/dist/cjs/Column3.js +26 -27
  33. package/dist/cjs/ConferenceArticleCard.js +13 -13
  34. package/dist/cjs/{ConferenceBanner-6c9e718a.js → ConferenceBanner-213003ce.js} +3 -3
  35. package/dist/cjs/ContentCardPaginated.js +50 -51
  36. package/dist/cjs/DeckContent.js +59 -60
  37. package/dist/cjs/DeckQueue.js +58 -59
  38. package/dist/cjs/DeckQueuePaginated.js +47 -48
  39. package/dist/cjs/{Dfp-9be904d5.js → Dfp-67646058.js} +17 -18
  40. package/dist/cjs/EventsDeck.js +91 -91
  41. package/dist/cjs/ExternalResources.js +35 -36
  42. package/dist/cjs/Feature.js +17 -17
  43. package/dist/cjs/ForbesHero.js +26 -26
  44. package/dist/cjs/GridContent.js +135 -136
  45. package/dist/cjs/GridContentPaginated.js +122 -123
  46. package/dist/cjs/GridHero.js +27 -27
  47. package/dist/cjs/GroupDeck.js +33 -33
  48. package/dist/cjs/HamMagazine.js +111 -111
  49. package/dist/cjs/Header.js +25 -25
  50. package/dist/cjs/HealthCareProfessionalModal.js +17 -17
  51. package/dist/cjs/Hero.js +5 -5
  52. package/dist/cjs/HighlightenVideo.js +13 -13
  53. package/dist/cjs/HorizontalArticleListing.js +29 -30
  54. package/dist/cjs/HorizontalHero.js +18 -18
  55. package/dist/cjs/{ImageSlider-294d3fc0.js → ImageSlider-7c995858.js} +78 -83
  56. package/dist/cjs/IssueContentDeck.js +50 -50
  57. package/dist/cjs/IssueDeck.js +48 -48
  58. package/dist/cjs/IssueLanding.js +21 -22
  59. package/dist/cjs/LeftNav.js +17 -18
  60. package/dist/cjs/MasterDeck.js +40 -41
  61. package/dist/cjs/MasterDeckPaginated.js +29 -30
  62. package/dist/cjs/MediaSeriesCard.js +20 -21
  63. package/dist/cjs/MediaSeriesLanding.js +38 -39
  64. package/dist/cjs/MediaSeriesLandingPaginated.js +37 -38
  65. package/dist/cjs/NavDvm.js +57 -57
  66. package/dist/cjs/{NavFooter-fa5fae05.js → NavFooter-b7b16d48.js} +11 -11
  67. package/dist/cjs/NavMagazine.js +106 -106
  68. package/dist/cjs/NavNative.js +97 -97
  69. package/dist/cjs/OncliveHero.js +12 -12
  70. package/dist/cjs/OncliveLargeHero.js +50 -50
  71. package/dist/cjs/PageFilter.js +5 -5
  72. package/dist/cjs/{Pagination-2a3d0103.js → Pagination-6359861a.js} +13 -13
  73. package/dist/cjs/PartnerDetailListing.js +55 -56
  74. package/dist/cjs/PartnerDetailListingPaginated.js +54 -55
  75. package/dist/cjs/PdfDownload.js +4 -4
  76. package/dist/cjs/PixelTracking.js +9 -9
  77. package/dist/cjs/PodcastsLanding.js +23 -24
  78. package/dist/cjs/PopUpModal.js +9 -9
  79. package/dist/cjs/PtceDeck.js +14 -14
  80. package/dist/cjs/PubSection.js +14 -15
  81. package/dist/cjs/PubToc.js +4 -4
  82. package/dist/cjs/PublicationDeck.js +44 -44
  83. package/dist/cjs/{PublicationFeature-03de3225.js → PublicationFeature-4b68e0db.js} +30 -30
  84. package/dist/cjs/PublicationLanding.js +75 -75
  85. package/dist/cjs/QueueDeckExpanded.js +246 -247
  86. package/dist/cjs/QueueDeckExpandedPaginated.js +223 -224
  87. package/dist/cjs/RecentNews.js +15 -15
  88. package/dist/cjs/RelatedContent.js +15 -15
  89. package/dist/cjs/RelatedTopicsDropdown.js +14 -14
  90. package/dist/cjs/RolesDeck.js +20 -20
  91. package/dist/cjs/Schema.js +1 -1
  92. package/dist/cjs/Search.js +6 -6
  93. package/dist/cjs/SeriesListingDeck.js +18 -19
  94. package/dist/cjs/{SeriesSlider-621d0cbb.js → SeriesSlider-086a8319.js} +22 -22
  95. package/dist/cjs/SideFooter.js +18 -18
  96. package/dist/cjs/SocialIcons.js +6 -6
  97. package/dist/cjs/{SocialSearchComponent-f874175b.js → SocialSearchComponent-d7e5d3a6.js} +28 -28
  98. package/dist/cjs/SocialShare.js +25 -25
  99. package/dist/cjs/TaxonomyCard.js +44 -44
  100. package/dist/cjs/TaxonomyDescription.js +12 -13
  101. package/dist/cjs/TemplateNormal.js +27 -28
  102. package/dist/cjs/ThumbnailCard.js +10 -10
  103. package/dist/cjs/{Tooltip-f075b7ef.js → Tooltip-b8516cbf.js} +632 -545
  104. package/dist/cjs/Ustream.js +9 -9
  105. package/dist/cjs/VerticalHero.js +11 -11
  106. package/dist/cjs/VideoProgramLandingPage.js +29 -30
  107. package/dist/cjs/VideoSeriesCard.js +14 -14
  108. package/dist/cjs/VideoSeriesFilter.js +5 -5
  109. package/dist/cjs/VideoSeriesLandingPage.js +12 -13
  110. package/dist/cjs/VideoSeriesListing.js +47 -48
  111. package/dist/cjs/View.js +245 -242
  112. package/dist/cjs/YahooHero.js +23 -23
  113. package/dist/cjs/YoutubeGroup.js +33 -33
  114. package/dist/cjs/{brightcove-react-player-loader.es-a195642e.js → brightcove-react-player-loader.es-35faab67.js} +5 -5
  115. package/dist/cjs/{defineProperty-e0fb52c5.js → defineProperty-19580e93.js} +2 -4
  116. package/dist/cjs/getQuery.js +1 -2
  117. package/dist/cjs/getRelatedArticle.js +33 -15
  118. package/dist/cjs/getSerializers.js +7 -8
  119. package/dist/cjs/iconBase-be4097c0.js +2 -4
  120. package/dist/cjs/{index-c3f0b162.js → index-171e9e82.js} +717 -498
  121. package/dist/cjs/index-3177f564.js +1573 -0
  122. package/dist/cjs/{index-eadd5035.js → index-65621b6c.js} +5 -5
  123. package/dist/cjs/{index-fc2f1ca2.js → index-7435b964.js} +471 -6
  124. package/dist/cjs/{index-50be6759.js → index-ff83a88b.js} +13 -14
  125. package/dist/cjs/{index.es-f3e47207.js → index.es-1ab8dda7.js} +4 -4
  126. package/dist/cjs/{index.esm-f51609ab.js → index.esm-2ea9e9ff.js} +14 -14
  127. package/dist/cjs/index.js +103 -105
  128. package/dist/cjs/{main-1ec1de84.js → main-ae8472f3.js} +17 -22
  129. package/dist/cjs/{moment-aca40de1.js → moment-f730814d.js} +95 -80
  130. package/dist/cjs/{react-social-icons-af932527.js → react-social-icons-2c5c389a.js} +7 -7
  131. package/dist/cjs/timeDifferenceCalc.js +1 -1
  132. package/dist/cjs/ustream-api-3819e4aa.js +1 -1
  133. package/dist/cjs/{visibility-sensor-eb2c5b69.js → visibility-sensor-56020df6.js} +1 -1
  134. package/dist/esm/AD.js +1 -1
  135. package/dist/esm/AD300x250.js +2 -3
  136. package/dist/esm/AD300x250x600.js +2 -3
  137. package/dist/esm/AD728x90.js +2 -3
  138. package/dist/esm/ADFloatingFooter.js +2 -3
  139. package/dist/esm/ADGutter.js +2 -3
  140. package/dist/esm/{ADInfeed-e8fc8fbb.js → ADInfeed-41bba2c6.js} +1 -1
  141. package/dist/esm/ADSkyscraper.js +2 -3
  142. package/dist/esm/ADSponsoredResources.js +2 -3
  143. package/dist/esm/ADWebcast.js +2 -3
  144. package/dist/esm/ADWelcome.js +2 -3
  145. package/dist/esm/{ADlgInfeed-8a3c14d7.js → ADlgInfeed-3c717ece.js} +1 -1
  146. package/dist/esm/AdSlot.js +2 -3
  147. package/dist/esm/AdSlotsProvider.js +2 -3
  148. package/dist/esm/AlgoliaSearch.js +1402 -645
  149. package/dist/esm/ArticleCarousel.js +1 -1
  150. package/dist/esm/ArticleProgramLandingPage.js +5 -6
  151. package/dist/esm/ArticleSeriesLandingPage.js +5 -6
  152. package/dist/esm/ArticleSeriesListing.js +3 -4
  153. package/dist/esm/AuthWrapper.js +232 -608
  154. package/dist/esm/CEDeckSupabase.js +3 -8
  155. package/dist/esm/CMEDeck.js +3 -8
  156. package/dist/esm/Column3.js +2 -3
  157. package/dist/esm/ConferenceArticleCard.js +1 -1
  158. package/dist/esm/ContentCardPaginated.js +5 -6
  159. package/dist/esm/DeckContent.js +4 -5
  160. package/dist/esm/DeckQueue.js +3 -4
  161. package/dist/esm/DeckQueuePaginated.js +4 -5
  162. package/dist/esm/{Dfp-78070ecb.js → Dfp-3b6eb620.js} +1 -2
  163. package/dist/esm/EventsDeck.js +3 -3
  164. package/dist/esm/ExternalResources.js +6 -7
  165. package/dist/esm/Feature.js +1 -1
  166. package/dist/esm/ForbesHero.js +1 -1
  167. package/dist/esm/GridContent.js +6 -7
  168. package/dist/esm/GridContentPaginated.js +7 -8
  169. package/dist/esm/GridHero.js +1 -1
  170. package/dist/esm/HamMagazine.js +2 -2
  171. package/dist/esm/HighlightenVideo.js +1 -1
  172. package/dist/esm/HorizontalArticleListing.js +5 -6
  173. package/dist/esm/HorizontalHero.js +1 -1
  174. package/dist/esm/{ImageSlider-9250ddc9.js → ImageSlider-75f7b81a.js} +6 -11
  175. package/dist/esm/IssueContentDeck.js +1 -1
  176. package/dist/esm/IssueLanding.js +7 -8
  177. package/dist/esm/LeftNav.js +2 -3
  178. package/dist/esm/MasterDeck.js +5 -6
  179. package/dist/esm/MasterDeckPaginated.js +5 -6
  180. package/dist/esm/MediaSeriesCard.js +5 -6
  181. package/dist/esm/MediaSeriesLanding.js +10 -11
  182. package/dist/esm/MediaSeriesLandingPaginated.js +11 -12
  183. package/dist/esm/NavMagazine.js +2 -2
  184. package/dist/esm/NavNative.js +1 -1
  185. package/dist/esm/OncliveHero.js +1 -1
  186. package/dist/esm/OncliveLargeHero.js +1 -1
  187. package/dist/esm/{Pagination-dc30727b.js → Pagination-9fe9f61d.js} +2 -2
  188. package/dist/esm/PartnerDetailListing.js +9 -10
  189. package/dist/esm/PartnerDetailListingPaginated.js +10 -11
  190. package/dist/esm/PodcastsLanding.js +8 -9
  191. package/dist/esm/PtceDeck.js +1 -1
  192. package/dist/esm/PubSection.js +5 -6
  193. package/dist/esm/{PublicationFeature-89b7afdb.js → PublicationFeature-6c334891.js} +1 -1
  194. package/dist/esm/QueueDeckExpanded.js +5 -6
  195. package/dist/esm/QueueDeckExpandedPaginated.js +6 -7
  196. package/dist/esm/RelatedContent.js +1 -1
  197. package/dist/esm/SeriesListingDeck.js +3 -4
  198. package/dist/esm/{SeriesSlider-7913a789.js → SeriesSlider-acbdf4c9.js} +1 -1
  199. package/dist/esm/{SocialSearchComponent-ae8da67e.js → SocialSearchComponent-9e65c8d6.js} +1 -1
  200. package/dist/esm/TaxonomyDescription.js +5 -6
  201. package/dist/esm/TemplateNormal.js +3 -4
  202. package/dist/esm/{Tooltip-95655b44.js → Tooltip-fe0ed92d.js} +193 -106
  203. package/dist/esm/Ustream.js +1 -1
  204. package/dist/esm/VerticalHero.js +1 -1
  205. package/dist/esm/VideoProgramLandingPage.js +5 -6
  206. package/dist/esm/VideoSeriesCard.js +1 -1
  207. package/dist/esm/VideoSeriesLandingPage.js +5 -6
  208. package/dist/esm/VideoSeriesListing.js +3 -4
  209. package/dist/esm/View.js +14 -11
  210. package/dist/esm/YahooHero.js +1 -1
  211. package/dist/esm/YoutubeGroup.js +1 -1
  212. package/dist/esm/{brightcove-react-player-loader.es-57a70a56.js → brightcove-react-player-loader.es-a2422c4b.js} +3 -3
  213. package/dist/esm/{defineProperty-23a8f8cd.js → defineProperty-e8022d1e.js} +2 -4
  214. package/dist/esm/getQuery.js +1 -2
  215. package/dist/esm/getRelatedArticle.js +34 -16
  216. package/dist/esm/getSerializers.js +5 -6
  217. package/dist/esm/{index-2fe6b5b1.js → index-1d1bbc8c.js} +235 -16
  218. package/dist/esm/index-4550ef23.js +1571 -0
  219. package/dist/esm/{index-f0fc23eb.js → index-5cc7b406.js} +466 -1
  220. package/dist/esm/{index-98ca9cec.js → index-c8d5e72b.js} +13 -14
  221. package/dist/esm/index.js +14 -16
  222. package/dist/esm/{main-f97773b2.js → main-754d4992.js} +4 -9
  223. package/dist/esm/{moment-bc12cb97.js → moment-48faeb9c.js} +95 -80
  224. package/dist/esm/timeDifferenceCalc.js +1 -1
  225. package/dist/esm/visibility-sensor-72fd8f8b.js +1 -1
  226. package/package.json +1 -1
  227. package/dist/cjs/events-1b438fe7.js +0 -469
  228. package/dist/cjs/index-f86bb269.js +0 -1571
  229. package/dist/cjs/typeof-1358762e.js +0 -33
  230. package/dist/esm/events-6c3a7a63.js +0 -467
  231. package/dist/esm/index-79cfd25c.js +0 -1569
  232. package/dist/esm/typeof-2f07d0e8.js +0 -30
@@ -1,5 +1,5 @@
1
- import { _ as _objectWithoutPropertiesLoose, b as _extends, a as _setPrototypeOf, c as classnames } from './index-98ca9cec.js';
2
- import React__default, { useCallback, useRef, useState, useContext, useMemo, useEffect, useImperativeHandle, useReducer, forwardRef, cloneElement } from 'react';
1
+ import { _ as _objectWithoutPropertiesLoose, b as _extends, a as _setPrototypeOf, c as classnames } from './index-c8d5e72b.js';
2
+ import React__default, { useRef, useState, useCallback, useContext, useMemo, useEffect, useImperativeHandle, useReducer, forwardRef, cloneElement } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import ReactDOM from 'react-dom';
5
5
  import { c as createCommonjsModule, u as unwrapExports } from './_commonjsHelpers-0c4b6f40.js';
@@ -412,6 +412,10 @@ process.env.NODE_ENV !== 'production' ? PropTypes.oneOfType([PropTypes.string, P
412
412
 
413
413
  var TransitionGroupContext = React__default.createContext(null);
414
414
 
415
+ var forceReflow = function forceReflow(node) {
416
+ return node.scrollTop;
417
+ };
418
+
415
419
  var UNMOUNTED = 'unmounted';
416
420
  var EXITED = 'exited';
417
421
  var ENTERING = 'entering';
@@ -631,6 +635,14 @@ var Transition = /*#__PURE__*/function (_React$Component) {
631
635
  this.cancelNextCallback();
632
636
 
633
637
  if (nextStatus === ENTERING) {
638
+ if (this.props.unmountOnExit || this.props.mountOnEnter) {
639
+ var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749
640
+ // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.
641
+ // To make the animation happen, we have to separate each rendering and avoid being processed as batched.
642
+
643
+ if (node) forceReflow(node);
644
+ }
645
+
634
646
  this.performEnter(mounting);
635
647
  } else {
636
648
  this.performExit();
@@ -2652,31 +2664,61 @@ function isShadowRoot(node) {
2652
2664
  return node instanceof OwnElement || node instanceof ShadowRoot;
2653
2665
  }
2654
2666
 
2655
- var round$1 = Math.round;
2656
- function getBoundingClientRect(element, includeScale) {
2667
+ var max = Math.max;
2668
+ var min = Math.min;
2669
+ var round = Math.round;
2670
+
2671
+ function getUAString() {
2672
+ var uaData = navigator.userAgentData;
2673
+
2674
+ if (uaData != null && uaData.brands) {
2675
+ return uaData.brands.map(function (item) {
2676
+ return item.brand + "/" + item.version;
2677
+ }).join(' ');
2678
+ }
2679
+
2680
+ return navigator.userAgent;
2681
+ }
2682
+
2683
+ function isLayoutViewport() {
2684
+ return !/^((?!chrome|android).)*safari/i.test(getUAString());
2685
+ }
2686
+
2687
+ function getBoundingClientRect(element, includeScale, isFixedStrategy) {
2657
2688
  if (includeScale === void 0) {
2658
2689
  includeScale = false;
2659
2690
  }
2660
2691
 
2661
- var rect = element.getBoundingClientRect();
2692
+ if (isFixedStrategy === void 0) {
2693
+ isFixedStrategy = false;
2694
+ }
2695
+
2696
+ var clientRect = element.getBoundingClientRect();
2662
2697
  var scaleX = 1;
2663
2698
  var scaleY = 1;
2664
2699
 
2665
- if (isHTMLElement(element) && includeScale) {
2666
- // Fallback to 1 in case both values are `0`
2667
- scaleX = rect.width / element.offsetWidth || 1;
2668
- scaleY = rect.height / element.offsetHeight || 1;
2700
+ if (includeScale && isHTMLElement(element)) {
2701
+ scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;
2702
+ scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;
2669
2703
  }
2670
2704
 
2705
+ var _ref = isElement(element) ? getWindow(element) : window,
2706
+ visualViewport = _ref.visualViewport;
2707
+
2708
+ var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
2709
+ var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
2710
+ var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;
2711
+ var width = clientRect.width / scaleX;
2712
+ var height = clientRect.height / scaleY;
2671
2713
  return {
2672
- width: round$1(rect.width / scaleX),
2673
- height: round$1(rect.height / scaleY),
2674
- top: round$1(rect.top / scaleY),
2675
- right: round$1(rect.right / scaleX),
2676
- bottom: round$1(rect.bottom / scaleY),
2677
- left: round$1(rect.left / scaleX),
2678
- x: round$1(rect.left / scaleX),
2679
- y: round$1(rect.top / scaleY)
2714
+ width: width,
2715
+ height: height,
2716
+ top: y,
2717
+ right: x + width,
2718
+ bottom: y + height,
2719
+ left: x,
2720
+ x: x,
2721
+ y: y
2680
2722
  };
2681
2723
  }
2682
2724
 
@@ -2775,8 +2817,8 @@ function getTrueOffsetParent(element) {
2775
2817
 
2776
2818
 
2777
2819
  function getContainingBlock(element) {
2778
- var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;
2779
- var isIE = navigator.userAgent.indexOf('Trident') !== -1;
2820
+ var isFirefox = /firefox/i.test(getUAString());
2821
+ var isIE = /Trident/i.test(getUAString());
2780
2822
 
2781
2823
  if (isIE && isHTMLElement(element)) {
2782
2824
  // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport
@@ -2789,6 +2831,10 @@ function getContainingBlock(element) {
2789
2831
 
2790
2832
  var currentNode = getParentNode(element);
2791
2833
 
2834
+ if (isShadowRoot(currentNode)) {
2835
+ currentNode = currentNode.host;
2836
+ }
2837
+
2792
2838
  while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {
2793
2839
  var css = getComputedStyle$1(currentNode); // This is non-exhaustive but covers the most common CSS properties that
2794
2840
  // create a containing block.
@@ -2825,13 +2871,13 @@ function getMainAxisFromPlacement(placement) {
2825
2871
  return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
2826
2872
  }
2827
2873
 
2828
- var max = Math.max;
2829
- var min = Math.min;
2830
- var round = Math.round;
2831
-
2832
2874
  function within(min$1, value, max$1) {
2833
2875
  return max(min$1, min(value, max$1));
2834
2876
  }
2877
+ function withinMaxClamp(min, value, max) {
2878
+ var v = within(min, value, max);
2879
+ return v > max ? max : v;
2880
+ }
2835
2881
 
2836
2882
  function getFreshSideObject() {
2837
2883
  return {
@@ -2944,6 +2990,10 @@ var arrow$1 = {
2944
2990
  requiresIfExists: ['preventOverflow']
2945
2991
  };
2946
2992
 
2993
+ function getVariation(placement) {
2994
+ return placement.split('-')[1];
2995
+ }
2996
+
2947
2997
  var unsetSides = {
2948
2998
  top: 'auto',
2949
2999
  right: 'auto',
@@ -2959,8 +3009,8 @@ function roundOffsetsByDPR(_ref) {
2959
3009
  var win = window;
2960
3010
  var dpr = win.devicePixelRatio || 1;
2961
3011
  return {
2962
- x: round(round(x * dpr) / dpr) || 0,
2963
- y: round(round(y * dpr) / dpr) || 0
3012
+ x: round(x * dpr) / dpr || 0,
3013
+ y: round(y * dpr) / dpr || 0
2964
3014
  };
2965
3015
  }
2966
3016
 
@@ -2970,18 +3020,28 @@ function mapToStyles(_ref2) {
2970
3020
  var popper = _ref2.popper,
2971
3021
  popperRect = _ref2.popperRect,
2972
3022
  placement = _ref2.placement,
3023
+ variation = _ref2.variation,
2973
3024
  offsets = _ref2.offsets,
2974
3025
  position = _ref2.position,
2975
3026
  gpuAcceleration = _ref2.gpuAcceleration,
2976
3027
  adaptive = _ref2.adaptive,
2977
- roundOffsets = _ref2.roundOffsets;
2978
-
2979
- var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,
2980
- _ref3$x = _ref3.x,
2981
- x = _ref3$x === void 0 ? 0 : _ref3$x,
2982
- _ref3$y = _ref3.y,
2983
- y = _ref3$y === void 0 ? 0 : _ref3$y;
3028
+ roundOffsets = _ref2.roundOffsets,
3029
+ isFixed = _ref2.isFixed;
3030
+ var _offsets$x = offsets.x,
3031
+ x = _offsets$x === void 0 ? 0 : _offsets$x,
3032
+ _offsets$y = offsets.y,
3033
+ y = _offsets$y === void 0 ? 0 : _offsets$y;
3034
+
3035
+ var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({
3036
+ x: x,
3037
+ y: y
3038
+ }) : {
3039
+ x: x,
3040
+ y: y
3041
+ };
2984
3042
 
3043
+ x = _ref3.x;
3044
+ y = _ref3.y;
2985
3045
  var hasX = offsets.hasOwnProperty('x');
2986
3046
  var hasY = offsets.hasOwnProperty('y');
2987
3047
  var sideX = left;
@@ -2996,7 +3056,7 @@ function mapToStyles(_ref2) {
2996
3056
  if (offsetParent === getWindow(popper)) {
2997
3057
  offsetParent = getDocumentElement(popper);
2998
3058
 
2999
- if (getComputedStyle$1(offsetParent).position !== 'static') {
3059
+ if (getComputedStyle$1(offsetParent).position !== 'static' && position === 'absolute') {
3000
3060
  heightProp = 'scrollHeight';
3001
3061
  widthProp = 'scrollWidth';
3002
3062
  }
@@ -3005,17 +3065,19 @@ function mapToStyles(_ref2) {
3005
3065
 
3006
3066
  offsetParent = offsetParent;
3007
3067
 
3008
- if (placement === top) {
3009
- sideY = bottom; // $FlowFixMe[prop-missing]
3010
-
3011
- y -= offsetParent[heightProp] - popperRect.height;
3068
+ if (placement === top || (placement === left || placement === right) && variation === end) {
3069
+ sideY = bottom;
3070
+ var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
3071
+ offsetParent[heightProp];
3072
+ y -= offsetY - popperRect.height;
3012
3073
  y *= gpuAcceleration ? 1 : -1;
3013
3074
  }
3014
3075
 
3015
- if (placement === left) {
3016
- sideX = right; // $FlowFixMe[prop-missing]
3017
-
3018
- x -= offsetParent[widthProp] - popperRect.width;
3076
+ if (placement === left || (placement === top || placement === bottom) && variation === end) {
3077
+ sideX = right;
3078
+ var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
3079
+ offsetParent[widthProp];
3080
+ x -= offsetX - popperRect.width;
3019
3081
  x *= gpuAcceleration ? 1 : -1;
3020
3082
  }
3021
3083
  }
@@ -3024,18 +3086,29 @@ function mapToStyles(_ref2) {
3024
3086
  position: position
3025
3087
  }, adaptive && unsetSides);
3026
3088
 
3089
+ var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
3090
+ x: x,
3091
+ y: y
3092
+ }) : {
3093
+ x: x,
3094
+ y: y
3095
+ };
3096
+
3097
+ x = _ref4.x;
3098
+ y = _ref4.y;
3099
+
3027
3100
  if (gpuAcceleration) {
3028
3101
  var _Object$assign;
3029
3102
 
3030
- 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));
3103
+ return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
3031
3104
  }
3032
3105
 
3033
3106
  return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2));
3034
3107
  }
3035
3108
 
3036
- function computeStyles(_ref4) {
3037
- var state = _ref4.state,
3038
- options = _ref4.options;
3109
+ function computeStyles(_ref5) {
3110
+ var state = _ref5.state,
3111
+ options = _ref5.options;
3039
3112
  var _options$gpuAccelerat = options.gpuAcceleration,
3040
3113
  gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,
3041
3114
  _options$adaptive = options.adaptive,
@@ -3055,9 +3128,11 @@ function computeStyles(_ref4) {
3055
3128
 
3056
3129
  var commonStyles = {
3057
3130
  placement: getBasePlacement(state.placement),
3131
+ variation: getVariation(state.placement),
3058
3132
  popper: state.elements.popper,
3059
3133
  popperRect: state.rects.popper,
3060
- gpuAcceleration: gpuAcceleration
3134
+ gpuAcceleration: gpuAcceleration,
3135
+ isFixed: state.options.strategy === 'fixed'
3061
3136
  };
3062
3137
 
3063
3138
  if (state.modifiersData.popperOffsets != null) {
@@ -3183,31 +3258,21 @@ function getWindowScrollBarX(element) {
3183
3258
  return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
3184
3259
  }
3185
3260
 
3186
- function getViewportRect(element) {
3261
+ function getViewportRect(element, strategy) {
3187
3262
  var win = getWindow(element);
3188
3263
  var html = getDocumentElement(element);
3189
3264
  var visualViewport = win.visualViewport;
3190
3265
  var width = html.clientWidth;
3191
3266
  var height = html.clientHeight;
3192
3267
  var x = 0;
3193
- var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper
3194
- // can be obscured underneath it.
3195
- // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even
3196
- // if it isn't open, so if this isn't available, the popper will be detected
3197
- // to overflow the bottom of the screen too early.
3268
+ var y = 0;
3198
3269
 
3199
3270
  if (visualViewport) {
3200
3271
  width = visualViewport.width;
3201
- height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)
3202
- // In Chrome, it returns a value very close to 0 (+/-) but contains rounding
3203
- // errors due to floating point numbers, so we need to check precision.
3204
- // Safari returns a number <= 0, usually < -1 when pinch-zoomed
3205
- // Feature detection fails in mobile emulation mode in Chrome.
3206
- // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <
3207
- // 0.001
3208
- // Fallback here: "Not Safari" userAgent
3209
-
3210
- if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {
3272
+ height = visualViewport.height;
3273
+ var layoutViewport = isLayoutViewport();
3274
+
3275
+ if (layoutViewport || !layoutViewport && strategy === 'fixed') {
3211
3276
  x = visualViewport.offsetLeft;
3212
3277
  y = visualViewport.offsetTop;
3213
3278
  }
@@ -3301,8 +3366,8 @@ function rectToClientRect(rect) {
3301
3366
  });
3302
3367
  }
3303
3368
 
3304
- function getInnerBoundingClientRect(element) {
3305
- var rect = getBoundingClientRect(element);
3369
+ function getInnerBoundingClientRect(element, strategy) {
3370
+ var rect = getBoundingClientRect(element, false, strategy === 'fixed');
3306
3371
  rect.top = rect.top + element.clientTop;
3307
3372
  rect.left = rect.left + element.clientLeft;
3308
3373
  rect.bottom = rect.top + element.clientHeight;
@@ -3314,8 +3379,8 @@ function getInnerBoundingClientRect(element) {
3314
3379
  return rect;
3315
3380
  }
3316
3381
 
3317
- function getClientRectFromMixedType(element, clippingParent) {
3318
- return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
3382
+ function getClientRectFromMixedType(element, clippingParent, strategy) {
3383
+ return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
3319
3384
  } // A "clipping parent" is an overflowable container with the characteristic of
3320
3385
  // clipping (or hiding) overflowing elements with a position different from
3321
3386
  // `initial`
@@ -3338,18 +3403,18 @@ function getClippingParents(element) {
3338
3403
  // clipping parents
3339
3404
 
3340
3405
 
3341
- function getClippingRect(element, boundary, rootBoundary) {
3406
+ function getClippingRect(element, boundary, rootBoundary, strategy) {
3342
3407
  var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);
3343
3408
  var clippingParents = [].concat(mainClippingParents, [rootBoundary]);
3344
3409
  var firstClippingParent = clippingParents[0];
3345
3410
  var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {
3346
- var rect = getClientRectFromMixedType(element, clippingParent);
3411
+ var rect = getClientRectFromMixedType(element, clippingParent, strategy);
3347
3412
  accRect.top = max(rect.top, accRect.top);
3348
3413
  accRect.right = min(rect.right, accRect.right);
3349
3414
  accRect.bottom = min(rect.bottom, accRect.bottom);
3350
3415
  accRect.left = max(rect.left, accRect.left);
3351
3416
  return accRect;
3352
- }, getClientRectFromMixedType(element, firstClippingParent));
3417
+ }, getClientRectFromMixedType(element, firstClippingParent, strategy));
3353
3418
  clippingRect.width = clippingRect.right - clippingRect.left;
3354
3419
  clippingRect.height = clippingRect.bottom - clippingRect.top;
3355
3420
  clippingRect.x = clippingRect.left;
@@ -3357,10 +3422,6 @@ function getClippingRect(element, boundary, rootBoundary) {
3357
3422
  return clippingRect;
3358
3423
  }
3359
3424
 
3360
- function getVariation(placement) {
3361
- return placement.split('-')[1];
3362
- }
3363
-
3364
3425
  function computeOffsets(_ref) {
3365
3426
  var reference = _ref.reference,
3366
3427
  element = _ref.element,
@@ -3434,6 +3495,8 @@ function detectOverflow(state, options) {
3434
3495
  var _options = options,
3435
3496
  _options$placement = _options.placement,
3436
3497
  placement = _options$placement === void 0 ? state.placement : _options$placement,
3498
+ _options$strategy = _options.strategy,
3499
+ strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,
3437
3500
  _options$boundary = _options.boundary,
3438
3501
  boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,
3439
3502
  _options$rootBoundary = _options.rootBoundary,
@@ -3446,11 +3509,10 @@ function detectOverflow(state, options) {
3446
3509
  padding = _options$padding === void 0 ? 0 : _options$padding;
3447
3510
  var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));
3448
3511
  var altContext = elementContext === popper ? reference : popper;
3449
- var referenceElement = state.elements.reference;
3450
3512
  var popperRect = state.rects.popper;
3451
3513
  var element = state.elements[altBoundary ? altContext : elementContext];
3452
- var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);
3453
- var referenceClientRect = getBoundingClientRect(referenceElement);
3514
+ var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);
3515
+ var referenceClientRect = getBoundingClientRect(state.elements.reference);
3454
3516
  var popperOffsets = computeOffsets({
3455
3517
  reference: referenceClientRect,
3456
3518
  element: popperRect,
@@ -3837,6 +3899,14 @@ function preventOverflow(_ref) {
3837
3899
  var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {
3838
3900
  placement: state.placement
3839
3901
  })) : tetherOffset;
3902
+ var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {
3903
+ mainAxis: tetherOffsetValue,
3904
+ altAxis: tetherOffsetValue
3905
+ } : Object.assign({
3906
+ mainAxis: 0,
3907
+ altAxis: 0
3908
+ }, tetherOffsetValue);
3909
+ var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
3840
3910
  var data = {
3841
3911
  x: 0,
3842
3912
  y: 0
@@ -3846,13 +3916,15 @@ function preventOverflow(_ref) {
3846
3916
  return;
3847
3917
  }
3848
3918
 
3849
- if (checkMainAxis || checkAltAxis) {
3919
+ if (checkMainAxis) {
3920
+ var _offsetModifierState$;
3921
+
3850
3922
  var mainSide = mainAxis === 'y' ? top : left;
3851
3923
  var altSide = mainAxis === 'y' ? bottom : right;
3852
3924
  var len = mainAxis === 'y' ? 'height' : 'width';
3853
3925
  var offset = popperOffsets[mainAxis];
3854
- var min$1 = popperOffsets[mainAxis] + overflow[mainSide];
3855
- var max$1 = popperOffsets[mainAxis] - overflow[altSide];
3926
+ var min$1 = offset + overflow[mainSide];
3927
+ var max$1 = offset - overflow[altSide];
3856
3928
  var additive = tether ? -popperRect[len] / 2 : 0;
3857
3929
  var minLen = variation === start ? referenceRect[len] : popperRect[len];
3858
3930
  var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go
@@ -3872,36 +3944,45 @@ function preventOverflow(_ref) {
3872
3944
  // width or height)
3873
3945
 
3874
3946
  var arrowLen = within(0, referenceRect[len], arrowRect[len]);
3875
- var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;
3876
- var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;
3947
+ var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
3948
+ var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
3877
3949
  var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
3878
3950
  var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
3879
- var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;
3880
- var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;
3881
- var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;
3951
+ var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
3952
+ var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;
3953
+ var tetherMax = offset + maxOffset - offsetModifierValue;
3954
+ var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
3955
+ popperOffsets[mainAxis] = preventedOffset;
3956
+ data[mainAxis] = preventedOffset - offset;
3957
+ }
3882
3958
 
3883
- if (checkMainAxis) {
3884
- var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
3885
- popperOffsets[mainAxis] = preventedOffset;
3886
- data[mainAxis] = preventedOffset - offset;
3887
- }
3959
+ if (checkAltAxis) {
3960
+ var _offsetModifierState$2;
3888
3961
 
3889
- if (checkAltAxis) {
3890
- var _mainSide = mainAxis === 'x' ? top : left;
3962
+ var _mainSide = mainAxis === 'x' ? top : left;
3891
3963
 
3892
- var _altSide = mainAxis === 'x' ? bottom : right;
3964
+ var _altSide = mainAxis === 'x' ? bottom : right;
3893
3965
 
3894
- var _offset = popperOffsets[altAxis];
3966
+ var _offset = popperOffsets[altAxis];
3895
3967
 
3896
- var _min = _offset + overflow[_mainSide];
3968
+ var _len = altAxis === 'y' ? 'height' : 'width';
3897
3969
 
3898
- var _max = _offset - overflow[_altSide];
3970
+ var _min = _offset + overflow[_mainSide];
3899
3971
 
3900
- var _preventedOffset = within(tether ? min(_min, tetherMin) : _min, _offset, tether ? max(_max, tetherMax) : _max);
3972
+ var _max = _offset - overflow[_altSide];
3901
3973
 
3902
- popperOffsets[altAxis] = _preventedOffset;
3903
- data[altAxis] = _preventedOffset - _offset;
3904
- }
3974
+ var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
3975
+
3976
+ var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
3977
+
3978
+ var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
3979
+
3980
+ var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
3981
+
3982
+ var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
3983
+
3984
+ popperOffsets[altAxis] = _preventedOffset;
3985
+ data[altAxis] = _preventedOffset - _offset;
3905
3986
  }
3906
3987
 
3907
3988
  state.modifiersData[name] = data;
@@ -3933,8 +4014,8 @@ function getNodeScroll(node) {
3933
4014
 
3934
4015
  function isElementScaled(element) {
3935
4016
  var rect = element.getBoundingClientRect();
3936
- var scaleX = rect.width / element.offsetWidth || 1;
3937
- var scaleY = rect.height / element.offsetHeight || 1;
4017
+ var scaleX = round(rect.width) / element.offsetWidth || 1;
4018
+ var scaleY = round(rect.height) / element.offsetHeight || 1;
3938
4019
  return scaleX !== 1 || scaleY !== 1;
3939
4020
  } // Returns the composite rect of an element relative to its offsetParent.
3940
4021
  // Composite means it takes into account transforms as well as layout.
@@ -3948,7 +4029,7 @@ function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
3948
4029
  var isOffsetParentAnElement = isHTMLElement(offsetParent);
3949
4030
  var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
3950
4031
  var documentElement = getDocumentElement(offsetParent);
3951
- var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);
4032
+ var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);
3952
4033
  var scroll = {
3953
4034
  scrollLeft: 0,
3954
4035
  scrollTop: 0
@@ -4055,7 +4136,10 @@ var MISSING_DEPENDENCY_ERROR = 'Popper: modifier "%s" requires "%s", but "%s" mo
4055
4136
  var VALID_PROPERTIES = ['name', 'enabled', 'phase', 'fn', 'effect', 'requires', 'options'];
4056
4137
  function validateModifiers(modifiers) {
4057
4138
  modifiers.forEach(function (modifier) {
4058
- Object.keys(modifier).forEach(function (key) {
4139
+ [].concat(Object.keys(modifier), VALID_PROPERTIES) // IE11-compatible replacement for `new Set(iterable)`
4140
+ .filter(function (value, index, self) {
4141
+ return self.indexOf(value) === index;
4142
+ }).forEach(function (key) {
4059
4143
  switch (key) {
4060
4144
  case 'name':
4061
4145
  if (typeof modifier.name !== 'string') {
@@ -4069,6 +4153,8 @@ function validateModifiers(modifiers) {
4069
4153
  console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"enabled"', '"boolean"', "\"" + String(modifier.enabled) + "\""));
4070
4154
  }
4071
4155
 
4156
+ break;
4157
+
4072
4158
  case 'phase':
4073
4159
  if (modifierPhases.indexOf(modifier.phase) < 0) {
4074
4160
  console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"phase"', "either " + modifierPhases.join(', '), "\"" + String(modifier.phase) + "\""));
@@ -4084,14 +4170,14 @@ function validateModifiers(modifiers) {
4084
4170
  break;
4085
4171
 
4086
4172
  case 'effect':
4087
- if (typeof modifier.effect !== 'function') {
4173
+ if (modifier.effect != null && typeof modifier.effect !== 'function') {
4088
4174
  console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"effect"', '"function"', "\"" + String(modifier.fn) + "\""));
4089
4175
  }
4090
4176
 
4091
4177
  break;
4092
4178
 
4093
4179
  case 'requires':
4094
- if (!Array.isArray(modifier.requires)) {
4180
+ if (modifier.requires != null && !Array.isArray(modifier.requires)) {
4095
4181
  console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"requires"', '"array"', "\"" + String(modifier.requires) + "\""));
4096
4182
  }
4097
4183
 
@@ -4201,7 +4287,8 @@ function popperGenerator(generatorOptions) {
4201
4287
  var isDestroyed = false;
4202
4288
  var instance = {
4203
4289
  state: state,
4204
- setOptions: function setOptions(options) {
4290
+ setOptions: function setOptions(setOptionsAction) {
4291
+ var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;
4205
4292
  cleanupModifierEffects();
4206
4293
  state.options = Object.assign({}, defaultOptions, state.options, options);
4207
4294
  state.scrollParents = {
@@ -2,7 +2,7 @@ import { _ as _asyncToGenerator, r as regenerator } from './asyncToGenerator-1eb
2
2
  import { _ as _slicedToArray } from './slicedToArray-72ed566b.js';
3
3
  import React__default, { useState, useRef, useEffect } from 'react';
4
4
  import { F as FaWindowClose } from './index.esm-1bd8a0a8.js';
5
- import { m as main_43 } from './main-f97773b2.js';
5
+ import { m as main_43 } from './main-754d4992.js';
6
6
  import './_commonjsHelpers-0c4b6f40.js';
7
7
  import './core.get-iterator-method-95db387d.js';
8
8
  import './web.dom.iterable-3fffc027.js';
@@ -1,5 +1,5 @@
1
1
  import React__default from 'react';
2
- import './moment-bc12cb97.js';
2
+ import './moment-48faeb9c.js';
3
3
  import urlFor from './urlFor.js';
4
4
  import './_commonjsHelpers-0c4b6f40.js';
5
5
  import './slicedToArray-72ed566b.js';
@@ -5,7 +5,7 @@ import { B as BlockContent } from './BlockContent-1e73bd2c.js';
5
5
  import Col from 'react-bootstrap/Col';
6
6
  import Form from 'react-bootstrap/Form';
7
7
  import Button from 'react-bootstrap/Button';
8
- import { g as getSerializers } from './index-2fe6b5b1.js';
8
+ import { g as getSerializers } from './index-1d1bbc8c.js';
9
9
  import VideoSeriesListing from './VideoSeriesListing.js';
10
10
  import './_commonjsHelpers-0c4b6f40.js';
11
11
  import './core.get-iterator-method-95db387d.js';
@@ -18,20 +18,19 @@ import './index-3f5c03b2.js';
18
18
  import './slicedToArray-72ed566b.js';
19
19
  import 'react-bootstrap';
20
20
  import './urlFor.js';
21
- import './index-f0fc23eb.js';
22
- import './events-6c3a7a63.js';
21
+ import './index-5cc7b406.js';
23
22
  import 'next/router';
24
23
  import './index-c7e2ac95.js';
25
24
  import './Beam.js';
26
25
  import './stringify-1e2a5946.js';
27
26
  import './Segment.js';
28
- import './main-f97773b2.js';
27
+ import './main-754d4992.js';
29
28
  import './urlForFile-2e523b67.js';
30
29
  import './index-755f2cc2.js';
31
30
  import 'react-dom';
32
31
  import './typeof-3ab7d3b6.js';
33
32
  import './_is-array-68c79b29.js';
34
- import './brightcove-react-player-loader.es-57a70a56.js';
33
+ import './brightcove-react-player-loader.es-a2422c4b.js';
35
34
  import './_object-to-array-9dfdfb29.js';
36
35
  import './keys-185288f4.js';
37
36
  import './_object-sap-14bd8e96.js';
@@ -39,7 +38,7 @@ import 'react-bootstrap/Modal';
39
38
  import 'react-ga';
40
39
  import './GroupDeck.js';
41
40
  import './smoothscroll-fa4e3f8c.js';
42
- import './moment-bc12cb97.js';
41
+ import './moment-48faeb9c.js';
43
42
  import './SocialShare.js';
44
43
  import 'next/head';
45
44
  import 'react-share';
@@ -2,7 +2,7 @@ import { _ as _typeof } from './typeof-3ab7d3b6.js';
2
2
  import React__default from 'react';
3
3
  import { L as LazyLoad } from './index-755f2cc2.js';
4
4
  import urlFor from './urlFor.js';
5
- import { m as moment } from './moment-bc12cb97.js';
5
+ import { m as moment } from './moment-48faeb9c.js';
6
6
  import { s as styleInject } from './style-inject.es-1f59c1d0.js';
7
7
  import 'prop-types';
8
8
  import './_commonjsHelpers-0c4b6f40.js';