@mjhls/mjh-framework 1.0.1023-blanktagremoval-v1 → 1.0.1023

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 (184) hide show
  1. package/README.md +168 -168
  2. package/dist/cjs/AD300x250.js +1 -1
  3. package/dist/cjs/AD300x250x600.js +1 -1
  4. package/dist/cjs/AD728x90.js +1 -1
  5. package/dist/cjs/ADFloatingFooter.js +1 -1
  6. package/dist/cjs/ADGutter.js +1 -1
  7. package/dist/cjs/{ADInfeed-89488c41.js → ADInfeed-5dabd71d.js} +1 -1
  8. package/dist/cjs/ADSkyscraper.js +1 -1
  9. package/dist/cjs/ADSponsoredResources.js +1 -1
  10. package/dist/cjs/ADWebcast.js +1 -1
  11. package/dist/cjs/ADWelcome.js +1 -1
  12. package/dist/cjs/{ADlgInfeed-9d62050b.js → ADlgInfeed-1766ce0a.js} +1 -1
  13. package/dist/cjs/AdSlot.js +1 -1
  14. package/dist/cjs/AdSlotsProvider.js +1 -1
  15. package/dist/cjs/AlgoliaSearch.js +1 -1
  16. package/dist/cjs/ArticleCarousel.js +1 -1
  17. package/dist/cjs/ArticleProgramLandingPage.js +3 -3
  18. package/dist/cjs/ArticleSeriesLandingPage.js +3 -3
  19. package/dist/cjs/ArticleSeriesListing.js +1 -1
  20. package/dist/cjs/Auth.js +11 -1493
  21. package/dist/cjs/AuthWrapper.js +294 -1484
  22. package/dist/cjs/CEDeckSupabase.js +2 -2
  23. package/dist/cjs/CMEDeck.js +1 -1
  24. package/dist/cjs/Column2.js +2 -4
  25. package/dist/cjs/Column3.js +1 -1
  26. package/dist/cjs/ConferenceArticleCard.js +15 -15
  27. package/dist/cjs/ContentCardPaginated.js +3 -3
  28. package/dist/cjs/DeckContent.js +11 -11
  29. package/dist/cjs/DeckQueue.js +2 -2
  30. package/dist/cjs/DeckQueuePaginated.js +2 -2
  31. package/dist/cjs/EventsDeck.js +18 -18
  32. package/dist/cjs/ExternalResources.js +6 -6
  33. package/dist/cjs/Feature.js +1 -1
  34. package/dist/cjs/GridContent.js +4 -4
  35. package/dist/cjs/GridContentPaginated.js +4 -4
  36. package/dist/cjs/GridHero.js +1 -1
  37. package/dist/cjs/HamMagazine.js +50 -52
  38. package/dist/cjs/HealthCareProfessionalModal.js +1 -1
  39. package/dist/cjs/Hero.js +1 -1
  40. package/dist/cjs/HorizontalArticleListing.js +3 -3
  41. package/dist/cjs/{ImageSlider-50807a77.js → ImageSlider-fd0cc91c.js} +145 -83
  42. package/dist/cjs/IssueLanding.js +34 -34
  43. package/dist/cjs/KMTracker.js +15 -15
  44. package/dist/cjs/LeftNav.js +15 -14
  45. package/dist/cjs/MasterDeck.js +11 -11
  46. package/dist/cjs/MasterDeckPaginated.js +11 -11
  47. package/dist/cjs/{MediaSeriesCard-de7f7fcc.js → MediaSeriesCard-ae205d40.js} +2 -2
  48. package/dist/cjs/MediaSeriesLanding.js +13 -13
  49. package/dist/cjs/MediaSeriesLandingPaginated.js +13 -13
  50. package/dist/cjs/NavDvm.js +28 -30
  51. package/dist/cjs/{NavFooter-b37e3eed.js → NavFooter-257b5318.js} +3 -4
  52. package/dist/cjs/NavMagazine.js +53 -55
  53. package/dist/cjs/NavNative.js +55 -55
  54. package/dist/cjs/OncliveLargeHero.js +1 -1
  55. package/dist/cjs/PartnerDetailListing.js +28 -40
  56. package/dist/cjs/PartnerDetailListingPaginated.js +32 -38
  57. package/dist/cjs/PodcastsLanding.js +6 -6
  58. package/dist/cjs/PubSection.js +4 -4
  59. package/dist/cjs/PublicationLanding.js +26 -26
  60. package/dist/cjs/QueueDeckExpanded.js +4 -4
  61. package/dist/cjs/QueueDeckExpandedPaginated.js +4 -4
  62. package/dist/cjs/RelatedContent.js +28 -28
  63. package/dist/cjs/RelatedTopicsDropdown.js +10 -10
  64. package/dist/cjs/SeriesListingDeck.js +2 -2
  65. package/dist/cjs/{SeriesSlider-fc6dd07d.js → SeriesSlider-0b2a2775.js} +5 -5
  66. package/dist/cjs/SideFooter.js +9 -11
  67. package/dist/cjs/{SocialSearchComponent-15e03760.js → SocialSearchComponent-6924a853.js} +2 -2
  68. package/dist/cjs/TaxonomyCard.js +8 -8
  69. package/dist/cjs/TaxonomyDescription.js +3 -3
  70. package/dist/cjs/TemplateNormal.js +4 -4
  71. package/dist/cjs/ThumbnailCard.js +1 -1
  72. package/dist/cjs/{Tooltip-8011d690.js → Tooltip-980a1d1a.js} +116 -291
  73. package/dist/cjs/Ustream.js +1 -1
  74. package/dist/cjs/VideoProgramLandingPage.js +3 -3
  75. package/dist/cjs/VideoSeriesCard.js +1 -1
  76. package/dist/cjs/VideoSeriesLandingPage.js +3 -3
  77. package/dist/cjs/VideoSeriesListing.js +1 -1
  78. package/dist/cjs/View.js +8 -8
  79. package/dist/cjs/YahooHero.js +1 -1
  80. package/dist/cjs/YoutubeGroup.js +5 -5
  81. package/dist/cjs/{entities-df1aed86.js → entities-3f9d0f2f.js} +0 -4
  82. package/dist/cjs/getRelatedArticle.js +1 -1
  83. package/dist/cjs/getSerializers.js +3 -3
  84. package/dist/cjs/{getTargeting-ba942d9a.js → getTargeting-4439c99d.js} +9 -9
  85. package/dist/cjs/getTargeting.js +1 -1
  86. package/dist/cjs/{index-50be6759.js → index-8041a4eb.js} +9 -15
  87. package/dist/cjs/{index-3111bc4e.js → index-b78ce702.js} +2 -2
  88. package/dist/cjs/{index-3cd60d26.js → index-bd6c9f56.js} +11 -11
  89. package/dist/cjs/{index.esm-bb54403e.js → index.esm-91e651b0.js} +7 -8
  90. package/dist/cjs/index.js +14 -14
  91. package/dist/cjs/{main-ae8472f3.js → main-47be4f9f.js} +9 -4
  92. package/dist/esm/AD300x250.js +1 -1
  93. package/dist/esm/AD300x250x600.js +1 -1
  94. package/dist/esm/AD728x90.js +1 -1
  95. package/dist/esm/ADFloatingFooter.js +1 -1
  96. package/dist/esm/ADGutter.js +1 -1
  97. package/dist/esm/{ADInfeed-fb3b056f.js → ADInfeed-cfc4f7b2.js} +1 -1
  98. package/dist/esm/ADSkyscraper.js +1 -1
  99. package/dist/esm/ADSponsoredResources.js +1 -1
  100. package/dist/esm/ADWebcast.js +1 -1
  101. package/dist/esm/ADWelcome.js +1 -1
  102. package/dist/esm/{ADlgInfeed-29f7b84c.js → ADlgInfeed-74c975b9.js} +1 -1
  103. package/dist/esm/AdSlot.js +1 -1
  104. package/dist/esm/AdSlotsProvider.js +1 -1
  105. package/dist/esm/AlgoliaSearch.js +1 -1
  106. package/dist/esm/ArticleCarousel.js +1 -1
  107. package/dist/esm/ArticleProgramLandingPage.js +3 -3
  108. package/dist/esm/ArticleSeriesLandingPage.js +3 -3
  109. package/dist/esm/ArticleSeriesListing.js +1 -1
  110. package/dist/esm/Auth.js +10 -1493
  111. package/dist/esm/AuthWrapper.js +288 -1478
  112. package/dist/esm/CEDeckSupabase.js +2 -2
  113. package/dist/esm/CMEDeck.js +1 -1
  114. package/dist/esm/Column2.js +2 -4
  115. package/dist/esm/Column3.js +1 -1
  116. package/dist/esm/ConferenceArticleCard.js +15 -15
  117. package/dist/esm/ContentCardPaginated.js +3 -3
  118. package/dist/esm/DeckContent.js +11 -11
  119. package/dist/esm/DeckQueue.js +2 -2
  120. package/dist/esm/DeckQueuePaginated.js +2 -2
  121. package/dist/esm/EventsDeck.js +18 -18
  122. package/dist/esm/ExternalResources.js +6 -6
  123. package/dist/esm/Feature.js +1 -1
  124. package/dist/esm/GridContent.js +4 -4
  125. package/dist/esm/GridContentPaginated.js +4 -4
  126. package/dist/esm/GridHero.js +1 -1
  127. package/dist/esm/HamMagazine.js +50 -52
  128. package/dist/esm/HealthCareProfessionalModal.js +1 -1
  129. package/dist/esm/Hero.js +1 -1
  130. package/dist/esm/HorizontalArticleListing.js +3 -3
  131. package/dist/esm/{ImageSlider-cdb57d30.js → ImageSlider-c3a57384.js} +63 -1
  132. package/dist/esm/IssueLanding.js +34 -34
  133. package/dist/esm/KMTracker.js +15 -15
  134. package/dist/esm/LeftNav.js +15 -14
  135. package/dist/esm/MasterDeck.js +11 -11
  136. package/dist/esm/MasterDeckPaginated.js +11 -11
  137. package/dist/esm/{MediaSeriesCard-8ec69f60.js → MediaSeriesCard-957b218d.js} +2 -2
  138. package/dist/esm/MediaSeriesLanding.js +13 -13
  139. package/dist/esm/MediaSeriesLandingPaginated.js +13 -13
  140. package/dist/esm/NavDvm.js +28 -30
  141. package/dist/esm/{NavFooter-37c5eea2.js → NavFooter-27a16f65.js} +3 -4
  142. package/dist/esm/NavMagazine.js +53 -55
  143. package/dist/esm/NavNative.js +55 -55
  144. package/dist/esm/OncliveLargeHero.js +1 -1
  145. package/dist/esm/PartnerDetailListing.js +28 -40
  146. package/dist/esm/PartnerDetailListingPaginated.js +32 -38
  147. package/dist/esm/PodcastsLanding.js +6 -6
  148. package/dist/esm/PubSection.js +4 -4
  149. package/dist/esm/PublicationLanding.js +26 -26
  150. package/dist/esm/QueueDeckExpanded.js +4 -4
  151. package/dist/esm/QueueDeckExpandedPaginated.js +4 -4
  152. package/dist/esm/RelatedContent.js +28 -28
  153. package/dist/esm/RelatedTopicsDropdown.js +10 -10
  154. package/dist/esm/SeriesListingDeck.js +2 -2
  155. package/dist/esm/{SeriesSlider-771918ce.js → SeriesSlider-3f4d6012.js} +5 -5
  156. package/dist/esm/SideFooter.js +9 -11
  157. package/dist/esm/{SocialSearchComponent-b102181b.js → SocialSearchComponent-2451acd2.js} +2 -2
  158. package/dist/esm/TaxonomyCard.js +8 -8
  159. package/dist/esm/TaxonomyDescription.js +3 -3
  160. package/dist/esm/TemplateNormal.js +4 -4
  161. package/dist/esm/ThumbnailCard.js +1 -1
  162. package/dist/esm/{Tooltip-2cdd0895.js → Tooltip-51957f7c.js} +116 -291
  163. package/dist/esm/Ustream.js +1 -1
  164. package/dist/esm/VideoProgramLandingPage.js +3 -3
  165. package/dist/esm/VideoSeriesCard.js +1 -1
  166. package/dist/esm/VideoSeriesLandingPage.js +3 -3
  167. package/dist/esm/VideoSeriesListing.js +1 -1
  168. package/dist/esm/View.js +8 -8
  169. package/dist/esm/YahooHero.js +1 -1
  170. package/dist/esm/YoutubeGroup.js +5 -5
  171. package/dist/esm/{entities-6d9154b4.js → entities-932b50cf.js} +0 -4
  172. package/dist/esm/getRelatedArticle.js +1 -1
  173. package/dist/esm/getSerializers.js +3 -3
  174. package/dist/esm/{getTargeting-9bd28724.js → getTargeting-c6884f34.js} +9 -9
  175. package/dist/esm/getTargeting.js +1 -1
  176. package/dist/esm/{index-98ca9cec.js → index-67e1773f.js} +9 -15
  177. package/dist/esm/{index-0a63f9a3.js → index-db3bb315.js} +11 -11
  178. package/dist/esm/{index-a71a6cc7.js → index-f2f5b752.js} +2 -2
  179. package/dist/esm/{index.esm-8639823a.js → index.esm-06bf63a3.js} +7 -8
  180. package/dist/esm/index.js +14 -14
  181. package/dist/esm/{main-754d4992.js → main-f97773b2.js} +9 -4
  182. package/package.json +116 -116
  183. package/dist/cjs/defineProperty-19580e93.js +0 -71
  184. package/dist/esm/defineProperty-e8022d1e.js +0 -66
