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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 35584b903c24d5444ccbcc115e69da218717c9ba4203ddcb127a035e9eefe6b3
4
- data.tar.gz: fa22a6ec7eb6d3d3f96cffb07665efcdf33073e4c7bc7e1ea66ca285a5f228a4
3
+ metadata.gz: 5b9b76b3a8107fa8c73e4b760273a561e05e569e150a086196903c4ccb49ddbc
4
+ data.tar.gz: 116115a60a5315e39b3bb6d5df9fe3568d48c139682d17f6de88b48762ddb06b
5
5
  SHA512:
6
- metadata.gz: 89f3ba0eae753449d28a1df745dd115a74f1be60369569810a51534ed7febf8ca606d2397904cd17d01010572670fc198417b9e3038e03363ec852b51bffb9ad
7
- data.tar.gz: 8b181219cb0f2758ad9e98bf5aa5980a41f215ec711d7f987416bd3dd035f3bc2ed7659016dab35a4099b5eef2bb744893723b4103320e9f730c1f748c6811ee
6
+ metadata.gz: '054324796db1631c6ad2dc41451f8b39dfcede1a4526a665c87d51549190dba106641fc4cf4716bd3e28f3332039369eb37f0806a5a4617acb08617373ea2bb3'
7
+ data.tar.gz: c53409f131522034f9d02b5d4b18b6f69460be5ccfb232639132f5939ac63b3aa2ee7de91c6ac119c6c656ca91f2656579e20e9e50be6568564da9c3aa5f8263
@@ -0,0 +1,55 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+
7
+ jobs:
8
+ test:
9
+ env:
10
+ BUNDLE_GEMFILE: ${{ matrix.gemfile }}
11
+ strategy:
12
+ fail-fast: false
13
+ matrix:
14
+ ruby_version: ['2.5', '2.6', '2.7', '3.0', '3.1']
15
+ gemfile:
16
+ - test/gemfiles/rails_5_0.gemfile
17
+ - test/gemfiles/rails_5_1.gemfile
18
+ - test/gemfiles/rails_5_2.gemfile
19
+ - test/gemfiles/rails_6_0.gemfile
20
+ - test/gemfiles/rails_6_1.gemfile
21
+ - test/gemfiles/rails_7_0.gemfile
22
+ include:
23
+ - ruby_version: '2.5'
24
+ gemfile: test/gemfiles/rails_4_2.gemfile
25
+ - ruby_version: '2.6'
26
+ gemfile: test/gemfiles/rails_4_2.gemfile
27
+ exclude:
28
+ - ruby_version: '2.5'
29
+ gemfile: test/gemfiles/rails_7_0.gemfile
30
+ - ruby_version: '2.6'
31
+ gemfile: test/gemfiles/rails_7_0.gemfile
32
+ - ruby_version: '3.0'
33
+ gemfile: test/gemfiles/rails_5_0.gemfile
34
+ - ruby_version: '3.0'
35
+ gemfile: test/gemfiles/rails_5_1.gemfile
36
+ - ruby_version: '3.0'
37
+ gemfile: test/gemfiles/rails_5_2.gemfile
38
+ - ruby_version: '3.1'
39
+ gemfile: test/gemfiles/rails_5_0.gemfile
40
+ - ruby_version: '3.1'
41
+ gemfile: test/gemfiles/rails_5_1.gemfile
42
+ - ruby_version: '3.1'
43
+ gemfile: test/gemfiles/rails_5_2.gemfile
44
+ - ruby_version: '3.1'
45
+ gemfile: test/gemfiles/rails_6_0.gemfile
46
+ runs-on: ubuntu-latest
47
+ steps:
48
+ - uses: actions/checkout@v3
49
+ - name: Set up Ruby
50
+ uses: ruby/setup-ruby@v1
51
+ with:
52
+ ruby-version: ${{ matrix.ruby_version }}
53
+ bundler-cache: true # 'bundle install' and cache
54
+ - name: Build and test with Rake
55
+ run: bundle exec rake --trace
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Bootstrap Ruby Gem [![Build Status](https://travis-ci.org/twbs/bootstrap-rubygem.svg?branch=master)](https://travis-ci.org/twbs/bootstrap-rubygem) [![Gem](https://img.shields.io/gem/v/bootstrap.svg)](https://rubygems.org/gems/bootstrap)
1
+ # Bootstrap Ruby Gem [![CI](https://github.com/twbs/bootstrap-rubygem/actions/workflows/ci.yml/badge.svg)](https://github.com/twbs/bootstrap-rubygem/actions/workflows/ci.yml) [![Gem](https://img.shields.io/gem/v/bootstrap.svg)](https://rubygems.org/gems/bootstrap)
2
2
 
3
3
  [Bootstrap 5][bootstrap-home] ruby gem for Ruby on Rails (*Sprockets*/*Importmaps*) and Hanami (formerly Lotus).
4
4
 
@@ -21,7 +21,7 @@ Please see the appropriate guide for your environment of choice:
21
21
  Add `bootstrap` to your Gemfile:
22
22
 
23
23
  ```ruby
24
- gem 'bootstrap', '~> 5.2.1'
24
+ gem 'bootstrap', '~> 5.2.2'
25
25
  ```
26
26
 
27
27
  Ensure that `sprockets-rails` is at least v2.3.2.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap alert.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap alert.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): alert.js
19
+ * Bootstrap (v5.2.3): alert.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 base-component.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap base-component.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): base-component.js
20
+ * Bootstrap (v5.2.3): base-component.js
21
21
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
22
22
  * --------------------------------------------------------------------------
23
23
  */
@@ -25,7 +25,7 @@
25
25
  * Constants
26
26
  */
27
27
 
28
- const VERSION = '5.2.1';
28
+ const VERSION = '5.2.3';
29
29
  /**
30
30
  * Class definition
31
31
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap button.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap button.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): button.js
19
+ * Bootstrap (v5.2.3): button.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 carousel.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap carousel.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
  */
@@ -19,7 +19,7 @@
19
19
 
20
20
  /**
21
21
  * --------------------------------------------------------------------------
22
- * Bootstrap (v5.2.1): carousel.js
22
+ * Bootstrap (v5.2.3): carousel.js
23
23
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
24
24
  * --------------------------------------------------------------------------
25
25
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap collapse.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap collapse.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): collapse.js
20
+ * Bootstrap (v5.2.3): collapse.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 data.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap data.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): dom/data.js
14
+ * Bootstrap (v5.2.3): dom/data.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 event-handler.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap event-handler.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): dom/event-handler.js
14
+ * Bootstrap (v5.2.3): dom/event-handler.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 manipulator.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap manipulator.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): dom/manipulator.js
14
+ * Bootstrap (v5.2.3): dom/manipulator.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 selector-engine.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap selector-engine.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): dom/selector-engine.js
14
+ * Bootstrap (v5.2.3): dom/selector-engine.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 dropdown.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap dropdown.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
  */
@@ -37,7 +37,7 @@
37
37
 
38
38
  /**
39
39
  * --------------------------------------------------------------------------
40
- * Bootstrap (v5.2.1): dropdown.js
40
+ * Bootstrap (v5.2.3): dropdown.js
41
41
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
42
42
  * --------------------------------------------------------------------------
43
43
  */
@@ -109,7 +109,7 @@
109
109
  this._parent = this._element.parentNode; // dropdown wrapper
110
110
  // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
111
111
 
112
- this._menu = SelectorEngine__default.default.next(this._element, SELECTOR_MENU)[0] || SelectorEngine__default.default.prev(this._element, SELECTOR_MENU)[0];
112
+ this._menu = SelectorEngine__default.default.next(this._element, SELECTOR_MENU)[0] || SelectorEngine__default.default.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine__default.default.findOne(SELECTOR_MENU, this._parent);
113
113
  this._inNavbar = this._detectNavbar();
114
114
  } // Getters
115
115
 
@@ -427,7 +427,7 @@
427
427
 
428
428
  event.preventDefault(); // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
429
429
 
430
- const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine__default.default.prev(this, SELECTOR_DATA_TOGGLE)[0] || SelectorEngine__default.default.next(this, SELECTOR_DATA_TOGGLE)[0];
430
+ const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine__default.default.prev(this, SELECTOR_DATA_TOGGLE)[0] || SelectorEngine__default.default.next(this, SELECTOR_DATA_TOGGLE)[0] || SelectorEngine__default.default.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode);
431
431
  const instance = Dropdown.getOrCreateInstance(getToggleButton);
432
432
 
433
433
  if (isUpOrDownEvent) {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap modal.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap modal.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
  */
@@ -20,7 +20,7 @@
20
20
 
21
21
  /**
22
22
  * --------------------------------------------------------------------------
23
- * Bootstrap (v5.2.1): modal.js
23
+ * Bootstrap (v5.2.3): modal.js
24
24
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
25
25
  * --------------------------------------------------------------------------
26
26
  */
@@ -232,9 +232,9 @@
232
232
  }
233
233
  });
