@descope/web-components-ui 3.13.2 → 3.14.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/dist/cjs/index.cjs.js +1371 -811
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +1617 -1033
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/8350.js +1 -1
- package/dist/umd/8350.js.map +1 -1
- package/dist/umd/DescopeDev.js +1 -1
- package/dist/umd/DescopeDev.js.map +1 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js +1 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js.map +1 -1
- package/dist/umd/descope-button.js +1 -1
- package/dist/umd/descope-button.js.map +1 -1
- package/dist/umd/descope-month-day-field.js +1 -1
- package/dist/umd/descope-month-day-field.js.map +1 -1
- package/dist/umd/descope-multi-line-mappings.js +1 -1
- package/dist/umd/descope-multi-line-mappings.js.map +1 -1
- package/dist/umd/descope-multi-sso.js +339 -0
- package/dist/umd/descope-multi-sso.js.LICENSE.txt +5 -0
- package/dist/umd/descope-multi-sso.js.map +1 -0
- package/dist/umd/descope-outbound-app-button.js +1 -1
- package/dist/umd/descope-outbound-app-button.js.map +1 -1
- package/dist/umd/descope-outbound-apps.js +1 -1
- package/dist/umd/descope-outbound-apps.js.map +1 -1
- package/dist/umd/descope-timer-button.js +1 -1
- package/dist/umd/descope-timer-button.js.map +1 -1
- package/dist/umd/descope-upload-file-index-js.js +2 -2
- package/dist/umd/descope-upload-file-index-js.js.map +1 -1
- package/dist/umd/descope-user-attribute-index-js.js +4 -4
- package/dist/umd/descope-user-attribute-index-js.js.map +1 -1
- package/dist/umd/descope-user-auth-method-index-js.js +1 -1
- package/dist/umd/descope-user-auth-method-index-js.js.map +1 -1
- package/dist/umd/descope-user-passkeys.js +1 -1
- package/dist/umd/descope-user-passkeys.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +1 -1
- package/dist/umd/mapping-fields-descope-mappings-field-index-js.js.map +1 -1
- package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +1 -1
- package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js.map +1 -1
- package/dist/umd/phone-fields-descope-phone-field-descope-phone-field-internal-index-js.js +1 -1
- package/dist/umd/phone-fields-descope-phone-field-descope-phone-field-internal-index-js.js.map +1 -1
- package/dist/umd/phone-fields-descope-phone-field-index-js.js +1 -1
- package/dist/umd/phone-fields-descope-phone-field-index-js.js.map +1 -1
- package/package.json +40 -39
- package/src/components/phone-fields/descope-phone-field/PhoneFieldClass.js +6 -0
- package/src/components/phone-fields/descope-phone-field/descope-phone-field-internal/PhoneFieldInternal.js +34 -11
- package/src/theme/components/index.js +2 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@descope/web-components-ui",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.14.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/cjs/index.cjs.js",
|
|
6
6
|
"module": "dist/index.esm.js",
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
"webpack-cli": "^7.0.0",
|
|
53
53
|
"webpack-dev-server": "^5.0.0",
|
|
54
54
|
"webpack-subresource-integrity": "5.2.0-rc.1",
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"webpack-
|
|
58
|
-
"
|
|
55
|
+
"test-drivers": "3.14.0",
|
|
56
|
+
"webpack-extract-font-loader": "3.14.0",
|
|
57
|
+
"webpack-replace-plugin": "3.14.0",
|
|
58
|
+
"rollup-replace-plugin": "3.14.0"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"@vaadin/checkbox": "24.3.4",
|
|
@@ -79,40 +79,41 @@
|
|
|
79
79
|
"libphonenumber-js": "^1.11.12",
|
|
80
80
|
"lodash.debounce": "4.0.8",
|
|
81
81
|
"lodash.merge": "4.6.2",
|
|
82
|
-
"@descope-ui/common": "3.
|
|
83
|
-
"@descope-ui/descope-address-field": "3.
|
|
84
|
-
"@descope-ui/descope-
|
|
85
|
-
"@descope-ui/descope-
|
|
86
|
-
"@descope-ui/descope-autocomplete-field": "3.
|
|
87
|
-
"@descope-ui/descope-
|
|
88
|
-
"@descope-ui/descope-
|
|
89
|
-
"@descope-ui/descope-button": "3.
|
|
90
|
-
"@descope-ui/descope-collapsible-container": "3.
|
|
91
|
-
"@descope-ui/descope-combo-box": "3.
|
|
92
|
-
"@descope-ui/descope-
|
|
93
|
-
"@descope-ui/descope-
|
|
94
|
-
"@descope-ui/descope-
|
|
95
|
-
"@descope-ui/descope-
|
|
96
|
-
"@descope-ui/descope-
|
|
97
|
-
"@descope-ui/descope-
|
|
98
|
-
"@descope-ui/descope-
|
|
99
|
-
"@descope-ui/descope-
|
|
100
|
-
"@descope-ui/descope-
|
|
101
|
-
"@descope-ui/descope-
|
|
102
|
-
"@descope-ui/descope-
|
|
103
|
-
"@descope-ui/descope-
|
|
104
|
-
"@descope-ui/descope-
|
|
105
|
-
"@descope-ui/descope-
|
|
106
|
-
"@descope-ui/descope-text": "3.
|
|
107
|
-
"@descope-ui/descope-
|
|
108
|
-
"@descope-ui/descope-timer
|
|
109
|
-
"@descope-ui/descope-tooltip": "3.
|
|
110
|
-
"@descope-ui/descope-
|
|
111
|
-
"@descope-ui/descope-
|
|
112
|
-
"@descope-ui/descope-
|
|
113
|
-
"@descope-ui/descope-user-passkeys": "3.
|
|
114
|
-
"@descope-ui/descope-
|
|
115
|
-
"@descope-ui/descope-
|
|
82
|
+
"@descope-ui/common": "3.14.0",
|
|
83
|
+
"@descope-ui/descope-address-field": "3.14.0",
|
|
84
|
+
"@descope-ui/descope-country-subdivision-city-field": "3.14.0",
|
|
85
|
+
"@descope-ui/descope-apps-list": "3.14.0",
|
|
86
|
+
"@descope-ui/descope-autocomplete-field": "3.14.0",
|
|
87
|
+
"@descope-ui/descope-badge": "3.14.0",
|
|
88
|
+
"@descope-ui/descope-avatar": "3.14.0",
|
|
89
|
+
"@descope-ui/descope-button": "3.14.0",
|
|
90
|
+
"@descope-ui/descope-collapsible-container": "3.14.0",
|
|
91
|
+
"@descope-ui/descope-combo-box": "3.14.0",
|
|
92
|
+
"@descope-ui/descope-image": "3.14.0",
|
|
93
|
+
"@descope-ui/descope-link": "3.14.0",
|
|
94
|
+
"@descope-ui/descope-list": "3.14.0",
|
|
95
|
+
"@descope-ui/descope-list-item": "3.14.0",
|
|
96
|
+
"@descope-ui/descope-month-day-field-picker": "3.14.0",
|
|
97
|
+
"@descope-ui/descope-month-day-field": "3.14.0",
|
|
98
|
+
"@descope-ui/descope-multi-line-mappings": "3.14.0",
|
|
99
|
+
"@descope-ui/descope-multi-select-combo-box": "3.14.0",
|
|
100
|
+
"@descope-ui/descope-outbound-app-button": "3.14.0",
|
|
101
|
+
"@descope-ui/descope-outbound-apps": "3.14.0",
|
|
102
|
+
"@descope-ui/descope-password-strength": "3.14.0",
|
|
103
|
+
"@descope-ui/descope-ponyhot": "3.14.0",
|
|
104
|
+
"@descope-ui/descope-recovery-codes": "3.14.0",
|
|
105
|
+
"@descope-ui/descope-text": "3.14.0",
|
|
106
|
+
"@descope-ui/descope-text-field": "3.14.0",
|
|
107
|
+
"@descope-ui/descope-timer-button": "3.14.0",
|
|
108
|
+
"@descope-ui/descope-timer": "3.14.0",
|
|
109
|
+
"@descope-ui/descope-tooltip": "3.14.0",
|
|
110
|
+
"@descope-ui/descope-multi-sso": "3.14.0",
|
|
111
|
+
"@descope-ui/descope-trusted-devices": "3.14.0",
|
|
112
|
+
"@descope-ui/descope-attachment": "3.14.0",
|
|
113
|
+
"@descope-ui/descope-user-passkeys": "3.14.0",
|
|
114
|
+
"@descope-ui/descope-enriched-text": "3.14.0",
|
|
115
|
+
"@descope-ui/descope-anchored": "3.14.0",
|
|
116
|
+
"@descope-ui/descope-icon": "3.14.0"
|
|
116
117
|
},
|
|
117
118
|
"overrides": {
|
|
118
119
|
"@vaadin/avatar": "24.3.4",
|
|
@@ -44,6 +44,12 @@ const customMixin = (superclass) =>
|
|
|
44
44
|
|
|
45
45
|
this.baseElement.appendChild(template.content.cloneNode(true));
|
|
46
46
|
|
|
47
|
+
// On every input, Vaadin writes its value back into the input element,
|
|
48
|
+
// which re-runs the internal `value` setter and overwrites the combo box
|
|
49
|
+
// and phone fields. PhoneFieldInternal manages those inputs itself, so
|
|
50
|
+
// disable Vaadin's write-back.
|
|
51
|
+
this.baseElement._forwardInputValue = () => {};
|
|
52
|
+
|
|
47
53
|
this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);
|
|
48
54
|
|
|
49
55
|
forwardAttrs(this.shadowRoot.host, this.inputElement, {
|
|
@@ -135,6 +135,14 @@ class PhoneFieldInternal extends BaseInputClass {
|
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
set value(val) {
|
|
138
|
+
this.#onValueChange(val);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// Handles programmatic value changes only (e.g. `component.value = '...'`).
|
|
142
|
+
// User edits of the inner inputs are handled by #onTextFieldChange /
|
|
143
|
+
// #onComboBoxChange — Vaadin's value write-back is disabled in PhoneFieldClass
|
|
144
|
+
// so it no longer routes inner edits through this setter.
|
|
145
|
+
#onValueChange(val) {
|
|
138
146
|
// reject empty or digit-free values
|
|
139
147
|
if (!val || !/\d/.test(val)) {
|
|
140
148
|
this.#clearValue();
|
|
@@ -267,22 +275,37 @@ class PhoneFieldInternal extends BaseInputClass {
|
|
|
267
275
|
}
|
|
268
276
|
|
|
269
277
|
#initInputs() {
|
|
270
|
-
//
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
.split('')
|
|
276
|
-
.filter((char) => telDigitsRegExp.test(char))
|
|
277
|
-
.join('');
|
|
278
|
-
e.target.value = sanitizedInput;
|
|
279
|
-
}
|
|
280
|
-
});
|
|
278
|
+
// Handle each inner input on its own: the phone field updates the national
|
|
279
|
+
// number, the combo box updates the country/dial code. Neither rewrites the
|
|
280
|
+
// other, so editing one input never clears the other.
|
|
281
|
+
this.textField.addEventListener('input', this.#onTextFieldChange.bind(this));
|
|
282
|
+
this.comboBox.addEventListener('change', this.#onComboBoxChange.bind(this));
|
|
281
283
|
|
|
282
284
|
this.handleFocusEventsDispatching(this.inputs);
|
|
283
285
|
this.handleInputEventDispatching();
|
|
284
286
|
}
|
|
285
287
|
|
|
288
|
+
// user edited the phone number: sanitize and (optionally) format it, leaving
|
|
289
|
+
// the country code untouched
|
|
290
|
+
#onTextFieldChange() {
|
|
291
|
+
const sanitized = this.allowAlphanumericInput
|
|
292
|
+
? this.textField.value
|
|
293
|
+
: this.textField.value.replace(/\D+/g, '');
|
|
294
|
+
|
|
295
|
+
this.textField.value = this.isFormatValue ? this.#formatNationalNumber(sanitized) : sanitized;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
// user changed the country: re-format the existing national number for the
|
|
299
|
+
// new country, leaving the phone number digits untouched
|
|
300
|
+
#onComboBoxChange() {
|
|
301
|
+
if (!this.isFormatValue) {
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
const nationalNumber = this.textField.value.replace(/\D+/g, '');
|
|
306
|
+
this.textField.value = this.#formatNationalNumber(nationalNumber);
|
|
307
|
+
}
|
|
308
|
+
|
|
286
309
|
#formatNationalNumber(nationalNumber = '') {
|
|
287
310
|
// re-initialize AsYouType if country code is outdated
|
|
288
311
|
if (!this.#ayt || this.#ayt.country !== this.selectedCountryCode) {
|
|
@@ -22,6 +22,7 @@ import * as recoveryCodes from '@descope-ui/descope-recovery-codes/theme';
|
|
|
22
22
|
import * as outboundApps from '@descope-ui/descope-outbound-apps/theme';
|
|
23
23
|
import * as outboundAppButton from '@descope-ui/descope-outbound-app-button/theme';
|
|
24
24
|
import * as trustedDevices from '@descope-ui/descope-trusted-devices/theme';
|
|
25
|
+
import * as multiSso from '@descope-ui/descope-multi-sso/theme';
|
|
25
26
|
import * as tooltip from '@descope-ui/descope-tooltip/theme';
|
|
26
27
|
import * as countrySubdivisionCityField from '@descope-ui/descope-country-subdivision-city-field/theme';
|
|
27
28
|
import * as attachment from '@descope-ui/descope-attachment/theme';
|
|
@@ -142,6 +143,7 @@ const components = {
|
|
|
142
143
|
outboundApps,
|
|
143
144
|
outboundAppButton,
|
|
144
145
|
trustedDevices,
|
|
146
|
+
multiSso,
|
|
145
147
|
tooltip,
|
|
146
148
|
attachment,
|
|
147
149
|
userPasskeys,
|