Skip to content

Commit 7257f94

Browse files
committed
feat: inputs refactoring, keeping where statements as is for better merge-rules
1 parent e5264b2 commit 7257f94

File tree

3 files changed

+111
-64
lines changed

3 files changed

+111
-64
lines changed

scss/inline/_input.scss

Lines changed: 2 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,6 @@
3939
* Found in scss/forms/_input-search.scss#4: `@if map.get($modules, "forms/input-search") {`
4040
* Found in scss/forms/_input-search.scss#10: `#{\$parent-selector} input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]) {`
4141
* Found in scss/forms/_input-search.scss#46: `#{\$parent-selector} :where(input) {`
42-
* Found in scss/utilities/_accessibility.scss#42: `#{\$parent-selector} input,`
43-
*
4442
* Add your styles here
4543
*/
4644

@@ -362,76 +360,16 @@
362360

363361
// Placeholder
364362
#{$parent-selector} input::placeholder,
365-
#{$parent-selector} input::-webkit-input-placeholder,
366-
#{$parent-selector} textarea::placeholder,
367-
#{$parent-selector} textarea::-webkit-input-placeholder,
368-
#{$parent-selector} select:invalid {
363+
#{$parent-selector} input::-webkit-input-placeholder {
369364
color: var(#{$css-var-prefix}form-element-placeholder-color);
370365
opacity: 1;
371366
}
372367

373368
// Margin bottom (Not Checkboxes and Radios)
374-
#{$parent-selector} input:not([type="checkbox"], [type="radio"]),
375-
#{$parent-selector} select,
376-
#{$parent-selector} textarea {
369+
#{$parent-selector} input:not([type="checkbox"], [type="radio"]) {
377370
margin-bottom: var(#{$css-var-prefix}spacing);
378371
}
379372

