@tabler/core 1.0.0-beta11 → 1.0.0-beta12

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 (112) hide show
  1. package/README.md +33 -10
  2. package/dist/css/demo.css +251 -379
  3. package/dist/css/demo.min.css +3 -3
  4. package/dist/css/demo.rtl.css +251 -379
  5. package/dist/css/demo.rtl.min.css +3 -3
  6. package/dist/css/tabler-flags.css +266 -529
  7. package/dist/css/tabler-flags.min.css +3 -3
  8. package/dist/css/tabler-flags.rtl.css +266 -529
  9. package/dist/css/tabler-flags.rtl.min.css +3 -3
  10. package/dist/css/tabler-payments.css +127 -252
  11. package/dist/css/tabler-payments.min.css +2 -2
  12. package/dist/css/tabler-payments.rtl.css +127 -252
  13. package/dist/css/tabler-payments.rtl.min.css +2 -2
  14. package/dist/css/tabler-vendors.css +480 -679
  15. package/dist/css/tabler-vendors.min.css +3 -3
  16. package/dist/css/tabler-vendors.rtl.css +480 -679
  17. package/dist/css/tabler-vendors.rtl.min.css +3 -3
  18. package/dist/css/tabler.css +10041 -14881
  19. package/dist/css/tabler.min.css +4 -4
  20. package/dist/css/tabler.rtl.css +10041 -14880
  21. package/dist/css/tabler.rtl.min.css +4 -4
  22. package/dist/js/demo-theme.js +32 -0
  23. package/dist/js/demo-theme.min.js +9 -0
  24. package/dist/js/demo.js +2 -12
  25. package/dist/js/demo.min.js +3 -3
  26. package/dist/js/tabler.esm.js +90 -61
  27. package/dist/js/tabler.esm.min.js +9 -3
  28. package/dist/js/tabler.js +112 -61
  29. package/dist/js/tabler.min.js +9 -3
  30. package/dist/libs/apexcharts/dist/apexcharts.amd.js +1 -1
  31. package/dist/libs/apexcharts/dist/apexcharts.common.js +3 -3
  32. package/dist/libs/apexcharts/dist/apexcharts.esm.js +3 -3
  33. package/dist/libs/apexcharts/dist/apexcharts.js +27 -8
  34. package/dist/libs/apexcharts/dist/apexcharts.min.js +3 -3
  35. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.js +131 -107
  36. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.js.map +1 -1
  37. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.min.js +2 -2
  38. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.min.js.map +1 -1
  39. package/dist/libs/bootstrap/dist/js/bootstrap.esm.js +70 -57
  40. package/dist/libs/bootstrap/dist/js/bootstrap.esm.js.map +1 -1
  41. package/dist/libs/bootstrap/dist/js/bootstrap.esm.min.js +2 -2
  42. package/dist/libs/bootstrap/dist/js/bootstrap.esm.min.js.map +1 -1
  43. package/dist/libs/bootstrap/dist/js/bootstrap.js +71 -58
  44. package/dist/libs/bootstrap/dist/js/bootstrap.js.map +1 -1
  45. package/dist/libs/bootstrap/dist/js/bootstrap.min.js +2 -2
  46. package/dist/libs/bootstrap/dist/js/bootstrap.min.js.map +1 -1
  47. package/dist/libs/jsvectormap/dist/js/jsvectormap.js +1061 -1066
  48. package/dist/libs/jsvectormap/dist/js/jsvectormap.min.js +1 -1
  49. package/dist/libs/nouislider/dist/nouislider.d.ts +1 -1
  50. package/package.json +68 -22
  51. package/src/js/demo-theme.js +25 -0
  52. package/src/js/demo.js +0 -17
  53. package/src/js/src/tabler.js +17 -0
  54. package/src/js/tabler.js +2 -0
  55. package/src/scss/_core.scss +1 -0
  56. package/src/scss/_mixins-override.scss +26 -26
  57. package/src/scss/_utilities.scss +2 -2
  58. package/src/scss/_variables.scss +207 -89
  59. package/src/scss/demo/_examples.scss +2 -2
  60. package/src/scss/demo/_highlight.scss +3 -3
  61. package/src/scss/demo.scss +4 -4
  62. package/src/scss/fonts/_webfonts.scss +0 -50
  63. package/src/scss/layout/_core.scss +2 -23
  64. package/src/scss/layout/_dark.scss +8 -6
  65. package/src/scss/layout/_footer.scss +2 -2
  66. package/src/scss/layout/_navbar.scss +7 -5
  67. package/src/scss/layout/_page.scss +8 -6
  68. package/src/scss/layout/_root.scss +37 -0
  69. package/src/scss/mixins/_functions.scss +2 -2
  70. package/src/scss/mixins/_mixins.scss +3 -2
  71. package/src/scss/ui/_accordion.scss +1 -1
  72. package/src/scss/ui/_alerts.scss +1 -1
  73. package/src/scss/ui/_avatars.scss +5 -5
  74. package/src/scss/ui/_badges.scss +2 -2
  75. package/src/scss/ui/_buttons.scss +25 -17
  76. package/src/scss/ui/_calendars.scss +8 -8
  77. package/src/scss/ui/_cards.scss +28 -31
  78. package/src/scss/ui/_carousel.scss +1 -1
  79. package/src/scss/ui/_chips.scss +0 -0
  80. package/src/scss/ui/_empty.scss +3 -3
  81. package/src/scss/ui/_flags.scss +2 -2
  82. package/src/scss/ui/_forms.scss +7 -7
  83. package/src/scss/ui/_grid.scss +8 -9
  84. package/src/scss/ui/_icons.scss +64 -4
  85. package/src/scss/ui/_legend.scss +8 -4
  86. package/src/scss/ui/_lists.scss +16 -13
  87. package/src/scss/ui/_markdown.scss +2 -3
  88. package/src/scss/ui/_modals.scss +1 -1
  89. package/src/scss/ui/_nav.scss +7 -7
  90. package/src/scss/ui/_offcanvas.scss +2 -2
  91. package/src/scss/ui/_pagination.scss +10 -6
  92. package/src/scss/ui/_placeholder.scss +1 -1
  93. package/src/scss/ui/_progress.scss +45 -6
  94. package/src/scss/ui/_ribbons.scss +5 -5
  95. package/src/scss/ui/_status.scss +2 -2
  96. package/src/scss/ui/_steps.scss +2 -2
  97. package/src/scss/ui/_tables.scss +26 -5
  98. package/src/scss/ui/_toasts.scss +0 -1
  99. package/src/scss/ui/_type.scss +45 -30
  100. package/src/scss/ui/forms/_form-check.scss +26 -1
  101. package/src/scss/ui/forms/_form-colorinput.scss +2 -2
  102. package/src/scss/ui/forms/_form-icon.scss +1 -1
  103. package/src/scss/ui/forms/_form-imagecheck.scss +4 -4
  104. package/src/scss/ui/forms/_form-selectgroup.scss +7 -7
  105. package/src/scss/ui/typo/_hr.scss +2 -3
  106. package/src/scss/utils/_colors.scss +14 -5
  107. package/src/scss/vendor/_dropzone.scss +1 -1
  108. package/src/scss/vendor/_jsvectormap.scss +7 -7
  109. package/src/scss/vendor/_litepicker.scss +11 -11
  110. package/src/scss/vendor/_plyr.scss +1 -1
  111. package/src/scss/vendor/_tinymce.scss +3 -3
  112. package/src/scss/vendor/_tom-select.scss +2 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap v5.2.0 (https://getbootstrap.com/)
2
+ * Bootstrap v5.2.1 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
5
  */
@@ -11,7 +11,7 @@
11
11
 
12
12
  /**
13
13
  * --------------------------------------------------------------------------
14
- * Bootstrap (v5.2.0): util/index.js
14
+ * Bootstrap (v5.2.1): util/index.js
15
15
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
16
16
  * --------------------------------------------------------------------------
17
17
  */
@@ -326,7 +326,7 @@
326
326
 
327
327
  /**
328
328
  * --------------------------------------------------------------------------
329
- * Bootstrap (v5.2.0): dom/event-handler.js
329
+ * Bootstrap (v5.2.1): dom/event-handler.js
330
330
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
331
331
  * --------------------------------------------------------------------------
332
332
  */
@@ -595,7 +595,7 @@
595
595
 
596
596
  /**
597
597
  * --------------------------------------------------------------------------
598
- * Bootstrap (v5.2.0): dom/data.js
598
+ * Bootstrap (v5.2.1): dom/data.js
599
599
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
600
600
  * --------------------------------------------------------------------------
601
601
  */
@@ -647,7 +647,7 @@
647
647
 
648
648
  /**
649
649
  * --------------------------------------------------------------------------
650
- * Bootstrap (v5.2.0): dom/manipulator.js
650
+ * Bootstrap (v5.2.1): dom/manipulator.js
651
651
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
652
652
  * --------------------------------------------------------------------------
653
653
  */
@@ -717,7 +717,7 @@
717
717
 
718
718
  /**
719
719
  * --------------------------------------------------------------------------
720
- * Bootstrap (v5.2.0): util/config.js
720
+ * Bootstrap (v5.2.1): util/config.js
721
721
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
722
722
  * --------------------------------------------------------------------------
723
723
  */
@@ -778,7 +778,7 @@
778
778
 
779
779
  /**
780
780
  * --------------------------------------------------------------------------
781
- * Bootstrap (v5.2.0): base-component.js
781
+ * Bootstrap (v5.2.1): base-component.js
782
782
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
783
783
  * --------------------------------------------------------------------------
784
784
  */
@@ -786,7 +786,7 @@
786
786
  * Constants
787
787
  */
788
788
 
789
- const VERSION = '5.2.0';
789
+ const VERSION = '5.2.1';
790
790
  /**
791
791
  * Class definition
792
792
  */
@@ -857,7 +857,7 @@
857
857
 
858
858
  /**
859
859
  * --------------------------------------------------------------------------
860
- * Bootstrap (v5.2.0): util/component-functions.js
860
+ * Bootstrap (v5.2.1): util/component-functions.js
861
861
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
862
862
  * --------------------------------------------------------------------------
863
863
  */
@@ -883,7 +883,7 @@
883
883
 
884
884
  /**
885
885
  * --------------------------------------------------------------------------
886
- * Bootstrap (v5.2.0): alert.js
886
+ * Bootstrap (v5.2.1): alert.js
887
887
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
888
888
  * --------------------------------------------------------------------------
889
889
  */
@@ -963,7 +963,7 @@
963
963
 
964
964
  /**
965
965
  * --------------------------------------------------------------------------
966
- * Bootstrap (v5.2.0): button.js
966
+ * Bootstrap (v5.2.1): button.js
967
967
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
968
968
  * --------------------------------------------------------------------------
969
969
  */
@@ -1025,7 +1025,7 @@
1025
1025
 
1026
1026
  /**
1027
1027
  * --------------------------------------------------------------------------
1028
- * Bootstrap (v5.2.0): dom/selector-engine.js
1028
+ * Bootstrap (v5.2.1): dom/selector-engine.js
1029
1029
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1030
1030
  * --------------------------------------------------------------------------
1031
1031
  */
@@ -1096,7 +1096,7 @@
1096
1096
 
1097
1097
  /**
1098
1098
  * --------------------------------------------------------------------------
1099
- * Bootstrap (v5.2.0): util/swipe.js
1099
+ * Bootstrap (v5.2.1): util/swipe.js
1100
1100
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1101
1101
  * --------------------------------------------------------------------------
1102
1102
  */
@@ -1232,7 +1232,7 @@
1232
1232
 
1233
1233
  /**
1234
1234
  * --------------------------------------------------------------------------
1235
- * Bootstrap (v5.2.0): carousel.js
1235
+ * Bootstrap (v5.2.1): carousel.js
1236
1236
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1237
1237
  * --------------------------------------------------------------------------
1238
1238
  */
@@ -1680,7 +1680,7 @@
1680
1680
 
1681
1681
  /**
1682
1682
  * --------------------------------------------------------------------------
1683
- * Bootstrap (v5.2.0): collapse.js
1683
+ * Bootstrap (v5.2.1): collapse.js
1684
1684
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1685
1685
  * --------------------------------------------------------------------------
1686
1686
  */
@@ -2128,38 +2128,57 @@
2128
2128
  var min = Math.min;
2129
2129
  var round = Math.round;
2130
2130
 
2131
- function getBoundingClientRect(element, includeScale) {
2131
+ function getUAString() {
2132
+ var uaData = navigator.userAgentData;
2133
+
2134
+ if (uaData != null && uaData.brands) {
2135
+ return uaData.brands.map(function (item) {
2136
+ return item.brand + "/" + item.version;
2137
+ }).join(' ');
2138
+ }
2139
+
2140
+ return navigator.userAgent;
2141
+ }
2142
+
2143
+ function isLayoutViewport() {
2144
+ return !/^((?!chrome|android).)*safari/i.test(getUAString());
2145
+ }
2146
+
2147
+ function getBoundingClientRect(element, includeScale, isFixedStrategy) {
2132
2148
  if (includeScale === void 0) {
2133
2149
  includeScale = false;
2134
2150
  }
2135
2151
 
2136
- var rect = element.getBoundingClientRect();
2152
+ if (isFixedStrategy === void 0) {
2153
+ isFixedStrategy = false;
2154
+ }
2155
+
2156
+ var clientRect = element.getBoundingClientRect();
2137
2157
  var scaleX = 1;
2138
2158
  var scaleY = 1;
2139
2159
 
2140
- if (isHTMLElement(element) && includeScale) {
2141
- var offsetHeight = element.offsetHeight;
2142
- var offsetWidth = element.offsetWidth; // Do not attempt to divide by 0, otherwise we get `Infinity` as scale
2143
- // Fallback to 1 in case both values are `0`
2144
-
2145
- if (offsetWidth > 0) {
2146
- scaleX = round(rect.width) / offsetWidth || 1;
2147
- }
2148
-
2149
- if (offsetHeight > 0) {
2150
- scaleY = round(rect.height) / offsetHeight || 1;
2151
- }
2160
+ if (includeScale && isHTMLElement(element)) {
2161
+ scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;
2162
+ scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;
2152
2163
  }
2153
2164
 
2165
+ var _ref = isElement(element) ? getWindow(element) : window,
2166
+ visualViewport = _ref.visualViewport;
2167
+
2168
+ var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
2169
+ var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
2170
+ var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;
2171
+ var width = clientRect.width / scaleX;
2172
+ var height = clientRect.height / scaleY;
2154
2173
  return {
2155
- width: rect.width / scaleX,
2156
- height: rect.height / scaleY,
2157
- top: rect.top / scaleY,
2158
- right: rect.right / scaleX,
2159
- bottom: rect.bottom / scaleY,
2160
- left: rect.left / scaleX,
2161
- x: rect.left / scaleX,
2162
- y: rect.top / scaleY
2174
+ width: width,
2175
+ height: height,
2176
+ top: y,
2177
+ right: x + width,
2178
+ bottom: y + height,
2179
+ left: x,
2180
+ x: x,
2181
+ y: y
2163
2182
  };
2164
2183
  }
2165
2184
 
@@ -2254,8 +2273,8 @@
2254
2273
 
2255
2274
 
2256
2275
  function getContainingBlock(element) {
2257
- var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;
2258
- var isIE = navigator.userAgent.indexOf('Trident') !== -1;
2276
+ var isFirefox = /firefox/i.test(getUAString());
2277
+ var isIE = /Trident/i.test(getUAString());
2259
2278
 
2260
2279
  if (isIE && isHTMLElement(element)) {
2261
2280
  // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport
@@ -2676,31 +2695,21 @@
2676
2695
  return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
2677
2696
  }
2678
2697
 
2679
- function getViewportRect(element) {
2698
+ function getViewportRect(element, strategy) {
2680
2699
  var win = getWindow(element);
2681
2700
  var html = getDocumentElement(element);
2682
2701
  var visualViewport = win.visualViewport;
2683
2702
  var width = html.clientWidth;
2684
2703
  var height = html.clientHeight;
2685
2704
  var x = 0;
2686
- var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper
2687
- // can be obscured underneath it.
2688
- // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even
2689
- // if it isn't open, so if this isn't available, the popper will be detected
2690
- // to overflow the bottom of the screen too early.
2705
+ var y = 0;
2691
2706
 
2692
2707
  if (visualViewport) {
2693
2708
  width = visualViewport.width;
2694
- height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)
2695
- // In Chrome, it returns a value very close to 0 (+/-) but contains rounding
2696
- // errors due to floating point numbers, so we need to check precision.
2697
- // Safari returns a number <= 0, usually < -1 when pinch-zoomed
2698
- // Feature detection fails in mobile emulation mode in Chrome.
2699
- // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <
2700
- // 0.001
2701
- // Fallback here: "Not Safari" userAgent
2702
-
2703
- if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {
2709
+ height = visualViewport.height;
2710
+ var layoutViewport = isLayoutViewport();
2711
+
2712
+ if (layoutViewport || !layoutViewport && strategy === 'fixed') {
2704
2713
  x = visualViewport.offsetLeft;
2705
2714
  y = visualViewport.offsetTop;
2706
2715
  }
@@ -2794,8 +2803,8 @@
2794
2803
  });
2795
2804
  }
2796
2805
 
2797
- function getInnerBoundingClientRect(element) {
2798
- var rect = getBoundingClientRect(element);
2806
+ function getInnerBoundingClientRect(element, strategy) {
2807
+ var rect = getBoundingClientRect(element, false, strategy === 'fixed');
2799
2808
  rect.top = rect.top + element.clientTop;
2800
2809
  rect.left = rect.left + element.clientLeft;
2801
2810
  rect.bottom = rect.top + element.clientHeight;
@@ -2807,8 +2816,8 @@
2807
2816
  return rect;
2808
2817
  }
2809
2818
 
2810
- function getClientRectFromMixedType(element, clippingParent) {
2811
- return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
2819
+ function getClientRectFromMixedType(element, clippingParent, strategy) {
2820
+ return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
2812
2821
  } // A "clipping parent" is an overflowable container with the characteristic of
2813
2822
  // clipping (or hiding) overflowing elements with a position different from
2814
2823
  // `initial`
@@ -2831,18 +2840,18 @@
2831
2840
  // clipping parents
2832
2841
 
2833
2842
 
2834
- function getClippingRect(element, boundary, rootBoundary) {
2843
+ function getClippingRect(element, boundary, rootBoundary, strategy) {
2835
2844
  var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);
2836
2845
  var clippingParents = [].concat(mainClippingParents, [rootBoundary]);
2837
2846
  var firstClippingParent = clippingParents[0];
2838
2847
  var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {
2839
- var rect = getClientRectFromMixedType(element, clippingParent);
2848
+ var rect = getClientRectFromMixedType(element, clippingParent, strategy);
2840
2849
  accRect.top = max(rect.top, accRect.top);
2841
2850
  accRect.right = min(rect.right, accRect.right);
2842
2851
  accRect.bottom = min(rect.bottom, accRect.bottom);
2843
2852
  accRect.left = max(rect.left, accRect.left);
2844
2853
  return accRect;
2845
- }, getClientRectFromMixedType(element, firstClippingParent));
2854
+ }, getClientRectFromMixedType(element, firstClippingParent, strategy));
2846
2855
  clippingRect.width = clippingRect.right - clippingRect.left;
2847
2856
  clippingRect.height = clippingRect.bottom - clippingRect.top;
2848
2857
  clippingRect.x = clippingRect.left;
@@ -2923,6 +2932,8 @@
2923
2932
  var _options = options,
2924
2933
  _options$placement = _options.placement,
2925
2934
  placement = _options$placement === void 0 ? state.placement : _options$placement,
2935
+ _options$strategy = _options.strategy,
2936
+ strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,
2926
2937
  _options$boundary = _options.boundary,
2927
2938
  boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,
2928
2939
  _options$rootBoundary = _options.rootBoundary,
@@ -2937,7 +2948,7 @@
2937
2948
  var altContext = elementContext === popper ? reference : popper;
2938
2949
  var popperRect = state.rects.popper;
2939
2950
  var element = state.elements[altBoundary ? altContext : elementContext];
2940
- var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);
2951
+ var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);
2941
2952
  var referenceClientRect = getBoundingClientRect(state.elements.reference);
2942
2953
  var popperOffsets = computeOffsets({
2943
2954
  reference: referenceClientRect,
@@ -3451,7 +3462,7 @@
3451
3462
  var isOffsetParentAnElement = isHTMLElement(offsetParent);
3452
3463
  var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
3453
3464
  var documentElement = getDocumentElement(offsetParent);
3454
- var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);
3465
+ var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);
3455
3466
  var scroll = {
3456
3467
  scrollLeft: 0,
3457
3468
  scrollTop: 0
@@ -3805,7 +3816,7 @@
3805
3816
 
3806
3817
  /**
3807
3818
  * --------------------------------------------------------------------------
3808
- * Bootstrap (v5.2.0): dropdown.js
3819
+ * Bootstrap (v5.2.1): dropdown.js
3809
3820
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
3810
3821
  * --------------------------------------------------------------------------
3811
3822
  */
@@ -3875,8 +3886,9 @@
3875
3886
  super(element, config);
3876
3887
  this._popper = null;
3877
3888
  this._parent = this._element.parentNode; // dropdown wrapper
3889
+ // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
3878
3890
 
3879
- this._menu = SelectorEngine.findOne(SELECTOR_MENU, this._parent);
3891
+ this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0];
3880
3892
  this._inNavbar = this._detectNavbar();
3881
3893
  } // Getters
3882
3894
 
@@ -4192,8 +4204,9 @@
4192
4204
  return;
4193
4205
  }
