bootstrap 5.0.0.beta2 → 5.0.0.beta3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/assets/javascripts/bootstrap-sprockets.js +1 -0
  4. data/assets/javascripts/bootstrap.js +2051 -2009
  5. data/assets/javascripts/bootstrap.min.js +2 -2
  6. data/assets/javascripts/bootstrap/alert.js +75 -118
  7. data/assets/javascripts/bootstrap/base-component.js +23 -37
  8. data/assets/javascripts/bootstrap/button.js +39 -78
  9. data/assets/javascripts/bootstrap/carousel.js +284 -364
  10. data/assets/javascripts/bootstrap/collapse.js +178 -247
  11. data/assets/javascripts/bootstrap/dom/data.js +34 -47
  12. data/assets/javascripts/bootstrap/dom/event-handler.js +71 -77
  13. data/assets/javascripts/bootstrap/dom/manipulator.js +23 -21
  14. data/assets/javascripts/bootstrap/dom/selector-engine.js +20 -28
  15. data/assets/javascripts/bootstrap/dropdown.js +195 -265
  16. data/assets/javascripts/bootstrap/modal.js +256 -344
  17. data/assets/javascripts/bootstrap/offcanvas.js +508 -0
  18. data/assets/javascripts/bootstrap/popover.js +88 -157
  19. data/assets/javascripts/bootstrap/scrollspy.js +134 -212
  20. data/assets/javascripts/bootstrap/tab.js +108 -142
  21. data/assets/javascripts/bootstrap/toast.js +113 -183
  22. data/assets/javascripts/bootstrap/tooltip.js +297 -392
  23. data/assets/stylesheets/_bootstrap-grid.scss +1 -1
  24. data/assets/stylesheets/_bootstrap-reboot.scss +1 -1
  25. data/assets/stylesheets/_bootstrap.scss +2 -1
  26. data/assets/stylesheets/bootstrap/_accordion.scss +22 -32
  27. data/assets/stylesheets/bootstrap/_buttons.scss +2 -0
  28. data/assets/stylesheets/bootstrap/_card.scss +1 -1
  29. data/assets/stylesheets/bootstrap/_dropdown.scss +3 -6
  30. data/assets/stylesheets/bootstrap/_list-group.scss +11 -0
  31. data/assets/stylesheets/bootstrap/_modal.scss +2 -0
  32. data/assets/stylesheets/bootstrap/_nav.scss +7 -0
  33. data/assets/stylesheets/bootstrap/_navbar.scss +2 -0
  34. data/assets/stylesheets/bootstrap/_offcanvas.scss +77 -0
  35. data/assets/stylesheets/bootstrap/_progress.scss +3 -0
  36. data/assets/stylesheets/bootstrap/_reboot.scss +7 -21
  37. data/assets/stylesheets/bootstrap/_spinners.scss +4 -0
  38. data/assets/stylesheets/bootstrap/_transitions.scss +2 -0
  39. data/assets/stylesheets/bootstrap/_utilities.scss +65 -37
  40. data/assets/stylesheets/bootstrap/_variables.scss +138 -30
  41. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +1 -1
  42. data/assets/stylesheets/bootstrap/forms/_form-control.scss +0 -4
  43. data/assets/stylesheets/bootstrap/mixins/_alert.scss +2 -0
  44. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +2 -0
  45. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +6 -1
  46. data/assets/stylesheets/bootstrap/mixins/_caret.scss +2 -0
  47. data/assets/stylesheets/bootstrap/mixins/_forms.scss +11 -1
  48. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -0
  49. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +2 -0
  50. data/bootstrap.gemspec +1 -1
  51. data/lib/bootstrap/version.rb +2 -2
  52. data/tasks/updater/js.rb +1 -1
  53. data/tasks/updater/network.rb +7 -1
  54. metadata +6 -4
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap Grid v5.0.0-beta2 (https://getbootstrap.com/)
2
+ * Bootstrap Grid v5.0.0-beta3 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2021 The Bootstrap Authors
4
4
  * Copyright 2011-2021 Twitter, Inc.
5
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap Reboot v5.0.0-beta2 (https://getbootstrap.com/)
2
+ * Bootstrap Reboot v5.0.0-beta3 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2021 The Bootstrap Authors
4
4
  * Copyright 2011-2021 Twitter, Inc.
5
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap v5.0.0-beta2 (https://getbootstrap.com/)
2
+ * Bootstrap v5.0.0-beta3 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2021 The Bootstrap Authors
4
4
  * Copyright 2011-2021 Twitter, Inc.
5
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@@ -42,6 +42,7 @@
42
42
  @import "bootstrap/popover";
43
43
  @import "bootstrap/carousel";
44
44
  @import "bootstrap/spinners";
45
+ @import "bootstrap/offcanvas";
45
46
 
46
47
  // Helpers
47
48
  @import "bootstrap/helpers";
@@ -12,18 +12,15 @@
12
12
  color: $accordion-button-color;
13
13
  text-align: left; // Reset button style
14
14
  background-color: $accordion-button-bg;
15
- border: $accordion-border-width solid $accordion-border-color;
15
+ border: 0;
16
16
  @include border-radius(0);
17
17
  overflow-anchor: none;
18
18
  @include transition($accordion-transition);
19
19
 
20
- &.collapsed {
21
- border-bottom-width: 0;
22
- }
23
-
24
20
  &:not(.collapsed) {
25
21
  color: $accordion-button-active-color;
26
22
  background-color: $accordion-button-active-bg;
23
+ box-shadow: inset 0 ($accordion-border-width * -1) 0 $accordion-border-color;
27
24
 
28
25
  &::after {
29
26
  background-image: escape-svg($accordion-button-active-icon);
@@ -61,33 +58,35 @@
61
58
  }
62
59
 
63
60
  .accordion-item {
61
+ margin-bottom: -$accordion-border-width;
62
+ background-color: $accordion-bg;
63
+ border: $accordion-border-width solid $accordion-border-color;
64
+
64
65
  &:first-of-type {
66
+ @include border-top-radius($accordion-border-radius);
67
+
65
68
  .accordion-button {
66
- @include border-top-radius($accordion-border-radius);
69
+ @include border-top-radius($accordion-inner-border-radius);
67
70
  }
68
71
  }
69
72
 
73
+ // Only set a border-radius on the last item if the accordion is collapsed
70
74
  &:last-of-type {
75
+ margin-bottom: 0;
76
+ @include border-bottom-radius($accordion-border-radius);
77
+
71
78
  .accordion-button {
72
- // Only set a border-radius on the last item if the accordion is collapsed
73
79
  &.collapsed {
74
- border-bottom-width: $accordion-border-width;
75
- @include border-bottom-radius($accordion-border-radius);
80
+ @include border-bottom-radius($accordion-inner-border-radius);
76
81
  }
77
82
  }
78
83
 
79
84
  .accordion-collapse {
80
- border-bottom-width: $accordion-border-width;
81
85
  @include border-bottom-radius($accordion-border-radius);
82
86
  }
83
87
  }
84
88
  }
85
89
 
86
- .accordion-collapse {
87
- border: solid $accordion-border-color;
88
- border-width: 0 $accordion-border-width;
89
- }
90
-
91
90
  .accordion-body {
92
91
  padding: $accordion-body-padding-y $accordion-body-padding-x;
93
92
  }
@@ -98,29 +97,20 @@
98
97
  // Remove borders and border-radius to keep accordion items edge-to-edge.
99
98
 
100
99
  .accordion-flush {
101
- .accordion-button {
102
- border-right: 0;
103
- border-left: 0;
104
- @include border-radius(0);
105
- }
106
-
107
100
  .accordion-collapse {
108
101
  border-width: 0;
109
102
  }
110
103
 
111
104
  .accordion-item {
112
- &:first-of-type {
113
- .accordion-button {
114
- border-top-width: 0;
115
- @include border-top-radius(0);
116
- }
117
- }
105
+ border-right: 0;
106
+ border-left: 0;
107
+ @include border-radius(0);
118
108
 
119
- &:last-of-type {
120
- .accordion-button.collapsed {
121
- border-bottom-width: 0;
122
- @include border-bottom-radius(0);
123
- }
109
+ &:first-child { border-top: 0; }
110
+ &:last-child { border-bottom: 0; }
111
+
112
+ .accordion-button {
113
+ @include border-radius(0);
124
114
  }
125
115
  }
126
116
  }
@@ -55,6 +55,7 @@
55
55
  // Alternate buttons
56
56
  //
57
57
 
58
+ // scss-docs-start btn-variant-loops
58
59
  @each $color, $value in $theme-colors {
59
60
  .btn-#{$color} {
60
61
  @include button-variant($value, $value);
@@ -66,6 +67,7 @@
66
67
  @include button-outline-variant($value);
67
68
  }
68
69
  }
70
+ // scss-docs-end btn-variant-loops
69
71
 
70
72
 
71
73
  //
@@ -69,7 +69,7 @@
69
69
  }
70
70
 
71
71
  + .card-link {
72
- margin-left: $card-spacer-x #{"/* rtl:ignore */"};
72
+ margin-left: $card-spacer-x;
73
73
  }
74
74
  }
75
75
 
@@ -70,14 +70,11 @@
70
70
  // Allow for dropdowns to go bottom up (aka, dropup-menu)
71
71
  // Just add .dropup after the standard .dropdown class and you're set.
72
72
  .dropup {
73
- .dropdown-menu {
73
+ .dropdown-menu[data-bs-popper] {
74
74
  top: auto;
75
75
  bottom: 100%;
76
-
77
- &[data-bs-popper] {
78
- margin-top: 0;
79
- margin-bottom: $dropdown-spacer;
80
- }
76
+ margin-top: 0;
77
+ margin-bottom: $dropdown-spacer;
81
78
  }
82
79
 
83
80
  .dropdown-toggle {
@@ -12,6 +12,17 @@
12
12
  @include border-radius($list-group-border-radius);
13
13
  }
14
14
 
15
+ .list-group-numbered {
16
+ list-style-type: none;
17
+ counter-reset: section;
18
+
19
+ > li::before {
20
+ // Increments only this instance of the section counter
21
+ content: counters(section, ".") ". ";
22
+ counter-increment: section;
23
+ }
24
+ }
25
+
15
26
 
16
27
  // Interactive list items
17
28
  //
@@ -202,6 +202,7 @@
202
202
  .modal-xl { max-width: $modal-xl; }
203
203
  }
204
204
 
205
+ // scss-docs-start modal-fullscreen-loop
205
206
  @each $breakpoint in map-keys($grid-breakpoints) {
206
207
  $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
207
208
  $postfix: if($infix != "", $infix + "-down", "");
@@ -233,3 +234,4 @@
233
234
  }
234
235
  }
235
236
  }
237
+ // scss-docs-end modal-fullscreen-loop
@@ -117,6 +117,13 @@
117
117
  }
