vxe-pc-ui 4.17.1 → 4.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all.esm.js +265 -144
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/icon/style.css +1 -1
- package/es/input/src/input.js +73 -49
- package/es/number-input/src/number-input.js +28 -24
- package/es/password-input/src/password-input.js +128 -61
- package/es/password-input/style.css +5 -0
- package/es/password-input/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/textarea/src/textarea.js +37 -11
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-password-input/style.css +5 -0
- package/es/vxe-password-input/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +287 -164
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +77 -52
- package/lib/input/src/input.min.js +1 -1
- package/lib/number-input/src/number-input.js +31 -26
- package/lib/number-input/src/number-input.min.js +1 -1
- package/lib/password-input/src/password-input.js +134 -70
- package/lib/password-input/src/password-input.min.js +1 -1
- package/lib/password-input/style/style.css +5 -0
- package/lib/password-input/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/textarea/src/textarea.js +40 -12
- package/lib/textarea/src/textarea.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-password-input/style/style.css +5 -0
- package/lib/vxe-password-input/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/input/src/input.ts +79 -54
- package/packages/number-input/src/number-input.ts +29 -26
- package/packages/password-input/src/password-input.ts +140 -68
- package/packages/textarea/src/textarea.ts +43 -15
- package/styles/components/password-input.scss +4 -0
- package/types/components/password-input.d.ts +2 -0
- /package/es/icon/{iconfont.1786796113388.ttf → iconfont.1786868252000.ttf} +0 -0
- /package/es/icon/{iconfont.1786796113388.woff → iconfont.1786868252000.woff} +0 -0
- /package/es/icon/{iconfont.1786796113388.woff2 → iconfont.1786868252000.woff2} +0 -0
- /package/es/{iconfont.1786796113388.ttf → iconfont.1786868252000.ttf} +0 -0
- /package/es/{iconfont.1786796113388.woff → iconfont.1786868252000.woff} +0 -0
- /package/es/{iconfont.1786796113388.woff2 → iconfont.1786868252000.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1786796113388.ttf → iconfont.1786868252000.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1786796113388.woff → iconfont.1786868252000.woff} +0 -0
- /package/lib/icon/style/{iconfont.1786796113388.woff2 → iconfont.1786868252000.woff2} +0 -0
- /package/lib/{iconfont.1786796113388.ttf → iconfont.1786868252000.ttf} +0 -0
- /package/lib/{iconfont.1786796113388.woff → iconfont.1786868252000.woff} +0 -0
- /package/lib/{iconfont.1786796113388.woff2 → iconfont.1786868252000.woff2} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { h, ref, computed, reactive, inject, nextTick, watch } from 'vue';
|
|
1
|
+
import { h, ref, computed, reactive, inject, nextTick, watch, onMounted } from 'vue';
|
|
2
2
|
import { defineVxeComponent } from '../../ui/src/comp';
|
|
3
3
|
import XEUtils from 'xe-utils';
|
|
4
4
|
import { getConfig, getIcon, getI18n, createEvent, useSize, renderEmptyElement } from '../../ui';
|
|
5
|
-
import { getFuncText } from '../../ui/src/utils';
|
|
5
|
+
import { getFuncText, getText } from '../../ui/src/utils';
|
|
6
6
|
import { getSlotVNs } from '../../ui/src/vn';
|
|
7
7
|
export default defineVxeComponent({
|
|
8
8
|
name: 'VxePasswordInput',
|
|
@@ -40,6 +40,10 @@ export default defineVxeComponent({
|
|
|
40
40
|
type: Boolean,
|
|
41
41
|
default: () => getConfig().passwordInput.controls
|
|
42
42
|
},
|
|
43
|
+
editable: {
|
|
44
|
+
type: Boolean,
|
|
45
|
+
default: true
|
|
46
|
+
},
|
|
43
47
|
// 已废弃
|
|
44
48
|
autocomplete: String
|
|
45
49
|
},
|
|
@@ -80,14 +84,9 @@ export default defineVxeComponent({
|
|
|
80
84
|
reactData,
|
|
81
85
|
getRefMaps: () => refMaps
|
|
82
86
|
};
|
|
83
|
-
let passwordInputMethods = {};
|
|
84
87
|
const computeIsClearable = computed(() => {
|
|
85
88
|
return props.clearable;
|
|
86
89
|
});
|
|
87
|
-
const computeInpReadonly = computed(() => {
|
|
88
|
-
const { readonly } = props;
|
|
89
|
-
return readonly;
|
|
90
|
-
});
|
|
91
90
|
const computeInpPlaceholder = computed(() => {
|
|
92
91
|
const { placeholder } = props;
|
|
93
92
|
if (placeholder) {
|
|
@@ -99,6 +98,32 @@ export default defineVxeComponent({
|
|
|
99
98
|
}
|
|
100
99
|
return getI18n('vxe.base.pleaseInput');
|
|
101
100
|
});
|
|
101
|
+
const computeFormReadonly = computed(() => {
|
|
102
|
+
if (getConfig().inputReadonly === 'obsolete') {
|
|
103
|
+
if ($xeForm) {
|
|
104
|
+
return $xeForm.props.readonly;
|
|
105
|
+
}
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
const { readonly } = props;
|
|
109
|
+
if (readonly === null) {
|
|
110
|
+
if ($xeForm) {
|
|
111
|
+
return $xeForm.props.readonly;
|
|
112
|
+
}
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
return readonly;
|
|
116
|
+
});
|
|
117
|
+
const computeIsDisabled = computed(() => {
|
|
118
|
+
const { disabled } = props;
|
|
119
|
+
if (disabled === null) {
|
|
120
|
+
if ($xeForm) {
|
|
121
|
+
return $xeForm.props.disabled;
|
|
122
|
+
}
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
return disabled;
|
|
126
|
+
});
|
|
102
127
|
const computeInputType = computed(() => {
|
|
103
128
|
const { showPwd } = reactData;
|
|
104
129
|
if (showPwd) {
|
|
@@ -110,9 +135,28 @@ export default defineVxeComponent({
|
|
|
110
135
|
const { immediate } = props;
|
|
111
136
|
return immediate;
|
|
112
137
|
});
|
|
138
|
+
const computeInputReadonly = computed(() => {
|
|
139
|
+
const { editable } = props;
|
|
140
|
+
const formReadonly = computeFormReadonly.value;
|
|
141
|
+
return formReadonly || !editable;
|
|
142
|
+
});
|
|
143
|
+
const computeDomValue = computed(() => {
|
|
144
|
+
const { inputValue } = reactData;
|
|
145
|
+
return inputValue;
|
|
146
|
+
});
|
|
147
|
+
const dispatchEvent = (type, params, evnt) => {
|
|
148
|
+
emit(type, createEvent(evnt, { $passwordInput: $xePasswordInput }, params));
|
|
149
|
+
};
|
|
150
|
+
const updateDomValue = () => {
|
|
151
|
+
const domValue = computeDomValue.value;
|
|
152
|
+
const inputElem = refInputTarget.value;
|
|
153
|
+
if (inputElem) {
|
|
154
|
+
inputElem.value = XEUtils.eqNull(domValue) ? '' : ('' + domValue);
|
|
155
|
+
}
|
|
156
|
+
};
|
|
113
157
|
const triggerEvent = (evnt) => {
|
|
114
158
|
const { inputValue } = reactData;
|
|
115
|
-
|
|
159
|
+
dispatchEvent(evnt.type, { value: inputValue }, evnt);
|
|
116
160
|
};
|
|
117
161
|
const emitInputEvent = (value, evnt) => {
|
|
118
162
|
const inpImmediate = computeInpImmediate.value;
|
|
@@ -121,7 +165,7 @@ export default defineVxeComponent({
|
|
|
121
165
|
handleChange(value, evnt);
|
|
122
166
|
}
|
|
123
167
|
else {
|
|
124
|
-
|
|
168
|
+
dispatchEvent('input', { value }, evnt);
|
|
125
169
|
}
|
|
126
170
|
};
|
|
127
171
|
const inputEvent = (evnt) => {
|
|
@@ -132,9 +176,9 @@ export default defineVxeComponent({
|
|
|
132
176
|
const handleChange = (value, evnt) => {
|
|
133
177
|
reactData.inputValue = value;
|
|
134
178
|
emit('update:modelValue', value);
|
|
135
|
-
|
|
179
|
+
dispatchEvent('input', { value }, evnt);
|
|
136
180
|
if (XEUtils.toValueString(props.modelValue) !== value) {
|
|
137
|
-
|
|
181
|
+
dispatchEvent('change', { value }, evnt);
|
|
138
182
|
// 自动更新校验状态
|
|
139
183
|
if ($xeForm && formItemInfo) {
|
|
140
184
|
$xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, value);
|
|
@@ -143,7 +187,7 @@ export default defineVxeComponent({
|
|
|
143
187
|
};
|
|
144
188
|
const changeEvent = (evnt) => {
|
|
145
189
|
triggerEvent(evnt);
|
|
146
|
-
|
|
190
|
+
dispatchEvent('lazy-change', { value: reactData.inputValue }, evnt);
|
|
147
191
|
// 自动更新校验状态
|
|
148
192
|
if ($xeForm && formItemInfo) {
|
|
149
193
|
$xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, reactData.inputValue);
|
|
@@ -157,19 +201,20 @@ export default defineVxeComponent({
|
|
|
157
201
|
const { inputValue } = reactData;
|
|
158
202
|
const value = inputValue;
|
|
159
203
|
reactData.isActivated = false;
|
|
160
|
-
|
|
204
|
+
dispatchEvent('blur', { value }, evnt);
|
|
161
205
|
// 自动更新校验状态
|
|
162
206
|
if ($xeForm && formItemInfo) {
|
|
163
207
|
$xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, value);
|
|
164
208
|
}
|
|
165
209
|
};
|
|
166
210
|
const passwordToggleEvent = (evnt) => {
|
|
167
|
-
const { readonly, disabled } = props;
|
|
168
211
|
const { showPwd } = reactData;
|
|
169
|
-
|
|
212
|
+
const isDisabled = computeIsDisabled.value;
|
|
213
|
+
const formReadonly = computeFormReadonly.value;
|
|
214
|
+
if (!isDisabled && !formReadonly) {
|
|
170
215
|
reactData.showPwd = !showPwd;
|
|
171
216
|
}
|
|
172
|
-
|
|
217
|
+
dispatchEvent('toggle-visible', { visible: reactData.showPwd }, evnt);
|
|
173
218
|
};
|
|
174
219
|
const clickEvent = (evnt) => {
|
|
175
220
|
triggerEvent(evnt);
|
|
@@ -177,23 +222,45 @@ export default defineVxeComponent({
|
|
|
177
222
|
const clearValueEvent = (evnt, value) => {
|
|
178
223
|
focus();
|
|
179
224
|
handleChange('', evnt);
|
|
180
|
-
|
|
181
|
-
|
|
225
|
+
dispatchEvent('clear', { value }, evnt);
|
|
226
|
+
dispatchEvent('lazy-change', { value: reactData.inputValue }, evnt);
|
|
182
227
|
};
|
|
183
228
|
const clickSuffixEvent = (evnt) => {
|
|
184
|
-
const
|
|
185
|
-
if (!
|
|
229
|
+
const isDisabled = computeIsDisabled.value;
|
|
230
|
+
if (!isDisabled) {
|
|
186
231
|
const { inputValue } = reactData;
|
|
187
|
-
|
|
232
|
+
dispatchEvent('suffix-click', { value: inputValue }, evnt);
|
|
188
233
|
}
|
|
189
234
|
};
|
|
190
235
|
const clickPrefixEvent = (evnt) => {
|
|
191
|
-
const
|
|
192
|
-
if (!
|
|
236
|
+
const isDisabled = computeIsDisabled.value;
|
|
237
|
+
if (!isDisabled) {
|
|
193
238
|
const { inputValue } = reactData;
|
|
194
|
-
|
|
239
|
+
dispatchEvent('prefix-click', { value: inputValue }, evnt);
|
|
195
240
|
}
|
|
196
241
|
};
|
|
242
|
+
const passwordInputMethods = {
|
|
243
|
+
dispatchEvent,
|
|
244
|
+
focus() {
|
|
245
|
+
const inputElem = refInputTarget.value;
|
|
246
|
+
reactData.isActivated = true;
|
|
247
|
+
inputElem.focus();
|
|
248
|
+
return nextTick();
|
|
249
|
+
},
|
|
250
|
+
blur() {
|
|
251
|
+
const inputElem = refInputTarget.value;
|
|
252
|
+
inputElem.blur();
|
|
253
|
+
reactData.isActivated = false;
|
|
254
|
+
return nextTick();
|
|
255
|
+
},
|
|
256
|
+
select() {
|
|
257
|
+
const inputElem = refInputTarget.value;
|
|
258
|
+
inputElem.select();
|
|
259
|
+
reactData.isActivated = false;
|
|
260
|
+
return nextTick();
|
|
261
|
+
}
|
|
262
|
+
};
|
|
263
|
+
Object.assign($xePasswordInput, passwordInputMethods);
|
|
197
264
|
const renderPasswordIcon = () => {
|
|
198
265
|
const { showPwd } = reactData;
|
|
199
266
|
return h('div', {
|
|
@@ -226,14 +293,15 @@ export default defineVxeComponent({
|
|
|
226
293
|
: null;
|
|
227
294
|
};
|
|
228
295
|
const renderSuffixIcon = () => {
|
|
229
|
-
const {
|
|
296
|
+
const { suffixIcon, controls } = props;
|
|
230
297
|
const { inputValue } = reactData;
|
|
231
|
-
const
|
|
298
|
+
const isDisabled = computeIsDisabled.value;
|
|
232
299
|
const isClearable = computeIsClearable.value;
|
|
300
|
+
const suffixSlot = slots.suffix;
|
|
233
301
|
return isClearable || controls || suffixSlot || suffixIcon
|
|
234
302
|
? h('div', {
|
|
235
303
|
class: ['vxe-password-input--suffix', {
|
|
236
|
-
'is--clear': isClearable && !
|
|
304
|
+
'is--clear': isClearable && !isDisabled && !(inputValue === '' || XEUtils.eqNull(inputValue))
|
|
237
305
|
}]
|
|
238
306
|
}, [
|
|
239
307
|
isClearable
|
|
@@ -262,41 +330,22 @@ export default defineVxeComponent({
|
|
|
262
330
|
])
|
|
263
331
|
: null;
|
|
264
332
|
};
|
|
265
|
-
passwordInputMethods = {
|
|
266
|
-
dispatchEvent(type, params, evnt) {
|
|
267
|
-
emit(type, createEvent(evnt, { $passwordInput: $xePasswordInput }, params));
|
|
268
|
-
},
|
|
269
|
-
focus() {
|
|
270
|
-
const inputElem = refInputTarget.value;
|
|
271
|
-
reactData.isActivated = true;
|
|
272
|
-
inputElem.focus();
|
|
273
|
-
return nextTick();
|
|
274
|
-
},
|
|
275
|
-
blur() {
|
|
276
|
-
const inputElem = refInputTarget.value;
|
|
277
|
-
inputElem.blur();
|
|
278
|
-
reactData.isActivated = false;
|
|
279
|
-
return nextTick();
|
|
280
|
-
},
|
|
281
|
-
select() {
|
|
282
|
-
const inputElem = refInputTarget.value;
|
|
283
|
-
inputElem.select();
|
|
284
|
-
reactData.isActivated = false;
|
|
285
|
-
return nextTick();
|
|
286
|
-
}
|
|
287
|
-
};
|
|
288
|
-
Object.assign($xePasswordInput, passwordInputMethods);
|
|
289
|
-
watch(() => props.modelValue, (val) => {
|
|
290
|
-
reactData.inputValue = val;
|
|
291
|
-
});
|
|
292
333
|
const renderVN = () => {
|
|
293
|
-
const { className, inputClassName, name,
|
|
334
|
+
const { className, inputClassName, name, readonly, autocomplete, autoComplete, maxLength } = props;
|
|
294
335
|
const { inputValue, isActivated } = reactData;
|
|
336
|
+
const isDisabled = computeIsDisabled.value;
|
|
337
|
+
const formReadonly = computeFormReadonly.value;
|
|
338
|
+
if (formReadonly) {
|
|
339
|
+
return h('div', {
|
|
340
|
+
ref: refElem,
|
|
341
|
+
class: ['vxe-password-input--readonly', className]
|
|
342
|
+
}, getText(inputValue));
|
|
343
|
+
}
|
|
295
344
|
const vSize = computeSize.value;
|
|
296
|
-
const inpReadonly = computeInpReadonly.value;
|
|
297
345
|
const inputType = computeInputType.value;
|
|
298
346
|
const inpPlaceholder = computeInpPlaceholder.value;
|
|
299
347
|
const isClearable = computeIsClearable.value;
|
|
348
|
+
const inputReadonly = computeInputReadonly.value;
|
|
300
349
|
const prefix = renderPrefixIcon();
|
|
301
350
|
const suffix = renderSuffixIcon();
|
|
302
351
|
return h('div', {
|
|
@@ -306,9 +355,9 @@ export default defineVxeComponent({
|
|
|
306
355
|
'is--prefix': !!prefix,
|
|
307
356
|
'is--suffix': !!suffix,
|
|
308
357
|
'is--readonly': readonly,
|
|
309
|
-
'is--disabled':
|
|
358
|
+
'is--disabled': isDisabled,
|
|
310
359
|
'is--active': isActivated,
|
|
311
|
-
'show--clear': isClearable && !
|
|
360
|
+
'show--clear': isClearable && !isDisabled && !(inputValue === '' || XEUtils.eqNull(inputValue))
|
|
312
361
|
}],
|
|
313
362
|
spellcheck: false
|
|
314
363
|
}, [
|
|
@@ -319,12 +368,11 @@ export default defineVxeComponent({
|
|
|
319
368
|
h('input', {
|
|
320
369
|
ref: refInputTarget,
|
|
321
370
|
class: 'vxe-password-input--inner' + (inputClassName ? (' ' + inputClassName) : ''),
|
|
322
|
-
value: inputValue,
|
|
323
371
|
name,
|
|
324
372
|
type: inputType,
|
|
325
373
|
placeholder: inpPlaceholder,
|
|
326
|
-
readonly:
|
|
327
|
-
disabled,
|
|
374
|
+
readonly: inputReadonly,
|
|
375
|
+
disabled: isDisabled,
|
|
328
376
|
autocomplete: autocomplete || autoComplete,
|
|
329
377
|
maxlength: maxLength,
|
|
330
378
|
onClick: clickEvent,
|
|
@@ -337,6 +385,25 @@ export default defineVxeComponent({
|
|
|
337
385
|
suffix || renderEmptyElement($xePasswordInput)
|
|
338
386
|
]);
|
|
339
387
|
};
|
|
388
|
+
watch(() => props.modelValue, (val) => {
|
|
389
|
+
reactData.inputValue = val;
|
|
390
|
+
});
|
|
391
|
+
const rDvFlag = ref(0);
|
|
392
|
+
watch(computeFormReadonly, () => {
|
|
393
|
+
rDvFlag.value++;
|
|
394
|
+
});
|
|
395
|
+
watch(computeDomValue, () => {
|
|
396
|
+
rDvFlag.value++;
|
|
397
|
+
});
|
|
398
|
+
watch(rDvFlag, () => {
|
|
399
|
+
updateDomValue();
|
|
400
|
+
nextTick(() => {
|
|
401
|
+
updateDomValue();
|
|
402
|
+
});
|
|
403
|
+
});
|
|
404
|
+
onMounted(() => {
|
|
405
|
+
updateDomValue();
|
|
406
|
+
});
|
|
340
407
|
$xePasswordInput.renderVN = renderVN;
|
|
341
408
|
return $xePasswordInput;
|
|
342
409
|
},
|
|
@@ -23,6 +23,11 @@
|
|
|
23
23
|
--vxe-ui-password-input-current-height: var(--vxe-ui-input-height-mini);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
+
.vxe-password-input--readonly {
|
|
27
|
+
color: var(--vxe-ui-font-color);
|
|
28
|
+
display: inline-flex;
|
|
29
|
+
}
|
|
30
|
+
|
|
26
31
|
.vxe-password-input--wrapper {
|
|
27
32
|
flex-grow: 1;
|
|
28
33
|
overflow: hidden;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-password-input{--vxe-ui-password-input-current-font-size:var(--vxe-ui-font-size-default);--vxe-ui-password-input-current-height:var(--vxe-ui-input-height-default)}.vxe-password-input.size--xlarge{--vxe-ui-password-input-current-font-size:var(--vxe-ui-font-size-xlarge);--vxe-ui-password-input-current-height:var(--vxe-ui-input-height-xlarge)}.vxe-password-input.size--large{--vxe-ui-password-input-current-font-size:var(--vxe-ui-font-size-large);--vxe-ui-password-input-current-height:var(--vxe-ui-input-height-large)}.vxe-password-input.size--medium{--vxe-ui-password-input-current-font-size:var(--vxe-ui-font-size-medium);--vxe-ui-password-input-current-height:var(--vxe-ui-input-height-medium)}.vxe-password-input.size--small{--vxe-ui-password-input-current-font-size:var(--vxe-ui-font-size-small);--vxe-ui-password-input-current-height:var(--vxe-ui-input-height-small)}.vxe-password-input.size--mini{--vxe-ui-password-input-current-font-size:var(--vxe-ui-font-size-mini);--vxe-ui-password-input-current-height:var(--vxe-ui-input-height-mini)}.vxe-password-input--wrapper{flex-grow:1;overflow:hidden}.vxe-password-input--inner{display:block;width:100%;height:100%;outline:0;margin:0;font-size:inherit;font-family:inherit;line-height:inherit;padding:0 .5em;color:var(--vxe-ui-font-color);border:0;border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-layout-background-color);box-shadow:none}.vxe-password-input--inner[disabled]{cursor:not-allowed;color:var(--vxe-ui-font-disabled-color);background-color:var(--vxe-ui-input-disabled-background-color)}.vxe-password-input--inner::-moz-placeholder{color:var(--vxe-ui-input-placeholder-color)}.vxe-password-input--inner::placeholder{color:var(--vxe-ui-input-placeholder-color)}.vxe-password-input--inner::-webkit-autofill{background-color:var(--vxe-ui-layout-background-color)}.vxe-password-input.is--disabled{background-color:var(--vxe-ui-input-disabled-background-color)}.vxe-password-input.is--disabled .vxe-password-input--clear-icon,.vxe-password-input.is--disabled .vxe-password-input--control-icon,.vxe-password-input.is--disabled .vxe-password-input--prefix,.vxe-password-input.is--disabled .vxe-password-input--suffix{cursor:not-allowed}.vxe-password-input.is--disabled .vxe-password-input--prefix,.vxe-password-input.is--disabled .vxe-password-input--suffix{background-color:var(--vxe-ui-input-disabled-background-color)}.vxe-password-input{display:inline-flex;flex-direction:row;position:relative;border-radius:var(--vxe-ui-base-border-radius);width:180px;border:1px solid var(--vxe-ui-input-border-color)}.vxe-password-input.is--active{border:1px solid var(--vxe-ui-font-primary-color)}.vxe-password-input.show--clear:hover .vxe-password-input--clear-icon{display:block}.vxe-password-input--prefix,.vxe-password-input--suffix{display:flex;flex-direction:row;align-items:center;flex-shrink:0;background-color:var(--vxe-ui-layout-background-color)}.vxe-password-input--prefix{border-radius:var(--vxe-ui-base-border-radius) 0 0 var(--vxe-ui-base-border-radius)}.vxe-password-input--suffix{border-radius:0 var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0}.vxe-password-input--clear-icon,.vxe-password-input--control-icon,.vxe-password-input--prefix-icon,.vxe-password-input--suffix-icon{color:var(--vxe-ui-input-placeholder-color)}.vxe-password-input--prefix-icon{padding-left:.5em}.vxe-password-input--clear-icon,.vxe-password-input--control-icon,.vxe-password-input--suffix-icon{padding-right:.5em}.vxe-password-input--clear-icon,.vxe-password-input--control-icon{height:100%;cursor:pointer}.vxe-password-input--clear-icon{display:none}.vxe-password-input--clear-icon:hover{color:var(--vxe-ui-font-color)}.vxe-password-input--clear-icon:active{color:var(--vxe-ui-font-primary-color)}.vxe-password-input--number-btn{height:50%;display:flex;align-items:center;justify-content:center}.vxe-password-input--number-btn:hover{color:var(--vxe-ui-font-color)}.vxe-password-input--number-btn:active{color:var(--vxe-ui-font-primary-color)}.vxe-password-input--number-icon{display:flex;flex-direction:column;height:100%}.vxe-password-input--number-icon .vxe-password-input--number-btn.is--disabled{cursor:no-drop;color:var(--vxe-ui-font-disabled-color)}.vxe-password-input--count{flex-shrink:0;color:var(--vxe-ui-input-count-color);background-color:var(--vxe-ui-layout-background-color);padding-right:.6em}.vxe-password-input--count.is--error{color:var(--vxe-ui-input-count-error-color)}.vxe-password-input.is--left .vxe-password-input--inner{text-align:left}.vxe-password-input.is--center .vxe-password-input--inner{text-align:center}.vxe-password-input.is--right .vxe-password-input--inner{text-align:right}.vxe-password-input--panel{display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);font-size:var(--vxe-ui-font-size-default);text-align:left}.vxe-password-input--panel:not(.is--transfer){min-width:100%}.vxe-password-input--panel.is--transfer{position:fixed}.vxe-password-input--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden;transform-style:preserve-3d}.vxe-password-input--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-password-input--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-password-input{font-size:var(--vxe-ui-password-input-current-font-size);height:var(--vxe-ui-password-input-current-height);line-height:var(--vxe-ui-password-input-current-height)}
|
|
1
|
+
.vxe-password-input{--vxe-ui-password-input-current-font-size:var(--vxe-ui-font-size-default);--vxe-ui-password-input-current-height:var(--vxe-ui-input-height-default)}.vxe-password-input.size--xlarge{--vxe-ui-password-input-current-font-size:var(--vxe-ui-font-size-xlarge);--vxe-ui-password-input-current-height:var(--vxe-ui-input-height-xlarge)}.vxe-password-input.size--large{--vxe-ui-password-input-current-font-size:var(--vxe-ui-font-size-large);--vxe-ui-password-input-current-height:var(--vxe-ui-input-height-large)}.vxe-password-input.size--medium{--vxe-ui-password-input-current-font-size:var(--vxe-ui-font-size-medium);--vxe-ui-password-input-current-height:var(--vxe-ui-input-height-medium)}.vxe-password-input.size--small{--vxe-ui-password-input-current-font-size:var(--vxe-ui-font-size-small);--vxe-ui-password-input-current-height:var(--vxe-ui-input-height-small)}.vxe-password-input.size--mini{--vxe-ui-password-input-current-font-size:var(--vxe-ui-font-size-mini);--vxe-ui-password-input-current-height:var(--vxe-ui-input-height-mini)}.vxe-password-input--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-password-input--wrapper{flex-grow:1;overflow:hidden}.vxe-password-input--inner{display:block;width:100%;height:100%;outline:0;margin:0;font-size:inherit;font-family:inherit;line-height:inherit;padding:0 .5em;color:var(--vxe-ui-font-color);border:0;border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-layout-background-color);box-shadow:none}.vxe-password-input--inner[disabled]{cursor:not-allowed;color:var(--vxe-ui-font-disabled-color);background-color:var(--vxe-ui-input-disabled-background-color)}.vxe-password-input--inner::-moz-placeholder{color:var(--vxe-ui-input-placeholder-color)}.vxe-password-input--inner::placeholder{color:var(--vxe-ui-input-placeholder-color)}.vxe-password-input--inner::-webkit-autofill{background-color:var(--vxe-ui-layout-background-color)}.vxe-password-input.is--disabled{background-color:var(--vxe-ui-input-disabled-background-color)}.vxe-password-input.is--disabled .vxe-password-input--clear-icon,.vxe-password-input.is--disabled .vxe-password-input--control-icon,.vxe-password-input.is--disabled .vxe-password-input--prefix,.vxe-password-input.is--disabled .vxe-password-input--suffix{cursor:not-allowed}.vxe-password-input.is--disabled .vxe-password-input--prefix,.vxe-password-input.is--disabled .vxe-password-input--suffix{background-color:var(--vxe-ui-input-disabled-background-color)}.vxe-password-input{display:inline-flex;flex-direction:row;position:relative;border-radius:var(--vxe-ui-base-border-radius);width:180px;border:1px solid var(--vxe-ui-input-border-color)}.vxe-password-input.is--active{border:1px solid var(--vxe-ui-font-primary-color)}.vxe-password-input.show--clear:hover .vxe-password-input--clear-icon{display:block}.vxe-password-input--prefix,.vxe-password-input--suffix{display:flex;flex-direction:row;align-items:center;flex-shrink:0;background-color:var(--vxe-ui-layout-background-color)}.vxe-password-input--prefix{border-radius:var(--vxe-ui-base-border-radius) 0 0 var(--vxe-ui-base-border-radius)}.vxe-password-input--suffix{border-radius:0 var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0}.vxe-password-input--clear-icon,.vxe-password-input--control-icon,.vxe-password-input--prefix-icon,.vxe-password-input--suffix-icon{color:var(--vxe-ui-input-placeholder-color)}.vxe-password-input--prefix-icon{padding-left:.5em}.vxe-password-input--clear-icon,.vxe-password-input--control-icon,.vxe-password-input--suffix-icon{padding-right:.5em}.vxe-password-input--clear-icon,.vxe-password-input--control-icon{height:100%;cursor:pointer}.vxe-password-input--clear-icon{display:none}.vxe-password-input--clear-icon:hover{color:var(--vxe-ui-font-color)}.vxe-password-input--clear-icon:active{color:var(--vxe-ui-font-primary-color)}.vxe-password-input--number-btn{height:50%;display:flex;align-items:center;justify-content:center}.vxe-password-input--number-btn:hover{color:var(--vxe-ui-font-color)}.vxe-password-input--number-btn:active{color:var(--vxe-ui-font-primary-color)}.vxe-password-input--number-icon{display:flex;flex-direction:column;height:100%}.vxe-password-input--number-icon .vxe-password-input--number-btn.is--disabled{cursor:no-drop;color:var(--vxe-ui-font-disabled-color)}.vxe-password-input--count{flex-shrink:0;color:var(--vxe-ui-input-count-color);background-color:var(--vxe-ui-layout-background-color);padding-right:.6em}.vxe-password-input--count.is--error{color:var(--vxe-ui-input-count-error-color)}.vxe-password-input.is--left .vxe-password-input--inner{text-align:left}.vxe-password-input.is--center .vxe-password-input--inner{text-align:center}.vxe-password-input.is--right .vxe-password-input--inner{text-align:right}.vxe-password-input--panel{display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);font-size:var(--vxe-ui-font-size-default);text-align:left}.vxe-password-input--panel:not(.is--transfer){min-width:100%}.vxe-password-input--panel.is--transfer{position:fixed}.vxe-password-input--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden;transform-style:preserve-3d}.vxe-password-input--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-password-input--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-password-input{font-size:var(--vxe-ui-password-input-current-font-size);height:var(--vxe-ui-password-input-current-height);line-height:var(--vxe-ui-password-input-current-height)}
|