4194
4206
 
4195
- event.preventDefault();
4196
- const getToggleButton = SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);
4207
+ event.preventDefault(); // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
4208
+
4209
+ const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0];
4197
4210
  const instance = Dropdown.getOrCreateInstance(getToggleButton);
4198
4211
 
4199
4212
  if (isUpOrDownEvent) {
@@ -4235,7 +4248,7 @@
4235
4248
 
4236
4249
  /**
4237
4250
  * --------------------------------------------------------------------------
4238
- * Bootstrap (v5.2.0): util/scrollBar.js
4251
+ * Bootstrap (v5.2.1): util/scrollBar.js
4239
4252
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4240
4253
  * --------------------------------------------------------------------------
4241
4254
  */
@@ -4354,7 +4367,7 @@
4354
4367
 
4355
4368
  /**
4356
4369
  * --------------------------------------------------------------------------
4357
- * Bootstrap (v5.2.0): util/backdrop.js
4370
+ * Bootstrap (v5.2.1): util/backdrop.js
4358
4371
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4359
4372
  * --------------------------------------------------------------------------
4360
4373
  */
@@ -4500,7 +4513,7 @@
4500
4513
 
4501
4514
  /**
4502
4515
  * --------------------------------------------------------------------------
4503
- * Bootstrap (v5.2.0): util/focustrap.js
4516
+ * Bootstrap (v5.2.1): util/focustrap.js
4504
4517
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4505
4518
  * --------------------------------------------------------------------------
4506
4519
  */
@@ -4609,7 +4622,7 @@
4609
4622
 
4610
4623
  /**
4611
4624
  * --------------------------------------------------------------------------
4612
- * Bootstrap (v5.2.0): modal.js
4625
+ * Bootstrap (v5.2.1): modal.js
4613
4626
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4614
4627
  * --------------------------------------------------------------------------
4615
4628
  */
@@ -4628,6 +4641,7 @@
4628
4641
  const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
4629
4642
  const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
4630
4643
  const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
4644
+ const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;
4631
4645
  const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;
4632
4646
  const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;
4633
4647
  const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
@@ -4820,20 +4834,22 @@
4820
4834
  }
