bootstrap 5.2.0 → 5.2.1

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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +24 -4
  3. data/assets/javascripts/bootstrap/alert.js +2 -2
  4. data/assets/javascripts/bootstrap/base-component.js +3 -3
  5. data/assets/javascripts/bootstrap/button.js +2 -2
  6. data/assets/javascripts/bootstrap/carousel.js +2 -2
  7. data/assets/javascripts/bootstrap/collapse.js +2 -2
  8. data/assets/javascripts/bootstrap/dom/data.js +2 -2
  9. data/assets/javascripts/bootstrap/dom/event-handler.js +2 -2
  10. data/assets/javascripts/bootstrap/dom/manipulator.js +2 -2
  11. data/assets/javascripts/bootstrap/dom/selector-engine.js +2 -2
  12. data/assets/javascripts/bootstrap/dropdown.js +7 -5
  13. data/assets/javascripts/bootstrap/modal.js +16 -13
  14. data/assets/javascripts/bootstrap/offcanvas.js +2 -2
  15. data/assets/javascripts/bootstrap/popover.js +2 -2
  16. data/assets/javascripts/bootstrap/scrollspy.js +16 -12
  17. data/assets/javascripts/bootstrap/tab.js +2 -2
  18. data/assets/javascripts/bootstrap/toast.js +2 -2
  19. data/assets/javascripts/bootstrap/tooltip.js +11 -7
  20. data/assets/javascripts/bootstrap/util/backdrop.js +2 -2
  21. data/assets/javascripts/bootstrap/util/component-functions.js +2 -2
  22. data/assets/javascripts/bootstrap/util/config.js +2 -2
  23. data/assets/javascripts/bootstrap/util/focustrap.js +2 -2
  24. data/assets/javascripts/bootstrap/util/index.js +2 -2
  25. data/assets/javascripts/bootstrap/util/sanitizer.js +2 -2
  26. data/assets/javascripts/bootstrap/util/scrollbar.js +2 -2
  27. data/assets/javascripts/bootstrap/util/swipe.js +2 -2
  28. data/assets/javascripts/bootstrap/util/template-factory.js +2 -2
  29. data/assets/javascripts/bootstrap.js +71 -58
  30. data/assets/javascripts/bootstrap.min.js +2 -2
  31. data/assets/stylesheets/bootstrap/_accordion.scss +7 -4
  32. data/assets/stylesheets/bootstrap/_button-group.scss +1 -1
  33. data/assets/stylesheets/bootstrap/_buttons.scss +23 -8
  34. data/assets/stylesheets/bootstrap/_dropdown.scss +2 -1
  35. data/assets/stylesheets/bootstrap/_functions.scss +1 -1
  36. data/assets/stylesheets/bootstrap/_list-group.scss +6 -5
  37. data/assets/stylesheets/bootstrap/_modal.scss +1 -1
  38. data/assets/stylesheets/bootstrap/_nav.scss +2 -2
  39. data/assets/stylesheets/bootstrap/_navbar.scss +2 -0
  40. data/assets/stylesheets/bootstrap/_offcanvas.scss +5 -4
  41. data/assets/stylesheets/bootstrap/_pagination.scss +1 -1
  42. data/assets/stylesheets/bootstrap/_popover.scss +5 -5
  43. data/assets/stylesheets/bootstrap/_toasts.scss +3 -2
  44. data/assets/stylesheets/bootstrap/_variables.scss +17 -16
  45. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +1 -0
  46. data/assets/stylesheets/bootstrap/forms/_input-group.scss +7 -4
  47. data/assets/stylesheets/bootstrap/mixins/_banner.scss +2 -2
  48. data/assets/stylesheets/bootstrap/mixins/_forms.scss +10 -10
  49. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +1 -1
  50. data/bootstrap.gemspec +1 -1
  51. data/lib/bootstrap/version.rb +2 -2
  52. data/tasks/updater/js.rb +1 -1
  53. metadata +4 -4
@@ -56,7 +56,7 @@
56
56
 
