@authhero/widget 0.19.2 → 0.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.
Files changed (36) hide show
  1. package/dist/authhero-widget/authhero-widget.esm.js +1 -1
  2. package/dist/authhero-widget/index.esm.js +1 -1
  3. package/dist/authhero-widget/p-59cbb196.entry.js +1 -0
  4. package/dist/authhero-widget/{p-5hZ8Vbm9.js → p-BFP_5sHV.js} +1 -1
  5. package/dist/authhero-widget/p-a92fa18e.entry.js +1 -0
  6. package/dist/cjs/authhero-node.cjs.entry.js +431 -4
  7. package/dist/cjs/authhero-widget.cjs.entry.js +73 -5
  8. package/dist/cjs/authhero-widget.cjs.js +2 -2
  9. package/dist/cjs/{index-vX5cgLV-.js → index-CUBT14z-.js} +21 -0
  10. package/dist/cjs/index.cjs.js +1 -1
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/collection/components/authhero-node/authhero-node.css +74 -0
  13. package/dist/collection/components/authhero-node/authhero-node.js +201 -4
  14. package/dist/collection/components/authhero-widget/authhero-widget.css +2 -2
  15. package/dist/collection/components/authhero-widget/authhero-widget.js +73 -5
  16. package/dist/collection/utils/country-data.js +235 -0
  17. package/dist/components/authhero-node.js +1 -1
  18. package/dist/components/authhero-widget.js +1 -1
  19. package/dist/components/index.js +1 -1
  20. package/dist/components/{p-EokuR0qI.js → p-DpfoRsj0.js} +1 -1
  21. package/dist/components/p-_nTdqfom.js +1 -0
  22. package/dist/esm/authhero-node.entry.js +431 -4
  23. package/dist/esm/authhero-widget.entry.js +73 -5
  24. package/dist/esm/authhero-widget.js +3 -3
  25. package/dist/esm/{index-5hZ8Vbm9.js → index-BFP_5sHV.js} +21 -0
  26. package/dist/esm/index.js +1 -1
  27. package/dist/esm/loader.js +3 -3
  28. package/dist/types/components/authhero-node/authhero-node.d.ts +36 -0
  29. package/dist/types/components/authhero-widget/authhero-widget.d.ts +15 -1
  30. package/dist/types/utils/country-data.d.ts +23 -0
  31. package/hydrate/index.js +524 -8
  32. package/hydrate/index.mjs +524 -8
  33. package/package.json +2 -2
  34. package/dist/authhero-widget/p-18d0a438.entry.js +0 -1
  35. package/dist/authhero-widget/p-bb3657ce.entry.js +0 -1
  36. package/dist/components/p-NKUIiiOq.js +0 -1
@@ -303,6 +303,64 @@ input[type="date"].input-field+.input-label {
303
303
  text-decoration: underline;
304
304
  }
305
305
 