4821
4835
  });
4822
4836
  EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
4823
- if (event.target !== event.currentTarget) {
4824
- // click is inside modal-dialog
4825
- return;
4826
- }
4837
+ EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {
4838
+ // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks
4839
+ if (this._dialog.contains(event.target) || this._dialog.contains(event2.target)) {
4840
+ return;
4841
+ }
4827
4842
 
4828
- if (this._config.backdrop === 'static') {
4829
- this._triggerBackdropTransition();
4843
+ if (this._config.backdrop === 'static') {
4844
+ this._triggerBackdropTransition();
4830
4845
 
4831
- return;
4832
- }
4846
+ return;
4847
+ }
4833
4848
 
4834
- if (this._config.backdrop) {
4835
- this.hide();
4836
- }
4849
+ if (this._config.backdrop) {
4850
+ this.hide();
4851
+ }
4852
+ });
4837
4853
  });
4838
4854
  }
4839
4855
 
@@ -4982,7 +4998,7 @@
4982
4998
 
4983
4999
  /**
4984
5000
  * --------------------------------------------------------------------------
4985
- * Bootstrap (v5.2.0): offcanvas.js
5001
+ * Bootstrap (v5.2.1): offcanvas.js
4986
5002
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4987
5003
  * --------------------------------------------------------------------------
4988
5004
  */
