@descope/web-components-ui 1.0.162 → 1.0.164
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/index.cjs.js +52 -22
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +60 -23
- 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/dist/umd/descope-upload-file-index-js.js +1 -1
- package/package.json +1 -1
- package/src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js +8 -1
- package/src/components/descope-upload-file/UploadFileClass.js +40 -15
- package/src/mixins/proxyInputMixin.js +3 -4
- package/src/theme/components/uploadFile.js +8 -2
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(
|
@@ -2234,13 +2233,13 @@ const selectors = {
|
|
2234
2233
|
text: { selector: () => TextClass.componentName },
|
2235
2234
|
};
|
2236
2235
|
|
2237
|
-
const { anchor, text: text$2, host: host$7, wrapper } = selectors;
|
2236
|
+
const { anchor, text: text$2, host: host$7, wrapper: wrapper$1 } = selectors;
|
2238
2237
|
|
2239
2238
|
const LinkClass = compose(
|
2240
2239
|
createStyleMixin({
|
2241
2240
|
mappings: {
|
2242
2241
|
hostWidth: { ...host$7, property: 'width' },
|
2243
|
-
textAlign: wrapper,
|
2242
|
+
textAlign: wrapper$1,
|
2244
2243
|
textColor: [
|
2245
2244
|
{ ...anchor, property: 'color' },
|
2246
2245
|
{ ...text$2, property: TextClass.cssVarList.textColor },
|
@@ -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
|
@@ -5413,13 +5419,15 @@ const observedAttributes = [
|
|
5413
5419
|
'description',
|
5414
5420
|
'button-label',
|
5415
5421
|
'accept',
|
5422
|
+
'readonly',
|
5416
5423
|
'button-mode',
|
5417
5424
|
'button-variant',
|
5418
5425
|
'required',
|
5419
5426
|
'size',
|
5427
|
+
'icon',
|
5420
5428
|
];
|
5421
5429
|
|
5422
|
-
const BaseInputClass = createBaseInputClass({ componentName: componentName$1, baseSelector: ':host > div
|
5430
|
+
const BaseInputClass = createBaseInputClass({ componentName: componentName$1, baseSelector: ':host > div' });
|
5423
5431
|
|
5424
5432
|
class RawUploadFile extends BaseInputClass {
|
5425
5433
|
static get observedAttributes() {
|
@@ -5431,12 +5439,16 @@ class RawUploadFile extends BaseInputClass {
|
|
5431
5439
|
|
5432
5440
|
this.attachShadow({ mode: 'open' }).innerHTML = `
|
5433
5441
|
<style>
|
5434
|
-
|
5442
|
+
:host {
|
5443
|
+
display: flex;
|
5444
|
+
}
|
5445
|
+
:host > div {
|
5435
5446
|
display: flex;
|
5436
5447
|
align-items: center;
|
5437
5448
|
justify-content: center;
|
5438
5449
|
text-align: center;
|
5439
5450
|
flex-direction: column;
|
5451
|
+
width: 100%;
|
5440
5452
|
}
|
5441
5453
|
.button-wrapper {
|
5442
5454
|
position: relative;
|
@@ -5449,11 +5461,10 @@ class RawUploadFile extends BaseInputClass {
|
|
5449
5461
|
opacity: 0;
|
5450
5462
|
}
|
5451
5463
|
</style>
|
5452
|
-
<div
|
5464
|
+
<div>
|
5453
5465
|
<div class="icon"></div>
|
5454
5466
|
<div class="title">
|
5455
5467
|
<span class="title-text"></span>
|
5456
|
-
<span class="required-indicator"></span>
|
5457
5468
|
</div>
|
5458
5469
|
<div class="description"></div>
|
5459
5470
|
<div class="button-wrapper">
|
@@ -5515,6 +5526,10 @@ class RawUploadFile extends BaseInputClass {
|
|
5515
5526
|
this.updateButtonSize(newValue);
|
5516
5527
|
} else if (attrName === 'accept') {
|
5517
5528
|
this.updateInputAccept(newValue);
|
5529
|
+
} else if (attrName === 'readonly') {
|
5530
|
+
this.updateReadOnly(newValue);
|
5531
|
+
} else if (attrName === 'icon') {
|
5532
|
+
this.updateIcon(newValue);
|
5518
5533
|
}
|
5519
5534
|
}
|
5520
5535
|
}
|
@@ -5535,6 +5550,10 @@ class RawUploadFile extends BaseInputClass {
|
|
5535
5550
|
return this.shadowRoot.querySelector('.description');
|
5536
5551
|
}
|
5537
5552
|
|
5553
|
+
get icon() {
|
5554
|
+
return this.shadowRoot.querySelector('.icon');
|
5555
|
+
}
|
5556
|
+
|
5538
5557
|
updateTitle(val) {
|
5539
5558
|
this.title.innerHTML = val;
|
5540
5559
|
}
|
@@ -5562,10 +5581,23 @@ class RawUploadFile extends BaseInputClass {
|
|
5562
5581
|
updateInputAccept(val) {
|
5563
5582
|
this.input.setAttribute('accept', val);
|
5564
5583
|
}
|
5584
|
+
|
5585
|
+
updateReadOnly(val) {
|
5586
|
+
if (val === 'true') {
|
5587
|
+
this.input.setAttribute('disabled', 'true');
|
5588
|
+
} else {
|
5589
|
+
this.input.removeAttribute('disabled');
|
5590
|
+
}
|
5591
|
+
}
|
5592
|
+
|
5593
|
+
updateIcon(val) {
|
5594
|
+
this.icon.style.content = `url(${val})`;
|
5595
|
+
}
|
5565
5596
|
}
|
5566
5597
|
|
5567
|
-
const { host, icon, title, description, requiredIndicator } = {
|
5568
|
-
host: { selector: () => '
|
5598
|
+
const { host, wrapper, icon, title, description, requiredIndicator } = {
|
5599
|
+
host: { selector: () => ':host' },
|
5600
|
+
wrapper: { selector: () => ':host > div' },
|
5569
5601
|
icon: { selector: () => '.icon' },
|
5570
5602
|
title: { selector: () => '.title' },
|
5571
5603
|
description: { selector: () => '.description' },
|
@@ -5578,15 +5610,15 @@ const UploadFileClass = compose(
|
|
5578
5610
|
mappings: {
|
5579
5611
|
fontSize: {},
|
5580
5612
|
fontFamily: {},
|
5581
|
-
|
5613
|
+
borderColor: {},
|
5614
|
+
borderWidth: {},
|
5615
|
+
borderStyle: {},
|
5616
|
+
borderRadius: {},
|
5582
5617
|
hostHeight: { ...host, property: 'height' },
|
5583
|
-
|
5584
|
-
|
5585
|
-
|
5586
|
-
|
5587
|
-
borderWidth: { ...host, property: 'border-width' },
|
5588
|
-
borderStyle: { ...host, property: 'border-style' },
|
5589
|
-
borderRadius: { ...host, property: 'border-radius' },
|
5618
|
+
hostWidth: { ...host, property: 'width' },
|
5619
|
+
hostPadding: { property: 'padding' },
|
5620
|
+
gap: { ...wrapper },
|
5621
|
+
lineHeight: { ...wrapper, property: 'line-height' },
|
5590
5622
|
titleFontSize: { ...title, property: 'font-size' },
|
5591
5623
|
titleFontWeight: { ...title, property: 'font-weight' },
|
5592
5624
|
descriptionFontSize: { ...description, property: 'font-size' },
|
@@ -5594,7 +5626,6 @@ const UploadFileClass = compose(
|
|
5594
5626
|
{ ...title, property: 'color' },
|
5595
5627
|
{ ...description, property: 'color' },
|
5596
5628
|
],
|
5597
|
-
icon: { ...icon, property: 'content' },
|
5598
5629
|
iconSize: { ...icon, property: 'width' },
|
5599
5630
|
requiredIndicator: { ...requiredIndicator, property: 'content' },
|
5600
5631
|
},
|
@@ -6958,10 +6989,8 @@ const vars$1 = UploadFileClass.cssVarList;
|
|
6958
6989
|
|
6959
6990
|
const uploadFile = {
|
6960
6991
|
[vars$1.labelTextColor]: refs.labelTextColor,
|
6961
|
-
[vars$1.requiredIndicator]: refs.requiredIndicator,
|
6962
6992
|
[vars$1.fontFamily]: refs.fontFamily,
|
6963
6993
|
|
6964
|
-
[vars$1.icon]: 'url(https://imgs.descope.com/components/upload-file-outlined.svg)',
|
6965
6994
|
[vars$1.iconSize]: '2em',
|
6966
6995
|
|
6967
6996
|
[vars$1.hostPadding]: '0.75em',
|
@@ -6976,6 +7005,10 @@ const uploadFile = {
|
|
6976
7005
|
[vars$1.borderRadius]: refs.borderRadius,
|
6977
7006
|
[vars$1.borderStyle]: 'dashed',
|
6978
7007
|
|
7008
|
+
_required: {
|
7009
|
+
[vars$1.requiredIndicator]: refs.requiredIndicator,
|
7010
|
+
},
|
7011
|
+
|
6979
7012
|
size: {
|
6980
7013
|
xs: {
|
6981
7014
|
[vars$1.hostHeight]: '196px',
|
@@ -7006,6 +7039,10 @@ const uploadFile = {
|
|
7006
7039
|
[vars$1.lineHeight]: '1.75em',
|
7007
7040
|
},
|
7008
7041
|
},
|
7042
|
+
|
7043
|
+
_fullWidth: {
|
7044
|
+
[vars$1.hostWidth]: refs.width,
|
7045
|
+
},
|
7009
7046
|
};
|
7010
7047
|
|
7011
7048
|
var uploadFile$1 = /*#__PURE__*/Object.freeze({
|