@@ -1,4 +1,4 @@
1
- import { _ as _objectWithoutPropertiesLoose, b as _extends, a as _setPrototypeOf, c as classnames } from './index-98ca9cec.js';
1
+ import { _ as _objectWithoutPropertiesLoose, b as _extends, a as _setPrototypeOf, c as classnames } from './index-67e1773f.js';
2
2
  import React__default, { useCallback, useRef, useState, useContext, useMemo, useEffect, useImperativeHandle, useReducer, forwardRef, cloneElement } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import ReactDOM from 'react-dom';
@@ -170,33 +170,15 @@ var AccordionToggle = React__default.forwardRef(function (_ref, ref) {
170
170
  }, props), children);
171
171
  });
172
172
 
173
- /**
174
- * Returns the owner document of a given element.
175
- *
176
- * @param node the element
177
- */
178
173
  function ownerDocument$1(node) {
179
174
  return node && node.ownerDocument || document;
180
175
  }
181
176
 
182
- /**
183
- * Returns the owner window of a given element.
184
- *
185
- * @param node the element
186
- */
187
-
188
177
  function ownerWindow(node) {
189
178
  var doc = ownerDocument$1(node);
190
179
  return doc && doc.defaultView || window;
191
180
  }
192
181
 
193
- /**
194
- * Returns one or all computed style properties of an element.
195
- *
196
- * @param node the element
197
- * @param psuedoElement the style property
198
- */
199
-
200
182
  function getComputedStyle$2(node, psuedoElement) {
201
183
  return ownerWindow(node).getComputedStyle(node, psuedoElement);
202
184
  }