234
234
  EventHandler__default.default.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
235
+ // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks
235
236
  EventHandler__default.default.one(this._element, EVENT_CLICK_DISMISS, event2 => {
236
- // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks
237
- if (this._dialog.contains(event.target) || this._dialog.contains(event2.target)) {
237
+ if (this._element !== event.target || this._element !== event2.target) {
238
238
  return;
239
239
  }
240
240
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap offcanvas.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap offcanvas.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
  */
@@ -20,7 +20,7 @@
20
20
 
21
21
  /**
22
22
  * --------------------------------------------------------------------------
23
- * Bootstrap (v5.2.1): offcanvas.js
23
+ * Bootstrap (v5.2.3): offcanvas.js
24
24
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
25
25
  * --------------------------------------------------------------------------
26
26
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap popover.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap popover.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): popover.js
18
+ * Bootstrap (v5.2.3): popover.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 scrollspy.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap scrollspy.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): scrollspy.js
20
+ * Bootstrap (v5.2.3): scrollspy.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 tab.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap tab.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): tab.js
20
+ * Bootstrap (v5.2.3): tab.js
21
21
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
22
22
  * --------------------------------------------------------------------------
23
23
  */
@@ -45,7 +45,6 @@
45
45
  const CLASS_DROPDOWN = 'dropdown';
46
46
  const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
47
47
  const SELECTOR_DROPDOWN_MENU = '.dropdown-menu';
48
- const SELECTOR_DROPDOWN_ITEM = '.dropdown-item';
49
48
  const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)';
50
49
  const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]';
51
50
  const SELECTOR_OUTER = '.nav-item, .list-group-item';
@@ -124,7 +123,6 @@
124
123
  return;
125
124
  }
