@tet/tet-components 1.4.1-staging → 1.4.2-staging

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 (44) hide show
  1. package/dist/cjs/{phone-ed64bd26.js → phone-99b69770.js} +13 -29
  2. package/dist/cjs/required-253932be.js +32 -0
  3. package/dist/cjs/tet-address-offers_4.cjs.entry.js +4 -4
  4. package/dist/cjs/tet-b2b-check-out-form_5.cjs.entry.js +160 -25
  5. package/dist/cjs/tet-contact-form.cjs.entry.js +4 -4
  6. package/dist/collection/components/advanced/forms/tet-b2b-check-out-form/tet-b2b-check-out-form.js +28 -23
  7. package/dist/collection/services/validators/index.js +4 -1
  8. package/dist/collection/services/validators/validators/company-registration-number.js +38 -0
  9. package/dist/collection/services/validators/validators/e-mail.js +14 -1
  10. package/dist/collection/services/validators/validators/name.js +43 -0
  11. package/dist/collection/services/validators/validators/phone_v2.js +35 -0
  12. package/dist/components/{p-c47caf67.js → p-307c9553.js} +2 -2
  13. package/dist/{esm/phone-4b016684.js → components/p-58928b72.js} +13 -29
  14. package/dist/components/{p-dcf5c661.js → p-8972916d.js} +159 -24
  15. package/dist/components/p-e1259b83.js +30 -0
  16. package/dist/components/tet-address-offers-view.js +1 -1
  17. package/dist/components/tet-availability-contact-form.js +1 -1
  18. package/dist/components/tet-b2b-check-out-form.js +1 -1
  19. package/dist/components/tet-b2b-configurator.js +1 -1
  20. package/dist/components/tet-contact-form.js +2 -2
  21. package/dist/{components/p-12649d6e.js → esm/phone-4acf2597.js} +13 -29
  22. package/dist/esm/required-189b5861.js +30 -0
  23. package/dist/esm/tet-address-offers_4.entry.js +2 -2
  24. package/dist/esm/tet-b2b-check-out-form_5.entry.js +159 -24
  25. package/dist/esm/tet-contact-form.entry.js +2 -2
  26. package/dist/tet-components/p-09c27a34.entry.js +1 -0
  27. package/dist/tet-components/{p-2a346803.entry.js → p-3de2172f.entry.js} +1 -1
  28. package/dist/tet-components/p-46ca1eab.js +1 -0
  29. package/dist/tet-components/p-e1259b83.js +1 -0
  30. package/dist/tet-components/p-f263f970.entry.js +1 -0
  31. package/dist/tet-components/tet-components.esm.js +1 -1
  32. package/dist/types/components/advanced/forms/tet-b2b-check-out-form/tet-b2b-check-out-form.d.ts +3 -1
  33. package/dist/types/services/validators/index.d.ts +4 -1
  34. package/dist/types/services/validators/validators/company-registration-number.d.ts +28 -0
  35. package/dist/types/services/validators/validators/name.d.ts +34 -0
  36. package/dist/types/services/validators/validators/phone_v2.d.ts +29 -0
  37. package/package.json +1 -1
  38. package/dist/cjs/tasks-57ad40ae.js +0 -16
  39. package/dist/components/p-0e0dcb37.js +0 -14
  40. package/dist/esm/tasks-770dc32d.js +0 -14
  41. package/dist/tet-components/p-12649d6e.js +0 -1
  42. package/dist/tet-components/p-8aecb130.entry.js +0 -1
  43. package/dist/tet-components/p-cba8d001.js +0 -1
  44. package/dist/tet-components/p-e87f981c.entry.js +0 -1
