@ptcwebops/ptcw-design 6.3.27 → 6.3.28

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 (32) hide show
  1. package/dist/{esm/global-c58db4a9.js → cjs/global-418c14b4.js} +8 -1
  2. package/dist/cjs/loader.cjs.js +3 -2
  3. package/dist/cjs/ptc-form-checkbox_2.cjs.entry.js +15 -15
  4. package/dist/cjs/ptc-multi-select_2.cjs.entry.js +1 -1
  5. package/dist/cjs/ptcw-design.cjs.js +3 -2
  6. package/dist/cjs/{validation-messages-33a4f26b.js → validation-messages-f1d373e7.js} +48 -2
  7. package/dist/collection/components/ptc-textfield/ptc-textfield.js +33 -14
  8. package/dist/collection/global/global.js +4 -0
  9. package/dist/collection/utils/validation-messages.js +49 -2
  10. package/dist/custom-elements/index.js +187 -139
  11. package/dist/{cjs/global-92142fb4.js → esm/global-1a5f28d5.js} +5 -2
  12. package/dist/esm/loader.js +3 -2
  13. package/dist/esm/ptc-form-checkbox_2.entry.js +15 -15
  14. package/dist/esm/ptc-multi-select_2.entry.js +1 -1
  15. package/dist/esm/ptcw-design.js +3 -2
  16. package/dist/esm/{validation-messages-adbb6518.js → validation-messages-1379b825.js} +48 -3
  17. package/dist/ptcw-design/p-0efedf59.js +1 -0
  18. package/dist/ptcw-design/{p-18a5a338.js → p-3b9fbbaa.js} +1 -1
  19. package/dist/ptcw-design/{p-b963ec8c.entry.js → p-87960cbf.entry.js} +3 -3
  20. package/dist/ptcw-design/{p-4737a0f6.entry.js → p-c6117274.entry.js} +1 -1
  21. package/dist/ptcw-design/ptcw-design.esm.js +1 -1
  22. package/dist/types/components/ptc-form-checkbox/ptc-form-checkbox.d.ts +1 -1
  23. package/dist/types/components/ptc-multi-select/ptc-multi-select.d.ts +1 -1
  24. package/dist/types/components/ptc-select/ptc-select.d.ts +1 -1
  25. package/dist/types/components/ptc-textfield/ptc-textfield.d.ts +2 -2
  26. package/dist/types/components.d.ts +1 -0
  27. package/dist/types/utils/validation-messages.d.ts +4 -123
  28. package/package.json +1 -1
  29. package/readme.md +1 -1
  30. package/dist/ptcw-design/p-a36f147a.js +0 -1
  31. package/dist/types/components/ptc-mobile-select/mobile-select/dist/mobile-select.d.ts +0 -209
  32. package/dist/types/utils/eloqua.d.ts +0 -9
@@ -23,10 +23,181 @@ class PTCLogger {
23
23
  }
24
24
  }
25
25
  // Singleton