306
+ /* ==========================================================================
307
+ Phone Input - Country Code Selector
308
+ Part: phone-input-wrapper, country-select
309
+ ========================================================================== */
310
+
311
+ .phone-input-wrapper {
312
+ display: flex;
313
+ align-items: stretch;
314
+ gap: 0;
315
+ width: 100%;
316
+ }
317
+
318
+ .country-select {
319
+ flex-shrink: 0;
320
+ width: auto;
321
+ padding: 12px 8px;
322
+ font-size: var(--ah-font-size-body, 16px);
323
+ font-family: var(--ah-font-family, inherit);
324
+ border: 1px solid var(--ah-color-border, #c9cace);
325
+ border-right: none;
326
+ border-radius: var(--ah-border-radius-input, 4px) 0 0 var(--ah-border-radius-input, 4px);
327
+ background-color: var(--ah-color-surface, #fff);
328
+ color: var(--ah-color-text, #1e212a);
329
+ cursor: pointer;
330
+ appearance: none;
331
+ -webkit-appearance: none;
332
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
333
+ background-repeat: no-repeat;
334
+ background-position: right 6px center;
335
+ padding-right: 22px;
336
+ }
337
+
338
+ .country-select:focus {
339
+ outline: none;
340
+ border-color: var(--ah-color-primary, #635dff);
341
+ box-shadow: 0 0 0 1px var(--ah-color-primary, #635dff);
342
+ }
343
+
344
+ .country-select:disabled {
345
+ opacity: 0.5;
346
+ cursor: not-allowed;
347
+ }
348
+
349
+ .phone-input-wrapper .input-container {
350
+ flex: 1;
351
+ min-width: 0;
352
+ }
353
+
354
+ .phone-input-wrapper .input-field {
355
+ border-radius: 0 var(--ah-border-radius-input, 4px) var(--ah-border-radius-input, 4px) 0;
356
+ }
357
+
358
+ .phone-input-wrapper .input-label.floating,
359
+ .phone-input-wrapper .input-field:focus+.input-label,
360
+ .phone-input-wrapper .input-field:not(:placeholder-shown)+.input-label {
361
+ left: 8px;
362
+ }
363
+
306
364
  /* Social buttons container */
307
365
  .social-buttons {
308
366
  display: flex;
@@ -549,6 +607,22 @@ input[type="date"].input-field+.input-label {
549
607
  color: var(--ah-color-link, #635dff);
550
608
  }
551
609
 
610
+ /* Passwordless (login with code) link styling */
611
+ .rich-text .passwordless-link {
612
+ margin-top: 16px;
613
+ text-align: center;
614
+ font-size: 14px;
615
+ }
616
+
617
+ .rich-text .passwordless-link a {
618
+ color: var(--ah-color-link, #635dff);
619
+ text-decoration: var(--ah-link-decoration, none);
620
+ }
621
+
622
+ .rich-text .passwordless-link a:hover {
623
+ text-decoration: underline;
624
+ }
625
+
552
626
  /* Signup link styling */
553
627
  .rich-text .signup-link {
554
628
  margin-top: 16px;
@@ -1,4 +1,5 @@
1
1
  import { h } from "@stencil/core";
2
+ import { countries, getCountryByCode } from "../../utils/country-data";
2
3
  export class AuthheroNode {
3
4
  /**
4
5
  * The component configuration to render.
@@ -17,6 +18,23 @@ export class AuthheroNode {
17
18
  * Whether the password field is visible.
18
19
  */
19
20
  passwordVisible = false;
21
+ /**
22
+ * Selected country for TEL input with country selector.
23
+ */
24
+ selectedCountry = getCountryByCode("US");
25
+ /**
26
+ * Local phone number (without dial code) for TEL input.
27
+ */
28
+ localPhoneNumber = "";
29
+ /**
30
+ * Whether the country dropdown is open.
31
+ */
32
+ countryDropdownOpen = false;
33
+ /**
34
+ * Whether the TEL field is currently in email mode (allow_email config).
35
+ * When true, the value is emitted as-is without dial code prefix.
36
+ */
37
+ telEmailMode = false;
20
38
  /**
21
39
  * Emitted when a field value changes.
22
40
  */
@@ -25,6 +43,153 @@ export class AuthheroNode {
25
43
  * Emitted when a button is clicked.
26
44
  */
27
45
  buttonClick;
46
+ componentChanged() {
47
+ this.initCountryFromConfig();
48
+ this.initTelValue();
49
+ }
50
+ valueChanged() {
51
+ this.initTelValue();
52
+ }
53
+ componentWillLoad() {
54
+ this.initCountryFromConfig();
55
+ this.initTelValue();
56
+ }
57
+ initCountryFromConfig() {
58
+ if (this.component?.type === "TEL") {
59
+ const config = this.component.config;
60
+ const defaultCountry = config?.default_country;
61
+ if (defaultCountry) {
62
+ this.selectedCountry = getCountryByCode(defaultCountry);
63
+ }
64
+ // For allow_email mode, start in email/text mode (no country picker)
65
+ // until the user starts typing digits
66
+ if (config?.allow_email === true) {
67
+ this.telEmailMode = true;
68
+ }
69
+ }
70
+ }
71
+ /**
72
+ * Hydrate localPhoneNumber (and selectedCountry) from the effective value
73
+ * for TEL fields. The full value is stored as `{dialCode}{localNumber}`,
74
+ * e.g. "+15551234567".
75
+ */
76
+ initTelValue() {
77
+ if (this.component?.type !== "TEL")
78
+ return;
79
+ const config = this.component.config;
80
+ const allowEmail = config?.allow_email === true;
81
+ const fullValue = this.getEffectiveValue();
82
+ if (!fullValue) {
83
+ this.localPhoneNumber = "";
84
+ if (allowEmail) {
85
+ this.telEmailMode = true;
86
+ }
87
+ return;
88
+ }
89
+ // Try to match a country by dial code (longest match first)
90
+ if (fullValue.startsWith("+")) {
91
+ const sorted = [...countries].sort((a, b) => b.dialCode.length - a.dialCode.length);
92
+ for (const country of sorted) {
93
+ if (fullValue.startsWith(country.dialCode)) {
94
+ this.selectedCountry = country;
95
+ this.localPhoneNumber = fullValue.slice(country.dialCode.length);
96
+ if (allowEmail) {
97
+ this.telEmailMode = false;
98
+ }
99
+ return;
100
+ }
101
+ }
102
+ }
103
+ // No dial code match — check if it looks like an email or a phone number
104
+ this.localPhoneNumber = fullValue;
105
+ if (allowEmail) {
106
+ const looksLikePhone = /^[+\d]/.test(fullValue);
107
+ this.telEmailMode = !looksLikePhone;
108
+ }
109
+ }
110
+ handleCountryChange = (e) => {
111
+ const target = e.target;
112
+ this.selectedCountry = getCountryByCode(target.value);
113
+ // Re-emit the full phone number with new dial code
114
+ const fullNumber = this.localPhoneNumber
115
+ ? `${this.selectedCountry.dialCode}${this.localPhoneNumber}`
116
+ : "";
117
+ this.fieldChange.emit({ id: this.component.id, value: fullNumber });
118
+ };
119
+ /**
120
+ * Try to detect a dial code prefix in the raw input (e.g. "+46", "0046")
121
+ * and update selectedCountry accordingly. Returns the local number portion
122
+ * (after the dial code) if a match was found, or null if no match.
123
+ */
124
+ detectDialCodeFromInput(raw) {
125
+ // Normalise "00" international prefix to "+"
126
+ const normalized = raw.startsWith("00") ? "+" + raw.slice(2) : raw;
127
+ if (!normalized.startsWith("+"))
128
+ return null;
129
+ // Match longest dial code first
130
+ const sorted = [...countries].sort((a, b) => b.dialCode.length - a.dialCode.length);
131
+ for (const country of sorted) {
132
+ if (normalized.startsWith(country.dialCode)) {
133
+ this.selectedCountry = country;
134
+ return normalized.slice(country.dialCode.length);
135
+ }
136
+ }
137
+ return null;
138
+ }
139
+ handlePhoneInput = (e) => {
140
+ const target = e.target;
141
+ const value = target.value;
142
+ const config = this.component.config;
143
+ const allowEmail = config?.allow_email === true;
144
+ if (allowEmail) {
145
+ // Detect phone mode: value starts with digit or '+', and no '@'.
146
+ // When the field is empty, revert to neutral (email) mode so the
147
+ // country picker disappears and the user can start fresh.
148
+ const looksLikePhone = value.length > 0 && /^[+\d]/.test(value) && !value.includes("@");
149
+ this.telEmailMode = !looksLikePhone;
150
+ if (!this.telEmailMode) {
151
+ // Phone mode — first try dial code detection before stripping '+'
152
+ // so that typing +46 or 0046 can match a country
153
+ const dialLocal = this.detectDialCodeFromInput(value);
154
+ if (dialLocal !== null) {
155
+ // Dial code matched — strip it from the input and show only local part
156
+ const cleanedLocal = dialLocal.replace(/[^+\d\s\-()]/g, "").replace(/\+/g, "");
157
+ target.value = cleanedLocal;
158
+ this.localPhoneNumber = cleanedLocal;
159
+ const fullNumber = `${this.selectedCountry.dialCode}${cleanedLocal}`;
160
+ this.fieldChange.emit({ id: this.component.id, value: fullNumber });
161
+ }
162
+ else {
163
+ // No dial code — strip non-phone chars and '+' (picker provides the prefix)
164
+ const cleaned = value.replace(/[^+\d\s\-()]/g, "").replace(/\+/g, "");
165
+ if (cleaned !== value) {
166
+ target.value = cleaned;
167
+ }
168
+ this.localPhoneNumber = cleaned;
169
+ const fullNumber = cleaned
170
+ ? `${this.selectedCountry.dialCode}${cleaned}`
171
+ : "";
172
+ this.fieldChange.emit({ id: this.component.id, value: fullNumber });
173
+ }
174
+ }
175
+ else {
176
+ // Email or text — emit as-is
177
+ this.localPhoneNumber = value;
178
+ this.fieldChange.emit({ id: this.component.id, value });
179
+ }
180
+ return;
181
+ }
182
+ // Standard phone-only mode — strip '+' since the picker provides the prefix
183
+ const cleaned = value.replace(/[^\d\s\-()]/g, "");
184
+ if (cleaned !== value) {
185
+ target.value = cleaned;
186
+ }
187
+ this.localPhoneNumber = cleaned;
188
+ const fullNumber = cleaned
189
+ ? `${this.selectedCountry.dialCode}${cleaned}`
190
+ : "";
191
+ this.fieldChange.emit({ id: this.component.id, value: fullNumber });
192
+ };
28
193
  handleInput = (e) => {
29
194
  const target = e.target;
30
195
  this.fieldChange.emit({ id: this.component.id, value: target.value });
@@ -34,6 +199,16 @@ export class AuthheroNode {
34
199
  e.preventDefault();
35
200
  this.buttonClick.emit({ id: "submit", type: "submit", value: "next" });
36
201
  }
202
+ // In combined TEL+email mode, backspace on an empty field exits phone mode
203
+ if (e.key === "Backspace" && !this.telEmailMode) {
204
+ const target = e.target;
205
+ const config = this.component.config;
206
+ if (config?.allow_email === true && target.value.length === 0) {
207
+ this.telEmailMode = true;
208
+ this.localPhoneNumber = "";
209
+ this.fieldChange.emit({ id: this.component.id, value: "" });
210
+ }
211
+ }
37
212
  };
38
213
  handleCheckbox = (e) => {
39
214
  const target = e.target;
@@ -206,8 +381,17 @@ export class AuthheroNode {
206
381
  renderTelField(component) {
207
382
  const inputId = `input-${component.id}`;
208
383
  const errors = this.getErrors();
209
- const effectiveValue = this.getEffectiveValue();
210
- return (h("div", { class: "input-wrapper", part: "input-wrapper" }, this.renderLabel(component.label, inputId, component.required), h("input", { id: inputId, class: this.getInputFieldClass(errors.length > 0), part: "input", type: "tel", name: component.id, value: effectiveValue ?? "", placeholder: component.config?.placeholder, required: component.required, disabled: this.disabled, autocomplete: "tel", onInput: this.handleInput, onKeyDown: this.handleKeyDown }), this.renderErrors(), errors.length === 0 && this.renderHint(component.hint)));
384
+ const config = component.config;
385
+ const allowEmail = config?.allow_email === true;
386
+ const hasValue = this.localPhoneNumber.length > 0;
387
+ // In allow_email mode, show the country picker only when the user is typing a phone number
388
+ const showCountryPicker = allowEmail ? !this.telEmailMode : true;
389
+ // Calculate dynamic width: flag + space + dial code + small padding for dropdown arrow
390
+ const selectedText = `${this.selectedCountry.flag} ${this.selectedCountry.dialCode}`;
391
+ const selectWidth = `${selectedText.length + 1}ch`;
392
+ const countrySelect = showCountryPicker ? (h("select", { class: "country-select", part: "country-select", style: { width: selectWidth, minWidth: "0" }, onChange: this.handleCountryChange, disabled: this.disabled, "aria-label": "Country code" }, countries.map((country) => (h("option", { value: country.code, selected: this.selectedCountry.code === country.code, key: country.code }, country.flag, " ", country.dialCode))))) : null;
393
+ const inputType = allowEmail && this.telEmailMode ? "text" : "tel";
394
+ return (h("div", { class: "input-wrapper", part: "input-wrapper" }, h("div", { class: showCountryPicker ? "phone-input-wrapper" : "", part: "phone-input-wrapper" }, countrySelect, h("div", { class: "input-container" }, h("input", { id: inputId, class: this.getInputFieldClass(errors.length > 0), part: "input", type: inputType, name: component.id, "data-input-name": component.id, value: this.localPhoneNumber, placeholder: " ", required: component.required, disabled: this.disabled, autocomplete: allowEmail && this.telEmailMode ? "email" : "tel-national", onInput: this.handlePhoneInput, onKeyDown: this.handleKeyDown }), this.renderFloatingLabel(component.label, inputId, component.required, hasValue))), this.renderErrors(), errors.length === 0 && this.renderHint(component.hint)));
211
395
  }
212
396
  renderUrlField(component) {
213
397
  const inputId = `input-${component.id}`;
@@ -378,7 +562,7 @@ export class AuthheroNode {
378
562
  "mutable": false,
379
563
  "complexType": {
380
564
  "original": "FormComponent | RuntimeComponent",
381
- "resolved": "{ type: \"AUTH0_VERIFIABLE_CREDENTIALS\"; id: string; config: { credential_type?: string | undefined; }; visible: boolean; required?: boolean | undefined; category?: \"WIDGET\" | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; } | { type: \"AUTH0_VERIFIABLE_CREDENTIALS\"; id: string; config: { credential_type?: string | undefined; }; visible: boolean; required?: boolean | undefined; category?: \"WIDGET\" | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"BOOLEAN\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { default_value?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"BOOLEAN\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { default_value?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"CARDS\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { options?: { value: string; label: string; description?: string | undefined; image?: string | undefined; }[] | undefined; multi_select?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"CARDS\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { options?: { value: string; label: string; description?: string | undefined; image?: string | undefined; }[] | undefined; multi_select?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"CHOICE\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { options?: { value: string; label: string; }[] | undefined; default_value?: string | string[] | undefined; display?: \"radio\" | \"checkbox\" | undefined; multiple?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"CHOICE\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { options?: { value: string; label: string; }[] | undefined; default_value?: string | string[] | undefined; display?: \"radio\" | \"checkbox\" | undefined; multiple?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"CUSTOM\"; id: string; config: { code?: string | undefined; schema?: Record<string, any> | undefined; component?: string | undefined; props?: Record<string, any> | undefined; }; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"CUSTOM\"; id: string; config: { code?: string | undefined; schema?: Record<string, any> | undefined; component?: string | undefined; props?: Record<string, any> | undefined; }; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"DATE\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { format?: string | undefined; min?: string | undefined; max?: string | undefined; default_value?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"DATE\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { format?: string | undefined; min?: string | undefined; max?: string | undefined; default_value?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"DIVIDER\"; id: string; visible: boolean; category?: \"BLOCK\" | undefined; config?: { text?: string | undefined; } | undefined; order?: number | undefined; } | { type: \"DIVIDER\"; id: string; visible: boolean; category?: \"BLOCK\" | undefined; config?: { text?: string | undefined; } | undefined; order?: number | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"DROPDOWN\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { options?: { value: string; label: string; }[] | undefined; placeholder?: string | undefined; default_value?: string | string[] | undefined; multiple?: boolean | undefined; searchable?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"DROPDOWN\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { options?: { value: string; label: string; }[] | undefined; placeholder?: string | undefined; default_value?: string | string[] | undefined; multiple?: boolean | undefined; searchable?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"EMAIL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; default_value?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"EMAIL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; default_value?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"FILE\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { multiple?: boolean | undefined; accept?: string | undefined; max_size?: number | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"FILE\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { multiple?: boolean | undefined; accept?: string | undefined; max_size?: number | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"GMAPS_ADDRESS\"; id: string; config: { api_key?: string | undefined; }; visible: boolean; required?: boolean | undefined; category?: \"WIDGET\" | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; } | { type: \"GMAPS_ADDRESS\"; id: string; config: { api_key?: string | undefined; }; visible: boolean; required?: boolean | undefined; category?: \"WIDGET\" | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"HTML\"; id: string; visible: boolean; category?: \"BLOCK\" | undefined; config?: { content?: string | undefined; } | undefined; order?: number | undefined; } | { type: \"HTML\"; id: string; visible: boolean; category?: \"BLOCK\" | undefined; config?: { content?: string | undefined; } | undefined; order?: number | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"IMAGE\"; id: string; visible: boolean; category?: \"BLOCK\" | undefined; config?: { src?: string | undefined; alt?: string | undefined; width?: number | undefined; height?: number | undefined; } | undefined; order?: number | undefined; } | { type: \"IMAGE\"; id: string; visible: boolean; category?: \"BLOCK\" | undefined; config?: { src?: string | undefined; alt?: string | undefined; width?: number | undefined; height?: number | undefined; } | undefined; order?: number | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"JUMP_BUTTON\"; id: string; config: { text?: string | undefined; target_step?: string | undefined; }; visible: boolean; category?: \"BLOCK\" | undefined; order?: number | undefined; } | { type: \"JUMP_BUTTON\"; id: string; config: { text?: string | undefined; target_step?: string | undefined; }; visible: boolean; category?: \"BLOCK\" | undefined; order?: number | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"LEGAL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { text: string; html?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"LEGAL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { text: string; html?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"NEXT_BUTTON\"; id: string; config: { text?: string | undefined; }; visible: boolean; category?: \"BLOCK\" | undefined; order?: number | undefined; } | { type: \"NEXT_BUTTON\"; id: string; config: { text?: string | undefined; }; visible: boolean; category?: \"BLOCK\" | undefined; order?: number | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"NUMBER\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; min?: number | undefined; max?: number | undefined; default_value?: string | undefined; step?: number | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"NUMBER\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; min?: number | undefined; max?: number | undefined; default_value?: string | undefined; step?: number | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"PASSWORD\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; min_length?: number | undefined; default_value?: string | undefined; show_toggle?: boolean | undefined; forgot_password_link?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"PASSWORD\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; min_length?: number | undefined; default_value?: string | undefined; show_toggle?: boolean | undefined; forgot_password_link?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"PAYMENT\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { provider?: string | undefined; currency?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"PAYMENT\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { provider?: string | undefined; currency?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"PREVIOUS_BUTTON\"; id: string; config: { text?: string | undefined; }; visible: boolean; category?: \"BLOCK\" | undefined; order?: number | undefined; } | { type: \"PREVIOUS_BUTTON\"; id: string; config: { text?: string | undefined; }; visible: boolean; category?: \"BLOCK\" | undefined; order?: number | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"RECAPTCHA\"; id: string; config: { site_key?: string | undefined; }; visible: boolean; required?: boolean | undefined; category?: \"WIDGET\" | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; } | { type: \"RECAPTCHA\"; id: string; config: { site_key?: string | undefined; }; visible: boolean; required?: boolean | undefined; category?: \"WIDGET\" | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"RESEND_BUTTON\"; id: string; config: { text?: string | undefined; resend_action?: string | undefined; }; visible: boolean; category?: \"BLOCK\" | undefined; order?: number | undefined; } | { type: \"RESEND_BUTTON\"; id: string; config: { text?: string | undefined; resend_action?: string | undefined; }; visible: boolean; category?: \"BLOCK\" | undefined; order?: number | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"RICH_TEXT\"; id: string; visible: boolean; category?: \"BLOCK\" | undefined; config?: { content?: string | undefined; } | undefined; order?: number | undefined; } | { type: \"RICH_TEXT\"; id: string; visible: boolean; category?: \"BLOCK\" | undefined; config?: { content?: string | undefined; } | undefined; order?: number | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"SOCIAL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { providers?: string[] | undefined; provider_details?: { name: string; icon_url?: string | undefined; display_name?: string | undefined; strategy?: string | undefined; }[] | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"SOCIAL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { providers?: string[] | undefined; provider_details?: { name: string; icon_url?: string | undefined; display_name?: string | undefined; strategy?: string | undefined; }[] | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"TEL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; default_value?: string | undefined; default_country?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"TEL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; default_value?: string | undefined; default_country?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"TEXT\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; max_length?: number | undefined; default_value?: string | undefined; multiline?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"TEXT\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; max_length?: number | undefined; default_value?: string | undefined; multiline?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"URL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; default_value?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"URL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; default_value?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"info\" | \"error\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; }",
565
+ "resolved": "{ type: \"AUTH0_VERIFIABLE_CREDENTIALS\"; id: string; config: { credential_type?: string | undefined; }; visible: boolean; required?: boolean | undefined; category?: \"WIDGET\" | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; } | { type: \"AUTH0_VERIFIABLE_CREDENTIALS\"; id: string; config: { credential_type?: string | undefined; }; visible: boolean; required?: boolean | undefined; category?: \"WIDGET\" | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"BOOLEAN\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { default_value?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"BOOLEAN\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { default_value?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"CARDS\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { options?: { value: string; label: string; description?: string | undefined; image?: string | undefined; }[] | undefined; multi_select?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"CARDS\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { options?: { value: string; label: string; description?: string | undefined; image?: string | undefined; }[] | undefined; multi_select?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"CHOICE\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { options?: { value: string; label: string; }[] | undefined; default_value?: string | string[] | undefined; display?: \"radio\" | \"checkbox\" | undefined; multiple?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"CHOICE\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { options?: { value: string; label: string; }[] | undefined; default_value?: string | string[] | undefined; display?: \"radio\" | \"checkbox\" | undefined; multiple?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"CUSTOM\"; id: string; config: { code?: string | undefined; schema?: Record<string, any> | undefined; component?: string | undefined; props?: Record<string, any> | undefined; }; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"CUSTOM\"; id: string; config: { code?: string | undefined; schema?: Record<string, any> | undefined; component?: string | undefined; props?: Record<string, any> | undefined; }; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"DATE\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { format?: string | undefined; min?: string | undefined; max?: string | undefined; default_value?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"DATE\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { format?: string | undefined; min?: string | undefined; max?: string | undefined; default_value?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"DIVIDER\"; id: string; visible: boolean; category?: \"BLOCK\" | undefined; config?: { text?: string | undefined; } | undefined; order?: number | undefined; } | { type: \"DIVIDER\"; id: string; visible: boolean; category?: \"BLOCK\" | undefined; config?: { text?: string | undefined; } | undefined; order?: number | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"DROPDOWN\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { options?: { value: string; label: string; }[] | undefined; placeholder?: string | undefined; default_value?: string | string[] | undefined; multiple?: boolean | undefined; searchable?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"DROPDOWN\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { options?: { value: string; label: string; }[] | undefined; placeholder?: string | undefined; default_value?: string | string[] | undefined; multiple?: boolean | undefined; searchable?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"EMAIL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; default_value?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"EMAIL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; default_value?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"FILE\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { multiple?: boolean | undefined; accept?: string | undefined; max_size?: number | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"FILE\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { multiple?: boolean | undefined; accept?: string | undefined; max_size?: number | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"GMAPS_ADDRESS\"; id: string; config: { api_key?: string | undefined; }; visible: boolean; required?: boolean | undefined; category?: \"WIDGET\" | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; } | { type: \"GMAPS_ADDRESS\"; id: string; config: { api_key?: string | undefined; }; visible: boolean; required?: boolean | undefined; category?: \"WIDGET\" | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"HTML\"; id: string; visible: boolean; category?: \"BLOCK\" | undefined; config?: { content?: string | undefined; } | undefined; order?: number | undefined; } | { type: \"HTML\"; id: string; visible: boolean; category?: \"BLOCK\" | undefined; config?: { content?: string | undefined; } | undefined; order?: number | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"IMAGE\"; id: string; visible: boolean; category?: \"BLOCK\" | undefined; config?: { src?: string | undefined; alt?: string | undefined; width?: number | undefined; height?: number | undefined; } | undefined; order?: number | undefined; } | { type: \"IMAGE\"; id: string; visible: boolean; category?: \"BLOCK\" | undefined; config?: { src?: string | undefined; alt?: string | undefined; width?: number | undefined; height?: number | undefined; } | undefined; order?: number | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"JUMP_BUTTON\"; id: string; config: { text?: string | undefined; target_step?: string | undefined; }; visible: boolean; category?: \"BLOCK\" | undefined; order?: number | undefined; } | { type: \"JUMP_BUTTON\"; id: string; config: { text?: string | undefined; target_step?: string | undefined; }; visible: boolean; category?: \"BLOCK\" | undefined; order?: number | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"LEGAL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { text: string; html?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"LEGAL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { text: string; html?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"NEXT_BUTTON\"; id: string; config: { text?: string | undefined; }; visible: boolean; category?: \"BLOCK\" | undefined; order?: number | undefined; } | { type: \"NEXT_BUTTON\"; id: string; config: { text?: string | undefined; }; visible: boolean; category?: \"BLOCK\" | undefined; order?: number | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"NUMBER\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; min?: number | undefined; max?: number | undefined; default_value?: string | undefined; step?: number | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"NUMBER\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; min?: number | undefined; max?: number | undefined; default_value?: string | undefined; step?: number | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"PASSWORD\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; min_length?: number | undefined; default_value?: string | undefined; show_toggle?: boolean | undefined; forgot_password_link?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"PASSWORD\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; min_length?: number | undefined; default_value?: string | undefined; show_toggle?: boolean | undefined; forgot_password_link?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"PAYMENT\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { provider?: string | undefined; currency?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"PAYMENT\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { provider?: string | undefined; currency?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"PREVIOUS_BUTTON\"; id: string; config: { text?: string | undefined; }; visible: boolean; category?: \"BLOCK\" | undefined; order?: number | undefined; } | { type: \"PREVIOUS_BUTTON\"; id: string; config: { text?: string | undefined; }; visible: boolean; category?: \"BLOCK\" | undefined; order?: number | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"RECAPTCHA\"; id: string; config: { site_key?: string | undefined; }; visible: boolean; required?: boolean | undefined; category?: \"WIDGET\" | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; } | { type: \"RECAPTCHA\"; id: string; config: { site_key?: string | undefined; }; visible: boolean; required?: boolean | undefined; category?: \"WIDGET\" | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"RESEND_BUTTON\"; id: string; config: { text?: string | undefined; resend_action?: string | undefined; }; visible: boolean; category?: \"BLOCK\" | undefined; order?: number | undefined; } | { type: \"RESEND_BUTTON\"; id: string; config: { text?: string | undefined; resend_action?: string | undefined; }; visible: boolean; category?: \"BLOCK\" | undefined; order?: number | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"RICH_TEXT\"; id: string; visible: boolean; category?: \"BLOCK\" | undefined; config?: { content?: string | undefined; } | undefined; order?: number | undefined; } | { type: \"RICH_TEXT\"; id: string; visible: boolean; category?: \"BLOCK\" | undefined; config?: { content?: string | undefined; } | undefined; order?: number | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"SOCIAL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { providers?: string[] | undefined; provider_details?: { name: string; icon_url?: string | undefined; display_name?: string | undefined; strategy?: string | undefined; }[] | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"SOCIAL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { providers?: string[] | undefined; provider_details?: { name: string; icon_url?: string | undefined; display_name?: string | undefined; strategy?: string | undefined; }[] | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"TEL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; default_value?: string | undefined; default_country?: string | undefined; allow_email?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"TEL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; default_value?: string | undefined; default_country?: string | undefined; allow_email?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"TEXT\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; max_length?: number | undefined; default_value?: string | undefined; multiline?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"TEXT\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; max_length?: number | undefined; default_value?: string | undefined; multiline?: boolean | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"URL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; default_value?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } | { type: \"URL\"; id: string; visible: boolean; required?: boolean | undefined; category?: \"FIELD\" | undefined; config?: { placeholder?: string | undefined; default_value?: string | undefined; } | undefined; sensitive?: boolean | undefined; label?: string | undefined; order?: number | undefined; hint?: string | undefined; messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; } & { messages?: { type: \"error\" | \"info\" | \"success\" | \"warning\"; text: string; id?: number | undefined; }[] | undefined; }",
382
566
  "references": {
383
567
  "FormComponent": {
384
568
  "location": "import",
@@ -444,7 +628,11 @@ export class AuthheroNode {
444
628
  }
445
629
  static get states() {
446
630
  return {
447
- "passwordVisible": {}
631
+ "passwordVisible": {},
632
+ "selectedCountry": {},
633
+ "localPhoneNumber": {},
634
+ "countryDropdownOpen": {},
635
+ "telEmailMode": {}
448
636
  };
449
637
  }
450
638
  static get events() {
@@ -480,4 +668,13 @@ export class AuthheroNode {
480
668
  }
481
669
  }];
482
670
  }
671
+ static get watchers() {
672
+ return [{
673
+ "propName": "component",
674
+ "methodName": "componentChanged"
675
+ }, {
676
+ "propName": "value",
677
+ "methodName": "valueChanged"
678
+ }];
679
+ }
483
680
  }
@@ -9,7 +9,7 @@
9
9
  :host {
10
10
  display: block;
11
11
  font-family: var(--ah-font-family, 'ulp-font', -apple-system, BlinkMacSystemFont, Roboto, Helvetica, sans-serif);
12
- font-size: var(--ah-font-size-base, 14px);
12
+ font-size: var(--ah-font-size-base, 16px);
13
13
  line-height: var(--ah-line-height-base, 1.5);
14
14
  color: var(--ah-color-text, #1e212a);
15
15
  -webkit-font-smoothing: antialiased;
@@ -83,7 +83,7 @@
83
83
  }
84
84
 
85
85
  .description {
86
- font-size: var(--ah-font-size-description, 14px);
86
+ font-size: var(--ah-font-size-subtitle, 16px);
87
87
  text-align: var(--ah-title-align, center);
88
88
  margin: var(--ah-description-margin, 0 0 8px);
89
89
  color: var(--ah-color-text, #1e212a);