bullframe.css 5.0.1 → 5.1.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 (86) hide show
  1. package/.stylelintignore +1 -1
  2. package/CHANGELOG.md +238 -233
  3. package/LICENSE +1 -1
  4. package/README.md +17 -14
  5. package/dist/css/bullframe-classless-dark-prefers.css +145 -205
  6. package/dist/css/bullframe-classless-dark-prefers.css.map +1 -1
  7. package/dist/css/bullframe-classless-dark-prefers.min.css +1 -1
  8. package/dist/css/bullframe-classless-dark-prefers.min.css.map +1 -1
  9. package/dist/css/bullframe-classless-dark.css +316 -391
  10. package/dist/css/bullframe-classless-dark.css.map +1 -1
  11. package/dist/css/bullframe-classless-dark.min.css +1 -1
  12. package/dist/css/bullframe-classless-dark.min.css.map +1 -1
  13. package/dist/css/bullframe-classless-system-default.css +145 -205
  14. package/dist/css/bullframe-classless-system-default.css.map +1 -1
  15. package/dist/css/bullframe-classless-system-default.min.css +1 -1
  16. package/dist/css/bullframe-classless-system-default.min.css.map +1 -1
  17. package/dist/css/bullframe-classless.css +133 -195
  18. package/dist/css/bullframe-classless.css.map +1 -1
  19. package/dist/css/bullframe-classless.min.css +1 -1
  20. package/dist/css/bullframe-classless.min.css.map +1 -1
  21. package/dist/css/bullframe-dark-prefers.css +145 -205
  22. package/dist/css/bullframe-dark-prefers.css.map +1 -1
  23. package/dist/css/bullframe-dark-prefers.min.css +1 -1
  24. package/dist/css/bullframe-dark-prefers.min.css.map +1 -1
  25. package/dist/css/bullframe-dark.css +386 -466
  26. package/dist/css/bullframe-dark.css.map +1 -1
  27. package/dist/css/bullframe-dark.min.css +1 -1
  28. package/dist/css/bullframe-dark.min.css.map +1 -1
  29. package/dist/css/bullframe-system-default.css +142 -204
  30. package/dist/css/bullframe-system-default.css.map +1 -1
  31. package/dist/css/bullframe-system-default.min.css +1 -1
  32. package/dist/css/bullframe-system-default.min.css.map +1 -1
  33. package/dist/css/bullframe-utilities.css +4 -2
  34. package/dist/css/bullframe-utilities.css.map +1 -1
  35. package/dist/css/bullframe-utilities.min.css +1 -1
  36. package/dist/css/bullframe-utilities.min.css.map +1 -1
  37. package/dist/css/bullframe.css +133 -195
  38. package/dist/css/bullframe.css.map +1 -1
  39. package/dist/css/bullframe.min.css +1 -1
  40. package/dist/css/bullframe.min.css.map +1 -1
  41. package/dist/docs/demo/index.html +15 -13
  42. package/dist/index.css +1 -0
  43. package/dist/index.js.map +1 -0
  44. package/package.json +4 -4
  45. package/src/scss/forms/_forms-normalization.scss +84 -100
  46. package/src/scss/forms/_forms-styling-radio-checkbox.scss +11 -12
  47. package/src/scss/forms/_forms-styling-range.scss +19 -26
  48. package/src/scss/forms/_forms-styling-select.scss +9 -16
  49. package/src/scss/forms/_forms-styling.scss +81 -94
  50. package/src/scss/miscellaneous/_misc-focus.scss +29 -28
  51. package/src/scss/mixins/_mixin-dark-prefers.scss +14 -15
  52. package/src/scss/mixins/_mixin-dark.scss +330 -311
  53. package/vite.config.js +65 -33
  54. package/dist/docs/demo/css/style.css +0 -131
  55. package/dist/docs/demo/icons/android-chrome-192x192.png +0 -0
  56. package/dist/docs/demo/icons/android-chrome-384x384.png +0 -0
  57. package/dist/docs/demo/icons/mstile-150x150.png +0 -0
  58. package/dist/docs/demo/icons/safari-pinned-tab.svg +0 -28
  59. package/dist/docs/demo/images/logo.png +0 -0
  60. package/dist/docs/demo/images/placeholder-img-130x140.jpg +0 -0
  61. package/dist/docs/demo/images/placeholder-img-16x16.jpg +0 -0
  62. package/dist/docs/github-readme/bf-logo-full-dark.png +0 -0
  63. package/dist/docs/github-readme/bf-logo-full-light.png +0 -0
  64. package/src/docs/demo/css/style.css +0 -131
  65. package/src/docs/demo/icons/android-chrome-192x192.png +0 -0
  66. package/src/docs/demo/icons/android-chrome-384x384.png +0 -0
  67. package/src/docs/demo/icons/apple-touch-icon.png +0 -0
  68. package/src/docs/demo/icons/favicon-16x16.png +0 -0
  69. package/src/docs/demo/icons/favicon-32x32.png +0 -0
  70. package/src/docs/demo/icons/favicon.ico +0 -0
  71. package/src/docs/demo/icons/mstile-150x150.png +0 -0
  72. package/src/docs/demo/icons/safari-pinned-tab.svg +0 -28
  73. package/src/docs/demo/images/logo.png +0 -0
  74. package/src/docs/demo/images/placeholder-img-130x140.jpg +0 -0
  75. package/src/docs/demo/images/placeholder-img-16x16.jpg +0 -0
  76. package/src/docs/demo/images/placeholder-img-800x400.jpg +0 -0
  77. package/src/docs/demo/images/video-poster.png +0 -0
  78. package/src/docs/demo/index.html +0 -1152
  79. package/src/docs/github-readme/bf-logo-full-dark.png +0 -0
  80. package/src/docs/github-readme/bf-logo-full-light.png +0 -0
  81. /package/dist/{docs/demo/icons/apple-touch-icon.png → apple-touch-icon.png} +0 -0
  82. /package/dist/{docs/demo/icons/favicon-16x16.png → favicon-16x16.png} +0 -0
  83. /package/dist/{docs/demo/icons/favicon-32x32.png → favicon-32x32.png} +0 -0
  84. /package/dist/{docs/demo/icons/favicon.ico → favicon.ico} +0 -0
  85. /package/dist/{docs/demo/images/placeholder-img-800x400.jpg → placeholder-img-800x400.jpg} +0 -0
  86. /package/dist/{docs/demo/images/video-poster.png → video-poster.png} +0 -0
