@mjhls/mjh-framework 1.0.1049 → 1.0.1050-lightbox

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 (156) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/AD.js +1 -1
  3. package/dist/cjs/AD300x250.js +3 -2
  4. package/dist/cjs/AD300x250x600.js +3 -2
  5. package/dist/cjs/AD728x90.js +3 -2
  6. package/dist/cjs/ADFloatingFooter.js +3 -2
  7. package/dist/cjs/ADGutter.js +3 -2
  8. package/dist/cjs/{ADInfeed-0519664d.js → ADInfeed-89f63b7d.js} +1 -1
  9. package/dist/cjs/ADSkyscraper.js +3 -2
  10. package/dist/cjs/ADSponsoredResources.js +3 -2
  11. package/dist/cjs/ADWebcast.js +3 -2
  12. package/dist/cjs/ADWelcome.js +3 -2
  13. package/dist/cjs/{ADlgInfeed-e544ac1c.js → ADlgInfeed-a536168e.js} +1 -1
  14. package/dist/cjs/AdSlot.js +3 -2
  15. package/dist/cjs/AdSlotsProvider.js +3 -2
  16. package/dist/cjs/AlgoliaSearch.js +72 -399
  17. package/dist/cjs/ArticleCarousel.js +1 -1
  18. package/dist/cjs/ArticleProgramLandingPage.js +5 -4
  19. package/dist/cjs/ArticleSeriesLandingPage.js +5 -4
  20. package/dist/cjs/ArticleSeriesListing.js +3 -2
  21. package/dist/cjs/Auth.js +1492 -10
  22. package/dist/cjs/AuthWrapper.js +1565 -293
  23. package/dist/cjs/CEDeckSupabase.js +3 -2
  24. package/dist/cjs/CMEDeck.js +3 -2
  25. package/dist/cjs/Column3.js +3 -2
  26. package/dist/cjs/ContentCardPaginated.js +5 -4
  27. package/dist/cjs/DeckContent.js +5 -4
  28. package/dist/cjs/DeckQueue.js +4 -3
  29. package/dist/cjs/DeckQueuePaginated.js +4 -3
  30. package/dist/cjs/{Dfp-67646058.js → Dfp-c313a700.js} +2 -1
  31. package/dist/cjs/EventsDeck.js +1 -1
  32. package/dist/cjs/ExternalResources.js +5 -4
  33. package/dist/cjs/Feature.js +1 -1
  34. package/dist/cjs/GridContent.js +6 -5
  35. package/dist/cjs/GridContentPaginated.js +6 -5
  36. package/dist/cjs/GridHero.js +1 -1
  37. package/dist/cjs/HamMagazine.js +2 -2
  38. package/dist/cjs/Hero.js +1 -1
  39. package/dist/cjs/HorizontalArticleListing.js +5 -4
  40. package/dist/cjs/{ImageSlider-62a43659.js → ImageSlider-d65bc9c8.js} +106 -123
  41. package/dist/cjs/IssueLanding.js +7 -6
  42. package/dist/cjs/LeftNav.js +3 -2
  43. package/dist/cjs/MasterDeck.js +5 -4
  44. package/dist/cjs/MasterDeckPaginated.js +5 -4
  45. package/dist/cjs/{MediaSeriesCard-3ee52557.js → MediaSeriesCard-6cb9a6e6.js} +1 -1
  46. package/dist/cjs/MediaSeriesLanding.js +10 -9
  47. package/dist/cjs/MediaSeriesLandingPaginated.js +10 -9
  48. package/dist/cjs/NavMagazine.js +2 -2
  49. package/dist/cjs/NavNative.js +1 -1
  50. package/dist/cjs/OncliveLargeHero.js +1 -1
  51. package/dist/cjs/PartnerDetailListing.js +8 -7
  52. package/dist/cjs/PartnerDetailListingPaginated.js +8 -7
  53. package/dist/cjs/PodcastsLanding.js +8 -7
  54. package/dist/cjs/PubSection.js +6 -5
  55. package/dist/cjs/QueueDeckExpanded.js +6 -5
  56. package/dist/cjs/QueueDeckExpandedPaginated.js +6 -5
  57. package/dist/cjs/SeriesListingDeck.js +4 -3
  58. package/dist/cjs/{SeriesSlider-edcb8e4b.js → SeriesSlider-c7ed509b.js} +1 -1
  59. package/dist/cjs/{SocialSearchComponent-e9ec9c63.js → SocialSearchComponent-d7e5d3a6.js} +1 -1
  60. package/dist/cjs/TaxonomyDescription.js +5 -4
  61. package/dist/cjs/TemplateNormal.js +4 -3
  62. package/dist/cjs/ThumbnailCard.js +1 -1
  63. package/dist/cjs/{Tooltip-980a1d1a.js → Tooltip-02a841b5.js} +348 -140
  64. package/dist/cjs/Ustream.js +1 -1
  65. package/dist/cjs/VideoProgramLandingPage.js +5 -4
  66. package/dist/cjs/VideoSeriesLandingPage.js +5 -4
  67. package/dist/cjs/VideoSeriesListing.js +3 -2
  68. package/dist/cjs/View.js +6 -5
  69. package/dist/cjs/YahooHero.js +1 -1
  70. package/dist/cjs/YoutubeGroup.js +1 -1
  71. package/dist/cjs/{entities-3f9d0f2f.js → entities-df1aed86.js} +4 -0
  72. package/dist/cjs/events-1b438fe7.js +469 -0
  73. package/dist/cjs/getSerializers.js +5 -4
  74. package/dist/cjs/{index-46b63e4b.js → index-1165a652.js} +14 -24
  75. package/dist/cjs/{index-8041a4eb.js → index-9ec837cc.js} +0 -10
  76. package/dist/cjs/{index-7435b964.js → index-d2a6ef75.js} +2 -467
  77. package/dist/cjs/index.js +11 -11
  78. package/dist/cjs/{main-47be4f9f.js → main-ae8472f3.js} +4 -9
  79. package/dist/esm/AD.js +1 -1
  80. package/dist/esm/AD300x250.js +3 -2
  81. package/dist/esm/AD300x250x600.js +3 -2
  82. package/dist/esm/AD728x90.js +3 -2
  83. package/dist/esm/ADFloatingFooter.js +3 -2
  84. package/dist/esm/ADGutter.js +3 -2
  85. package/dist/esm/{ADInfeed-c3f5613e.js → ADInfeed-c14e043c.js} +1 -1
  86. package/dist/esm/ADSkyscraper.js +3 -2
  87. package/dist/esm/ADSponsoredResources.js +3 -2
  88. package/dist/esm/ADWebcast.js +3 -2
  89. package/dist/esm/ADWelcome.js +3 -2
  90. package/dist/esm/{ADlgInfeed-2b148f3f.js → ADlgInfeed-2892de3c.js} +1 -1
  91. package/dist/esm/AdSlot.js +3 -2
  92. package/dist/esm/AdSlotsProvider.js +3 -2
  93. package/dist/esm/AlgoliaSearch.js +71 -398
  94. package/dist/esm/ArticleCarousel.js +1 -1
  95. package/dist/esm/ArticleProgramLandingPage.js +5 -4
  96. package/dist/esm/ArticleSeriesLandingPage.js +5 -4
  97. package/dist/esm/ArticleSeriesListing.js +3 -2
  98. package/dist/esm/Auth.js +1492 -9
  99. package/dist/esm/AuthWrapper.js +1559 -287
  100. package/dist/esm/CEDeckSupabase.js +3 -2
  101. package/dist/esm/CMEDeck.js +3 -2
  102. package/dist/esm/Column3.js +3 -2
  103. package/dist/esm/ContentCardPaginated.js +5 -4
  104. package/dist/esm/DeckContent.js +5 -4
  105. package/dist/esm/DeckQueue.js +4 -3
  106. package/dist/esm/DeckQueuePaginated.js +4 -3
  107. package/dist/esm/{Dfp-cf85d203.js → Dfp-102f0beb.js} +2 -1
  108. package/dist/esm/EventsDeck.js +1 -1
  109. package/dist/esm/ExternalResources.js +5 -4
  110. package/dist/esm/Feature.js +1 -1
  111. package/dist/esm/GridContent.js +6 -5
  112. package/dist/esm/GridContentPaginated.js +6 -5
  113. package/dist/esm/GridHero.js +1 -1
  114. package/dist/esm/HamMagazine.js +2 -2
  115. package/dist/esm/Hero.js +1 -1
  116. package/dist/esm/HorizontalArticleListing.js +5 -4
  117. package/dist/esm/{ImageSlider-aea3a615.js → ImageSlider-da225417.js} +107 -124
  118. package/dist/esm/IssueLanding.js +7 -6
  119. package/dist/esm/LeftNav.js +3 -2
  120. package/dist/esm/MasterDeck.js +5 -4
  121. package/dist/esm/MasterDeckPaginated.js +5 -4
  122. package/dist/esm/{MediaSeriesCard-0f3cb954.js → MediaSeriesCard-d36385ff.js} +1 -1
  123. package/dist/esm/MediaSeriesLanding.js +10 -9
  124. package/dist/esm/MediaSeriesLandingPaginated.js +10 -9
  125. package/dist/esm/NavMagazine.js +2 -2
  126. package/dist/esm/NavNative.js +1 -1
  127. package/dist/esm/OncliveLargeHero.js +1 -1
  128. package/dist/esm/PartnerDetailListing.js +8 -7
  129. package/dist/esm/PartnerDetailListingPaginated.js +8 -7
  130. package/dist/esm/PodcastsLanding.js +8 -7
  131. package/dist/esm/PubSection.js +6 -5
  132. package/dist/esm/QueueDeckExpanded.js +6 -5
  133. package/dist/esm/QueueDeckExpandedPaginated.js +6 -5
  134. package/dist/esm/SeriesListingDeck.js +4 -3
  135. package/dist/esm/{SeriesSlider-2e83e861.js → SeriesSlider-b467f00c.js} +1 -1
  136. package/dist/esm/{SocialSearchComponent-020f9e81.js → SocialSearchComponent-6065bff2.js} +1 -1
  137. package/dist/esm/TaxonomyDescription.js +5 -4
  138. package/dist/esm/TemplateNormal.js +4 -3
  139. package/dist/esm/ThumbnailCard.js +1 -1
  140. package/dist/esm/{Tooltip-51957f7c.js → Tooltip-7a093cd4.js} +506 -298
  141. package/dist/esm/Ustream.js +1 -1
  142. package/dist/esm/VideoProgramLandingPage.js +5 -4
  143. package/dist/esm/VideoSeriesLandingPage.js +5 -4
  144. package/dist/esm/VideoSeriesListing.js +3 -2
  145. package/dist/esm/View.js +6 -5
  146. package/dist/esm/YahooHero.js +1 -1
  147. package/dist/esm/YoutubeGroup.js +1 -1
  148. package/dist/esm/{entities-932b50cf.js → entities-6d9154b4.js} +4 -0
  149. package/dist/esm/events-6c3a7a63.js +467 -0
  150. package/dist/esm/getSerializers.js +5 -4
  151. package/dist/esm/{index-67e1773f.js → index-0ce54f8a.js} +1 -10
  152. package/dist/esm/{index-be57519b.js → index-4a515426.js} +14 -24
  153. package/dist/esm/{index-5cc7b406.js → index-f0fc23eb.js} +1 -466
  154. package/dist/esm/index.js +11 -11
  155. package/dist/esm/{main-f97773b2.js → main-754d4992.js} +4 -9
  156. package/package.json +115 -115
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8041a4eb.js');
3
+ var index = require('./index-9ec837cc.js');
4
4
  var React = require('react');