118
118
  }
119
119
 
120
+ .nav-fill,
121
+ .nav-justified {
122
+ .nav-item .nav-link {
123
+ width: 100%; // Make sure button will grow
124
+ }
125
+ }
126
+
120
127
 
121
128
  // Tabbable tabs
122
129
  //
@@ -154,6 +154,7 @@
154
154
  overflow-y: auto;
155
155
  }
156
156
 
157
+ // scss-docs-start navbar-expand-loop
157
158
  // Generate series of `.navbar-expand-*` responsive classes for configuring
158
159
  // where your navbar collapses.
159
160
  .navbar-expand {
@@ -196,6 +197,7 @@
196
197
  }
197
198
  }
198
199
  }
200
+ // scss-docs-end navbar-expand-loop
199
201
 
200
202
 
201
203
  // Navbar themes
@@ -0,0 +1,77 @@
1
+ .offcanvas {
2
+ position: fixed;
3
+ bottom: 0;
4
+ z-index: $zindex-offcanvas;
5
+ display: flex;
6
+ flex-direction: column;
7
+ max-width: 100%;
8
+ color: $offcanvas-color;
9
+ visibility: hidden;
10
+ background-color: $offcanvas-bg-color;
11
+ background-clip: padding-box;
12
+ outline: 0;
13
+ @include box-shadow($offcanvas-box-shadow);
14
+ @include transition(transform $offcanvas-transition-duration ease-in-out);
15
+ }
16
+
17
+ .offcanvas-header {
18
+ display: flex;
19
+ justify-content: space-between;
20
+ padding: $offcanvas-padding-y $offcanvas-padding-x;
21
+
22
+ .btn-close {
23
+ padding: ($offcanvas-padding-y / 2) ($offcanvas-padding-x / 2);
24
+ margin: ($offcanvas-padding-y / -2) ($offcanvas-padding-x / -2) ($offcanvas-padding-y / -2) auto;
25
+ }
26
+ }
27
+
28
+ .offcanvas-title {
29
+ margin-bottom: 0;
30
+ line-height: $offcanvas-title-line-height;
31
+ }
32
+
33
+ .offcanvas-body {
34
+ flex-grow: 1;
35
+ padding: $offcanvas-padding-y $offcanvas-padding-x;
36
+ overflow-y: auto;
37
+ }
38
+
39
+ .offcanvas-start {
40
+ top: 0;
41
+ left: 0;
42
+ width: $offcanvas-horizontal-width;
43
+ border-right: $offcanvas-border-width solid $offcanvas-border-color;
44
+ transform: translateX(-100%);
45
+ }
46
+
47
+ .offcanvas-end {
48
+ top: 0;
49
+ right: 0;
50
+ width: $offcanvas-horizontal-width;
51
+ border-left: $offcanvas-border-width solid $offcanvas-border-color;
52
+ transform: translateX(100%);
53
+ }
54
+
55
+ .offcanvas-bottom {
56
+ right: 0;
57
+ left: 0;
58
+ height: $offcanvas-vertical-height;
59
+ max-height: 100%;
60
+ border-top: $offcanvas-border-width solid $offcanvas-border-color;
61
+ transform: translateY(100%);
62
+ }
63
+
64
+ .offcanvas.show {
65
+ transform: none;
66
+ }
67
+
68
+ .offcanvas-backdrop::before {
69
+ position: fixed;
70
+ top: 0;
71
+ left: 0;
72
+ z-index: $zindex-offcanvas - 1;
73
+ width: 100vw;
74
+ height: 100vh;
75
+ content: "";
76
+ background-color: $offcanvas-body-backdrop-color;
77
+ }
@@ -1,9 +1,12 @@
1
1
  // Disable animation if transitions are disabled