380-
// Select
381-
#{$parent-selector} select {
382-
// Unstyle the caret on `<select>`s in IE10+.
383-
&::-ms-expand {
384-
border: 0;
385-
background-color: transparent;
386-
}
387-
388-
&:not([multiple], [size]) {
389-
padding-right: calc(var(#{$css-var-prefix}form-element-spacing-horizontal) + 1.5rem);
390-
padding-left: var(#{$css-var-prefix}form-element-spacing-horizontal);
391-
padding-inline-start: var(#{$css-var-prefix}form-element-spacing-horizontal);
392-
padding-inline-end: calc(var(#{$css-var-prefix}form-element-spacing-horizontal) + 1.5rem);
393-
background-image: var(#{$css-var-prefix}icon-chevron);
394-
background-position: center right 0.75rem;
395-
background-size: 1rem auto;
396-
background-repeat: no-repeat;
397-
}
398-
399-
&[multiple] {
400-
option {
401-
&:checked {
402-
background: var(#{$css-var-prefix}form-element-selected-background-color);
403-
color: var(#{$css-var-prefix}form-element-color);
404-
}
405-
}
406-
}
407-
}
408-
409-
[dir="rtl"] {
410-
#{$parent-selector} select {
411-
&:not([multiple], [size]) {
412-
background-position: center left 0.75rem;
413-
}
414-
}
415-
}
416-
417-
// Textarea
418-
#{$parent-selector} textarea {
419-
display: block;
420-
resize: vertical;
421-
422-
&[aria-invalid] {
423-
@if $enable-important {
424-
#{$css-var-prefix}icon-height: calc(
425-
(1rem * var(#{$css-var-prefix}line-height)) +
426-
(var(#{$css-var-prefix}form-element-spacing-vertical) * 2) +
427-
(var(#{$css-var-prefix}border-width) * 2)
428-
);
429-
background-position: top right 0.75rem !important;
430-
background-size: 1rem var(#{$css-var-prefix}icon-height) !important;
431-
}
432-
}
433-
}
434-
435373
// Styles for Input inside a label
436374
#{$parent-selector} label {
437375
> :where(input, select, textarea) {

scss/inline/_select.scss

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,4 +455,68 @@
455455
}
456456
}
457457
}
458+
[dir="rtl"] {
459+
#{$parent-selector} :where(input, select, textarea) {
460+
&:not([type="checkbox"], [type="radio"]) {
461+
&:is([aria-invalid], [aria-invalid="true"], [aria-invalid="false"]) {
462+
background-position: center left 0.75rem;
463+
}
464+
}
465+
}
466+
}
467+
468+
// Placeholder
469+
#{$parent-selector} select:invalid {
470+
color: var(#{$css-var-prefix}form-element-placeholder-color);
471+
opacity: 1;
472+
}
473+
474+
// Margin bottom (Not Checkboxes and Radios)
475+
#{$parent-selector} select {
476+
margin-bottom: var(#{$css-var-prefix}spacing);
477+
}
478+
479+
// Select
480+
#{$parent-selector} select {
481+
// Unstyle the caret on `<select>`s in IE10+.
482+
&::-ms-expand {
483+
border: 0;
484+
background-color: transparent;
485+
}
486+
487+
&:not([multiple], [size]) {
488+
padding-right: calc(var(#{$css-var-prefix}form-element-spacing-horizontal) + 1.5rem);
489+
padding-left: var(#{$css-var-prefix}form-element-spacing-horizontal);
490+
padding-inline-start: var(#{$css-var-prefix}form-element-spacing-horizontal);
491+
padding-inline-end: calc(var(#{$css-var-prefix}form-element-spacing-horizontal) + 1.5rem);
492+
background-image: var(#{$css-var-prefix}icon-chevron);
493+
background-position: center right 0.75rem;
494+
background-size: 1rem auto;
495+
background-repeat: no-repeat;
496+
}
497+
498+
&[multiple] {
499+
option {
500+
&:checked {
501+
background: var(#{$css-var-prefix}form-element-selected-background-color);
502+
color: var(#{$css-var-prefix}form-element-color);
503+
}
504+
}
505+
}
506+
}
507+
508+
[dir="rtl"] {
509+
#{$parent-selector} select {
510+
&:not([multiple], [size]) {
511+
background-position: center left 0.75rem;
512+
}
513+
}
514+
}
515+
516+
// Styles for Input inside a label
517+
#{$parent-selector} label {
518+
> :where(input, select, textarea) {
519+
margin-top: calc(var(#{$css-var-prefix}spacing) * 0.25);
520+
}
521+
}
458522
}

scss/inline/_textarea.scss

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,4 +207,49 @@
207207
}
208208
}
209209
}
210+
[dir="rtl"] {
211+
#{$parent-selector} :where(input, select, textarea) {
212+
&:not([type="checkbox"], [type="radio"]) {
213+
&:is([aria-invalid], [aria-invalid="true"], [aria-invalid="false"]) {
214+
background-position: center left 0.75rem;
215+
}
216+
}
217+
}
218+
}
219+
// Placeholder
220+
#{$parent-selector} textarea::placeholder,
221+
#{$parent-selector} textarea::-webkit-input-placeholder {
222+
color: var(#{$css-var-prefix}form-element-placeholder-color);
223+
opacity: 1;
224+
}
225+
226+
// Margin bottom (Not Checkboxes and Radios)
227+
#{$parent-selector} textarea {
228+
margin-bottom: var(#{$css-var-prefix}spacing);
229+
}
230+
231+
// Textarea
232+
#{$parent-selector} textarea {
233+
display: block;
234+
resize: vertical;
235+
236+
&[aria-invalid] {
237+
@if $enable-important {
238+
#{$css-var-prefix}icon-height: calc(
239+
(1rem * var(#{$css-var-prefix}line-height)) +
240+
(var(#{$css-var-prefix}form-element-spacing-vertical) * 2) +
241+
(var(#{$css-var-prefix}border-width) * 2)
242+
);
243+
background-position: top right 0.75rem !important;
244+
background-size: 1rem var(#{$css-var-prefix}icon-height) !important;
245+
}
246+
}
247+
}
248+
249+
// Styles for Input inside a label
250+
#{$parent-selector} label {
251+
> :where(input, select, textarea) {
252+
margin-top: calc(var(#{$css-var-prefix}spacing) * 0.25);
253+
}
254+
}
210255
}

0 commit comments

Comments
 (0)