bootstrap 4.5.0 → 5.0.0.alpha3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/README.md +5 -2
  4. data/assets/javascripts/bootstrap-sprockets.js +12 -9
  5. data/assets/javascripts/bootstrap.js +1852 -1266
  6. data/assets/javascripts/bootstrap.min.js +3 -3
  7. data/assets/javascripts/bootstrap/alert.js +149 -69
  8. data/assets/javascripts/bootstrap/button.js +71 -141
  9. data/assets/javascripts/bootstrap/carousel.js +291 -192
  10. data/assets/javascripts/bootstrap/collapse.js +285 -161
  11. data/assets/javascripts/bootstrap/dom/data.js +81 -0
  12. data/assets/javascripts/bootstrap/dom/event-handler.js +307 -0
  13. data/assets/javascripts/bootstrap/dom/manipulator.js +85 -0
  14. data/assets/javascripts/bootstrap/dom/selector-engine.js +98 -0
  15. data/assets/javascripts/bootstrap/dropdown.js +240 -218
  16. data/assets/javascripts/bootstrap/modal.js +342 -234
  17. data/assets/javascripts/bootstrap/popover.js +82 -106
  18. data/assets/javascripts/bootstrap/scrollspy.js +154 -114
  19. data/assets/javascripts/bootstrap/tab.js +166 -80
  20. data/assets/javascripts/bootstrap/toast.js +171 -113
  21. data/assets/javascripts/bootstrap/tooltip.js +351 -219
  22. data/assets/stylesheets/_bootstrap-grid.scss +52 -16
  23. data/assets/stylesheets/_bootstrap-reboot.scss +5 -2
  24. data/assets/stylesheets/_bootstrap.scss +16 -9
  25. data/assets/stylesheets/bootstrap/_accordion.scss +125 -0
  26. data/assets/stylesheets/bootstrap/_alert.scss +15 -9
  27. data/assets/stylesheets/bootstrap/_badge.scss +2 -27
  28. data/assets/stylesheets/bootstrap/_breadcrumb.scss +3 -19
  29. data/assets/stylesheets/bootstrap/_button-group.scss +16 -40
  30. data/assets/stylesheets/bootstrap/_buttons.scss +27 -60
  31. data/assets/stylesheets/bootstrap/_card.scss +30 -97
  32. data/assets/stylesheets/bootstrap/_carousel.scss +30 -15
  33. data/assets/stylesheets/bootstrap/_close.scss +30 -30
  34. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  35. data/assets/stylesheets/bootstrap/_dropdown.scss +52 -8
  36. data/assets/stylesheets/bootstrap/_forms.scss +9 -347
  37. data/assets/stylesheets/bootstrap/_functions.scss +88 -23
  38. data/assets/stylesheets/bootstrap/_grid.scss +3 -58
  39. data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
  40. data/assets/stylesheets/bootstrap/_list-group.scss +14 -5
  41. data/assets/stylesheets/bootstrap/_mixins.scss +7 -13
  42. data/assets/stylesheets/bootstrap/_modal.scss +41 -47
  43. data/assets/stylesheets/bootstrap/_nav.scss +14 -8
  44. data/assets/stylesheets/bootstrap/_navbar.scss +43 -74
  45. data/assets/stylesheets/bootstrap/_pagination.scss +10 -20
  46. data/assets/stylesheets/bootstrap/_popover.scss +6 -6
  47. data/assets/stylesheets/bootstrap/_progress.scss +3 -5
  48. data/assets/stylesheets/bootstrap/_reboot.scss +310 -171
  49. data/assets/stylesheets/bootstrap/_root.scss +5 -9
  50. data/assets/stylesheets/bootstrap/_spinners.scss +13 -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 +545 -18
  57. data/assets/stylesheets/bootstrap/_variables.scss +653 -469
  58. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  59. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
  60. data/assets/stylesheets/bootstrap/forms/_form-check.scss +151 -0
  61. data/assets/stylesheets/bootstrap/forms/_form-control.scss +223 -0
  62. data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
  63. data/assets/stylesheets/bootstrap/forms/_form-select.scss +68 -0
  64. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  65. data/assets/stylesheets/bootstrap/forms/_input-group.scss +121 -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 +1 -5
  76. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +9 -9
  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 +65 -47
  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 +17 -77
  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 +3 -2
  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 +2 -2
  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. metadata +33 -41
  100. data/assets/javascripts/bootstrap/util.js +0 -192
  101. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  102. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -522
  103. data/assets/stylesheets/bootstrap/_input-group.scss +0 -192
  104. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
  105. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  106. data/assets/stylesheets/bootstrap/_print.scss +0 -141
  107. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -23
  108. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
  109. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
  110. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -81
  111. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  112. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
  113. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -34
  114. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
  115. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
  116. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
  117. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
  118. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
  119. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  120. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  121. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
  122. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
  123. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
  124. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  125. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
  126. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +0 -5
  127. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
  128. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
  129. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  130. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  131. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
  132. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
  133. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
  134. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -71
  135. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