@@ -5256,7 +5272,7 @@
5256
5272
 
5257
5273
  /**
5258
5274
  * --------------------------------------------------------------------------
5259
- * Bootstrap (v5.2.0): util/sanitizer.js
5275
+ * Bootstrap (v5.2.1): util/sanitizer.js
5260
5276
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5261
5277
  * --------------------------------------------------------------------------
5262
5278
  */
@@ -5361,7 +5377,7 @@
5361
5377
 
5362
5378
  /**
5363
5379
  * --------------------------------------------------------------------------
5364
- * Bootstrap (v5.2.0): util/template-factory.js
5380
+ * Bootstrap (v5.2.1): util/template-factory.js
5365
5381
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5366
5382
  * --------------------------------------------------------------------------
5367
5383
  */
@@ -5519,7 +5535,7 @@
5519
5535
 
5520
5536
  /**
5521
5537
  * --------------------------------------------------------------------------
5522
- * Bootstrap (v5.2.0): tooltip.js
5538
+ * Bootstrap (v5.2.1): tooltip.js
5523
5539
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5524
5540
  * --------------------------------------------------------------------------
5525
5541
  */
@@ -5608,7 +5624,7 @@
5608
5624
 
5609
5625
  this._isEnabled = true;
5610
5626
  this._timeout = 0;
