bootstrap 5.2.1 → 5.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +55 -0
  3. data/README.md +2 -2
  4. data/assets/javascripts/bootstrap/alert.js +2 -2
  5. data/assets/javascripts/bootstrap/base-component.js +3 -3
  6. data/assets/javascripts/bootstrap/button.js +2 -2
  7. data/assets/javascripts/bootstrap/carousel.js +2 -2
  8. data/assets/javascripts/bootstrap/collapse.js +2 -2
  9. data/assets/javascripts/bootstrap/dom/data.js +2 -2
  10. data/assets/javascripts/bootstrap/dom/event-handler.js +2 -2
  11. data/assets/javascripts/bootstrap/dom/manipulator.js +2 -2
  12. data/assets/javascripts/bootstrap/dom/selector-engine.js +2 -2
  13. data/assets/javascripts/bootstrap/dropdown.js +4 -4
  14. data/assets/javascripts/bootstrap/modal.js +4 -4
  15. data/assets/javascripts/bootstrap/offcanvas.js +2 -2
  16. data/assets/javascripts/bootstrap/popover.js +2 -2
  17. data/assets/javascripts/bootstrap/scrollspy.js +2 -2
  18. data/assets/javascripts/bootstrap/tab.js +5 -5
  19. data/assets/javascripts/bootstrap/toast.js +10 -6
  20. data/assets/javascripts/bootstrap/tooltip.js +32 -51
  21. data/assets/javascripts/bootstrap/util/backdrop.js +2 -2
  22. data/assets/javascripts/bootstrap/util/component-functions.js +2 -2
  23. data/assets/javascripts/bootstrap/util/config.js +2 -2
  24. data/assets/javascripts/bootstrap/util/focustrap.js +2 -2
  25. data/assets/javascripts/bootstrap/util/index.js +2 -2
  26. data/assets/javascripts/bootstrap/util/sanitizer.js +2 -2
  27. data/assets/javascripts/bootstrap/util/scrollbar.js +2 -2
  28. data/assets/javascripts/bootstrap/util/swipe.js +2 -2
  29. data/assets/javascripts/bootstrap/util/template-factory.js +2 -2
  30. data/assets/javascripts/bootstrap.js +74 -89
  31. data/assets/javascripts/bootstrap.min.js +2 -2
  32. data/assets/stylesheets/bootstrap/_buttons.scss +8 -2
  33. data/assets/stylesheets/bootstrap/_carousel.scss +0 -3
  34. data/assets/stylesheets/bootstrap/_functions.scss +1 -1
  35. data/assets/stylesheets/bootstrap/_toasts.scss +2 -0
  36. data/assets/stylesheets/bootstrap/_variables.scss +1 -1
  37. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +3 -0
  38. data/assets/stylesheets/bootstrap/mixins/_banner.scss +1 -1
  39. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +2 -2
  40. data/lib/bootstrap/version.rb +2 -2
  41. data/tasks/updater/network.rb +2 -2
  42. data/tasks/updater.rb +2 -2
  43. data/test/gemfiles/rails_5_2.gemfile +8 -0
  44. data/test/gemfiles/rails_7_0.gemfile +7 -0
  45. data/test/test_helper.rb +3 -2
  46. metadata +7 -3
  47. data/.travis.yml +0 -32
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap component-functions.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap component-functions.js v5.2.3 (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
  */
@@ -15,7 +15,7 @@
15
15
 
16
16
  /**
17
17
  * --------------------------------------------------------------------------
18
- * Bootstrap (v5.2.1): util/component-functions.js
18
+ * Bootstrap (v5.2.3): util/component-functions.js
19
19
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
20
20
  * --------------------------------------------------------------------------
21
21
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap config.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap config.js v5.2.3 (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
  */
@@ -15,7 +15,7 @@
15
15
 
16
16
  /**
17
17
  * --------------------------------------------------------------------------
18
- * Bootstrap (v5.2.1): util/config.js
18
+ * Bootstrap (v5.2.3): util/config.js
19
19
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
20
20
  * --------------------------------------------------------------------------
21
21
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap focustrap.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap focustrap.js v5.2.3 (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
  */
@@ -17,7 +17,7 @@
17
17
 
18
18
  /**
19
19
  * --------------------------------------------------------------------------
20
- * Bootstrap (v5.2.1): util/focustrap.js
20
+ * Bootstrap (v5.2.3): util/focustrap.js
21
21
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
22
22
  * --------------------------------------------------------------------------
23
23
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap index.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap index.js v5.2.3 (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.1): util/index.js
14
+ * Bootstrap (v5.2.3): util/index.js
15
15
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
16
16
  * --------------------------------------------------------------------------
17
17
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap sanitizer.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap sanitizer.js v5.2.3 (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.1): util/sanitizer.js
14
+ * Bootstrap (v5.2.3): util/sanitizer.js
15
15
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
16
16
  * --------------------------------------------------------------------------
17
17
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap scrollbar.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap scrollbar.js v5.2.3 (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
  */
@@ -16,7 +16,7 @@
16
16
 
17
17
  /**
18
18
  * --------------------------------------------------------------------------
19
- * Bootstrap (v5.2.1): util/scrollBar.js
19
+ * Bootstrap (v5.2.3): util/scrollBar.js
20
20
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
21
21
  * --------------------------------------------------------------------------
22
22
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap swipe.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap swipe.js v5.2.3 (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
  */
@@ -16,7 +16,7 @@
16
16
 
17
17
  /**
18
18
  * --------------------------------------------------------------------------
19
- * Bootstrap (v5.2.1): util/swipe.js
19
+ * Bootstrap (v5.2.3): util/swipe.js
20
20
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
21
21
  * --------------------------------------------------------------------------
22
22
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap template-factory.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap template-factory.js v5.2.3 (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
  */
@@ -16,7 +16,7 @@
16
16
 
17
17
  /**
18
18
  * --------------------------------------------------------------------------
19
- * Bootstrap (v5.2.1): util/template-factory.js
19
+ * Bootstrap (v5.2.3): util/template-factory.js
20
20
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
21
21
  * --------------------------------------------------------------------------
22
22
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap v5.2.3 (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
  */
@@ -31,7 +31,7 @@
31
31
 
32
32
  /**
33
33
  * --------------------------------------------------------------------------
34
- * Bootstrap (v5.2.1): util/index.js
34
+ * Bootstrap (v5.2.3): util/index.js
35
35
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
36
36
  * --------------------------------------------------------------------------
37
37
  */
@@ -346,7 +346,7 @@
346
346
 
347
347
  /**
348
348
  * --------------------------------------------------------------------------
349
- * Bootstrap (v5.2.1): dom/event-handler.js
349
+ * Bootstrap (v5.2.3): dom/event-handler.js
350
350
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
351
351
  * --------------------------------------------------------------------------
352
352
  */
@@ -615,7 +615,7 @@
615
615
 
616
616
  /**
617
617
  * --------------------------------------------------------------------------
618
- * Bootstrap (v5.2.1): dom/data.js
618
+ * Bootstrap (v5.2.3): dom/data.js
619
619
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
620
620
  * --------------------------------------------------------------------------
621
621
  */
@@ -667,7 +667,7 @@
667
667
 
668
668
  /**
669
669
  * --------------------------------------------------------------------------
670
- * Bootstrap (v5.2.1): dom/manipulator.js
670
+ * Bootstrap (v5.2.3): dom/manipulator.js
671
671
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
672
672
  * --------------------------------------------------------------------------
673
673
  */
@@ -737,7 +737,7 @@
737
737
 
738
738
  /**
739
739
  * --------------------------------------------------------------------------
740
- * Bootstrap (v5.2.1): util/config.js
740
+ * Bootstrap (v5.2.3): util/config.js
741
741
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
742
742
  * --------------------------------------------------------------------------
743
743
  */
@@ -798,7 +798,7 @@
798
798
 
799
799
  /**
800
800
  * --------------------------------------------------------------------------
801
- * Bootstrap (v5.2.1): base-component.js
801
+ * Bootstrap (v5.2.3): base-component.js
802
802
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
803
803
  * --------------------------------------------------------------------------
804
804
  */
@@ -806,7 +806,7 @@
806
806
  * Constants
807
807
  */
808
808
 
809
- const VERSION = '5.2.1';
809
+ const VERSION = '5.2.3';
810
810
  /**
811
811
  * Class definition
812
812
  */
@@ -877,7 +877,7 @@
877
877
 
878
878
  /**
879
879
  * --------------------------------------------------------------------------
880
- * Bootstrap (v5.2.1): util/component-functions.js
880
+ * Bootstrap (v5.2.3): util/component-functions.js
881
881
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
882
882
  * --------------------------------------------------------------------------
883
883
  */
@@ -903,7 +903,7 @@
903
903
 
904
904
  /**
905
905
  * --------------------------------------------------------------------------
906
- * Bootstrap (v5.2.1): alert.js
906
+ * Bootstrap (v5.2.3): alert.js
907
907
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
908
908
  * --------------------------------------------------------------------------
909
909
  */
@@ -983,7 +983,7 @@
983
983
 
984
984
  /**
985
985
  * --------------------------------------------------------------------------
986
- * Bootstrap (v5.2.1): button.js
986
+ * Bootstrap (v5.2.3): button.js
987
987
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
988
988
  * --------------------------------------------------------------------------
989
989
  */
@@ -1045,7 +1045,7 @@
1045
1045
 
1046
1046
  /**
1047
1047
  * --------------------------------------------------------------------------
1048
- * Bootstrap (v5.2.1): dom/selector-engine.js
1048
+ * Bootstrap (v5.2.3): dom/selector-engine.js
1049
1049
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1050
1050
  * --------------------------------------------------------------------------
1051
1051
  */
@@ -1116,7 +1116,7 @@
1116
1116
 
1117
1117
  /**
1118
1118
  * --------------------------------------------------------------------------
1119
- * Bootstrap (v5.2.1): util/swipe.js
1119
+ * Bootstrap (v5.2.3): util/swipe.js
1120
1120
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1121
1121
  * --------------------------------------------------------------------------
1122
1122
  */
@@ -1252,7 +1252,7 @@
1252
1252
 
1253
1253
  /**
1254
1254
  * --------------------------------------------------------------------------
1255
- * Bootstrap (v5.2.1): carousel.js
1255
+ * Bootstrap (v5.2.3): carousel.js
1256
1256
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1257
1257
  * --------------------------------------------------------------------------
1258
1258
  */
@@ -1700,7 +1700,7 @@
1700
1700
 
1701
1701
  /**
1702
1702
  * --------------------------------------------------------------------------
1703
- * Bootstrap (v5.2.1): collapse.js
1703
+ * Bootstrap (v5.2.3): collapse.js
1704
1704
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1705
1705
  * --------------------------------------------------------------------------
1706
1706
  */
@@ -1990,7 +1990,7 @@
1990
1990
 
1991
1991
  /**
1992
1992
  * --------------------------------------------------------------------------
1993
- * Bootstrap (v5.2.1): dropdown.js
1993
+ * Bootstrap (v5.2.3): dropdown.js
1994
1994
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1995
1995
  * --------------------------------------------------------------------------
1996
1996
  */
@@ -2062,7 +2062,7 @@
2062
2062
  this._parent = this._element.parentNode; // dropdown wrapper
2063
2063
  // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
2064
2064
 
2065
- this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0];
2065
+ this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
2066
2066
  this._inNavbar = this._detectNavbar();