@@ -0,0 +1,18 @@
1
+ /*!
2
+ * Bootstrap Utilities v5.0.0-alpha3 (https://getbootstrap.com/)
3
+ * Copyright 2011-2020 The Bootstrap Authors
4
+ * Copyright 2011-2020 Twitter, Inc.
5
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6
+ */
7
+
8
+ // Configuration
9
+
10
+ @import "functions";
11
+ @import "variables";
12
+ @import "mixins";
13
+ @import "utilities";
14
+
15
+
16
+ // Utilities
17
+
18
+ @import "utilities/api";
@@ -0,0 +1,61 @@
1
+ .form-floating {
2
+ position: relative;
3
+
4
+ > .form-control,
5
+ > .form-select {
6
+ height: $form-floating-height;
7
+ padding: $form-floating-padding-y $form-floating-padding-x;
8
+ }
9
+
10
+ > label {
11
+ position: absolute;
12
+ top: 0;
13
+ left: 0;
14
+ height: 100%; // allow textareas
15
+ padding: $form-floating-padding-y $form-floating-padding-x;
16
+ pointer-events: none;
17
+ border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model
18
+ transform-origin: 0 0;
19
+ @include transition($form-floating-transition);
20
+ }
21
+
22
+ // stylelint-disable no-duplicate-selectors
23
+ > .form-control {
24
+ &::placeholder {
25
+ color: transparent;
26
+ }
27
+
28
+ &:focus,
29
+ &:not(:placeholder-shown) {
30
+ padding-top: $form-floating-input-padding-t;
31
+ padding-bottom: $form-floating-input-padding-b;
32
+ }
33
+ // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped
34
+ &:-webkit-autofill {
35
+ padding-top: $form-floating-input-padding-t;
36
+ padding-bottom: $form-floating-input-padding-b;
37
+ }
38
+ }
39
+
40
+ > .form-select {
41
+ padding-top: $form-floating-input-padding-t;
42
+ padding-bottom: $form-floating-input-padding-b;
43
+ }
44
+
45
+ > .form-control:focus,
46
+ > .form-control:not(:placeholder-shown),
47
+ > .form-select {
48
+ ~ label {
49
+ opacity: $form-floating-label-opacity;
50
+ transform: $form-floating-label-transform;
51
+ }
52
+ }
53
+ // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped
54
+ > .form-control:-webkit-autofill {
55
+ ~ label {
56
+ opacity: $form-floating-label-opacity;
57
+ transform: $form-floating-label-transform;
58
+ }
59
+ }
60
+ // stylelint-enable no-duplicate-selectors
61
+ }
@@ -0,0 +1,151 @@
1
+ //
2
+ // Check/radio
3
+ //
4
+
5
+ .form-check {
6
+ display: block;
7
+ min-height: $form-check-min-height;
8
+ padding-left: $form-check-padding-left;
9
+ margin-bottom: $form-check-margin-bottom;
10
+
11
+ .form-check-input {
12
+ float: left;
13
+ margin-left: $form-check-padding-left * -1;
14
+ }
15
+ }
16
+
17
+ .form-check-input {
18
+ width: $form-check-input-width;
19
+ height: $form-check-input-width;
20
+ margin-top: ($line-height-base - $form-check-input-width) / 2; // line-height minus check height
21
+ vertical-align: top;
22
+ background-color: $form-check-input-bg;
23
+ background-repeat: no-repeat;
24
+ background-position: center;
25
+ background-size: contain;
26
+ border: $form-check-input-border;
27
+ appearance: none;
28
+ color-adjust: exact; // Keep themed appearance for print
29
+ @include transition($form-check-transition);
30
+
31
+ &[type="checkbox"] {
32
+ @include border-radius($form-check-input-border-radius);
33
+ }
34
+
35
+ &[type="radio"] {
36
+ // stylelint-disable-next-line property-disallowed-list
37
+ border-radius: $form-check-radio-border-radius;
38
+ }
39
+
40
+ &:active {
41
+ filter: $form-check-input-active-filter;
42
+ }
43
+
44
+ &:focus {
45
+ border-color: $form-check-input-focus-border;
46
+ outline: 0;
47
+ box-shadow: $form-check-input-focus-box-shadow;
48
+ }
49
+
50
+ &:checked {
51
+ background-color: $form-check-input-checked-bg-color;
52
+ border-color: $form-check-input-checked-border-color;
53
+
54
+ &[type="checkbox"] {
55
+ @if $enable-gradients {
56
+ background-image: escape-svg($form-check-input-checked-bg-image), var(--#{$variable-prefix}gradient);
57
+ } @else {
58
+ background-image: escape-svg($form-check-input-checked-bg-image);
59
+ }
60
+ }
61
+
62
+ &[type="radio"] {
63
+ @if $enable-gradients {
64
+ background-image: escape-svg($form-check-radio-checked-bg-image), var(--#{$variable-prefix}gradient);
65
+ } @else {
66
+ background-image: escape-svg($form-check-radio-checked-bg-image);
67
+ }
68
+ }
69
+ }
70
+
71
+ &[type="checkbox"]:indeterminate {
72
+ background-color: $form-check-input-indeterminate-bg-color;
73
+ border-color: $form-check-input-indeterminate-border-color;
74
+
75
+ @if $enable-gradients {
76
+ background-image: escape-svg($form-check-input-indeterminate-bg-image), var(--#{$variable-prefix}gradient);
77
+ } @else {
78
+ background-image: escape-svg($form-check-input-indeterminate-bg-image);
79
+ }
80
+ }
81
+
82
+ &:disabled {
83
+ pointer-events: none;
84
+ filter: none;
85
+ opacity: $form-check-input-disabled-opacity;
86
+ }
87
+
88
+ // Use disabled attribute in addition of :disabled pseudo-class
89
+ // See: https://github.com/twbs/bootstrap/issues/28247
90
+ &[disabled],
91
+ &:disabled {
92
+ ~ .form-check-label {
93
+ opacity: $form-check-label-disabled-opacity;
94
+ }
95
+ }
96
+ }
97
+
98
+ .form-check-label {
99
+ color: $form-check-label-color;
100
+ cursor: $form-check-label-cursor;
101
+ }
102
+
103
+ //
104
+ // Switch
105
+ //
106
+
107
+ .form-switch {
108
+ padding-left: $form-switch-padding-left;
109
+
110
+ .form-check-input {
111
+ width: $form-switch-width;
112
+ margin-left: $form-switch-padding-left * -1;
113
+ background-image: escape-svg($form-switch-bg-image);
114
+ background-position: left center;
115
+ @include border-radius($form-switch-border-radius);
116
+
117
+ &:focus {
118
+ background-image: escape-svg($form-switch-focus-bg-image);
119
+ }
120
+
121
+ &:checked {
122
+ background-position: $form-switch-checked-bg-position;
123
+
124
+ @if $enable-gradients {
125
+ background-image: escape-svg($form-switch-checked-bg-image), var(--#{$variable-prefix}gradient);
126
+ } @else {
127
+ background-image: escape-svg($form-switch-checked-bg-image);
128
+ }
129
+ }
130
+ }
131
+ }
132
+
133
+ .form-check-inline {
134
+ display: inline-block;
135
+ margin-right: $form-check-inline-margin-right;
136
+ }
137
+
138
+ .btn-check {
139
+ position: absolute;
140
+ clip: rect(0, 0, 0, 0);
141
+ pointer-events: none;
142
+
143
+ &[disabled],
144
+ &:disabled {
145
+ + .btn {
146
+ pointer-events: none;
147
+ filter: none;
148
+ opacity: $form-check-btn-check-disabled-opacity;
149
+ }
150
+ }
151
+ }
@@ -0,0 +1,223 @@
1
+ //
2
+ // General form controls (plus a few specific high-level interventions)
3
+ //
4
+
5
+ .form-control {
6
+ display: block;
7
+ width: 100%;
8
+ padding: $input-padding-y $input-padding-x;
9
+ font-family: $input-font-family;
10
+ @include font-size($input-font-size);
11
+ font-weight: $input-font-weight;
12
+ line-height: $input-line-height;
13
+ color: $input-color;
14
+ background-color: $input-bg;
15
+ background-clip: padding-box;
16
+ border: $input-border-width solid $input-border-color;
17
+ appearance: none; // Fix appearance for date inputs in Safari
18
+
19
+ // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
20
+ @include border-radius($input-border-radius, 0);
21
+
22
+ @include box-shadow($input-box-shadow);
23
+ @include transition($input-transition);
24
+
25
+ &[type="file"] {
26
+ overflow: hidden; // prevent pseudo element button overlap
27
+
28
+ &:not(:disabled):not([readonly]) {
29
+ cursor: pointer;
30
+ }
31
+ }
32
+
33
+ // Customize the `:focus` state to imitate native WebKit styles.
34
+ &:focus {
35
+ color: $input-focus-color;
36
+ background-color: $input-focus-bg;
37
+ border-color: $input-focus-border-color;
38
+ outline: 0;
39
+ @if $enable-shadows {
40
+ @include box-shadow($input-box-shadow, $input-focus-box-shadow);
41
+ } @else {
42
+ // Avoid using mixin so we can pass custom focus shadow properly
43
+ box-shadow: $input-focus-box-shadow;
44
+ }
45
+ }
46
+
47
+ // Add some height to date inputs on iOS
48
+ // https://github.com/twbs/bootstrap/issues/23307
49
+ // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved
50
+ &::-webkit-date-and-time-value {
51
+ // Multiply line-height by 1em if it has no unit
52
+ height: if(unit($input-line-height) == "", $input-line-height * 1em, $input-line-height);
53
+ }
54
+
55
+ // Placeholder
56
+ &::placeholder {
57
+ color: $input-placeholder-color;
58
+ // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.
59
+ opacity: 1;
60
+ }
61
+
62
+ // Disabled and read-only inputs
63
+ //
64
+ // HTML5 says that controls under a fieldset > legend:first-child won't be
65
+ // disabled if the fieldset is disabled. Due to implementation difficulty, we
66
+ // don't honor that edge case; we style them as disabled anyway.
67
+ &:disabled,
68
+ &[readonly] {
69
+ background-color: $input-disabled-bg;
70
+ border-color: $input-disabled-border-color;
71
+ // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
72
+ opacity: 1;
73
+ }
74
+
75
+ // File input buttons theming
76
+ // stylelint-disable-next-line selector-pseudo-element-no-unknown
77
+ &::file-selector-button {
78
+ padding: $input-padding-y $input-padding-x;
79
+ margin: (-$input-padding-y) (-$input-padding-x);
80
+ margin-inline-end: $input-padding-x;
81
+ color: $form-file-button-color;
82
+ @include gradient-bg($form-file-button-bg);
83
+ pointer-events: none;
84
+ border-color: inherit;
85
+ border-style: solid;
86
+ border-width: 0;
87
+ border-inline-end-width: $input-border-width;
88
+ border-radius: 0; // stylelint-disable-line property-disallowed-list
89
+ @include transition($btn-transition);
90
+ }
91
+
92
+ // stylelint-disable-next-line selector-pseudo-element-no-unknown
93
+ &:hover:not(:disabled):not([readonly])::file-selector-button {
94
+ background-color: $form-file-button-hover-bg;
95
+ }
96
+
97
+ &::-webkit-file-upload-button {
98
+ padding: $input-padding-y $input-padding-x;
99
+ margin: (-$input-padding-y) (-$input-padding-x);
100
+ margin-inline-end: $input-padding-x;
101
+ color: $form-file-button-color;
102
+ @include gradient-bg($form-file-button-bg);
103
+ pointer-events: none;
104
+ border-color: inherit;
105
+ border-style: solid;
106
+ border-width: 0;
107
+ border-inline-end-width: $input-border-width;
108
+ border-radius: 0; // stylelint-disable-line property-disallowed-list
109
+ @include transition($btn-transition);
110
+ }
111
+
112
+ &:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
113
+ background-color: $form-file-button-hover-bg;
114
+ }
115
+ }
116
+
117
+ // Readonly controls as plain text
118
+ //
119
+ // Apply class to a readonly input to make it appear like regular plain
120
+ // text (without any border, background color, focus indicator)
121
+
122
+ .form-control-plaintext {
123
+ display: block;
124
+ width: 100%;
125
+ padding: $input-padding-y 0;
126
+ margin-bottom: 0; // match inputs if this class comes on inputs with default margins
127
+ line-height: $input-line-height;
128
+ color: $input-plaintext-color;
129
+ background-color: transparent;
130
+ border: solid transparent;
131
+ border-width: $input-border-width 0;
132
+
133
+ &.form-control-sm,
134
+ &.form-control-lg {
135
+ padding-right: 0;
136
+ padding-left: 0;
137
+ }
138
+ }
139
+
140
+ // Form control sizing
141
+ //
142
+ // Build on `.form-control` with modifier classes to decrease or increase the
143
+ // height and font-size of form controls.
144
+ //
145
+ // Repeated in `_input_group.scss` to avoid Sass extend issues.
146
+
147
+ .form-control-sm {
148
+ min-height: $input-height-sm;
149
+ padding: $input-padding-y-sm $input-padding-x-sm;
150
+ @include font-size($input-font-size-sm);
151
+ @include border-radius($input-border-radius-sm);
152
+
153
+ // stylelint-disable-next-line selector-pseudo-element-no-unknown
154
+ &::file-selector-button {
155
+ padding: $input-padding-y-sm $input-padding-x-sm;
156
+ margin: (-$input-padding-y-sm) (-$input-padding-x-sm);
157
+ margin-inline-end: $input-padding-x-sm;
158
+ }
159
+
160
+ &::-webkit-file-upload-button {
161
+ padding: $input-padding-y-sm $input-padding-x-sm;
162
+ margin: (-$input-padding-y-sm) (-$input-padding-x-sm);
163
+ margin-inline-end: $input-padding-x-sm;
164
+ }
165
+ }
166
+
167
+ .form-control-lg {
168
+ min-height: $input-height-lg;
169
+ padding: $input-padding-y-lg $input-padding-x-lg;
170
+ @include font-size($input-font-size-lg);
171
+ @include border-radius($input-border-radius-lg);
172
+
173
+ // stylelint-disable-next-line selector-pseudo-element-no-unknown
174
+ &::file-selector-button {
175
+ padding: $input-padding-y-lg $input-padding-x-lg;
176
+ margin: (-$input-padding-y-lg) (-$input-padding-x-lg);
177
+ margin-inline-end: $input-padding-x-lg;
178
+ }
179
+
180
+ &::-webkit-file-upload-button {
181
+ padding: $input-padding-y-lg $input-padding-x-lg;
182
+ margin: (-$input-padding-y-lg) (-$input-padding-x-lg);
183
+ margin-inline-end: $input-padding-x-lg;
184
+ }
185
+ }
186
+
187
+ // Make sure textareas don't shrink too much when resized
188
+ // https://github.com/twbs/bootstrap/pull/29124
189
+ // stylelint-disable selector-no-qualifying-type
190
+ textarea {
191
+ &.form-control {
192
+ min-height: $input-height;
193
+ }
194
+
195
+ &.form-control-sm {
196
+ min-height: $input-height-sm;
197
+ }
198
+
199
+ &.form-control-lg {
200
+ min-height: $input-height-lg;
201
+ }
202
+ }
203
+ // stylelint-enable selector-no-qualifying-type
204
+
205
+ .form-control-color {
206
+ max-width: 3rem;
207
+ height: auto; // Override fixed browser height
208
+ padding: $input-padding-y;
209
+
210
+ &:not(:disabled):not([readonly]) {
211
+ cursor: pointer;
212
+ }
213
+
214
+ &::-moz-color-swatch {
215
+ height: if(unit($input-line-height) == "", $input-line-height * 1em, $input-line-height);
216
+ @include border-radius($input-border-radius);
217
+ }
218
+
219
+ &::-webkit-color-swatch {
220
+ height: if(unit($input-line-height) == "", $input-line-height * 1em, $input-line-height);
221
+ @include border-radius($input-border-radius);
222
+ }
223
+ }