bootstrap 4.5.2 → 5.0.0.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/assets/javascripts/bootstrap-sprockets.js +12 -8
  4. data/assets/javascripts/bootstrap.js +1876 -1220
  5. data/assets/javascripts/bootstrap.min.js +2 -2
  6. data/assets/javascripts/bootstrap/alert.js +133 -48
  7. data/assets/javascripts/bootstrap/button.js +56 -123
  8. data/assets/javascripts/bootstrap/carousel.js +268 -129
  9. data/assets/javascripts/bootstrap/collapse.js +285 -106
  10. data/assets/javascripts/bootstrap/dom/data.js +81 -0
  11. data/assets/javascripts/bootstrap/dom/event-handler.js +311 -0
  12. data/assets/javascripts/bootstrap/dom/manipulator.js +100 -0
  13. data/assets/javascripts/bootstrap/dom/polyfill.js +110 -0
  14. data/assets/javascripts/bootstrap/dom/selector-engine.js +98 -0
  15. data/assets/javascripts/bootstrap/dropdown.js +235 -161
  16. data/assets/javascripts/bootstrap/modal.js +322 -193
  17. data/assets/javascripts/bootstrap/popover.js +72 -41
  18. data/assets/javascripts/bootstrap/scrollspy.js +151 -56
  19. data/assets/javascripts/bootstrap/tab.js +151 -64
  20. data/assets/javascripts/bootstrap/toast.js +163 -65
  21. data/assets/javascripts/bootstrap/tooltip.js +336 -155
  22. data/assets/stylesheets/_bootstrap-grid.scss +51 -15
  23. data/assets/stylesheets/_bootstrap-reboot.scss +4 -1
  24. data/assets/stylesheets/_bootstrap.scss +14 -8
  25. data/assets/stylesheets/bootstrap/_alert.scss +3 -3
  26. data/assets/stylesheets/bootstrap/_badge.scss +2 -27
  27. data/assets/stylesheets/bootstrap/_breadcrumb.scss +3 -17
  28. data/assets/stylesheets/bootstrap/_button-group.scss +16 -38
  29. data/assets/stylesheets/bootstrap/_buttons.scss +27 -45
  30. data/assets/stylesheets/bootstrap/_card.scss +18 -64
  31. data/assets/stylesheets/bootstrap/_carousel.scss +13 -15
  32. data/assets/stylesheets/bootstrap/_close.scss +9 -13
  33. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  34. data/assets/stylesheets/bootstrap/_dropdown.scss +10 -7
  35. data/assets/stylesheets/bootstrap/_forms.scss +9 -347
  36. data/assets/stylesheets/bootstrap/_functions.scss +82 -20
  37. data/assets/stylesheets/bootstrap/_grid.scss +3 -54
  38. data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
  39. data/assets/stylesheets/bootstrap/_list-group.scss +6 -3
  40. data/assets/stylesheets/bootstrap/_mixins.scss +6 -12
  41. data/assets/stylesheets/bootstrap/_modal.scss +34 -39
  42. data/assets/stylesheets/bootstrap/_nav.scss +8 -8
  43. data/assets/stylesheets/bootstrap/_navbar.scss +42 -74
  44. data/assets/stylesheets/bootstrap/_pagination.scss +7 -20
  45. data/assets/stylesheets/bootstrap/_popover.scss +5 -5
  46. data/assets/stylesheets/bootstrap/_progress.scss +2 -4
  47. data/assets/stylesheets/bootstrap/_reboot.scss +300 -164
  48. data/assets/stylesheets/bootstrap/_root.scss +5 -9
  49. data/assets/stylesheets/bootstrap/_spinners.scss +2 -2
  50. data/assets/stylesheets/bootstrap/_tables.scss +80 -114
  51. data/assets/stylesheets/bootstrap/_toasts.scss +2 -4
  52. data/assets/stylesheets/bootstrap/_tooltip.scss +5 -5
  53. data/assets/stylesheets/bootstrap/_transitions.scss +0 -1
  54. data/assets/stylesheets/bootstrap/_type.scss +38 -59
  55. data/assets/stylesheets/bootstrap/_utilities.scss +503 -18
  56. data/assets/stylesheets/bootstrap/_variables.scss +544 -424
  57. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  58. data/assets/stylesheets/bootstrap/forms/_form-check.scss +142 -0
  59. data/assets/stylesheets/bootstrap/forms/_form-control.scss +116 -0
  60. data/assets/stylesheets/bootstrap/forms/_form-file.scss +91 -0
  61. data/assets/stylesheets/bootstrap/forms/_form-range.scss +136 -0
  62. data/assets/stylesheets/bootstrap/forms/_form-select.scss +82 -0
  63. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  64. data/assets/stylesheets/bootstrap/forms/_input-group.scss +140 -0
  65. data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
  66. data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
  67. data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
  68. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
  69. data/assets/stylesheets/bootstrap/helpers/_embed.scss +31 -0
  70. data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
  71. data/assets/stylesheets/bootstrap/helpers/_screenreaders.scss +8 -0
  72. data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
  73. data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
  74. data/assets/stylesheets/bootstrap/mixins/_alert.scss +0 -4
  75. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +11 -8
  76. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +62 -47
  77. data/assets/stylesheets/bootstrap/mixins/_caret.scss +4 -4
  78. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  79. data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
  80. data/assets/stylesheets/bootstrap/mixins/_forms.scss +22 -67
  81. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +9 -11
  82. data/assets/stylesheets/bootstrap/mixins/_grid.scss +84 -32
  83. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
  84. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -1
  85. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  86. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +15 -8
  87. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
  88. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +16 -22
  89. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
  90. data/assets/stylesheets/bootstrap/mixins/_transition.scss +1 -1
  91. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +49 -0
  92. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  93. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +234 -126
  94. data/lib/bootstrap/version.rb +2 -2
  95. data/tasks/updater/js.rb +3 -3
  96. metadata +31 -39
  97. data/assets/javascripts/bootstrap/util.js +0 -192
  98. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  99. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -523
  100. data/assets/stylesheets/bootstrap/_input-group.scss +0 -192
  101. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
  102. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  103. data/assets/stylesheets/bootstrap/_print.scss +0 -141
  104. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -23
  105. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
  106. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
  107. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -80
  108. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  109. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
  110. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
  111. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
  112. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
  113. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
  114. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
  115. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  116. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  117. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
  118. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
  119. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
  120. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  121. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
  122. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +0 -5
  123. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
  124. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
  125. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  126. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  127. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
  128. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
  129. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
  130. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
  131. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
