bootstrap 5.2.0 → 5.2.1

Sign up to get free protection for your applications and to get access to all the features.
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'