126
125
 
127
- element.focus();
128
126
  element.removeAttribute('tabindex');
129
127
  element.setAttribute('aria-selected', true);
130
128
 
@@ -180,6 +178,9 @@
180
178
  const nextActiveElement = index.getNextActiveElement(this._getChildren().filter(element => !index.isDisabled(element)), event.target, isNext, true);
181
179
 
182
180
  if (nextActiveElement) {
181
+ nextActiveElement.focus({
182
+ preventScroll: true
183
+ });
183
184
  Tab.getOrCreateInstance(nextActiveElement).show();
184
185
  }
185
186
  }
@@ -255,7 +256,6 @@
255
256
 
256
257
  toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE);
257
258
  toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW);
258
- toggle(SELECTOR_DROPDOWN_ITEM, CLASS_NAME_ACTIVE);
259
259
  outerElem.setAttribute('aria-expanded', open);
260
260
  }
261
261
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap toast.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap toast.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): toast.js
19
+ * Bootstrap (v5.2.3): toast.js
20
20
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
21
21
  * --------------------------------------------------------------------------
22
22
  */
@@ -167,13 +167,17 @@
167
167
  switch (event.type) {
168
168
  case 'mouseover':
169
169
  case 'mouseout':
170
- this._hasMouseInteraction = isInteracting;
171
- break;
170
+ {
171
+ this._hasMouseInteraction = isInteracting;
172
+ break;
173
+ }
172
174
 
173
175
  case 'focusin':
174
176
  case 'focusout':
175
- this._hasKeyboardInteraction = isInteracting;
176
- break;
177
+ {
178
+ this._hasKeyboardInteraction = isInteracting;
179
+ break;
180
+ }
177
181
  }
178
182
 
179
183
  if (isInteracting) {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap tooltip.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap tooltip.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
  */
@@ -37,7 +37,7 @@
37
37
 
38
38
  /**
39
39
  * --------------------------------------------------------------------------
40
- * Bootstrap (v5.2.1): tooltip.js
40
+ * Bootstrap (v5.2.3): tooltip.js
41
41
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
42
42
  * --------------------------------------------------------------------------
43
43
  */
@@ -135,6 +135,10 @@
135
135
  this.tip = null;
136
136
 
137
137
  this._setListeners();
138
+
139
+ if (!this._config.selector) {
140
+ this._fixTitle();
141
+ }
138
142
  } // Getters
139
143
 
140
144
 
@@ -163,24 +167,12 @@
163
167
  this._isEnabled = !this._isEnabled;
164
168
  }
165
169
 