2067
2067
  } // Getters
2068
2068
 
@@ -2380,7 +2380,7 @@
2380
2380
 
2381
2381
  event.preventDefault(); // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
2382
2382
 
2383
- 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];
2383
+ 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] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);
2384
2384
  const instance = Dropdown.getOrCreateInstance(getToggleButton);
2385
2385
 
2386
2386
  if (isUpOrDownEvent) {
@@ -2422,7 +2422,7 @@
2422
2422
 
2423
2423
  /**
2424
2424
  * --------------------------------------------------------------------------
2425
- * Bootstrap (v5.2.1): util/scrollBar.js
2425
+ * Bootstrap (v5.2.3): util/scrollBar.js
2426
2426
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
2427
2427
  * --------------------------------------------------------------------------
2428
2428
  */
@@ -2541,7 +2541,7 @@
2541
2541
 
2542
2542
  /**
2543
2543
  * --------------------------------------------------------------------------
2544
- * Bootstrap (v5.2.1): util/backdrop.js
2544
+ * Bootstrap (v5.2.3): util/backdrop.js
2545
2545
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
2546
2546
  * --------------------------------------------------------------------------
2547
2547
  */
@@ -2687,7 +2687,7 @@
2687
2687
 
2688
2688
  /**
2689
2689
  * --------------------------------------------------------------------------
2690
- * Bootstrap (v5.2.1): util/focustrap.js
2690
+ * Bootstrap (v5.2.3): util/focustrap.js
2691
2691
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
2692
2692
  * --------------------------------------------------------------------------
2693
2693
  */
@@ -2796,7 +2796,7 @@
2796
2796
 
2797
2797
  /**
2798
2798
  * --------------------------------------------------------------------------
2799
- * Bootstrap (v5.2.1): modal.js
2799
+ * Bootstrap (v5.2.3): modal.js
2800
2800
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
2801
2801
  * --------------------------------------------------------------------------
2802
2802
  */
@@ -3008,9 +3008,9 @@
3008
3008
  }
