codecheck
158 строк · 3.5 Кб
1// core
2.p-checkbox {
3position: relative;
4display: inline-flex;
5user-select: none;
6vertical-align: bottom;
7}
8
9.p-checkbox-input {
10cursor: pointer;
11}
12
13.p-checkbox-box {
14display: flex;
15justify-content: center;
16align-items: center;
17}
18
19// theme
20.p-checkbox {
21width: $checkboxWidth;
22height: $checkboxHeight;
23
24.p-checkbox-input {
25appearance: none;
26position: absolute;
27top: 0;
28left: 0;
29width: 100%;
30height: 100%;
31padding: 0;
32margin: 0;
33opacity: 0;
34z-index: 1;
35outline: 0 none;
36border: $checkboxBorder;
37border-radius: $borderRadius;
38}
39
40.p-checkbox-box {
41border: $checkboxBorder;
42background: $inputBg;
43width: $checkboxWidth;
44height: $checkboxHeight;
45color: $textColor;
46border-radius: $borderRadius;
47transition: $formElementTransition;
48outline-color: transparent;
49
50.p-checkbox-icon {
51transition-duration: $transitionDuration;
52color: $checkboxIconActiveColor;
53font-size: $checkboxIconFontSize;
54
55&.p-icon {
56width: $checkboxIconFontSize;
57height: $checkboxIconFontSize;
58}
59}
60}
61
62&.p-highlight {
63.p-checkbox-box {
64border-color: $checkboxActiveBorderColor;
65background: $checkboxActiveBg;
66}
67}
68
69&:not(.p-disabled) {
70&:has(.p-checkbox-input:hover) {
71.p-checkbox-box {
72border-color: $inputHoverBorderColor;
73}
74
75&.p-highlight {
76.p-checkbox-box {
77border-color: $checkboxActiveHoverBorderColor;
78background: $checkboxActiveHoverBg;
79color: $checkboxIconActiveHoverColor;
80}
81}
82}
83
84&:has(.p-checkbox-input:focus-visible) {
85.p-checkbox-box {
86@include focused-input();
87}
88}
89}
90
91&.p-invalid > .p-checkbox-box {
92@include invalid-input();
93}
94
95&.p-variant-filled {
96.p-checkbox-box {
97background-color: $inputFilledBg;
98}
99
100&.p-highlight {
101.p-checkbox-box {
102background: $checkboxActiveBg;
103}
104}
105
106&:not(.p-disabled) {
107&:has(.p-checkbox-input:hover) {
108.p-checkbox-box {
109background-color: $inputFilledHoverBg;
110}
111
112&.p-highlight {
113.p-checkbox-box {
114background: $checkboxActiveHoverBg;
115}
116}
117}
118}
119}
120}
121
122.p-input-filled {
123.p-checkbox {
124.p-checkbox-box {
125background-color: $inputFilledBg;
126}
127
128&.p-highlight {
129.p-checkbox-box {
130background: $checkboxActiveBg;
131}
132}
133
134&:not(.p-disabled) {
135&:has(.p-checkbox-input:hover) {
136.p-checkbox-box {
137background-color: $inputFilledHoverBg;
138}
139
140&.p-highlight {
141.p-checkbox-box {
142background: $checkboxActiveHoverBg;
143}
144}
145}
146}
147}
148}
149
150@if ($highlightBg == $checkboxActiveBg) {
151.p-highlight {
152.p-checkbox {
153.p-checkbox-box {
154border-color: $checkboxIconActiveColor;
155}
156}
157}
158}
159