5611
- this._isHovered = false;
5627
+ this._isHovered = null;
5612
5628
  this._activeTrigger = {};
5613
5629
  this._popper = null;
5614
5630
  this._templateFactory = null;
@@ -5681,6 +5697,10 @@
5681
5697
  this.tip.remove();
5682
5698
  }
5683
5699
 
5700
+ if (this._config.originalTitle) {
5701
+ this._element.setAttribute('title', this._config.originalTitle);
5702
+ }
5703
+
5684
5704
  this._disposePopper();
5685
5705
 
5686
5706
  super.dispose();
@@ -5741,13 +5761,13 @@
5741
5761
  }
5742
5762
 
5743
5763
  const complete = () => {
5744
- const previousHoverState = this._isHovered;
5745
- this._isHovered = false;
5746
5764
  EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2));
5747
5765
 
5748
- if (previousHoverState) {
5766
+ if (this._isHovered === false) {
5749
5767
  this._leave();
5750
5768
  }
5769
+
5770
+ this._isHovered = false;
5751
5771
  };
5752
5772
 
5753
5773
  this._queueCallback(complete, this.tip, this._isAnimated());
@@ -5778,7 +5798,7 @@
5778
5798
  this._activeTrigger[TRIGGER_CLICK] = false;
5779
5799
  this._activeTrigger[TRIGGER_FOCUS] = false;