26
- const ptcLogger = new PTCLogger();
26
+ const ptcLogger$1 = new PTCLogger();
27
+
28
+ // 1. Hardcoded fallback messages
29
+ const fallbackValidationMessages = {
30
+ de: {
31
+ required: 'Dieses Feld ist erforderlich.',
32
+ select: 'Bitte wählen Sie einen Wert.',
33
+ firstname: 'Bitte überprüfen Sie Ihren Vornamen.',
34
+ lastname: 'Bitte überprüfen Sie Ihren Nachnamen.',
35
+ validemail: 'Bitte geben Sie eine gültige E-Mail-Adresse ein.',
36
+ email: 'Bitte geben Sie eine gültige E-Mail-Adresse ein.',
37
+ companyemail: 'Bitte geben Sie eine Firmen-E-Mail-Adresse ein.',
38
+ tel: 'Telefonnummer ist erforderlich.',
39
+ validtel: 'Bitte geben Sie eine gültige Telefonnummer ein.',
40
+ confirmemail: "E-Mail-Adressen müssen übereinstimmen."
41
+ },
42
+ en: {
43
+ required: 'This field is required.',
44
+ select: 'Please select a value.',
45
+ firstname: 'Please check your firstname.',
46
+ lastname: 'Please check your lastname.',
47
+ validemail: 'Please enter a valid email.',
48
+ email: 'Email is required.',
49
+ companyemail: 'Please enter a company email.',
50
+ tel: 'Telephone number is required.',
51
+ validtel: 'Please enter a valid telephone number',
52
+ confirmemail: 'Email addresses must match.'
53
+ },
54
+ fr: {
55
+ required: 'Ce champ est obligatoire.',
56
+ select: 'Veuillez sélectionner une valeur.',
57
+ firstname: 'Veuillez vérifier votre prénom.',
58
+ lastname: 'Veuillez vérifier votre nom de famille.',
59
+ validemail: 'Veuillez saisir une adresse e-mail valide.',
60
+ email: 'Adresse e-mail requise.',
61
+ companyemail: 'Veuillez saisir une adresse e-mail professionnelle.',
62
+ tel: 'Numéro de téléphone requis.',
63
+ validtel: 'Veuillez saisir un numéro de téléphone valide.',
64
+ confirmemail: 'Les adresses e-mail doivent correspondre.'
65
+ },
66
+ ko: {
67
+ required: '이 필드는 필수입니다.',
68
+ select: '값을 선택해 주세요.',
69
+ firstname: '이름을 확인해 주세요.',
70
+ lastname: '성을 확인해 주세요.',
71
+ validemail: '유효한 이메일 주소를 입력해 주세요.',
72
+ email: '이메일 주소가 필요합니다.',
73
+ companyemail: '회사 이메일을 입력해 주세요.',
74
+ tel: '전화번호가 필요합니다.',
75
+ validtel: '유효한 전화번호를 입력해 주세요.',
76
+ confirmemail: "이메일 주소가 일치해야 합니다"
77
+ },
78
+ pt: {
79
+ required: 'Este campo é obrigatório.',
80
+ select: 'Por favor, selecione um valor.',
81
+ firstname: 'Por favor, verifique seu primeiro nome.',
82
+ lastname: 'Por favor, verifique seu sobrenome.',
83
+ validemail: 'Por favor, insira um endereço de e-mail válido.',
84
+ email: 'Endereço de e-mail é obrigatório.',
85
+ companyemail: 'Por favor, insira um e-mail da empresa.',
86
+ tel: 'Número de telefone é obrigatório.',
87
+ validtel: 'Por favor, insira um número de telefone válido.',
88
+ confirmemail: 'Os endereços de e-mail devem corresponder.'
89
+ },
90
+ cn: {
91
+ required: '此字段为必填项。',
92
+ select: '请选择一个值。',
93
+ firstname: '请检查您的名字。',
94
+ lastname: '请检查您的姓氏。',
95
+ validemail: '请输入有效的电子邮件地址。',
96
+ email: '需要电子邮件地址。',
97
+ companyemail: '请输入公司电子邮件。',
98
+ tel: '需要电话号码。',
99
+ validtel: '请输入有效的电话号码。',
100
+ confirmemail: '电子邮件地址必须匹配。'
101
+ },
102
+ tw: {
103
+ required: '此欄位為必填。',
104
+ select: '請選擇一個值。',
105
+ firstname: '請檢查您的名字。',
106
+ lastname: '請檢查您的姓氏。',
107
+ validemail: '請輸入有效的電子郵件地址。',
108
+ email: '需要電子郵件地址。',
109
+ companyemail: '請輸入公司電子郵件。',
110
+ tel: '需要電話號碼。',
111
+ validtel: '請輸入有效的電話號碼。',
112
+ confirmemail: '電子郵件地址必須匹配。'
113
+ },
114
+ ja: {
115
+ required: 'このフィールドは必須です。',
116
+ select: '値を選択してください。',
117
+ firstname: '名前を確認してください。',
118
+ lastname: '苗字を確認してください。',
119
+ validemail: '有効なメールアドレスを入力してください。',
120
+ email: 'メールアドレスが必要です。',
121
+ companyemail: '会社のメールアドレスを入力してください。',
122
+ tel: '電話番号が必要です。',
123
+ validtel: '有効な電話番号を入力してください。',
124
+ confirmemail: 'メールアドレスが一致する必要があります。'
125
+ },
126
+ it: {
127
+ required: 'Questo campo è obbligatorio.',
128
+ select: 'Si prega di selezionare un valore.',
129
+ firstname: 'Si prega di controllare il proprio nome.',
130
+ lastname: 'Si prega di controllare il proprio cognome.',
131
+ validemail: 'Si prega di inserire un indirizzo email valido.',
132
+ email: "L'indirizzo email è richiesto.",
133
+ companyemail: "Si prega di inserire un'email aziendale.",
134
+ tel: 'È richiesto un numero di telefono.',
135
+ validtel: 'Si prega di inserire un numero di telefono valido.',
136
+ confirmemail: 'Gli indirizzi email devono corrispondere.'
137
+ },
138
+ es: {
139
+ required: 'Por favor introduce un valor.',
140
+ select: 'Por favor seleccione un valor.',
141
+ firstname: 'Por favor verifique su nombre.',
142
+ lastname: 'Por favor verifique su apellido.',
143
+ validemail: 'Por favor introduzca un correo válido.',
144
+ email: "Se requiere un correo electrónico.",
145
+ companyemail: "Por favor introduzca un correo de empresa.",
146
+ tel: 'Se requiere un número de teléfono.',
147
+ validtel: 'Por favor introduzca un número de teléfono válido.',
148
+ confirmemail: 'Los correos electrónicos deben coincidir.'
149
+ }
150
+ };
151
+ // 2. Remote messages (fetched from API)
152
+ let remoteValidationMessages = null;
153
+ let messagesLoaded = false;
154
+ // 3. Load messages from API
155
+ async function loadValidationMessages() {
156
+ if (messagesLoaded)
157
+ return;
158
+ try {
159
+ const apiUrl = `${window.location.origin}/api/forms/validation-messages`;
160
+ const response = await fetch(apiUrl);
161
+ if (!response.ok) {
162
+ ptcLogger.warn(`Validation API returned status ${response.status}`);
163
+ return;
164
+ }
165
+ const data = await response.json();
166
+ if (data && Object.keys(data).length > 0) {
167
+ remoteValidationMessages = data;
168
+ }
169
+ else {
170
+ ptcLogger.warn('Validation API returned empty data, using fallback messages');
171
+ }
172
+ }
173
+ catch (error) {
174
+ ptcLogger.error('Error fetching validation messages:', error);
175
+ }
176
+ finally {
177
+ messagesLoaded = true;
178
+ }
179
+ }
180
+ // 4. Optional direct getter (used if needed elsewhere)
181
+ function getValidationMessageText(type, lang = 'en') {
182
+ var _a, _b, _c, _d;
183
+ return ((_d = (_b = (_a = remoteValidationMessages === null || remoteValidationMessages === void 0 ? void 0 : remoteValidationMessages[lang]) === null || _a === void 0 ? void 0 : _a[type]) !== null && _b !== void 0 ? _b : (_c = fallbackValidationMessages === null || fallbackValidationMessages === void 0 ? void 0 : fallbackValidationMessages[lang]) === null || _c === void 0 ? void 0 : _c[type]) !== null && _d !== void 0 ? _d : '');
184
+ }
185
+ // 5. Proxy to allow usage like: ValidationMessages[lang][type]
186
+ const ValidationMessages = new Proxy({}, {
187
+ get(_, lang) {
188
+ return new Proxy({}, {
189
+ get(_, type) {
190
+ return getValidationMessageText(type, lang);
191
+ }
192
+ });
193
+ }
194
+ });
27
195
 
