@descope/web-components-ui 1.0.74 → 1.0.76
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.esm.js +2550 -632
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/447.js +1 -1
- package/dist/umd/744.js +1 -1
- package/dist/umd/878.js +1 -0
- package/dist/umd/descope-combo-box-index-js.js +1 -1
- package/dist/umd/descope-passcode-descope-passcode-internal-index-js.js +1 -1
- package/dist/umd/descope-passcode-index-js.js +1 -1
- package/dist/umd/descope-phone-field-descope-phone-field-internal-index-js.js +1 -0
- package/dist/umd/descope-phone-field-index-js.js +1 -0
- package/dist/umd/descope-text-area-index-js.js +1 -1
- package/dist/umd/descope-text-field-index-js.js +1 -1
- package/dist/umd/index.js +1 -1
- package/package.json +1 -1
- package/src/components/descope-combo-box/ComboBox.js +85 -50
- package/src/components/descope-passcode/Passcode.js +43 -12
- package/src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js +32 -14
- package/src/components/descope-phone-field/CountryCodes.js +1212 -0
- package/src/components/descope-phone-field/PhoneField.js +186 -0
- package/src/components/descope-phone-field/descope-phone-field-internal/PhoneFieldInternal.js +213 -0
- package/src/components/descope-phone-field/descope-phone-field-internal/index.js +6 -0
- package/src/components/descope-phone-field/helpers.js +23 -0
- package/src/components/descope-phone-field/index.js +9 -0
- package/src/components/descope-text-area/TextArea.js +3 -1
- package/src/components/descope-text-field/TextField.js +38 -3
- package/src/components/descope-text-field/textFieldMappings.js +22 -14
- package/src/index.js +1 -0
- package/src/mixins/inputValidationMixin.js +21 -2
- package/src/mixins/normalizeBooleanAttributesMixin.js +16 -7
- package/src/mixins/portalMixin.js +8 -3
- package/src/mixins/proxyInputMixin.js +1 -1
- package/src/theme/components/button.js +0 -3
- package/src/theme/components/comboBox.js +39 -9
- package/src/theme/components/index.js +3 -1
- package/src/theme/components/passcode.js +36 -3
- package/src/theme/components/phoneField.js +74 -0
- package/src/theme/components/textArea.js +5 -2
- package/src/theme/components/textField.js +6 -3
@@ -1,11 +1,15 @@
|
|
1
1
|
import { createBaseInputClass } from '../../../baseClasses/createBaseInputClass';
|
2
|
-
import { getComponentName } from '../../../helpers/componentHelpers';
|
2
|
+
import { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';
|
3
3
|
import { createDispatchEvent } from '../../../helpers/mixinsHelpers';
|
4
4
|
import { getSanitizedCharacters, focusElement } from './helpers';
|
5
5
|
|
6
6
|
export const componentName = getComponentName('passcode-internal');
|
7
7
|
|
8
8
|
const observedAttributes = [
|
9
|
+
'digits'
|
10
|
+
]
|
11
|
+
|
12
|
+
const forwardAttributes = [
|
9
13
|
'disabled',
|
10
14
|
'bordered',
|
11
15
|
'size',
|
@@ -29,22 +33,35 @@ class PasscodeInternal extends BaseInputClass {
|
|
29
33
|
|
30
34
|
constructor() {
|
31
35
|
super();
|
36
|
+
|
37
|
+
this.innerHTML = `
|
38
|
+
<div class="wrapper"></div>
|
39
|
+
<style>
|
40
|
+
.wrapper {
|
41
|
+
display: flex;
|
42
|
+
width: 100%;
|
43
|
+
justify-content: space-between;
|
44
|
+
}
|
45
|
+
</style>
|
46
|
+
`;
|
47
|
+
|
48
|
+
this.wrapperEle = this.querySelector('div');
|
49
|
+
}
|
50
|
+
|
51
|
+
renderInputs() {
|
32
52
|
const inputs = [...Array(this.digits).keys()].map((idx) => `
|
33
53
|
<descope-text-field
|
34
|
-
st-width="35px"
|
35
54
|
data-id=${idx}
|
36
55
|
type="tel"
|
37
56
|
autocomplete="off"
|
38
57
|
></descope-text-field>
|
39
58
|
`)
|
40
59
|
|
41
|
-
this.innerHTML =
|
42
|
-
<div>
|
43
|
-
${inputs.join('')}
|
44
|
-
</div>
|
45
|
-
`;
|
60
|
+
this.wrapperEle.innerHTML = inputs.join('');
|
46
61
|
|
47
62
|
this.inputs = Array.from(this.querySelectorAll('descope-text-field'))
|
63
|
+
|
64
|
+
this.initInputs()
|
48
65
|
}
|
49
66
|
|
50
67
|
get digits() {
|
@@ -52,7 +69,7 @@ class PasscodeInternal extends BaseInputClass {
|
|
52
69
|
}
|
53
70
|
|
54
71
|
get value() {
|
55
|
-
return this.inputs
|
72
|
+
return this.inputs?.map(({ value }) => value).join('') || ''
|
56
73
|
}
|
57
74
|
|
58
75
|
set value(val) {
|
@@ -91,7 +108,8 @@ class PasscodeInternal extends BaseInputClass {
|
|
91
108
|
|
92
109
|
super.init?.();
|
93
110
|
|
94
|
-
this.
|
111
|
+
this.renderInputs()
|
112
|
+
|
95
113
|
}
|
96
114
|
|
97
115
|
getInputIdx(inputEle) {
|
@@ -180,6 +198,8 @@ class PasscodeInternal extends BaseInputClass {
|
|
180
198
|
input.value = ''; // we are clearing the previous value so we can override it with the new value
|
181
199
|
}
|
182
200
|
};
|
201
|
+
|
202
|
+
forwardAttrs(this, input, { includeAttrs: forwardAttributes })
|
183
203
|
})
|
184
204
|
}
|
185
205
|
|
@@ -189,11 +209,9 @@ class PasscodeInternal extends BaseInputClass {
|
|
189
209
|
// sync attributes to inputs
|
190
210
|
if (oldValue !== newValue) {
|
191
211
|
if (observedAttributes.includes(attrName)) {
|
192
|
-
|
193
|
-
(
|
194
|
-
|
195
|
-
input.setAttribute(attrName, newValue)
|
196
|
-
)
|
212
|
+
if (attrName === 'digits') {
|
213
|
+
this.renderInputs();
|
214
|
+
}
|
197
215
|
}
|
198
216
|
}
|
199
217
|
}
|