|
| 1 | +@use 'sass:map'; |
| 2 | +@use 'functions' as *; |
| 3 | +@use 'variables' as *; |
| 4 | +@use 'mixins/icons' as mixins; |
| 5 | + |
| 6 | +$input-sizes: ( |
| 7 | + 'small': ( |
| 8 | + 'font-size': $text-font-size-s, |
| 9 | + 'padding': calculateRem(7px) calculateRem(16px) calculateRem(7px), |
| 10 | + ), |
| 11 | + 'medium': ( |
| 12 | + 'font-size': $text-font-size-m, |
| 13 | + 'padding': calculateRem(9px) calculateRem(16px) calculateRem(10px), |
| 14 | + ), |
| 15 | +); |
| 16 | + |
| 17 | +.ids-input { |
| 18 | + border-radius: $border-radius-medium; |
| 19 | + background: var(--ids-input-default-bg-color, #{$color-neutral-10}); |
| 20 | + border: calculateRem(1px) solid var(--ids-input-default-border-color, #{$color-neutral-80}); |
| 21 | + color: var(--ids-input-default-text-color, #{$color-neutral-240}); |
| 22 | + outline: 0; |
| 23 | + |
| 24 | + @each $name, $properties in $input-sizes { |
| 25 | + &--#{$name} { |
| 26 | + font-size: map.get($properties, 'font-size'); |
| 27 | + padding: map.get($properties, 'padding'); |
| 28 | + } |
| 29 | + } |
| 30 | + |
| 31 | + &.ids-input--error { |
| 32 | + background: var(--ids-input-error-bg-color, #{$color-error-20}); |
| 33 | + border-color: var(--ids-input-error-border-color, #{$color-error-80}); |
| 34 | + color: var(--ids-input-error-text-color, #{$color-error-90}); |
| 35 | + } |
| 36 | + |
| 37 | + &.ids-input--disabled, |
| 38 | + &.disabled, |
| 39 | + &[disabled], |
| 40 | + &:disabled { |
| 41 | + color: var(--ids-input-disabled-text-color, #{$color-neutral-150}); |
| 42 | + background: var(--ids-input-disabled-bg-color, #{$color-neutral-40}); |
| 43 | + border-color: var(--ids-input-disabled-border-color, #{$color-neutral-80}); |
| 44 | + pointer-events: none; |
| 45 | + } |
| 46 | + |
| 47 | + &:hover { |
| 48 | + border-color: var(--ids-input-hover-border-color, #{$color-primary-80}); |
| 49 | + } |
| 50 | + |
| 51 | + &:active { |
| 52 | + border-color: var(--ids-input-active-border-color, #{$color-primary-90}); |
| 53 | + } |
| 54 | + |
| 55 | + &:focus { |
| 56 | + border-color: var(--ids-input-focus-border-color, #{$color-primary-80}); |
| 57 | + box-shadow: var(--ids-input-focus-box-shadow, #{$box-shadow-focus-primary}); |
| 58 | + } |
| 59 | +} |
0 commit comments