28
196
  // src/global/global.ts
29
- globalThis.ptcLogger = ptcLogger;
197
+ globalThis.ptcLogger = ptcLogger$1;
198
+ loadValidationMessages()
199
+ .then(() => { var _a; return (_a = ptcLogger$1 === null || ptcLogger$1 === void 0 ? void 0 : ptcLogger$1.info) === null || _a === void 0 ? void 0 : _a.call(ptcLogger$1, 'Validation messages loaded successfully'); })
200
+ .catch((err) => { var _a; return (_a = ptcLogger$1 === null || ptcLogger$1 === void 0 ? void 0 : ptcLogger$1.error) === null || _a === void 0 ? void 0 : _a.call(ptcLogger$1, 'Failed to load validation messages', err); });
30
201
 
31
202
  const academicFormTestCss = "h1,h2,h3,h4,h5,h6,p,ul,li,ptc-subnav,ptc-tab-list,ptc-link,ptc-square-card,.hyphenate-text,ptc-footer{word-break:break-word;hyphens:manual;-webkit-hyphens:manual;-moz-hyphens:manual;-ms-hyphens:manual}@supports (hyphenate-limit-chars: 12 3 3){h1,h2,h3,h4,h5,h6,p,ul,li,ptc-subnav,ptc-tab-list,ptc-link,ptc-square-card,.hyphenate-text,ptc-footer{hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;hyphenate-limit-chars:12 3 3;hyphenate-limit-lines:2;hyphenate-limit-last:always;hyphenate-limit-zone:6%;-webkit-hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;-webkit-hyphenate-limit-chars:12 3 3;-webkit-hyphenate-limit-lines:2;-moz-hyphens:auto;-moz-hyphenate-limit-chars:12 3 3;-moz-hyphenate-limit-lines:2;-ms-hyphens:auto;-ms-hyphenate-limit-chars:12 3 3;-ms-hyphenate-limit-lines:2}}:host{display:block}.form-wrapper{width:433px;display:flex;border-radius:3px;background:#FFF;box-shadow:0px 2px 6px 0px rgba(0, 0, 0, 0.16);flex-direction:column;align-items:center;padding:24px 0px}.form-wrapper>form{max-width:277px}.form-wrapper>ptc-button{align-items:center}.form-wrapper .ptc-label{display:block;font-size:var(--ptc-font-size-x-small);font-weight:var(--ptc-font-weight-bold);line-height:normal;margin-bottom:var(--ptc-element-spacing-04);position:relative;z-index:1;color:var(--color-gray-13)}";
32
203
 
@@ -21357,129 +21528,6 @@ var MDCFormField = /** @class */ (function (_super) {
21357
21528
  return MDCFormField;
21358
21529
  }(MDCComponent));
21359
21530
 
