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