166
- toggle(event) {
170
+ toggle() {
167
171
  if (!this._isEnabled) {
168
172
  return;
169
173
  }
170
174
 
171
- if (event) {
172
- const context = this._initializeOnDelegatedTarget(event);
173
-
174
- context._activeTrigger.click = !context._activeTrigger.click;
175
-
176
- if (context._isWithActiveTrigger()) {
177
- context._enter();
178
- } else {
179
- context._leave();
180
- }
181
-
182
- return;
183
- }
175
+ this._activeTrigger.click = !this._activeTrigger.click;
184
176
 
185
177
  if (this._isShown()) {
186
178
  this._leave();
@@ -195,12 +187,8 @@
195
187
  clearTimeout(this._timeout);
196
188
  EventHandler__default.default.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
197
189
 
198
- if (this.tip) {
199
- this.tip.remove();
200
- }
201
-
202
- if (this._config.originalTitle) {
203
- this._element.setAttribute('title', this._config.originalTitle);
190
+ if (this._element.getAttribute('data-bs-original-title')) {
191
+ this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));
204
192
  }
205
193
 
206
194
  this._disposePopper();
@@ -227,10 +215,7 @@
227
215
  } // todo v6 remove this OR make it optional
228
216
 
229
217
 
230
- if (this.tip) {
231
- this.tip.remove();
232
- this.tip = null;
233
- }
218
+ this._disposePopper();
234
219
 
235
220
  const tip = this._getTipElement();
236
221
 
@@ -245,12 +230,7 @@
245
230
  EventHandler__default.default.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));
246
231
  }
247
232
 
248
- if (this._popper) {
249
- this._popper.update();
250
- } else {
251
- this._popper = this._createPopper(tip);
252
- }
253
-
233
+ this._popper = this._createPopper(tip);
254
234
  tip.classList.add(CLASS_NAME_SHOW); // If this is a touch-enabled device we add extra
255
235
  // empty mouseover listeners to the body's immediate children;
256
236
  // only needed because of broken event delegation on iOS
@@ -308,14 +288,12 @@
308
288
  }
309
289
 
310
290
  if (!this._isHovered) {
311
- tip.remove();
291
+ this._disposePopper();
312
292
  }
313
293
 
314
294
  this._element.removeAttribute('aria-describedby');
315
295
 
316
296
  EventHandler__default.default.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN));
317
-
318
- this._disposePopper();
319
297
  };
320
298
 
321
299
  this._queueCallback(complete, this.tip, this._isAnimated());
@@ -393,7 +371,7 @@
393
371
  }
394
372
 
395
373
  _getTitle() {
396
- return this._resolvePossibleFunction(this._config.title) || this._config.originalTitle;
374
+ return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');
397
375
  } // Private
398
376
 
399
377
 
@@ -479,7 +457,11 @@
479
457
 
480
458
  for (const trigger of triggers) {
481
459
  if (trigger === 'click') {
482
- EventHandler__default.default.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => this.toggle(event));
460
+ EventHandler__default.default.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {
461
+ const context = this._initializeOnDelegatedTarget(event);
462
+
463
+ context.toggle();
464
+ });
483
465
  } else if (trigger !== TRIGGER_MANUAL) {
484
466
  const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN);
485
467
  const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT);
@@ -507,19 +489,10 @@
507
489
  };
508
490
 
509
491
  EventHandler__default.default.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
510
-
511
- if (this._config.selector) {
512
- this._config = { ...this._config,
513
- trigger: 'manual',
514
- selector: ''
515
- };
516
- } else {
517
- this._fixTitle();
518
- }
519
492
  }
520
493
 
521
494
  _fixTitle() {
522
- const title = this._config.originalTitle;
495
+ const title = this._element.getAttribute('title');
523
496
 
524
497
  if (!title) {
525
498
  return;
@@ -529,6 +502,9 @@
529
502
  this._element.setAttribute('aria-label', title);
530
503
  }
531
504
 
505
+ this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility
506
+
507
+
532
508
  this._element.removeAttribute('title');
533
509
  }
534
510
 
@@ -600,8 +576,6 @@
600
576
  };
601
577
  }
602
578
 
603
- config.originalTitle = this._element.getAttribute('title') || '';
604
-
605
579
  if (typeof config.title === 'number') {
606
580
  config.title = config.title.toString();
607
581
  }
@@ -620,11 +594,13 @@
620
594
  if (this.constructor.Default[key] !== this._config[key]) {
621
595
  config[key] = this._config[key];
622
596
  }
623
- } // In the future can be replaced with:
597
+ }
598
+
599
+ config.selector = false;
600
+ config.trigger = 'manual'; // In the future can be replaced with:
624
601
  // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])
625
602
  // `Object.fromEntries(keysWithDifferentValues)`
626
603
 
627
-
628
604
  return config;
629
605
  }
630
606
 
@@ -634,6 +610,11 @@
634
610
 
635
611
  this._popper = null;
636
612
  }
613
+
614
+ if (this.tip) {
615
+ this.tip.remove();
616
+ this.tip = null;
617
+ }
637
618
  } // Static
638
619
 
639
620
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap backdrop.js v5.2.1 (https://getbootstrap.com/)
2
+ * Bootstrap backdrop.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/backdrop.js
19
+ * Bootstrap (v5.2.3): util/backdrop.js
20
20
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
21
21
  * --------------------------------------------------------------------------
22
22
  */