bootstrap 4.4.1 → 5.0.0.alpha2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +12 -2
  3. data/README.md +1 -1
  4. data/assets/javascripts/bootstrap-sprockets.js +12 -8
  5. data/assets/javascripts/bootstrap.js +2094 -1562
  6. data/assets/javascripts/bootstrap.min.js +4 -4
  7. data/assets/javascripts/bootstrap/alert.js +145 -83
  8. data/assets/javascripts/bootstrap/button.js +66 -152
  9. data/assets/javascripts/bootstrap/carousel.js +307 -241
  10. data/assets/javascripts/bootstrap/collapse.js +287 -183
  11. data/assets/javascripts/bootstrap/dom/data.js +81 -0
  12. data/assets/javascripts/bootstrap/dom/event-handler.js +315 -0
  13. data/assets/javascripts/bootstrap/dom/manipulator.js +96 -0
  14. data/assets/javascripts/bootstrap/dom/polyfill.js +110 -0
  15. data/assets/javascripts/bootstrap/dom/selector-engine.js +98 -0
  16. data/assets/javascripts/bootstrap/dropdown.js +255 -261
  17. data/assets/javascripts/bootstrap/modal.js +364 -270
  18. data/assets/javascripts/bootstrap/popover.js +72 -113
  19. data/assets/javascripts/bootstrap/scrollspy.js +162 -147
  20. data/assets/javascripts/bootstrap/tab.js +176 -108
  21. data/assets/javascripts/bootstrap/toast.js +179 -139
  22. data/assets/javascripts/bootstrap/tooltip.js +369 -259
  23. data/assets/stylesheets/_bootstrap-grid.scss +54 -18
  24. data/assets/stylesheets/_bootstrap-reboot.scss +7 -4
  25. data/assets/stylesheets/_bootstrap.scss +17 -11
  26. data/assets/stylesheets/bootstrap/_alert.scss +6 -7
  27. data/assets/stylesheets/bootstrap/_badge.scss +2 -27
  28. data/assets/stylesheets/bootstrap/_breadcrumb.scss +5 -17
  29. data/assets/stylesheets/bootstrap/_button-group.scss +16 -38
  30. data/assets/stylesheets/bootstrap/_buttons.scss +25 -40
  31. data/assets/stylesheets/bootstrap/_card.scss +43 -79
  32. data/assets/stylesheets/bootstrap/_carousel.scss +30 -15
  33. data/assets/stylesheets/bootstrap/_close.scss +31 -31
  34. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  35. data/assets/stylesheets/bootstrap/_dropdown.scss +54 -9
  36. data/assets/stylesheets/bootstrap/_forms.scss +9 -338
  37. data/assets/stylesheets/bootstrap/_functions.scss +97 -25
  38. data/assets/stylesheets/bootstrap/_grid.scss +3 -50
  39. data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
  40. data/assets/stylesheets/bootstrap/_list-group.scss +16 -17
  41. data/assets/stylesheets/bootstrap/_mixins.scss +7 -13
  42. data/assets/stylesheets/bootstrap/_modal.scss +41 -45
  43. data/assets/stylesheets/bootstrap/_nav.scss +16 -9
  44. data/assets/stylesheets/bootstrap/_navbar.scss +43 -74
  45. data/assets/stylesheets/bootstrap/_pagination.scss +11 -20
  46. data/assets/stylesheets/bootstrap/_popover.scss +5 -5
  47. data/assets/stylesheets/bootstrap/_progress.scss +2 -3
  48. data/assets/stylesheets/bootstrap/_reboot.scss +310 -175
  49. data/assets/stylesheets/bootstrap/_root.scss +5 -9
  50. data/assets/stylesheets/bootstrap/_spinners.scss +5 -4
  51. data/assets/stylesheets/bootstrap/_tables.scss +80 -114
  52. data/assets/stylesheets/bootstrap/_toasts.scss +6 -2
  53. data/assets/stylesheets/bootstrap/_tooltip.scss +5 -5
  54. data/assets/stylesheets/bootstrap/_transitions.scss +0 -1
  55. data/assets/stylesheets/bootstrap/_type.scss +38 -59
  56. data/assets/stylesheets/bootstrap/_utilities.scss +531 -17
  57. data/assets/stylesheets/bootstrap/_variables.scss +609 -444
  58. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  59. data/assets/stylesheets/bootstrap/forms/_form-check.scss +142 -0
  60. data/assets/stylesheets/bootstrap/forms/_form-control.scss +116 -0
  61. data/assets/stylesheets/bootstrap/forms/_form-file.scss +91 -0
  62. data/assets/stylesheets/bootstrap/forms/_form-range.scss +136 -0
  63. data/assets/stylesheets/bootstrap/forms/_form-select.scss +82 -0
  64. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  65. data/assets/stylesheets/bootstrap/forms/_input-group.scss +140 -0
  66. data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
  67. data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
  68. data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
  69. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
  70. data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
  71. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -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/helpers/_visually-hidden.scss +8 -0
  75. data/assets/stylesheets/bootstrap/mixins/_alert.scss +0 -4
  76. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +35 -22
  77. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +7 -9
  78. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +14 -10
  79. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +69 -51
  80. data/assets/stylesheets/bootstrap/mixins/_caret.scss +4 -4
  81. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  82. data/assets/stylesheets/bootstrap/mixins/_container.scss +11 -0
  83. data/assets/stylesheets/bootstrap/mixins/_forms.scss +22 -66
  84. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +9 -11
  85. data/assets/stylesheets/bootstrap/mixins/_grid.scss +84 -33
  86. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
  87. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -1
  88. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  89. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +15 -8
  90. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
  91. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
  92. data/assets/stylesheets/bootstrap/mixins/_transition.scss +18 -8
  93. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +49 -0
  94. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +28 -0
  95. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  96. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +234 -126
  97. data/lib/bootstrap/version.rb +2 -2
  98. data/tasks/updater/js.rb +3 -3
  99. data/tasks/updater/network.rb +2 -2
  100. data/test/gemfiles/rails_6_0.gemfile +7 -0
  101. metadata +36 -41
  102. data/assets/javascripts/bootstrap/util.js +0 -188
  103. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  104. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -521
  105. data/assets/stylesheets/bootstrap/_input-group.scss +0 -191
  106. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
  107. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  108. data/assets/stylesheets/bootstrap/_print.scss +0 -141
  109. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -22
  110. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
  111. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
  112. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -71
  113. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  114. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
  115. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -34
  116. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
  117. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
  118. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
  119. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
  120. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
  121. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  122. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  123. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
  124. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
  125. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
  126. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  127. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
  128. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
  129. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
  130. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  131. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  132. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
  133. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
  134. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
  135. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
  136. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