@@ -6,7 +6,9 @@ class EMailAddressValidator {
6
6
  /**
7
7
  * The regex for the email validation.
8
8
  */
9
- emailAddressRegex = '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$';
9
+ emailAddressRegex = '^(([a-zA-Z0-9!#$%&\'*+/=?^_`{|}~-]+(\\.[a-zA-Z0-9!#$%&\'*+/=?^_`{|}~-]+)*)|(".+"))@' +
10
+ '((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|' +
11
+ '(([a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,}))$';
10
12
  /**
11
13
  * Constructor.
12
14
  *
@@ -28,6 +30,17 @@ class EMailAddressValidator {
28
30
  */
29
31
  validate(value) {
30
32
  const validateValue = value?.trim();
33
+ if (!validateValue) {
34
+ return false;
35
+ }
36
+ // Check length of local part (max 64 chars)
37
+ const atIndex = validateValue.lastIndexOf('@');
38
+ if (atIndex !== -1) {
39
+ const localPart = validateValue.substring(0, atIndex);
40
+ if (localPart.length > 64) {
41
+ return false;
42
+ }
43
+ }
31
44
  // A generic email address must meet pattern with @ and dot.
32
45
  return RegExp(this.emailAddressRegex).test(validateValue);
33
46
  }
@@ -0,0 +1,43 @@
1
+ /**
2
+ * The name/surname validator class.
3
+ */
4
+ class NameValidator {
5
+ errorMessage;
6
+ /**
7
+ * The regex for the name validation.
8
+ * Allows:
9
+ * - Letters in any language (\p{L})
10
+ * - Spaces
11
+ * - Hyphens, En-dashes, Em-dashes
12
+ * - Commas
13
+ * - Dots
14
+ */
15
+ nameRegex = '^[\\p{L} \\-–—,.]+$';
16
+ /**
17
+ * Constructor.
18
+ *
19
+ * @param errorMessage
20
+ */
21
+ constructor(errorMessage) {
22
+ this.errorMessage = errorMessage;
23
+ }
24
+ /**
25
+ * Returns validation error message.
26
+ */
27
+ getErrorMessage() {
28
+ return this.errorMessage;
29
+ }
30
+ /**
31
+ * Validation logic.
32
+ *
33
+ * @param value
34
+ */
35
+ validate(value) {
36
+ const validateValue = value?.trim();
37
+ if (!validateValue) {
38
+ return false;
39
+ }
40
+ return new RegExp(this.nameRegex, 'u').test(validateValue);
41
+ }
42
+ }
43
+ export { NameValidator };
@@ -0,0 +1,35 @@
1
+ /**
2
+ * The phone validator class.
3
+ * Use this validator together with tet-input with isPhoneNumber=true which adds a +371 prefix to the input.
4
+ * Therefore, this validator only checks for 8-digit phone numbers starting with 2 or 6.
5
+ */
6
+ export class PhoneNumberValidatorV2 {
7
+ errorMessage;
8
+ /**
9
+ * The regex for the phone validation.
10
+ */
11
+ phoneNumberRegex = '^[26][0-9]{7}$';
12
+ /**
13
+ * Constructor.
14
+ *
15
+ * @param errorMessage
16
+ */
17
+ constructor(errorMessage) {
18
+ this.errorMessage = errorMessage;
19
+ }
20
+ /**
21
+ * Returns validation error message.
22
+ */
23
+ getErrorMessage() {
24
+ return this.errorMessage;
25
+ }
26
+ /**
27
+ * Validation logic.
28
+ *
29
+ * @param value
30
+ */
31
+ validate(value) {
32
+ const validateValue = value.trim();
33
+ return RegExp(this.phoneNumberRegex).test(validateValue);
34
+ }
35
+ }
@@ -1,8 +1,8 @@
1
1
  import { p as proxyCustomElement, H, d as createEvent, f as forceUpdate, h } from './p-c9d79ad4.js';
2
2
  import { p as processTranslations, t as translate } from './p-3444731e.js';
3
3
  import './p-94a1eb7a.js';
4
- import { c as createCallCenterTask } from './p-0e0dcb37.js';
5
- import { P as PhoneNumberValidator, R as RequiredValidator } from './p-12649d6e.js';
4
+ import { P as PhoneNumberValidator, c as createCallCenterTask } from './p-58928b72.js';
5
+ import { R as RequiredValidator } from './p-e1259b83.js';
6
6
  import { d as defineCustomElement$5 } from './p-36c5e434.js';
7
7
  import { d as defineCustomElement$4 } from './p-392981a3.js';
8
8
  import { d as defineCustomElement$3 } from './p-9ee3e98b.js';
@@ -1,31 +1,15 @@
1
- /**
2
- * Required field validator class.
3
- */
4
- class RequiredValidator {
5
- errorMessage;
6
- /**
7
- * Constructor.
8
- *
9
- * @param errorMessage
10
- */
11
- constructor(errorMessage) {
12
- this.errorMessage = errorMessage;
13
- }
14
- /**
15
- * Returns validation error message.
16
- */
17
- getErrorMessage() {
18
- return this.errorMessage;
19
- }
20
- /**
21
- * Validation logic.
22
- *
23
- * @param value
24
- */
25
- validate(value) {
26
- return !!value?.trim();
27
- }
28
- }
1
+ import { e as endpoints } from './p-94a1eb7a.js';
2
+ import { A as AsyncApiRequest } from './p-6f4bf94f.js';
3
+
4
+ const createCallCenterTask = (options) => {
5
+ const url = endpoints.createCallCenterTask;
6
+ const asyncRequest = new AsyncApiRequest()
7
+ .setUrl(url)
8
+ .setData(options)
9
+ .setOptions({ method: 'POST' })
10
+ .setErrorFallbackValue({ TaskId: null });
11
+ return asyncRequest.execute();
12
+ };
29
13
 
30
14
  /**
31
15
  * The phone validator class.
@@ -71,4 +55,4 @@ class PhoneNumberValidator {
71
55
  }
72
56
  }
73
57
 
74
- export { PhoneNumberValidator as P, RequiredValidator as R };
58
+ export { PhoneNumberValidator as P, createCallCenterTask as c };
@@ -1,12 +1,48 @@
1
1
  import { p as proxyCustomElement, H, d as createEvent, f as forceUpdate, h } from './p-c9d79ad4.js';
2
2
  import { p as processTranslations, t as translate } from './p-3444731e.js';
3
- import { R as RequiredValidator, P as PhoneNumberValidator } from './p-12649d6e.js';
3
+ import { R as RequiredValidator } from './p-e1259b83.js';
4
4
  import { d as defineCustomElement$5 } from './p-36c5e434.js';
5
5
  import { d as defineCustomElement$4 } from './p-d7d60ba4.js';
6
6
  import { d as defineCustomElement$3 } from './p-392981a3.js';
7
7
  import { d as defineCustomElement$2 } from './p-9ee3e98b.js';
8
8
  import { d as defineCustomElement$1 } from './p-754dce81.js';
9
9
 
10
+ /**
11
+ * The phone validator class.
12
+ * Use this validator together with tet-input with isPhoneNumber=true which adds a +371 prefix to the input.
13
+ * Therefore, this validator only checks for 8-digit phone numbers starting with 2 or 6.
14
+ */
15
+ class PhoneNumberValidatorV2 {
16
+ errorMessage;
17
+ /**
18
+ * The regex for the phone validation.
19
+ */
20
+ phoneNumberRegex = '^[26][0-9]{7}$';
21
+ /**
22
+ * Constructor.
23
+ *
24
+ * @param errorMessage
25
+ */
26
+ constructor(errorMessage) {
27
+ this.errorMessage = errorMessage;
28
+ }
29
+ /**
30
+ * Returns validation error message.
31
+ */
32
+ getErrorMessage() {
33
+ return this.errorMessage;
34
+ }
35
+ /**
36
+ * Validation logic.
37
+ *
38
+ * @param value
39
+ */
40
+ validate(value) {
41
+ const validateValue = value.trim();
42
+ return RegExp(this.phoneNumberRegex).test(validateValue);
43
+ }
44
+ }
45
+
10
46
  /**
11
47
  * The email validator class.
12
48
  */
@@ -15,7 +51,9 @@ class EMailAddressValidator {
15
51
  /**
16
52
  * The regex for the email validation.
17
53
  */
18
- emailAddressRegex = '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$';
54
+ emailAddressRegex = '^(([a-zA-Z0-9!#$%&\'*+/=?^_`{|}~-]+(\\.[a-zA-Z0-9!#$%&\'*+/=?^_`{|}~-]+)*)|(".+"))@' +
55
+ '((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|' +
56
+ '(([a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,}))$';
19
57
  /**
20
58
  * Constructor.
21
59
  *
@@ -37,11 +75,103 @@ class EMailAddressValidator {
37
75
  */
38
76
  validate(value) {
39
77
  const validateValue = value?.trim();
78
+ if (!validateValue) {
79
+ return false;
80
+ }
81
+ // Check length of local part (max 64 chars)
82
+ const atIndex = validateValue.lastIndexOf('@');
83
+ if (atIndex !== -1) {
84
+ const localPart = validateValue.substring(0, atIndex);
85
+ if (localPart.length > 64) {
86
+ return false;
87
+ }
88
+ }
40
89
  // A generic email address must meet pattern with @ and dot.
41
90
  return RegExp(this.emailAddressRegex).test(validateValue);
42
91
  }
43
92
  }
44
93
 
94
+ /**
95
+ * Validator to check if value consists of exactly 11 digits.
96
+ */
97
+ class CompanyRegistrationNumberValidator {
98
+ errorMessage;
99
+ /**
100
+ * The regex for the company registration number validation.
101
+ */
102
+ companyRegistrationNumberRegex = '^\\d{11}$';
103
+ /**
104
+ * Constructor.
105
+ *
106
+ * @param errorMessage
107
+ */
108
+ constructor(errorMessage) {
109
+ this.errorMessage = errorMessage;
110
+ }
111
+ /**
112
+ * Returns validation error message.
113
+ */
114
+ getErrorMessage() {
115
+ return this.errorMessage;
116
+ }
117
+ /**
118
+ * Validation logic.
119
+ *
120
+ * @param value
121
+ */
122
+ validate(value) {
123
+ // Allow empty values (RequiredValidator handles mandatory check).
124
+ if (!value) {
125
+ return true;
126
+ }
127
+ // Check if the value is exactly 11 digits.
128
+ return RegExp(this.companyRegistrationNumberRegex).test(value);
129
+ }
130
+ }
131
+
132
+ /**
133
+ * The name/surname validator class.
134
+ */
135
+ class NameValidator {
136
+ errorMessage;
137
+ /**
138
+ * The regex for the name validation.
139
+ * Allows:
140
+ * - Letters in any language (\p{L})
141
+ * - Spaces
142
+ * - Hyphens, En-dashes, Em-dashes
143
+ * - Commas
144
+ * - Dots
145
+ */
146
+ nameRegex = '^[\\p{L} \\-–—,.]+$';
147
+ /**
148
+ * Constructor.
149
+ *
150
+ * @param errorMessage
151
+ */
152
+ constructor(errorMessage) {
153
+ this.errorMessage = errorMessage;
154
+ }
155
+ /**
156
+ * Returns validation error message.
157
+ */
158
+ getErrorMessage() {
159
+ return this.errorMessage;
160
+ }
161
+ /**
162
+ * Validation logic.
163
+ *
164
+ * @param value
165
+ */
166
+ validate(value) {
167
+ const validateValue = value?.trim();
168
+ if (!validateValue) {
169
+ return false;
170
+ }
171
+ return new RegExp(this.nameRegex, 'u').test(validateValue);
172
+ }
173
+ }
174
+
45
175
  const tetB2bCheckOutFormCss = "@font-face{font-family:Avenir Next;src:url(assets/fonts/8e7462a9501f48c43c58f870188b3fb2.eot?#iefix);src:url(assets/fonts/8e7462a9501f48c43c58f870188b3fb2.eot?#iefix) format(\"eot\"),url(assets/fonts/3c3e10968ffc97c2a52c5830f9886d1f.woff2) format(\"woff2\"),url(assets/fonts/660fbf858d30d7685fa4b166080f5980.woff) format(\"woff\"),url(assets/fonts/2b7748589092fd1a10b806abdfb562ff.ttf) format(\"truetype\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Avenir Next;src:url(assets/fonts/d5e25ad69d0ea31f3b8f66d634ca40fe.eot?#iefix);src:url(assets/fonts/d5e25ad69d0ea31f3b8f66d634ca40fe.eot?#iefix) format(\"eot\"),url(assets/fonts/aad36ecead30948bb30fe0ef818b749c.woff2) format(\"woff2\"),url(assets/fonts/c437d7752feaf3f056bbf8613e898d3a.woff) format(\"woff\"),url(assets/fonts/b8df4d02ef5de13a813917a85bc4a9c4.ttf) format(\"truetype\");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Avenir Next;src:url(assets/fonts/046190c9a2f724b925df848737b03819.eot?#iefix);src:url(assets/fonts/046190c9a2f724b925df848737b03819.eot?#iefix) format(\"eot\"),url(assets/fonts/4d52f8276a74ea8efbad833ed790367c.woff2) format(\"woff2\"),url(assets/fonts/a067695dd1b87e927f4056c040d84669.woff) format(\"woff\"),url(assets/fonts/510a664af9771b72d4ce5e637109ca3c.ttf) format(\"truetype\");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Avenir Next;src:url(assets/fonts/0715de188f56c99aa615905f7e06292e.eot?#iefix);src:url(assets/fonts/0715de188f56c99aa615905f7e06292e.eot?#iefix) format(\"eot\"),url(assets/fonts/63f5acc71d9852468683a4bfe824a28f.woff2) format(\"woff2\"),url(assets/fonts/ed94c737da267752ce0abd79bb003ff6.woff) format(\"woff\"),url(assets/fonts/6302f55a6dc6b12365177dc89b7d63cf.ttf) format(\"truetype\");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Avenir Next;src:url(assets/fonts/3f76abc23eef0596c499840db84213bb.eot?#iefix);src:url(assets/fonts/3f76abc23eef0596c499840db84213bb.eot?#iefix) format(\"eot\"),url(assets/fonts/1fe7da97fe9dbe1349aca9b54b5fdf69.woff2) format(\"woff2\"),url(assets/fonts/dacc6a84278e221422902af99579ada5.woff) format(\"woff\"),url(assets/fonts/e530c573663a3a07243d303fbf7db508.ttf) format(\"truetype\");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Avenir Next;src:url(assets/fonts/75f8489ba53f19968feaa3e2eb78c569.eot?#iefix);src:url(assets/fonts/75f8489ba53f19968feaa3e2eb78c569.eot?#iefix) format(\"eot\"),url(assets/fonts/93ec0034623fc696601ab99aba652d4c.woff2) format(\"woff2\"),url(assets/fonts/d73c8eb1c13abe1237366aa3ee829a59.woff) format(\"woff\"),url(assets/fonts/7b6dcef99f3f4b23346e23925ec8678f.ttf) format(\"truetype\");font-weight:600;font-style:italic;font-display:swap}.tet-icon{font-family:Tet Icons;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}@font-face{font-family:Tet Icons;src:url(assets/fonts/d2ce51cdcd0b9707af186f8d50023d23.eot);src:url(assets/fonts/d2ce51cdcd0b9707af186f8d50023d23.eot?#iefix) format(\"embedded-opentype\"),url(assets/fonts/25f10ef322a1220b2e9e11db38b73892.woff2) format(\"woff2\"),url(assets/fonts/fed75ac1edcf1c25cdd8612d2c365f9a.woff) format(\"woff\"),url(assets/fonts/df7fbe67cabb13cb837172a73c46378a.ttf) format(\"truetype\"),url(assets/fonts/5486d8c87e2abc6c13ed952a6cc96658.svg#tet-icons) format(\"svg\");font-weight:400;font-style:normal}.tet-icon:before{content:\"\\E84E\"}.tet-icon--sm{font-size:1.125rem}.tet-icon--md{font-size:1.5rem}.tet-icon--lg{font-size:2.25rem}.tet-icon--xl{font-size:3rem}.tet-icon--xxl{font-size:4rem}.tet-icon--0{font-size:0}.tet-icon--1{font-size:.0625rem}.tet-icon--2{font-size:.125rem}.tet-icon--3{font-size:.1875rem}.tet-icon--4{font-size:.25rem}.tet-icon--5{font-size:.3125rem}.tet-icon--6{font-size:.375rem}.tet-icon--7{font-size:.4375rem}.tet-icon--8{font-size:.5rem}.tet-icon--9{font-size:.5625rem}.tet-icon--10{font-size:.625rem}.tet-icon--11{font-size:.6875rem}.tet-icon--12{font-size:.75rem}.tet-icon--13{font-size:.8125rem}.tet-icon--14{font-size:.875rem}.tet-icon--15{font-size:.9375rem}.tet-icon--16{font-size:1rem}.tet-icon--17{font-size:1.0625rem}.tet-icon--18{font-size:1.125rem}.tet-icon--19{font-size:1.1875rem}.tet-icon--20{font-size:1.25rem}.tet-icon--21{font-size:1.3125rem}.tet-icon--22{font-size:1.375rem}.tet-icon--23{font-size:1.4375rem}.tet-icon--24{font-size:1.5rem}.tet-icon--25{font-size:1.5625rem}.tet-icon--26{font-size:1.625rem}.tet-icon--27{font-size:1.6875rem}.tet-icon--28{font-size:1.75rem}.tet-icon--29{font-size:1.8125rem}.tet-icon--30{font-size:1.875rem}.tet-icon--31{font-size:1.9375rem}.tet-icon--32{font-size:2rem}.tet-icon--33{font-size:2.0625rem}.tet-icon--34{font-size:2.125rem}.tet-icon--35{font-size:2.1875rem}.tet-icon--36{font-size:2.25rem}.tet-icon--37{font-size:2.3125rem}.tet-icon--38{font-size:2.375rem}.tet-icon--39{font-size:2.4375rem}.tet-icon--40{font-size:2.5rem}.tet-icon--41{font-size:2.5625rem}.tet-icon--42{font-size:2.625rem}.tet-icon--43{font-size:2.6875rem}.tet-icon--44{font-size:2.75rem}.tet-icon--45{font-size:2.8125rem}.tet-icon--46{font-size:2.875rem}.tet-icon--47{font-size:2.9375rem}.tet-icon--48{font-size:3rem}.tet-icon--49{font-size:3.0625rem}.tet-icon--50{font-size:3.125rem}.tet-icon--51{font-size:3.1875rem}.tet-icon--52{font-size:3.25rem}.tet-icon--53{font-size:3.3125rem}.tet-icon--54{font-size:3.375rem}.tet-icon--55{font-size:3.4375rem}.tet-icon--56{font-size:3.5rem}.tet-icon--57{font-size:3.5625rem}.tet-icon--58{font-size:3.625rem}.tet-icon--59{font-size:3.6875rem}.tet-icon--60{font-size:3.75rem}.tet-icon--61{font-size:3.8125rem}.tet-icon--62{font-size:3.875rem}.tet-icon--63{font-size:3.9375rem}.tet-icon--64{font-size:4rem}.tet-icon--65{font-size:4.0625rem}.tet-icon--66{font-size:4.125rem}.tet-icon--67{font-size:4.1875rem}.tet-icon--68{font-size:4.25rem}.tet-icon--69{font-size:4.3125rem}.tet-icon--70{font-size:4.375rem}.tet-icon--71{font-size:4.4375rem}.tet-icon--72{font-size:4.5rem}.tet-icon--73{font-size:4.5625rem}.tet-icon--74{font-size:4.625rem}.tet-icon--75{font-size:4.6875rem}.tet-icon--76{font-size:4.75rem}.tet-icon--77{font-size:4.8125rem}.tet-icon--78{font-size:4.875rem}.tet-icon--79{font-size:4.9375rem}.tet-icon--80{font-size:5rem}.tet-icon--81{font-size:5.0625rem}.tet-icon--82{font-size:5.125rem}.tet-icon--83{font-size:5.1875rem}.tet-icon--84{font-size:5.25rem}.tet-icon--85{font-size:5.3125rem}.tet-icon--86{font-size:5.375rem}.tet-icon--87{font-size:5.4375rem}.tet-icon--88{font-size:5.5rem}.tet-icon--89{font-size:5.5625rem}.tet-icon--90{font-size:5.625rem}.tet-icon--91{font-size:5.6875rem}.tet-icon--92{font-size:5.75rem}.tet-icon--93{font-size:5.8125rem}.tet-icon--94{font-size:5.875rem}.tet-icon--95{font-size:5.9375rem}.tet-icon--96{font-size:6rem}.tet-icon--97{font-size:6.0625rem}.tet-icon--98{font-size:6.125rem}.tet-icon--99{font-size:6.1875rem}.tet-icon--100{font-size:6.25rem}.tet-icon--101{font-size:6.3125rem}.tet-icon__add:before{content:\"\\E800\"}.tet-icon__alert-circled:before{content:\"\\E801\"}.tet-icon__alert:before{content:\"\\E802\"}.tet-icon__bank:before{content:\"\\E803\"}.tet-icon__box:before{content:\"\\E804\"}.tet-icon__download:before{content:\"\\E805\"}.tet-icon__burger:before{content:\"\\E806\"}.tet-icon__cancel:before{content:\"\\E807\"}.tet-icon__printer:before{content:\"\\E808\"}.tet-icon__cart-add:before{content:\"\\E809\"}.tet-icon__cart-remove:before{content:\"\\E80A\"}.tet-icon__cart:before{content:\"\\E80B\"}.tet-icon__chat:before{content:\"\\E80C\"}.tet-icon__arrow-up:before{content:\"\\E80D\"}.tet-icon__calendar:before{content:\"\\E80E\"}.tet-icon__help-circled:before{content:\"\\E80F\"}.tet-icon__edit:before{content:\"\\E810\"}.tet-icon__external-link:before{content:\"\\E811\"}.tet-icon__gift:before{content:\"\\E812\"}.tet-icon__person:before{content:\"\\E813\"}.tet-icon__heart:before{content:\"\\E814\"}.tet-icon__language:before{content:\"\\E815\"}.tet-icon__help:before{content:\"\\E816\"}.tet-icon__home-1:before{content:\"\\E817\"}.tet-icon__location:before{content:\"\\E818\"}.tet-icon__home-3:before{content:\"\\E819\"}.tet-icon__chart-even:before{content:\"\\E81A\"}.tet-icon__info-2:before{content:\"\\E81B\"}.tet-icon__key:before{content:\"\\E81C\"}.tet-icon__info:before{content:\"\\E81D\"}.tet-icon__lock-opened:before{content:\"\\E81E\"}.tet-icon__lock-outlined:before{content:\"\\E81F\"}.tet-icon__lock:before{content:\"\\E820\"}.tet-icon__laptop-filled:before{content:\"\\E821\"}.tet-icon__mail:before{content:\"\\E822\"}.tet-icon__options:before{content:\"\\E823\"}.tet-icon__chart-uneven:before{content:\"\\E824\"}.tet-icon__mail-2:before{content:\"\\E825\"}.tet-icon__remove:before{content:\"\\E826\"}.tet-icon__mobile-filled:before{content:\"\\E827\"}.tet-icon__ilu-calendar-check:before{content:\"\\E828\"}.tet-icon__settings-outlined:before{content:\"\\E829\"}.tet-icon__tablet:before{content:\"\\E82A\"}.tet-icon__thumb-up:before{content:\"\\E82B\"}.tet-icon__ilu-purchase:before{content:\"\\E82C\"}.tet-icon__chart-even-outlined:before{content:\"\\E82D\"}.tet-icon__movie:before{content:\"\\E82E\"}.tet-icon__percent:before{content:\"\\E82F\"}.tet-icon__ilu-change-whenever:before{content:\"\\E830\"}.tet-icon__truck:before{content:\"\\E831\"}.tet-icon__zero:before{content:\"\\E832\"}.tet-icon__attach:before{content:\"\\E833\"}.tet-icon__cloud-done:before{content:\"\\E834\"}.tet-icon__cloud-download:before{content:\"\\E835\"}.tet-icon__cloud-upload:before{content:\"\\E836\"}.tet-icon__cloud:before{content:\"\\E837\"}.tet-icon__folder:before{content:\"\\E838\"}.tet-icon__remote:before{content:\"\\E839\"}.tet-icon__router:before{content:\"\\E83A\"}.tet-icon__shield-filled:before{content:\"\\E83B\"}.tet-icon__shield:before{content:\"\\E83C\"}.tet-icon__ilu-devices:before{content:\"\\E83D\"}.tet-icon__ilu-get-points:before{content:\"\\E83E\"}.tet-icon__tv:before{content:\"\\E83F\"}.tet-icon__ilu-internet:before{content:\"\\E840\"}.tet-icon__wifi-outlined:before{content:\"\\E841\"}.tet-icon__wifi:before{content:\"\\E842\"}.tet-icon__description-outlined:before{content:\"\\E843\"}.tet-icon__laptop:before{content:\"\\E844\"}.tet-icon__chart-uneven-outlined:before{content:\"\\E845\"}.tet-icon__meter:before{content:\"\\E846\"}.tet-icon__mobile:before{content:\"\\E847\"}.tet-icon__phone:before{content:\"\\E848\"}.tet-icon__plug-filled:before{content:\"\\E849\"}.tet-icon__plug:before{content:\"\\E84A\"}.tet-icon__print:before{content:\"\\E84B\"}.tet-icon__camera:before{content:\"\\E84C\"}.tet-icon__clock:before{content:\"\\E84D\"}.tet-icon__placeholder:before{content:\"\\E84E\"}.tet-icon__tv-filled:before{content:\"\\E84F\"}.tet-icon__arrow-down:before{content:\"\\E850\"}.tet-icon__arrow-left:before{content:\"\\E851\"}.tet-icon__arrow-right:before{content:\"\\E852\"}.tet-icon__description:before{content:\"\\E853\"}.tet-icon__login:before{content:\"\\E854\"}.tet-icon__check:before{content:\"\\E855\"}.tet-icon__chevron-down:before{content:\"\\E856\"}.tet-icon__chevron-left:before{content:\"\\E857\"}.tet-icon__chevron-right:before{content:\"\\E858\"}.tet-icon__chevron-up:before{content:\"\\E859\"}.tet-icon__close-circled:before{content:\"\\E85A\"}.tet-icon__close:before{content:\"\\E85B\"}.tet-icon__more-horizontal:before{content:\"\\E85C\"}.tet-icon__more-vertical:before{content:\"\\E85D\"}.tet-icon__refresh:before{content:\"\\E85E\"}.tet-icon__facebook:before{content:\"\\E85F\"}.tet-icon__instagram:before{content:\"\\E860\"}.tet-icon__linkedin:before{content:\"\\E861\"}.tet-icon__people:before{content:\"\\E862\"}.tet-icon__logout:before{content:\"\\E863\"}.tet-icon__share:before{content:\"\\E864\"}.tet-icon__twitter:before{content:\"\\E865\"}.tet-icon__cancel-filled:before{content:\"\\E866\"}.tet-icon__done:before{content:\"\\E867\"}.tet-icon__star-filled:before{content:\"\\E868\"}.tet-icon__star:before{content:\"\\E869\"}.tet-icon__clipboard:before{content:\"\\E86A\"}.tet-icon__ilu-calendar:before{content:\"\\E86B\"}.tet-icon__check-circled:before{content:\"\\E86C\"}.tet-icon__ilu-choose-channels:before{content:\"\\E86D\"}.tet-icon__search:before{content:\"\\E86E\"}.tet-icon__warning:before{content:\"\\E86F\"}.tet-icon__ilu-clock-1:before{content:\"\\E870\"}.tet-icon__ilu-fold:before{content:\"\\E871\"}.tet-icon__ilu-letter:before{content:\"\\E872\"}.tet-icon__ilu-pay:before{content:\"\\E873\"}.tet-icon__ilu-meter:before{content:\"\\E874\"}.tet-icon__ilu-sign:before{content:\"\\E875\"}.tet-icon__smart-watch-filled:before{content:\"\\E876\"}.tet-icon__washing-machine-filled:before{content:\"\\E877\"}.tet-icon__bullet:before{content:\"\\E878\"}.tet-icon__sound:before{content:\"\\E879\"}.tet-icon__dropdown:before{content:\"\\E87A\"}.tet-icon__mask-pass:before{content:\"\\E87B\"}.tet-icon__select:before{content:\"\\E87C\"}.tet-icon__text-area-sizing:before{content:\"\\E87D\"}.tet-icon__unmask-pass:before{content:\"\\E87E\"}.tet-icon__bullet-small:before{content:\"\\E882\"}.tet-icon__electric-bolt:before{content:\"\\E880\"}.tet-icon__sun:before{content:\"\\E881\"}:host{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit;padding:0;margin:0}:host{--color-gray-light:#cdd2de;--color-ta070:#f5f6f8;--color-ta080:#e6e8ee;--color-ta100:#cdd2de;--color-ta200:#9ba5be;--color-ta300:#69789c;--color-ta500:#1e356a;--color-ta600:#051d59;--color-tc090:#d6e6fd;--color-tc100:#d1dffe;--color-tc300:#75a1fb;--color-tc500:#1a70f6;--color-tc600:#0060f5;--color-td500:#00F1F2;--color-td600:#01cbe0;--color-tf600:#f53b2a;--color-tg300:#2b3036;--color-tg400:#1d2128;--color-tg500:#12171e;--color-tg600:#01050c;--color-th500:#f5f5f5;--color-ti500:#869198;--color-ti600:#aeb7bc;--text-font:Gilroy, serif;--text-color-darker:var(--color-ta600);--text-color-dark:var(--color-ta500);--text-color-dark-theme:var(--color-th500);--icons-font:Tet Icons, serif}.icon.tet-search{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-search::before{content:\"\\e86e\"}.icon.tet-close-circled{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-close-circled::before{content:\"\\e85a\"}.icon.tet-close{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-close::before{content:\"\\e85b\"}.icon.tet-check-circled{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-check-circled::before{content:\"\\e86c\"}.icon.tet-check{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-check::before{content:\"\\e855\"}.icon.tet-chevron-up{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-chevron-up::before{content:\"\\e859\"}.icon.tet-chevron-down{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-chevron-down::before{content:\"\\e856\"}.icon.tet-clipboard{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-clipboard::before{content:\"\\e86a\"}.icon.tet-info{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-info::before{content:\"\\e81d\"}.icon.tet-done{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-done::before{content:\"\\e867\"}@font-face{font-family:\"Gilroy\";font-style:normal;font-weight:400;font-display:swap;src:url(\"assets/fonts/Gilroy-W05-Medium.woff2\") format(\"woff2\"), url(\"assets/fonts/Gilroy-W05-Medium.woff\") format(\"woff\")}@font-face{font-family:\"Gilroy\";font-style:normal;font-weight:500;font-display:swap;src:url(\"assets/fonts/Gilroy-W05-Medium.woff2\") format(\"woff2\"), url(\"assets/fonts/Gilroy-W05-Medium.woff\") format(\"woff\")}@font-face{font-family:\"Gilroy\";font-style:normal;font-weight:600;font-display:swap;src:url(\"assets/fonts/Gilroy-W05-Semibold.woff2\") format(\"woff2\"), url(\"assets/fonts/Gilroy-W05-Semibold.woff\") format(\"woff\")}@font-face{font-family:\"Gilroy\";font-style:normal;font-weight:700;font-display:swap;src:url(\"assets/fonts/Gilroy-W05-Bold.woff2\") format(\"woff2\"), url(\"assets/fonts/Gilroy-W05-Bold.woff\") format(\"woff\")}@font-face{font-family:\"Inter\";font-style:normal;font-weight:400;font-display:swap;src:url(\"assets/fonts/Inter-Regular.woff2?v=3.19\") format(\"woff2\"), url(\"assets/fonts/Inter-Regular.woff?v=3.19\") format(\"woff\")}@font-face{font-family:\"Inter\";font-style:normal;font-weight:500;font-display:swap;src:url(\"assets/fonts/Inter-Medium.woff2?v=3.19\") format(\"woff2\"), url(\"assets/fonts/Inter-Medium.woff?v=3.19\") format(\"woff\")}@font-face{font-family:\"Inter\";font-style:normal;font-weight:600;font-display:swap;src:url(\"assets/fonts/Inter-SemiBold.woff2?v=3.19\") format(\"woff2\"), url(\"assets/fonts/Inter-SemiBold.woff?v=3.19\") format(\"woff\")}@font-face{font-family:\"Gilroy\";font-style:normal;font-weight:400;font-display:swap;src:url(\"assets/fonts/Gilroy-W05-Medium.woff2\") format(\"woff2\"), url(\"assets/fonts/Gilroy-W05-Medium.woff\") format(\"woff\")}@font-face{font-family:\"Gilroy\";font-style:normal;font-weight:500;font-display:swap;src:url(\"assets/fonts/Gilroy-W05-Medium.woff2\") format(\"woff2\"), url(\"assets/fonts/Gilroy-W05-Medium.woff\") format(\"woff\")}@font-face{font-family:\"Gilroy\";font-style:normal;font-weight:600;font-display:swap;src:url(\"assets/fonts/Gilroy-W05-Semibold.woff2\") format(\"woff2\"), url(\"assets/fonts/Gilroy-W05-Semibold.woff\") format(\"woff\")}@font-face{font-family:\"Gilroy\";font-style:normal;font-weight:700;font-display:swap;src:url(\"assets/fonts/Gilroy-W05-Bold.woff2\") format(\"woff2\"), url(\"assets/fonts/Gilroy-W05-Bold.woff\") format(\"woff\")}@font-face{font-family:\"Inter\";font-style:normal;font-weight:400;font-display:swap;src:url(\"assets/fonts/Inter-Regular.woff2?v=3.19\") format(\"woff2\"), url(\"assets/fonts/Inter-Regular.woff?v=3.19\") format(\"woff\")}@font-face{font-family:\"Inter\";font-style:normal;font-weight:500;font-display:swap;src:url(\"assets/fonts/Inter-Medium.woff2?v=3.19\") format(\"woff2\"), url(\"assets/fonts/Inter-Medium.woff?v=3.19\") format(\"woff\")}@font-face{font-family:\"Inter\";font-style:normal;font-weight:600;font-display:swap;src:url(\"assets/fonts/Inter-SemiBold.woff2?v=3.19\") format(\"woff2\"), url(\"assets/fonts/Inter-SemiBold.woff?v=3.19\") format(\"woff\")}:host{--font-family-fallback:Gilroy, Arial, sans-serif;--font-family-headline:Gilroy;--font-family-content:Inter, var(--font-family-fallback);font-family:var(--font-family-content)}:host{display:flex;align-items:center}.modal-form-card{border-radius:1rem;height:fit-content;box-shadow:var(--b2b-check-out-form-border-shadow);display:flex;flex-direction:column;border:none;--dialog-header-padding:1rem 1.125rem 0.5rem 1.5rem;--dialog-body-padding:0.5rem 1.5rem 2rem;--dialog-width:53rem;--dialog-title-font-size:1.5rem}@media screen and (max-width: 46.25rem){.modal-form-card{--dialog-body-padding:0.5rem 1rem 1.5rem}}.modal-form-card-content{display:flex;flex-direction:column;height:fit-content}.modal-form-card-content.light{--b2b-check-out-form-text-color:var(--tc-text-primary);--b2b-check-out-form-input-border-color:var(--tc-border-secondary);--b2b-check-out-form-accordion-border-color:var(--tc-border-quaternary);--b2b-check-out-form-border-shadow:var(--tc-elevation-six);--b2b-check-out-form-footer-border-color:var(--tc-border-quaternary);--b2b-check-out-form-accordion-background-color:var(--tc-layer-secondary);--b2b-check-out-form-icon-background-color:var(--tc-layer-inverse-primary);--b2b-check-out-form-icon-color:var(--tc-layer-primary)}.modal-form-card-content.dark{--b2b-check-out-form-text-color:var(--tc-text-primary-dark);--b2b-check-out-form-input-border-color:var(--tc-border-secondary-dark);--b2b-check-out-form-accordion-border-color:var(--tc-border-quaternary-dark);--b2b-check-out-form-border-shadow:var(--tc-elevation-six-dark);--b2b-check-out-form-footer-border-color:var(--tc-border-quaternary-dark);--b2b-check-out-form-accordion-background-color:var(--tc-layer-secondary-dark);--b2b-check-out-form-icon-background-color:var(--tc-layer-inverse-primary-dark);--b2b-check-out-form-icon-color:var(--tc-layer-primary-dark)}.modal-form-card-content-header{display:flex;flex-direction:column;justify-content:center;align-items:center;padding-bottom:1.5rem}.modal-form-card-content-header__title{font:600 1.5rem/1.75rem \"Gilroy\", \"Gilroy, Arial, sans-serif\";padding-top:1rem}.modal-form-card-content-header__description{font:400 1rem/1.5rem \"Inter\", \"Gilroy, Arial, sans-serif\"}.modal-form-card-content-accordion-wrapper{border:1px solid var(--b2b-check-out-form-accordion-border-color);border-radius:1rem}.modal-form-card-content-checkbox{--tet-link-color:var(--b2b-check-out-form-text-color)}.modal-form-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:1rem;border-top:1px solid var(--b2b-check-out-form-footer-border-color)}@media screen and (max-width: 46.25rem){.modal-form-card-footer{justify-content:space-between;gap:0;width:100%}}.modal-form-card-form{display:flex;flex-direction:column;gap:1.5rem;padding-top:2rem}@media screen and (max-width: 46.25rem){.modal-form-card-form{gap:1rem;padding-top:1.5rem}}.modal-form-card-input__row{display:flex;flex-direction:row;gap:1.5rem;width:100%}@media screen and (max-width: 46.25rem){.modal-form-card-input__row{gap:1rem;flex-direction:column}}.modal-form-card__input{width:100%;--input-border-radius:0.625rem;--input-border-color:var(--b2b-check-out-form-input-border-color);--accordion-background-color:var(--b2b-check-out-form-input-border-color)}.modal-form-card .cart-header{display:flex;flex-direction:row;justify-content:space-between}.modal-form-card .icon-wrapper{display:flex;border-radius:50%;background-color:var(--b2b-check-out-form-icon-background-color)}.modal-form-card .icon{--icon-color:var(--b2b-check-out-form-icon-color)}";
46
176
  const TetB2bCheckOutFormStyle0 = tetB2bCheckOutFormCss;
47
177
 
@@ -87,13 +217,15 @@ const TetAvailabilityContactForm = /*@__PURE__*/ proxyCustomElement(class TetAva
87
217
  /**
88
218
  * Get validators for each input form and set error messages.
89
219
  */
90
- getValidators(label, isPhoneNr) {
220
+ getValidators(label, type = 'text') {
91
221
  const cleanLabel = label.trim().toLowerCase().replace(',', ' un');
92
222
  let errorText = '';
93
223
  switch (cleanLabel.charAt(cleanLabel.length - 1)) {
94
224
  case 's':
95
225
  {
96
- isPhoneNr ? (errorText = cleanLabel.replace('is', 'i')) : (errorText = cleanLabel.replace(/[s]\b/g, 'u'));
226
+ type === 'phone'
227
+ ? (errorText = cleanLabel.replace('is', 'i'))
228
+ : (errorText = cleanLabel.replace(/[s]\b/g, 'u'));
97
229
  }
98
230
  break;
99
231
  case 'e':
@@ -106,31 +238,35 @@ const TetAvailabilityContactForm = /*@__PURE__*/ proxyCustomElement(class TetAva
106
238
  }
107
239
  const errorMessage = `${translate('components-b2b-check-out-form-validation-error')} ${this.language === 'lv' ? errorText : cleanLabel}`;
108
240
  let validators = [new RequiredValidator(errorMessage)];
109
- if (cleanLabel === 'e-pasts') {
110
- validators = [
111
- new RequiredValidator(errorMessage),
112
- new EMailAddressValidator('components-b2b-check-out-form-email-validation-error')
113
- ];
114
- }
115
- if (isPhoneNr) {
116
- validators = [
117
- new RequiredValidator(errorMessage),
118
- new PhoneNumberValidator('components-validation-incorrect-phone')
119
- ];
241
+ switch (type) {
242
+ case 'email':
243
+ validators.push(new EMailAddressValidator('components-b2b-check-out-form-email-validation-error'));
244
+ return validators;
245
+ case 'phone':
246
+ validators.push(new PhoneNumberValidatorV2('components-validation-incorrect-phone'));
247
+ return validators;
248
+ case 'company-reg':
249
+ validators.push(new CompanyRegistrationNumberValidator('components-b2b-check-out-form-company-registration-number-validation-error'));
250
+ return validators;
251
+ case 'name':
252
+ validators.push(new NameValidator('components-b2b-check-out-form-name-validation-error'));
253
+ return validators;
254
+ default:
255
+ return validators;
120
256
  }
121
- return validators;
122
257
  }
123
258
  /**
124
259
  * Render Input 'tet-input' element.
125
260
  * @param {string} id
126
261
  * @param {string} label
127
262
  * @param {string} placeholder
128
- * @param {boolean} isPhoneNr
263
+ * @param {InputType} type
264
+ * @param {string} maxLength
129
265
  * @returns {HTMLTetInputElement}
130
266
  * @private
131
267
  */
132
- renderInput(id, label, placeholder, isPhoneNr) {
133
- return (h("tet-input", { id: id, class: "modal-form-card__input", theme: this.theme, label: `${label} *`, placeholder: placeholder || label, ...(isPhoneNr && { isPhoneNumber: true }), validators: this.getValidators(label, isPhoneNr) }));
268
+ renderInput(id, label, placeholder, type = 'text', maxLength) {
269
+ return (h("tet-input", { id: id, class: "modal-form-card__input", theme: this.theme, label: `${label} *`, placeholder: placeholder || label, maxlength: maxLength, ...(type === 'phone' && { isPhoneNumber: true }), validators: this.getValidators(label, type) }));
134
270
  }
135
271
  /** Validates all input fields and returns whether all of them are valid or not. */
136
272
  async validateInputFields() {
@@ -164,8 +300,7 @@ const TetAvailabilityContactForm = /*@__PURE__*/ proxyCustomElement(class TetAva
164
300
  get extraFieldsElements() {
165
301
  return this.extraFieldsSlotElement
166
302
  .assignedElements()
167
- .flatMap((parentElement) => Array.from(parentElement.querySelectorAll('input[id], tet-input[id]'))
168
- .filter((element) => element instanceof HTMLInputElement || 'value' in element));
303
+ .flatMap((parentElement) => Array.from(parentElement.querySelectorAll('input[id], tet-input[id]')).filter((element) => element instanceof HTMLInputElement || 'value' in element));
169
304
  }
170
305
  /** Returns the submission data of all extra fields elements with a provided id attribute. */
171
306
  get extraFieldsSubmissionData() {
@@ -190,11 +325,11 @@ const TetAvailabilityContactForm = /*@__PURE__*/ proxyCustomElement(class TetAva
190
325
  }
191
326
  render() {
192
327
  const { theme } = this;
193
- return (h("tet-dialog", { key: '043d85b3fd0eda71856d4c874a209bdd208582ce', class: "modal-form-card", headerTitle: translate('components-b2b-check-out-form-header'), theme: theme, closeOnOverlayClick: false, footerDisplay: "right", ref: (el) => {
328
+ return (h("tet-dialog", { key: 'f4bb1850730d7a0084cf2ca41e3ab815fd04ae61', class: "modal-form-card", headerTitle: translate('components-b2b-check-out-form-header'), theme: theme, closeOnOverlayClick: false, footerDisplay: "right", ref: (el) => {
194
329
  this.dialogElement = el;
195
- } }, h("div", { key: '540478feacb773bb518797d9fe5eea2ef6a7938c', class: { 'modal-form-card-content': true, [`${theme}`]: true } }, h("div", { key: 'a28d3e38abc2e67d2f3beddb8f6f67054febf390', class: "modal-form-card-content-header" }, h("div", { key: '43800b400e2848830f8b322886fd94315ed90d40', class: "icon-wrapper" }, h("tet-icon", { key: '9693fb46b7154bd6745bd2cc30e575b5c30a8ab9', class: "icon", name: "tc-company-1" })), h("span", { key: '3f6a7737c705166682603d07dea587e78a9361ca', class: "modal-form-card-content-header__title" }, translate('components-b2b-check-out-form-title')), h("span", { key: '42a0aaf945629ae453d7eb22e31b0f6a8970ec5c', class: "modal-form-card-content-header__description" }, translate('components-b2b-check-out-form-description'))), h("div", { key: '2aadf102267c297dc00483247552b22ed424264a', class: "modal-form-card-content-accordion-wrapper" }, h("slot", { key: '629c81bb4d56930f9672c3314465f3aa6dd97d03', name: 'cart' })), h("form", { key: 'd33221b54dc8581ad355c2731b8f9457f49ee697', id: "checkOutForm", class: "modal-form-card-form", ref: (ref) => (this.checkOutForm = ref) }, h("div", { key: 'd56dca9b9aefe850a9f2f43e1fac0654d20cb18f', class: "modal-form-card-input__row" }, this.renderInput('companyRegNr', translate('components-b2b-check-out-form-company-registration-number-input-label'), '40000000001'), this.renderInput('companyName', translate('components-b2b-check-out-form-company-name-input-label'))), this.renderInput('address', translate('components-b2b-check-out-form-address-input-label'), translate('components-b2b-check-out-form-address-input-placeholder')), this.renderInput('nameSurname', translate('components-b2b-check-out-form-name-input-label')), h("div", { key: 'f6ed57203b6673c3828e154fe237d9e35a1464b4', class: "modal-form-card-input__row" }, this.renderInput('email', translate('components-b2b-check-out-form-email-input-label'), 'contact@company.com'), this.renderInput('phoneNr', translate('components-b2b-check-out-form-phone-number-input-label'), '123456789', true)), h("tet-checkbox", { key: '694018247c93e59a230269b4d8202712fdf717f4', class: "modal-form-card-content-checkbox", label: translate('components-check-out-form-privacy-policy'), theme: theme }), h("slot", { key: '008345839b50eaa22f6575db195d4709d81954c6', name: "extra-fields", ref: (element) => (this.extraFieldsSlotElement = element) }))), h("div", { key: '3b8a572f59f5f123fd8ad4a59f213908fe82e879', slot: "footer", class: "modal-form-card-footer" }, h("tet-button", { key: '22e34f52a11570c291c2314195b1411cf2859a46', type: "secondary", size: "medium", theme: theme, onClick: () => {
330
+ } }, h("div", { key: '5c23c0ef1f40eefb8a4bb37e3fff838d6f599053', class: { 'modal-form-card-content': true, [`${theme}`]: true } }, h("div", { key: 'ebd1d26f3253c726f7f3ec47dbf4b81c7622171e', class: "modal-form-card-content-header" }, h("div", { key: 'b6f9cb2373f14f0cb7ef74d1ee35762c8011873c', class: "icon-wrapper" }, h("tet-icon", { key: '5c84a9bdd23a0650bb8adde0f7e0486143f58d27', class: "icon", name: "tc-company-1" })), h("span", { key: '1ffbc45a95d93bea491d781744a75075246e4081', class: "modal-form-card-content-header__title" }, translate('components-b2b-check-out-form-title')), h("span", { key: '86b83e78dc06f2a8881717c83b5955bf1d6940cb', class: "modal-form-card-content-header__description" }, translate('components-b2b-check-out-form-description'))), h("div", { key: '0219825c05711b402d3b85379345c26e1d280f05', class: "modal-form-card-content-accordion-wrapper" }, h("slot", { key: 'b387acbdba8121eb8dd8a6b9005852220895d40e', name: "cart" })), h("form", { key: '3f547c73473e5c735df4c816e1237e83435ec355', id: "checkOutForm", class: "modal-form-card-form", ref: (ref) => (this.checkOutForm = ref) }, h("div", { key: '944453791b28bbe5744213f60c683863d2e11968', class: "modal-form-card-input__row" }, this.renderInput('companyRegNr', translate('components-b2b-check-out-form-company-registration-number-input-label'), '40000000001', 'company-reg', '11'), this.renderInput('companyName', translate('components-b2b-check-out-form-company-name-input-label'))), this.renderInput('address', translate('components-b2b-check-out-form-address-input-label'), translate('components-b2b-check-out-form-address-input-placeholder')), this.renderInput('nameSurname', translate('components-b2b-check-out-form-name-input-label'), '', 'name'), h("div", { key: '287e329884ed596a0fe471f1e56ae3aeb2f65ad7', class: "modal-form-card-input__row" }, this.renderInput('email', translate('components-b2b-check-out-form-email-input-label'), 'contact@company.com', 'email'), this.renderInput('phoneNr', translate('components-b2b-check-out-form-phone-number-input-label'), '22222222', 'phone', '8')), h("tet-checkbox", { key: 'b34856f42ef282ac2fa0c771f6ebe241a47d3ae9', class: "modal-form-card-content-checkbox", label: translate('components-check-out-form-privacy-policy'), theme: theme }), h("slot", { key: '01d82f672d1a924cb40e7af5b5132cef7f4fb7ce', name: "extra-fields", ref: (element) => (this.extraFieldsSlotElement = element) }))), h("div", { key: '13b4790fbe9e886299216e171040173ce46bdde5', slot: "footer", class: "modal-form-card-footer" }, h("tet-button", { key: '02045e393c906dbc8670b33271e557c00130599d', type: "secondary", size: "medium", theme: theme, onClick: () => {
196
331
  this.dialogElement.close();
197
- } }, translate('components-b2b-check-out-form-close-button-label')), h("tet-button", { key: '23188a529e876ca089efa218017f5faca6c497ad', type: "primary", size: "medium", theme: theme, onClick: () => this.handleSubmit() }, translate('components-b2b-check-out-form-submit-button-label')))));
332
+ } }, translate('components-b2b-check-out-form-close-button-label')), h("tet-button", { key: 'e277872842c8f9b87c2dd3e4a7fe7cd0dd83cc61', type: "primary", size: "medium", theme: theme, onClick: () => this.handleSubmit() }, translate('components-b2b-check-out-form-submit-button-label')))));
198
333
  }
199
334
  static get watchers() { return {
200
335
  "language": ["onLanguageChange"]
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Required field validator class.
3
+ */
4
+ class RequiredValidator {
5
+ errorMessage;
6
+ /**
7
+ * Constructor.
8
+ *
9
+ * @param errorMessage
10
+ */
11
+ constructor(errorMessage) {
12
+ this.errorMessage = errorMessage;
13
+ }
14
+ /**
15
+ * Returns validation error message.
16
+ */
17
+ getErrorMessage() {
18
+ return this.errorMessage;
19
+ }
20
+ /**
21
+ * Validation logic.
22
+ *
23
+ * @param value
24
+ */
25
+ validate(value) {
26
+ return !!value?.trim();
27
+ }
28
+ }
29
+
30
+ export { RequiredValidator as R };
@@ -7,7 +7,7 @@ import { d as defineCustomElement$l } from './p-bd9b1f18.js';
7
7
  import { d as defineCustomElement$k } from './p-1278b6e9.js';
8
8
  import { d as defineCustomElement$j } from './p-c7dba63e.js';
9
9
  import { d as defineCustomElement$i } from './p-bf642eca.js';
10
- import { d as defineCustomElement$h } from './p-c47caf67.js';
10
+ import { d as defineCustomElement$h } from './p-307c9553.js';
11
11
  import { d as defineCustomElement$g } from './p-36c5e434.js';
12
12
  import { d as defineCustomElement$f } from './p-d7d60ba4.js';
13
13
  import { d as defineCustomElement$e } from './p-99823afc.js';
@@ -1,4 +1,4 @@
1
- import { T as TetAvailabilityContactForm$1, d as defineCustomElement$1 } from './p-c47caf67.js';
1
+ import { T as TetAvailabilityContactForm$1, d as defineCustomElement$1 } from './p-307c9553.js';
2
2
 
3
3
  const TetAvailabilityContactForm = TetAvailabilityContactForm$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { T as TetAvailabilityContactForm, d as defineCustomElement$1 } from './p-dcf5c661.js';
1
+ import { T as TetAvailabilityContactForm, d as defineCustomElement$1 } from './p-8972916d.js';
2
2
 
3
3
  const TetB2bCheckOutForm = TetAvailabilityContactForm;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -3,7 +3,7 @@ import { e as endpoints, A as ApiRequest } from './p-94a1eb7a.js';
3
3
  import { c as createStore, d as defineCustomElement$8 } from './p-9ee3e98b.js';
4
4
  import { t as translate } from './p-3444731e.js';
5
5
  import { d as defineCustomElement$h } from './p-281300b4.js';
6
- import { d as defineCustomElement$g } from './p-dcf5c661.js';
6
+ import { d as defineCustomElement$g } from './p-8972916d.js';
7
7
  import { d as defineCustomElement$f } from './p-4ec49695.js';
8
8
  import { d as defineCustomElement$e } from './p-1415ae1e.js';
9
9
  import { d as defineCustomElement$d } from './p-dcffa870.js';
@@ -1,8 +1,8 @@
1
1
  import { p as proxyCustomElement, H, d as createEvent, f as forceUpdate, h } from './p-c9d79ad4.js';
2
2
  import { p as processTranslations, t as translate } from './p-3444731e.js';
3
3
  import './p-94a1eb7a.js';
4
- import { c as createCallCenterTask } from './p-0e0dcb37.js';
5
- import { P as PhoneNumberValidator, R as RequiredValidator } from './p-12649d6e.js';
4
+ import { P as PhoneNumberValidator, c as createCallCenterTask } from './p-58928b72.js';
5
+ import { R as RequiredValidator } from './p-e1259b83.js';
6
6
  import { d as defineCustomElement$6 } from './p-36c5e434.js';
7
7
  import { d as defineCustomElement$5 } from './p-68024f5b.js';
8
8
  import { d as defineCustomElement$4 } from './p-9ee3e98b.js';
@@ -1,31 +1,15 @@
1
- /**
2
- * Required field validator class.
3
- */
4
- class RequiredValidator {
5
- errorMessage;
6
- /**
7
- * Constructor.
8
- *
9
- * @param errorMessage
10
- */
11
- constructor(errorMessage) {
12
- this.errorMessage = errorMessage;
13
- }
14
- /**
15
- * Returns validation error message.
16
- */
17
- getErrorMessage() {
18
- return this.errorMessage;
19
- }
20
- /**
21
- * Validation logic.
22
- *
23
- * @param value
24
- */
25
- validate(value) {
26
- return !!value?.trim();
27
- }
28
- }
1
+ import { e as endpoints } from './http-codes-eb08ff6f.js';
2
+ import { A as AsyncApiRequest } from './async-request-ab25480d.js';
3
+
4
+ const createCallCenterTask = (options) => {
5
+ const url = endpoints.createCallCenterTask;
6
+ const asyncRequest = new AsyncApiRequest()
7
+ .setUrl(url)
8
+ .setData(options)
9
+ .setOptions({ method: 'POST' })
10
+ .setErrorFallbackValue({ TaskId: null });
11
+ return asyncRequest.execute();
12
+ };
29
13
 
30
14
  /**
31
15
  * The phone validator class.
@@ -71,4 +55,4 @@ class PhoneNumberValidator {
71
55
  }
72
56
  }
73
57
 
74
- export { PhoneNumberValidator as P, RequiredValidator as R };
58
+ export { PhoneNumberValidator as P, createCallCenterTask as c };