5780
5800
  this._activeTrigger[TRIGGER_HOVER] = false;
5781
- this._isHovered = false;
5801
+ this._isHovered = null; // it is a trick to support manual triggering
5782
5802
 
5783
5803
  const complete = () => {
5784
5804
  if (this._isWithActiveTrigger()) {
@@ -6141,7 +6161,7 @@
6141
6161
 
6142
6162
  /**
6143
6163
  * --------------------------------------------------------------------------
6144
- * Bootstrap (v5.2.0): popover.js
6164
+ * Bootstrap (v5.2.1): popover.js
6145
6165
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6146
6166
  * --------------------------------------------------------------------------
6147
6167
  */
@@ -6224,7 +6244,7 @@
6224
6244
 
6225
6245
  /**
6226
6246
  * --------------------------------------------------------------------------
6227
- * Bootstrap (v5.2.0): scrollspy.js
6247
+ * Bootstrap (v5.2.1): scrollspy.js
6228
6248
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6229
6249
  * --------------------------------------------------------------------------
6230
6250
  */
@@ -6255,14 +6275,16 @@
6255
6275
  // TODO: v6 @deprecated, keep it for backwards compatibility reasons
6256
6276
  rootMargin: '0px 0px -25%',
6257
6277
  smoothScroll: false,
6258
- target: null
6278
+ target: null,
6279
+ threshold: [0.1, 0.5, 1]
6259
6280
  };
6260
6281
  const DefaultType$1 = {
6261
6282
  offset: '(number|null)',
6262
6283
  // TODO v6 @deprecated, keep it for backwards compatibility reasons
6263
6284
  rootMargin: 'string',
6264
6285
  smoothScroll: 'boolean',
6265
- target: 'element'
6286
+ target: 'element',
6287
+ threshold: 'array'
6266
6288
  };
6267
6289
  /**
6268
6290
  * Class definition
@@ -6323,7 +6345,14 @@
6323
6345
 
6324
6346
  _configAfterMerge(config) {
6325
6347
  // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case
6326
- config.target = getElement(config.target) || document.body;
6348
+ config.target = getElement(config.target) || document.body; // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only
6349
+
6350
+ config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;
6351
+
6352
+ if (typeof config.threshold === 'string') {
6353
+ config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));
6354
+ }
6355
+
6327
6356
  return config;
6328
6357
  }
6329
6358
 
@@ -6359,8 +6388,8 @@
6359
6388
  _getNewObserver() {
6360
6389
  const options = {
6361
6390
  root: this._rootElement,
6362
- threshold: [0.1, 0.5, 1],
6363
- rootMargin: this._getRootMargin()
6391
+ threshold: this._config.threshold,
6392
+ rootMargin: this._config.rootMargin
6364
6393
  };
6365
6394
  return new IntersectionObserver(entries => this._observerCallback(entries), options);
6366
6395
  } // The logic of selection
@@ -6405,11 +6434,6 @@
6405
6434
  activate(entry);
6406
6435
  }
6407
6436
  }
6408
- } // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only
6409
-
6410
-
6411
- _getRootMargin() {
6412
- return this._config.offset ? `${this._config.offset}px 0px -30%` : this._config.rootMargin;
6413
6437
  }
6414
6438
 
6415
6439
  _initializeTargetsAndObservables() {
@@ -6511,7 +6535,7 @@
6511
6535
 
6512
6536
  /**
6513
6537
  * --------------------------------------------------------------------------
6514
- * Bootstrap (v5.2.0): tab.js
6538
+ * Bootstrap (v5.2.1): tab.js
6515
6539
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6516
6540
  * --------------------------------------------------------------------------
6517
6541
  */
@@ -6824,7 +6848,7 @@
6824
6848
 
6825
6849
  /**
6826
6850
  * --------------------------------------------------------------------------
6827
- * Bootstrap (v5.2.0): toast.js
6851
+ * Bootstrap (v5.2.1): toast.js
6828
6852
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6829
6853
  * --------------------------------------------------------------------------
6830
6854
  */
@@ -7041,7 +7065,7 @@
7041
7065
 
7042
7066
  /**
7043
7067
  * --------------------------------------------------------------------------
7044
- * Bootstrap (v5.2.0): index.umd.js
7068
+ * Bootstrap (v5.2.1): index.umd.js
7045
7069
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
7046
7070
  * --------------------------------------------------------------------------
7047
7071
  */