@@ -1,192 +0,0 @@
1
- // stylelint-disable selector-no-qualifying-type
2
-
3
- //
4
- // Base styles
5
- //
6
-
7
- .input-group {
8
- position: relative;
9
- display: flex;
10
- flex-wrap: wrap; // For form validation feedback
11
- align-items: stretch;
12
- width: 100%;
13
-
14
- > .form-control,
15
- > .form-control-plaintext,
16
- > .custom-select,
17
- > .custom-file {
18
- position: relative; // For focus state's z-index
19
- flex: 1 1 auto;
20
- width: 1%;
21
- min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size
22
- margin-bottom: 0;
23
-
24
- + .form-control,
25
- + .custom-select,
26
- + .custom-file {
27
- margin-left: -$input-border-width;
28
- }
29
- }
30
-
31
- // Bring the "active" form control to the top of surrounding elements
32
- > .form-control:focus,
33
- > .custom-select:focus,
34
- > .custom-file .custom-file-input:focus ~ .custom-file-label {
35
- z-index: 3;
36
- }
37
-
38
- // Bring the custom file input above the label
39
- > .custom-file .custom-file-input:focus {
40
- z-index: 4;
41
- }
42
-
43
- > .form-control,
44
- > .custom-select {
45
- &:not(:last-child) { @include border-right-radius(0); }
46
- &:not(:first-child) { @include border-left-radius(0); }
47
- }
48
-
49
- // Custom file inputs have more complex markup, thus requiring different
50
- // border-radius overrides.
51
- > .custom-file {
52
- display: flex;
53
- align-items: center;
54
-
55
- &:not(:last-child) .custom-file-label,
56
- &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }
57
- &:not(:first-child) .custom-file-label { @include border-left-radius(0); }
58
- }
59
- }
60
-
61
-
62
- // Prepend and append
63
- //
64
- // While it requires one extra layer of HTML for each, dedicated prepend and
65
- // append elements allow us to 1) be less clever, 2) simplify our selectors, and
66
- // 3) support HTML5 form validation.
67
-
68
- .input-group-prepend,
69
- .input-group-append {
70
- display: flex;
71
-
72
- // Ensure buttons are always above inputs for more visually pleasing borders.
73
- // This isn't needed for `.input-group-text` since it shares the same border-color
74
- // as our inputs.
75
- .btn {
76
- position: relative;
77
- z-index: 2;
78
-
79
- &:focus {
80
- z-index: 3;
81
- }
82
- }
83
-
84
- .btn + .btn,
85
- .btn + .input-group-text,
86
- .input-group-text + .input-group-text,
87
- .input-group-text + .btn {
88
- margin-left: -$input-border-width;
89
- }
90
- }
91
-
92
- .input-group-prepend { margin-right: -$input-border-width; }
93
- .input-group-append { margin-left: -$input-border-width; }
94
-
95
-
96
- // Textual addons
97
- //
98
- // Serves as a catch-all element for any text or radio/checkbox input you wish
99
- // to prepend or append to an input.
100
-
101
- .input-group-text {
102
- display: flex;
103
- align-items: center;
104
- padding: $input-padding-y $input-padding-x;
105
- margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom
106
- @include font-size($input-font-size); // Match inputs
107
- font-weight: $font-weight-normal;
108
- line-height: $input-line-height;
109
- color: $input-group-addon-color;
110
- text-align: center;
111
- white-space: nowrap;
112
- background-color: $input-group-addon-bg;
113
- border: $input-border-width solid $input-group-addon-border-color;
114
- @include border-radius($input-border-radius);
115
-
116
- // Nuke default margins from checkboxes and radios to vertically center within.
117
- input[type="radio"],
118
- input[type="checkbox"] {
119
- margin-top: 0;
120
- }
121
- }
122
-
123
-
124
- // Sizing
125
- //
126
- // Remix the default form control sizing classes into new ones for easier
127
- // manipulation.
128
-
129
- .input-group-lg > .form-control:not(textarea),
130
- .input-group-lg > .custom-select {
131
- height: $input-height-lg;
132
- }
133
-
134
- .input-group-lg > .form-control,
135
- .input-group-lg > .custom-select,
136
- .input-group-lg > .input-group-prepend > .input-group-text,
137
- .input-group-lg > .input-group-append > .input-group-text,
138
- .input-group-lg > .input-group-prepend > .btn,
139
- .input-group-lg > .input-group-append > .btn {
140
- padding: $input-padding-y-lg $input-padding-x-lg;
141
- @include font-size($input-font-size-lg);
142
- line-height: $input-line-height-lg;
143
- @include border-radius($input-border-radius-lg);
144
- }
145
-
146
- .input-group-sm > .form-control:not(textarea),
147
- .input-group-sm > .custom-select {
148
- height: $input-height-sm;
149
- }
150
-
151
- .input-group-sm > .form-control,
152
- .input-group-sm > .custom-select,
153
- .input-group-sm > .input-group-prepend > .input-group-text,
154
- .input-group-sm > .input-group-append > .input-group-text,
155
- .input-group-sm > .input-group-prepend > .btn,
156
- .input-group-sm > .input-group-append > .btn {
157
- padding: $input-padding-y-sm $input-padding-x-sm;
158
- @include font-size($input-font-size-sm);
159
- line-height: $input-line-height-sm;
160
- @include border-radius($input-border-radius-sm);
161
- }
162
-
163
- .input-group-lg > .custom-select,
164
- .input-group-sm > .custom-select {
165
- padding-right: $custom-select-padding-x + $custom-select-indicator-padding;
166
- }
167
-
168
-
169
- // Prepend and append rounded corners
170
- //
171
- // These rulesets must come after the sizing ones to properly override sm and lg
172
- // border-radius values when extending. They're more specific than we'd like
173
- // with the `.input-group >` part, but without it, we cannot override the sizing.
174
-
175
-
176
- .input-group > .input-group-prepend > .btn,
177
- .input-group > .input-group-prepend > .input-group-text,
178
- .input-group > .input-group-append:not(:last-child) > .btn,
179
- .input-group > .input-group-append:not(:last-child) > .input-group-text,
180
- .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
181
- .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
182
- @include border-right-radius(0);
183
- }
184
-
185
- .input-group > .input-group-append > .btn,
186
- .input-group > .input-group-append > .input-group-text,
187
- .input-group > .input-group-prepend:not(:first-child) > .btn,
188
- .input-group > .input-group-prepend:not(:first-child) > .input-group-text,
189
- .input-group > .input-group-prepend:first-child > .btn:not(:first-child),
190
- .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
191
- @include border-left-radius(0);
192
- }
@@ -1,17 +0,0 @@
1
- .jumbotron {
2
- padding: $jumbotron-padding ($jumbotron-padding / 2);
3
- margin-bottom: $jumbotron-padding;
4
- color: $jumbotron-color;
5
- background-color: $jumbotron-bg;
6
- @include border-radius($border-radius-lg);
7
-
8
- @include media-breakpoint-up(sm) {
9
- padding: ($jumbotron-padding * 2) $jumbotron-padding;
10
- }
11
- }
12
-
13
- .jumbotron-fluid {
14
- padding-right: 0;
15
- padding-left: 0;
16
- @include border-radius(0);
17
- }
@@ -1,8 +0,0 @@
1
- .media {
2
- display: flex;
3
- align-items: flex-start;
4
- }
5
-
6
- .media-body {
7
- flex: 1;
8
- }
@@ -1,141 +0,0 @@
1
- // stylelint-disable declaration-no-important, selector-no-qualifying-type
2
-
3
- // Source: https://github.com/h5bp/main.css/blob/master/src/_print.css
4
-
5
- // ==========================================================================
6
- // Print styles.
7
- // Inlined to avoid the additional HTTP request:
8
- // https://www.phpied.com/delay-loading-your-print-css/
9
- // ==========================================================================
10
-
11
- @if $enable-print-styles {
12
- @media print {
13
- *,
14
- *::before,
15
- *::after {
16
- // Bootstrap specific; comment out `color` and `background`
17
- //color: $black !important; // Black prints faster
18
- text-shadow: none !important;
19
- //background: transparent !important;
20
- box-shadow: none !important;
21
- }
22
-
23
- a {
24
- &:not(.btn) {
25
- text-decoration: underline;
26
- }
27
- }
28
-
29
- // Bootstrap specific; comment the following selector out
30
- //a[href]::after {
31
- // content: " (" attr(href) ")";
32
- //}
33
-
34
- abbr[title]::after {
35
- content: " (" attr(title) ")";
36
- }
37
-
38
- // Bootstrap specific; comment the following selector out
39
- //
40
- // Don't show links that are fragment identifiers,
41
- // or use the `javascript:` pseudo protocol
42
- //
43
-
44
- //a[href^="#"]::after,
45
- //a[href^="javascript:"]::after {
46
- // content: "";
47
- //}
48
-
49
- pre {
50
- white-space: pre-wrap !important;
51
- }
52
- pre,
53
- blockquote {
54
- border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px
55
- page-break-inside: avoid;
56
- }
57
-
58
- //
59
- // Printing Tables:
60
- // https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
61
- //
62
-
63
- thead {
64
- display: table-header-group;
65
- }
66
-
67
- tr,
68
- img {
69
- page-break-inside: avoid;
70
- }
71
-
72
- p,
73
- h2,
74
- h3 {
75
- orphans: 3;
76
- widows: 3;
77
- }
78
-
79
- h2,
80
- h3 {
81
- page-break-after: avoid;
82
- }
83
-
84
- // Bootstrap specific changes start
85
-
86
- // Specify a size and min-width to make printing closer across browsers.
87
- // We don't set margin here because it breaks `size` in Chrome. We also
88
- // don't use `!important` on `size` as it breaks in Chrome.
89
- @page {
90
- size: $print-page-size;
91
- }
92
- body {
93
- min-width: $print-body-min-width !important;
94
- }
95
- .container {
96
- min-width: $print-body-min-width !important;
97
- }
98
-
99
- // Bootstrap components
100
- .navbar {
101
- display: none;
102
- }
103
- .badge {
104
- border: $border-width solid $black;
105
- }
106
-
107
- .table {
108
- border-collapse: collapse !important;
109
-
110
- td,
111
- th {
112
- background-color: $white !important;
113
- }
114
- }
115
-
116
- .table-bordered {
117
- th,
118
- td {
119
- border: 1px solid $gray-300 !important;
120
- }
121
- }
122
-
123
- .table-dark {
124
- color: inherit;
125
-
126
- th,
127
- td,
128
- thead th,
129
- tbody + tbody {
130
- border-color: $table-border-color;
131
- }
132
- }
133
-
134
- .table .thead-dark th {
135
- color: inherit;
136
- border-color: $table-border-color;
137
- }
138
-
139
- // Bootstrap specific changes end
140
- }
141
- }
@@ -1,23 +0,0 @@
1
- // stylelint-disable declaration-no-important
2
-
3
- // Contextual backgrounds
4
-
5
- @mixin bg-variant($parent, $color, $ignore-warning: false) {
6
- #{$parent} {
7
- background-color: $color !important;
8
- }
9
- a#{$parent},
10
- button#{$parent} {
11
- @include hover-focus() {
12
- background-color: darken($color, 10%) !important;
13
- }
14
- }
15
- @include deprecate("The `bg-variant` mixin", "v4.4.0", "v5", $ignore-warning);
16
- }
17
-
18
- @mixin bg-gradient-variant($parent, $color, $ignore-warning: false) {
19
- #{$parent} {
20
- background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;
21
- }
22
- @include deprecate("The `bg-gradient-variant` mixin", "v4.5.0", "v5", $ignore-warning);
23
- }
@@ -1,17 +0,0 @@
1
- @mixin badge-variant($bg) {
2
- color: color-yiq($bg);
3
- background-color: $bg;
4
-
5
- @at-root a#{&} {
6
- @include hover-focus() {
7
- color: color-yiq($bg);
8
- background-color: darken($bg, 10%);
9
- }
10
-
11
- &:focus,
12
- &.focus {
13
- outline: 0;
14
- box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);
15
- }
16
- }
17
- }
@@ -1,14 +0,0 @@
1
- // stylelint-disable declaration-no-important
2
-
3
- @mixin float-left() {
4
- float: left !important;
5
- @include deprecate("The `float-left` mixin", "v4.3.0", "v5");
6
- }
7
- @mixin float-right() {
8
- float: right !important;
9
- @include deprecate("The `float-right` mixin", "v4.3.0", "v5");
10
- }
11
- @mixin float-none() {
12
- float: none !important;
13
- @include deprecate("The `float-none` mixin", "v4.3.0", "v5");
14
- }
@@ -1,80 +0,0 @@
1
- // Framework grid generation
2
- //
3
- // Used only by Bootstrap to generate the correct number of grid classes given
4
- // any value of `$grid-columns`.
5
-
6
- @mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {
7
- // Common properties for all breakpoints
8
- %grid-column {
9
- position: relative;
10
- width: 100%;
11
- padding-right: $gutter / 2;
12
- padding-left: $gutter / 2;
13
- }
14
-
15
- @each $breakpoint in map-keys($breakpoints) {
16
- $infix: breakpoint-infix($breakpoint, $breakpoints);
17
-
18
- @if $columns > 0 {
19
- // Allow columns to stretch full width below their breakpoints
20
- @for $i from 1 through $columns {
21
- .col#{$infix}-#{$i} {
22
- @extend %grid-column;
23
- }
24
- }
25
- }
26
-
27
- .col#{$infix},
28
- .col#{$infix}-auto {
29
- @extend %grid-column;
30
- }
31
-
32
- @include media-breakpoint-up($breakpoint, $breakpoints) {
33
- // Provide basic `.col-{bp}` classes for equal-width flexbox columns
34
- .col#{$infix} {
35
- flex-basis: 0;
36
- flex-grow: 1;
37
- max-width: 100%;
38
- }
39
-
40
- @if $grid-row-columns > 0 {
41
- @for $i from 1 through $grid-row-columns {
42
- .row-cols#{$infix}-#{$i} {
43
- @include row-cols($i);
44
- }
45
- }
46
- }
47
-
48
- .col#{$infix}-auto {
49
- @include make-col-auto();
50
- }
51
-
52
- @if $columns > 0 {
53
- @for $i from 1 through $columns {
54
- .col#{$infix}-#{$i} {
55
- @include make-col($i, $columns);
56
- }
57
- }
58
- }
59
-
60
- .order#{$infix}-first { order: -1; }
61
-
62
- .order#{$infix}-last { order: $columns + 1; }
63
-
64
- @for $i from 0 through $columns {
65
- .order#{$infix}-#{$i} { order: $i; }
66
- }
67
-
68
- @if $columns > 0 {
69
- // `$columns - 1` because offsetting by the width of an entire row isn't possible
70
- @for $i from 0 through ($columns - 1) {
71
- @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0
72
- .offset#{$infix}-#{$i} {
73
- @include make-col-offset($i, $columns);
74
- }
75
- }
76
- }
77
- }
78
- }
79
- }
80
- }