@@ -1,191 +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 0%;
20
- min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size
21
- margin-bottom: 0;
22
-
23
- + .form-control,
24
- + .custom-select,
25
- + .custom-file {
26
- margin-left: -$input-border-width;
27
- }
28
- }
29
-
30
- // Bring the "active" form control to the top of surrounding elements
31
- > .form-control:focus,
32
- > .custom-select:focus,
33
- > .custom-file .custom-file-input:focus ~ .custom-file-label {
34
- z-index: 3;
35
- }
36
-
37
- // Bring the custom file input above the label
38
- > .custom-file .custom-file-input:focus {
39
- z-index: 4;
40
- }
41
-
42
- > .form-control,
43
- > .custom-select {
44
- &:not(:last-child) { @include border-right-radius(0); }
45
- &:not(:first-child) { @include border-left-radius(0); }
46
- }
47
-
48
- // Custom file inputs have more complex markup, thus requiring different
49
- // border-radius overrides.
50
- > .custom-file {
51
- display: flex;
52
- align-items: center;
53
-
54
- &:not(:last-child) .custom-file-label,
55
- &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }
56
- &:not(:first-child) .custom-file-label { @include border-left-radius(0); }
57
- }
58
- }
59
-
60
-
61
- // Prepend and append
62
- //
63
- // While it requires one extra layer of HTML for each, dedicated prepend and
64
- // append elements allow us to 1) be less clever, 2) simplify our selectors, and
65
- // 3) support HTML5 form validation.
66
-
67
- .input-group-prepend,
68
- .input-group-append {
69
- display: flex;
70
-
71
- // Ensure buttons are always above inputs for more visually pleasing borders.
72
- // This isn't needed for `.input-group-text` since it shares the same border-color
73
- // as our inputs.
74
- .btn {
75
- position: relative;
76
- z-index: 2;
77
-
78
- &:focus {
79
- z-index: 3;
80
- }
81
- }
82
-
83
- .btn + .btn,
84
- .btn + .input-group-text,
85
- .input-group-text + .input-group-text,
86
- .input-group-text + .btn {
87
- margin-left: -$input-border-width;
88
- }
89
- }
90
-
91
- .input-group-prepend { margin-right: -$input-border-width; }
92
- .input-group-append { margin-left: -$input-border-width; }
93
-
94
-
95
- // Textual addons
96
- //
97
- // Serves as a catch-all element for any text or radio/checkbox input you wish
98
- // to prepend or append to an input.
99
-
100
- .input-group-text {
101
- display: flex;
102
- align-items: center;
103
- padding: $input-padding-y $input-padding-x;
104
- margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom
105
- @include font-size($input-font-size); // Match inputs
106
- font-weight: $font-weight-normal;
107
- line-height: $input-line-height;
108
- color: $input-group-addon-color;
109
- text-align: center;
110
- white-space: nowrap;
111
- background-color: $input-group-addon-bg;
112
- border: $input-border-width solid $input-group-addon-border-color;
113
- @include border-radius($input-border-radius);
114
-
115
- // Nuke default margins from checkboxes and radios to vertically center within.
116
- input[type="radio"],
117
- input[type="checkbox"] {
118
- margin-top: 0;
119
- }
120
- }
121
-
122
-
123
- // Sizing
124
- //
125
- // Remix the default form control sizing classes into new ones for easier
126
- // manipulation.
127
-
128
- .input-group-lg > .form-control:not(textarea),
129
- .input-group-lg > .custom-select {
130
- height: $input-height-lg;
131
- }
132
-
133
- .input-group-lg > .form-control,
134
- .input-group-lg > .custom-select,
135
- .input-group-lg > .input-group-prepend > .input-group-text,
136
- .input-group-lg > .input-group-append > .input-group-text,
137
- .input-group-lg > .input-group-prepend > .btn,
138
- .input-group-lg > .input-group-append > .btn {
139
- padding: $input-padding-y-lg $input-padding-x-lg;
140
- @include font-size($input-font-size-lg);
141
- line-height: $input-line-height-lg;
142
- @include border-radius($input-border-radius-lg);
143
- }
144
-
145
- .input-group-sm > .form-control:not(textarea),
146
- .input-group-sm > .custom-select {
147
- height: $input-height-sm;
148
- }
149
-
150
- .input-group-sm > .form-control,
151
- .input-group-sm > .custom-select,
152
- .input-group-sm > .input-group-prepend > .input-group-text,
153
- .input-group-sm > .input-group-append > .input-group-text,
154
- .input-group-sm > .input-group-prepend > .btn,
155
- .input-group-sm > .input-group-append > .btn {
156
- padding: $input-padding-y-sm $input-padding-x-sm;
157
- @include font-size($input-font-size-sm);
158
- line-height: $input-line-height-sm;
159
- @include border-radius($input-border-radius-sm);
160
- }
161
-
162
- .input-group-lg > .custom-select,
163
- .input-group-sm > .custom-select {
164
- padding-right: $custom-select-padding-x + $custom-select-indicator-padding;
165
- }
166
-
167
-
168
- // Prepend and append rounded corners
169
- //
170
- // These rulesets must come after the sizing ones to properly override sm and lg
171
- // border-radius values when extending. They're more specific than we'd like
172
- // with the `.input-group >` part, but without it, we cannot override the sizing.
173
-
174
-
175
- .input-group > .input-group-prepend > .btn,
176
- .input-group > .input-group-prepend > .input-group-text,
177
- .input-group > .input-group-append:not(:last-child) > .btn,
178
- .input-group > .input-group-append:not(:last-child) > .input-group-text,
179
- .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
180
- .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
181
- @include border-right-radius(0);
182
- }
183
-
184
- .input-group > .input-group-append > .btn,
185
- .input-group > .input-group-append > .input-group-text,
186
- .input-group > .input-group-prepend:not(:first-child) > .btn,
187
- .input-group > .input-group-prepend:not(:first-child) > .input-group-text,
188
- .input-group > .input-group-prepend:first-child > .btn:not(:first-child),
189
- .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
190
- @include border-left-radius(0);
191
- }
@@ -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,22 +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) {
19
- #{$parent} {
20
- background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;
21
- }
22
- }
@@ -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,71 +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
- // Allow columns to stretch full width below their breakpoints
19
- @for $i from 1 through $columns {
20
- .col#{$infix}-#{$i} {
21
- @extend %grid-column;
22
- }
23
- }
24
- .col#{$infix},
25
- .col#{$infix}-auto {
26
- @extend %grid-column;
27
- }
28
-
29
- @include media-breakpoint-up($breakpoint, $breakpoints) {
30
- // Provide basic `.col-{bp}` classes for equal-width flexbox columns
31
- .col#{$infix} {
32
- flex-basis: 0;
33
- flex-grow: 1;
34
- max-width: 100%;
35
- }
36
-
37
- @for $i from 1 through $grid-row-columns {
38
- .row-cols#{$infix}-#{$i} {
39
- @include row-cols($i);
40
- }
41
- }
42
-
43
- .col#{$infix}-auto {
44
- @include make-col-auto();
45
- }
46
-
47
- @for $i from 1 through $columns {
48
- .col#{$infix}-#{$i} {
49
- @include make-col($i, $columns);
50
- }
51
- }
52
-
53
- .order#{$infix}-first { order: -1; }
54
-
55
- .order#{$infix}-last { order: $columns + 1; }
56
-
57
- @for $i from 0 through $columns {
58
- .order#{$infix}-#{$i} { order: $i; }
59
- }
60
-
61
- // `$columns - 1` because offsetting by the width of an entire row isn't possible
62
- @for $i from 0 through ($columns - 1) {
63
- @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0
64
- .offset#{$infix}-#{$i} {
65
- @include make-col-offset($i, $columns);
66
- }
67
- }
68
- }
69
- }
70
- }
71
- }