21360
- const ValidationMessages = {
21361
- de: {
21362
- required: 'Dieses Feld ist erforderlich.',
21363
- select: 'Bitte wählen Sie einen Wert.',
21364
- firstname: 'Bitte überprüfen Sie Ihren Vornamen.',
21365
- lastname: 'Bitte überprüfen Sie Ihren Nachnamen.',
21366
- validemail: 'Bitte geben Sie eine gültige E-Mail-Adresse ein.',
21367
- email: 'Bitte geben Sie eine gültige E-Mail-Adresse ein.',
21368
- companyemail: 'Bitte geben Sie eine Firmen-E-Mail-Adresse ein.',
21369
- tel: 'Telefonnummer ist erforderlich.',
21370
- validtel: 'Bitte geben Sie eine gültige Telefonnummer ein.',
21371
- confirmemail: "E-Mail-Adressen müssen übereinstimmen."
21372
- },
21373
- en: {
21374
- required: 'This field is required.',
21375
- select: 'Please select a value.',
21376
- firstname: 'Please check your firstname.',
21377
- lastname: 'Please check your lastname.',
21378
- validemail: 'Please enter a valid email.',
21379
- email: 'Email is required.',
21380
- companyemail: 'Please enter a company email.',
21381
- tel: 'Telephone number is required.',
21382
- validtel: 'Please enter a valid telephone number',
21383
- confirmemail: 'Email addresses must match.'
21384
- },
21385
- fr: {
21386
- required: 'Ce champ est obligatoire.',
21387
- select: 'Veuillez sélectionner une valeur.',
21388
- firstname: 'Veuillez vérifier votre prénom.',
21389
- lastname: 'Veuillez vérifier votre nom de famille.',
21390
- validemail: 'Veuillez saisir une adresse e-mail valide.',
21391
- email: 'Adresse e-mail requise.',
21392
- companyemail: 'Veuillez saisir une adresse e-mail professionnelle.',
21393
- tel: 'Numéro de téléphone requis.',
21394
- validtel: 'Veuillez saisir un numéro de téléphone valide.',
21395
- confirmemail: 'Les adresses e-mail doivent correspondre.'
21396
- },
21397
- ko: {
21398
- required: '이 필드는 필수입니다.',
21399
- select: '값을 선택해 주세요.',
21400
- firstname: '이름을 확인해 주세요.',
21401
- lastname: '성을 확인해 주세요.',
21402
- validemail: '유효한 이메일 주소를 입력해 주세요.',
21403
- email: '이메일 주소가 필요합니다.',
21404
- companyemail: '회사 이메일을 입력해 주세요.',
21405
- tel: '전화번호가 필요합니다.',
21406
- validtel: '유효한 전화번호를 입력해 주세요.',
21407
- confirmemail: "이메일 주소가 일치해야 합니다"
21408
- },
21409
- pt: {
21410
- required: 'Este campo é obrigatório.',
21411
- select: 'Por favor, selecione um valor.',
21412
- firstname: 'Por favor, verifique seu primeiro nome.',
21413
- lastname: 'Por favor, verifique seu sobrenome.',
21414
- validemail: 'Por favor, insira um endereço de e-mail válido.',
21415
- email: 'Endereço de e-mail é obrigatório.',
21416
- companyemail: 'Por favor, insira um e-mail da empresa.',
21417
- tel: 'Número de telefone é obrigatório.',
21418
- validtel: 'Por favor, insira um número de telefone válido.',
21419
- confirmemail: 'Os endereços de e-mail devem corresponder.'
21420
- },
21421
- cn: {
21422
- required: '此字段为必填项。',
21423
- select: '请选择一个值。',
21424
- firstname: '请检查您的名字。',
21425
- lastname: '请检查您的姓氏。',
21426
- validemail: '请输入有效的电子邮件地址。',
21427
- email: '需要电子邮件地址。',
21428
- companyemail: '请输入公司电子邮件。',
21429
- tel: '需要电话号码。',
21430
- validtel: '请输入有效的电话号码。',
21431
- confirmemail: '电子邮件地址必须匹配。'
21432
- },
21433
- tw: {
21434
- required: '此欄位為必填。',
21435
- select: '請選擇一個值。',
21436
- firstname: '請檢查您的名字。',
21437
- lastname: '請檢查您的姓氏。',
21438
- validemail: '請輸入有效的電子郵件地址。',
21439
- email: '需要電子郵件地址。',
21440
- companyemail: '請輸入公司電子郵件。',
21441
- tel: '需要電話號碼。',
21442
- validtel: '請輸入有效的電話號碼。',
21443
- confirmemail: '電子郵件地址必須匹配。'
21444
- },
21445
- ja: {
21446
- required: 'このフィールドは必須です。',
21447
- select: '値を選択してください。',
21448
- firstname: '名前を確認してください。',
21449
- lastname: '苗字を確認してください。',
21450
- validemail: '有効なメールアドレスを入力してください。',
21451
- email: 'メールアドレスが必要です。',
21452
- companyemail: '会社のメールアドレスを入力してください。',
21453
- tel: '電話番号が必要です。',
21454
- validtel: '有効な電話番号を入力してください。',
21455
- confirmemail: 'メールアドレスが一致する必要があります。'
21456
- },
21457
- it: {
21458
- required: 'Questo campo è obbligatorio.',
21459
- select: 'Si prega di selezionare un valore.',
21460
- firstname: 'Si prega di controllare il proprio nome.',
21461
- lastname: 'Si prega di controllare il proprio cognome.',
21462
- validemail: 'Si prega di inserire un indirizzo email valido.',
21463
- email: "L'indirizzo email è richiesto.",
21464
- companyemail: "Si prega di inserire un'email aziendale.",
21465
- tel: 'È richiesto un numero di telefono.',
21466
- validtel: 'Si prega di inserire un numero di telefono valido.',
21467
- confirmemail: 'Gli indirizzi email devono corrispondere.'
21468
- },
21469
- es: {
21470
- required: 'Por favor introduce un valor.',
21471
- select: 'Por favor seleccione un valor.',
21472
- firstname: 'Por favor verifique su nombre.',
21473
- lastname: 'Por favor verifique su apellido.',
21474
- validemail: 'Por favor introduzca un correo válido.',
21475
- email: "Se requiere un correo electrónico.",
21476
- companyemail: "Por favor introduzca un correo de empresa.",
21477
- tel: 'Se requiere un número de teléfono.',
21478
- validtel: 'Por favor introduzca un número de teléfono válido.',
21479
- confirmemail: 'Los correos electrónicos deben coincidir.'
21480
- }
21481
- };
21482
-
21483
21531
  const ptcFormCheckboxCss = ".mdc-checkbox{padding:calc((40px - 18px) / 2);padding:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2);margin:calc((40px - 40px) / 2);margin:calc((var(--mdc-checkbox-touch-target-size, 40px) - 40px) / 2)}.mdc-checkbox .mdc-checkbox__ripple::before,.mdc-checkbox .mdc-checkbox__ripple::after{background-color:#000;background-color:var(--mdc-ripple-color, #000)}.mdc-checkbox:hover .mdc-checkbox__ripple::before,.mdc-checkbox.mdc-ripple-surface--hover .mdc-checkbox__ripple::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-checkbox:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after{transition:opacity 150ms linear}.mdc-checkbox:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-checkbox.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::before,.mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::after{background-color:#018786;background-color:var(--mdc-ripple-color, var(--mdc-theme-secondary, #018786))}.mdc-checkbox.mdc-checkbox--selected:hover .mdc-checkbox__ripple::before,.mdc-checkbox.mdc-checkbox--selected.mdc-ripple-surface--hover .mdc-checkbox__ripple::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before,.mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after{transition:opacity 150ms linear}.mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::before,.mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::after{background-color:#018786;background-color:var(--mdc-ripple-color, var(--mdc-theme-secondary, #018786))}.mdc-checkbox .mdc-checkbox__background{top:calc((40px - 18px) / 2);top:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2);left:calc((40px - 18px) / 2);left:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2)}.mdc-checkbox .mdc-checkbox__native-control{top:calc((40px - 40px) / 2);top:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);right:calc((40px - 40px) / 2);right:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);left:calc((40px - 40px) / 2);left:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);width:40px;width:var(--mdc-checkbox-touch-target-size, 40px);height:40px;height:var(--mdc-checkbox-touch-target-size, 40px)}.mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:rgba(0, 0, 0, 0.54);border-color:var(--mdc-checkbox-unchecked-color, rgba(0, 0, 0, 0.54));background-color:transparent}.mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:#018786;border-color:var(--mdc-checkbox-checked-color, var(--mdc-theme-secondary, #018786));background-color:#018786;background-color:var(--mdc-checkbox-checked-color, var(--mdc-theme-secondary, #018786))}@-webkit-keyframes mdc-checkbox-fade-in-background-8A000000FF01878600000000FF018786{0%{border-color:rgba(0, 0, 0, 0.54);border-color:var(--mdc-checkbox-unchecked-color, rgba(0, 0, 0, 0.54));background-color:transparent}50%{border-color:#018786;border-color:var(--mdc-checkbox-checked-color, var(--mdc-theme-secondary, #018786));background-color:#018786;background-color:var(--mdc-checkbox-checked-color, var(--mdc-theme-secondary, #018786))}}@keyframes mdc-checkbox-fade-in-background-8A000000FF01878600000000FF018786{0%{border-color:rgba(0, 0, 0, 0.54);border-color:var(--mdc-checkbox-unchecked-color, rgba(0, 0, 0, 0.54));background-color:transparent}50%{border-color:#018786;border-color:var(--mdc-checkbox-checked-color, var(--mdc-theme-secondary, #018786));background-color:#018786;background-color:var(--mdc-checkbox-checked-color, var(--mdc-theme-secondary, #018786))}}@-webkit-keyframes mdc-checkbox-fade-out-background-8A000000FF01878600000000FF018786{0%,80%{border-color:#018786;border-color:var(--mdc-checkbox-checked-color, var(--mdc-theme-secondary, #018786));background-color:#018786;background-color:var(--mdc-checkbox-checked-color, var(--mdc-theme-secondary, #018786))}100%{border-color:rgba(0, 0, 0, 0.54);border-color:var(--mdc-checkbox-unchecked-color, rgba(0, 0, 0, 0.54));background-color:transparent}}@keyframes mdc-checkbox-fade-out-background-8A000000FF01878600000000FF018786{0%,80%{border-color:#018786;border-color:var(--mdc-checkbox-checked-color, var(--mdc-theme-secondary, #018786));background-color:#018786;background-color:var(--mdc-checkbox-checked-color, var(--mdc-theme-secondary, #018786))}100%{border-color:rgba(0, 0, 0, 0.54);border-color:var(--mdc-checkbox-unchecked-color, rgba(0, 0, 0, 0.54));background-color:transparent}}.mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{-webkit-animation-name:mdc-checkbox-fade-in-background-8A000000FF01878600000000FF018786;animation-name:mdc-checkbox-fade-in-background-8A000000FF01878600000000FF018786}.mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{-webkit-animation-name:mdc-checkbox-fade-out-background-8A000000FF01878600000000FF018786;animation-name:mdc-checkbox-fade-out-background-8A000000FF01878600000000FF018786}.mdc-checkbox .mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:rgba(0, 0, 0, 0.38);border-color:var(--mdc-checkbox-disabled-color, rgba(0, 0, 0, 0.38));background-color:transparent}.mdc-checkbox .mdc-checkbox__native-control[disabled]:checked~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[disabled]:indeterminate~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true][disabled]~.mdc-checkbox__background{border-color:transparent;background-color:rgba(0, 0, 0, 0.38);background-color:var(--mdc-checkbox-disabled-color, rgba(0, 0, 0, 0.38))}.mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:#fff;color:var(--mdc-checkbox-ink-color, #fff)}.mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:#fff;border-color:var(--mdc-checkbox-ink-color, #fff)}.mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:#fff;color:var(--mdc-checkbox-ink-color, #fff)}.mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:#fff;border-color:var(--mdc-checkbox-ink-color, #fff)}.mdc-touch-target-wrapper{display:inline}@-webkit-keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{-webkit-animation-timing-function:cubic-bezier(0, 0, 0.2, 1);animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{-webkit-animation-timing-function:cubic-bezier(0, 0, 0.2, 1);animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@-webkit-keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{-webkit-transform:scaleX(0);transform:scaleX(0)}68.2%{-webkit-animation-timing-function:cubic-bezier(0, 0, 0, 1);animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{-webkit-transform:scaleX(0);transform:scaleX(0)}68.2%{-webkit-animation-timing-function:cubic-bezier(0, 0, 0, 1);animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{-webkit-transform:scaleX(1);transform:scaleX(1)}}@-webkit-keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 1, 1);animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 1, 1);animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@-webkit-keyframes mdc-checkbox-checked-indeterminate-checkmark{from{-webkit-animation-timing-function:cubic-bezier(0, 0, 0.2, 1);animation-timing-function:cubic-bezier(0, 0, 0.2, 1);-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{-webkit-animation-timing-function:cubic-bezier(0, 0, 0.2, 1);animation-timing-function:cubic-bezier(0, 0, 0.2, 1);-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@-webkit-keyframes mdc-checkbox-indeterminate-checked-checkmark{from{-webkit-animation-timing-function:cubic-bezier(0.14, 0, 0, 1);animation-timing-function:cubic-bezier(0.14, 0, 0, 1);-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:rotate(360deg);transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{-webkit-animation-timing-function:cubic-bezier(0.14, 0, 0, 1);animation-timing-function:cubic-bezier(0.14, 0, 0, 1);-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:rotate(360deg);transform:rotate(360deg);opacity:1}}@-webkit-keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{-webkit-animation-timing-function:mdc-animation-deceleration-curve-timing-function;animation-timing-function:mdc-animation-deceleration-curve-timing-function;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{-webkit-animation-timing-function:mdc-animation-deceleration-curve-timing-function;animation-timing-function:mdc-animation-deceleration-curve-timing-function;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:1}}@-webkit-keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{-webkit-animation-timing-function:cubic-bezier(0.14, 0, 0, 1);animation-timing-function:cubic-bezier(0.14, 0, 0, 1);-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:1}to{-webkit-transform:rotate(315deg);transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{-webkit-animation-timing-function:cubic-bezier(0.14, 0, 0, 1);animation-timing-function:cubic-bezier(0.14, 0, 0, 1);-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:1}to{-webkit-transform:rotate(315deg);transform:rotate(315deg);opacity:0}}@-webkit-keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1}32.8%,100%{-webkit-transform:scaleX(0);transform:scaleX(0);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1}32.8%,100%{-webkit-transform:scaleX(0);transform:scaleX(0);opacity:0}}.mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom}.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring{pointer-events:none;border:2px solid transparent;border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);height:100%;width:100%}@media screen and (forced-colors: active){.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring{border-color:CanvasText}}.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring::after,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring::after{content:\"\";border:2px solid transparent;border-radius:8px;display:block;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring::after,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring::after{border-color:CanvasText}}@media all and (-ms-high-contrast: none){.mdc-checkbox .mdc-checkbox__focus-ring{display:none}}@media screen and (forced-colors: active), (-ms-high-contrast: active){.mdc-checkbox__mixedmark{margin:0 1px}}.mdc-checkbox--disabled{cursor:default;pointer-events:none}.mdc-checkbox__background{display:inline-flex;position:absolute;align-items:center;justify-content:center;box-sizing:border-box;width:18px;height:18px;border:2px solid currentColor;border-radius:2px;background-color:transparent;pointer-events:none;will-change:background-color, border-color;transition:background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;transition:opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--upgraded .mdc-checkbox__checkmark{opacity:1}.mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mdc-checkbox__mixedmark{width:100%;height:0;-webkit-transform:scaleX(0) rotate(0deg);transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{-webkit-animation-duration:180ms;animation-duration:180ms;-webkit-animation-timing-function:linear;animation-timing-function:linear}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{-webkit-animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;transition:none}.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{-webkit-animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{-webkit-animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{-webkit-animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{-webkit-animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{-webkit-animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{-webkit-animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{-webkit-animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;transition:none}.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background{transition:border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1), background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mdc-checkbox__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit}.mdc-checkbox__native-control:disabled{cursor:default;pointer-events:none}.mdc-checkbox--touch{margin:calc((48px - 40px) / 2);margin:calc((var(--mdc-checkbox-state-layer-size, 48px) - var(--mdc-checkbox-state-layer-size, 40px)) / 2)}.mdc-checkbox--touch .mdc-checkbox__native-control{top:calc((40px - 48px) / 2);top:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 48px)) / 2);right:calc((40px - 48px) / 2);right:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 48px)) / 2);left:calc((40px - 48px) / 2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 48px)) / 2);width:48px;width:var(--mdc-checkbox-state-layer-size, 48px);height:48px;height:var(--mdc-checkbox-state-layer-size, 48px)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{transition:opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);transition:opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);transition:opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);opacity:1}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{-webkit-transform:scaleX(1) rotate(-45deg);transform:scaleX(1) rotate(-45deg)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__mixedmark,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__mixedmark{-webkit-transform:scaleX(1) rotate(0deg);transform:scaleX(1) rotate(0deg);opacity:1}.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark-path,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__mixedmark{transition:none}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-checkbox{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity}.mdc-checkbox .mdc-checkbox__ripple::before,.mdc-checkbox .mdc-checkbox__ripple::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-checkbox .mdc-checkbox__ripple::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.mdc-checkbox .mdc-checkbox__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale, 1));transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-checkbox.mdc-ripple-upgraded--unbounded .mdc-checkbox__ripple::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-checkbox.mdc-ripple-upgraded--foreground-activation .mdc-checkbox__ripple::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}.mdc-checkbox.mdc-ripple-upgraded--foreground-deactivation .mdc-checkbox__ripple::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-checkbox .mdc-checkbox__ripple::before,.mdc-checkbox .mdc-checkbox__ripple::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::before,.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-checkbox{z-index:0}.mdc-checkbox .mdc-checkbox__ripple::before,.mdc-checkbox .mdc-checkbox__ripple::after{z-index:-1;z-index:var(--mdc-ripple-z-index, -1)}.mdc-checkbox__ripple{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}@media screen and (forced-colors: active), (-ms-high-contrast: active){.mdc-checkbox .mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:GrayText;border-color:var(--mdc-checkbox-disabled-unselected-icon-color, GrayText);background-color:transparent}.mdc-checkbox .mdc-checkbox__native-control[disabled]:checked~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[disabled]:indeterminate~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true][disabled]~.mdc-checkbox__background{border-color:GrayText;background-color:GrayText;background-color:var(--mdc-checkbox-disabled-selected-icon-color, GrayText)}.mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:ButtonText;color:var(--mdc-checkbox-selected-checkmark-color, ButtonText)}.mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:ButtonText;border-color:var(--mdc-checkbox-selected-checkmark-color, ButtonText)}.mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:ButtonFace;color:var(--mdc-checkbox-disabled-selected-checkmark-color, ButtonFace)}.mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:ButtonFace;border-color:var(--mdc-checkbox-disabled-selected-checkmark-color, ButtonFace)}}.mdc-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:0.875rem;font-size:var(--mdc-typography-body2-font-size, 0.875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:0.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, 0.0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform, inherit);color:rgba(0, 0, 0, 0.87);color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));display:inline-flex;align-items:center;vertical-align:middle}.mdc-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{margin-left:auto;margin-right:0;}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{padding-left:0;padding-right:4px;}.mdc-form-field--nowrap>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{margin-left:0;margin-right:auto;}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{padding-left:4px;padding-right:0;}.mdc-form-field--space-between{justify-content:space-between}.mdc-form-field--space-between>label{margin:0}[dir=rtl] .mdc-form-field--space-between>label,.mdc-form-field--space-between>label[dir=rtl]{margin:0;}h1,h2,h3,h4,h5,h6,p,ul,li,ptc-subnav,ptc-tab-list,ptc-link,ptc-square-card,.hyphenate-text,ptc-footer{word-break:break-word;hyphens:manual;-webkit-hyphens:manual;-moz-hyphens:manual;-ms-hyphens:manual}@supports (hyphenate-limit-chars: 12 3 3){h1,h2,h3,h4,h5,h6,p,ul,li,ptc-subnav,ptc-tab-list,ptc-link,ptc-square-card,.hyphenate-text,ptc-footer{hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;hyphenate-limit-chars:12 3 3;hyphenate-limit-lines:2;hyphenate-limit-last:always;hyphenate-limit-zone:6%;-webkit-hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;-webkit-hyphenate-limit-chars:12 3 3;-webkit-hyphenate-limit-lines:2;-moz-hyphens:auto;-moz-hyphenate-limit-chars:12 3 3;-moz-hyphenate-limit-lines:2;-ms-hyphens:auto;-ms-hyphenate-limit-chars:12 3 3;-ms-hyphenate-limit-lines:2}}:host{display:block}.ptc-checkbox-field{margin-top:12px;margin-bottom:12px;display:block}.ptc-checkbox-field.invalid-checkbox{position:relative;display:block}.ptc-checkbox-field.invalid-checkbox::before{content:\"\";position:absolute;width:calc(100% + 16px);height:calc(100% + 8px);background:#FEF3F3;display:flex;flex-direction:column;justify-content:center;z-index:0;left:50%;top:50%;transform:translate(-50%, -50%)}.mdc-form-field{width:273px;align-items:flex-start;margin-bottom:1px}.mdc-form-field>label{transform:translate(-11px, 7px)}.mdc-form-field>label a{color:var(--color-hyperlink)}.mdc-form-field>label a:hover{color:var(--color-blue-08)}.mdc-form-field>label a:active{color:var(--color-blue-09)}.mdc-checkbox{transform:translateX(-8px);padding:8px;padding:calc((var(--mdc-checkbox-ripple-size, 34px) - 18px) / 2);margin:0px;margin:calc((var(--mdc-checkbox-touch-target-size, 34px) - 34px) / 2)}.mdc-checkbox .mdc-checkbox__background{top:8px;top:calc((var(--mdc-checkbox-ripple-size, 34px) - 18px) / 2);left:8px;left:calc((var(--mdc-checkbox-ripple-size, 34px) - 18px) / 2)}.mdc-checkbox .mdc-checkbox__native-control{top:0px;top:calc((34px - var(--mdc-checkbox-touch-target-size, 34px)) / 2);right:0px;right:calc((34px - var(--mdc-checkbox-touch-target-size, 34px)) / 2);left:0px;left:calc((34px - var(--mdc-checkbox-touch-target-size, 34px)) / 2);width:34px;width:var(--mdc-checkbox-touch-target-size, 34px);height:34px;height:var(--mdc-checkbox-touch-target-size, 34px)}.mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background{background-color:var(--color-green-06)}.mdc-checkbox .mdc-checkbox__native-control:focus-visible+.mdc-checkbox__background{transition:none;border-radius:var(--ptc-border-radius-standard);outline:5px solid var(--keyboard-nav-outline)}.label-only .mdc-checkbox{display:none}.label-only>label{padding-left:10px}.checkbox-helper-wrapper{padding-right:16px;padding-left:8px;margin-bottom:32px;display:flex}.checkbox-helper-wrapper p{position:relative;color:#AF3231;font-family:Raleway;font-size:var(--ptc-font-size-xx-small);font-style:normal;font-weight:var(--ptc-font-weight-semibold);line-height:var(--ptc-font-size-xx-small);margin-bottom:0px;margin-top:var(--ptc-element-spacing-02)}.checkbox-helper-wrapper p svg{transform:translate(-8px, 3px)}";