2
+
3
+ // scss-docs-start progress-keyframes
2
4
  @if $enable-transitions {
3
5
  @keyframes progress-bar-stripes {
4
6
  0% { background-position-x: $progress-height; }
5
7
  }
6
8
  }
9
+ // scss-docs-end progress-keyframes
7
10
 
8
11
  .progress {
9
12
  display: flex;
@@ -57,20 +57,6 @@ body {
57
57
  }
58
58
 
59
59
 
60
- // Future-proof rule: in browsers that support :focus-visible, suppress the focus outline
61
- // on elements that programmatically receive focus but wouldn't normally show a visible
62
- // focus outline. In general, this would mean that the outline is only applied if the
63
- // interaction that led to the element receiving programmatic focus was a keyboard interaction,
64
- // or the browser has somehow determined that the user is primarily a keyboard user and/or
65
- // wants focus outlines to always be presented.
66
- // See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible
67
- // and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/
68
-
69
- [tabindex="-1"]:focus:not(:focus-visible) {
70
- outline: 0 !important;
71
- }
72
-
73
-
74
60
  // Content grouping
75
61
  //
76
62
  // 1. Reset Firefox's gray color
@@ -156,7 +142,6 @@ p {
156
142
 
157
143
  abbr[title],
158
144
  abbr[data-bs-original-title] { // 1
159
- text-decoration: underline; // 2
160
145
  text-decoration: underline dotted; // 2
161
146
  cursor: help; // 3
162
147
  text-decoration-skip-ink: none; // 4
@@ -434,12 +419,10 @@ textarea {
434
419
  }
435
420
 
436
421
  // Remove the inheritance of text transform in Firefox
437
-
438
422
  button,
439
423
  select {
440
424
  text-transform: none;
441
425
  }
442
-
443
426
  // Set the cursor for non-`<button>` buttons
444
427
  //
445
428
  // Details at https://github.com/twbs/bootstrap/pull/30562
@@ -447,11 +430,15 @@ select {
447
430
  cursor: pointer;
448
431
  }
449
432
 
450
- // Remove the inheritance of word-wrap in Safari.
451
- // See https://github.com/twbs/bootstrap/issues/24990
452
-
453
433
  select {
434
+ // Remove the inheritance of word-wrap in Safari.
435
+ // See https://github.com/twbs/bootstrap/issues/24990
454
436
  word-wrap: normal;
437
+
438
+ // Undo the opacity change from Chrome
439
+ &:disabled {
440
+ opacity: 1;
441
+ }
455
442
  }
456
443
 
457
444
  // Remove the dropdown arrow in Chrome from inputs built with datalists.
@@ -582,7 +569,6 @@ legend {
582
569
 
583
570
  // Inherit font family and line height for file input buttons
584
571
 
585
- // stylelint-disable-next-line selector-pseudo-element-no-unknown
586
572
  ::file-selector-button {
587
573
  font: inherit;
588
574
  }
@@ -2,9 +2,11 @@
2
2
  // Rotating border
3
3
  //
4
4
 
5
+ // scss-docs-start spinner-border-keyframes
5
6
  @keyframes spinner-border {
6
7
  to { transform: rotate(360deg) #{"/* rtl:ignore */"}; }
7
8
  }
9
+ // scss-docs-end spinner-border-keyframes
8
10
 
9
11
  .spinner-border {
10
12
  display: inline-block;
@@ -28,6 +30,7 @@
28
30
  // Growing circle
29
31
  //
30
32
 
33
+ // scss-docs-start spinner-grow-keyframes
31
34
  @keyframes spinner-grow {
32
35
  0% {
33
36
  transform: scale(0);
@@ -37,6 +40,7 @@
37
40
  transform: none;
38
41
  }
39
42
  }
43
+ // scss-docs-end spinner-grow-keyframes
40
44
 
41
45
  .spinner-grow {
42
46
  display: inline-block;
@@ -6,6 +6,7 @@
6
6
  }
7
7
  }
8
8
 
9
+ // scss-docs-start collapse-classes
9
10
  .collapse {
10
11
  &:not(.show) {
11
12
  display: none;
@@ -17,3 +18,4 @@
17
18
  overflow: hidden;
18
19
  @include transition($transition-collapse);
19
20
  }
21
+ // scss-docs-end collapse-classes