@descope/web-components-ui 1.0.162 → 1.0.163
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/index.cjs.js +2 -3
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +10 -4
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/1000.js +1 -1
- package/dist/umd/descope-passcode-descope-passcode-internal-index-js.js +1 -1
- package/package.json +1 -1
- package/src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js +8 -1
- package/src/mixins/proxyInputMixin.js +3 -4
package/dist/index.esm.js
CHANGED
@@ -919,7 +919,7 @@ const proxyInputMixin = (superclass) =>
|
|
919
919
|
}
|
920
920
|
|
921
921
|
get inputElement() {
|
922
|
-
if (this.#inputElement) return this.#inputElement
|
922
|
+
if (this.#inputElement) return this.#inputElement;
|
923
923
|
|
924
924
|
this.warnIfInputElementIsMissing();
|
925
925
|
|
@@ -956,7 +956,7 @@ const proxyInputMixin = (superclass) =>
|
|
956
956
|
// on some cases the base element is not ready so the inputElement is empty
|
957
957
|
// we are deferring this section to make sure the base element is ready
|
958
958
|
setTimeout(() => {
|
959
|
-
this.inputElement
|
959
|
+
this.inputElement?.addEventListener('input', (e) => {
|
960
960
|
if (!this.inputElement.checkValidity()) {
|
961
961
|
this.inputElement.setCustomValidity('');
|
962
962
|
// after updating the input validity we want to trigger set validity on the wrapping element
|
@@ -1000,7 +1000,6 @@ const proxyInputMixin = (superclass) =>
|
|
1000
1000
|
forwardAttrs(this, this.inputElement, { includeAttrs: ['inputmode'] });
|
1001
1001
|
});
|
1002
1002
|
}
|
1003
|
-
|
1004
1003
|
};
|
1005
1004
|
|
1006
1005
|
const composedProxyInputMixin = compose(
|
@@ -2538,7 +2537,14 @@ class PasscodeInternal extends BaseInputClass$3 {
|
|
2538
2537
|
input.onkeydown = ({ key }) => {
|
2539
2538
|
// when user deletes a digit, we want to focus the previous digit
|
2540
2539
|
if (key === 'Backspace') {
|
2541
|
-
input
|
2540
|
+
// if value is empty then the input element does not fire `input` event
|
2541
|
+
// if this is the case, we focus the element here.
|
2542
|
+
// otherwise, the focusElement occurs as part of the `input` event listener
|
2543
|
+
if (!input.value) {
|
2544
|
+
setTimeout(() => focusElement(this.getPrevInput(input)), 0);
|
2545
|
+
} else {
|
2546
|
+
input.setSelectionRange(1, 1);
|
2547
|
+
}
|
2542
2548
|
} else if (key.length === 1) {
|
2543
2549
|
// we want only characters and not command keys
|
2544
2550
|
input.value = ''; // we are clearing the previous value so we can override it with the new value
|