bootstrap 4.1.3 → 5.0.0

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 (156) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +17 -2
  3. data/CHANGELOG.md +2 -14
  4. data/README.md +7 -4
  5. data/Rakefile +2 -2
  6. data/assets/javascripts/bootstrap/alert.js +226 -166
  7. data/assets/javascripts/bootstrap/base-component.js +63 -0
  8. data/assets/javascripts/bootstrap/button.js +119 -165
  9. data/assets/javascripts/bootstrap/carousel.js +634 -445
  10. data/assets/javascripts/bootstrap/collapse.js +447 -327
  11. data/assets/javascripts/bootstrap/dom/data.js +68 -0
  12. data/assets/javascripts/bootstrap/dom/event-handler.js +322 -0
  13. data/assets/javascripts/bootstrap/dom/manipulator.js +88 -0
  14. data/assets/javascripts/bootstrap/dom/selector-engine.js +85 -0
  15. data/assets/javascripts/bootstrap/dropdown.js +550 -425
  16. data/assets/javascripts/bootstrap/modal.js +695 -492
  17. data/assets/javascripts/bootstrap/offcanvas.js +671 -0
  18. data/assets/javascripts/bootstrap/popover.js +167 -217
  19. data/assets/javascripts/bootstrap/scrollspy.js +319 -302
  20. data/assets/javascripts/bootstrap/tab.js +303 -221
  21. data/assets/javascripts/bootstrap/toast.js +333 -0
  22. data/assets/javascripts/bootstrap/tooltip.js +896 -577
  23. data/assets/javascripts/bootstrap-global-this-define.js +6 -0
  24. data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
  25. data/assets/javascripts/bootstrap-sprockets.js +15 -7
  26. data/assets/javascripts/bootstrap.js +4262 -3163
  27. data/assets/javascripts/bootstrap.min.js +4 -4
  28. data/assets/stylesheets/_bootstrap-grid.scss +54 -21
  29. data/assets/stylesheets/_bootstrap-reboot.scss +7 -4
  30. data/assets/stylesheets/_bootstrap.scss +21 -11
  31. data/assets/stylesheets/bootstrap/_accordion.scss +118 -0
  32. data/assets/stylesheets/bootstrap/_alert.scss +15 -9
  33. data/assets/stylesheets/bootstrap/_badge.scss +3 -21
  34. data/assets/stylesheets/bootstrap/_breadcrumb.scss +5 -18
  35. data/assets/stylesheets/bootstrap/_button-group.scss +29 -62
  36. data/assets/stylesheets/bootstrap/_buttons.scss +33 -65
  37. data/assets/stylesheets/bootstrap/_card.scss +55 -141
  38. data/assets/stylesheets/bootstrap/_carousel.scss +94 -101
  39. data/assets/stylesheets/bootstrap/_close.scss +33 -28
  40. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  41. data/assets/stylesheets/bootstrap/_dropdown.scss +114 -40
  42. data/assets/stylesheets/bootstrap/_forms.scss +9 -333
  43. data/assets/stylesheets/bootstrap/_functions.scss +148 -29
  44. data/assets/stylesheets/bootstrap/_grid.scss +4 -34
  45. data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
  46. data/assets/stylesheets/bootstrap/_images.scss +4 -4
  47. data/assets/stylesheets/bootstrap/_list-group.scss +86 -27
  48. data/assets/stylesheets/bootstrap/_mixins.scss +17 -16
  49. data/assets/stylesheets/bootstrap/_modal.scss +90 -42
  50. data/assets/stylesheets/bootstrap/_nav.scss +31 -10
  51. data/assets/stylesheets/bootstrap/_navbar.scss +68 -61
  52. data/assets/stylesheets/bootstrap/_offcanvas.scss +77 -0
  53. data/assets/stylesheets/bootstrap/_pagination.scss +13 -27
  54. data/assets/stylesheets/bootstrap/_popover.scss +63 -88
  55. data/assets/stylesheets/bootstrap/_progress.scss +20 -6
  56. data/assets/stylesheets/bootstrap/_reboot.scss +349 -211
  57. data/assets/stylesheets/bootstrap/_root.scss +5 -8
  58. data/assets/stylesheets/bootstrap/_spinners.scss +69 -0
  59. data/assets/stylesheets/bootstrap/_tables.scss +79 -116
  60. data/assets/stylesheets/bootstrap/_toasts.scss +51 -0
  61. data/assets/stylesheets/bootstrap/_tooltip.scss +18 -18
  62. data/assets/stylesheets/bootstrap/_transitions.scss +2 -3
  63. data/assets/stylesheets/bootstrap/_type.scss +42 -63
  64. data/assets/stylesheets/bootstrap/_utilities.scss +594 -15
  65. data/assets/stylesheets/bootstrap/_variables.scss +952 -440
  66. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  67. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
  68. data/assets/stylesheets/bootstrap/forms/_form-check.scss +152 -0
  69. data/assets/stylesheets/bootstrap/forms/_form-control.scss +219 -0
  70. data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
  71. data/assets/stylesheets/bootstrap/forms/_form-select.scss +67 -0
  72. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  73. data/assets/stylesheets/bootstrap/forms/_input-group.scss +121 -0
  74. data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
  75. data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
  76. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
  77. data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
  78. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
  79. data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
  80. data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
  81. data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
  82. data/assets/stylesheets/bootstrap/mixins/_alert.scss +3 -5
  83. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +57 -14
  84. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +14 -1
  85. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +13 -9
  86. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +77 -53
  87. data/assets/stylesheets/bootstrap/mixins/_caret.scss +14 -16
  88. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  89. data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
  90. data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
  91. data/assets/stylesheets/bootstrap/mixins/_deprecate.scss +10 -0
  92. data/assets/stylesheets/bootstrap/mixins/_forms.scss +87 -97
  93. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +13 -11
  94. data/assets/stylesheets/bootstrap/mixins/_grid.scss +106 -33
  95. data/assets/stylesheets/bootstrap/mixins/_image.scss +0 -20
  96. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +5 -2
  97. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +18 -9
  98. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
  99. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
  100. data/assets/stylesheets/bootstrap/mixins/_transition.scss +19 -6
  101. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +68 -0
  102. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +29 -0
  103. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  104. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +312 -0
  105. data/bootstrap.gemspec +7 -6
  106. data/lib/bootstrap/engine.rb +3 -0
  107. data/lib/bootstrap/version.rb +4 -2
  108. data/lib/bootstrap.rb +10 -7
  109. data/tasks/updater/js.rb +20 -5
  110. data/tasks/updater/network.rb +8 -2
  111. data/test/dummy_rails/app/assets/config/manifest.js +3 -0
  112. data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
  113. data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
  114. data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
  115. data/test/dummy_rails/app/views/pages/root.html +89 -0
  116. data/test/dummy_rails/config/application.rb +0 -3
  117. data/test/gemfiles/rails_6_0.gemfile +7 -0
  118. data/test/gemfiles/rails_6_1.gemfile +7 -0
  119. data/test/support/dummy_rails_integration.rb +3 -1
  120. data/test/test_helper.rb +18 -13
  121. metadata +64 -79
  122. data/assets/javascripts/bootstrap/util.js +0 -143
  123. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  124. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -433
  125. data/assets/stylesheets/bootstrap/_input-group.scss +0 -173
  126. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -16
  127. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  128. data/assets/stylesheets/bootstrap/_print.scss +0 -141
  129. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -21
  130. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -12
  131. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -11
  132. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -67
  133. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  134. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
  135. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -33
  136. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -6
  137. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -30
  138. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -14
  139. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -13
  140. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -7
  141. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  142. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  143. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -59
  144. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -38
  145. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -52
  146. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  147. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -9
  148. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -37
  149. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  150. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  151. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -12
  152. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -51
  153. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -58
  154. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -11
  155. data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
  156. /data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