21484
21532
 
21485
21533
  const PtcFormCheckbox$1 = class extends HTMLElement$1 {
@@ -33279,6 +33327,9 @@ const PtcTextfield$1 = class extends HTMLElement$1 {
33279
33327
  this.mdcTextfieldComponent.valid = this.customInput.checkValidity();
33280
33328
  }
33281
33329
  }
33330
+ async getValidationMessage(type) {
33331
+ return ValidationMessages[this.language][type];
33332
+ }
33282
33333
  componentWillLoad() {
33283
33334
  this.language = getLanguageFromURL();
33284
33335
  }
@@ -33302,9 +33353,6 @@ const PtcTextfield$1 = class extends HTMLElement$1 {
33302
33353
  }
33303
33354
  this.setupFocusHandlers();
33304
33355
  }
33305
- getValidationMessage(type) {
33306
- return ValidationMessages[this.language][type];
33307
- }
33308
33356
  getPhoneValidation() {
33309
33357
  if (this.fieldId === 'contact-phone' && this.fieldName === 'phone') {
33310
33358
  if (!this.required && this.inputValue === '') {
@@ -33368,14 +33416,14 @@ const PtcTextfield$1 = class extends HTMLElement$1 {
33368
33416
  }
33369
33417
  return validationPattern;
33370
33418
  }
33371
- setHelperText() {
33372
- this.helpertext = this.getValidationMessage('required');
33419
+ async setHelperText() {
33420
+ this.helpertext = await this.getValidationMessage('required');
33373
33421
  if ((this.type === 'email' && this.fieldName === 'email') || (this.type === 'email' && this.fieldName === "companyemail")) {
33374
33422
  if (this.customInput.validity.valueMissing) {
33375
- this.helpertext = this.getValidationMessage('email');
33423
+ this.helpertext = await this.getValidationMessage('email');
33376
33424
  }
33377
33425
  else if (!this.customInput.validity.valid) {
33378
- this.helpertext = this.getValidationMessage('validemail');
33426
+ this.helpertext = await this.getValidationMessage('validemail');
33379
33427
  }
33380
33428
  else if (this.customInput.validity.valid) {
33381
33429
  this.helpertext = '';
@@ -33383,33 +33431,33 @@ const PtcTextfield$1 = class extends HTMLElement$1 {
33383
33431
  }
33384
33432
  else if (this.fieldName === 'firstname') {
33385
33433
  if (this.customInput.validity.valueMissing) {
33386
- this.helpertext = this.getValidationMessage('required');
33434
+ this.helpertext = await this.getValidationMessage('required');
33387
33435
  }
33388
33436
  else if (this.customInput.validity.patternMismatch) {
33389
- this.helpertext = this.getValidationMessage('firstname');
33437
+ this.helpertext = await this.getValidationMessage('firstname');
33390
33438
  }
33391
33439
  }
33392
33440
  else if (this.fieldName === 'lastname') {
33393
33441
  if (this.customInput.validity.valueMissing) {
33394
- this.helpertext = this.getValidationMessage('required');
33442
+ this.helpertext = await this.getValidationMessage('required');
33395
33443
  }
33396
33444
  else if (this.customInput.validity.patternMismatch) {
33397
- this.helpertext = this.getValidationMessage('lastname');
33445
+ this.helpertext = await this.getValidationMessage('lastname');
33398
33446
  }
33399
33447
  }
33400
33448
  else if (this.fieldId === 'contact-phone') {
33401
33449
  if (this.iti) {
33402
33450
  if (this.inputValue === '' && this.required) {
33403
- this.helpertext = this.getValidationMessage('tel');
33451
+ this.helpertext = await this.getValidationMessage('tel');
33404
33452
  }
33405
33453
  else if (!this.iti.isValidNumber()) {
33406
- this.helpertext = this.getValidationMessage('validtel');
33454
+ this.helpertext = await this.getValidationMessage('validtel');
33407
33455
  }
33408
33456
  }
33409
33457
  }
33410
33458
  else if (this.fieldId === "confirm-email") {
33411
33459
  if (!this.matchStatus && !!this.customInput.value) {
33412
- this.helpertext = this.getValidationMessage('confirmemail');
33460
+ this.helpertext = await this.getValidationMessage('confirmemail');
33413
33461
  }
33414
33462
  }
33415
33463
  }
@@ -1,4 +1,4 @@
1
- 'use strict';
1
+ import { l as loadValidationMessages } from './validation-messages-1379b825.js';
2
2
 
3
3
  class PTCLogger {
4
4
  constructor() {
@@ -25,4 +25,7 @@ class PTCLogger {
25
25
  const ptcLogger = new PTCLogger();
26
26
 
27
27
  // src/global/global.ts
28
- globalThis.ptcLogger = ptcLogger;
28
+ globalThis.ptcLogger = ptcLogger;
29
+ loadValidationMessages()
30
+ .then(() => { var _a; return (_a = ptcLogger === null || ptcLogger === void 0 ? void 0 : ptcLogger.info) === null || _a === void 0 ? void 0 : _a.call(ptcLogger, 'Validation messages loaded successfully'); })
31
+ .catch((err) => { var _a; return (_a = ptcLogger === null || ptcLogger === void 0 ? void 0 : ptcLogger.error) === null || _a === void 0 ? void 0 : _a.call(ptcLogger, 'Failed to load validation messages', err); });