57
57
  .bs-popover-top {
58
58
  > .popover-arrow {
59
- bottom: calc((var(--#{$prefix}popover-arrow-height) * -1) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list
59
+ bottom: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list
60
60
 
61
61
  &::before,
62
62
  &::after {
@@ -78,7 +78,7 @@
78
78
  /* rtl:begin:ignore */
79
79
  .bs-popover-end {
80
80
  > .popover-arrow {
81
- left: calc((var(--#{$prefix}popover-arrow-height) * -1) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list
81
+ left: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list
82
82
  width: var(--#{$prefix}popover-arrow-height);
83
83
  height: var(--#{$prefix}popover-arrow-width);
84
84
 
@@ -103,7 +103,7 @@
103
103
 
104
104
  .bs-popover-bottom {
105
105
  > .popover-arrow {
106
- top: calc((var(--#{$prefix}popover-arrow-height) * -1) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list
106
+ top: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list
107
107
 
108
108
  &::before,
109
109
  &::after {
@@ -128,7 +128,7 @@
128
128
  left: 50%;
129
129
  display: block;
130
130
  width: var(--#{$prefix}popover-arrow-width);
131
- margin-left: calc(var(--#{$prefix}popover-arrow-width) * -.5); // stylelint-disable-line function-disallowed-list
131
+ margin-left: calc(-.5 * var(--#{$prefix}popover-arrow-width)); // stylelint-disable-line function-disallowed-list
132
132
  content: "";
133
133
  border-bottom: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-header-bg);
134
134
  }
@@ -137,7 +137,7 @@
137
137
  /* rtl:begin:ignore */
138
138
  .bs-popover-start {
139
139
  > .popover-arrow {
140
- right: calc((var(--#{$prefix}popover-arrow-height) * -1) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list
140
+ right: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list
141
141
  width: var(--#{$prefix}popover-arrow-height);
142
142
  height: var(--#{$prefix}popover-arrow-width);
143
143
 
@@ -1,5 +1,6 @@
1
1
  .toast {
2
2
  // scss-docs-start toast-css-vars
3
+ --#{$prefix}toast-zindex: #{$zindex-toast};
3
4
  --#{$prefix}toast-padding-x: #{$toast-padding-x};
4
5
  --#{$prefix}toast-padding-y: #{$toast-padding-y};
5
6
  --#{$prefix}toast-spacing: #{$toast-spacing};
@@ -38,7 +39,7 @@
38
39
 
39
40
  .toast-container {
40
41
  position: absolute;
41
- z-index: $zindex-toast;
42
+ z-index: var(--#{$prefix}toast-zindex);
42
43
  width: max-content;
43
44
  max-width: 100%;
44
45
  pointer-events: none;
@@ -59,7 +60,7 @@
59
60
  @include border-top-radius(calc(var(--#{$prefix}toast-border-radius) - var(--#{$prefix}toast-border-width)));
60
61
 
61
62
  .btn-close {
62
- margin-right: calc(var(--#{$prefix}toast-padding-x) * -.5); // stylelint-disable-line function-disallowed-list
63
+ margin-right: calc(-.5 * var(--#{$prefix}toast-padding-x)); // stylelint-disable-line function-disallowed-list
63
64
  margin-left: var(--#{$prefix}toast-padding-x);
64
65
  }
65
66
  }
@@ -1100,15 +1100,6 @@ $navbar-toggler-font-size: $font-size-lg !default;
1100
1100
  $navbar-toggler-border-radius: $btn-border-radius !default;
1101
1101
  $navbar-toggler-focus-width: $btn-focus-width !default;
1102
1102
  $navbar-toggler-transition: box-shadow .15s ease-in-out !default;
1103
- // scss-docs-end navbar-variables
1104
-
1105
- // scss-docs-start navbar-theme-variables
1106
- $navbar-dark-color: rgba($white, .55) !default;
1107
- $navbar-dark-hover-color: rgba($white, .75) !default;
1108
- $navbar-dark-active-color: $white !default;
1109
- $navbar-dark-disabled-color: rgba($white, .25) !default;
1110
- $navbar-dark-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default;
1111
- $navbar-dark-toggler-border-color: rgba($white, .1) !default;
1112
1103
 
1113
1104
  $navbar-light-color: rgba($black, .55) !default;
1114
1105
  $navbar-light-hover-color: rgba($black, .7) !default;
@@ -1116,12 +1107,20 @@ $navbar-light-active-color: rgba($black, .9) !default;
1116
1107
  $navbar-light-disabled-color: rgba($black, .3) !default;
1117
1108
  $navbar-light-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default;
1118
1109
  $navbar-light-toggler-border-color: rgba($black, .1) !default;
1110
+ $navbar-light-brand-color: $navbar-light-active-color !default;
1111
+ $navbar-light-brand-hover-color: $navbar-light-active-color !default;
1112
+ // scss-docs-end navbar-variables
1119
1113
 
1120
- $navbar-light-brand-color: $navbar-light-active-color !default;
1121
- $navbar-light-brand-hover-color: $navbar-light-active-color !default;
1122
- $navbar-dark-brand-color: $navbar-dark-active-color !default;
1123
- $navbar-dark-brand-hover-color: $navbar-dark-active-color !default;
1124
- // scss-docs-end navbar-theme-variables
1114
+ // scss-docs-start navbar-dark-variables
1115
+ $navbar-dark-color: rgba($white, .55) !default;
1116
+ $navbar-dark-hover-color: rgba($white, .75) !default;
1117
+ $navbar-dark-active-color: $white !default;
1118
+ $navbar-dark-disabled-color: rgba($white, .25) !default;
1119
+ $navbar-dark-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default;
1120
+ $navbar-dark-toggler-border-color: rgba($white, .1) !default;
1121
+ $navbar-dark-brand-color: $navbar-dark-active-color !default;
1122
+ $navbar-dark-brand-hover-color: $navbar-dark-active-color !default;
1123
+ // scss-docs-end navbar-dark-variables
1125
1124
 
1126
1125
 
1127
1126
  // Dropdowns
@@ -1333,7 +1332,7 @@ $popover-box-shadow: $box-shadow !default;
1333
1332
 
1334
1333
  $popover-header-font-size: $font-size-base !default;
1335
1334
  $popover-header-bg: shade-color($popover-bg, 6%) !default;
1336
- $popover-header-color: var(--#{$prefix}heading-color) !default;
1335
+ $popover-header-color: $headings-color !default;
1337
1336
  $popover-header-padding-y: .5rem !default;
1338
1337
  $popover-header-padding-x: $spacer !default;
1339
1338
 
@@ -1560,11 +1559,13 @@ $carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns='http://
1560
1559
 
1561
1560
  $carousel-transition-duration: .6s !default;
1562
1561
  $carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)
1562
+ // scss-docs-end carousel-variables
1563
1563
 
1564
+ // scss-docs-start carousel-dark-variables
1564
1565
  $carousel-dark-indicator-active-bg: $black !default;
1565
1566
  $carousel-dark-caption-color: $black !default;
1566
1567
  $carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;
1567
- // scss-docs-end carousel-variables
1568
+ // scss-docs-end carousel-dark-variables
1568
1569
 
1569
1570
 
1570
1571
  // Spinners
@@ -16,6 +16,7 @@
16
16
  height: 100%; // allow textareas
17
17
  padding: $form-floating-padding-y $form-floating-padding-x;
18
18
  overflow: hidden;
19
+ text-align: start;
19
20
  text-overflow: ellipsis;
20
21
  white-space: nowrap;
21
22
  pointer-events: none;
@@ -22,7 +22,7 @@
22
22
  > .form-control:focus,
23
23
  > .form-select:focus,
24
24
  > .form-floating:focus-within {
25
- z-index: 3;
25
+ z-index: 5;
26
26
  }
27
27
 
28
28
  // Ensure buttons are always above inputs for more visually pleasing borders.
@@ -33,7 +33,7 @@
33
33
  z-index: 2;
34
34
 
35
35
  &:focus {
36
- z-index: 3;
36
+ z-index: 5;
37
37
  }
38
38
  }
39
39
  }
@@ -120,10 +120,13 @@
120
120
  $validation-messages: $validation-messages + ":not(." + unquote($state) + "-tooltip)" + ":not(." + unquote($state) + "-feedback)";
121
121
  }
122
122
 
123
- > :not(:first-child):not(.dropdown-menu):not(.form-floating)#{$validation-messages},
123
+ > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {
124
+ margin-left: -$input-border-width;
125
+ @include border-start-radius(0);
126
+ }
127
+
124
128
  > .form-floating:not(:first-child) > .form-control,
125
129
  > .form-floating:not(:first-child) > .form-select {
126
- margin-left: -$input-border-width;
127
130
  @include border-start-radius(0);
128
131
  }
129
132
  }
@@ -1,6 +1,6 @@
1
- @mixin bsBanner($file, $suffix:"") {
1
+ @mixin bsBanner($file) {
2
2
  /*!
3
- * Bootstrap #{$file} v5.2.0 (https://getbootstrap.com/)
3
+ * Bootstrap #{$file} v5.2.1 (https://getbootstrap.com/)
4
4
  * Copyright 2011-2022 The Bootstrap Authors
5
5
  * Copyright 2011-2022 Twitter, Inc.
6
6
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@@ -135,16 +135,16 @@
135
135
  }
136
136
  }
137
137
 
138
- .input-group .form-control,
139
- .input-group .form-select {
140
- @include form-validation-state-selector($state) {
141
- @if $state == "valid" {
142
- z-index: 1;
143
- } @else if $state == "invalid" {
144
- z-index: 2;
145
- }
146
- &:focus {
147
- z-index: 3;
138
+ .input-group {
139
+ > .form-control:not(:focus),
140
+ > .form-select:not(:focus),
141
+ > .form-floating:not(:focus-within) {
142
+ @include form-validation-state-selector($state) {
143
+ @if $state == "valid" {
144
+ z-index: 3;
145
+ } @else if $state == "invalid" {
146
+ z-index: 4;
147
+ }
148
148
  }
149
149
  }
150
150
  }
@@ -28,7 +28,7 @@
28
28
 
29
29
  $infix: if($property-class == "" and str-slice($infix, 1, 1) == "-", str-slice($infix, 2), $infix);
30
30
 
31
- // Don't prefix if value key is null (eg. with shadow class)
31
+ // Don't prefix if value key is null (e.g. with shadow class)
32
32
  $property-class-modifier: if($key, if($property-class == "" and $infix == "", "", "-") + $key, "");
33
33
 
34
34
  @if map-get($utility, rfs) {
data/bootstrap.gemspec CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
14
14
  # SassC requires Ruby 2.3.3. Also specify here to make it obvious.
15
15
  s.required_ruby_version = '>= 2.3.3'
16
16
 
17
- s.add_runtime_dependency 'popper_js', '>= 2.11.5', '< 3'
17
+ s.add_runtime_dependency 'popper_js', '>= 2.11.6', '< 3'
18
18
 
19
19
  s.add_runtime_dependency 'sassc-rails', '>= 2.0.0'
20
20
  s.add_runtime_dependency 'autoprefixer-rails', '>= 9.1.0'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bootstrap
4
- VERSION = '5.2.0'
5
- BOOTSTRAP_SHA = 'edf9c40956d19e6ab3f9151bfe0dfac6be06fa21'
4
+ VERSION = '5.2.1'
5
+ BOOTSTRAP_SHA = '23e50829f958ea1d741d63e2781716be037e4644'
6
6
  end
data/tasks/updater/js.rb CHANGED
@@ -25,7 +25,7 @@ class Updater
25
25
  'assets/javascripts/bootstrap-global-this-define.js' => <<~JS,
26
26
  // Set a `globalThis` so that bootstrap components are defined on window.bootstrap instead of window.
27
27
  window['bootstrap'] = {
28
- Popper: window.Popper,
28
+ "@popperjs/core": window.Popper,
29
29
  _originalGlobalThis: window['globalThis']
30
30
  };
31
31
  window['globalThis'] = window['bootstrap'];
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.0
4
+ version: 5.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Twitter, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-20 00:00:00.000000000 Z
11
+ date: 2022-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: popper_js
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 2.11.5
19
+ version: 2.11.6
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '3'
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 2.11.5
29
+ version: 2.11.6
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '3'