3009
3009
  });
3010
3010
  EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
3011
+ // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks
3011
3012
  EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {
3012
- // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks
3013
- if (this._dialog.contains(event.target) || this._dialog.contains(event2.target)) {
3013
+ if (this._element !== event.target || this._element !== event2.target) {
3014
3014
  return;
3015
3015
  }
3016
3016
 
@@ -3172,7 +3172,7 @@
3172
3172
 
3173
3173
  /**
3174
3174
  * --------------------------------------------------------------------------
3175
- * Bootstrap (v5.2.1): offcanvas.js
3175
+ * Bootstrap (v5.2.3): offcanvas.js
3176
3176
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
3177
3177
  * --------------------------------------------------------------------------
3178
3178
  */
@@ -3446,7 +3446,7 @@
3446
3446
 
3447
3447
  /**
3448
3448
  * --------------------------------------------------------------------------
3449
- * Bootstrap (v5.2.1): util/sanitizer.js
3449
+ * Bootstrap (v5.2.3): util/sanitizer.js
3450
3450
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
3451
3451
  * --------------------------------------------------------------------------
3452
3452
  */
@@ -3551,7 +3551,7 @@
3551
3551
 
3552
3552
  /**
3553
3553
  * --------------------------------------------------------------------------
3554
- * Bootstrap (v5.2.1): util/template-factory.js
3554
+ * Bootstrap (v5.2.3): util/template-factory.js
3555
3555
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
3556
3556
  * --------------------------------------------------------------------------
3557
3557
  */
@@ -3709,7 +3709,7 @@
3709
3709
 
3710
3710
  /**
3711
3711
  * --------------------------------------------------------------------------
3712
- * Bootstrap (v5.2.1): tooltip.js
3712
+ * Bootstrap (v5.2.3): tooltip.js
3713
3713
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
3714
3714
  * --------------------------------------------------------------------------
3715
3715
  */
@@ -3807,6 +3807,10 @@
3807
3807
  this.tip = null;
3808
3808
 
3809
3809
  this._setListeners();
3810
+
3811
+ if (!this._config.selector) {
3812
+ this._fixTitle();
3813
+ }
3810
3814
  } // Getters
3811
3815
 
3812
3816
 
@@ -3835,24 +3839,12 @@
3835
3839
  this._isEnabled = !this._isEnabled;
3836
3840
  }
