bootstrap 5.2.1 → 5.2.3

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 (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
  */