@descope/web-components-ui 3.19.1 → 3.20.1
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 +106 -60
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +82 -36
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/DescopeDev.js +1 -1
- package/dist/umd/DescopeDev.js.map +1 -1
- package/dist/umd/descope-collapsible-container.js +1 -1
- package/dist/umd/descope-collapsible-container.js.map +1 -1
- package/dist/umd/descope-recaptcha-index-js.js +1 -1
- package/dist/umd/descope-recaptcha-index-js.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/package.json +42 -42
- package/src/components/descope-recaptcha/RecaptchaClass.js +41 -9
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -6914,7 +6914,7 @@ const MultiSelectComboBoxClass = compose(
|
|
|
6914
6914
|
);
|
|
6915
6915
|
|
|
6916
6916
|
const componentName$1f = getComponentName('multi-line-mappings');
|
|
6917
|
-
const BaseClass$
|
|
6917
|
+
const BaseClass$9 = createBaseClass$1({ componentName: componentName$1f });
|
|
6918
6918
|
|
|
6919
6919
|
const parseJSON = (value, fallback, source = 'unknown') => {
|
|
6920
6920
|
if (typeof value !== 'string' || !value?.trim()) {
|
|
@@ -6984,7 +6984,7 @@ const createEmptyRow = () => ({ firstValues: [], secondValues: [] });
|
|
|
6984
6984
|
const areSameValues = (first = [], second = []) =>
|
|
6985
6985
|
first.length === second.length && first.every((v, i) => v === second[i]);
|
|
6986
6986
|
|
|
6987
|
-
class RawMultiLineMappingsClass extends BaseClass$
|
|
6987
|
+
class RawMultiLineMappingsClass extends BaseClass$9 {
|
|
6988
6988
|
static get observedAttributes() {
|
|
6989
6989
|
return [
|
|
6990
6990
|
'data',
|
|
@@ -8183,16 +8183,16 @@ const CONNECTOR_CLASSES = {
|
|
|
8183
8183
|
[RADAR_CONNECTOR_TEMPLATE]: RadarConnector,
|
|
8184
8184
|
};
|
|
8185
8185
|
|
|
8186
|
-
const BaseInputClass$
|
|
8186
|
+
const BaseInputClass$8 = createBaseInputClass$1({
|
|
8187
8187
|
componentName: componentName$1c,
|
|
8188
8188
|
baseSelector: '',
|
|
8189
8189
|
});
|
|
8190
8190
|
const initConnectorAttrs = ['public-api-key'];
|
|
8191
8191
|
const observedAttrs$7 = [...initConnectorAttrs];
|
|
8192
8192
|
|
|
8193
|
-
class RawAddressFieldInternal extends BaseInputClass$
|
|
8193
|
+
class RawAddressFieldInternal extends BaseInputClass$8 {
|
|
8194
8194
|
static get observedAttributes() {
|
|
8195
|
-
return [].concat(BaseInputClass$
|
|
8195
|
+
return [].concat(BaseInputClass$8.observedAttributes || [], observedAttrs$7);
|
|
8196
8196
|
}
|
|
8197
8197
|
|
|
8198
8198
|
get errorMsgValueMissing() {
|
|
@@ -8463,20 +8463,20 @@ const componentName$1a = getComponentName('timer');
|
|
|
8463
8463
|
|
|
8464
8464
|
const observedAttributes$5 = ['seconds', 'hide-icon', 'paused'];
|
|
8465
8465
|
|
|
8466
|
-
const BaseClass$
|
|
8466
|
+
const BaseClass$8 = createBaseClass$1({
|
|
8467
8467
|
componentName: componentName$1a,
|
|
8468
8468
|
baseSelector: ':host > .wrapper',
|
|
8469
8469
|
});
|
|
8470
8470
|
|
|
8471
8471
|
const DEFAULT_INTERVAL = 1000;
|
|
8472
8472
|
|
|
8473
|
-
class RawTimer extends BaseClass$
|
|
8473
|
+
class RawTimer extends BaseClass$8 {
|
|
8474
8474
|
#timeRemains = 0;
|
|
8475
8475
|
|
|
8476
8476
|
#intervalId;
|
|
8477
8477
|
|
|
8478
8478
|
static get observedAttributes() {
|
|
8479
|
-
return observedAttributes$5.concat(BaseClass$
|
|
8479
|
+
return observedAttributes$5.concat(BaseClass$8.observedAttributes || []);
|
|
8480
8480
|
}
|
|
8481
8481
|
|
|
8482
8482
|
constructor() {
|
|
@@ -8715,12 +8715,12 @@ const mapTimerAttrs = {
|
|
|
8715
8715
|
'timer-paused': 'paused',
|
|
8716
8716
|
};
|
|
8717
8717
|
|
|
8718
|
-
const BaseClass$
|
|
8718
|
+
const BaseClass$7 = createBaseClass$1({
|
|
8719
8719
|
componentName: componentName$19,
|
|
8720
8720
|
baseSelector: ':host > div',
|
|
8721
8721
|
});
|
|
8722
8722
|
|
|
8723
|
-
class RawTimerButton extends BaseClass$
|
|
8723
|
+
class RawTimerButton extends BaseClass$7 {
|
|
8724
8724
|
constructor() {
|
|
8725
8725
|
super();
|
|
8726
8726
|
|
|
@@ -9193,10 +9193,12 @@ class RawCollapsibleContainer extends createBaseClass$1({
|
|
|
9193
9193
|
<div class="wrapper">
|
|
9194
9194
|
<descope-text st-host-direction="ltr">
|
|
9195
9195
|
<div class="header">
|
|
9196
|
-
<div class="
|
|
9197
|
-
<
|
|
9196
|
+
<div class="title">
|
|
9197
|
+
<div class="icon">
|
|
9198
|
+
<descope-icon st-fill="currentcolor" src=${chevronIcon}></descope-icon>
|
|
9199
|
+
</div>
|
|
9200
|
+
<span></span>
|
|
9198
9201
|
</div>
|
|
9199
|
-
<span></span>
|
|
9200
9202
|
</div>
|
|
9201
9203
|
</descope-text>
|
|
9202
9204
|
<div class="content">
|
|
@@ -9228,6 +9230,17 @@ class RawCollapsibleContainer extends createBaseClass$1({
|
|
|
9228
9230
|
display: flex;
|
|
9229
9231
|
align-items: baseline;
|
|
9230
9232
|
}
|
|
9233
|
+
.title {
|
|
9234
|
+
display: contents;
|
|
9235
|
+
}
|
|
9236
|
+
/* attach icon */
|
|
9237
|
+
:host([attach-icon="true"]) .header {
|
|
9238
|
+
display: block;
|
|
9239
|
+
}
|
|
9240
|
+
:host([attach-icon="true"]) .title {
|
|
9241
|
+
display: inline-flex;
|
|
9242
|
+
align-items: baseline;
|
|
9243
|
+
}
|
|
9231
9244
|
.icon {
|
|
9232
9245
|
flex-shrink: 0;
|
|
9233
9246
|
height: var(${TextClass.cssVarList.textLineHeight});
|
|
@@ -9349,6 +9362,7 @@ const selectors$2 = {
|
|
|
9349
9362
|
icon: () => 'descope-icon',
|
|
9350
9363
|
iconWrapper: () => '.icon',
|
|
9351
9364
|
header: () => '.header',
|
|
9365
|
+
iconAndText: () => '.header, .title',
|
|
9352
9366
|
text: () => 'span',
|
|
9353
9367
|
wrapper: () => '.wrapper',
|
|
9354
9368
|
content: () => 'div.content',
|
|
@@ -9389,7 +9403,7 @@ const CollapsibleContainerClass = compose(
|
|
|
9389
9403
|
|
|
9390
9404
|
headerIconOrder: { selector: selectors$2.iconWrapper, property: 'order' },
|
|
9391
9405
|
headerCursor: { selector: selectors$2.header, property: 'cursor' },
|
|
9392
|
-
headerGap: { selector: selectors$2.
|
|
9406
|
+
headerGap: { selector: selectors$2.iconAndText, property: 'gap' },
|
|
9393
9407
|
textGrow: { selector: selectors$2.text, property: 'flex-grow' },
|
|
9394
9408
|
textDirection: { selector: selectors$2.text, property: 'direction' },
|
|
9395
9409
|
iconAnimationDuration: {
|
|
@@ -9414,7 +9428,7 @@ const [helperTheme$4, helperRefs$4, helperVars$4] = createHelperVars$1(
|
|
|
9414
9428
|
{
|
|
9415
9429
|
shadowColor: '#00000020', // if we want to support transparency vars, we should use different color format
|
|
9416
9430
|
},
|
|
9417
|
-
componentName$17
|
|
9431
|
+
componentName$17,
|
|
9418
9432
|
);
|
|
9419
9433
|
|
|
9420
9434
|
const { shadowColor: shadowColor$6 } = helperRefs$4;
|
|
@@ -9495,8 +9509,8 @@ const collapsibleContainer = {
|
|
|
9495
9509
|
},
|
|
9496
9510
|
|
|
9497
9511
|
iconPosition: {
|
|
9498
|
-
|
|
9499
|
-
|
|
9512
|
+
left: { [compVars$5.headerIconOrder]: '0' },
|
|
9513
|
+
right: { [compVars$5.headerIconOrder]: '1' },
|
|
9500
9514
|
},
|
|
9501
9515
|
|
|
9502
9516
|
_fillTitle: {
|
|
@@ -9511,7 +9525,7 @@ const collapsibleContainer = {
|
|
|
9511
9525
|
|
|
9512
9526
|
_collapsible: {
|
|
9513
9527
|
[compVars$5.headerCursor]: 'pointer',
|
|
9514
|
-
}
|
|
9528
|
+
},
|
|
9515
9529
|
};
|
|
9516
9530
|
|
|
9517
9531
|
const vars$U = {
|
|
@@ -9749,12 +9763,12 @@ const itemRenderer$4 = (
|
|
|
9749
9763
|
`;
|
|
9750
9764
|
};
|
|
9751
9765
|
|
|
9752
|
-
const BaseClass$
|
|
9766
|
+
const BaseClass$6 = createBaseClass$1({
|
|
9753
9767
|
componentName: componentName$15,
|
|
9754
9768
|
baseSelector: 'descope-list',
|
|
9755
9769
|
});
|
|
9756
9770
|
|
|
9757
|
-
class RawOutboundAppsClass extends BaseClass$
|
|
9771
|
+
class RawOutboundAppsClass extends BaseClass$6 {
|
|
9758
9772
|
constructor() {
|
|
9759
9773
|
super();
|
|
9760
9774
|
|
|
@@ -10249,12 +10263,12 @@ const itemRenderer$3 = (
|
|
|
10249
10263
|
return template;
|
|
10250
10264
|
};
|
|
10251
10265
|
|
|
10252
|
-
const BaseClass$
|
|
10266
|
+
const BaseClass$5 = createBaseClass$1({
|
|
10253
10267
|
componentName: componentName$13,
|
|
10254
10268
|
baseSelector: ListClass.componentName,
|
|
10255
10269
|
});
|
|
10256
10270
|
|
|
10257
|
-
class RawTrustedDevicesClass extends BaseClass$
|
|
10271
|
+
class RawTrustedDevicesClass extends BaseClass$5 {
|
|
10258
10272
|
constructor() {
|
|
10259
10273
|
super();
|
|
10260
10274
|
|
|
@@ -10682,12 +10696,12 @@ const itemRenderer$2 = ({ id, name, isDefault, link, authType }, _, ref) => {
|
|
|
10682
10696
|
return template;
|
|
10683
10697
|
};
|
|
10684
10698
|
|
|
10685
|
-
const BaseClass$
|
|
10699
|
+
const BaseClass$4 = createBaseClass$1({
|
|
10686
10700
|
componentName: componentName$12,
|
|
10687
10701
|
baseSelector: 'span.wrapper',
|
|
10688
10702
|
});
|
|
10689
10703
|
|
|
10690
|
-
class RawMultiSsoClass extends BaseClass$
|
|
10704
|
+
class RawMultiSsoClass extends BaseClass$4 {
|
|
10691
10705
|
static get observedAttributes() {
|
|
10692
10706
|
return [
|
|
10693
10707
|
'label',
|
|
@@ -11651,7 +11665,7 @@ const comboBoxHTML = (id) =>
|
|
|
11651
11665
|
|
|
11652
11666
|
// --- Base class ---
|
|
11653
11667
|
|
|
11654
|
-
const BaseInputClass$
|
|
11668
|
+
const BaseInputClass$7 = createBaseInputClass$1({
|
|
11655
11669
|
componentName: componentName$10,
|
|
11656
11670
|
baseSelector: '',
|
|
11657
11671
|
});
|
|
@@ -11686,9 +11700,9 @@ const observedAttrs$6 = [
|
|
|
11686
11700
|
'lang',
|
|
11687
11701
|
];
|
|
11688
11702
|
|
|
11689
|
-
class RawCountrySubdivisionCityFieldInternal extends BaseInputClass$
|
|
11703
|
+
class RawCountrySubdivisionCityFieldInternal extends BaseInputClass$7 {
|
|
11690
11704
|
static get observedAttributes() {
|
|
11691
|
-
return [].concat(BaseInputClass$
|
|
11705
|
+
return [].concat(BaseInputClass$7.observedAttributes || [], observedAttrs$6);
|
|
11692
11706
|
}
|
|
11693
11707
|
|
|
11694
11708
|
#countryComboBox;
|
|
@@ -13086,12 +13100,12 @@ const itemRenderer$1 = ({ id, name, createdAt, passkeyType }, _, ref) => {
|
|
|
13086
13100
|
return template;
|
|
13087
13101
|
};
|
|
13088
13102
|
|
|
13089
|
-
const BaseClass$
|
|
13103
|
+
const BaseClass$3 = createBaseClass$1({
|
|
13090
13104
|
componentName: componentName$Z,
|
|
13091
13105
|
baseSelector: ListClass.componentName,
|
|
13092
13106
|
});
|
|
13093
13107
|
|
|
13094
|
-
class RawUserPasskeysClass extends BaseClass$
|
|
13108
|
+
class RawUserPasskeysClass extends BaseClass$3 {
|
|
13095
13109
|
static get observedAttributes() {
|
|
13096
13110
|
return [
|
|
13097
13111
|
'label',
|
|
@@ -14162,7 +14176,7 @@ const componentName$X = getComponentName('month-day-field');
|
|
|
14162
14176
|
// vaadin-popover is the baseSelector hack carried over from descope-date-field so portalMixin
|
|
14163
14177
|
// can style the overlay. A cleaner solution requires upstream changes to portalMixin.
|
|
14164
14178
|
const BASE_SELECTOR$2 = 'vaadin-popover';
|
|
14165
|
-
const BaseInputClass$
|
|
14179
|
+
const BaseInputClass$6 = createBaseInputClass$1({
|
|
14166
14180
|
componentName: componentName$X,
|
|
14167
14181
|
baseSelector: BASE_SELECTOR$2,
|
|
14168
14182
|
});
|
|
@@ -14181,7 +14195,7 @@ const pickerAttrs = [
|
|
|
14181
14195
|
];
|
|
14182
14196
|
const observedAttrs$4 = [...monthDayFieldAttrs, ...pickerAttrs];
|
|
14183
14197
|
|
|
14184
|
-
class RawMonthDayFieldClass extends BaseInputClass$
|
|
14198
|
+
class RawMonthDayFieldClass extends BaseInputClass$6 {
|
|
14185
14199
|
format = DEFAULT_FORMAT$1;
|
|
14186
14200
|
|
|
14187
14201
|
#selectedCounterIdx = 0;
|
|
@@ -14198,7 +14212,7 @@ class RawMonthDayFieldClass extends BaseInputClass$5 {
|
|
|
14198
14212
|
];
|
|
14199
14213
|
|
|
14200
14214
|
static get observedAttributes() {
|
|
14201
|
-
return [].concat(BaseInputClass$
|
|
14215
|
+
return [].concat(BaseInputClass$6.observedAttributes || [], observedAttrs$4);
|
|
14202
14216
|
}
|
|
14203
14217
|
|
|
14204
14218
|
constructor() {
|
|
@@ -15202,7 +15216,7 @@ const observedAttrs$3 = [
|
|
|
15202
15216
|
'full-width',
|
|
15203
15217
|
];
|
|
15204
15218
|
|
|
15205
|
-
const BaseInputClass$
|
|
15219
|
+
const BaseInputClass$5 = createBaseInputClass$1({
|
|
15206
15220
|
componentName: componentName$W,
|
|
15207
15221
|
baseSelector: 'div',
|
|
15208
15222
|
});
|
|
@@ -15237,9 +15251,9 @@ const monthEntries = (names) =>
|
|
|
15237
15251
|
const dayEntries = (count) =>
|
|
15238
15252
|
Array.from({ length: count }, (_, i) => ({ id: i + 1, name: String(i + 1) }));
|
|
15239
15253
|
|
|
15240
|
-
class RawMonthDayPicker extends BaseInputClass$
|
|
15254
|
+
class RawMonthDayPicker extends BaseInputClass$5 {
|
|
15241
15255
|
static get observedAttributes() {
|
|
15242
|
-
return [].concat(BaseInputClass$
|
|
15256
|
+
return [].concat(BaseInputClass$5.observedAttributes || [], observedAttrs$3);
|
|
15243
15257
|
}
|
|
15244
15258
|
|
|
15245
15259
|
// 1..12 or null
|
|
@@ -16737,14 +16751,14 @@ const componentName$T = getComponentName('filter');
|
|
|
16737
16751
|
|
|
16738
16752
|
const BASE_SELECTOR$1 = 'vaadin-popover';
|
|
16739
16753
|
|
|
16740
|
-
const BaseClass$
|
|
16754
|
+
const BaseClass$2 = createBaseClass$1({
|
|
16741
16755
|
componentName: componentName$T,
|
|
16742
16756
|
baseSelector: BASE_SELECTOR$1,
|
|
16743
16757
|
});
|
|
16744
16758
|
|
|
16745
16759
|
const ROW_ICON_SLOTS = ['add-row-icon', 'delete-row-icon'];
|
|
16746
16760
|
|
|
16747
|
-
class RawFilterClass extends BaseClass$
|
|
16761
|
+
class RawFilterClass extends BaseClass$2 {
|
|
16748
16762
|
#committedRows = [];
|
|
16749
16763
|
|
|
16750
16764
|
// Set while committing a change that originated from the inner filter-rows,
|
|
@@ -16762,7 +16776,7 @@ class RawFilterClass extends BaseClass$3 {
|
|
|
16762
16776
|
|
|
16763
16777
|
static get observedAttributes() {
|
|
16764
16778
|
return [
|
|
16765
|
-
...(BaseClass$
|
|
16779
|
+
...(BaseClass$2.observedAttributes || []),
|
|
16766
16780
|
'label',
|
|
16767
16781
|
'disable-indicator',
|
|
16768
16782
|
'data',
|
|
@@ -23726,11 +23740,11 @@ const observedAttributes$2 = [
|
|
|
23726
23740
|
'icon',
|
|
23727
23741
|
];
|
|
23728
23742
|
|
|
23729
|
-
const BaseInputClass$
|
|
23743
|
+
const BaseInputClass$4 = createBaseInputClass({ componentName: componentName$u, baseSelector: ':host > div' });
|
|
23730
23744
|
|
|
23731
|
-
class RawUploadFile extends BaseInputClass$
|
|
23745
|
+
class RawUploadFile extends BaseInputClass$4 {
|
|
23732
23746
|
static get observedAttributes() {
|
|
23733
|
-
return observedAttributes$2.concat(BaseInputClass$
|
|
23747
|
+
return observedAttributes$2.concat(BaseInputClass$4.observedAttributes || []);
|
|
23734
23748
|
}
|
|
23735
23749
|
|
|
23736
23750
|
constructor() {
|
|
@@ -27954,11 +27968,11 @@ const observedAttrs$1 = [
|
|
|
27954
27968
|
|
|
27955
27969
|
const calendarUiAttrs = ['calendar-label-submit', 'calendar-label-cancel'];
|
|
27956
27970
|
|
|
27957
|
-
const BaseInputClass$
|
|
27971
|
+
const BaseInputClass$3 = createBaseInputClass({ componentName: componentName$c, baseSelector: 'div' });
|
|
27958
27972
|
|
|
27959
|
-
class RawCalendar extends BaseInputClass$
|
|
27973
|
+
class RawCalendar extends BaseInputClass$3 {
|
|
27960
27974
|
static get observedAttributes() {
|
|
27961
|
-
return [].concat(BaseInputClass$
|
|
27975
|
+
return [].concat(BaseInputClass$3.observedAttributes || [], observedAttrs$1, calendarUiAttrs);
|
|
27962
27976
|
}
|
|
27963
27977
|
|
|
27964
27978
|
// preview state epoch
|
|
@@ -28788,7 +28802,7 @@ const componentName$b = getComponentName$1('date-field');
|
|
|
28788
28802
|
// we set baseSelector to `vaadin-popover` as a temporary hack, so our portalMixin will
|
|
28789
28803
|
// be able to process this component's overlay. The whole process needs refactoring as soon as possible.
|
|
28790
28804
|
const BASE_SELECTOR = 'vaadin-popover';
|
|
28791
|
-
const BaseInputClass$
|
|
28805
|
+
const BaseInputClass$2 = createBaseInputClass({ componentName: componentName$b, baseSelector: BASE_SELECTOR });
|
|
28792
28806
|
|
|
28793
28807
|
const dateFieldAttrs = [
|
|
28794
28808
|
'format',
|
|
@@ -28801,7 +28815,7 @@ const dateFieldAttrs = [
|
|
|
28801
28815
|
const calendarAttrs = ['years-range', 'calendar-months', 'calendar-weekdays'];
|
|
28802
28816
|
const observedAttrs = [...dateFieldAttrs, ...calendarAttrs];
|
|
28803
28817
|
|
|
28804
|
-
class RawDateFieldClass extends BaseInputClass$
|
|
28818
|
+
class RawDateFieldClass extends BaseInputClass$2 {
|
|
28805
28819
|
epoch = '';
|
|
28806
28820
|
|
|
28807
28821
|
format = DEFAULT_FORMAT;
|
|
@@ -28839,7 +28853,7 @@ class RawDateFieldClass extends BaseInputClass$1 {
|
|
|
28839
28853
|
];
|
|
28840
28854
|
|
|
28841
28855
|
static get observedAttributes() {
|
|
28842
|
-
return [].concat(BaseInputClass$
|
|
28856
|
+
return [].concat(BaseInputClass$2.observedAttributes || [], observedAttrs);
|
|
28843
28857
|
}
|
|
28844
28858
|
|
|
28845
28859
|
constructor() {
|
|
@@ -30718,12 +30732,12 @@ const EMAIL_FIELD = 'descope-email-field';
|
|
|
30718
30732
|
const PHONE_FIELD = 'descope-phone-field';
|
|
30719
30733
|
const PHONE_INPUT_BOX_FIELD = 'descope-phone-input-box-field';
|
|
30720
30734
|
|
|
30721
|
-
const BaseClass$
|
|
30735
|
+
const BaseClass$1 = createBaseClass({
|
|
30722
30736
|
componentName: componentName$6,
|
|
30723
30737
|
baseSelector: 'div',
|
|
30724
30738
|
});
|
|
30725
30739
|
|
|
30726
|
-
class RawHybridField extends BaseClass$
|
|
30740
|
+
class RawHybridField extends BaseClass$1 {
|
|
30727
30741
|
#isReportedValidity = false;
|
|
30728
30742
|
|
|
30729
30743
|
#selectionStart;
|
|
@@ -31353,10 +31367,10 @@ const componentName$4 = getComponentName$1('hcaptcha');
|
|
|
31353
31367
|
|
|
31354
31368
|
const observedAttributes$1 = ['enabled', 'site-key'];
|
|
31355
31369
|
|
|
31356
|
-
const BaseInputClass = createBaseInputClass({ componentName: componentName$4, baseSelector: ':host > div' });
|
|
31357
|
-
class RawHcaptcha extends BaseInputClass {
|
|
31370
|
+
const BaseInputClass$1 = createBaseInputClass({ componentName: componentName$4, baseSelector: ':host > div' });
|
|
31371
|
+
class RawHcaptcha extends BaseInputClass$1 {
|
|
31358
31372
|
static get observedAttributes() {
|
|
31359
|
-
return observedAttributes$1.concat(BaseInputClass.observedAttributes || []);
|
|
31373
|
+
return observedAttributes$1.concat(BaseInputClass$1.observedAttributes || []);
|
|
31360
31374
|
}
|
|
31361
31375
|
|
|
31362
31376
|
attributeChangedCallback(attrName, oldValue, newValue) {
|
|
@@ -31645,13 +31659,19 @@ const componentName$3 = getComponentName$1('recaptcha');
|
|
|
31645
31659
|
|
|
31646
31660
|
const observedAttributes = ['enabled', 'site-key', 'action', 'enterprise', 'variant'];
|
|
31647
31661
|
|
|
31648
|
-
|
|
31662
|
+
// The runtime only validates elements carrying a `name` (querySelectorAll('*[name]')).
|
|
31663
|
+
const DEFAULT_FIELD_NAME = 'recaptcha';
|
|
31664
|
+
|
|
31665
|
+
const BaseInputClass = createBaseInputClass({
|
|
31649
31666
|
componentName: componentName$3,
|
|
31650
31667
|
baseSelector: ':host > div',
|
|
31651
31668
|
});
|
|
31652
|
-
class RawRecaptcha extends
|
|
31669
|
+
class RawRecaptcha extends BaseInputClass {
|
|
31670
|
+
/** The exact `name` this component wrote itself, or null if the name is not ours. */
|
|
31671
|
+
#ownedFieldName = null;
|
|
31672
|
+
|
|
31653
31673
|
static get observedAttributes() {
|
|
31654
|
-
return observedAttributes.concat(
|
|
31674
|
+
return observedAttributes.concat(BaseInputClass.observedAttributes || []);
|
|
31655
31675
|
}
|
|
31656
31676
|
|
|
31657
31677
|
attributeChangedCallback(attrName, oldValue, newValue) {
|
|
@@ -31662,6 +31682,7 @@ class RawRecaptcha extends BaseClass$1 {
|
|
|
31662
31682
|
}
|
|
31663
31683
|
|
|
31664
31684
|
if (attrName === 'variant') {
|
|
31685
|
+
this.#syncFormField();
|
|
31665
31686
|
this.updatePreview();
|
|
31666
31687
|
}
|
|
31667
31688
|
}
|
|
@@ -31677,7 +31698,7 @@ class RawRecaptcha extends BaseClass$1 {
|
|
|
31677
31698
|
}
|
|
31678
31699
|
|
|
31679
31700
|
displayRecaptcha() {
|
|
31680
|
-
if (this.
|
|
31701
|
+
if (this.isWidgetVariant) {
|
|
31681
31702
|
this.displayWidget();
|
|
31682
31703
|
} else {
|
|
31683
31704
|
this.displayDeprecated();
|
|
@@ -31772,6 +31793,31 @@ class RawRecaptcha extends BaseClass$1 {
|
|
|
31772
31793
|
super.init?.();
|
|
31773
31794
|
|
|
31774
31795
|
observeChildren$1(this, this.updatePreview.bind(this));
|
|
31796
|
+
// avoid any possible conflicts with the inner input element
|
|
31797
|
+
this.inputElement = this.recaptchaWidgetInputEle;
|
|
31798
|
+
this.recaptchaWidgetInputEle.getValidity = null;
|
|
31799
|
+
this.recaptchaWidgetInputEle.checkValidity = null;
|
|
31800
|
+
this.#syncFormField();
|
|
31801
|
+
}
|
|
31802
|
+
|
|
31803
|
+
/**
|
|
31804
|
+
* Only the widget variant is a form field — the others must not carry a name, or the screen
|
|
31805
|
+
* would submit an always-empty value under it.
|
|
31806
|
+
*/
|
|
31807
|
+
#syncFormField() {
|
|
31808
|
+
if (this.isWidgetVariant) {
|
|
31809
|
+
if (!this.getAttribute('name')) {
|
|
31810
|
+
this.setAttribute('name', DEFAULT_FIELD_NAME);
|
|
31811
|
+
this.#ownedFieldName = DEFAULT_FIELD_NAME;
|
|
31812
|
+
}
|
|
31813
|
+
} else if (this.#ownedFieldName && this.getAttribute('name') === this.#ownedFieldName) {
|
|
31814
|
+
this.removeAttribute('name');
|
|
31815
|
+
this.#ownedFieldName = null;
|
|
31816
|
+
}
|
|
31817
|
+
|
|
31818
|
+
// Refreshes the mixin's cached validity, which reportValidity answers from. Non-bubbling on
|
|
31819
|
+
// purpose: the flow must not read this as user input.
|
|
31820
|
+
this.dispatchEvent(new Event('change'));
|
|
31775
31821
|
}
|
|
31776
31822
|
|
|
31777
31823
|
updatePreview() {
|
|
@@ -31787,7 +31833,7 @@ class RawRecaptcha extends BaseClass$1 {
|
|
|
31787
31833
|
}
|
|
31788
31834
|
|
|
31789
31835
|
getValidity() {
|
|
31790
|
-
if (!this.
|
|
31836
|
+
if (!this.isWidgetVariant) {
|
|
31791
31837
|
return {};
|
|
31792
31838
|
}
|
|
31793
31839
|
|
|
@@ -31799,7 +31845,7 @@ class RawRecaptcha extends BaseClass$1 {
|
|
|
31799
31845
|
}
|
|
31800
31846
|
|
|
31801
31847
|
checkValidity() {
|
|
31802
|
-
if (!this.
|
|
31848
|
+
if (!this.isWidgetVariant) {
|
|
31803
31849
|
return true;
|
|
31804
31850
|
}
|
|
31805
31851
|
|
|
@@ -31826,7 +31872,7 @@ class RawRecaptcha extends BaseClass$1 {
|
|
|
31826
31872
|
return this.getAttribute('variant') || 'text';
|
|
31827
31873
|
}
|
|
31828
31874
|
|
|
31829
|
-
get
|
|
31875
|
+
get isWidgetVariant() {
|
|
31830
31876
|
return this.variant === 'widget';
|
|
31831
31877
|
}
|
|
31832
31878
|
|
|
@@ -31840,7 +31886,7 @@ class RawRecaptcha extends BaseClass$1 {
|
|
|
31840
31886
|
|
|
31841
31887
|
#toggleRecaptcha(enabled) {
|
|
31842
31888
|
this.renderRecaptcha(enabled);
|
|
31843
|
-
if (this.
|
|
31889
|
+
if (this.isWidgetVariant) {
|
|
31844
31890
|
// For the interactive widget, scripts are loaded/executed by the runtime (grecaptcha-v2 for the
|
|
31845
31891
|
// v2 checkbox, grecaptcha for an Enterprise key). This legacy v3/invisible path must be fully
|
|
31846
31892
|
// skipped — the runtime renders into #recaptcha-widget and fills #recaptcha-widget-input.
|