3837
3841
 
3838
- toggle(event) {
3842
+ toggle() {
3839
3843
  if (!this._isEnabled) {
3840
3844
  return;
3841
3845
  }
3842
3846
 
3843
- if (event) {
3844
- const context = this._initializeOnDelegatedTarget(event);
3845
-
3846
- context._activeTrigger.click = !context._activeTrigger.click;
3847
-
3848
- if (context._isWithActiveTrigger()) {
3849
- context._enter();
3850
- } else {
3851
- context._leave();
3852
- }
3853
-
3854
- return;
3855
- }
3847
+ this._activeTrigger.click = !this._activeTrigger.click;
3856
3848
 
3857
3849
  if (this._isShown()) {
3858
3850
  this._leave();
@@ -3867,12 +3859,8 @@
3867
3859
  clearTimeout(this._timeout);
3868
3860
  EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
3869
3861
 
3870
- if (this.tip) {
3871
- this.tip.remove();
3872
- }
3873
-
3874
- if (this._config.originalTitle) {
3875
- this._element.setAttribute('title', this._config.originalTitle);
3862
+ if (this._element.getAttribute('data-bs-original-title')) {
3863
+ this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));
3876
3864
  }
3877
3865
 
3878
3866
  this._disposePopper();
@@ -3899,10 +3887,7 @@
3899
3887
  } // todo v6 remove this OR make it optional
3900
3888
 
3901
3889
 
3902
- if (this.tip) {
3903
- this.tip.remove();
3904
- this.tip = null;
3905
- }
3890
+ this._disposePopper();
3906
3891
 
3907
3892
  const tip = this._getTipElement();
3908
3893
 
@@ -3917,12 +3902,7 @@
3917
3902
  EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));
