bootstrap 4.4.1 → 5.0.0.alpha2

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 (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
- }