bootstrap 5.3.3 → 5.3.4

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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/README.md +4 -9
  4. data/Rakefile +0 -2
  5. data/assets/javascripts/bootstrap/alert.js +2 -2
  6. data/assets/javascripts/bootstrap/base-component.js +3 -3
  7. data/assets/javascripts/bootstrap/button.js +2 -2
  8. data/assets/javascripts/bootstrap/carousel.js +2 -2
  9. data/assets/javascripts/bootstrap/collapse.js +2 -2
  10. data/assets/javascripts/bootstrap/dom/data.js +2 -2
  11. data/assets/javascripts/bootstrap/dom/event-handler.js +2 -2
  12. data/assets/javascripts/bootstrap/dom/manipulator.js +3 -3
  13. data/assets/javascripts/bootstrap/dom/selector-engine.js +2 -2
  14. data/assets/javascripts/bootstrap/dropdown.js +4 -4
  15. data/assets/javascripts/bootstrap/modal.js +2 -2
  16. data/assets/javascripts/bootstrap/offcanvas.js +2 -2
  17. data/assets/javascripts/bootstrap/popover.js +2 -2
  18. data/assets/javascripts/bootstrap/scrollspy.js +2 -2
  19. data/assets/javascripts/bootstrap/tab.js +2 -2
  20. data/assets/javascripts/bootstrap/toast.js +2 -2
  21. data/assets/javascripts/bootstrap/tooltip.js +5 -6
  22. data/assets/javascripts/bootstrap/util/backdrop.js +2 -2
  23. data/assets/javascripts/bootstrap/util/component-functions.js +2 -2
  24. data/assets/javascripts/bootstrap/util/config.js +2 -2
  25. data/assets/javascripts/bootstrap/util/focustrap.js +2 -2
  26. data/assets/javascripts/bootstrap/util/index.js +4 -4
  27. data/assets/javascripts/bootstrap/util/sanitizer.js +2 -2
  28. data/assets/javascripts/bootstrap/util/scrollbar.js +2 -2
  29. data/assets/javascripts/bootstrap/util/swipe.js +2 -2
  30. data/assets/javascripts/bootstrap/util/template-factory.js +3 -3
  31. data/assets/javascripts/bootstrap-sprockets.js +8 -8
  32. data/assets/javascripts/bootstrap.js +12 -13
  33. data/assets/javascripts/bootstrap.min.js +3 -3
  34. data/assets/stylesheets/bootstrap/_accordion.scss +4 -9
  35. data/assets/stylesheets/bootstrap/_button-group.scss +8 -3
  36. data/assets/stylesheets/bootstrap/_card.scss +1 -2
  37. data/assets/stylesheets/bootstrap/_carousel.scss +15 -25
  38. data/assets/stylesheets/bootstrap/_close.scss +9 -6
  39. data/assets/stylesheets/bootstrap/_functions.scss +1 -1
  40. data/assets/stylesheets/bootstrap/_list-group.scss +27 -25
  41. data/assets/stylesheets/bootstrap/_modal.scss +6 -2
  42. data/assets/stylesheets/bootstrap/_nav.scss +1 -1
  43. data/assets/stylesheets/bootstrap/_navbar.scss +1 -1
  44. data/assets/stylesheets/bootstrap/_offcanvas.scss +5 -1
  45. data/assets/stylesheets/bootstrap/_pagination.scss +1 -1
  46. data/assets/stylesheets/bootstrap/_progress.scss +1 -1
  47. data/assets/stylesheets/bootstrap/_reboot.scss +1 -1
  48. data/assets/stylesheets/bootstrap/_type.scss +1 -1
  49. data/assets/stylesheets/bootstrap/_variables-dark.scss +17 -2
  50. data/assets/stylesheets/bootstrap/_variables.scss +16 -14
  51. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +18 -16
  52. data/assets/stylesheets/bootstrap/forms/_input-group.scss +1 -1
  53. data/assets/stylesheets/bootstrap/mixins/_banner.scss +2 -2
  54. data/assets/stylesheets/bootstrap/mixins/_grid.scss +1 -1
  55. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +1 -1
  56. data/bootstrap.gemspec +0 -1
  57. data/lib/bootstrap/engine.rb +0 -1
  58. data/lib/bootstrap/version.rb +2 -2
  59. data/test/dummy_rails/config/application.rb +0 -2
  60. data/test/dummy_rails/public/favicon.ico +0 -0
  61. data/test/gemfiles/rails_5_0.gemfile +0 -1
  62. data/test/gemfiles/rails_5_1.gemfile +0 -1
  63. data/test/gemfiles/rails_5_2.gemfile +0 -1
  64. data/test/gemfiles/rails_6_0.gemfile +0 -1
  65. data/test/gemfiles/rails_6_1.gemfile +0 -1
  66. data/test/gemfiles/rails_7_0_dartsass.gemfile +0 -1
  67. data/test/gemfiles/rails_7_0_sassc.gemfile +0 -1
  68. data/test/rails_test.rb +0 -5
  69. metadata +5 -21
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f5f0f95cef4c5b6abf9fd7a3b2721493ed6c929c1a757823f405270124573f6b
4
- data.tar.gz: c3d89d1a7fa09745690ebd7cc1bf258af83bb58eec85ce3dbaf2a0792d9cd9d6
3
+ metadata.gz: '08ff56e2eb43cfee48174942e7bfad683b471d95020efb8038400faecb12e2e5'
4
+ data.tar.gz: 630e11e1656379ba22bda47f1d93c67d60a91b8c4c6ba13cc738469acc2904cd
5
5
  SHA512:
6
- metadata.gz: 03f9c9d2a23faa83d108854e73320bb480c6c6298d3d79fe5c5306ec14d9f67efd82c12a1bc5d9c4458edeef8fc119d61cda59347c660c8e1a3b9cbcc5142a26
7
- data.tar.gz: 37a91ba786b9f36a1a446f3fa5a70abed611a41b37bc55d9992ccbf6c685d61a93d15341423a3114bf7aa18140537b6dd9890105f57bbd196c6dfb9366044967
6
+ metadata.gz: 3d8b99d95b107da58b08cf007927d8ca563e59639b758ae63d06963944f3a32b28fadada66b65b26f5920f88dd05c237f9e3d6713c49dcd6631f022e9f1d5e9c
7
+ data.tar.gz: 543bd7314c292ce9bc17c3fbb662a6ec0a5c922b474e5fa1d7f5dc7bce036584ec874adbe7ecb4d3b9c8fb0dcbc845fdd104ea3f38cb6e3b3a718496f9aa47aa
data/CHANGELOG.md CHANGED
@@ -6,6 +6,11 @@ The changelog only includes changes specific to the RubyGem.
6
6
  The Bootstrap framework changes can be found in [the Releases section of twbs/bootstrap](https://github.com/twbs/bootstrap/releases).
7
7
  Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release of Bootstrap.
8
8
 
9
+ # 5.3.4
10
+
11
+ * Autoprefixer is now optional.
12
+ [#283](https://github.com/twbs/bootstrap-rubygem/pull/283)
13
+
9
14
  # 5.3.3
10
15
 
11
16
  * Adds support for other Sass engines: dartsass-sprockets, dartsass-rails, and cssbundling-rails.
data/README.md CHANGED
@@ -24,7 +24,7 @@ Add `bootstrap` to your Gemfile:
24
24
  gem 'bootstrap', '~> 5.3.3'
25
25
  ```
26
26
 
27
- This gem requires a Sass engine, so make sure you have **one** of these two gems in your Gemfile:
27
+ This gem requires a Sass engine, so make sure you have **one** of these gems in your Gemfile:
28
28
  - [`dartsass-sprockets`](https://github.com/tablecheck/dartsass-sprockets): Dart Sass engine, recommended but only works for Ruby 2.6+ and Rails 5+
29
29
  - [`dartsass-rails`](https://github.com/rails/dartsass-rails): Dart Sass engine, recommended for Rails projects that use Propshaft
30
30
  - [`cssbundling-rails`](https://github.com/rails/cssbundling-rails): External Sass engine
@@ -32,6 +32,9 @@ This gem requires a Sass engine, so make sure you have **one** of these two gems
32
32
 
33
33
  Also ensure that `sprockets-rails` is at least v2.3.2.
34
34
 
35
+ For wider browser compatibility, use [Autoprefixer][autoprefixer].
36
+ If you are using Rails, add the `autoprefixer-rails` gem to your app and ensure you have a JavaScript runtime (e.g. NodeJS).
37
+
35
38
  `bundle install` and restart your server to make the files available through the pipeline.
36
39
 
37
40
  Import Bootstrap styles in `app/assets/stylesheets/application.scss`:
@@ -113,14 +116,6 @@ Refer to your framework's documentation on the subject.
113
116
 
114
117
  ## Configuration
115
118
 
116
- ### Sass: Autoprefixer
117
-
118
- Bootstrap requires the use of [Autoprefixer][autoprefixer].
119
- [Autoprefixer][autoprefixer] adds vendor prefixes to CSS rules using values from [Can I Use](http://caniuse.com/).
120
-
121
- If you are using bootstrap with Rails, autoprefixer is set up for you automatically.
122
- Otherwise, please consult the [Autoprefixer documentation][autoprefixer].
123
-
124
119
  ### Sass: Individual components
125
120
 
126
121
  By default all of Bootstrap is imported.
data/Rakefile CHANGED
@@ -57,7 +57,6 @@ task :debug do
57
57
  end
58
58
  require './lib/bootstrap'
59
59
  require 'term/ansicolor'
60
- require 'autoprefixer-rails'
61
60
  path = Bootstrap.stylesheets_path
62
61
  %w(_bootstrap _bootstrap-reboot _bootstrap-grid).each do |file|
63
62
  filename = "#{path}/#{file}.scss"
@@ -66,7 +65,6 @@ task :debug do
66
65
  else
67
66
  Sass.compile(filename).css
68
67
  end
69
- css = AutoprefixerRails.process(css)
70
68
  out = File.join('tmp', "#{file[1..-1]}.css")
71
69
  File.write(out, css)
72
70
  $stderr.puts Term::ANSIColor.green "Compiled #{out}"
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap alert.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap alert.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap base-component.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap base-component.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -21,7 +21,7 @@
21
21
  * Constants
22
22
  */
23
23
 
24
- const VERSION = '5.3.3';
24
+ const VERSION = '5.3.4';
25
25
 
26
26
  /**
27
27
  * Class definition
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap button.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap button.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap carousel.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap carousel.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap collapse.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap collapse.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap data.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap data.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap event-handler.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap event-handler.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap manipulator.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap manipulator.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -56,7 +56,7 @@
56
56
  const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'));
57
57
  for (const key of bsKeys) {
58
58
  let pureKey = key.replace(/^bs/, '');
59
- pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);
59
+ pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1);
60
60
  attributes[pureKey] = normalizeData(element.dataset[key]);
61
61
  }
62
62
  return attributes;
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap selector-engine.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap selector-engine.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap dropdown.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap dropdown.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -206,7 +206,7 @@
206
206
  }
207
207
  _createPopper() {
208
208
  if (typeof Popper__namespace === 'undefined') {
209
- throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)');
209
+ throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org/docs/v2/)');
210
210
  }
211
211
  let referenceElement = this._element;
212
212
  if (this._config.reference === 'parent') {
@@ -285,7 +285,7 @@
285
285
  }
286
286
  return {
287
287
  ...defaultBsPopperConfig,
288
- ...index_js.execute(this._config.popperConfig, [defaultBsPopperConfig])
288
+ ...index_js.execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])
289
289
  };
290
290
  }
291
291
  _selectMenuItem({
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap modal.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap modal.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap offcanvas.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap offcanvas.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap popover.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap popover.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap scrollspy.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap scrollspy.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap tab.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap tab.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap toast.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap toast.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap tooltip.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap tooltip.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -115,7 +115,7 @@
115
115
  class Tooltip extends BaseComponent {
116
116
  constructor(element, config) {
117
117
  if (typeof Popper__namespace === 'undefined') {
118
- throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)');
118
+ throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org/docs/v2/)');
119
119
  }
120
120
  super(element, config);
121
121
 
@@ -161,7 +161,6 @@
161
161
  if (!this._isEnabled) {
162
162
  return;
163
163
  }
164
- this._activeTrigger.click = !this._activeTrigger.click;
165
164
  if (this._isShown()) {
166
165
  this._leave();
167
166
  return;
@@ -349,7 +348,7 @@
349
348
  return offset;
350
349
  }
351
350
  _resolvePossibleFunction(arg) {
352
- return index_js.execute(arg, [this._element]);
351
+ return index_js.execute(arg, [this._element, this._element]);
353
352
  }
354
353
  _getPopperConfig(attachment) {
355
354
  const defaultBsPopperConfig = {
@@ -387,7 +386,7 @@
387
386
  };
388
387
  return {
389
388
  ...defaultBsPopperConfig,
390
- ...index_js.execute(this._config.popperConfig, [defaultBsPopperConfig])
389
+ ...index_js.execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])
391
390
  };
392
391
  }
393
392
  _setListeners() {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap backdrop.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap backdrop.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap component-functions.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap component-functions.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap config.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap config.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap focustrap.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap focustrap.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap index.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap index.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -157,7 +157,7 @@
157
157
  * @param {HTMLElement} element
158
158
  * @return void
159
159
  *
160
- * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation
160
+ * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation
161
161
  */
162
162
  const reflow = element => {
163
163
  element.offsetHeight; // eslint-disable-line no-unused-expressions
@@ -202,7 +202,7 @@
202
202
  });
203
203
  };
204
204
  const execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {
205
- return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue;
205
+ return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue;
206
206
  };
207
207
  const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {
208
208
  if (!waitForTransition) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap sanitizer.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap sanitizer.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap scrollbar.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap scrollbar.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap swipe.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap swipe.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap template-factory.js v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap template-factory.js v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -133,7 +133,7 @@
133
133
  return this._config.sanitize ? sanitizer_js.sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;
134
134
  }
135
135
  _resolvePossibleFunction(arg) {
136
- return index_js.execute(arg, [this]);
136
+ return index_js.execute(arg, [undefined, this]);
137
137
  }
138
138
  _putElementInTemplate(element, templateElement) {
139
139
  if (this._config.html) {
@@ -10,19 +10,19 @@
10
10
  //= require ./bootstrap/util/component-functions
11
11
  //= require ./bootstrap/util/focustrap
12
12
  //= require ./bootstrap/util/scrollbar
13
- //= require ./bootstrap/offcanvas
14
- //= require ./bootstrap/dropdown
13
+ //= require ./bootstrap/modal
14
+ //= require ./bootstrap/scrollspy
15
+ //= require ./bootstrap/button
16
+ //= require ./bootstrap/alert
15
17
  //= require ./bootstrap/util/sanitizer
16
18
  //= require ./bootstrap/util/template-factory
17
19
  //= require ./bootstrap/tooltip
18
- //= require ./bootstrap/toast
19
20
  //= require ./bootstrap/popover
21
+ //= require ./bootstrap/collapse
22
+ //= require ./bootstrap/offcanvas
23
+ //= require ./bootstrap/dropdown
20
24
  //= require ./bootstrap/util/swipe
21
- //= require ./bootstrap/alert
22
- //= require ./bootstrap/button
23
25
  //= require ./bootstrap/carousel
24
- //= require ./bootstrap/modal
25
- //= require ./bootstrap/collapse
26
- //= require ./bootstrap/scrollspy
26
+ //= require ./bootstrap/toast
27
27
  //= require ./bootstrap/tab
28
28
  //= require ./bootstrap-global-this-undefine
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap v5.3.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap v5.3.4 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 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
  */
6
6
  (function (global, factory) {
@@ -224,7 +224,7 @@
224
224
  * @param {HTMLElement} element
225
225
  * @return void
226
226
  *
227
- * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation
227
+ * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation
228
228
  */
229
229
  const reflow = element => {
230
230
  element.offsetHeight; // eslint-disable-line no-unused-expressions
@@ -269,7 +269,7 @@
269
269
  });
270
270
  };
271
271
  const execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {
272
- return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue;
272
+ return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue;
273
273
  };
274
274
  const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {
275
275
  if (!waitForTransition) {
@@ -591,7 +591,7 @@
591
591
  const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'));
592
592
  for (const key of bsKeys) {
593
593
  let pureKey = key.replace(/^bs/, '');
594
- pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);
594
+ pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1);
595
595
  attributes[pureKey] = normalizeData(element.dataset[key]);
596
596
  }
597
597
  return attributes;
@@ -666,7 +666,7 @@
666
666
  * Constants
667
667
  */
668
668
 
669
- const VERSION = '5.3.3';
669
+ const VERSION = '5.3.4';
670
670
 
671
671
  /**
672
672
  * Class definition
@@ -1881,7 +1881,7 @@
1881
1881
  }
1882
1882
  _createPopper() {
1883
1883
  if (typeof Popper__namespace === 'undefined') {
1884
- throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)');
1884
+ throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org/docs/v2/)');
1885
1885
  }
1886
1886
  let referenceElement = this._element;
1887
1887
  if (this._config.reference === 'parent') {
@@ -1960,7 +1960,7 @@
1960
1960
  }
1961
1961
  return {
1962
1962
  ...defaultBsPopperConfig,
1963
- ...execute(this._config.popperConfig, [defaultBsPopperConfig])
1963
+ ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])
1964
1964
  };
1965
1965
  }
1966
1966
  _selectMenuItem({
@@ -3147,7 +3147,7 @@
3147
3147
  return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;
3148
3148
  }
3149
3149
  _resolvePossibleFunction(arg) {
3150
- return execute(arg, [this]);
3150
+ return execute(arg, [undefined, this]);
3151
3151
  }
3152
3152
  _putElementInTemplate(element, templateElement) {
3153
3153
  if (this._config.html) {
@@ -3246,7 +3246,7 @@
3246
3246
  class Tooltip extends BaseComponent {
3247
3247
  constructor(element, config) {
3248
3248
  if (typeof Popper__namespace === 'undefined') {
3249
- throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)');
3249
+ throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org/docs/v2/)');
3250
3250
  }
3251
3251
  super(element, config);
3252
3252
 
@@ -3292,7 +3292,6 @@
3292
3292
  if (!this._isEnabled) {
3293
3293
  return;
3294
3294
  }
3295
- this._activeTrigger.click = !this._activeTrigger.click;
3296
3295
  if (this._isShown()) {
3297
3296
  this._leave();
3298
3297
  return;
@@ -3480,7 +3479,7 @@
3480
3479
  return offset;
3481
3480
  }
3482
3481
  _resolvePossibleFunction(arg) {
3483
- return execute(arg, [this._element]);
3482
+ return execute(arg, [this._element, this._element]);
3484
3483
  }
3485
3484
  _getPopperConfig(attachment) {
3486
3485
  const defaultBsPopperConfig = {
@@ -3518,7 +3517,7 @@
3518
3517
  };
3519
3518
  return {
3520
3519
  ...defaultBsPopperConfig,
3521
- ...execute(this._config.popperConfig, [defaultBsPopperConfig])
3520
+ ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])
3522
3521
  };
3523
3522
  }
3524
3523
  _setListeners() {