@coreui/vue-pro 5.15.0 → 5.17.0
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/README.md +1 -1
- package/dist/cjs/components/autocomplete/CAutocomplete.js +17 -16
- package/dist/cjs/components/autocomplete/CAutocomplete.js.map +1 -1
- package/dist/cjs/components/calendar/CCalendar.js +6 -0
- package/dist/cjs/components/calendar/CCalendar.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdown.d.ts +32 -7
- package/dist/cjs/components/dropdown/CDropdown.js +47 -18
- package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownToggle.d.ts +19 -0
- package/dist/cjs/components/dropdown/CDropdownToggle.js +10 -1
- package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
- package/dist/cjs/components/dropdown/utils.d.ts +2 -0
- package/dist/cjs/components/dropdown/utils.js +13 -0
- package/dist/cjs/components/dropdown/utils.js.map +1 -1
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.js +4 -0
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/nav/CNavItem.d.ts +2 -2
- package/dist/cjs/components/one-time-password-input/COneTimePassword.d.ts +278 -0
- package/dist/cjs/components/one-time-password-input/COneTimePassword.js +393 -0
- package/dist/cjs/components/one-time-password-input/COneTimePassword.js.map +1 -0
- package/dist/cjs/components/one-time-password-input/COneTimePasswordInput.d.ts +4 -0
- package/dist/cjs/components/one-time-password-input/COneTimePasswordInput.js +19 -0
- package/dist/cjs/components/one-time-password-input/COneTimePasswordInput.js.map +1 -0
- package/dist/cjs/components/one-time-password-input/index.d.ts +3 -0
- package/dist/cjs/components/one-time-password-input/utils.d.ts +2 -0
- package/dist/cjs/components/one-time-password-input/utils.js +18 -0
- package/dist/cjs/components/one-time-password-input/utils.js.map +1 -0
- package/dist/cjs/components/stepper/CStepper.d.ts +1 -1
- package/dist/cjs/components/time-picker/CTimePicker.d.ts +44 -0
- package/dist/cjs/components/time-picker/CTimePicker.js +63 -7
- package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
- package/dist/cjs/components/time-picker/CTimePickerRollCol.d.ts +19 -7
- package/dist/cjs/components/time-picker/CTimePickerRollCol.js +80 -8
- package/dist/cjs/components/time-picker/CTimePickerRollCol.js.map +1 -1
- package/dist/cjs/index.js +4 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/autocomplete/CAutocomplete.js +17 -16
- package/dist/esm/components/autocomplete/CAutocomplete.js.map +1 -1
- package/dist/esm/components/calendar/CCalendar.js +6 -0
- package/dist/esm/components/calendar/CCalendar.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdown.d.ts +32 -7
- package/dist/esm/components/dropdown/CDropdown.js +49 -20
- package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownToggle.d.ts +19 -0
- package/dist/esm/components/dropdown/CDropdownToggle.js +10 -1
- package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
- package/dist/esm/components/dropdown/utils.d.ts +2 -0
- package/dist/esm/components/dropdown/utils.js +13 -1
- package/dist/esm/components/dropdown/utils.js.map +1 -1
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.js +2 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/nav/CNavItem.d.ts +2 -2
- package/dist/esm/components/one-time-password-input/COneTimePassword.d.ts +278 -0
- package/dist/esm/components/one-time-password-input/COneTimePassword.js +391 -0
- package/dist/esm/components/one-time-password-input/COneTimePassword.js.map +1 -0
- package/dist/esm/components/one-time-password-input/COneTimePasswordInput.d.ts +4 -0
- package/dist/esm/components/one-time-password-input/COneTimePasswordInput.js +17 -0
- package/dist/esm/components/one-time-password-input/COneTimePasswordInput.js.map +1 -0
- package/dist/esm/components/one-time-password-input/index.d.ts +3 -0
- package/dist/esm/components/one-time-password-input/utils.d.ts +2 -0
- package/dist/esm/components/one-time-password-input/utils.js +15 -0
- package/dist/esm/components/one-time-password-input/utils.js.map +1 -0
- package/dist/esm/components/stepper/CStepper.d.ts +1 -1
- package/dist/esm/components/time-picker/CTimePicker.d.ts +44 -0
- package/dist/esm/components/time-picker/CTimePicker.js +63 -7
- package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
- package/dist/esm/components/time-picker/CTimePickerRollCol.d.ts +19 -7
- package/dist/esm/components/time-picker/CTimePickerRollCol.js +80 -8
- package/dist/esm/components/time-picker/CTimePickerRollCol.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +6 -6
- package/src/components/autocomplete/CAutocomplete.ts +17 -16
- package/src/components/calendar/CCalendar.ts +6 -0
- package/src/components/dropdown/CDropdown.ts +92 -36
- package/src/components/dropdown/CDropdownToggle.ts +10 -1
- package/src/components/dropdown/utils.ts +21 -0
- package/src/components/index.ts +1 -0
- package/src/components/nav/CNavItem.ts +1 -1
- package/src/components/one-time-password-input/COneTimePassword.ts +459 -0
- package/src/components/one-time-password-input/COneTimePasswordInput.ts +21 -0
- package/src/components/one-time-password-input/__tests__/COneTimePassword.spec.ts +210 -0
- package/src/components/one-time-password-input/__tests__/__snapshots__/COneTimePassword.spec.ts.snap +32 -0
- package/src/components/one-time-password-input/index.ts +4 -0
- package/src/components/one-time-password-input/utils.ts +13 -0
- package/src/components/time-picker/CTimePicker.ts +68 -9
- package/src/components/time-picker/CTimePickerRollCol.ts +87 -9
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
var CFormControlWrapper = require('../form/CFormControlWrapper.js');
|
|
5
|
+
var COneTimePasswordInput = require('./COneTimePasswordInput.js');
|
|
6
|
+
var utils = require('./utils.js');
|
|
7
|
+
var getNextActiveElement = require('../../utils/getNextActiveElement.js');
|
|
8
|
+
var isRTL = require('../../utils/isRTL.js');
|
|
9
|
+
|
|
10
|
+
const COneTimePassword = vue.defineComponent({
|
|
11
|
+
name: 'COneTimePassword',
|
|
12
|
+
inheritAttrs: false,
|
|
13
|
+
props: {
|
|
14
|
+
/**
|
|
15
|
+
* Function to generate aria-label for each input field. Receives current index (0-based) and total number of inputs.
|
|
16
|
+
*/
|
|
17
|
+
ariaLabel: {
|
|
18
|
+
type: Function,
|
|
19
|
+
default: (index, total) => `Digit ${index + 1} of ${total}`,
|
|
20
|
+
},
|
|
21
|
+
/**
|
|
22
|
+
* Automatically submit the form when all one time password fields are filled.
|
|
23
|
+
*/
|
|
24
|
+
autoSubmit: {
|
|
25
|
+
type: Boolean,
|
|
26
|
+
default: false,
|
|
27
|
+
},
|
|
28
|
+
/**
|
|
29
|
+
* Disable all one time password (OTP) input fields.
|
|
30
|
+
*/
|
|
31
|
+
disabled: {
|
|
32
|
+
type: Boolean,
|
|
33
|
+
default: false,
|
|
34
|
+
},
|
|
35
|
+
/**
|
|
36
|
+
* Initial value for uncontrolled Vue.js one time password input.
|
|
37
|
+
*/
|
|
38
|
+
defaultValue: [String, Number],
|
|
39
|
+
/**
|
|
40
|
+
* Provide valuable, actionable feedback.
|
|
41
|
+
*/
|
|
42
|
+
feedback: String,
|
|
43
|
+
/**
|
|
44
|
+
* Provide valuable, actionable feedback.
|
|
45
|
+
*/
|
|
46
|
+
feedbackInvalid: String,
|
|
47
|
+
/**
|
|
48
|
+
* Provide valuable, actionable invalid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.
|
|
49
|
+
*/
|
|
50
|
+
feedbackValid: String,
|
|
51
|
+
/**
|
|
52
|
+
* A string of all className you want applied to the floating label wrapper.
|
|
53
|
+
*/
|
|
54
|
+
floatingClassName: String,
|
|
55
|
+
/**
|
|
56
|
+
* Provide valuable, actionable valid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.
|
|
57
|
+
*/
|
|
58
|
+
floatingLabel: String,
|
|
59
|
+
/**
|
|
60
|
+
* ID attribute for the hidden input field.
|
|
61
|
+
*/
|
|
62
|
+
id: String,
|
|
63
|
+
/**
|
|
64
|
+
* Set component validation state to invalid.
|
|
65
|
+
*/
|
|
66
|
+
invalid: Boolean,
|
|
67
|
+
/**
|
|
68
|
+
* Add a caption for a component.
|
|
69
|
+
*/
|
|
70
|
+
label: String,
|
|
71
|
+
/**
|
|
72
|
+
* Enforce sequential input (users must fill fields in order).
|
|
73
|
+
*/
|
|
74
|
+
linear: {
|
|
75
|
+
type: Boolean,
|
|
76
|
+
default: true,
|
|
77
|
+
},
|
|
78
|
+
/**
|
|
79
|
+
* Show input as password (masked characters).
|
|
80
|
+
*/
|
|
81
|
+
masked: {
|
|
82
|
+
type: Boolean,
|
|
83
|
+
default: false,
|
|
84
|
+
},
|
|
85
|
+
/**
|
|
86
|
+
* The default name for a value passed using v-model.
|
|
87
|
+
*/
|
|
88
|
+
modelValue: [String, Number],
|
|
89
|
+
/**
|
|
90
|
+
* Name attribute for the hidden input field.
|
|
91
|
+
*/
|
|
92
|
+
name: String,
|
|
93
|
+
/**
|
|
94
|
+
* Placeholder text for input fields. Single character applies to all fields, longer strings apply character-by-character.
|
|
95
|
+
*/
|
|
96
|
+
placeholder: String,
|
|
97
|
+
/**
|
|
98
|
+
* Make Vue.js OTP input component read-only.
|
|
99
|
+
*/
|
|
100
|
+
readonly: {
|
|
101
|
+
type: Boolean,
|
|
102
|
+
default: false,
|
|
103
|
+
},
|
|
104
|
+
/**
|
|
105
|
+
* Makes the input field required for form validation.
|
|
106
|
+
*/
|
|
107
|
+
required: {
|
|
108
|
+
type: Boolean,
|
|
109
|
+
default: false,
|
|
110
|
+
},
|
|
111
|
+
/**
|
|
112
|
+
* Sets the visual size of the Vue.js one time password (OTP) input. Use 'sm' for small or 'lg' for large input fields.
|
|
113
|
+
*/
|
|
114
|
+
size: {
|
|
115
|
+
type: String,
|
|
116
|
+
validator: (value) => ['sm', 'lg'].includes(value),
|
|
117
|
+
},
|
|
118
|
+
/**
|
|
119
|
+
* Add helper text to the component.
|
|
120
|
+
*/
|
|
121
|
+
text: String,
|
|
122
|
+
/**
|
|
123
|
+
* Display validation feedback in a styled tooltip.
|
|
124
|
+
*/
|
|
125
|
+
tooltipFeedback: Boolean,
|
|
126
|
+
/**
|
|
127
|
+
* Input validation type: 'number' for digits only, or 'text' for free text.
|
|
128
|
+
*/
|
|
129
|
+
type: {
|
|
130
|
+
type: String,
|
|
131
|
+
default: 'number',
|
|
132
|
+
validator: (value) => ['number', 'text'].includes(value),
|
|
133
|
+
},
|
|
134
|
+
/**
|
|
135
|
+
* Set component validation state to valid.
|
|
136
|
+
*/
|
|
137
|
+
valid: Boolean,
|
|
138
|
+
/**
|
|
139
|
+
* The current value of the one time password input.
|
|
140
|
+
*/
|
|
141
|
+
value: [String, Number],
|
|
142
|
+
},
|
|
143
|
+
emits: [
|
|
144
|
+
/**
|
|
145
|
+
* Callback triggered when the Vue.js one time password (OTP) value changes.
|
|
146
|
+
*/
|
|
147
|
+
'update:modelValue',
|
|
148
|
+
/**
|
|
149
|
+
* Callback triggered when the Vue.js one time password (OTP) value changes.
|
|
150
|
+
*/
|
|
151
|
+
'change',
|
|
152
|
+
/**
|
|
153
|
+
* Callback triggered when all Vue.js one time password (OTP) fields are filled.
|
|
154
|
+
*/
|
|
155
|
+
'complete',
|
|
156
|
+
],
|
|
157
|
+
setup(props, { attrs, slots, emit }) {
|
|
158
|
+
const inputRefs = vue.ref([]);
|
|
159
|
+
const hiddenInputRef = vue.ref(null);
|
|
160
|
+
const inputValues = vue.ref([]);
|
|
161
|
+
// Count valid OTP input children
|
|
162
|
+
const inputCount = vue.computed(() => {
|
|
163
|
+
return inputRefs.value.filter((ref) => ref !== null).length;
|
|
164
|
+
});
|
|
165
|
+
// Initialize input values
|
|
166
|
+
const initializeValues = () => {
|
|
167
|
+
const initialValue = String(props.modelValue ?? props.value ?? props.defaultValue ?? '');
|
|
168
|
+
inputValues.value = Array.from({ length: inputCount.value }, (_, i) => initialValue[i] || '');
|
|
169
|
+
};
|
|
170
|
+
// Watch for changes in modelValue or value (controlled mode)
|
|
171
|
+
vue.watch(() => props.modelValue ?? props.value, (newValue) => {
|
|
172
|
+
if (newValue !== undefined) {
|
|
173
|
+
const valueString = String(newValue);
|
|
174
|
+
inputValues.value = Array.from({ length: inputCount.value }, (_, i) => valueString[i] || '');
|
|
175
|
+
}
|
|
176
|
+
}, { immediate: true });
|
|
177
|
+
// Watch for changes in inputCount
|
|
178
|
+
vue.watch(inputCount, initializeValues, { immediate: true });
|
|
179
|
+
// Update hidden input and trigger events
|
|
180
|
+
const updateValue = (newValues) => {
|
|
181
|
+
const newValue = newValues.join('');
|
|
182
|
+
if (hiddenInputRef.value) {
|
|
183
|
+
hiddenInputRef.value.value = newValue;
|
|
184
|
+
}
|
|
185
|
+
emit('update:modelValue', newValue);
|
|
186
|
+
emit('change', newValue);
|
|
187
|
+
if (newValue.length === inputCount.value) {
|
|
188
|
+
emit('complete', newValue);
|
|
189
|
+
if (props.autoSubmit) {
|
|
190
|
+
vue.nextTick(() => {
|
|
191
|
+
const form = hiddenInputRef.value?.closest('form');
|
|
192
|
+
if (form && typeof form.requestSubmit === 'function') {
|
|
193
|
+
form.requestSubmit();
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
const handleInputChange = (index, event) => {
|
|
200
|
+
const target = event.target;
|
|
201
|
+
const inputValue = target.value;
|
|
202
|
+
if (inputValue.length === 1 && !utils.isValidInput(inputValue, props.type)) {
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
const newValues = [...inputValues.value];
|
|
206
|
+
newValues[index] = inputValue.length === 1 ? inputValue : '';
|
|
207
|
+
inputValues.value = newValues;
|
|
208
|
+
updateValue(newValues);
|
|
209
|
+
if (inputValue.length === 1) {
|
|
210
|
+
const nextInput = getNextActiveElement.default(inputRefs.value.filter(Boolean), target, true, false);
|
|
211
|
+
nextInput?.focus();
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
const handleInputFocus = (event) => {
|
|
215
|
+
const target = event.target;
|
|
216
|
+
if (target.value) {
|
|
217
|
+
setTimeout(() => {
|
|
218
|
+
target.select();
|
|
219
|
+
}, 0);
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
if (props.linear) {
|
|
223
|
+
const firstEmptyInput = inputRefs.value.find((input) => !input?.value);
|
|
224
|
+
if (firstEmptyInput && firstEmptyInput !== target) {
|
|
225
|
+
firstEmptyInput.focus();
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
const handleKeyDown = (event) => {
|
|
230
|
+
const { key, target } = event;
|
|
231
|
+
if (key === 'Backspace' && target.value === '') {
|
|
232
|
+
const newValues = [...inputValues.value];
|
|
233
|
+
const prevInput = getNextActiveElement.default(inputRefs.value.filter(Boolean), target, false, false);
|
|
234
|
+
if (prevInput) {
|
|
235
|
+
const prevIndex = inputRefs.value.indexOf(prevInput);
|
|
236
|
+
if (prevIndex !== -1) {
|
|
237
|
+
newValues[prevIndex] = '';
|
|
238
|
+
inputValues.value = newValues;
|
|
239
|
+
updateValue(newValues);
|
|
240
|
+
prevInput.focus();
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
if (key === 'ArrowRight') {
|
|
246
|
+
if (props.linear && target.value === '') {
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
const shouldMoveNext = !isRTL.default(target);
|
|
250
|
+
const nextInput = getNextActiveElement.default(inputRefs.value.filter(Boolean), target, shouldMoveNext, false);
|
|
251
|
+
nextInput?.focus();
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
if (key === 'ArrowLeft') {
|
|
255
|
+
const shouldMoveNext = isRTL.default(target);
|
|
256
|
+
const prevInput = getNextActiveElement.default(inputRefs.value.filter(Boolean), target, shouldMoveNext, false);
|
|
257
|
+
prevInput?.focus();
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
const handlePaste = (index, event) => {
|
|
261
|
+
event.preventDefault();
|
|
262
|
+
const pastedData = event.clipboardData?.getData('text') || '';
|
|
263
|
+
const validChars = utils.extractValidChars(pastedData, props.type);
|
|
264
|
+
if (!validChars) {
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
const newValues = [...inputValues.value];
|
|
268
|
+
const startIndex = index;
|
|
269
|
+
for (let i = 0; i < validChars.length && startIndex + i < inputCount.value; i++) {
|
|
270
|
+
newValues[startIndex + i] = validChars[i];
|
|
271
|
+
}
|
|
272
|
+
inputValues.value = newValues;
|
|
273
|
+
updateValue(newValues);
|
|
274
|
+
// Focus the next empty input or the last filled input
|
|
275
|
+
const nextEmptyIndex = startIndex + validChars.length;
|
|
276
|
+
if (nextEmptyIndex < inputCount.value) {
|
|
277
|
+
inputRefs.value[nextEmptyIndex]?.focus();
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
inputRefs.value[inputRefs.value.length - 1]?.focus();
|
|
281
|
+
}
|
|
282
|
+
};
|
|
283
|
+
return () => {
|
|
284
|
+
if (!slots.default) {
|
|
285
|
+
return null;
|
|
286
|
+
}
|
|
287
|
+
const children = slots.default();
|
|
288
|
+
let inputIndex = 0;
|
|
289
|
+
const processedChildren = children?.map((child) => {
|
|
290
|
+
if (child.type && child.type.name === 'COneTimePasswordInput') {
|
|
291
|
+
const currentInputIndex = inputIndex++;
|
|
292
|
+
return vue.h(COneTimePasswordInput.COneTimePasswordInput, {
|
|
293
|
+
...child.props,
|
|
294
|
+
key: `otp-input-${currentInputIndex}`,
|
|
295
|
+
type: props.masked ? 'password' : 'text',
|
|
296
|
+
class: [
|
|
297
|
+
{
|
|
298
|
+
'is-invalid': props.invalid,
|
|
299
|
+
'is-valid': props.valid,
|
|
300
|
+
},
|
|
301
|
+
child.props?.class,
|
|
302
|
+
],
|
|
303
|
+
id: child.props?.id || (props.id ? `${props.id}-${currentInputIndex}` : undefined),
|
|
304
|
+
name: child.props?.name || (props.name ? `${props.name}-${currentInputIndex}` : undefined),
|
|
305
|
+
placeholder: child.props?.placeholder ||
|
|
306
|
+
(props.placeholder && props.placeholder.length > 1
|
|
307
|
+
? props.placeholder[currentInputIndex]
|
|
308
|
+
: props.placeholder),
|
|
309
|
+
value: inputValues.value[currentInputIndex] || '',
|
|
310
|
+
tabindex: currentInputIndex === 0 ? 0 : inputValues.value[currentInputIndex - 1] ? 0 : -1,
|
|
311
|
+
disabled: props.disabled || child.props?.disabled,
|
|
312
|
+
readonly: props.readonly || child.props?.readonly,
|
|
313
|
+
required: props.required || child.props?.required,
|
|
314
|
+
'aria-label': child.props?.['aria-label'] || props.ariaLabel(currentInputIndex, inputCount.value),
|
|
315
|
+
inputmode: props.type === 'number' ? 'numeric' : 'text',
|
|
316
|
+
pattern: props.type === 'number' ? '[0-9]*' : '.*',
|
|
317
|
+
onInput: (event) => {
|
|
318
|
+
handleInputChange(currentInputIndex, event);
|
|
319
|
+
},
|
|
320
|
+
onFocus: handleInputFocus,
|
|
321
|
+
onKeydown: (event) => {
|
|
322
|
+
handleKeyDown(event);
|
|
323
|
+
},
|
|
324
|
+
onPaste: (event) => {
|
|
325
|
+
handlePaste(currentInputIndex, event);
|
|
326
|
+
},
|
|
327
|
+
ref: (el) => {
|
|
328
|
+
// Get the actual DOM element - handle both direct elements and component instances
|
|
329
|
+
if (el) {
|
|
330
|
+
// If it's a component instance, get the DOM element
|
|
331
|
+
const domElement = el.$el || el;
|
|
332
|
+
// Ensure it's actually an HTMLInputElement
|
|
333
|
+
if (domElement && domElement.tagName === 'INPUT') {
|
|
334
|
+
inputRefs.value[currentInputIndex] = domElement;
|
|
335
|
+
}
|
|
336
|
+
else {
|
|
337
|
+
inputRefs.value[currentInputIndex] = el;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
else {
|
|
341
|
+
inputRefs.value[currentInputIndex] = null;
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
return child;
|
|
347
|
+
});
|
|
348
|
+
return vue.h(CFormControlWrapper.CFormControlWrapper, {
|
|
349
|
+
...(typeof attrs['aria-describedby'] === 'string' && {
|
|
350
|
+
describedby: attrs['aria-describedby'],
|
|
351
|
+
}),
|
|
352
|
+
feedback: props.feedback,
|
|
353
|
+
feedbackInvalid: props.feedbackInvalid,
|
|
354
|
+
feedbackValid: props.feedbackValid,
|
|
355
|
+
floatingClassName: props.floatingClassName,
|
|
356
|
+
floatingLabel: props.floatingLabel,
|
|
357
|
+
id: props.id,
|
|
358
|
+
invalid: props.invalid,
|
|
359
|
+
label: props.label,
|
|
360
|
+
text: props.text,
|
|
361
|
+
tooltipFeedback: props.tooltipFeedback,
|
|
362
|
+
valid: props.valid,
|
|
363
|
+
}, {
|
|
364
|
+
default: () => [
|
|
365
|
+
vue.h('div', {
|
|
366
|
+
class: [
|
|
367
|
+
'form-otp',
|
|
368
|
+
{
|
|
369
|
+
[`form-otp-${props.size}`]: props.size,
|
|
370
|
+
},
|
|
371
|
+
attrs.class,
|
|
372
|
+
],
|
|
373
|
+
role: 'group',
|
|
374
|
+
...attrs,
|
|
375
|
+
}, [
|
|
376
|
+
...processedChildren,
|
|
377
|
+
vue.h('input', {
|
|
378
|
+
type: 'hidden',
|
|
379
|
+
id: props.id,
|
|
380
|
+
name: props.name,
|
|
381
|
+
value: inputValues.value.join(''),
|
|
382
|
+
disabled: props.disabled,
|
|
383
|
+
ref: hiddenInputRef,
|
|
384
|
+
}),
|
|
385
|
+
]),
|
|
386
|
+
],
|
|
387
|
+
});
|
|
388
|
+
};
|
|
389
|
+
},
|
|
390
|
+
});
|
|
391
|
+
|
|
392
|
+
exports.COneTimePassword = COneTimePassword;
|
|
393
|
+
//# sourceMappingURL=COneTimePassword.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"COneTimePassword.js","sources":["../../../../src/components/one-time-password-input/COneTimePassword.ts"],"sourcesContent":[null],"names":["defineComponent","ref","computed","watch","nextTick","isValidInput","getNextActiveElement","isRTL","extractValidChars","h","COneTimePasswordInput","CFormControlWrapper"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
declare const COneTimePasswordInput: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
2
|
+
[key: string]: any;
|
|
3
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
4
|
+
export { COneTimePasswordInput };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
|
|
5
|
+
const COneTimePasswordInput = vue.defineComponent({
|
|
6
|
+
name: 'COneTimePasswordInput',
|
|
7
|
+
inheritAttrs: false,
|
|
8
|
+
setup(_, { attrs, slots }) {
|
|
9
|
+
return () => vue.h('input', {
|
|
10
|
+
...attrs,
|
|
11
|
+
class: ['form-otp-control', attrs.class],
|
|
12
|
+
maxlength: 1,
|
|
13
|
+
autocomplete: 'off',
|
|
14
|
+
}, slots.default && slots.default());
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
exports.COneTimePasswordInput = COneTimePasswordInput;
|
|
19
|
+
//# sourceMappingURL=COneTimePasswordInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"COneTimePasswordInput.js","sources":["../../../../src/components/one-time-password-input/COneTimePasswordInput.ts"],"sourcesContent":[null],"names":["defineComponent","h"],"mappings":";;;;AAEA,MAAM,qBAAqB,GAAGA,mBAAe,CAAC;AAC5C,IAAA,IAAI,EAAE,uBAAuB;AAC7B,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAA;AACvB,QAAA,OAAO,MACLC,KAAC,CACC,OAAO,EACP;AACE,YAAA,GAAG,KAAK;AACR,YAAA,KAAK,EAAE,CAAC,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC;AACxC,YAAA,SAAS,EAAE,CAAC;AACZ,YAAA,YAAY,EAAE,KAAK;SACpB,EACD,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CACjC;IACL,CAAC;AACF,CAAA;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const isValidInput = (value, type) => {
|
|
4
|
+
if (type === 'number') {
|
|
5
|
+
return /^\d$/.test(value);
|
|
6
|
+
}
|
|
7
|
+
return /^.$/u.test(value);
|
|
8
|
+
};
|
|
9
|
+
const extractValidChars = (value, type) => {
|
|
10
|
+
if (type === 'number') {
|
|
11
|
+
return value.replace(/\D/g, '');
|
|
12
|
+
}
|
|
13
|
+
return value;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
exports.extractValidChars = extractValidChars;
|
|
17
|
+
exports.isValidInput = isValidInput;
|
|
18
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../src/components/one-time-password-input/utils.ts"],"sourcesContent":[null],"names":[],"mappings":";;MAAa,YAAY,GAAG,CAAC,KAAa,EAAE,IAAuB,KAAa;AAC9E,IAAA,IAAI,IAAI,KAAK,QAAQ,EAAE;AACrB,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3B;AACA,IAAA,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AAC3B;MAEa,iBAAiB,GAAG,CAAC,KAAa,EAAE,IAAuB,KAAY;AAClF,IAAA,IAAI,IAAI,KAAK,QAAQ,EAAE;QACrB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IACjC;AACA,IAAA,OAAO,KAAK;AACd;;;;;"}
|
|
@@ -161,8 +161,8 @@ export declare const CStepper: import("vue").DefineComponent<import("vue").Extra
|
|
|
161
161
|
onStepValidationComplete?: ((...args: any[]) => any) | undefined;
|
|
162
162
|
}>, {
|
|
163
163
|
layout: "horizontal" | "vertical";
|
|
164
|
-
activeStepNumber: number;
|
|
165
164
|
linear: boolean;
|
|
165
|
+
activeStepNumber: number;
|
|
166
166
|
stepButtonLayout: "horizontal" | "vertical";
|
|
167
167
|
validation: boolean;
|
|
168
168
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
import { PropType } from 'vue';
|
|
2
2
|
declare const CTimePicker: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
3
|
+
/**
|
|
4
|
+
* Accessible label for the hours selection element.
|
|
5
|
+
*/
|
|
6
|
+
ariaSelectHoursLabel: StringConstructor;
|
|
7
|
+
/**
|
|
8
|
+
* Accessible label for the AM/PM selection element.
|
|
9
|
+
*
|
|
10
|
+
* @since 5.16.0
|
|
11
|
+
*/
|
|
12
|
+
ariaSelectMeridiemLabel: StringConstructor;
|
|
13
|
+
/**
|
|
14
|
+
* Accessible label for the minutes selection element.
|
|
15
|
+
*
|
|
16
|
+
* @since 5.16.0
|
|
17
|
+
*/
|
|
18
|
+
ariaSelectMinutesLabel: StringConstructor;
|
|
19
|
+
/**
|
|
20
|
+
* Accessible label for the seconds selection element.
|
|
21
|
+
*
|
|
22
|
+
* @since 5.16.0
|
|
23
|
+
*/
|
|
24
|
+
ariaSelectSecondsLabel: StringConstructor;
|
|
3
25
|
/**
|
|
4
26
|
* Set if the component should use the 12/24 hour format. If `true` forces the interface to a 12-hour format. If `false` forces the interface into a 24-hour format. If `auto` the current locale will determine the 12 or 24-hour interface by default locales.
|
|
5
27
|
*
|
|
@@ -271,6 +293,28 @@ declare const CTimePicker: import("vue").DefineComponent<import("vue").ExtractPr
|
|
|
271
293
|
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
272
294
|
[key: string]: any;
|
|
273
295
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "hide" | "show" | "update:time")[], "change" | "hide" | "show" | "update:time", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
296
|
+
/**
|
|
297
|
+
* Accessible label for the hours selection element.
|
|
298
|
+
*/
|
|
299
|
+
ariaSelectHoursLabel: StringConstructor;
|
|
300
|
+
/**
|
|
301
|
+
* Accessible label for the AM/PM selection element.
|
|
302
|
+
*
|
|
303
|
+
* @since 5.16.0
|
|
304
|
+
*/
|
|
305
|
+
ariaSelectMeridiemLabel: StringConstructor;
|
|
306
|
+
/**
|
|
307
|
+
* Accessible label for the minutes selection element.
|
|
308
|
+
*
|
|
309
|
+
* @since 5.16.0
|
|
310
|
+
*/
|
|
311
|
+
ariaSelectMinutesLabel: StringConstructor;
|
|
312
|
+
/**
|
|
313
|
+
* Accessible label for the seconds selection element.
|
|
314
|
+
*
|
|
315
|
+
* @since 5.16.0
|
|
316
|
+
*/
|
|
317
|
+
ariaSelectSecondsLabel: StringConstructor;
|
|
274
318
|
/**
|
|
275
319
|
* Set if the component should use the 12/24 hour format. If `true` forces the interface to a 12-hour format. If `false` forces the interface into a 24-hour format. If `auto` the current locale will determine the 12 or 24-hour interface by default locales.
|
|
276
320
|
*
|