@@ -6,92 +6,86 @@
6
6
 
7
7
  // normalization, enhancement and responsiveness
8
8
 
9
- html input,
10
- button,
11
- select,
12
- optgroup,
13
- textarea {
9
+ :where(html input, button, select, optgroup, textarea) {
14
10
  color: inherit;
15
11
  font-family: inherit;
16
12
  font-size: inherit;
17
13
  line-height: inherit;
18
14
  }
19
15
 
20
- html input,
21
- button,
22
- [type="radio"],
23
- [type="checkbox"],
24
- select,
25
- optgroup,
26
- textarea {
16
+ :where(
17
+ html input,
18
+ button,
19
+ [type="radio"],
20
+ [type="checkbox"],
21
+ select,
22
+ optgroup,
23
+ textarea
24
+ ) {
27
25
  margin: 0;
28
26
  }
29
27
 
30
- html input,
31
- select,
32
- textarea,
33
- legend {
28
+ :where(html input, select, textarea, legend) {
34
29
  width: 100%;
35
30
  }
36
31
 
37
32
  // re-set width auto where needed
38
- html label,
39
- button,
40
- [type="image"],
41
- [type="submit"],
42
- [type="reset"],
43
- html [type="button"],
44
- [type="radio"],
45
- [type="checkbox"] {
33
+ :where(
34
+ html label,
35
+ button,
36
+ [type="image"],
37
+ [type="submit"],
38
+ [type="reset"],
39
+ html [type="button"],
40
+ [type="radio"],
41
+ [type="checkbox"]
42
+ ) {
46
43
  width: auto;
47
44
  }
48
45
 
49
46
  // inline-block display gives the best cross-browser combination
50
47
  // and allow several properties
51
- html input,
52
- label,
53
- select,
54
- textarea,
55
- button,
56
- html [type="button"],
57
- [type="reset"],
58
- [type="submit"],
59
- output {
48
+ :where(
49
+ html input,
50
+ label,
51
+ select,
52
+ textarea,
53
+ button,
54
+ html [type="button"],
55
+ [type="reset"],
56
+ [type="submit"],
57
+ output
58
+ ) {
60
59
  display: inline-block;
61
60
  }
62
61
 
63
- [type="file"] {
62
+ :where([type="file"]) {
64
63
  display: block;
65
64
  background-color: transparent;
66
65
  }
67
66
 
68
- button,
69
- html input,
70
- select,
71
- textarea {
67
+ :where(button, html input, select, textarea) {
72
68
  background-image: none; // FF mobile
73
69
  }
74
70
 
75
- input,
76
- select,
77
- textarea {
71
+ :where(input, select, textarea) {
78
72
  vertical-align: baseline;
79
73
  }
80
74
 
81
- form {
75
+ :where(form) {
82
76
  margin: 0;
83
77
  }
84
78
 
85
79
  // 1. Remove intrinsic min-width of fieldset
86
80
  // https://github.com/necolas/normalize.css/pull/269
87
- fieldset {
81
+ :where(fieldset) {
88
82
  border: 0;
89
83
  padding: 0;
90
84
  margin: 0;
91
85
  min-width: 0; // 1.
92
86
  }
93
87
 
94
- legend {
88
+ :where(legend) {
95
89
  display: table; // Correct the text wrapping in Edge and IE.
96
90
  max-width: 100%;
97
91
  white-space: normal; // enable line-wrapping in FF4/5
@@ -105,7 +99,7 @@ legend {
105
99
  color: inherit;
106
100
  }
107
101
 
108
- label {
102
+ :where(label) {
109
103
  font-weight: 400;
110
104
  font-size: 90%;
111
105
  line-height: 1.375;
@@ -113,9 +107,7 @@ label {
113
107
  margin-bottom: bf-v-space.$bf-spacing-md-rem;
114
108
  }
115
109
 
116
- label input,
117
- label select,
118
- label textarea {
110
+ :where(label input, label select, label textarea) {
119
111
  font-size: 110%;
120
112
  }
121
113
 
@@ -137,26 +129,25 @@ label textarea {
137
129
  padding: 0;
138
130
  }
139
131
 
140
- [type="search"] {
132
+ :where([type="search"]) {
141
133
  outline-offset: calc(-1 * bf-v-space.$bf-spacing-sm-rem);
142
134
  }
143
135
 
144
- output {
136
+ :where(output) {
145
137
  vertical-align: middle;
146
138
  }
147
139
 
148
- button,
149
- select {
140
+ :where(button, select) {
150
141
  text-transform: none;
151
142
  }
152
143
 
153
- select {
144
+ :where(select) {
154
145
  word-wrap: normal;
155
146
  }
156
147
 
157
148
  // Taken from Bootstrap Reboot v5.2
158
149
  // https://unpkg.com/browse/bootstrap@5.2.0/dist/css/bootstrap-reboot.css
159
- [list]:not(
150
+ :where([list]):not(
160
151
  [type="date"],
161
152
  [type="datetime-local"],
162
153
  [type="month"],
@@ -166,7 +157,7 @@ select {
166
157
  display: none !important;
167
158
  }
168
159
 
169
- optgroup {
160
+ :where(optgroup) {
170
161
  font-family: inherit;
171
162
  font-size: inherit;
172
163
  font-style: inherit; // fallback for font families without 600 */
@@ -174,28 +165,28 @@ optgroup {
174
165
  }
175
166
 
176
167
  // remove -webkit-appearance listing every single elements that needed it
177
- button,
178
- // avoid destroying native android audio/video players
179
- html [type="button"],
180
- [type="reset"],
181
- [type="submit"],
182
-
183
- [type="email"],
184
- [type="number"],
185
- [type="text"],
186
- [type="tel"],
187
- [type="date"],
188
- [type="datetime-local"],
189
- [type="month"],
190
- [type="week"],
191
- [type="url"],
192
- [type="image"],
193
- [type="password"],
194
- [type="search"],
195
- [type="search"]::-webkit-search-decoration,
196
- [type="search"]::-webkit-search-cancel-button,
197
- input[list],
198
- textarea {
168
+ :where(
169
+ button,
170
+ html [type="button"],
171
+ [type="reset"],
172
+ [type="submit"],
173
+ [type="email"],
174
+ [type="number"],
175
+ [type="text"],
176
+ [type="tel"],
177
+ [type="date"],
178
+ [type="datetime-local"],
179
+ [type="month"],
180
+ [type="week"],
181
+ [type="url"],
182
+ [type="image"],
183
+ [type="password"],
184
+ [type="search"],
185
+ [type="search"]::-webkit-search-decoration,
186
+ [type="search"]::-webkit-search-cancel-button,
187
+ input[list],
188
+ textarea
189
+ ) {
199
190
  appearance: none;
200
191
  }
201
192
 
@@ -209,41 +200,36 @@ textarea {
209
200
  appearance: auto;
210
201
  }
211
202
 
212
- button,
213
- input,
214
- select,
215
- textarea {
203
+ :where(button, input, select, textarea) {
216
204
  border-radius: bf-v-space.$bf-spacing-sm-rem;
217
205
  }
218
206
 
219
- [type="radio"] {
207
+ :where([type="radio"]) {
220
208
  border-radius: 50%;
221
209
  }
222
210
 
223
- [type="checkbox"] {
211
+ :where([type="checkbox"]) {
224
212
  border-radius: bf-v-space.$bf-spacing-md-rem;
225
213
  }
226
214
 
227
- [type="radio"],
228
- [type="checkbox"] {
215
+ :where([type="radio"], [type="checkbox"]) {
229
216
  padding: 0;
230
217
  background-color: bf-v-color.$bf-white;
231
218
  }
232
219
 
233
- [type="range" i] {
220
+ :where([type="range" i]) {
234
221
  background-color: transparent; // FF and Chrome mobile
235
222
  }
236
223
 
237
- select[size],
238
- select[multiple] {
224
+ :where(select[size], select[multiple]) {
239
225
  height: auto;
240
226
  }
241
227
 
242
- select[multiple] {
228
+ :where(select[multiple]) {
243
229
  background-image: none; // FF mobile
244
230
  }
245
231
 
246
- textarea {
232
+ :where(textarea) {
247
233
  height: auto;
248
234
  min-height: 60px;
249
235
  min-height: 6rem;
@@ -258,10 +244,7 @@ textarea {
258
244
  border-style: none;
259
245
  }
260
246
 
261
- button,
262
- [type="button"],
263
- [type="reset"],
264
- [type="submit"] {
247
+ :where(button, [type="button"], [type="reset"], [type="submit"]) {
265
248
  line-height: normal;
266
249
  text-align: center;
267
250
  margin: 0;
@@ -281,10 +264,12 @@ button,
281
264
  }
282
265
  }
283
266
 
284
- button:not(:disabled),
285
- [type="button"]:not(:disabled),
286
- [type="reset"]:not(:disabled),
287
- [type="submit"]:not(:disabled) {
267
+ :where(
268
+ button:not(:disabled),
269
+ [type="button"]:not(:disabled),
270
+ [type="reset"]:not(:disabled),
271
+ [type="submit"]:not(:disabled)
272
+ ) {
288
273
  cursor: pointer;
289
274
  }
290
275
 
@@ -292,8 +277,7 @@ button:not(:disabled),
292
277
  // Issue: If one change the text color of input fields, FF will change
293
278
  // the default color of placeholders too!
294
279
  // Fix: Use '!important' https://github.com/necolas/normalize.css/issues/150
295
- input::placeholder,
296
- textarea::placeholder {
280
+ :where(input::placeholder, textarea::placeholder) {
297
281
  color: bf-v-color.$bf-gray-dark;
298
282
  }
299
283
 
@@ -1,15 +1,14 @@
1
- @use '../variables/variables-colors' as bf-v-color;
2
- @use '../variables/variables-texts' as bf-v-text;
3
- @use '../variables/variables-spacing' as bf-v-space;
4
- @use '../variables/variables-breakpoints' as bf-v-bp;
5
- @use 'sass:color';
1
+ @use "../variables/variables-colors" as bf-v-color;
2
+ @use "../variables/variables-texts" as bf-v-text;
3
+ @use "../variables/variables-spacing" as bf-v-space;
4
+ @use "../variables/variables-breakpoints" as bf-v-bp;
5
+ @use "sass:color";
6
6
 
7
7
  // heavily inspired by '2020 toggles' by Aaron Iker
8
8
  // https://css-tricks.com/custom-styling-form-inputs-with-modern-css-features/
9
9
  // https://codepen.io/aaroniker/pen/ZEYoxEY?editors=0100
10
10
 
11
- [type='checkbox'],
12
- [type='radio'] {
11
+ :where([type="checkbox"], [type="radio"]) {
13
12
  appearance: none;
14
13
 
15
14
  height: 1.8rem;
@@ -31,15 +30,15 @@
31
30
  // Read more
32
31
  // 1. http://bootstrap.rtlcss.com
33
32
  // 2. https://rtlstyling.com/
34
- *[dir='rtl'] & + label,
35
- &[dir='rtl'] + label {
33
+ *[dir="rtl"] & + label,
34
+ &[dir="rtl"] + label {
36
35
  margin-left: 0;
37
36
  margin-right: bf-v-space.$bf-spacing-md-px;
38
37
  margin-right: bf-v-space.$bf-spacing-md-rem;
39
38
  }
40
39
 
41
40
  &::after {
42
- content: '';
41
+ content: "";
43
42
  display: block;
44
43
  position: absolute;
45
44
  }
@@ -50,7 +49,7 @@
50
49
  }
51
50
  }
52
51
 
53
- [type='radio'] {
52
+ :where([type="radio"]) {
54
53
  &::after {
55
54
  width: 1.8rem;
56
55
  height: 1.8rem;
@@ -65,7 +64,7 @@
65
64
  }
66
65
  }
67
66
 
68
- [type='checkbox'] {
67
+ :where([type="checkbox"]) {
69
68
  &::after {
70
69
  width: 0.6rem;
71
70
  height: 0.8rem;
@@ -1,21 +1,21 @@
1
- @use '../variables/variables-colors' as bf-v-color;
2
- @use '../variables/variables-texts' as bf-v-text;
3
- @use '../variables/variables-spacing' as bf-v-space;
4
- @use '../variables/variables-breakpoints' as bf-v-bp;
5
- @use 'sass:color';
1
+ @use "../variables/variables-colors" as bf-v-color;
2
+ @use "../variables/variables-texts" as bf-v-text;
3
+ @use "../variables/variables-spacing" as bf-v-space;
4
+ @use "../variables/variables-breakpoints" as bf-v-bp;
5
+ @use "sass:color";
6
6
 
7
7
  // styling input range in modern browsers safely using the @supports CSS-at-rule
8
8
  // https://developer.mozilla.org/en-US/docs/Web/CSS/@supports
9
9
  //
10
10
  // standalone CodePen demo https://codepen.io/marcop135/pen/JjGrNMx
11
11
 
12
- [type='range'] {
12
+ :where([type="range"]) {
13
13
  appearance: none;
14
14
  width: 100%;
15
15
  height: 1.4rem;
16
16
  }
17
17
 
18
- [type='range']::-webkit-slider-thumb {
18
+ :where([type="range"])::-webkit-slider-thumb {
19
19
  border: 0;
20
20
  appearance: none;
21
21
 
@@ -24,9 +24,7 @@
24
24
  margin-top: -0.25rem;
25
25
  background-color: bf-v-color.$bf-blue;
26
26
  border-radius: 1.5rem;
27
- transition:
28
- background-color 0.15s ease-in-out,
29
- border-color 0.15s ease-in-out,
27
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out,
30
28
  box-shadow 0.15s ease-in-out;
31
29
 
32
30
  &:active {
@@ -34,7 +32,7 @@
34
32
  }
35
33
  }
36
34
 
37
- [type='range']::-moz-range-thumb {
35
+ :where([type="range"])::-moz-range-thumb {
38
36
  border: 0;
39
37
  appearance: none;
40
38
 
@@ -42,9 +40,7 @@
42
40
  height: 1.5rem;
43
41
  background-color: bf-v-color.$bf-blue;
44
42
  border-radius: 1.5rem;
45
- transition:
46
- background-color 0.15s ease-in-out,
47
- border-color 0.15s ease-in-out,
43
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out,
48
44
  box-shadow 0.15s ease-in-out;
49
45
 
50
46
  &:active {
@@ -52,7 +48,7 @@
52
48
  }
53
49
  }
54
50
 
55
- [type='range']::-webkit-slider-runnable-track {
51
+ :where([type="range"])::-webkit-slider-runnable-track {
56
52
  color: transparent;
57
53
  border-color: transparent;
58
54
 
@@ -62,7 +58,7 @@
62
58
  background-color: bf-v-color.$bf-gray-light-extra;
63
59
  }
64
60
 
65
- [type='range']::-moz-range-track {
61
+ :where([type="range"])::-moz-range-track {
66
62
  color: transparent;
67
63
  border-color: transparent;
68
64
 
@@ -72,35 +68,32 @@
72
68
  background-color: bf-v-color.$bf-gray-light-extra;
73
69
  }
74
70
 
75
- [type='range']:focus {
71
+ :where([type="range"]):focus {
76
72
  outline: none;
77
73
 
78
74
  &::-webkit-slider-thumb {
79
- box-shadow:
80
- 0 0 0 0.1rem / bf-v-color.$bf-white,
75
+ box-shadow: 0 0 0 0.1rem / bf-v-color.$bf-white,
81
76
  0 0 0 0.2rem rgb(0 123 255 / 25%);
82
77
  }
83
78
 
84
79
  &::-moz-slider-thumb {
85
- box-shadow:
86
- 0 0 0 0.1rem / bf-v-color.$bf-white,
80
+ box-shadow: 0 0 0 0.1rem / bf-v-color.$bf-white,
87
81
  0 0 0 0.2rem rgb(0 123 255 / 25%);
88
82
  }
89
83
  }
90
84
 
91
- [type='range']::-moz-focus-outer {
85
+ :where([type="range"])::-moz-focus-outer {
92
86
  border: 0;
93
87
  }
94
88
 
95
- [type='range']:focus::-moz-range-thumb {
96
- box-shadow:
97
- 0 0 0 0.1rem / bf-v-color.$bf-white,
89
+ :where([type="range"]):focus::-moz-range-thumb {
90
+ box-shadow: 0 0 0 0.1rem / bf-v-color.$bf-white,
98
91
  0 0 0 0.2rem rgb(0 123 255 / 25%);
99
92
  }
100
93
 
101
94
  // disabled
102
95
 
103
- [type='range']:disabled {
96
+ :where([type="range"]):disabled {
104
97
  pointer-events: none;
105
98
 
106
99
  &::-webkit-slider-thumb {
@@ -1,8 +1,8 @@
1
- @use '../variables/variables-colors' as bf-v-color;
2
- @use '../variables/variables-texts' as bf-v-text;
3
- @use '../variables/variables-spacing' as bf-v-space;
4
- @use '../variables/variables-breakpoints' as bf-v-bp;
5
- @use 'sass:color';
1
+ @use "../variables/variables-colors" as bf-v-color;
2
+ @use "../variables/variables-texts" as bf-v-text;
3
+ @use "../variables/variables-spacing" as bf-v-space;
4
+ @use "../variables/variables-breakpoints" as bf-v-bp;
5
+ @use "sass:color";
6
6
 
7
7
  // custom <select> arrow and appearance with a base64 embedded SVG icon
8
8
  // https://css-tricks.com/probably-dont-base64-svg/#article-header-id-2
@@ -11,10 +11,6 @@
11
11
  // and from Bootstrap custom select
12
12
  // https://getbootstrap.com/docs/4.4/components/input-group/#custom-select
13
13
 
14
- // ! :not and calc() are IE9+
15
- // https://caniuse.com/#feat=mdn-css_selectors_not
16
- // https://caniuse.com/#feat=calc
17
-
18
14
  // ! 12px = the icon width/height, and must be in pixels because
19
15
  // calc() is just for values
20
16
  // https://css-tricks.com/a-complete-guide-to-calc-in-css/#0-calc-is-for-values
@@ -25,7 +21,7 @@
25
21
  // so, is not safe to style every kind of <select>
26
22
  //
27
23
  // remove the arrow and the appearance, especially on Webkit
28
- select:not([size], [multiple]) {
24
+ :where(select):not([size], select[multiple]) {
29
25
  appearance: none;
30
26
 
31
27
  // add a new svg arrow
@@ -34,12 +30,11 @@ select:not([size], [multiple]) {
34
30
  no-repeat right 0.85rem center/8px 10px;
35
31
 
36
32
  // space the arrow
37
- padding-right: bf-v-space.$bf-spacing-lg-px + bf-v-space.$bf-spacing-lg-px;
38
33
  padding-right: bf-v-space.$bf-spacing-lg-rem + bf-v-space.$bf-spacing-lg-rem;
39
34
  }
40
35
 
41
36
  // Legacy Edge browser support
42
- select::-ms-expand {
37
+ :where(select)::-ms-expand {
43
38
  display: none;
44
39
  }
45
40
 
@@ -50,16 +45,14 @@ select::-ms-expand {
50
45
  // Read more
51
46
  // 1. http://bootstrap.rtlcss.com
52
47
  // 2. https://rtlstyling.com/
53
- *[dir='rtl'] select:not([size], [multiple]),
54
- select[dir='rtl']:not([size], [multiple]) {
48
+ :where(*[dir="rtl"]) :where(select):not([size], select[multiple]),
49
+ :where(select[dir="rtl"]):not([size], select[multiple]) {
55
50
  // move the arrow icon to the left
56
51
  background-position: left 0.85rem top 50%;
57
52
 
58
53
  // go back to default forms padding
59
- padding-right: (bf-v-space.$bf-spacing-lg-px * 0.75);
60
54
  padding-right: (bf-v-space.$bf-spacing-lg-rem * 0.75);
61
55
 
62
56
  // add custom left padding, matching the custom LTR one
63
- padding-left: bf-v-space.$bf-spacing-lg-px + bf-v-space.$bf-spacing-lg-px;
64
57
  padding-left: bf-v-space.$bf-spacing-lg-rem + bf-v-space.$bf-spacing-lg-rem;
65
58
  }