UNPKG

7.41 kBSCSSView Raw
1/**Variable**/
2%ButtonHover {
3 color: lighten($vxe-primary-color, 6%);
4 border-color: lighten($vxe-primary-color, 10%);
5}
6
7.vxe-form {
8 position: relative;
9 font-size: $vxe-font-size;
10 color: $vxe-font-color;
11 font-family: $vxe-font-family;
12 background-color: $vxe-form-background-color;
13 text-align: left;
14}
15
16.vxe-form-slots {
17 display: none;
18}
19
20.vxe-form--item-content,
21.vxe-form--item-trigger-node {
22 display: inline-block;
23 vertical-align: middle;
24}
25
26.vxe-form--item-title {
27 display: flex;
28 flex-direction: row;
29 max-width: 320px;
30 padding-right: 0.8em;
31 &.is--ellipsis {
32 .vxe-form--item-title-content {
33 overflow: hidden;
34 text-overflow: ellipsis;
35 white-space: nowrap;
36 }
37 }
38 .vxe-form--item-title-prefix,
39 .vxe-form--item-title-suffix,
40 .vxe-form--item-title-postfix {
41 flex-shrink: 0;
42 }
43 .vxe-form--item-title-prefix,
44 .vxe-form--item-title-suffix {
45 cursor: help;
46 vertical-align: middle;
47 & > i {
48 vertical-align: middle;
49 }
50 }
51 .vxe-form--item-title-prefix {
52 margin-right: 0.25em;
53 }
54 .vxe-form--item-title-suffix {
55 margin-left: 0.2em;
56 }
57 .vxe-form--item-title-postfix {
58 display: flex;
59 align-items: center;
60 }
61 .vxe-form--item-title-content {
62 flex-grow: 1;
63 }
64 .vxe-form--item-title-label {
65 vertical-align: middle;
66 }
67}
68
69.vxe-form--item-trigger-node {
70 font-size: 12px;
71 min-width: 100px;
72 color: #909399;
73 text-align: center;
74 user-select: none;
75 cursor: pointer;
76 .vxe-form--item-trigger-icon {
77 margin: 0 0.25em;
78 transition: all 0.1s;
79 }
80}
81
82.vxe-form--item-valid {
83 position: absolute;
84 width: 100%;
85 font-size: 12px;
86 line-height: 1.2em;
87 color: $vxe-form-validate-error-color;
88 background-color: $vxe-form-validate-error-background-color;
89 z-index: 1;
90 opacity: 0;
91 transform-origin: center top;
92 transform: scaleY(0);
93 transition: all 0.2s ease-in-out;
94}
95
96.vxe-form {
97 .vxe-form--gather {
98 display: inline-block;
99 }
100 .vxe-form--item {
101 display: none;
102 padding: 0.5em 0.8em 0.5em 0;
103 &.is--active {
104 &:not(.is--hidden) {
105 display: inline-block;
106 }
107 }
108 }
109 &.is--asterisk {
110 .vxe-form--item {
111 &.is--required {
112 .vxe-form--item-title-content {
113 &:before {
114 content: "*";
115 color: $vxe-form-validate-error-color;
116 font-family: Verdana,Arial,Tahoma;
117 margin-right: 0.2em;
118 font-weight: normal;
119 vertical-align: middle;
120 }
121 }
122 }
123 }
124 }
125 &.is--colon {
126 .vxe-form--item-title-postfix {
127 &:after {
128 content: ":";
129 font-weight: normal;
130 margin-left: 0.2em;
131 }
132 }
133 }
134}
135
136.vxe-form--item {
137 &.is--span {
138 .vxe-default-input:not([type="submit"]):not([type="reset"]),
139 .vxe-default-textarea,
140 .vxe-default-select,
141 .vxe-input,
142 .vxe-textarea,
143 .vxe-select {
144 width: 100%;
145 }
146 }
147 &.is--error {
148 .vxe-input > .vxe-input--inner,
149 .vxe-textarea > .vxe-textarea--inner,
150 .vxe-select,
151 .vxe-select.is--active > .vxe-input .vxe-input--inner,
152 .vxe-default-input,
153 .vxe-default-textarea,
154 .vxe-default-select {
155 border-color: $vxe-form-validate-error-color;
156 }
157 .vxe-input>.vxe-input--inner,
158 .vxe-textarea>.vxe-textarea--inner,
159 .vxe-default-input[type="text"],
160 .vxe-default-input[type="search"],
161 .vxe-default-textarea,
162 .vxe-default-select {
163 &:focus {
164 border-color: $vxe-form-validate-error-color;
165 }
166 }
167 .vxe-form--item-valid {
168 opacity: 1;
169 transform: scaleY(1);
170 }
171 }
172 .vxe-form--item-inner {
173 display: flex;
174 flex-direction: row;
175 align-items: center;
176 .vxe-form--item-title {
177 flex-shrink: 0;
178 }
179 .vxe-form--item-content {
180 position: relative;
181 flex-grow: 1;
182 }
183 }
184 .vxe-default-input,
185 .vxe-default-textarea,
186 .vxe-default-select {
187 outline: 0;
188 border: 1px solid $vxe-input-border-color;
189 border-radius: $vxe-border-radius;
190 }
191 .vxe-default-input,
192 .vxe-default-select {
193 height: $vxe-button-height-default;
194 }
195 .vxe-default-input {
196 padding: 0 0.8em;
197 }
198 .vxe-default-textarea {
199 padding: 0.3em 0.6em;
200 }
201 .vxe-default-input[type="number"] {
202 padding-right: 0.2em;
203 }
204 .vxe-default-input[type="text"],
205 .vxe-default-input[type="search"] {
206 padding: 0 1em;
207 }
208 .vxe-default-input[type="text"],
209 .vxe-default-input[type="search"],
210 .vxe-default-textarea,
211 .vxe-default-select {
212 color: $vxe-font-color;
213 &:focus {
214 border: 1px solid $vxe-primary-color;
215 }
216 &[disabled] {
217 cursor: not-allowed;
218 background-color: $vxe-input-disabled-background-color;
219 }
220 }
221 .vxe-default-input[type="submit"],
222 .vxe-default-input[type="reset"] {
223 line-height: $vxe-button-height-default - 2px;
224 background-color: #fff;
225 cursor: pointer;
226 &:hover {
227 @extend %ButtonHover;
228 }
229 &:active {
230 color: darken($vxe-primary-color, 2%);
231 border-color: darken($vxe-primary-color, 2%);
232 }
233 }
234 .vxe-default-input {
235 &[type="date"]::-webkit-inner-spin-button {
236 margin-top: 6px;
237 }
238 &[type="date"]::-webkit-inner-spin-button,
239 &[type="number"]::-webkit-inner-spin-button {
240 height: 24px;
241 }
242 &::placeholder {
243 color: $vxe-input-placeholder-color;
244 }
245 }
246 .vxe-default-input[type="text"],
247 .vxe-default-input[type="search"],
248 .vxe-default-textarea,
249 .vxe-default-select {
250 width: 180px;
251 }
252 .vxe-default-textarea {
253 resize: none;
254 vertical-align: middle;
255 &::placeholder {
256 color: $vxe-input-placeholder-color;
257 }
258 }
259}
260
261.vxe-form {
262 .vxe-form--item-inner {
263 min-height: $vxe-form-item-min-height-default;
264 & > .align--center {
265 text-align: center;
266 }
267 & > .align--left {
268 text-align: left;
269 }
270 & > .align--right {
271 text-align: right;
272 }
273 }
274 &.size--medium {
275 font-size: $vxe-font-size-medium;
276 .vxe-form--item-inner {
277 min-height: $vxe-form-item-min-height-medium;
278 }
279 .vxe-default-input[type="submit"],
280 .vxe-default-input[type="reset"] {
281 line-height: $vxe-button-height-medium - 2px;
282 }
283 .vxe-default-input,
284 .vxe-default-input,
285 .vxe-default-select {
286 height: $vxe-button-height-medium;
287 }
288 }
289 &.size--small {
290 font-size: $vxe-font-size-small;
291 .vxe-form--item-inner {
292 min-height: $vxe-form-item-min-height-small;
293 }
294 .vxe-default-input[type="submit"],
295 .vxe-default-input[type="reset"] {
296 line-height: $vxe-button-height-small - 2px;
297 }
298 .vxe-default-input,
299 .vxe-default-input,
300 .vxe-default-select {
301 height: $vxe-button-height-small;
302 }
303 }
304 &.size--mini {
305 font-size: $vxe-font-size-mini;
306 .vxe-form--item-inner {
307 min-height: $vxe-form-item-min-height-mini;
308 }
309 .vxe-default-input[type="submit"],
310 .vxe-default-input[type="reset"] {
311 line-height: $vxe-button-height-mini - 2px;
312 }
313 .vxe-default-input,
314 .vxe-default-input,
315 .vxe-default-select {
316 height: $vxe-button-height-mini;
317 }
318 }
319}
\No newline at end of file