UNPKG

1.9 kBSCSSView Raw
1@import "../global/global";
2
3// Input
4//
5// Markup:
6// <input class="{$modifiers} ring-input" type="text" placeholder="placeholder">
7//
8// :disabled - Disabled state, also available as the `.ring-input_disabled` class name.
9// :active - Active state, also available as the `.ring-input_active` class name.
10// :focus - Focus state, also available as the `.ring-input_focus` class name.
11// .ring-input_correct - The entered value is correct.
12// .ring-input_error - The entered value is incorrect.
13
14@mixin focused_input {
15 border-color: var(--ring-main-color);
16 outline: 0;
17}
18
19.ring-input {
20 appearance: none;
21 border-radius: 0;
22 box-sizing: border-box;
23 margin: 0;
24 padding-right: $ring-unit/ 2;
25 padding-left: $ring-unit / 2;
26 padding-bottom: 3px;
27 border: 1px solid var(--ring-borders-color);
28 background-color: var(--ring-content-background-color);
29
30 @include ring-font;
31 line-height: 20px;
32 height: 3*$ring-unit;
33 width: 100%;
34
35 &:active, &:focus, &_active, &_focus {
36 @include focused_input;
37 }
38
39 &_correct {
40 border-color: var(--ring-success-color);
41 }
42
43 &_error {
44 border-color: var(--ring-error-color);
45 }
46
47 &_no-resize {
48 resize: none;
49 }
50
51 &_filter-popup {
52 min-width: 200px;
53 width: 100%;
54 }
55
56 &_material {
57 padding-left: 0;
58 padding-right: 0;
59
60 border-top: 0;
61 border-left: 0;
62 border-right: 0;
63 }
64}
65
66// Using double selector to enforce specificity, that is hard to express with &
67.ring-input.ring-input:disabled, .ring-input.ring-input[disabled], .ring-input.ring-input_disabled {
68 @include ring-input-disabled;
69}
70
71textarea.ring-input {
72 height: auto;
73 min-height: 8*$ring_unit;
74 resize: vertical;
75 vertical-align: top; // https://stackoverflow.com/questions/7144843/extra-space-under-textarea-differs-along-browsers
76
77 &::placeholder {
78 color: var(--ring-disabled-color);
79 }
80}