3918
3903
  }
3919
3904
 
3920
- if (this._popper) {
3921
- this._popper.update();
3922
- } else {
3923
- this._popper = this._createPopper(tip);
3924
- }
3925
-
3905
+ this._popper = this._createPopper(tip);
3926
3906
  tip.classList.add(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we add extra
3927
3907
  // empty mouseover listeners to the body's immediate children;
3928
3908
  // only needed because of broken event delegation on iOS
@@ -3980,14 +3960,12 @@
3980
3960
  }
3981
3961
 
3982
3962
  if (!this._isHovered) {
3983
- tip.remove();
3963
+ this._disposePopper();
3984
3964
  }
3985
3965
 
3986
3966
  this._element.removeAttribute('aria-describedby');
3987
3967
 
3988
3968
  EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2));
3989
-
3990
- this._disposePopper();
3991
3969
  };
3992
3970
 
3993
3971
  this._queueCallback(complete, this.tip, this._isAnimated());
@@ -4065,7 +4043,7 @@
4065
4043
  }
4066
4044
 
4067
4045
  _getTitle() {
4068
- return this._resolvePossibleFunction(this._config.title) || this._config.originalTitle;
4046
+ return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');
4069
4047
  } // Private
4070
4048
 
4071
4049
 
@@ -4151,7 +4129,11 @@
4151
4129
 
4152
4130
  for (const trigger of triggers) {
4153
4131
  if (trigger === 'click') {
4154
- EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => this.toggle(event));
4132
+ EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => {
4133
+ const context = this._initializeOnDelegatedTarget(event);
4134
+
4135
+ context.toggle();
4136
+ });
4155
4137
  } else if (trigger !== TRIGGER_MANUAL) {
4156
4138
  const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1);
4157
4139
  const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1);
@@ -4179,19 +4161,10 @@
4179
4161
  };
4180
4162
 
4181
4163
  EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
4182
-
4183
- if (this._config.selector) {
4184
- this._config = { ...this._config,
4185
- trigger: 'manual',
4186
- selector: ''
4187
- };
4188
- } else {
4189
- this._fixTitle();
4190
- }
4191
4164
  }
4192
4165
 
4193
4166
  _fixTitle() {
4194
- const title = this._config.originalTitle;
4167
+ const title = this._element.getAttribute('title');
4195
4168
 
4196
4169
  if (!title) {
4197
4170
  return;
@@ -4201,6 +4174,9 @@
4201
4174
  this._element.setAttribute('aria-label', title);
4202
4175
  }
4203
4176
 
4177
+ this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility
4178
+
4179
+
4204
4180
  this._element.removeAttribute('title');
4205
4181
  }
4206
4182
 
@@ -4272,8 +4248,6 @@
4272
4248
  };
4273
4249
  }
4274
4250
 
4275
- config.originalTitle = this._element.getAttribute('title') || '';
4276
-
4277
4251
  if (typeof config.title === 'number') {
4278
4252
  config.title = config.title.toString();
4279
4253
  }
@@ -4292,11 +4266,13 @@
4292
4266
  if (this.constructor.Default[key] !== this._config[key]) {
4293
4267
  config[key] = this._config[key];
4294
4268
  }
4295
- } // In the future can be replaced with:
4269
+ }
4270
+
4271
+ config.selector = false;
4272
+ config.trigger = 'manual'; // In the future can be replaced with:
4296
4273
  // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])
4297
4274
  // `Object.fromEntries(keysWithDifferentValues)`
4298
4275
 
4299
-
4300
4276
  return config;
4301
4277
  }
4302
4278
 
@@ -4306,6 +4282,11 @@
4306
4282
 
4307
4283
  this._popper = null;