@@ -277,11 +259,6 @@ try {
277
259
 
278
260
  /**
279
261
  * An `addEventListener` ponyfill, supports the `once` option
280
- *
281
- * @param node the element
282
- * @param eventName the event name
283
- * @param handle the handler
284
- * @param options event options
285
262
  */
286
263
  function addEventListener(node, eventName, handler, options) {
287
264
  if (options && typeof options !== 'boolean' && !onceSupported) {
@@ -304,14 +281,6 @@ function addEventListener(node, eventName, handler, options) {
304
281
  node.addEventListener(eventName, handler, options);
305
282
  }
306
283
 
307
- /**
308
- * A `removeEventListener` ponyfill
309
- *
310
- * @param node the element
311
- * @param eventName the event name
312
- * @param handle the handler
313
- * @param options event options
314
- */
315
284
  function removeEventListener(node, eventName, handler, options) {
316
285
  var capture = options && typeof options !== 'boolean' ? options.capture : options;
317
286
  node.removeEventListener(eventName, handler, capture);
@@ -328,36 +297,18 @@ function listen(node, eventName, handler, options) {
328
297
  };
329
298
  }
330
299
 
331
- /**
332
- * Triggers an event on a given element.
333
- *
334
- * @param node the element
335
- * @param eventName the event name to trigger
336
- * @param bubbles whether the event should bubble up
337
- * @param cancelable whether the event should be cancelable
338
- */
339
- function triggerEvent(node, eventName, bubbles, cancelable) {
340
- if (bubbles === void 0) {
341
- bubbles = false;
342
- }
343
-
344
- if (cancelable === void 0) {
345
- cancelable = true;
346
- }
347
-
348
- if (node) {
349
- var event = document.createEvent('HTMLEvents');
350
- event.initEvent(eventName, bubbles, cancelable);
351
- node.dispatchEvent(event);
352
- }
353
- }
354
-
355
300
  function parseDuration(node) {
356
301
  var str = style(node, 'transitionDuration') || '';
357
302
  var mult = str.indexOf('ms') === -1 ? 1000 : 1;
358
303
  return parseFloat(str) * mult;
359
304
  }
360
305
 
306
+ function triggerTransitionEnd(element) {
307
+ var evt = document.createEvent('HTMLEvents');
308
+ evt.initEvent('transitionend', true, true);
309
+ element.dispatchEvent(evt);
310
+ }
311
+
361
312
  function emulateTransitionEnd(element, duration, padding) {
362
313
  if (padding === void 0) {
363
314
  padding = 5;
@@ -365,7 +316,7 @@ function emulateTransitionEnd(element, duration, padding) {
365
316
 
366
317
  var called = false;
367
318
  var handle = setTimeout(function () {
368
- if (!called) triggerEvent(element, 'transitionend', true);
319
+ if (!called) triggerTransitionEnd(element);
369
320
  }, duration + padding);
370
321
  var remove = listen(element, 'transitionend', function () {
371
322
  called = true;
@@ -823,10 +774,7 @@ Transition.propTypes = process.env.NODE_ENV !== "production" ? {
823
774
  * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).
824
775
  */
825
776
  nodeRef: PropTypes.shape({
826
- current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {
827
- var value = propValue[key];
828
- return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);
829
- }
777
+ current: typeof Element === 'undefined' ? PropTypes.any : PropTypes.instanceOf(Element)
830
778
  }),
831
779
 
832
780
  /**
@@ -2458,13 +2406,6 @@ function (_ref, ref) {
2458
2406
  Col.displayName = 'Col';
2459
2407
 
2460
2408
  var matchesImpl;
2461
- /**
2462
- * Checks if a given element matches a selector.
2463
- *
2464
- * @param node the element
2465
- * @param selector the selector
2466
- */
2467
-
2468
2409
  function matches(node, selector) {
2469
2410
  if (!matchesImpl) {
2470
2411
  var body = document.body;
@@ -2479,13 +2420,6 @@ function matches(node, selector) {
2479
2420
  }
2480
2421
 
2481
2422
  var toArray = Function.prototype.bind.call(Function.prototype.call, [].slice);
2482
- /**
2483
- * Runs `querySelectorAll` on a given element.
2484
- *
2485
- * @param element the element
2486
- * @param selector the selector
2487
- */
2488
-
2489
2423
  function qsa(element, selector) {
2490
2424
  return toArray(element.querySelectorAll(selector));
2491
2425
  }
@@ -2619,6 +2553,45 @@ function getBasePlacement(placement) {
2619
2553
  return placement.split('-')[0];
2620
2554
  }
2621
2555
 
2556
+ function getBoundingClientRect(element) {
2557
+ var rect = element.getBoundingClientRect();
2558
+ return {
2559
+ width: rect.width,
2560
+ height: rect.height,
2561
+ top: rect.top,
2562
+ right: rect.right,
2563
+ bottom: rect.bottom,
2564
+ left: rect.left,
2565
+ x: rect.left,
2566
+ y: rect.top
2567
+ };
2568
+ }
2569
+
2570
+ // means it doesn't take into account transforms.
2571
+
2572
+ function getLayoutRect(element) {
2573
+ var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.
2574
+ // Fixes https://github.com/popperjs/popper-core/issues/1223
2575
+
2576
+ var width = element.offsetWidth;
2577
+ var height = element.offsetHeight;
2578
+
2579
+ if (Math.abs(clientRect.width - width) <= 1) {
2580
+ width = clientRect.width;
2581
+ }
2582
+
2583
+ if (Math.abs(clientRect.height - height) <= 1) {
2584
+ height = clientRect.height;
2585
+ }
2586
+
2587
+ return {
2588
+ x: element.offsetLeft,
2589
+ y: element.offsetTop,
2590
+ width: width,
2591
+ height: height
2592
+ };
2593
+ }
2594
+
2622
2595
  function getWindow(node) {
2623
2596
  if (node == null) {
2624
2597
  return window;
@@ -2652,70 +2625,6 @@ function isShadowRoot(node) {
2652
2625
  return node instanceof OwnElement || node instanceof ShadowRoot;
2653
2626
  }
2654
2627
 
2655
- var max = Math.max;
2656
- var min = Math.min;
2657
- var round = Math.round;
2658
-
2659
- function getBoundingClientRect(element, includeScale) {
2660
- if (includeScale === void 0) {
2661
- includeScale = false;
2662
- }
2663
-
2664
- var rect = element.getBoundingClientRect();
2665
- var scaleX = 1;
2666
- var scaleY = 1;
2667
-
2668
- if (isHTMLElement(element) && includeScale) {
2669
- var offsetHeight = element.offsetHeight;
2670
- var offsetWidth = element.offsetWidth; // Do not attempt to divide by 0, otherwise we get `Infinity` as scale
2671
- // Fallback to 1 in case both values are `0`
2672
-
2673
- if (offsetWidth > 0) {
2674
- scaleX = round(rect.width) / offsetWidth || 1;
2675
- }
2676
-
2677
- if (offsetHeight > 0) {
2678
- scaleY = round(rect.height) / offsetHeight || 1;
2679
- }
2680
- }
2681
-
2682
- return {
2683
- width: rect.width / scaleX,
2684
- height: rect.height / scaleY,
2685
- top: rect.top / scaleY,
2686
- right: rect.right / scaleX,
2687
- bottom: rect.bottom / scaleY,
2688
- left: rect.left / scaleX,
2689
- x: rect.left / scaleX,
2690
- y: rect.top / scaleY
2691
- };
2692
- }
2693
-
2694
- // means it doesn't take into account transforms.
2695
-
2696
- function getLayoutRect(element) {
2697
- var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.
2698
- // Fixes https://github.com/popperjs/popper-core/issues/1223
2699
-
2700
- var width = element.offsetWidth;
2701
- var height = element.offsetHeight;
2702
-
2703
- if (Math.abs(clientRect.width - width) <= 1) {
2704
- width = clientRect.width;
2705
- }
2706
-
2707
- if (Math.abs(clientRect.height - height) <= 1) {
2708
- height = clientRect.height;
2709
- }
2710
-
2711
- return {
2712
- x: element.offsetLeft,
2713
- y: element.offsetTop,
2714
- width: width,
2715
- height: height
2716
- };
2717
- }
2718
-
2719
2628
  function contains$1(parent, child) {
2720
2629
  var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method
2721
2630
 
@@ -2836,13 +2745,13 @@ function getMainAxisFromPlacement(placement) {
2836
2745
  return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
2837
2746
  }
2838
2747
 
2748
+ var max = Math.max;
2749
+ var min = Math.min;
2750
+ var round = Math.round;
2751
+
2839
2752
  function within(min$1, value, max$1) {
2840
2753
  return max(min$1, min(value, max$1));
2841
2754
  }
2842
- function withinMaxClamp(min, value, max) {
2843
- var v = within(min, value, max);
2844
- return v > max ? max : v;
2845
- }
2846
2755
 
2847
2756
  function getFreshSideObject() {
2848
2757
  return {
@@ -2955,10 +2864,6 @@ var arrow$1 = {
2955
2864
  requiresIfExists: ['preventOverflow']
2956
2865
  };
2957
2866
 
2958
- function getVariation(placement) {
2959
- return placement.split('-')[1];
2960
- }
2961
-
2962
2867
  var unsetSides = {
2963
2868
  top: 'auto',
2964
2869
  right: 'auto',
@@ -2974,8 +2879,8 @@ function roundOffsetsByDPR(_ref) {
2974
2879
  var win = window;
2975
2880
  var dpr = win.devicePixelRatio || 1;
2976
2881
  return {
2977
- x: round(x * dpr) / dpr || 0,
2978
- y: round(y * dpr) / dpr || 0
2882
+ x: round(round(x * dpr) / dpr) || 0,
2883
+ y: round(round(y * dpr) / dpr) || 0
2979
2884
  };
2980
2885
  }
2981
2886
 
@@ -2985,28 +2890,18 @@ function mapToStyles(_ref2) {
2985
2890
  var popper = _ref2.popper,
2986
2891
  popperRect = _ref2.popperRect,
2987
2892
  placement = _ref2.placement,
2988
- variation = _ref2.variation,
2989
2893
  offsets = _ref2.offsets,
2990
2894
  position = _ref2.position,
2991
2895
  gpuAcceleration = _ref2.gpuAcceleration,
2992
2896
  adaptive = _ref2.adaptive,
2993
- roundOffsets = _ref2.roundOffsets,
2994
- isFixed = _ref2.isFixed;
2995
- var _offsets$x = offsets.x,
2996
- x = _offsets$x === void 0 ? 0 : _offsets$x,
2997
- _offsets$y = offsets.y,
2998
- y = _offsets$y === void 0 ? 0 : _offsets$y;
2999
-
3000
- var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({
3001
- x: x,
3002
- y: y
3003
- }) : {
3004
- x: x,
3005
- y: y
3006
- };
2897
+ roundOffsets = _ref2.roundOffsets;
2898
+
2899
+ var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,
2900
+ _ref3$x = _ref3.x,
2901
+ x = _ref3$x === void 0 ? 0 : _ref3$x,
2902
+ _ref3$y = _ref3.y,
2903
+ y = _ref3$y === void 0 ? 0 : _ref3$y;
3007
2904
 
3008
- x = _ref3.x;
3009
- y = _ref3.y;
3010
2905
  var hasX = offsets.hasOwnProperty('x');
3011
2906
  var hasY = offsets.hasOwnProperty('y');
3012
2907
  var sideX = left;
@@ -3021,7 +2916,7 @@ function mapToStyles(_ref2) {
3021
2916
  if (offsetParent === getWindow(popper)) {
3022
2917
  offsetParent = getDocumentElement(popper);
3023
2918
 
3024
- if (getComputedStyle$1(offsetParent).position !== 'static' && position === 'absolute') {
2919
+ if (getComputedStyle$1(offsetParent).position !== 'static') {
3025
2920
  heightProp = 'scrollHeight';
3026
2921
  widthProp = 'scrollWidth';
3027
2922
  }
@@ -3030,19 +2925,17 @@ function mapToStyles(_ref2) {
3030
2925
 
3031
2926
  offsetParent = offsetParent;
3032
2927
 
3033
- if (placement === top || (placement === left || placement === right) && variation === end) {
3034
- sideY = bottom;
3035
- var offsetY = isFixed && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
3036
- offsetParent[heightProp];
3037
- y -= offsetY - popperRect.height;
2928
+ if (placement === top) {
2929
+ sideY = bottom; // $FlowFixMe[prop-missing]
2930
+
2931
+ y -= offsetParent[heightProp] - popperRect.height;
3038
2932
  y *= gpuAcceleration ? 1 : -1;
3039
2933
  }
3040
2934
 
3041
- if (placement === left || (placement === top || placement === bottom) && variation === end) {
3042
- sideX = right;
3043
- var offsetX = isFixed && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
3044
- offsetParent[widthProp];
3045
- x -= offsetX - popperRect.width;
2935
+ if (placement === left) {
2936
+ sideX = right; // $FlowFixMe[prop-missing]
2937
+
2938
+ x -= offsetParent[widthProp] - popperRect.width;
3046
2939
  x *= gpuAcceleration ? 1 : -1;
3047
2940
  }
3048
2941
  }
@@ -3051,29 +2944,18 @@ function mapToStyles(_ref2) {
3051
2944
  position: position
3052
2945
  }, adaptive && unsetSides);
3053
2946
 
3054
- var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
3055
- x: x,
3056
- y: y
3057
- }) : {
3058
- x: x,
3059
- y: y
3060
- };
3061
-
3062
- x = _ref4.x;
3063
- y = _ref4.y;
3064
-
3065
2947
  if (gpuAcceleration) {
3066
2948
  var _Object$assign;
3067
2949
 
3068
- 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));
2950
+ 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));
3069
2951
  }
3070
2952
 
3071
2953
  return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2));
3072
2954
  }
3073
2955
 
3074
- function computeStyles(_ref5) {
3075
- var state = _ref5.state,
3076
- options = _ref5.options;
2956
+ function computeStyles(_ref4) {
2957
+ var state = _ref4.state,
2958
+ options = _ref4.options;
3077
2959
  var _options$gpuAccelerat = options.gpuAcceleration,
3078
2960
  gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,
3079
2961
  _options$adaptive = options.adaptive,
@@ -3093,11 +2975,9 @@ function computeStyles(_ref5) {
3093
2975
 
3094
2976
  var commonStyles = {
3095
2977
  placement: getBasePlacement(state.placement),
3096
- variation: getVariation(state.placement),
3097
2978
  popper: state.elements.popper,
3098
2979
  popperRect: state.rects.popper,
3099
- gpuAcceleration: gpuAcceleration,
3100
- isFixed: state.options.strategy === 'fixed'
2980
+ gpuAcceleration: gpuAcceleration
3101
2981
  };
3102
2982
 
3103
2983
  if (state.modifiersData.popperOffsets != null) {
@@ -3355,7 +3235,7 @@ function getInnerBoundingClientRect(element) {
3355
3235
  }
3356
3236
 
3357
3237
  function getClientRectFromMixedType(element, clippingParent) {
3358
- return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
3238
+ return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
3359
3239
  } // A "clipping parent" is an overflowable container with the characteristic of
3360
3240
  // clipping (or hiding) overflowing elements with a position different from
3361
3241
  // `initial`
@@ -3397,6 +3277,10 @@ function getClippingRect(element, boundary, rootBoundary) {
3397
3277
  return clippingRect;
3398
3278
  }
3399
3279
 
3280
+ function getVariation(placement) {
3281
+ return placement.split('-')[1];
3282
+ }
3283
+
3400
3284
  function computeOffsets(_ref) {
3401
3285
  var reference = _ref.reference,
3402
3286
  element = _ref.element,
@@ -3482,10 +3366,11 @@ function detectOverflow(state, options) {
3482
3366
  padding = _options$padding === void 0 ? 0 : _options$padding;
3483
3367
  var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));
3484
3368
  var altContext = elementContext === popper ? reference : popper;
3369
+ var referenceElement = state.elements.reference;
3485
3370
  var popperRect = state.rects.popper;
3486
3371
  var element = state.elements[altBoundary ? altContext : elementContext];
3487
3372
  var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);
3488
- var referenceClientRect = getBoundingClientRect(state.elements.reference);
3373
+ var referenceClientRect = getBoundingClientRect(referenceElement);
3489
3374
  var popperOffsets = computeOffsets({
3490
3375
  reference: referenceClientRect,
3491
3376
  element: popperRect,
@@ -3872,14 +3757,6 @@ function preventOverflow(_ref) {
3872
3757
  var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {
3873
3758
  placement: state.placement
3874
3759
  })) : tetherOffset;
3875
- var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {
3876
- mainAxis: tetherOffsetValue,
3877
- altAxis: tetherOffsetValue
3878
- } : Object.assign({
3879
- mainAxis: 0,
3880
- altAxis: 0
3881
- }, tetherOffsetValue);
3882
- var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
3883
3760
  var data = {
3884
3761
  x: 0,
3885
3762
  y: 0
@@ -3889,15 +3766,13 @@ function preventOverflow(_ref) {
3889
3766
  return;
3890
3767
  }
3891
3768
 
3892
- if (checkMainAxis) {
3893
- var _offsetModifierState$;
3894
-
3769
+ if (checkMainAxis || checkAltAxis) {
3895
3770
  var mainSide = mainAxis === 'y' ? top : left;
3896
3771
  var altSide = mainAxis === 'y' ? bottom : right;
3897
3772
  var len = mainAxis === 'y' ? 'height' : 'width';
3898
3773
  var offset = popperOffsets[mainAxis];
3899
- var min$1 = offset + overflow[mainSide];
3900
- var max$1 = offset - overflow[altSide];
3774
+ var min$1 = popperOffsets[mainAxis] + overflow[mainSide];
3775
+ var max$1 = popperOffsets[mainAxis] - overflow[altSide];
3901
3776
  var additive = tether ? -popperRect[len] / 2 : 0;
3902
3777
  var minLen = variation === start ? referenceRect[len] : popperRect[len];
3903
3778
  var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go
@@ -3917,45 +3792,36 @@ function preventOverflow(_ref) {
3917
3792
  // width or height)
3918
3793
 
3919
3794
  var arrowLen = within(0, referenceRect[len], arrowRect[len]);
3920
- var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
3921
- var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
3795
+ var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;
3796
+ var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;
3922
3797
  var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
3923
3798
  var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
3924
- var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
3925
- var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;
3926
- var tetherMax = offset + maxOffset - offsetModifierValue;
3927
- var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
3928
- popperOffsets[mainAxis] = preventedOffset;
3929
- data[mainAxis] = preventedOffset - offset;
3930
- }
3931
-
3932
- if (checkAltAxis) {
3933
- var _offsetModifierState$2;
3934
-
3935
- var _mainSide = mainAxis === 'x' ? top : left;
3799
+ var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;
3800
+ var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;
3801
+ var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;
3936
3802
 
3937
- var _altSide = mainAxis === 'x' ? bottom : right;
3938
-
3939
- var _offset = popperOffsets[altAxis];
3940
-
3941
- var _len = altAxis === 'y' ? 'height' : 'width';
3942
-
3943
- var _min = _offset + overflow[_mainSide];
3803
+ if (checkMainAxis) {
3804
+ var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
3805
+ popperOffsets[mainAxis] = preventedOffset;
3806
+ data[mainAxis] = preventedOffset - offset;
3807
+ }
3944
3808
 
3945
- var _max = _offset - overflow[_altSide];
3809
+ if (checkAltAxis) {
3810
+ var _mainSide = mainAxis === 'x' ? top : left;
3946
3811
 
3947
- var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
3812
+ var _altSide = mainAxis === 'x' ? bottom : right;
3948
3813
 
3949
- var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
3814
+ var _offset = popperOffsets[altAxis];
3950
3815
 
3951
- var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
3816
+ var _min = _offset + overflow[_mainSide];
3952
3817
 
3953
- var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
3818
+ var _max = _offset - overflow[_altSide];
3954
3819
 
3955
- var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
3820
+ var _preventedOffset = within(tether ? min(_min, tetherMin) : _min, _offset, tether ? max(_max, tetherMax) : _max);
3956
3821
 
3957
- popperOffsets[altAxis] = _preventedOffset;
3958
- data[altAxis] = _preventedOffset - _offset;
3822
+ popperOffsets[altAxis] = _preventedOffset;
3823
+ data[altAxis] = _preventedOffset - _offset;
3824
+ }
3959
3825
  }
3960
3826
 
3961
3827
  state.modifiersData[name] = data;
@@ -3985,24 +3851,16 @@ function getNodeScroll(node) {
3985
3851
  }
3986
3852
  }
3987
3853
 
3988
- function isElementScaled(element) {
3989
- var rect = element.getBoundingClientRect();
3990
- var scaleX = round(rect.width) / element.offsetWidth || 1;
3991
- var scaleY = round(rect.height) / element.offsetHeight || 1;
3992
- return scaleX !== 1 || scaleY !== 1;
3993
- } // Returns the composite rect of an element relative to its offsetParent.
3994
3854
  // Composite means it takes into account transforms as well as layout.
3995
3855
 
3996
-
3997
3856
  function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
3998
3857
  if (isFixed === void 0) {
3999
3858
  isFixed = false;
4000
3859
  }
4001
3860
 
4002
- var isOffsetParentAnElement = isHTMLElement(offsetParent);
4003
- var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
4004
3861
  var documentElement = getDocumentElement(offsetParent);
4005
- var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);
3862
+ var rect = getBoundingClientRect(elementOrVirtualElement);
3863
+ var isOffsetParentAnElement = isHTMLElement(offsetParent);
4006
3864
  var scroll = {
4007
3865
  scrollLeft: 0,
4008
3866
  scrollTop: 0
@@ -4019,7 +3877,7 @@ function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
4019
3877
  }
4020
3878
 
4021
3879
  if (isHTMLElement(offsetParent)) {
4022
- offsets = getBoundingClientRect(offsetParent, true);
3880
+ offsets = getBoundingClientRect(offsetParent);
4023
3881
  offsets.x += offsetParent.clientLeft;
4024
3882
  offsets.y += offsetParent.clientTop;
4025
3883
  } else if (documentElement) {
@@ -4109,10 +3967,7 @@ var MISSING_DEPENDENCY_ERROR = 'Popper: modifier "%s" requires "%s", but "%s" mo
4109
3967
  var VALID_PROPERTIES = ['name', 'enabled', 'phase', 'fn', 'effect', 'requires', 'options'];
4110
3968
  function validateModifiers(modifiers) {
4111
3969
  modifiers.forEach(function (modifier) {
4112
- [].concat(Object.keys(modifier), VALID_PROPERTIES) // IE11-compatible replacement for `new Set(iterable)`
4113
- .filter(function (value, index, self) {
4114
- return self.indexOf(value) === index;
4115
- }).forEach(function (key) {
3970
+ Object.keys(modifier).forEach(function (key) {
4116
3971
  switch (key) {
4117
3972
  case 'name':
4118
3973
  if (typeof modifier.name !== 'string') {
@@ -4126,8 +3981,6 @@ function validateModifiers(modifiers) {
4126
3981
  console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"enabled"', '"boolean"', "\"" + String(modifier.enabled) + "\""));
4127
3982
  }
4128
3983
 
4129
- break;
4130
-
4131
3984
  case 'phase':
4132
3985
  if (modifierPhases.indexOf(modifier.phase) < 0) {
4133
3986
  console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"phase"', "either " + modifierPhases.join(', '), "\"" + String(modifier.phase) + "\""));
@@ -4143,14 +3996,14 @@ function validateModifiers(modifiers) {
4143
3996
  break;
4144
3997
 
4145
3998
  case 'effect':
4146
- if (modifier.effect != null && typeof modifier.effect !== 'function') {
3999
+ if (typeof modifier.effect !== 'function') {
4147
4000
  console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"effect"', '"function"', "\"" + String(modifier.fn) + "\""));
4148
4001
  }
4149
4002
 
4150
4003
  break;
4151
4004
 
4152
4005
  case 'requires':
4153
- if (modifier.requires != null && !Array.isArray(modifier.requires)) {
4006
+ if (!Array.isArray(modifier.requires)) {
4154
4007
  console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"requires"', '"array"', "\"" + String(modifier.requires) + "\""));
4155
4008
  }
4156
4009
 
@@ -4260,8 +4113,7 @@ function popperGenerator(generatorOptions) {
4260
4113
  var isDestroyed = false;
4261
4114
  var instance = {
4262
4115
  state: state,
4263
- setOptions: function setOptions(setOptionsAction) {
4264
- var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;
4116
+ setOptions: function setOptions(options) {
4265
4117
  cleanupModifierEffects();
4266
4118
  state.options = Object.assign({}, defaultOptions, state.options, options);
4267
4119
  state.scrollParents = {
@@ -4633,16 +4485,9 @@ function usePopper(referenceElement, popperElement, _temp) {
4633
4485
  }
4634
4486
 
4635
4487
  /* eslint-disable no-bitwise, no-cond-assign */
4636
-
4637
- /**
4638
- * Checks if an element contains another given element.
4639
- *
4640
- * @param context the context element
4641
- * @param node the element to check
4642
- */
4488
+ // HTML DOM and SVG DOM may have different support levels,
4489
+ // so we need to check on context instead of a document root element.
4643
4490
  function contains(context, node) {
4644
- // HTML DOM and SVG DOM may have different support levels,
4645
- // so we need to check on context instead of a document root element.
4646
4491
  if (context.contains) return context.contains(node);
4647
4492
  if (context.compareDocumentPosition) return context === node || !!(context.compareDocumentPosition(node) & 16);
4648
4493
  }
@@ -5459,12 +5304,6 @@ function useWrappedRefWithWarning(ref, componentName) {
5459
5304
  return useMergedRefs(warningRef, ref);
5460
5305
  }
5461
5306
 
5462
- /**
5463
- * Checks if a given element has a CSS class.
5464
- *
5465
- * @param element the element
5466
- * @param className the CSS class name
5467
- */
5468
5307
  function hasClass(element, className) {
5469
5308
  if (element.classList) return !!className && element.classList.contains(className);
5470
5309
  return (" " + (element.className.baseVal || element.className) + " ").indexOf(" " + className + " ") !== -1;
@@ -6904,9 +6743,9 @@ function scrollbarSize(recalc) {
6904
6743
  }
6905
6744
 
6906
6745
  /**
6907
- * Returns the actively focused element safely.
6746
+ * Return the actively focused element safely.
6908
6747
  *
6909
- * @param doc the document to check
6748
+ * @param doc the document to checl
6910
6749
  */
6911
6750
 
6912
6751
  function activeElement(doc) {
@@ -6928,13 +6767,6 @@ function activeElement(doc) {
6928
6767
  }
6929
6768
  }
6930
6769
 
6931
- /**
6932
- * Adds a CSS class to a given element.
6933
- *
6934
- * @param element the element
6935
- * @param className the CSS class name
6936
- */
6937
-
6938
6770
  function addClass(element, className) {
6939
6771
  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);
6940
6772
  }
@@ -6942,13 +6774,6 @@ function addClass(element, className) {
6942
6774
  function replaceClassName(origClass, classToRemove) {
6943
6775
  return origClass.replace(new RegExp("(^|\\s)" + classToRemove + "(?:\\s|$)", 'g'), '$1').replace(/\s+/g, ' ').replace(/^\s*|\s*$/g, '');
6944
6776
  }
6945
- /**
6946
- * Removes a CSS class from a given element.
6947
- *
6948
- * @param element the element
6949
- * @param className the CSS class name
6950
- */
6951
-
6952
6777
 
6953
6778
  function removeClass(element, className) {
6954
6779
  if (element.classList) {