55* ==========================================================================
66*/
77
8- $margin : em (map-get ($inputs-single-line , margin ));
8+ $margin : em (map-get ($inputs-element , margin ));
9+ $margin-label : em (map-get ($inputs-label , margin ));
910
1011@mixin input () {
11- padding : em (map-get ($inputs-single-line , padding ));
12- margin : $margin 0 ;
13- border : map-get ($inputs-single-line , border );
14- border-color : map-deep-get ($inputs-single-line , border-color , base );
15- background : map-deep-get ($inputs-single-line , background , base );
12+ padding : em (map-get ($inputs-element , padding ));
13+ margin : $margin ;
14+ border : map-get ($inputs-element , border );
15+ border-color : map-deep-get ($inputs-element , border-color , base );
16+ background : map-deep-get ($inputs-element , background , base );
1617 box-shadow : map-get ($inputs-shadows , normal );
17- border-radius : em (map-get ($inputs-single-line , border-radius ));
18+ border-radius : em (map-get ($inputs-element , border-radius ));
1819 transition : map-get ($inputs-transitions , blur );
19- font-size : em (map-get ($inputs-single-line , font-size ));
20- width : map-get ($inputs-single-line , width );
20+ font-size : em (map-get ($inputs-element , font-size ));
21+ width : map-get ($inputs-element , width );
2122
2223 & :focus ,
2324 & .focus {
@@ -33,10 +34,15 @@ $margin: em(map-get($inputs-single-line, margin));
3334 & .active {
3435 @include input-active ();
3536 }
37+
38+ & .error {
39+ @include input-error ();
40+ }
3641}
3742
43+ // Input state mixins
44+
3845@mixin input-focus () {
39- border : map-get ($inputs-focus , border );
4046 border-color : map-deep-get ($inputs-focus , border-color , light );
4147 transition : map-get ($inputs-transitions , focus );
4248 outline : map-get ($inputs-focus , outline );
@@ -46,7 +52,6 @@ $margin: em(map-get($inputs-single-line, margin));
4652@mixin input-disabled () {
4753 background : map-deep-get ($inputs-disabled , background , base );
4854 box-shadow : map-get ($inputs-shadows , disabled );
49- border : map-get ($inputs-disabled , border );
5055 border-color : map-deep-get ($inputs-disabled , border-color , darker );
5156 color : map-deep-get ($inputs-disabled , color , darker );
5257 cursor : map-get ($inputs-disabled , cursor );
@@ -56,9 +61,22 @@ $margin: em(map-get($inputs-single-line, margin));
5661 border-color : map-deep-get ($inputs-active , border-color , light );
5762}
5863
64+ @mixin input-error () {
65+ border-color : map-deep-get ($inputs-error , border-color , base );
66+ box-shadow : map-get ($inputs-shadows , error-base ), map-get ($inputs-shadows , error-spread );
67+ background : rgba (map-deep-get ($inputs-error , background , base ), .08 );
68+ }
69+
5970@mixin input-label () {
6071 display : map-get ($inputs-label , display );
6172 max-width : map-get ($inputs-label , max-width );
6273 font-size : em (map-get ($inputs-label , font-size ));
6374 font-weight : map-get ($inputs-label , font-weight );
75+ margin : $margin-label 0 ;
76+
77+ & .error {
78+ font-size : em (map-get ($inputs-label-error , font-size ));
79+ color : map-deep-get ($inputs-label-error , color , base );
80+ font-weight : map-get ($inputs-label-error , font-weight );
81+ }
6482}
0 commit comments