4308
4284
  }
4285
+
4286
+ if (this.tip) {
4287
+ this.tip.remove();
4288
+ this.tip = null;
4289
+ }
4309
4290
  } // Static
4310
4291
 
4311
4292
 
@@ -4335,7 +4316,7 @@
4335
4316
 
4336
4317
  /**
4337
4318
  * --------------------------------------------------------------------------
4338
- * Bootstrap (v5.2.1): popover.js
4319
+ * Bootstrap (v5.2.3): popover.js
4339
4320
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4340
4321
  * --------------------------------------------------------------------------
4341
4322
  */
@@ -4418,7 +4399,7 @@
4418
4399
 
4419
4400
  /**
4420
4401
  * --------------------------------------------------------------------------
4421
- * Bootstrap (v5.2.1): scrollspy.js
4402
+ * Bootstrap (v5.2.3): scrollspy.js
4422
4403
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4423
4404
  * --------------------------------------------------------------------------
4424
4405
  */
@@ -4709,7 +4690,7 @@
4709
4690
 
4710
4691
  /**
4711
4692
  * --------------------------------------------------------------------------
4712
- * Bootstrap (v5.2.1): tab.js
4693
+ * Bootstrap (v5.2.3): tab.js
4713
4694
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4714
4695
  * --------------------------------------------------------------------------
4715
4696
  */
@@ -4737,7 +4718,6 @@
4737
4718
  const CLASS_DROPDOWN = 'dropdown';
4738
4719
  const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
4739
4720
  const SELECTOR_DROPDOWN_MENU = '.dropdown-menu';
4740
- const SELECTOR_DROPDOWN_ITEM = '.dropdown-item';
4741
4721
  const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)';
4742
4722
  const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]';
4743
4723
  const SELECTOR_OUTER = '.nav-item, .list-group-item';
@@ -4816,7 +4796,6 @@
4816
4796
  return;
4817
4797
  }
4818
4798
 
4819
- element.focus();
4820
4799
  element.removeAttribute('tabindex');
4821
4800
  element.setAttribute('aria-selected', true);
4822
4801
 
@@ -4872,6 +4851,9 @@
4872
4851
  const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true);
4873
4852
 
4874
4853
  if (nextActiveElement) {
4854
+ nextActiveElement.focus({
4855
+ preventScroll: true
4856
+ });
4875
4857
  Tab.getOrCreateInstance(nextActiveElement).show();
4876
4858
  }
4877
4859
  }
@@ -4947,7 +4929,6 @@
4947
4929
 
4948
4930
  toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE);
4949
4931
  toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1);
4950
- toggle(SELECTOR_DROPDOWN_ITEM, CLASS_NAME_ACTIVE);
4951
4932
  outerElem.setAttribute('aria-expanded', open);
4952
4933
  }
4953
4934
 
@@ -5022,7 +5003,7 @@
5022
5003
 
5023
5004
  /**
5024
5005
  * --------------------------------------------------------------------------
5025
- * Bootstrap (v5.2.1): toast.js
5006
+ * Bootstrap (v5.2.3): toast.js
5026
5007
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5027
5008
  * --------------------------------------------------------------------------
5028
5009
  */
@@ -5173,13 +5154,17 @@
5173
5154
  switch (event.type) {
5174
5155
  case 'mouseover':
5175
5156
  case 'mouseout':
5176
- this._hasMouseInteraction = isInteracting;
5177
- break;
5157
+ {
5158
+ this._hasMouseInteraction = isInteracting;
5159
+ break;
5160
+ }
5178
5161
 
5179
5162
  case 'focusin':
5180
5163
  case 'focusout':
5181
- this._hasKeyboardInteraction = isInteracting;
5182
- break;
5164
+ {
5165
+ this._hasKeyboardInteraction = isInteracting;
5166
+ break;
5167
+ }
5183
5168
  }
5184
5169
 
5185
5170
  if (isInteracting) {
@@ -5239,7 +5224,7 @@
5239
5224
 
5240
5225
  /**
5241
5226
  * --------------------------------------------------------------------------
5242
- * Bootstrap (v5.2.1): index.umd.js
5227
+ * Bootstrap (v5.2.3): index.umd.js
5243
5228
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5244
5229
  * --------------------------------------------------------------------------
5245
5230
  */