5
5
  var PropTypes = require('prop-types');
6
6
  var ReactDOM = require('react-dom');
@@ -120,7 +120,7 @@ function useUncontrolled(props, config) {
120
120
  function _inheritsLoose(subClass, superClass) {
121
121
  subClass.prototype = Object.create(superClass.prototype);
122
122
  subClass.prototype.constructor = subClass;
123
- index._setPrototypeOf(subClass, superClass);
123
+ subClass.__proto__ = superClass;
124
124
  }
125
125
 
126
126
  var ThemeContext = React__default["default"].createContext({});
@@ -178,15 +178,33 @@ var AccordionToggle = React__default["default"].forwardRef(function (_ref, ref)
178
178
  }, props), children);
179
179
  });
180
180
 
181
+ /**
182
+ * Returns the owner document of a given element.
183
+ *
184
+ * @param node the element
185
+ */
181
186
  function ownerDocument$1(node) {
182
187
  return node && node.ownerDocument || document;
183
188
  }
184
189
 
190
+ /**
191
+ * Returns the owner window of a given element.
192
+ *
193
+ * @param node the element
194
+ */
195
+
185
196
  function ownerWindow(node) {
186
197
  var doc = ownerDocument$1(node);
187
198
  return doc && doc.defaultView || window;
188
199
  }
189
200
 