@@ -1,173 +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
- > .custom-select,
16
- > .custom-file {
17
- position: relative; // For focus state's z-index
18
- flex: 1 1 auto;
19
- // Add width 1% and flex-basis auto to ensure that button will not wrap out
20
- // the column. Applies to IE Edge+ and Firefox. Chrome does not require this.
21
- width: 1%;
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
-
80
- .btn + .btn,
81
- .btn + .input-group-text,
82
- .input-group-text + .input-group-text,
83
- .input-group-text + .btn {
84
- margin-left: -$input-border-width;
85
- }
86
- }
87
-
88
- .input-group-prepend { margin-right: -$input-border-width; }
89
- .input-group-append { margin-left: -$input-border-width; }
90
-
91
-
92
- // Textual addons
93
- //
94
- // Serves as a catch-all element for any text or radio/checkbox input you wish
95
- // to prepend or append to an input.
96
-
97
- .input-group-text {
98
- display: flex;
99
- align-items: center;
100
- padding: $input-padding-y $input-padding-x;
101
- margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom
102
- font-size: $font-size-base; // Match inputs
103
- font-weight: $font-weight-normal;
104
- line-height: $input-line-height;
105
- color: $input-group-addon-color;
106
- text-align: center;
107
- white-space: nowrap;
108
- background-color: $input-group-addon-bg;
109
- border: $input-border-width solid $input-group-addon-border-color;
110
- @include border-radius($input-border-radius);
111
-
112
- // Nuke default margins from checkboxes and radios to vertically center within.
113
- input[type="radio"],
114
- input[type="checkbox"] {
115
- margin-top: 0;
116
- }
117
- }
118
-
119
-
120
- // Sizing
121
- //
122
- // Remix the default form control sizing classes into new ones for easier
123
- // manipulation.
124
-
125
- .input-group-lg > .form-control,
126
- .input-group-lg > .input-group-prepend > .input-group-text,
127
- .input-group-lg > .input-group-append > .input-group-text,
128
- .input-group-lg > .input-group-prepend > .btn,
129
- .input-group-lg > .input-group-append > .btn {
130
- height: $input-height-lg;
131
- padding: $input-padding-y-lg $input-padding-x-lg;
132
- font-size: $font-size-lg;
133
- line-height: $input-line-height-lg;
134
- @include border-radius($input-border-radius-lg);
135
- }
136
-
137
- .input-group-sm > .form-control,
138
- .input-group-sm > .input-group-prepend > .input-group-text,
139
- .input-group-sm > .input-group-append > .input-group-text,
140
- .input-group-sm > .input-group-prepend > .btn,
141
- .input-group-sm > .input-group-append > .btn {
142
- height: $input-height-sm;
143
- padding: $input-padding-y-sm $input-padding-x-sm;
144
- font-size: $font-size-sm;
145
- line-height: $input-line-height-sm;
146
- @include border-radius($input-border-radius-sm);
147
- }
148
-
149
-
150
- // Prepend and append rounded corners
151
- //
152
- // These rulesets must come after the sizing ones to properly override sm and lg
153
- // border-radius values when extending. They're more specific than we'd like
154
- // with the `.input-group >` part, but without it, we cannot override the sizing.
155
-
156
-
157
- .input-group > .input-group-prepend > .btn,
158
- .input-group > .input-group-prepend > .input-group-text,
159
- .input-group > .input-group-append:not(:last-child) > .btn,
160
- .input-group > .input-group-append:not(:last-child) > .input-group-text,
161
- .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
162
- .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
163
- @include border-right-radius(0);
164
- }
165
-
166
- .input-group > .input-group-append > .btn,
167
- .input-group > .input-group-append > .input-group-text,
168
- .input-group > .input-group-prepend:not(:first-child) > .btn,
169
- .input-group > .input-group-prepend:not(:first-child) > .input-group-text,
170
- .input-group > .input-group-prepend:first-child > .btn:not(:first-child),
171
- .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
172
- @include border-left-radius(0);
173
- }
@@ -1,16 +0,0 @@
1
- .jumbotron {
2
- padding: $jumbotron-padding ($jumbotron-padding / 2);
3
- margin-bottom: $jumbotron-padding;
4
- background-color: $jumbotron-bg;
5
- @include border-radius($border-radius-lg);
6
-
7
- @include media-breakpoint-up(sm) {
8
- padding: ($jumbotron-padding * 2) $jumbotron-padding;
9
- }
10
- }
11
-
12
- .jumbotron-fluid {
13
- padding-right: 0;
14
- padding-left: 0;
15
- @include border-radius(0);
16
- }
@@ -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/html5-boilerplate/blob/master/src/css/main.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
- // 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,21 +0,0 @@
1
- // stylelint-disable declaration-no-important
2
-
3
- // Contextual backgrounds
4
-
5
- @mixin bg-variant($parent, $color) {
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
- }
16
-
17
- @mixin bg-gradient-variant($parent, $color) {
18
- #{$parent} {
19
- background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;
20
- }
21
- }
@@ -1,12 +0,0 @@
1
- @mixin badge-variant($bg) {
2
- color: color-yiq($bg);
3
- background-color: $bg;
4
-
5
- &[href] {
6
- @include hover-focus {
7
- color: color-yiq($bg);
8
- text-decoration: none;
9
- background-color: darken($bg, 10%);
10
- }
11
- }
12
- }
@@ -1,11 +0,0 @@
1
- // stylelint-disable declaration-no-important
2
-
3
- @mixin float-left {
4
- float: left !important;
5
- }
6
- @mixin float-right {
7
- float: right !important;
8
- }
9
- @mixin float-none {
10
- float: none !important;
11
- }
@@ -1,67 +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
- min-height: 1px; // Prevent columns from collapsing when empty
12
- padding-right: ($gutter / 2);
13
- padding-left: ($gutter / 2);
14
- }
15
-
16
- @each $breakpoint in map-keys($breakpoints) {
17
- $infix: breakpoint-infix($breakpoint, $breakpoints);
18
-
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
- .col#{$infix},
26
- .col#{$infix}-auto {
27
- @extend %grid-column;
28
- }
29
-
30
- @include media-breakpoint-up($breakpoint, $breakpoints) {
31
- // Provide basic `.col-{bp}` classes for equal-width flexbox columns
32
- .col#{$infix} {
33
- flex-basis: 0;
34
- flex-grow: 1;
35
- max-width: 100%;
36
- }
37
- .col#{$infix}-auto {
38
- flex: 0 0 auto;
39
- width: auto;
40
- max-width: none; // Reset earlier grid tiers
41
- }
42
-
43
- @for $i from 1 through $columns {
44
- .col#{$infix}-#{$i} {
45
- @include make-col($i, $columns);
46
- }
47
- }
48
-
49
- .order#{$infix}-first { order: -1; }
50
-
51
- .order#{$infix}-last { order: $columns + 1; }
52
-
53
- @for $i from 0 through $columns {
54
- .order#{$infix}-#{$i} { order: $i; }
55
- }
56
-
57
- // `$columns - 1` because offsetting by the width of an entire row isn't possible
58
- @for $i from 0 through ($columns - 1) {
59
- @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0
60
- .offset#{$infix}-#{$i} {
61
- @include make-col-offset($i, $columns);
62
- }
63
- }
64
- }
65
- }
66
- }
67
- }
@@ -1,37 +0,0 @@
1
- // Hover mixin and `$enable-hover-media-query` are deprecated.
2
- //
3
- // Originally added during our alphas and maintained during betas, this mixin was
4
- // designed to prevent `:hover` stickiness on iOS-an issue where hover styles
5
- // would persist after initial touch.
6
- //
7
- // For backward compatibility, we've kept these mixins and updated them to
8
- // always return their regular pseudo-classes instead of a shimmed media query.
9
- //
10
- // Issue: https://github.com/twbs/bootstrap/issues/25195
11
-
12
- @mixin hover {
13
- &:hover { @content; }
14
- }
15
-
16
- @mixin hover-focus {
17
- &:hover,
18
- &:focus {
19
- @content;
20
- }
21
- }
22
-
23
- @mixin plain-hover-focus {
24
- &,
25
- &:hover,
26
- &:focus {
27
- @content;
28
- }
29
- }
30
-
31
- @mixin hover-focus-active {
32
- &:hover,
33
- &:focus,
34
- &:active {
35
- @content;
36
- }
37
- }
@@ -1,10 +0,0 @@
1
- // Horizontal dividers
2
- //
3
- // Dividers (basically an hr) within dropdowns and nav lists
4
-
5
- @mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y) {
6
- height: 0;
7
- margin: $margin-y 0;
8
- overflow: hidden;
9
- border-top: 1px solid $color;
10
- }
@@ -1,33 +0,0 @@
1
- // Only display content to screen readers
2
- //
3
- // See: https://a11yproject.com/posts/how-to-hide-content/
4
- // See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/
5
-
6
- @mixin sr-only {
7
- position: absolute;
8
- width: 1px;
9
- height: 1px;
10
- padding: 0;
11
- overflow: hidden;
12
- clip: rect(0, 0, 0, 0);
13
- white-space: nowrap;
14
- border: 0;
15
- }
16
-
17
- // Use in conjunction with .sr-only to only display content when it's focused.
18
- //
19
- // Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
20
- //
21
- // Credit: HTML5 Boilerplate
22
-
23
- @mixin sr-only-focusable {
24
- &:active,
25
- &:focus {
26
- position: static;
27
- width: auto;
28
- height: auto;
29
- overflow: visible;
30
- clip: auto;
31
- white-space: normal;
32
- }
33
- }
@@ -1,6 +0,0 @@
1
- // Sizing shortcuts
2
-
3
- @mixin size($width, $height: $width) {
4
- width: $width;
5
- height: $height;
6
- }
@@ -1,30 +0,0 @@
1
- // Tables
2
-
3
- @mixin table-row-variant($state, $background) {
4
- // Exact selectors below required to override `.table-striped` and prevent
5
- // inheritance to nested tables.
6
- .table-#{$state} {
7
- &,
8
- > th,
9
- > td {
10
- background-color: $background;
11
- }
12
- }
13
-
14
- // Hover states for `.table-hover`
15
- // Note: this is not available for cells or rows within `thead` or `tfoot`.
16
- .table-hover {
17
- $hover-background: darken($background, 5%);
18
-
19
- .table-#{$state} {
20
- @include hover {
21
- background-color: $hover-background;
22
-
23
- > td,
24
- > th {
25
- background-color: $hover-background;
26
- }
27
- }
28
- }
29
- }
30
- }
@@ -1,14 +0,0 @@
1
- // stylelint-disable declaration-no-important
2
-
3
- // Typography
4
-
5
- @mixin text-emphasis-variant($parent, $color) {
6
- #{$parent} {
7
- color: $color !important;
8
- }
9
- a#{$parent} {
10
- @include hover-focus {
11
- color: darken($color, 10%) !important;
12
- }
13
- }
14
- }
@@ -1,13 +0,0 @@
1
- // CSS image replacement
2
- @mixin text-hide($ignore-warning: false) {
3
- // stylelint-disable-next-line font-family-no-missing-generic-family-keyword
4
- font: 0/0 a;
5
- color: transparent;
6
- text-shadow: none;
7
- background-color: transparent;
8
- border: 0;
9
-
10
- @if ($ignore-warning != true) {
11
- @warn "The `text-hide()` mixin has been deprecated as of v4.1.0. It will be removed entirely in v5.";
12
- }
13
- }
@@ -1,7 +0,0 @@
1
- // stylelint-disable declaration-no-important
2
-
3
- // Visibility
4
-
5
- @mixin invisible($visibility) {
6
- visibility: $visibility !important;
7
- }
@@ -1,8 +0,0 @@
1
- // stylelint-disable declaration-no-important
2
-
3
- .align-baseline { vertical-align: baseline !important; } // Browser default
4
- .align-top { vertical-align: top !important; }
5
- .align-middle { vertical-align: middle !important; }
6
- .align-bottom { vertical-align: bottom !important; }
7
- .align-text-bottom { vertical-align: text-bottom !important; }
8
- .align-text-top { vertical-align: text-top !important; }
@@ -1,19 +0,0 @@
1
- // stylelint-disable declaration-no-important
2
-
3
- @each $color, $value in $theme-colors {
4
- @include bg-variant(".bg-#{$color}", $value);
5
- }
6
-
7
- @if $enable-gradients {
8
- @each $color, $value in $theme-colors {
9
- @include bg-gradient-variant(".bg-gradient-#{$color}", $value);
10
- }
11
- }
12
-
13
- .bg-white {
14
- background-color: $white !important;
15
- }
16
-
17
- .bg-transparent {
18
- background-color: transparent !important;
19
- }