201
+ /**
202
+ * Returns one or all computed style properties of an element.
203
+ *
204
+ * @param node the element
205
+ * @param psuedoElement the style property
206
+ */
207
+
190
208
  function getComputedStyle$2(node, psuedoElement) {
191
209
  return ownerWindow(node).getComputedStyle(node, psuedoElement);
192
210
  }
@@ -267,6 +285,11 @@ try {
267
285
 
268
286
  /**
269
287
  * An `addEventListener` ponyfill, supports the `once` option
288
+ *
289
+ * @param node the element
290
+ * @param eventName the event name
291
+ * @param handle the handler
292
+ * @param options event options
270
293
  */
271
294
  function addEventListener(node, eventName, handler, options) {
272
295
  if (options && typeof options !== 'boolean' && !onceSupported) {
@@ -289,6 +312,14 @@ function addEventListener(node, eventName, handler, options) {
289
312
  node.addEventListener(eventName, handler, options);
290
313
  }
291
314
 
315
+ /**
316
+ * A `removeEventListener` ponyfill
317
+ *
318
+ * @param node the element
319
+ * @param eventName the event name
320
+ * @param handle the handler
321
+ * @param options event options
322
+ */
292
323
  function removeEventListener(node, eventName, handler, options) {
293
324
  var capture = options && typeof options !== 'boolean' ? options.capture : options;
294
325
  node.removeEventListener(eventName, handler, capture);
@@ -305,18 +336,36 @@ function listen(node, eventName, handler, options) {
305
336
  };
306
337
  }
307
338
 
339
+ /**
340
+ * Triggers an event on a given element.
341
+ *
342
+ * @param node the element
343
+ * @param eventName the event name to trigger
344
+ * @param bubbles whether the event should bubble up
345
+ * @param cancelable whether the event should be cancelable
346
+ */
347
+ function triggerEvent(node, eventName, bubbles, cancelable) {
348
+ if (bubbles === void 0) {
349
+ bubbles = false;
350
+ }
351
+
352
+ if (cancelable === void 0) {
353
+ cancelable = true;
354
+ }
355
+
356
+ if (node) {
357
+ var event = document.createEvent('HTMLEvents');
358
+ event.initEvent(eventName, bubbles, cancelable);
359
+ node.dispatchEvent(event);
360
+ }
361
+ }
362
+
308
363
  function parseDuration(node) {
309
364
  var str = style(node, 'transitionDuration') || '';
310
365
  var mult = str.indexOf('ms') === -1 ? 1000 : 1;
311
366
  return parseFloat(str) * mult;
312
367
  }
313
368
 
314
- function triggerTransitionEnd(element) {
315
- var evt = document.createEvent('HTMLEvents');
316
- evt.initEvent('transitionend', true, true);
317
- element.dispatchEvent(evt);
318
- }
319
-
320
369
  function emulateTransitionEnd(element, duration, padding) {
321
370
  if (padding === void 0) {
322
371
  padding = 5;
@@ -324,7 +373,7 @@ function emulateTransitionEnd(element, duration, padding) {
324
373
 
325
374
  var called = false;
326
375
  var handle = setTimeout(function () {
327
- if (!called) triggerTransitionEnd(element);
376
+ if (!called) triggerEvent(element, 'transitionend', true);
328
377
  }, duration + padding);
329
378
  var remove = listen(element, 'transitionend', function () {
330
379
  called = true;
@@ -782,7 +831,10 @@ Transition.propTypes = process.env.NODE_ENV !== "production" ? {
782
831
  * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).
783
832
  */
784
833
  nodeRef: PropTypes__default["default"].shape({
785
- current: typeof Element === 'undefined' ? PropTypes__default["default"].any : PropTypes__default["default"].instanceOf(Element)
834
+ current: typeof Element === 'undefined' ? PropTypes__default["default"].any : function (propValue, key, componentName, location, propFullName, secret) {
835
+ var value = propValue[key];
836
+ return PropTypes__default["default"].instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);
837
+ }
786
838
  }),
787
839
 
788
840
  /**
@@ -2414,6 +2466,13 @@ function (_ref, ref) {
2414
2466
  Col.displayName = 'Col';
2415
2467
 
2416
2468
  var matchesImpl;
2469
+ /**
2470
+ * Checks if a given element matches a selector.
2471
+ *
2472
+ * @param node the element
2473
+ * @param selector the selector
2474
+ */
2475
+
2417
2476
  function matches(node, selector) {
2418
2477
  if (!matchesImpl) {
2419
2478
  var body = document.body;
@@ -2428,6 +2487,13 @@ function matches(node, selector) {
2428
2487
  }
2429
2488
 
2430
2489
  var toArray = Function.prototype.bind.call(Function.prototype.call, [].slice);
2490
+ /**
2491
+ * Runs `querySelectorAll` on a given element.
2492
+ *
2493
+ * @param element the element
2494
+ * @param selector the selector
2495
+ */
2496
+
2431
2497
  function qsa(element, selector) {
2432
2498
  return toArray(element.querySelectorAll(selector));
2433
2499
  }
@@ -2517,6 +2583,39 @@ function useForceUpdate() {
2517
2583
 
2518
2584
  var DropdownContext = /*#__PURE__*/React__default["default"].createContext(null);
2519
2585
 
2586
+ function _extends() {
2587
+ _extends = Object.assign || function (target) {
2588
+ for (var i = 1; i < arguments.length; i++) {
2589
+ var source = arguments[i];
2590
+
2591
+ for (var key in source) {
2592
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
2593
+ target[key] = source[key];
2594
+ }
2595
+ }
2596
+ }
2597
+
2598
+ return target;
2599
+ };
2600
+
2601
+ return _extends.apply(this, arguments);
2602
+ }
2603
+
2604
+ function _objectWithoutPropertiesLoose(source, excluded) {
2605
+ if (source == null) return {};
2606
+ var target = {};
2607
+ var sourceKeys = Object.keys(source);
2608
+ var key, i;
2609
+
2610
+ for (i = 0; i < sourceKeys.length; i++) {
2611
+ key = sourceKeys[i];
2612
+ if (excluded.indexOf(key) >= 0) continue;
2613
+ target[key] = source[key];
2614
+ }
2615
+
2616
+ return target;
2617
+ }
2618
+
2520
2619
  function useSafeState(state) {
2521
2620
  var isMounted = useMounted();
2522
2621
  return [state[0], React.useCallback(function (nextState) {
@@ -2561,45 +2660,6 @@ function getBasePlacement(placement) {
2561
2660
  return placement.split('-')[0];
2562
2661
  }
2563
2662
 
2564
- function getBoundingClientRect(element) {
2565
- var rect = element.getBoundingClientRect();
2566
- return {
2567
- width: rect.width,
2568
- height: rect.height,
2569
- top: rect.top,
2570
- right: rect.right,
2571
- bottom: rect.bottom,
2572
- left: rect.left,
2573
- x: rect.left,
2574
- y: rect.top
2575
- };
2576
- }
2577
-
2578
- // means it doesn't take into account transforms.
2579
-
2580
- function getLayoutRect(element) {
2581
- var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.
2582
- // Fixes https://github.com/popperjs/popper-core/issues/1223
2583
-
2584
- var width = element.offsetWidth;
2585
- var height = element.offsetHeight;
2586
-
2587
- if (Math.abs(clientRect.width - width) <= 1) {
2588
- width = clientRect.width;
2589
- }
2590
-
2591
- if (Math.abs(clientRect.height - height) <= 1) {
2592
- height = clientRect.height;
2593
- }
2594
-
2595
- return {
2596
- x: element.offsetLeft,
2597
- y: element.offsetTop,
2598
- width: width,
2599
- height: height
2600
- };
2601
- }
2602
-
2603
2663
  function getWindow(node) {
2604
2664
  if (node == null) {
2605
2665
  return window;
@@ -2633,6 +2693,70 @@ function isShadowRoot(node) {
2633
2693
  return node instanceof OwnElement || node instanceof ShadowRoot;
2634
2694
  }
2635
2695
 
2696
+ var max = Math.max;
2697
+ var min = Math.min;
2698
+ var round = Math.round;
2699
+
2700
+ function getBoundingClientRect(element, includeScale) {
2701
+ if (includeScale === void 0) {
2702
+ includeScale = false;
2703
+ }
2704
+
2705
+ var rect = element.getBoundingClientRect();
2706
+ var scaleX = 1;
2707
+ var scaleY = 1;
2708
+
2709
+ if (isHTMLElement(element) && includeScale) {
2710
+ var offsetHeight = element.offsetHeight;
2711
+ var offsetWidth = element.offsetWidth; // Do not attempt to divide by 0, otherwise we get `Infinity` as scale
2712
+ // Fallback to 1 in case both values are `0`
2713
+
2714
+ if (offsetWidth > 0) {
2715
+ scaleX = round(rect.width) / offsetWidth || 1;
2716
+ }
2717
+
2718
+ if (offsetHeight > 0) {
2719
+ scaleY = round(rect.height) / offsetHeight || 1;
2720
+ }
2721
+ }
2722
+
2723
+ return {
2724
+ width: rect.width / scaleX,
2725
+ height: rect.height / scaleY,
2726
+ top: rect.top / scaleY,
2727
+ right: rect.right / scaleX,
2728
+ bottom: rect.bottom / scaleY,
2729
+ left: rect.left / scaleX,
2730
+ x: rect.left / scaleX,
2731
+ y: rect.top / scaleY
2732
+ };
2733
+ }
2734
+
2735
+ // means it doesn't take into account transforms.
2736
+
2737
+ function getLayoutRect(element) {
2738
+ var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.
2739
+ // Fixes https://github.com/popperjs/popper-core/issues/1223
2740
+
2741
+ var width = element.offsetWidth;
2742
+ var height = element.offsetHeight;
2743
+
2744
+ if (Math.abs(clientRect.width - width) <= 1) {
2745
+ width = clientRect.width;
2746
+ }
2747
+
2748
+ if (Math.abs(clientRect.height - height) <= 1) {
2749
+ height = clientRect.height;
2750
+ }
2751
+
2752
+ return {
2753
+ x: element.offsetLeft,
2754
+ y: element.offsetTop,
2755
+ width: width,
2756
+ height: height
2757
+ };
2758
+ }
2759
+
2636
2760
  function contains$1(parent, child) {
2637
2761
  var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method
2638
2762
 
@@ -2753,13 +2877,13 @@ function getMainAxisFromPlacement(placement) {
2753
2877
  return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
2754
2878
  }
2755
2879
 
2756
- var max = Math.max;
2757
- var min = Math.min;
2758
- var round = Math.round;
2759
-
2760
2880
  function within(min$1, value, max$1) {
2761
2881
  return max(min$1, min(value, max$1));
2762
2882
  }
2883
+ function withinMaxClamp(min, value, max) {
2884
+ var v = within(min, value, max);
2885
+ return v > max ? max : v;
2886
+ }
2763
2887
 
2764
2888
  function getFreshSideObject() {
2765
2889
  return {
@@ -2872,6 +2996,10 @@ var arrow$1 = {
2872
2996
  requiresIfExists: ['preventOverflow']
2873
2997
  };
2874
2998
 
2999
+ function getVariation(placement) {
3000
+ return placement.split('-')[1];
3001
+ }
3002
+
2875
3003
  var unsetSides = {
2876
3004
  top: 'auto',
2877
3005
  right: 'auto',
@@ -2887,8 +3015,8 @@ function roundOffsetsByDPR(_ref) {
2887
3015
  var win = window;
2888
3016
  var dpr = win.devicePixelRatio || 1;
2889
3017
  return {
2890
- x: round(round(x * dpr) / dpr) || 0,
2891
- y: round(round(y * dpr) / dpr) || 0
3018
+ x: round(x * dpr) / dpr || 0,
3019
+ y: round(y * dpr) / dpr || 0
2892
3020
  };
2893
3021
  }
2894
3022
 
@@ -2898,18 +3026,28 @@ function mapToStyles(_ref2) {
2898
3026
  var popper = _ref2.popper,
2899
3027
  popperRect = _ref2.popperRect,
2900
3028
  placement = _ref2.placement,
3029
+ variation = _ref2.variation,
2901
3030
  offsets = _ref2.offsets,
2902
3031
  position = _ref2.position,
2903
3032
  gpuAcceleration = _ref2.gpuAcceleration,
2904
3033
  adaptive = _ref2.adaptive,
2905
- roundOffsets = _ref2.roundOffsets;
2906
-
2907
- var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,
2908
- _ref3$x = _ref3.x,
2909
- x = _ref3$x === void 0 ? 0 : _ref3$x,
2910
- _ref3$y = _ref3.y,
2911
- y = _ref3$y === void 0 ? 0 : _ref3$y;
3034
+ roundOffsets = _ref2.roundOffsets,
3035
+ isFixed = _ref2.isFixed;
3036
+ var _offsets$x = offsets.x,
3037
+ x = _offsets$x === void 0 ? 0 : _offsets$x,
3038
+ _offsets$y = offsets.y,
3039
+ y = _offsets$y === void 0 ? 0 : _offsets$y;
3040
+
3041
+ var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({
3042
+ x: x,
3043
+ y: y
3044
+ }) : {
3045
+ x: x,
3046
+ y: y
3047
+ };
2912
3048
 
3049
+ x = _ref3.x;
3050
+ y = _ref3.y;
2913
3051
  var hasX = offsets.hasOwnProperty('x');
2914
3052
  var hasY = offsets.hasOwnProperty('y');
2915
3053
  var sideX = left;
@@ -2924,7 +3062,7 @@ function mapToStyles(_ref2) {
2924
3062
  if (offsetParent === getWindow(popper)) {
2925
3063
  offsetParent = getDocumentElement(popper);
2926
3064
 
2927
- if (getComputedStyle$1(offsetParent).position !== 'static') {
3065
+ if (getComputedStyle$1(offsetParent).position !== 'static' && position === 'absolute') {
2928
3066
  heightProp = 'scrollHeight';
2929
3067
  widthProp = 'scrollWidth';
2930
3068
  }
@@ -2933,17 +3071,19 @@ function mapToStyles(_ref2) {
2933
3071
 
2934
3072
  offsetParent = offsetParent;
2935
3073
 
2936
- if (placement === top) {
2937
- sideY = bottom; // $FlowFixMe[prop-missing]
2938
-
2939
- y -= offsetParent[heightProp] - popperRect.height;
3074
+ if (placement === top || (placement === left || placement === right) && variation === end) {
3075
+ sideY = bottom;
3076
+ var offsetY = isFixed && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
3077
+ offsetParent[heightProp];
3078
+ y -= offsetY - popperRect.height;
2940
3079
  y *= gpuAcceleration ? 1 : -1;
2941
3080
  }
2942
3081
 
2943
- if (placement === left) {
2944
- sideX = right; // $FlowFixMe[prop-missing]
2945
-
2946
- x -= offsetParent[widthProp] - popperRect.width;
3082
+ if (placement === left || (placement === top || placement === bottom) && variation === end) {
3083
+ sideX = right;
3084
+ var offsetX = isFixed && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
3085
+ offsetParent[widthProp];
3086
+ x -= offsetX - popperRect.width;
2947
3087
  x *= gpuAcceleration ? 1 : -1;
2948
3088
  }
2949
3089
  }
@@ -2952,18 +3092,29 @@ function mapToStyles(_ref2) {
2952
3092
  position: position
2953
3093
  }, adaptive && unsetSides);
2954
3094
 
3095
+ var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
3096
+ x: x,
3097
+ y: y
3098
+ }) : {
3099
+ x: x,
3100
+ y: y
3101
+ };
3102
+
3103
+ x = _ref4.x;
3104
+ y = _ref4.y;
3105
+
2955
3106
  if (gpuAcceleration) {
2956
3107
  var _Object$assign;
2957
3108
 
2958
- 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));
3109
+ 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));
2959
3110
  }
2960
3111
 
2961
3112
  return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2));
2962
3113
  }
2963
3114
 
2964
- function computeStyles(_ref4) {
2965
- var state = _ref4.state,
2966
- options = _ref4.options;
3115
+ function computeStyles(_ref5) {
3116
+ var state = _ref5.state,
3117
+ options = _ref5.options;
2967
3118
  var _options$gpuAccelerat = options.gpuAcceleration,
2968
3119
  gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,
2969
3120
  _options$adaptive = options.adaptive,
@@ -2983,9 +3134,11 @@ function computeStyles(_ref4) {
2983
3134
 
2984
3135
  var commonStyles = {
2985
3136
  placement: getBasePlacement(state.placement),
3137
+ variation: getVariation(state.placement),
2986
3138
  popper: state.elements.popper,
2987
3139
  popperRect: state.rects.popper,
2988
- gpuAcceleration: gpuAcceleration
3140
+ gpuAcceleration: gpuAcceleration,
3141
+ isFixed: state.options.strategy === 'fixed'
2989
3142
  };
2990
3143
 
2991
3144
  if (state.modifiersData.popperOffsets != null) {
@@ -3243,7 +3396,7 @@ function getInnerBoundingClientRect(element) {
3243
3396
  }
3244
3397
 
3245
3398
  function getClientRectFromMixedType(element, clippingParent) {
3246
- return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
3399
+ return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
3247
3400
  } // A "clipping parent" is an overflowable container with the characteristic of
3248
3401
  // clipping (or hiding) overflowing elements with a position different from
3249
3402
  // `initial`
@@ -3285,10 +3438,6 @@ function getClippingRect(element, boundary, rootBoundary) {
3285
3438
  return clippingRect;
3286
3439
  }
3287
3440
 
3288
- function getVariation(placement) {
3289
- return placement.split('-')[1];
3290
- }
3291
-
3292
3441
  function computeOffsets(_ref) {
3293
3442
  var reference = _ref.reference,
3294
3443
  element = _ref.element,
@@ -3374,11 +3523,10 @@ function detectOverflow(state, options) {
3374
3523
  padding = _options$padding === void 0 ? 0 : _options$padding;
3375
3524
  var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));
3376
3525
  var altContext = elementContext === popper ? reference : popper;
3377
- var referenceElement = state.elements.reference;
3378
3526
  var popperRect = state.rects.popper;
3379
3527
  var element = state.elements[altBoundary ? altContext : elementContext];
3380
3528
  var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);
3381
- var referenceClientRect = getBoundingClientRect(referenceElement);
3529
+ var referenceClientRect = getBoundingClientRect(state.elements.reference);
3382
3530
  var popperOffsets = computeOffsets({
3383
3531
  reference: referenceClientRect,
3384
3532
  element: popperRect,
@@ -3765,6 +3913,14 @@ function preventOverflow(_ref) {
3765
3913
  var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {
3766
3914
  placement: state.placement
3767
3915
  })) : tetherOffset;
3916
+ var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {
3917
+ mainAxis: tetherOffsetValue,
3918
+ altAxis: tetherOffsetValue
3919
+ } : Object.assign({
3920
+ mainAxis: 0,
3921
+ altAxis: 0
3922
+ }, tetherOffsetValue);
3923
+ var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
3768
3924
  var data = {
3769
3925
  x: 0,
3770
3926
  y: 0
@@ -3774,13 +3930,15 @@ function preventOverflow(_ref) {
3774
3930
  return;
3775
3931
  }
3776
3932
 
3777
- if (checkMainAxis || checkAltAxis) {
3933
+ if (checkMainAxis) {
3934
+ var _offsetModifierState$;
3935
+
3778
3936
  var mainSide = mainAxis === 'y' ? top : left;
3779
3937
  var altSide = mainAxis === 'y' ? bottom : right;
3780
3938
  var len = mainAxis === 'y' ? 'height' : 'width';
3781
3939
  var offset = popperOffsets[mainAxis];
3782
- var min$1 = popperOffsets[mainAxis] + overflow[mainSide];
3783
- var max$1 = popperOffsets[mainAxis] - overflow[altSide];
3940
+ var min$1 = offset + overflow[mainSide];
3941
+ var max$1 = offset - overflow[altSide];
3784
3942
  var additive = tether ? -popperRect[len] / 2 : 0;
3785
3943
  var minLen = variation === start ? referenceRect[len] : popperRect[len];
3786
3944
  var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go
@@ -3800,36 +3958,45 @@ function preventOverflow(_ref) {
3800
3958
  // width or height)
3801
3959
 
3802
3960
  var arrowLen = within(0, referenceRect[len], arrowRect[len]);
3803
- var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;
3804
- var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;
3961
+ var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
3962
+ var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
3805
3963
  var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
3806
3964
  var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
3807
- var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;
3808
- var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;
3809
- var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;
3965
+ var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
3966
+ var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;
3967
+ var tetherMax = offset + maxOffset - offsetModifierValue;
3968
+ var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
3969
+ popperOffsets[mainAxis] = preventedOffset;
3970
+ data[mainAxis] = preventedOffset - offset;
3971
+ }
3810
3972
 
3811
- if (checkMainAxis) {
3812
- var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
3813
- popperOffsets[mainAxis] = preventedOffset;
3814
- data[mainAxis] = preventedOffset - offset;
3815
- }
3973
+ if (checkAltAxis) {
3974
+ var _offsetModifierState$2;
3816
3975
 
3817
- if (checkAltAxis) {
3818
- var _mainSide = mainAxis === 'x' ? top : left;
3976
+ var _mainSide = mainAxis === 'x' ? top : left;
3819
3977
 
3820
- var _altSide = mainAxis === 'x' ? bottom : right;
3978
+ var _altSide = mainAxis === 'x' ? bottom : right;
3821
3979
 
3822
- var _offset = popperOffsets[altAxis];
3980
+ var _offset = popperOffsets[altAxis];
3823
3981
 
3824
- var _min = _offset + overflow[_mainSide];
3982
+ var _len = altAxis === 'y' ? 'height' : 'width';
3825
3983
 
3826
- var _max = _offset - overflow[_altSide];
3984
+ var _min = _offset + overflow[_mainSide];
3827
3985
 
3828
- var _preventedOffset = within(tether ? min(_min, tetherMin) : _min, _offset, tether ? max(_max, tetherMax) : _max);
3986
+ var _max = _offset - overflow[_altSide];
3829
3987
 
3830
- popperOffsets[altAxis] = _preventedOffset;
3831
- data[altAxis] = _preventedOffset - _offset;
3832
- }
3988
+ var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
3989
+
3990
+ var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
3991
+
3992
+ var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
3993
+
3994
+ var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
3995
+
3996
+ var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
3997
+
3998
+ popperOffsets[altAxis] = _preventedOffset;
3999
+ data[altAxis] = _preventedOffset - _offset;
3833
4000
  }
3834
4001
 
3835
4002
  state.modifiersData[name] = data;
@@ -3859,16 +4026,24 @@ function getNodeScroll(node) {
3859
4026
  }
3860
4027
  }
3861
4028
 
4029
+ function isElementScaled(element) {
4030
+ var rect = element.getBoundingClientRect();
4031
+ var scaleX = round(rect.width) / element.offsetWidth || 1;
4032
+ var scaleY = round(rect.height) / element.offsetHeight || 1;
4033
+ return scaleX !== 1 || scaleY !== 1;
4034
+ } // Returns the composite rect of an element relative to its offsetParent.
3862
4035
  // Composite means it takes into account transforms as well as layout.
3863
4036
 
4037
+
3864
4038
  function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
3865
4039
  if (isFixed === void 0) {
3866
4040
  isFixed = false;
3867
4041
  }
3868
4042
 
3869
- var documentElement = getDocumentElement(offsetParent);
3870
- var rect = getBoundingClientRect(elementOrVirtualElement);
3871
4043
  var isOffsetParentAnElement = isHTMLElement(offsetParent);
4044
+ var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
4045
+ var documentElement = getDocumentElement(offsetParent);
4046
+ var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);
3872
4047
  var scroll = {
3873
4048
  scrollLeft: 0,
3874
4049
  scrollTop: 0
@@ -3885,7 +4060,7 @@ function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
3885
4060
  }
3886
4061
 
3887
4062
  if (isHTMLElement(offsetParent)) {
3888
- offsets = getBoundingClientRect(offsetParent);
4063
+ offsets = getBoundingClientRect(offsetParent, true);
3889
4064
  offsets.x += offsetParent.clientLeft;
3890
4065
  offsets.y += offsetParent.clientTop;
3891
4066
  } else if (documentElement) {
@@ -3975,7 +4150,10 @@ var MISSING_DEPENDENCY_ERROR = 'Popper: modifier "%s" requires "%s", but "%s" mo
3975
4150
  var VALID_PROPERTIES = ['name', 'enabled', 'phase', 'fn', 'effect', 'requires', 'options'];
3976
4151
  function validateModifiers(modifiers) {
3977
4152
  modifiers.forEach(function (modifier) {
3978
- Object.keys(modifier).forEach(function (key) {
4153
+ [].concat(Object.keys(modifier), VALID_PROPERTIES) // IE11-compatible replacement for `new Set(iterable)`
4154
+ .filter(function (value, index, self) {
4155
+ return self.indexOf(value) === index;
4156
+ }).forEach(function (key) {
3979
4157
  switch (key) {
3980
4158
  case 'name':
3981
4159
  if (typeof modifier.name !== 'string') {
@@ -3989,6 +4167,8 @@ function validateModifiers(modifiers) {
3989
4167
  console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"enabled"', '"boolean"', "\"" + String(modifier.enabled) + "\""));
3990
4168
  }
3991
4169
 
4170
+ break;
4171
+
3992
4172
  case 'phase':
3993
4173
  if (modifierPhases.indexOf(modifier.phase) < 0) {
3994
4174
  console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"phase"', "either " + modifierPhases.join(', '), "\"" + String(modifier.phase) + "\""));
@@ -4004,14 +4184,14 @@ function validateModifiers(modifiers) {
4004
4184
  break;
4005
4185
 
4006
4186
  case 'effect':
4007
- if (typeof modifier.effect !== 'function') {
4187
+ if (modifier.effect != null && typeof modifier.effect !== 'function') {
4008
4188
  console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"effect"', '"function"', "\"" + String(modifier.fn) + "\""));
4009
4189
  }
4010
4190
 
4011
4191
  break;
4012
4192
 
4013
4193
  case 'requires':
4014
- if (!Array.isArray(modifier.requires)) {
4194
+ if (modifier.requires != null && !Array.isArray(modifier.requires)) {
4015
4195
  console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"requires"', '"array"', "\"" + String(modifier.requires) + "\""));
4016
4196
  }
4017
4197
 
@@ -4121,7 +4301,8 @@ function popperGenerator(generatorOptions) {
4121
4301
  var isDestroyed = false;
4122
4302
  var instance = {
4123
4303
  state: state,
4124
- setOptions: function setOptions(options) {
4304
+ setOptions: function setOptions(setOptionsAction) {
4305
+ var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;
4125
4306
  cleanupModifierEffects();
4126
4307
  state.options = Object.assign({}, defaultOptions, state.options, options);
4127
4308
  state.scrollParents = {
@@ -4402,7 +4583,7 @@ function usePopper(referenceElement, popperElement, _temp) {
4402
4583
  strategy = _ref3$strategy === void 0 ? 'absolute' : _ref3$strategy,
4403
4584
  _ref3$modifiers = _ref3.modifiers,
4404
4585
  modifiers = _ref3$modifiers === void 0 ? EMPTY_MODIFIERS : _ref3$modifiers,
4405
- config = index._objectWithoutPropertiesLoose(_ref3, ["enabled", "placement", "strategy", "modifiers"]);
4586
+ config = _objectWithoutPropertiesLoose(_ref3, ["enabled", "placement", "strategy", "modifiers"]);
4406
4587
 
4407
4588
  var popperInstanceRef = React.useRef();
4408
4589
  var update = React.useCallback(function () {
@@ -4468,7 +4649,7 @@ function usePopper(referenceElement, popperElement, _temp) {
4468
4649
  return undefined;
4469
4650
  }
4470
4651
 
4471
- popperInstanceRef.current = createPopper(referenceElement, popperElement, index._extends({}, config, {
4652
+ popperInstanceRef.current = createPopper(referenceElement, popperElement, _extends({}, config, {
4472
4653
  placement: placement,
4473
4654
  strategy: strategy,
4474
4655
  modifiers: [].concat(modifiers, [ariaDescribedByModifier, updateModifier])
@@ -4478,7 +4659,7 @@ function usePopper(referenceElement, popperElement, _temp) {
4478
4659
  popperInstanceRef.current.destroy();
4479
4660
  popperInstanceRef.current = undefined;
4480
4661
  setState(function (s) {
4481
- return index._extends({}, s, {
4662
+ return _extends({}, s, {
4482
4663
  attributes: {},
4483
4664
  styles: {
4484
4665
  popper: initialPopperStyles(strategy)
@@ -4493,9 +4674,16 @@ function usePopper(referenceElement, popperElement, _temp) {
4493
4674
  }
4494
4675
 
4495
4676
  /* eslint-disable no-bitwise, no-cond-assign */
4496
- // HTML DOM and SVG DOM may have different support levels,
4497
- // so we need to check on context instead of a document root element.
4677
+
4678
+ /**
4679
+ * Checks if an element contains another given element.
4680
+ *
4681
+ * @param context the context element
4682
+ * @param node the element to check
4683
+ */
4498
4684
  function contains(context, node) {
4685
+ // HTML DOM and SVG DOM may have different support levels,
4686
+ // so we need to check on context instead of a document root element.
4499
4687
  if (context.contains) return context.contains(node);
4500
4688
  if (context.compareDocumentPosition) return context === node || !!(context.compareDocumentPosition(node) & 16);
4501
4689
  }
@@ -4708,30 +4896,30 @@ function mergeOptionsWithPopperConfig(_ref) {
4708
4896
  _ref$popperConfig = _ref.popperConfig,
4709
4897
  popperConfig = _ref$popperConfig === void 0 ? {} : _ref$popperConfig;
4710
4898
  var modifiers = toModifierMap(popperConfig.modifiers);
4711
- return index._extends({}, popperConfig, {
4899
+ return _extends({}, popperConfig, {
4712
4900
  placement: placement,
4713
4901
  enabled: enabled,
4714
- modifiers: toModifierArray(index._extends({}, modifiers, {
4902
+ modifiers: toModifierArray(_extends({}, modifiers, {
4715
4903
  eventListeners: {
4716
4904
  enabled: enableEvents
4717
4905
  },
4718
- preventOverflow: index._extends({}, modifiers.preventOverflow, {
4719
- options: containerPadding ? index._extends({
4906
+ preventOverflow: _extends({}, modifiers.preventOverflow, {
4907
+ options: containerPadding ? _extends({
4720
4908
  padding: containerPadding
4721
4909
  }, (_modifiers$preventOve = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve.options) : (_modifiers$preventOve2 = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve2.options
4722
4910
  }),
4723
4911
  offset: {
4724
- options: index._extends({
4912
+ options: _extends({
4725
4913
  offset: offset
4726
4914
  }, (_modifiers$offset = modifiers.offset) == null ? void 0 : _modifiers$offset.options)
4727
4915
  },
4728
- arrow: index._extends({}, modifiers.arrow, {
4916
+ arrow: _extends({}, modifiers.arrow, {
4729
4917
  enabled: !!arrowElement,
4730
- options: index._extends({}, (_modifiers$arrow = modifiers.arrow) == null ? void 0 : _modifiers$arrow.options, {
4918
+ options: _extends({}, (_modifiers$arrow = modifiers.arrow) == null ? void 0 : _modifiers$arrow.options, {
4731
4919
  element: arrowElement
4732
4920
  })
4733
4921
  }),
4734
- flip: index._extends({
4922
+ flip: _extends({
4735
4923
  enabled: !!flip
4736
4924
  }, modifiers.flip)
4737
4925
  }))
@@ -4802,7 +4990,7 @@ function useDropdownMenu(options) {
4802
4990
  })),
4803
4991
  styles = _usePopper.styles,
4804
4992
  attributes = _usePopper.attributes,
4805
- popper = index._objectWithoutPropertiesLoose(_usePopper, ["styles", "attributes"]);
4993
+ popper = _objectWithoutPropertiesLoose(_usePopper, ["styles", "attributes"]);
4806
4994
 
4807
4995
  var menu;
4808
4996
  var menuProps = {
@@ -4817,15 +5005,15 @@ function useDropdownMenu(options) {
4817
5005
  };
4818
5006
 
4819
5007
  if (!shouldUsePopper) {
4820
- menu = index._extends({}, childArgs, {
5008
+ menu = _extends({}, childArgs, {
4821
5009
  props: menuProps
4822
5010
  });
4823
5011
  } else {
4824
- menu = index._extends({}, popper, childArgs, {
4825
- props: index._extends({}, menuProps, attributes.popper, {
5012
+ menu = _extends({}, popper, childArgs, {
5013
+ props: _extends({}, menuProps, attributes.popper, {
4826
5014
  style: styles.popper
4827
5015
  }),
4828
- arrowProps: index._extends({
5016
+ arrowProps: _extends({
4829
5017
  ref: attachArrowRef
4830
5018
  }, attributes.arrow, {
4831
5019
  style: styles.arrow
@@ -4908,7 +5096,7 @@ var defaultProps$r = {
4908
5096
  */
4909
5097
  function DropdownMenu$1(_ref2) {
4910
5098
  var children = _ref2.children,
4911
- options = index._objectWithoutPropertiesLoose(_ref2, ["children"]);
5099
+ options = _objectWithoutPropertiesLoose(_ref2, ["children"]);
4912
5100
 
4913
5101
  var args = useDropdownMenu(options);
4914
5102
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, args.hasShown ? children(args) : null);
@@ -5312,6 +5500,12 @@ function useWrappedRefWithWarning(ref, componentName) {
5312
5500
  return useMergedRefs(warningRef, ref);
5313
5501
  }
5314
5502
 
5503
+ /**
5504
+ * Checks if a given element has a CSS class.
5505
+ *
5506
+ * @param element the element
5507
+ * @param className the CSS class name
5508
+ */
5315
5509
  function hasClass(element, className) {
5316
5510
  if (element.classList) return !!className && element.classList.contains(className);
5317
5511
  return (" " + (element.className.baseVal || element.className) + " ").indexOf(" " + className + " ") !== -1;
@@ -6751,9 +6945,9 @@ function scrollbarSize(recalc) {
6751
6945
  }
6752
6946
 
6753
6947
  /**
6754
- * Return the actively focused element safely.
6948
+ * Returns the actively focused element safely.
6755
6949
  *
6756
- * @param doc the document to checl
6950
+ * @param doc the document to check
6757
6951
  */
6758
6952
 
6759
6953
  function activeElement(doc) {
@@ -6775,6 +6969,13 @@ function activeElement(doc) {
6775
6969
  }
6776
6970
  }
6777
6971
 
6972
+ /**
6973
+ * Adds a CSS class to a given element.
6974
+ *
6975
+ * @param element the element
6976
+ * @param className the CSS class name
6977
+ */
6978
+
6778
6979
  function addClass(element, className) {
6779
6980
  if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + " " + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + " " + className);
6780
6981
  }
@@ -6782,6 +6983,13 @@ function addClass(element, className) {
6782
6983
  function replaceClassName(origClass, classToRemove) {
6783
6984
  return origClass.replace(new RegExp("(^|\\s)" + classToRemove + "(?:\\s|$)", 'g'), '$1').replace(/\s+/g, ' ').replace(/^\s*|\s*$/g, '');
6784
6985
  }
6986
+ /**
6987
+ * Removes a CSS class from a given element.
6988
+ *
6989
+ * @param element the element
6990
+ * @param className the CSS class name
6991
+ */
6992
+
6785
6993
 
6786
6994
  function removeClass(element, className) {
6787
6995
  if (element.classList) {
@@ -7125,7 +7333,7 @@ var Modal$1 = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
7125
7333
  onEnter = _ref.onEnter,
7126
7334
  onEntering = _ref.onEntering,
7127
7335
  onEntered = _ref.onEntered,
7128
- rest = index._objectWithoutPropertiesLoose(_ref, ["show", "role", "className", "style", "children", "backdrop", "keyboard", "onBackdropClick", "onEscapeKeyDown", "transition", "backdropTransition", "autoFocus", "enforceFocus", "restoreFocus", "restoreFocusOptions", "renderDialog", "renderBackdrop", "manager", "container", "containerClassName", "onShow", "onHide", "onExit", "onExited", "onExiting", "onEnter", "onEntering", "onEntered"]);
7336
+ rest = _objectWithoutPropertiesLoose(_ref, ["show", "role", "className", "style", "children", "backdrop", "keyboard", "onBackdropClick", "onEscapeKeyDown", "transition", "backdropTransition", "autoFocus", "enforceFocus", "restoreFocus", "restoreFocusOptions", "renderDialog", "renderBackdrop", "manager", "container", "containerClassName", "onShow", "onHide", "onExit", "onExited", "onExiting", "onEnter", "onEntering", "onEntered"]);
7129
7337
 
7130
7338
  var container = useWaitForDOMRef(containerRef);
7131
7339
  var modal = useModalManager(providedManager);
@@ -7258,7 +7466,7 @@ var Modal$1 = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
7258
7466
  return null;
7259
7467
  }
7260
7468
 
7261
- var dialogProps = index._extends({
7469
+ var dialogProps = _extends({
7262
7470
  role: role,
7263
7471
  ref: modal.setDialogRef,
7264
7472
  // apparently only works on the dialog role element
@@ -8245,7 +8453,7 @@ var Overlay = /*#__PURE__*/React__default["default"].forwardRef(function (props,
8245
8453
  })),
8246
8454
  styles = _usePopper.styles,
8247
8455
  attributes = _usePopper.attributes,
8248
- popper = index._objectWithoutPropertiesLoose(_usePopper, ["styles", "attributes"]);
8456
+ popper = _objectWithoutPropertiesLoose(_usePopper, ["styles", "attributes"]);
8249
8457
 
8250
8458
  if (props.show) {
8251
8459
  if (exited) setExited(false);
@@ -8273,13 +8481,13 @@ var Overlay = /*#__PURE__*/React__default["default"].forwardRef(function (props,
8273
8481
  return null;
8274
8482
  }
8275
8483
 
8276
- var child = props.children(index._extends({}, popper, {
8484
+ var child = props.children(_extends({}, popper, {
8277
8485
  show: !!props.show,
8278
- props: index._extends({}, attributes.popper, {
8486
+ props: _extends({}, attributes.popper, {
8279
8487
  style: styles.popper,
8280
8488
  ref: mergedRef
8281
8489
  }),
8282
- arrowProps: index._extends({}, attributes.arrow, {
8490
+ arrowProps: _extends({}, attributes.arrow, {
8283
8491
  style: styles.arrow,
8284
8492
  ref: attachArrowRef
8285
8493
  })