@proximus/lavender 1.0.0-alpha.10

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.
@@ -0,0 +1,3510 @@
1
+ const commonStyles = "::slotted(*[grow]){flex-grow:var(--flex-grow-value)}::slotted(*[shrink]){flex-shrink:var(--flex-shrink-value)}::slotted(*[basis]){flex-basis:var(--flex-basis-value)}::slotted(*[align-self]){align-self:var(--flex-align-self-value)}::slotted(*[grow-mobile]){flex-grow:var(--flex-grow-mobile-value)}::slotted(*[shrink-mobile]){flex-shrink:var(--flex-shrink-mobile-value)}::slotted(*[basis-mobile]){flex-basis:var(--flex-basis-mobile-value)}::slotted(*[align-self-mobile]){align-self:var(--flex-align-self-mobile-value)}@media screen and (min-width: 768px){::slotted(*[grow-tablet]){flex-grow:var(--flex-grow-tablet-value)}::slotted(*[shrink-tablet]){flex-shrink:var(--flex-shrink-tablet-value)}::slotted(*[basis-tablet]){flex-basis:var(--flex-basis-tablet-value)}::slotted(*[align-self-tablet]){align-self:var(--flex-align-self-tablet-value)}}@media screen and (min-width: 1025px){::slotted(*[grow-laptop]){flex-grow:var(--flex-grow-laptop-value)}::slotted(*[shrink-laptop]){flex-shrink:var(--flex-shrink-laptop-value)}::slotted(*[basis-laptop]){flex-basis:var(--flex-basis-laptop-value)}::slotted(*[align-self-laptop]){align-self:var(--flex-align-self-laptop-value)}}@media screen and (min-width: 1441px){::slotted(*[grow-desktop]){flex-grow:var(--flex-grow-desktop-value)}::slotted(*[shrink-desktop]){flex-shrink:var(--flex-shrink-desktop-value)}::slotted(*[basis-desktop]){flex-basis:var(--flex-basis-desktop-value)}::slotted(*[align-self-desktop]){align-self:var(--flex-align-self-desktop-value)}}";
2
+ function getSupportedAttributeNames(htmlElementName) {
3
+ const $element = document.createElement(htmlElementName);
4
+ const inputPrototype = Object.getPrototypeOf($element);
5
+ return Object.getOwnPropertyNames(inputPrototype);
6
+ }
7
+ const commonStyleSheet = new CSSStyleSheet();
8
+ commonStyleSheet.replaceSync(commonStyles);
9
+ function replayAttributes(element, observedAttributes, callback) {
10
+ observedAttributes.forEach((name) => {
11
+ const value = element.getAttribute(name);
12
+ if (value !== null) {
13
+ callback(name, value);
14
+ }
15
+ });
16
+ }
17
+ class WithFlexAttributes extends HTMLElement {
18
+ static get observedAttributes() {
19
+ return [
20
+ "grow",
21
+ "grow-tablet",
22
+ "grow-laptop",
23
+ "grow-desktop",
24
+ "shrink",
25
+ "shrink-mobile",
26
+ "shrink-tablet",
27
+ "shrink-laptop",
28
+ "shrink-desktop",
29
+ "basis",
30
+ "basis-mobile",
31
+ "basis-tablet",
32
+ "basis-laptop",
33
+ "basis-desktop",
34
+ "align-self"
35
+ ];
36
+ }
37
+ constructor(...adoptedStylesheets) {
38
+ super();
39
+ if (!this.shadowRoot) {
40
+ this.attachShadow({ mode: "open" });
41
+ }
42
+ this.shadowRoot.adoptedStyleSheets = [
43
+ commonStyleSheet,
44
+ ...adoptedStylesheets
45
+ ];
46
+ }
47
+ attributeChangedCallback(name, oldValue, newValue) {
48
+ if (WithFlexAttributes.observedAttributes.indexOf(name) === -1) {
49
+ return;
50
+ }
51
+ if (newValue === null) {
52
+ this.style.removeProperty(name);
53
+ } else {
54
+ switch (name) {
55
+ case "grow":
56
+ case "shrink":
57
+ case "basis":
58
+ case "grow-mobile":
59
+ case "grow-tablet":
60
+ case "grow-laptop":
61
+ case "grow-desktop":
62
+ case "shrink-mobile":
63
+ case "shrink-tablet":
64
+ case "shrink-laptop":
65
+ case "shrink-desktop":
66
+ case "basis-mobile":
67
+ case "basis-tablet":
68
+ case "basis-laptop":
69
+ case "basis-desktop":
70
+ case "align-self":
71
+ this.style.setProperty(`--flex-${name}-value`, newValue);
72
+ break;
73
+ }
74
+ }
75
+ }
76
+ get grow() {
77
+ return this.getAttribute("grow");
78
+ }
79
+ set grow(value) {
80
+ this.setAttribute("grow", value);
81
+ }
82
+ get shrink() {
83
+ return this.getAttribute("shrink");
84
+ }
85
+ set shrink(value) {
86
+ this.setAttribute("shrink", value);
87
+ }
88
+ get basis() {
89
+ return this.getAttribute("basis");
90
+ }
91
+ set basis(value) {
92
+ this.setAttribute("basis", value);
93
+ }
94
+ get growMobile() {
95
+ return this.getAttribute("grow-mobile");
96
+ }
97
+ set growMobile(value) {
98
+ this.setAttribute("grow-mobile", value);
99
+ }
100
+ get growTablet() {
101
+ return this.getAttribute("grow-tablet");
102
+ }
103
+ set growTablet(value) {
104
+ this.setAttribute("grow-tablet", value);
105
+ }
106
+ get growLaptop() {
107
+ return this.getAttribute("grow-laptop");
108
+ }
109
+ set growLaptop(value) {
110
+ this.setAttribute("grow-laptop", value);
111
+ }
112
+ get growDesktop() {
113
+ return this.getAttribute("grow-desktop");
114
+ }
115
+ set growDesktop(value) {
116
+ this.setAttribute("grow-desktop", value);
117
+ }
118
+ get shrinkMobile() {
119
+ return this.getAttribute("shrink-mobile");
120
+ }
121
+ set shrinkMobile(value) {
122
+ this.setAttribute("shrink-mobile", value);
123
+ }
124
+ get shrinkTablet() {
125
+ return this.getAttribute("shrink-tablet");
126
+ }
127
+ set shrinkTablet(value) {
128
+ this.setAttribute("shrink-tablet", value);
129
+ }
130
+ get shrinkLaptop() {
131
+ return this.getAttribute("shrink-laptop");
132
+ }
133
+ set shrinkLaptop(value) {
134
+ this.setAttribute("shrink-laptop", value);
135
+ }
136
+ get shrinkDesktop() {
137
+ return this.getAttribute("shrink-desktop");
138
+ }
139
+ set shrinkDesktop(value) {
140
+ this.setAttribute("shrink-desktop", value);
141
+ }
142
+ get basisMobile() {
143
+ return this.getAttribute("basis-mobile");
144
+ }
145
+ set basisMobile(value) {
146
+ this.setAttribute("basis-mobile", value);
147
+ }
148
+ get basisTablet() {
149
+ return this.getAttribute("basis-tablet");
150
+ }
151
+ set basisTablet(value) {
152
+ this.setAttribute("basis-tablet", value);
153
+ }
154
+ get basisLaptop() {
155
+ return this.getAttribute("basis-laptop");
156
+ }
157
+ set basisLaptop(value) {
158
+ this.setAttribute("basis-laptop", value);
159
+ }
160
+ get basisDesktop() {
161
+ return this.getAttribute("basis-desktop");
162
+ }
163
+ set basisDesktop(value) {
164
+ this.setAttribute("basis-desktop", value);
165
+ }
166
+ get alignSelf() {
167
+ return this.getAttribute("align-self");
168
+ }
169
+ set alignSelf(value) {
170
+ this.setAttribute("align-self", value);
171
+ }
172
+ get $el() {
173
+ return this;
174
+ }
175
+ }
176
+ class PxElement extends WithFlexAttributes {
177
+ static get observedAttributes() {
178
+ return [
179
+ ...super.observedAttributes,
180
+ ...getSupportedAttributeNames(this.nativeName)
181
+ ];
182
+ }
183
+ attributeChangedCallback(name, oldValue, newValue) {
184
+ super.attributeChangedCallback(name, oldValue, newValue);
185
+ if (newValue === null) {
186
+ this.$el.toggleAttribute(name);
187
+ } else {
188
+ this.$el.setAttribute(name, newValue);
189
+ }
190
+ }
191
+ constructor(semanticTokensStylesheet, ...adoptedStylesheets) {
192
+ super(semanticTokensStylesheet, ...adoptedStylesheets);
193
+ this.nativeName = Object.getPrototypeOf(this).constructor.nativeName;
194
+ }
195
+ connectedCallback() {
196
+ replayAttributes(this, PxElement.observedAttributes, (name, value) => {
197
+ this.attributeChangedCallback(name, null, value);
198
+ });
199
+ for (const name of getSupportedAttributeNames(this.nativeName)) {
200
+ if (name === "constructor") {
201
+ continue;
202
+ }
203
+ Object.defineProperty(this, name, {
204
+ get() {
205
+ return this.$el[name];
206
+ },
207
+ set(value) {
208
+ if (this.$el[name] !== value) {
209
+ this.$el[name] = value;
210
+ }
211
+ }
212
+ });
213
+ }
214
+ }
215
+ get $el() {
216
+ return this.shadowRoot.querySelector(this.nativeName);
217
+ }
218
+ }
219
+ const fontsizeValues = [
220
+ "",
221
+ "default",
222
+ "inherit",
223
+ "xs",
224
+ "s",
225
+ "base",
226
+ "m",
227
+ "l",
228
+ "xl",
229
+ "2xl",
230
+ "3xl",
231
+ "4xl",
232
+ "5xl",
233
+ "6xl",
234
+ "7xl"
235
+ ];
236
+ const colorValues$2 = [
237
+ "",
238
+ "default",
239
+ "inherit",
240
+ "primary",
241
+ "inverted-primary",
242
+ "inverted",
243
+ "body",
244
+ "details",
245
+ "hover",
246
+ "disabled",
247
+ "active",
248
+ "promo",
249
+ "status-success",
250
+ "status-warning",
251
+ "status-error",
252
+ "status-unlimited"
253
+ ];
254
+ const fontweightValues = [
255
+ "",
256
+ "default",
257
+ "inherit",
258
+ "normal",
259
+ "bold",
260
+ "extrabold",
261
+ "light"
262
+ ];
263
+ const iconSizeValues = [
264
+ "",
265
+ "default",
266
+ "2xs",
267
+ "xs",
268
+ "s",
269
+ "m",
270
+ "l",
271
+ "xl",
272
+ "2xl"
273
+ ];
274
+ const paddingValues = ["", "none", "2xs", "xs", "s", "m", "l", "xl"];
275
+ const borderValues = ["", "none", "s", "m", "l"];
276
+ const borderRadiusValues = [
277
+ "",
278
+ "none",
279
+ "xs",
280
+ "s",
281
+ "m",
282
+ "l",
283
+ "xl",
284
+ "2xl",
285
+ "pill"
286
+ ];
287
+ const bgColorValues = [
288
+ "",
289
+ "none",
290
+ "weak",
291
+ "moderate",
292
+ "strong",
293
+ "rich",
294
+ "main",
295
+ "canvas-weak",
296
+ "canvas-light",
297
+ "canvas-soft",
298
+ "canvas-moderate",
299
+ "canvas-strong",
300
+ "canvas-deep",
301
+ "canvas-rich",
302
+ "action-primary",
303
+ "action-secondary",
304
+ "action-hover",
305
+ "action-disabled",
306
+ "action-active",
307
+ "notification",
308
+ "promo",
309
+ "success",
310
+ "error",
311
+ "warning",
312
+ "unlimited"
313
+ ];
314
+ const shadowValues = ["", "none", "s", "m", "l", "xl"];
315
+ const gradientValues = [
316
+ "",
317
+ "purple-bottom-red",
318
+ "purple-bottom-magenta",
319
+ "purple-bottom-orange",
320
+ "purple-bottom-blue",
321
+ "purple-bottom-turquoise",
322
+ "purple-bottom-green",
323
+ "purple-right-red",
324
+ "purple-right-magenta",
325
+ "purple-right-orange",
326
+ "purple-right-blue",
327
+ "purple-right-turquoise",
328
+ "purple-right-green",
329
+ "purple-top-right-red",
330
+ "purple-top-right-magenta",
331
+ "purple-top-right-orange",
332
+ "purple-top-right-blue",
333
+ "purple-top-right-turquoise",
334
+ "purple-top-right-green",
335
+ "purple-bottom-right-red",
336
+ "purple-bottom-right-magenta",
337
+ "purple-bottom-right-orange",
338
+ "purple-bottom-right-blue",
339
+ "purple-bottom-right-turquoise",
340
+ "purple-bottom-right-green",
341
+ "color-bottom-red",
342
+ "color-bottom-magenta",
343
+ "color-bottom-orange",
344
+ "color-bottom-blue",
345
+ "color-bottom-turquoise",
346
+ "color-bottom-green",
347
+ "color-right-red",
348
+ "color-right-magenta",
349
+ "color-right-orange",
350
+ "color-right-blue",
351
+ "color-right-turquoise",
352
+ "color-right-green",
353
+ "color-top-right-red",
354
+ "color-top-right-magenta",
355
+ "color-top-right-orange",
356
+ "color-top-right-blue",
357
+ "color-top-right-turquoise",
358
+ "color-top-right-green",
359
+ "color-bottom-right-red",
360
+ "color-bottom-right-magenta",
361
+ "color-bottom-right-orange",
362
+ "color-bottom-right-blue",
363
+ "color-bottom-right-turquoise",
364
+ "color-bottom-right-green"
365
+ ];
366
+ function addGlobalStylesheet(inlineStyles) {
367
+ const style = document.createElement("style");
368
+ style.innerHTML = inlineStyles;
369
+ document.head.appendChild(style);
370
+ }
371
+ function isFalsy(value) {
372
+ return typeof value === "string" && (value === "false" || value === "0" || value === "null") || typeof value === "boolean" && !value;
373
+ }
374
+ function getViewportFormat() {
375
+ if (window.matchMedia("only screen and (min-width: 768px)").matches) {
376
+ return "tablet";
377
+ } else if (window.matchMedia("only screen and (min-width: 1025px)").matches) {
378
+ return "laptop";
379
+ } else {
380
+ return "mobile";
381
+ }
382
+ }
383
+ const semanticStylesheet = ":host>*:first-child{--px-color-bg-action-primary-default: #5C2D91;--px-color-bg-action-primary-inverted: #ffffff;--px-color-bg-action-secondary-default: rgba(92, 45, 145, .16);--px-color-bg-action-secondary-inverted: rgba(255, 255, 255, .24);--px-color-bg-action-hover-inverted-default: rgba(255, 255, 255, .4);--px-color-bg-action-hover-inverted-inverted: rgba(0, 0, 0, .8);--px-color-bg-action-hover-default: rgba(0, 0, 0, .12);--px-color-bg-action-hover-inverted: rgba(255, 255, 255, .16);--px-color-bg-action-disabled-default: rgba(0, 0, 0, .04);--px-color-bg-action-disabled-inverted: rgba(255, 255, 255, .08);--px-color-bg-action-active-default: #8D79AD;--px-color-bg-action-active-inverted: rgba(255, 255, 255, .8);--px-color-border-main-default: rgba(0, 0, 0, .12);--px-color-border-main-inverted: rgba(255, 255, 255, .16);--px-color-border-contrasted-default: rgba(0, 0, 0, .56);--px-color-border-contrasted-inverted: rgba(255, 255, 255, .64);--px-color-border-action-hover-default: #5C2D91;--px-color-border-action-hover-inverted: #ffffff;--px-color-border-action-active-default: #8D79AD;--px-color-border-action-active-inverted: rgba(255, 255, 255, .8);--px-color-border-none-default: rgba(255, 255, 255, 0);--px-color-border-none-inverted: rgba(255, 255, 255, 0);--px-color-border-success-default: #008000;--px-color-border-success-inverted: #26BB26;--px-color-border-error-default: #B30000;--px-color-border-error-inverted: #F22613;--px-color-border-warning-default: #AC5915;--px-color-border-warning-inverted: #DB992F;--px-color-border-unlimited-default: #016BC1;--px-color-border-unlimited-inverted: #7295CF;--px-color-bg-container-none-default: rgba(255, 255, 255, 0);--px-color-bg-container-none-inverted: rgba(0, 0, 0, 0);--px-color-bg-container-weak-default: rgba(0, 0, 0, .08);--px-color-bg-container-weak-inverted: rgba(255, 255, 255, .12);--px-color-bg-container-moderate-default: rgba(0, 0, 0, .04);--px-color-bg-container-moderate-inverted: rgba(255, 255, 255, .08);--px-color-bg-container-strong-default: rgba(0, 0, 0, .08);--px-color-bg-container-strong-inverted: rgba(255, 255, 255, .12);--px-color-bg-container-rich-default: #252525;--px-color-bg-container-rich-inverted: #ffffff;--px-color-bg-container-main-default: #ffffff;--px-color-bg-container-main-inverted: #ffffff;--px-color-bg-gradient-purple-bottom-red: 180deg, #5C2D91 66%, #EE2E5D 100%;--px-color-bg-gradient-purple-bottom-magenta: 180deg, #5C2D91 66%, #FF418C 100%;--px-color-bg-gradient-purple-bottom-orange: 180deg, #5C2D91 66%, #F39200 100%;--px-color-bg-gradient-purple-bottom-blue: 180deg, #5C2D91 66%, #00BCEE 100%;--px-color-bg-gradient-purple-bottom-turquoise: 180deg, #5C2D91 66%, #66D2CC 100%;--px-color-bg-gradient-purple-bottom-green: 180deg, #5C2D91 66%, #81C747 100%;--px-color-bg-gradient-purple-right-red: 90deg, #5C2D91 66%, #EE2E5D 100%;--px-color-bg-gradient-purple-right-magenta: 90deg, #5C2D91 66%, #FF418C 100%;--px-color-bg-gradient-purple-right-orange: 90deg, #5C2D91 66%, #F39200 100%;--px-color-bg-gradient-purple-right-blue: 90deg, #5C2D91 66%, #00BCEE 100%;--px-color-bg-gradient-purple-right-turquoise: 90deg, #5C2D91 66%, #66D2CC 100%;--px-color-bg-gradient-purple-right-green: 90deg, #5C2D91 66%, #81C747 100%;--px-color-bg-gradient-purple-top-right-red: 25deg, #5C2D91 66%, #EE2E5D 100%;--px-color-bg-gradient-purple-top-right-magenta: 25deg, #5C2D91 66%, #FF418C 100%;--px-color-bg-gradient-purple-top-right-orange: 25deg, #5C2D91 66%, #F39200 100%;--px-color-bg-gradient-purple-top-right-blue: 25deg, #5C2D91 66%, #00BCEE 100%;--px-color-bg-gradient-purple-top-right-turquoise: 25deg, #5C2D91 66%, #66D2CC 100%;--px-color-bg-gradient-purple-top-right-green: 25deg, #5C2D91 66%, #81C747 100%;--px-color-bg-gradient-purple-bottom-right-red: 155deg, #5C2D91 66%, #EE2E5D 100%;--px-color-bg-gradient-purple-bottom-right-magenta: 155deg, #5C2D91 66%, #FF418C 100%;--px-color-bg-gradient-purple-bottom-right-orange: 155deg, #5C2D91 66%, #F39200 100%;--px-color-bg-gradient-purple-bottom-right-blue: 155deg, #5C2D91 66%, #00BCEE 100%;--px-color-bg-gradient-purple-bottom-right-turquoise: 155deg, #5C2D91 66%, #66D2CC 100%;--px-color-bg-gradient-purple-bottom-right-green: 155deg, #5C2D91 66%, #81C747 100%;--px-color-bg-gradient-color-bottom-red: 180deg, #5C2D91 3%, #EE2E5D 66%;--px-color-bg-gradient-color-bottom-magenta: 180deg, #5C2D91 3%, #FF418C 66%;--px-color-bg-gradient-color-bottom-orange: 180deg, #5C2D91 3%, #F39200 66%;--px-color-bg-gradient-color-bottom-blue: 180deg, #5C2D91 3%, #00BCEE 66%;--px-color-bg-gradient-color-bottom-turquoise: 180deg, #5C2D91 3%, #66D2CC 66%;--px-color-bg-gradient-color-bottom-green: 180deg, #5C2D91 3%, #81C747 66%;--px-color-bg-gradient-color-right-red: 90deg, #5C2D91 3%, #EE2E5D 66%;--px-color-bg-gradient-color-right-magenta: 90deg, #5C2D91 3%, #FF418C 66%;--px-color-bg-gradient-color-right-orange: 90deg, #5C2D91 3%, #F39200 66%;--px-color-bg-gradient-color-right-blue: 90deg, #5C2D91 3%, #00BCEE 66%;--px-color-bg-gradient-color-right-turquoise: 90deg, #5C2D91 3%, #66D2CC 66%;--px-color-bg-gradient-color-right-green: 90deg, #5C2D91 3%, #81C747 66%;--px-color-bg-gradient-color-top-right-red: 25deg, #5C2D91 3%, #EE2E5D 66%;--px-color-bg-gradient-color-top-right-magenta: 25deg, #5C2D91 3%, #FF418C 66%;--px-color-bg-gradient-color-top-right-orange: 25deg, #5C2D91 3%, #F39200 66%;--px-color-bg-gradient-color-top-right-blue: 25deg, #5C2D91 3%, #00BCEE 66%;--px-color-bg-gradient-color-top-right-turquoise: 25deg, #5C2D91 3%, #66D2CC 66%;--px-color-bg-gradient-color-top-right-green: 25deg, #5C2D91 3%, #81C747 66%;--px-color-bg-gradient-color-bottom-right-red: 155deg, #5C2D91 3%, #EE2E5D 66%;--px-color-bg-gradient-color-bottom-right-magenta: 155deg, #5C2D91 3%, #FF418C 66%;--px-color-bg-gradient-color-bottom-right-orange: 155deg, #5C2D91 3%, #F39200 66%;--px-color-bg-gradient-color-bottom-right-blue: 155deg, #5C2D91 3%, #00BCEE 66%;--px-color-bg-gradient-color-bottom-right-turquoise: 155deg, #5C2D91 3%, #66D2CC 66%;--px-color-bg-gradient-color-bottom-right-green: 155deg, #5C2D91 3%, #81C747 66%;--px-color-bg-notification-default: #DE2A56;--px-color-bg-notification-inverted: #DE2A56;--px-color-bg-promo-default: #DE2A56;--px-color-bg-promo-inverted: #E43C65;--px-color-bg-success-default: #008000;--px-color-bg-success-inverted: #26BB26;--px-color-bg-error-default: #B30000;--px-color-bg-error-inverted: #F22613;--px-color-bg-warning-default: #AC5915;--px-color-bg-warning-inverted: #DB992F;--px-color-bg-unlimited-default: #016BC1;--px-color-bg-unlimited-inverted: #7295CF;--px-color-canvas-weak: #f9f9f9;--px-color-canvas-light: #e4e4e4;--px-color-canvas-soft: #c6c6c6;--px-color-canvas-moderate: #a1a1a1;--px-color-canvas-strong: #727272;--px-color-canvas-deep: #464646;--px-color-canvas-rich: #252525;--px-color-datavis-green: #008000;--px-color-datavis-orange: #F39200;--px-color-datavis-red: #B30000;--px-color-datavis-magenta: #FF418C;--px-color-datavis-blue: #016BC1;--px-color-datavis-turquoise: #66D2CC;--px-color-icon-primary-default: #5C2D91;--px-color-icon-primary-inverted: #ffffff;--px-color-icon-body-default: #252525;--px-color-icon-body-inverted: #ffffff;--px-color-icon-details-default: rgba(0, 0, 0, .56);--px-color-icon-details-inverted: rgba(255, 255, 255, .64);--px-color-icon-hover-default: #8D79AD;--px-color-icon-hover-inverted: rgba(255, 255, 255, .8);--px-color-icon-active-default: #8D79AD;--px-color-icon-active-inverted: rgba(255, 255, 255, .8);--px-color-icon-disabled-default: rgba(0, 0, 0, .12);--px-color-icon-disabled-inverted: rgba(255, 255, 255, .16);--px-color-icon-success-default: #008000;--px-color-icon-success-inverted: #26BB26;--px-color-icon-warning-default: #AC5915;--px-color-icon-warning-inverted: #DB992F;--px-color-icon-error-default: #B30000;--px-color-icon-error-inverted: #F22613;--px-color-icon-unlimited-default: #016BC1;--px-color-icon-unlimited-inverted: #7295CF;--px-color-icon-promo-default: #DE2A56;--px-color-icon-promo-inverted: #FF4371;--px-color-illu-purple-bare: #F4F2F6;--px-color-illu-purple-weak: #E8E5ED;--px-color-illu-purple-light: #CEC8DA;--px-color-illu-purple-soft: #B0A5C5;--px-color-illu-purple-moderate: #8D79AD;--px-color-illu-purple-strong: #472370;--px-color-illu-red-weak: #F9E5E7;--px-color-illu-red-soft: #ECA5AE;--px-color-illu-red-core: #DE2A56;--px-color-illu-magenta-weak: #FFE6ED;--px-color-illu-magenta-soft: #FFA9C2;--px-color-illu-magenta-core: #FF418C;--px-color-illu-orange-weak: #FDEDE4;--px-color-illu-orange-soft: #F8C5A1;--px-color-illu-orange-core: #F39200;--px-color-illu-blue-bare: #F2F9FD;--px-color-illu-blue-weak: #E4F3FC;--px-color-illu-blue-soft: #A1D9F5;--px-color-illu-blue-core: #00BCEE;--px-color-illu-turquoise-weak: #E9F7F6;--px-color-illu-turquoise-soft: #B4E5E2;--px-color-illu-turquoise-moderate: #92DCD7;--px-color-illu-turquoise-core: #66D2CC;--px-color-illu-green-weak: #EBF5E6;--px-color-illu-green-soft: #BEDFAA;--px-color-illu-green-core: #81C747;--px-color-illu-yellow-core: #FFCA00;--px-color-txt-primary-default: #5C2D91;--px-color-txt-primary-inverted: #ffffff;--px-color-txt-inverted-primary-default: #ffffff;--px-color-txt-inverted-primary-inverted: #5C2D91;--px-color-txt-inverted-default: #ffffff;--px-color-txt-inverted-inverted: #252525;--px-color-txt-body-default: #252525;--px-color-txt-body-inverted: #ffffff;--px-color-txt-details-default: rgba(0, 0, 0, .56);--px-color-txt-details-inverted: rgba(255, 255, 255, .64);--px-color-txt-hover-default: #8D79AD;--px-color-txt-hover-inverted: rgba(255, 255, 255, .8);--px-color-txt-disabled-default: rgba(0, 0, 0, .12);--px-color-txt-disabled-inverted: rgba(255, 255, 255, .16);--px-color-txt-active-default: #8D79AD;--px-color-txt-active-inverted: rgba(255, 255, 255, .8);--px-color-txt-promo-default: #DE2A56;--px-color-txt-promo-inverted: #FF4371;--px-color-txt-status-success-default: #008000;--px-color-txt-status-success-inverted: #26BB26;--px-color-txt-status-error-default: #B30000;--px-color-txt-status-error-inverted: #F22613;--px-color-txt-status-warning-default: #AC5915;--px-color-txt-status-warning-inverted: #DB992F;--px-color-txt-status-unlimited-default: #016BC1;--px-color-txt-status-unlimited-inverted: #7295CF;--px-breakpoints-mobile-min: 0px;--px-breakpoints-mobile-max: 767px;--px-breakpoints-tablet-min: 768px;--px-breakpoints-tablet-max: 1024px;--px-breakpoints-laptop-min: 1025px;--px-breakpoints-laptop-max: 1440px;--px-breakpoints-desktop-min: 1441px;--px-breakpoints-desktop-max: 99999px;--px-border-none: 0px;--px-border-s: 1px;--px-border-m: 2px;--px-border-l: 3px;--px-radius-none: 0px;--px-radius-xs: 3px;--px-radius-s: 4px;--px-radius-m: 8px;--px-radius-l: 12px;--px-radius-xl: 16px;--px-radius-2xl: 22px;--px-radius-pill: 9999px;--px-shadow-none: 0px 0px 0px 0px #00000080;--px-shadow-s: 0px 1px 2px 0px rgba(0, 0, 0, .12);--px-shadow-m: 0px 4px 6px -1px rgba(0, 0, 0, .08);--px-shadow-l: 0px 10px 15px -3px rgba(0, 0, 0, .08);--px-shadow-xl: 0px 20px 25px -5px rgba(0, 0, 0, .08);--px-spacing-between-icon-horizontal: 8px;--px-spacing-text-to-icon-compact-horizontal: 4px;--px-spacing-text-to-icon-horizontal: 24px;--px-spacing-component-compact-horizontal: 16px;--px-spacing-component-default-horizontal: 20px;--px-spacing-component-expanded-horizontal: 80px;--px-spacing-between-icon-horizontal-mobile: 8px;--px-spacing-text-to-icon-horizontal-mobile: 16px;--px-spacing-component-compact-horizontal-mobile: 8px;--px-spacing-component-default-horizontal-mobile: 16px;--px-spacing-component-expanded-horizontal-mobile: 32px;--px-padding-none: 0px;--px-padding-2xs: 4px;--px-padding-xs: 8px;--px-padding-s: 16px;--px-padding-m: 24px;--px-padding-l: 32px;--px-padding-xl: 40px;--px-padding-none-mobile: 0px;--px-padding-2xs-mobile: 4px;--px-padding-xs-mobile: 8px;--px-padding-s-mobile: 16px;--px-padding-mobile-mobile: 24px;--px-padding-l-mobile: 24px;--px-padding-xl-mobile: 24px;--px-size-action: 44px;--px-size-input-box: 44px;--px-size-default: 44px;--px-size-action-mobile: 40px;--px-size-input-box-mobile: 40px;--px-size-default-mobile: 40px;--px-spacing-between-options-vertical: 0px;--px-spacing-under-text-vertical: 8px;--px-spacing-display-to-subtitle-vertical: 16px;--px-spacing-under-display-vertical: 24px;--px-spacing-component-default-vertical: 24px;--px-spacing-component-expanded-vertical: 40px;--px-spacing-between-section-vertical: 80px;--px-spacing-between-options-vertical-mobile: 0px;--px-spacing-under-text-vertical-mobile: 8px;--px-spacing-display-to-subtitle-vertical-mobile: 8px;--px-spacing-under-display-vertical-mobile: 16px;--px-spacing-component-default-vertical-mobile: 16px;--px-spacing-component-expanded-vertical-mobile: 16px;--px-spacing-between-section-vertical-mobile: 32px;--px-icon-size-2xs-mobile: 12px;--px-icon-size-2xs-tablet: 12px;--px-icon-size-2xs-desktop: 12px;--px-icon-size-xs-mobile: 16px;--px-icon-size-xs-tablet: 16px;--px-icon-size-xs-desktop: 16px;--px-icon-size-s-mobile: 20px;--px-icon-size-s-tablet: 20px;--px-icon-size-s-desktop: 20px;--px-icon-size-m-mobile: 24px;--px-icon-size-m-tablet: 24px;--px-icon-size-m-desktop: 24px;--px-icon-size-l-mobile: 32px;--px-icon-size-l-tablet: 32px;--px-icon-size-l-desktop: 32px;--px-icon-size-xl-mobile: 40px;--px-icon-size-xl-tablet: 40px;--px-icon-size-xl-desktop: 40px;--px-icon-size-2xl-mobile: 48px;--px-icon-size-2xl-tablet: 48px;--px-icon-size-2xl-desktop: 48px;--px-line-height-xs-mobile: 15px;--px-line-height-xs-tablet: 15px;--px-line-height-xs-desktop: 18px;--px-line-height-s-mobile: 18px;--px-line-height-s-tablet: 18px;--px-line-height-s-desktop: 21px;--px-line-height-base-mobile: 21px;--px-line-height-base-tablet: 21px;--px-line-height-base-desktop: 24px;--px-line-height-m-mobile: 24px;--px-line-height-m-tablet: 24px;--px-line-height-m-desktop: 27px;--px-line-height-l-mobile: 27px;--px-line-height-l-tablet: 27px;--px-line-height-l-desktop: 30px;--px-line-height-xl-mobile: 30px;--px-line-height-xl-tablet: 30px;--px-line-height-xl-desktop: 36px;--px-line-height-2xl-mobile: 36px;--px-line-height-2xl-tablet: 36px;--px-line-height-2xl-desktop: 42px;--px-line-height-3xl-mobile: 42px;--px-line-height-3xl-tablet: 42px;--px-line-height-3xl-desktop: 48px;--px-line-height-4xl-mobile: 48px;--px-line-height-4xl-tablet: 48px;--px-line-height-4xl-desktop: 54px;--px-line-height-5xl-mobile: 54px;--px-line-height-5xl-tablet: 54px;--px-line-height-5xl-desktop: 60px;--px-line-height-6xl-mobile: 60px;--px-line-height-6xl-tablet: 60px;--px-line-height-6xl-desktop: 72px;--px-text-size-xs-mobile: 10px;--px-text-size-xs-tablet: 10px;--px-text-size-xs-desktop: 12px;--px-text-size-s-mobile: 12px;--px-text-size-s-tablet: 12px;--px-text-size-s-desktop: 14px;--px-text-size-base-mobile: 14px;--px-text-size-base-tablet: 14px;--px-text-size-base-desktop: 16px;--px-text-size-m-mobile: 16px;--px-text-size-m-tablet: 16px;--px-text-size-m-desktop: 18px;--px-text-size-l-mobile: 18px;--px-text-size-l-tablet: 18px;--px-text-size-l-desktop: 20px;--px-text-size-xl-mobile: 20px;--px-text-size-xl-tablet: 20px;--px-text-size-xl-desktop: 24px;--px-text-size-2xl-mobile: 24px;--px-text-size-2xl-tablet: 24px;--px-text-size-2xl-desktop: 28px;--px-text-size-3xl-mobile: 28px;--px-text-size-3xl-tablet: 28px;--px-text-size-3xl-desktop: 32px;--px-text-size-4xl-mobile: 32px;--px-text-size-4xl-tablet: 32px;--px-text-size-4xl-desktop: 36px;--px-text-size-5xl-mobile: 36px;--px-text-size-5xl-tablet: 36px;--px-text-size-5xl-desktop: 40px;--px-text-size-6xl-mobile: 40px;--px-text-size-6xl-tablet: 40px;--px-text-size-6xl-desktop: 48px;--px-text-size-7xl-mobile: 48px;--px-text-size-7xl-tablet: 48px;--px-text-size-7xl-desktop: 64px}";
384
+ const proximusSemanticStyleSheet = new CSSStyleSheet();
385
+ proximusSemanticStyleSheet.replaceSync(semanticStylesheet);
386
+ const styles$e = ".flex-container{display:flex;height:100%;width:100%;box-sizing:border-box;flex-direction:var(--flex-direction-mobile-value);gap:var(--flex-gap-mobile-value);flex-wrap:var(--flex-wrap-mobile-value);justify-content:var(--flex-justify-content-mobile-value);align-items:var(--flex-align-items-mobile-value)}@media screen and (min-width: 768px){.flex-container{flex-direction:var(--flex-direction-tablet-value);gap:var(--flex-gap-tablet-value);flex-wrap:var(--flex-wrap-tablet-value);justify-content:var(--flex-justify-content-tablet-value);align-items:var(--flex-align-items-tablet-value)}}@media screen and (min-width: 1025px){.flex-container{flex-direction:var(--flex-direction-laptop-value);gap:var(--flex-gap-laptop-value);flex-wrap:var(--flex-wrap-laptop-value);justify-content:var(--flex-justify-content-laptop-value);align-items:var(--flex-align-items-laptop-value)}}@media screen and (min-width: 1441px){.flex-container{flex-direction:var(--flex-direction-desktop-value);gap:var(--flex-gap-desktop-value);flex-wrap:var(--flex-wrap-desktop-value);justify-content:var(--flex-justify-content-desktop-value);align-items:var(--flex-align-items-desktop-value)}}";
387
+ const styleSheet$d = new CSSStyleSheet();
388
+ styleSheet$d.replaceSync(styles$e);
389
+ const gapValues = [
390
+ // Vertical
391
+ "between-section-vertical",
392
+ "between-options-vertical",
393
+ "under-text-vertical",
394
+ "display-to-subtitle-vertical",
395
+ "under-display-vertical",
396
+ "component-default-vertical",
397
+ "component-expanded-vertical",
398
+ "between-section-vertical-mobile",
399
+ "between-options-vertical-mobile",
400
+ "under-text-vertical-mobile",
401
+ "display-to-subtitle-vertical-mobile",
402
+ "under-display-vertical-mobile",
403
+ "component-default-vertical-mobile",
404
+ "component-expanded-vertical-mobile",
405
+ // Horizontal
406
+ "between-icon-horizontal",
407
+ "text-to-icon-compact-horizontal",
408
+ "text-to-icon-horizontal",
409
+ "component-compact-horizontal",
410
+ "component-default-horizontal",
411
+ "component-expanded-horizontal",
412
+ "between-icon-horizontal-mobile",
413
+ "text-to-icon-compact-horizontal-mobile",
414
+ "text-to-icon-horizontal-mobile",
415
+ "component-compact-horizontal-mobile",
416
+ "component-default-horizontal-mobile"
417
+ ];
418
+ class Stack extends WithFlexAttributes {
419
+ constructor(semanticTokensStylesheet) {
420
+ super(semanticTokensStylesheet, styleSheet$d);
421
+ this.template = `<div class="flex-container">
422
+ <slot></slot>
423
+ </div>`;
424
+ this.shadowRoot.innerHTML = this.template;
425
+ }
426
+ connectedCallback() {
427
+ replayAttributes(this, Stack.observedAttributes, (name, value) => {
428
+ this.attributeChangedCallback(name, null, value);
429
+ });
430
+ if (!this.hasAttribute("direction")) {
431
+ this.direction = "row";
432
+ }
433
+ }
434
+ static get observedAttributes() {
435
+ return [
436
+ ...super.observedAttributes,
437
+ "direction",
438
+ "direction-mobile",
439
+ "direction-tablet",
440
+ "direction-laptop",
441
+ "direction-desktop",
442
+ "gap",
443
+ "gap-mobile",
444
+ "gap-tablet",
445
+ "gap-laptop",
446
+ "gap-desktop",
447
+ "justify-content",
448
+ "justify-content-mobile",
449
+ "justify-content-tablet",
450
+ "justify-content-laptop",
451
+ "justify-content-desktop",
452
+ "align-items",
453
+ "align-items-mobile",
454
+ "align-items-tablet",
455
+ "align-items-laptop",
456
+ "align-items-desktop",
457
+ "wrap",
458
+ "wrap-mobile",
459
+ "wrap-tablet",
460
+ "wrap-laptop",
461
+ "wrap-desktop"
462
+ ];
463
+ }
464
+ attributeChangedCallback(name, oldValue, newValue) {
465
+ if (name.indexOf("direction") > -1 && !["column", "row"].includes(newValue)) {
466
+ throw new Error("Invalid direction");
467
+ }
468
+ switch (name) {
469
+ case "gap":
470
+ if (!this.$el.style.getPropertyValue("--flex-gap-mobile-value")) {
471
+ this.$el.style.setProperty(
472
+ `--flex-gap-mobile-value`,
473
+ this.getGapCSSVariable(newValue)
474
+ );
475
+ }
476
+ if (!this.$el.style.getPropertyValue("--flex-gap-tablet-value")) {
477
+ this.$el.style.setProperty(
478
+ `--flex-gap-tablet-value`,
479
+ this.getGapCSSVariable(newValue)
480
+ );
481
+ }
482
+ if (!this.$el.style.getPropertyValue("--flex-gap-laptop-value")) {
483
+ this.$el.style.setProperty(
484
+ `--flex-gap-laptop-value`,
485
+ this.getGapCSSVariable(newValue)
486
+ );
487
+ }
488
+ if (!this.$el.style.getPropertyValue("--flex-gap-desktop-value")) {
489
+ this.$el.style.setProperty(
490
+ `--flex-gap-desktop-value`,
491
+ this.getGapCSSVariable(newValue)
492
+ );
493
+ }
494
+ break;
495
+ case "gap-mobile":
496
+ case "gap-tablet":
497
+ case "gap-laptop":
498
+ case "gap-desktop":
499
+ this.$el.style.setProperty(
500
+ `--flex-${name}-value`,
501
+ this.getGapCSSVariable(newValue)
502
+ );
503
+ break;
504
+ case "direction":
505
+ if (!this.$el.style.getPropertyValue("--flex-direction-mobile-value")) {
506
+ this.$el.style.setProperty(`--flex-direction-mobile-value`, newValue);
507
+ }
508
+ if (!this.$el.style.getPropertyValue("--flex-direction-tablet-value")) {
509
+ this.$el.style.setProperty(`--flex-direction-tablet-value`, newValue);
510
+ }
511
+ if (!this.$el.style.getPropertyValue("--flex-direction-laptop-value")) {
512
+ this.$el.style.setProperty(`--flex-direction-laptop-value`, newValue);
513
+ }
514
+ if (!this.$el.style.getPropertyValue("--flex-direction-desktop-value")) {
515
+ this.$el.style.setProperty(
516
+ `--flex-direction-desktop-value`,
517
+ newValue
518
+ );
519
+ }
520
+ break;
521
+ case "justify-content":
522
+ if (!this.$el.style.getPropertyValue(
523
+ "--flex-justify-content-mobile-value"
524
+ )) {
525
+ this.$el.style.setProperty(
526
+ `--flex-justify-content-mobile-value`,
527
+ newValue
528
+ );
529
+ }
530
+ if (!this.$el.style.getPropertyValue(
531
+ "--flex-justify-content-tablet-value"
532
+ )) {
533
+ this.$el.style.setProperty(
534
+ `--flex-justify-content-tablet-value`,
535
+ newValue
536
+ );
537
+ }
538
+ if (!this.$el.style.getPropertyValue(
539
+ "--flex-justify-content-laptop-value"
540
+ )) {
541
+ this.$el.style.setProperty(
542
+ `--flex-justify-content-laptop-value`,
543
+ newValue
544
+ );
545
+ }
546
+ if (!this.$el.style.getPropertyValue(
547
+ "--flex-justify-content-desktop-value"
548
+ )) {
549
+ this.$el.style.setProperty(
550
+ `--flex-justify-content-desktop-value`,
551
+ newValue
552
+ );
553
+ }
554
+ break;
555
+ case "align-items":
556
+ if (!this.$el.style.getPropertyValue("--flex-align-items-mobile-value")) {
557
+ this.$el.style.setProperty(
558
+ `--flex-align-items-mobile-value`,
559
+ newValue
560
+ );
561
+ }
562
+ if (!this.$el.style.getPropertyValue("--flex-align-items-tablet-value")) {
563
+ this.$el.style.setProperty(
564
+ `--flex-align-items-tablet-value`,
565
+ newValue
566
+ );
567
+ }
568
+ if (!this.$el.style.getPropertyValue("--flex-align-items-laptop-value")) {
569
+ this.$el.style.setProperty(
570
+ `--flex-align-items-laptop-value`,
571
+ newValue
572
+ );
573
+ }
574
+ if (!this.$el.style.getPropertyValue("--flex-align-items-desktop-value")) {
575
+ this.$el.style.setProperty(
576
+ `--flex-align-items-desktop-value`,
577
+ newValue
578
+ );
579
+ }
580
+ break;
581
+ case "wrap":
582
+ if (!this.$el.style.getPropertyValue(`--flex-wrap-mobile-value`)) {
583
+ this.$el.style.setProperty(`--flex-wrap-mobile-value`, newValue);
584
+ }
585
+ if (!this.$el.style.getPropertyValue(`--flex-wrap-tablet-value`)) {
586
+ this.$el.style.setProperty(`--flex-wrap-tablet-value`, newValue);
587
+ }
588
+ if (!this.$el.style.getPropertyValue(`--flex-wrap-laptop-value`)) {
589
+ this.$el.style.setProperty(`--flex-wrap-laptop-value`, newValue);
590
+ }
591
+ if (!this.$el.style.getPropertyValue(`--flex-wrap-desktop-value`)) {
592
+ this.$el.style.setProperty(`--flex-wrap-desktop-value`, newValue);
593
+ }
594
+ break;
595
+ case "direction-mobile":
596
+ case "direction-tablet":
597
+ case "direction-laptop":
598
+ case "direction-desktop":
599
+ case "justify-content-mobile":
600
+ case "justify-content-tablet":
601
+ case "justify-content-laptop":
602
+ case "justify-content-desktop":
603
+ case "align-items-mobile":
604
+ case "align-items-tablet":
605
+ case "align-items-laptop":
606
+ case "align-items-desktop":
607
+ case "wrap-mobile":
608
+ case "wrap-tablet":
609
+ case "wrap-laptop":
610
+ case "wrap-desktop":
611
+ this.$el.style.setProperty(`--flex-${name}-value`, newValue);
612
+ break;
613
+ default:
614
+ super.attributeChangedCallback(name, oldValue, newValue);
615
+ break;
616
+ }
617
+ }
618
+ getGapCSSVariable(newValue) {
619
+ return gapValues.includes(newValue) ? `var(--px-spacing-${newValue})` : newValue;
620
+ }
621
+ get direction() {
622
+ return this.getAttribute("direction");
623
+ }
624
+ set direction(value) {
625
+ this.setAttribute("direction", value);
626
+ }
627
+ get directionMobile() {
628
+ return this.getAttribute("direction-mobile");
629
+ }
630
+ set directionMobile(value) {
631
+ this.setAttribute("direction-mobile", value);
632
+ }
633
+ get directionTablet() {
634
+ return this.getAttribute("direction-tablet");
635
+ }
636
+ set directionTablet(value) {
637
+ this.setAttribute("direction-tablet", value);
638
+ }
639
+ get directionLaptop() {
640
+ return this.getAttribute("direction-laptop");
641
+ }
642
+ set directionLaptop(value) {
643
+ this.setAttribute("direction-laptop", value);
644
+ }
645
+ get directionDesktop() {
646
+ return this.getAttribute("direction-desktop");
647
+ }
648
+ set directionDesktop(value) {
649
+ this.setAttribute("direction-desktop", value);
650
+ }
651
+ get gap() {
652
+ return this.getAttribute("gap");
653
+ }
654
+ set gap(value) {
655
+ this.setAttribute("gap", value);
656
+ }
657
+ get gapMobile() {
658
+ return this.getAttribute("gap-mobile");
659
+ }
660
+ set gapMobile(value) {
661
+ this.setAttribute("gap-mobile", value);
662
+ }
663
+ get gapTablet() {
664
+ return this.getAttribute("gap-tablet");
665
+ }
666
+ set gapTablet(value) {
667
+ this.setAttribute("gap-tablet", value);
668
+ }
669
+ get gapLaptop() {
670
+ return this.getAttribute("gap-laptop");
671
+ }
672
+ set gapLaptop(value) {
673
+ this.setAttribute("gap-laptop", value);
674
+ }
675
+ get justifyContent() {
676
+ return this.getAttribute("justify-content");
677
+ }
678
+ set justifyContent(value) {
679
+ this.setAttribute("justify-content", value);
680
+ }
681
+ get justifyContentMobile() {
682
+ return this.getAttribute("justify-content-mobile");
683
+ }
684
+ set justifyContentMobile(value) {
685
+ this.setAttribute("justify-content-mobile", value);
686
+ }
687
+ get justifyContentTablet() {
688
+ return this.getAttribute("justify-content-tablet");
689
+ }
690
+ set justifyContentTablet(value) {
691
+ this.setAttribute("justify-content-tablet", value);
692
+ }
693
+ get justifyContentLaptop() {
694
+ return this.getAttribute("justify-content-laptop");
695
+ }
696
+ set justifyContentLaptop(value) {
697
+ this.setAttribute("justify-content-laptop", value);
698
+ }
699
+ get justifyContentDesktop() {
700
+ return this.getAttribute("justify-content-desktop");
701
+ }
702
+ set justifyContentDesktop(value) {
703
+ this.setAttribute("justify-content-desktop", value);
704
+ }
705
+ get alignItems() {
706
+ return this.getAttribute("align-items");
707
+ }
708
+ set alignItems(value) {
709
+ this.setAttribute("align-items", value);
710
+ }
711
+ get alignItemsMobile() {
712
+ return this.getAttribute("align-items-mobile");
713
+ }
714
+ set alignItemsMobile(value) {
715
+ this.setAttribute("align-items-mobile", value);
716
+ }
717
+ get alignItemsTablet() {
718
+ return this.getAttribute("align-items-tablet");
719
+ }
720
+ set alignItemsTablet(value) {
721
+ this.setAttribute("align-items-tablet", value);
722
+ }
723
+ get alignItemsLaptop() {
724
+ return this.getAttribute("align-items-laptop");
725
+ }
726
+ set alignItemsLaptop(value) {
727
+ this.setAttribute("align-items-laptop", value);
728
+ }
729
+ get alignItemsDesktop() {
730
+ return this.getAttribute("align-items-desktop");
731
+ }
732
+ set alignItemsDesktop(value) {
733
+ this.setAttribute("align-items-desktop", value);
734
+ }
735
+ get wrap() {
736
+ return this.getAttribute("wrap");
737
+ }
738
+ set wrap(value) {
739
+ this.setAttribute("wrap", value);
740
+ }
741
+ get wrapMobile() {
742
+ return this.getAttribute("wrap-mobile");
743
+ }
744
+ set wrapMobile(value) {
745
+ this.setAttribute("wrap-mobile", value);
746
+ }
747
+ get wrapTablet() {
748
+ return this.getAttribute("wrap-tablet");
749
+ }
750
+ set wrapTablet(value) {
751
+ this.setAttribute("wrap-tablet", value);
752
+ }
753
+ get wrapLaptop() {
754
+ return this.getAttribute("wrap-laptop");
755
+ }
756
+ set wrapLaptop(value) {
757
+ this.setAttribute("wrap-laptop", value);
758
+ }
759
+ get wrapDesktop() {
760
+ return this.getAttribute("wrap-desktop");
761
+ }
762
+ set wrapDesktop(value) {
763
+ this.setAttribute("wrap-desktop", value);
764
+ }
765
+ get $el() {
766
+ return this.shadowRoot.querySelector(".flex-container");
767
+ }
768
+ }
769
+ class VStack extends Stack {
770
+ constructor(semanticsTokensStylesheet) {
771
+ super(semanticsTokensStylesheet);
772
+ }
773
+ connectedCallback() {
774
+ super.connectedCallback();
775
+ this.direction = "column";
776
+ this.directionMobile = "column";
777
+ this.directionTablet = "column";
778
+ this.directionLaptop = "column";
779
+ this.directionDesktop = "column";
780
+ }
781
+ }
782
+ class HStack extends Stack {
783
+ constructor(semanticsTokensStylesheet) {
784
+ super(semanticsTokensStylesheet);
785
+ }
786
+ connectedCallback() {
787
+ super.connectedCallback();
788
+ this.direction = "row";
789
+ this.directionMobile = "row";
790
+ this.directionTablet = "row";
791
+ this.directionLaptop = "row";
792
+ this.directionDesktop = "row";
793
+ }
794
+ }
795
+ class PxStack extends Stack {
796
+ constructor() {
797
+ super(proximusSemanticStyleSheet);
798
+ }
799
+ }
800
+ if (!customElements.get("px-stack")) {
801
+ customElements.define("px-stack", PxStack);
802
+ }
803
+ if (!customElements.get("px-vstack")) {
804
+ customElements.define(
805
+ "px-vstack",
806
+ class PxVStack extends VStack {
807
+ constructor() {
808
+ super(proximusSemanticStyleSheet);
809
+ }
810
+ }
811
+ );
812
+ }
813
+ if (!customElements.get("px-hstack")) {
814
+ customElements.define(
815
+ "px-hstack",
816
+ class PxHStack extends HStack {
817
+ constructor() {
818
+ super(proximusSemanticStyleSheet);
819
+ }
820
+ }
821
+ );
822
+ }
823
+ class Spacer extends HTMLElement {
824
+ constructor() {
825
+ super();
826
+ }
827
+ static get observedAttributes() {
828
+ return ["grow"];
829
+ }
830
+ attributeChangedCallback(name, oldValue, newValue) {
831
+ if (name === "grow") {
832
+ this.style.flexGrow = newValue;
833
+ }
834
+ }
835
+ connectedCallback() {
836
+ this.style.flexGrow = this.getAttribute("grow") || `${1}`;
837
+ }
838
+ get grow() {
839
+ return this.getAttribute("grow");
840
+ }
841
+ set grow(value) {
842
+ this.setAttribute("grow", value);
843
+ }
844
+ }
845
+ customElements.define("px-spacer", Spacer);
846
+ const styles$d = "slot[name=heading]{display:block;margin-top:1rem;margin-bottom:1rem}";
847
+ const styleSheet$c = new CSSStyleSheet();
848
+ styleSheet$c.replaceSync(styles$d);
849
+ let Section$1 = class Section extends WithFlexAttributes {
850
+ constructor() {
851
+ super(styleSheet$c);
852
+ this.template = `
853
+ <section>
854
+ <slot name="heading"></slot>
855
+ <px-stack direction="column" gap="1rem">
856
+ <slot></slot>
857
+ </px-stack>
858
+ </section>`;
859
+ this.shadowRoot.innerHTML = this.template;
860
+ }
861
+ static get observedAttributes() {
862
+ return [...super.observedAttributes, "gap"];
863
+ }
864
+ attributeChangedCallback(name, oldValue, newValue) {
865
+ if (name === "gap" && oldValue !== newValue) {
866
+ this.$el.gap = newValue;
867
+ return;
868
+ }
869
+ super.attributeChangedCallback(name, oldValue, newValue);
870
+ }
871
+ get gap() {
872
+ return this.getAttribute("gap");
873
+ }
874
+ set gap(value) {
875
+ this.setAttribute("gap", value);
876
+ }
877
+ get $el() {
878
+ return this.shadowRoot.querySelector('px-stack[direction="column"]');
879
+ }
880
+ };
881
+ customElements.define("px-section-damien", Section$1);
882
+ const styles$c = ":host{display:block;box-sizing:border-box}slot[name=body-container]{min-height:100vh}#image-sticky-box{margin-top:-2.5rem}";
883
+ const styleSheet$b = new CSSStyleSheet();
884
+ styleSheet$b.replaceSync(styles$c);
885
+ class Page extends WithFlexAttributes {
886
+ constructor() {
887
+ super(proximusSemanticStyleSheet, styleSheet$b);
888
+ this.template = (stickyContainer) => `
889
+ <px-container borderradius="none" padding="none">
890
+ <px-vstack>
891
+ <px-container id="header-container" borderradius="none">
892
+ <px-hstack>
893
+ <px-spacer></px-spacer>
894
+ <px-vstack
895
+ id="header-vstack-container"
896
+ gap="1rem"
897
+ grow="${this.grow}"
898
+ basis="${this.basis}"
899
+ >
900
+ <slot name="header-container"></slot>
901
+ </px-vstack>
902
+ <px-spacer></px-spacer>
903
+ </px-hstack>
904
+ </px-container>
905
+ <px-container
906
+ id="image-container"
907
+ borderradius="none"
908
+ padding="none"
909
+ paddingtop="xl"
910
+ id="image-box"
911
+ bgimgsize="cover"
912
+ bgimgposition="top center"
913
+ paddingbottom="xl"
914
+ borderradius="none"
915
+ bgimg="${this.backgroundImage}"
916
+ >
917
+ <px-hstack>
918
+ <px-spacer></px-spacer>
919
+ <px-vstack grow="${this.grow}" basis="${this.basis}">
920
+ <slot name="image-container"></slot>
921
+ </px-vstack>
922
+ <px-spacer></px-spacer>
923
+ </px-hstack>
924
+ </px-container>
925
+ ${stickyContainer ? ` <px-hstack>
926
+ <px-spacer></px-spacer>
927
+ <px-container borderradius="none" shadow="xl" id="image-sticky-box" border="s" grow="${this.grow}" basis="${this.basis}" borderradius="m">
928
+ <px-vstack gap="1rem">
929
+ <slot name="image-sticky-container"></slot>
930
+ </px-vstack>
931
+ </px-container>
932
+ <px-spacer></px-spacer>
933
+ </px-hstack>` : ""}
934
+ <px-container
935
+ id="body-container"
936
+ id="main"
937
+ bgcolor="${this.backgroundColor}"
938
+ padding="none"
939
+ paddingtop="xl"
940
+ paddingbottom="xl"
941
+ >
942
+ <px-hstack>
943
+ <px-spacer></px-spacer>
944
+ <px-vstack
945
+ id="body-vstack-container"
946
+ gap="3rem"
947
+ grow="${this.grow}"
948
+ basis="${this.basis}"
949
+ >
950
+ <slot name="body-container"></slot>
951
+ </px-vstack>
952
+ <px-spacer></px-spacer>
953
+ </px-hstack>
954
+ </px-container>
955
+ <px-container
956
+ id="contact-container"
957
+ borderradius="none"
958
+ id="main"
959
+ bgcolor="strong"
960
+ padding="none"
961
+ paddingtop="xl"
962
+ paddingbottom="xl"
963
+ >
964
+ <px-hstack>
965
+ <px-spacer></px-spacer>
966
+ <px-vstack gap="3rem" grow="${this.grow}" basis="${this.basis}">
967
+ <slot name="contact-container"></slot>
968
+ </px-vstack>
969
+ <px-spacer></px-spacer>
970
+ </px-hstack>
971
+ </px-container>
972
+ <px-container
973
+ id="footer-container"
974
+ bgcolor="none"
975
+ borderradius="none"
976
+ style="background-color: rgb(108, 66, 156)"
977
+ paddingtop="xl"
978
+ paddingbottom="xl"
979
+ >
980
+ <px-hstack>
981
+ <px-spacer></px-spacer>
982
+ <px-vstack gap="3rem" grow="${this.grow}" basis="${this.basis}">
983
+ <slot name="footer-container"></slot>
984
+ </px-vstack>
985
+ <px-spacer></px-spacer>
986
+ </px-hstack>
987
+ </px-container>
988
+ </px-vstack>
989
+ </px-container>
990
+ `;
991
+ this.shadowRoot.innerHTML = this.template(!!this.$imageStickySlot);
992
+ }
993
+ static get observedAttributes() {
994
+ return [
995
+ ...super.observedAttributes,
996
+ "background-image",
997
+ "gap",
998
+ "background-color",
999
+ "padding-vertical",
1000
+ "padding-horizontal"
1001
+ ];
1002
+ }
1003
+ get $wideImage() {
1004
+ return this.shadowRoot.querySelector("#image-box");
1005
+ }
1006
+ get $bodyVStackContainer() {
1007
+ return this.shadowRoot.querySelector("#header-vstack-container");
1008
+ }
1009
+ get $bodyContainer() {
1010
+ return this.shadowRoot.querySelector("#body-container");
1011
+ }
1012
+ get $contactContainer() {
1013
+ return this.shadowRoot.querySelector("#contact-container");
1014
+ }
1015
+ get $footerContainer() {
1016
+ return this.shadowRoot.querySelector("#footer-container");
1017
+ }
1018
+ get $headerContainer() {
1019
+ return this.shadowRoot.querySelector("#header-container");
1020
+ }
1021
+ get $imageContainer() {
1022
+ return this.shadowRoot.querySelector("#image-container");
1023
+ }
1024
+ get backgroundImage() {
1025
+ return this.getAttribute("background-image");
1026
+ }
1027
+ get $imageStickySlot() {
1028
+ return this.querySelector('*[slot="image-sticky-container"]');
1029
+ }
1030
+ get $main() {
1031
+ return this.shadowRoot.querySelector("#main");
1032
+ }
1033
+ get backgroundColor() {
1034
+ return this.getAttribute("background-color") || "none";
1035
+ }
1036
+ get paddingVertical() {
1037
+ return this.getAttribute("padding-vertical");
1038
+ }
1039
+ get paddingHorizontal() {
1040
+ return this.getAttribute("padding-horizontal");
1041
+ }
1042
+ set paddingVertical(value) {
1043
+ this.setAttribute("padding-vertical", value);
1044
+ }
1045
+ set paddingHorizontal(value) {
1046
+ this.setAttribute("padding-horizontal", value);
1047
+ }
1048
+ get gap() {
1049
+ return this.getAttribute("gap");
1050
+ }
1051
+ connectedCallback() {
1052
+ this.handlePaddingVerticalChange(this.paddingVertical);
1053
+ this.handlePaddingHorizontalChange(this.paddingHorizontal);
1054
+ }
1055
+ attributeChangedCallback(name, oldValue, newValue) {
1056
+ if (oldValue !== newValue) {
1057
+ switch (name) {
1058
+ case "background-image":
1059
+ this.$imageContainer.bgImgMobile = newValue;
1060
+ break;
1061
+ case "gap":
1062
+ this.$bodyVStackContainer.gap = newValue;
1063
+ break;
1064
+ case "background-color":
1065
+ this.$bodyContainer.bgColor = bgColorValues.indexOf(newValue) > 0 ? newValue : "none";
1066
+ break;
1067
+ case "padding-vertical":
1068
+ this.handlePaddingVerticalChange(newValue);
1069
+ break;
1070
+ case "padding-horizontal":
1071
+ this.handlePaddingHorizontalChange(newValue);
1072
+ break;
1073
+ default:
1074
+ super.attributeChangedCallback(name, oldValue, newValue);
1075
+ }
1076
+ }
1077
+ }
1078
+ handlePaddingVerticalChange(newValue) {
1079
+ this.$headerContainer.paddingTop = newValue;
1080
+ this.$footerContainer.paddingBottom = newValue;
1081
+ }
1082
+ handlePaddingHorizontalChange(newValue) {
1083
+ this.$headerContainer.paddingLeft = newValue;
1084
+ this.$headerContainer.paddingRight = newValue;
1085
+ this.$bodyContainer.paddingLeft = newValue;
1086
+ this.$bodyContainer.paddingRight = newValue;
1087
+ this.$contactContainer.paddingLeft = newValue;
1088
+ this.$contactContainer.paddingRight = newValue;
1089
+ this.$footerContainer.paddingLeft = newValue;
1090
+ this.$footerContainer.paddingRight = newValue;
1091
+ this.$imageContainer.paddingLeft = newValue;
1092
+ this.$imageContainer.paddingRight = newValue;
1093
+ }
1094
+ }
1095
+ if (customElements.get("px-page") === void 0) {
1096
+ customElements.define("px-page", Page);
1097
+ }
1098
+ const styles$b = ':host{line-height:1;display:inline-block;vertical-align:middle}i{font-family:PxIcon;color:var(--px-color-icon-primary-default);line-height:1;font-style:unset;font-weight:400;-webkit-user-select:none;user-select:none;font-display:swap}.inherit{color:inherit}.primary{color:var(--px-color-icon-primary-default)}.body{color:var(--px-color-icon-body-default)}.details{color:var(--px-color-icon-details-default)}.hover:hover{color:var(--px-color-icon-hover-default)}.hover:active{color:var(--px-color-icon-active-default)}.disabled{color:var(--px-color-icon-disabled-default)}.success{color:var(--px-color-icon-success-default)}.warning{color:var(--px-color-icon-warning-default)}.error{color:var(--px-color-icon-error-default)}.unlimited{color:var(--px-color-icon-unlimited-default)}.promo{color:var(--px-color-icon-promo-default)}:host([inverted]) i,:host([inverted]) .primary{color:var(--px-color-icon-primary-inverted)}:host([inverted]) .body{color:var(--px-color-icon-body-inverted)}:host([inverted]) .details{color:var(--px-color-icon-details-inverted)}:host([inverted]) .hover:hover{color:var(--px-color-icon-hover-inverted)}:host([inverted]) .hover:active{color:var(--px-color-icon-active-inverted)}:host([inverted]) .disabled{color:var(--px-color-icon-disabled-inverted)}:host([inverted]) .success{color:var(--px-color-icon-success-inverted)}:host([inverted]) .warning{color:var(--px-color-icon-warning-inverted)}:host([inverted]) .error{color:var(--px-color-icon-error-inverted)}:host([inverted]) .unlimited{color:var(--px-color-icon-unlimited-inverted)}:host([inverted]) .promo{color:var(--px-color-icon-promo-inverted)}.size-2xs{font-size:var(--px-icon-size-2xs-mobile)}.size-xs{font-size:var(--px-icon-size-xs-mobile)}.size-s{font-size:var(--px-icon-size-s-mobile)}.size-m{font-size:var(--px-icon-size-m-mobile)}.size-l{font-size:var(--px-icon-size-l-mobile)}.size-xl{font-size:var(--px-icon-size-xl-mobile)}.size-2xl{font-size:var(--px-icon-size-2xl-mobile)}@media only screen and (min-width: 64rem){.size-2xs{font-size:var(--px-icon-size-2xs-tablet)}.size-xs{font-size:var(--px-icon-size-xs-tablet)}.size-s{font-size:var(--px-icon-size-s-tablet)}.size-m{font-size:var(--px-icon-size-m-tablet)}.size-l{font-size:var(--px-icon-size-l-tablet)}.size-xl{font-size:var(--px-icon-size-xl-tablet)}.size-2xl{font-size:var(--px-icon-size-2xl-tablet)}}@media only screen and (min-width: 90rem){.size-2xs{font-size:var(--px-icon-size-2xs-desktop)}.size-xs{font-size:var(--px-icon-size-xs-desktop)}.size-s{font-size:var(--px-icon-size-s-desktop)}.size-m{font-size:var(--px-icon-size-m-desktop)}.size-l{font-size:var(--px-icon-size-l-desktop)}.size-xl{font-size:var(--px-icon-size-xl-desktop)}.size-2xl{font-size:var(--px-icon-size-2xl-desktop)}}i.icon-large:before{vertical-align:-10%;font-size:1.3333333333em}.icon-Accessories:before{content:""}.icon-Account:before{content:""}.icon-Activeren:before{content:""}.icon-Addition:before{content:""}.icon-Administration:before{content:""}.icon-Advantage:before{content:""}.icon-Advantage-pig:before{content:""}.icon-AI:before{content:""}.icon-Airplane:before{content:""}.icon-Alarm:before{content:""}.icon-Answers:before{content:""}.icon-Antenna:before{content:""}.icon-Anywhere:before{content:""}.icon-Applications:before{content:""}.icon-Appointment:before{content:""}.icon-Arrow:before{content:""}.icon-Arrow-circle:before{content:""}.icon-Arrow-direction:before{content:""}.icon-Arrow-direction-horizontal:before{content:""}.icon-Arrow-down:before{content:""}.icon-Arrow-left:before{content:""}.icon-Arrow-navigation:before{content:""}.icon-Arrow-outline:before{content:""}.icon-Arrow-outline-direction:before{content:""}.icon-Arrowbutton:before{content:""}.icon-Arrowbutton-left:before{content:""}.icon-Articles:before{content:""}.icon-Baby:before{content:""}.icon-Back-camera:before{content:""}.icon-Battery:before{content:""}.icon-Belgique-ok:before{content:""}.icon-Best-seller:before{content:""}.icon-Best-seller-14:before{content:""}.icon-Best-seller-2:before{content:""}.icon-Bill:before{content:""}.icon-Bill-member:before{content:""}.icon-Birthday:before{content:""}.icon-Blacklisted:before{content:""}.icon-Blindness:before{content:""}.icon-Bluetooth:before{content:""}.icon-Broken-links:before{content:""}.icon-Bullet:before{content:""}.icon-Caddy:before{content:""}.icon-Calendar:before{content:""}.icon-Calendar-14:before{content:""}.icon-Calendar-7:before{content:""}.icon-Calls:before{content:""}.icon-Callsfromabroad:before{content:""}.icon-Callsfrombelgium:before{content:""}.icon-Calltransfert:before{content:""}.icon-Camera:before{content:""}.icon-Car:before{content:""}.icon-Card:before{content:""}.icon-Care:before{content:""}.icon-Circle:before{content:""}.icon-Circle-Remove:before{content:""}.icon-Close:before{content:""}.icon-Cloud:before{content:""}.icon-Cloud-ICT:before{content:""}.icon-Cloud-IoT:before{content:""}.icon-Cloud-Networks:before{content:""}.icon-Cloud-Security:before{content:""}.icon-Collaboration:before{content:""}.icon-Collapse:before{content:""}.icon-Community:before{content:""}.icon-Community2:before{content:""}.icon-Compare:before{content:""}.icon-Congratulations-box:before{content:""}.icon-Connected-house:before{content:""}.icon-Connection-error:before{content:""}.icon-Connection-manager:before{content:""}.icon-Connectivity:before{content:""}.icon-Contact:before{content:""}.icon-Contactlist:before{content:""}.icon-Contest:before{content:""}.icon-Continuity:before{content:""}.icon-Cookie:before{content:""}.icon-Copy:before{content:""}.icon-Crash:before{content:""}.icon-Customer-Zone:before{content:""}.icon-Dance:before{content:""}.icon-Data:before{content:""}.icon-Deafpeople:before{content:""}.icon-Delivery:before{content:""}.icon-Desktop:before{content:""}.icon-Devices:before{content:""}.icon-Dial:before{content:""}.icon-Digital-media:before{content:""}.icon-Directassist:before{content:""}.icon-Download:before{content:""}.icon-Drag:before{content:""}.icon-E-carte-Facebook:before{content:""}.icon-Easy:before{content:""}.icon-Edit:before{content:""}.icon-Energy:before{content:""}.icon-Entertainment:before{content:""}.icon-Error-box:before{content:""}.icon-Eservices:before{content:""}.icon-Exhibition-screens:before{content:""}.icon-Expand:before{content:""}.icon-Eyedeficiency:before{content:""}.icon-Facebook:before{content:""}.icon-Family:before{content:""}.icon-Favourite:before{content:""}.icon-Favourite-unselected:before{content:""}.icon-Feedback:before{content:""}.icon-Fiber:before{content:""}.icon-Filter:before{content:""}.icon-Fixed-connection:before{content:""}.icon-Fixed-ringing:before{content:""}.icon-Flexibility:before{content:""}.icon-Flexible-delivery:before{content:""}.icon-Football:before{content:""}.icon-Football-11:before{content:""}.icon-Football-11plus:before{content:""}.icon-Forum:before{content:""}.icon-Forward:before{content:""}.icon-Freedelivery:before{content:""}.icon-Freeservices:before{content:""}.icon-Frequently-questions:before{content:""}.icon-Front-camera:before{content:""}.icon-G-Tablet:before{content:""}.icon-Gallery:before{content:""}.icon-Games:before{content:""}.icon-Gift:before{content:""}.icon-Government:before{content:""}.icon-Guitar:before{content:""}.icon-Handicap:before{content:""}.icon-Help:before{content:""}.icon-Home:before{content:""}.icon-Home-added-value:before{content:""}.icon-Hub:before{content:""}.icon-ICT:before{content:""}.icon-Icon-Mood-happy:before{content:""}.icon-Icon-Mood-neutral:before{content:""}.icon-Icon-Mood-unhappy:before{content:""}.icon-Ict-networking:before{content:""}.icon-Idea:before{content:""}.icon-Incomingcalls:before{content:""}.icon-Infinity:before{content:""}.icon-Information:before{content:""}.icon-Information-box:before{content:""}.icon-Infrastructure:before{content:""}.icon-Innovation:before{content:""}.icon-Inscription:before{content:""}.icon-Instagram:before{content:""}.icon-International:before{content:""}.icon-Internet:before{content:""}.icon-Internetlaptop:before{content:""}.icon-Internetmobile:before{content:""}.icon-Internettablet:before{content:""}.icon-Invoice-insight-advanced:before{content:""}.icon-Layer243:before{content:""}.icon-Linkedin:before{content:""}.icon-Links:before{content:""}.icon-Local-data:before{content:""}.icon-Location:before{content:""}.icon-Login1:before{content:""}.icon-Login2:before{content:""}.icon-LoginOpen:before{content:""}.icon-Logout:before{content:""}.icon-Low-stock:before{content:""}.icon-Magnify:before{content:""}.icon-Manual:before{content:""}.icon-Markets:before{content:""}.icon-Meeting:before{content:""}.icon-Mentaldeficiency:before{content:""}.icon-Menu:before{content:""}.icon-Menuburger:before{content:""}.icon-Messaging:before{content:""}.icon-Messenger:before{content:""}.icon-Micro:before{content:""}.icon-MicroSIM-card:before{content:""}.icon-Microsoft-Office:before{content:""}.icon-Minus-fill:before{content:""}.icon-Minutes120:before{content:""}.icon-Minutes15:before{content:""}.icon-Minutes1600:before{content:""}.icon-Minutes240:before{content:""}.icon-Minutes30:before{content:""}.icon-Minutes400:before{content:""}.icon-Minutes60:before{content:""}.icon-Minutes800:before{content:""}.icon-Mobile:before{content:""}.icon-Mobile-Coverage:before{content:""}.icon-Mobility-insurance:before{content:""}.icon-Monitoring:before{content:""}.icon-Mood-joy:before{content:""}.icon-Mood-very-bad:before{content:""}.icon-Move-Sticker:before{content:""}.icon-Move-box:before{content:""}.icon-Moving:before{content:""}.icon-Music:before{content:""}.icon-Myentertainment:before{content:""}.icon-Network:before{content:""}.icon-Newsletter:before{content:""}.icon-Next:before{content:""}.icon-No-playing:before{content:""}.icon-No-stock:before{content:""}.icon-Norton-security:before{content:""}.icon-Not-Available:before{content:""}.icon-Number-1:before{content:""}.icon-Number-10:before{content:""}.icon-Number-2:before{content:""}.icon-Number-3:before{content:""}.icon-Number-4:before{content:""}.icon-Number-5:before{content:""}.icon-Number-6:before{content:""}.icon-Number-7:before{content:""}.icon-Number-8:before{content:""}.icon-Number-9:before{content:""}.icon-OS:before{content:""}.icon-On-app:before{content:""}.icon-On-web:before{content:""}.icon-OneClick:before{content:""}.icon-Online-exclu-en:before{content:""}.icon-Online-exclu-fr:before{content:""}.icon-Online-exclu-nl:before{content:""}.icon-Online-promo-en:before{content:""}.icon-Online-promo-fr:before{content:""}.icon-Online-promo-nl:before{content:""}.icon-Options:before{content:""}.icon-Outcomingcalls:before{content:""}.icon-Overview:before{content:""}.icon-Packs:before{content:""}.icon-Paperclip:before{content:""}.icon-Pedestrian:before{content:""}.icon-Photo:before{content:""}.icon-Picture:before{content:""}.icon-Pin:before{content:""}.icon-Place-map:before{content:""}.icon-Play:before{content:""}.icon-Plus:before{content:""}.icon-Plus-fill:before{content:""}.icon-Points:before{content:""}.icon-Positioning:before{content:""}.icon-Posts:before{content:""}.icon-Presencehome:before{content:""}.icon-Previous:before{content:""}.icon-Prime:before{content:""}.icon-Print:before{content:""}.icon-Processor:before{content:""}.icon-Products:before{content:""}.icon-Promo:before{content:""}.icon-Proximus-TV-app:before{content:""}.icon-Pxs:before{content:""}.icon-Quote:before{content:""}.icon-Raccording-flat:before{content:""}.icon-Ready-to-use:before{content:""}.icon-Recycling:before{content:""}.icon-Reducer:before{content:""}.icon-Refresh:before{content:""}.icon-Relaunch:before{content:""}.icon-Reload:before{content:""}.icon-Remote:before{content:""}.icon-Remove:before{content:""}.icon-Remove-filter:before{content:""}.icon-Restart:before{content:""}.icon-Roaming:before{content:""}.icon-Roaming-Belgium:before{content:""}.icon-Search:before{content:""}.icon-Secure-payment:before{content:""}.icon-Seealso:before{content:""}.icon-Server:before{content:""}.icon-Settings:before{content:""}.icon-Shopmag:before{content:""}.icon-Smarphone-configuration:before{content:""}.icon-Smart-ringing:before{content:""}.icon-Smartphone:before{content:""}.icon-Smartphone-1:before{content:""}.icon-Smartphone-2:before{content:""}.icon-Smartphone-3:before{content:""}.icon-Smartphone-4:before{content:""}.icon-Smartphone-5:before{content:""}.icon-Smartphone-6:before{content:""}.icon-Smartphone4G:before{content:""}.icon-Smiley:before{content:""}.icon-Sms:before{content:""}.icon-Sondage:before{content:""}.icon-Sort-0-9:before{content:""}.icon-Sort-9-0:before{content:""}.icon-Sort-a-z:before{content:""}.icon-Sort-z-a:before{content:""}.icon-Sound-off:before{content:""}.icon-Sound-on:before{content:""}.icon-Speed:before{content:""}.icon-Speedtest-download:before{content:""}.icon-Speedtest-upload:before{content:""}.icon-Status-nok:before{content:""}.icon-Status-ok:before{content:""}.icon-Status-ongoing:before{content:""}.icon-Status-warning:before{content:""}.icon-Stay-informed:before{content:""}.icon-Stayinformed:before{content:""}.icon-Stock:before{content:""}.icon-Stopwatch:before{content:""}.icon-Subscription:before{content:""}.icon-Surfgsm:before{content:""}.icon-Sustainability:before{content:""}.icon-Switchon-switchoff:before{content:""}.icon-TV-replay-36:before{content:""}.icon-TVReplay:before{content:""}.icon-Tablet:before{content:""}.icon-Tailor:before{content:""}.icon-Target-Blank:before{content:""}.icon-Tarifs:before{content:""}.icon-Technical-cast:before{content:""}.icon-Telephony:before{content:""}.icon-Television:before{content:""}.icon-Temp:before{content:""}.icon-Tips1:before{content:""}.icon-Tips2:before{content:""}.icon-Tools:before{content:""}.icon-Top:before{content:""}.icon-Touchscreens:before{content:""}.icon-Tractor:before{content:""}.icon-Train:before{content:""}.icon-Transfer:before{content:""}.icon-Transfer-people:before{content:""}.icon-Trash:before{content:""}.icon-Triangle:before{content:""}.icon-TV-10:before{content:""}.icon-TV-12:before{content:""}.icon-TV-14:before{content:""}.icon-TV-16:before{content:""}.icon-TV-18:before{content:""}.icon-Twitter:before{content:""}.icon-Under-construct:before{content:""}.icon-Upgrade-account:before{content:""}.icon-Upload:before{content:""}.icon-Usage:before{content:""}.icon-Usage2:before{content:""}.icon-Validation-box:before{content:""}.icon-Video:before{content:""}.icon-Video-zap:before{content:""}.icon-Videoscope:before{content:""}.icon-View360:before{content:""}.icon-Waiting:before{content:""}.icon-Warning-box:before{content:""}.icon-Watch:before{content:""}.icon-Watch2:before{content:""}.icon-WhatsApp:before{content:""}.icon-Wireless-hub:before{content:""}.icon-Youtube:before{content:""}.icon-circular-economy:before{content:""}.icon-eco:before{content:""}.icon-happy-weeks:before{content:""}.icon-icon-VOD:before{content:""}.icon-mms:before{content:""}.icon-new-en:before{content:""}.icon-new-fr:before{content:""}.icon-new-nl:before{content:""}.icon-prepaid:before{content:""}.icon-promo:before{content:""}.icon-repair-device:before{content:""}.icon-sales-en:before{content:""}.icon-sales-fr:before{content:""}.icon-sales-nl:before{content:""}.icon-simlocked:before{content:""}.icon-temporary-device:before{content:""}.icon-Test-branding-Account-1:before{content:""}.icon-Test-branding-Car-1:before{content:""}.icon-Test-branding-Sim-1:before{content:""}';
1099
+ const styleSheet$a = new CSSStyleSheet();
1100
+ styleSheet$a.replaceSync(styles$b);
1101
+ const colorValues$1 = ["", "default", "inherit", "primary", "body", "details", "hover", "active", "disabled", "promo", "success", "warning", "error", "unlimited"];
1102
+ const _Icon = class _Icon extends PxElement {
1103
+ constructor() {
1104
+ super(proximusSemanticStyleSheet, styleSheet$a);
1105
+ this.template = () => `<i aria-hidden="true"></i>`;
1106
+ this.shadowRoot.innerHTML = this.template();
1107
+ }
1108
+ static get observedAttributes() {
1109
+ return [...super.observedAttributes, "name", "size", "color", "aria-label", "inverted"];
1110
+ }
1111
+ get name() {
1112
+ return this.getAttribute("name");
1113
+ }
1114
+ set name(value) {
1115
+ this.setAttribute("name", value);
1116
+ }
1117
+ get size() {
1118
+ return this.getAttribute("size");
1119
+ }
1120
+ set size(value) {
1121
+ this.setAttribute("size", value);
1122
+ }
1123
+ get color() {
1124
+ return this.getAttribute("color");
1125
+ }
1126
+ set color(value) {
1127
+ this.setAttribute("color", value);
1128
+ }
1129
+ get arialabel() {
1130
+ return this.getAttribute("aria-label");
1131
+ }
1132
+ set arialabel(value) {
1133
+ this.setAttribute("aria-label", value);
1134
+ }
1135
+ get inverted() {
1136
+ return this.getAttribute("inverted");
1137
+ }
1138
+ set inverted(value) {
1139
+ this.setAttribute("inverted", value);
1140
+ }
1141
+ attributeChangedCallback(attrName, oldValue, newValue) {
1142
+ if (oldValue !== newValue) {
1143
+ switch (attrName) {
1144
+ case "name":
1145
+ if (oldValue !== null && oldValue !== "") {
1146
+ this.$el.classList.toggle(`icon-${oldValue}`);
1147
+ }
1148
+ if (newValue !== null && newValue !== "") {
1149
+ this.$el.classList.toggle(`icon-${newValue}`);
1150
+ }
1151
+ break;
1152
+ case "size":
1153
+ this.updateAttribute(attrName, oldValue, newValue, iconSizeValues);
1154
+ break;
1155
+ case "color":
1156
+ this.updateAttribute(attrName, oldValue, newValue, colorValues$1);
1157
+ break;
1158
+ case "aria-label":
1159
+ if (newValue !== null && newValue !== "") {
1160
+ this.$el.setAttribute("aria-label", newValue);
1161
+ this.$el.removeAttribute("aria-hidden");
1162
+ }
1163
+ break;
1164
+ }
1165
+ }
1166
+ }
1167
+ updateAttribute(attrName, oldValue, newValue, attrValues) {
1168
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
1169
+ if (attrName === "size") {
1170
+ this.$el.classList.toggle(`${attrName}-${oldValue}`);
1171
+ } else {
1172
+ this.$el.classList.toggle(oldValue);
1173
+ }
1174
+ }
1175
+ if (newValue !== null && newValue !== "" && oldValue !== "default") {
1176
+ if (attrName === "size") {
1177
+ this.$el.classList.toggle(`${attrName}-${newValue}`);
1178
+ } else {
1179
+ this.$el.classList.toggle(newValue);
1180
+ }
1181
+ }
1182
+ if (!this.checkName(attrValues, newValue)) {
1183
+ console.error(`${newValue} is not an allowed ${attrName} value for ${this.$el}`);
1184
+ }
1185
+ }
1186
+ checkName(values, value) {
1187
+ return values.includes(value);
1188
+ }
1189
+ };
1190
+ _Icon.nativeName = "i";
1191
+ let Icon = _Icon;
1192
+ customElements.define("px-icon", Icon);
1193
+ const containerCss = '.container{font-family:Proximus,Verdana,Helvetica,sans-serif;background-color:var(--px-color-bg-container-main-default);border-radius:var(--px-radius-m);padding:var(--px-padding-m);box-sizing:border-box}:host([inverted]) .container{background-color:var(--px-color-bg-container-main-inverted);color:var(--px-color-txt-body-inverted)}.padding-2xs{padding:var(--px-padding-2xs)}.padding-xs{padding:var(--px-padding-xs)}.padding-s{padding:var(--px-padding-s)}.padding-m{padding:var(--px-padding-m)}.padding-l{padding:var(--px-padding-l)}.padding-xl{padding:var(--px-padding-xl)}.padding-none{padding:var(--px-padding-none)}.paddingblock-2xs{padding-block:var(--px-padding-2xs)}.paddingblock-xs{padding-block:var(--px-padding-xs)}.paddingblock-s{padding-block:var(--px-padding-s)}.paddingblock-m{padding-block:var(--px-padding-m)}.paddingblock-l{padding-block:var(--px-padding-l)}.paddingblock-xl{padding-block:var(--px-padding-xl)}.paddingblock-none{padding-block:var(--px-padding-none)}.paddinginline-2xs{padding-inline:var(--px-padding-2xs)}.paddinginline-xs{padding-inline:var(--px-padding-xs)}.paddinginline-s{padding-inline:var(--px-padding-s)}.paddinginline-m{padding-inline:var(--px-padding-m)}.paddinginline-l{padding-inline:var(--px-padding-l)}.paddinginline-xl{padding-inline:var(--px-padding-xl)}.paddinginline-none{padding-inline:var(--px-padding-none)}.paddingtop-2xs{padding-top:var(--px-padding-2xs)}.paddingtop-xs{padding-top:var(--px-padding-xs)}.paddingtop-s{padding-top:var(--px-padding-s)}.paddingtop-m{padding-top:var(--px-padding-m)}.paddingtop-l{padding-top:var(--px-padding-l)}.paddingtop-xl{padding-top:var(--px-padding-xl)}.paddingtop-none{padding-top:var(--px-padding-none)}.paddingright-2xs{padding-right:var(--px-padding-2xs)}.paddingright-xs{padding-right:var(--px-padding-xs)}.paddingright-s{padding-right:var(--px-padding-s)}.paddingright-m{padding-right:var(--px-padding-m)}.paddingright-l{padding-right:var(--px-padding-l)}.paddingright-xl{padding-right:var(--px-padding-xl)}.paddingright-none{padding-right:var(--px-padding-none)}.paddingbottom-2xs{padding-bottom:var(--px-padding-2xs)}.paddingbottom-xs{padding-bottom:var(--px-padding-xs)}.paddingbottom-s{padding-bottom:var(--px-padding-s)}.paddingbottom-m{padding-bottom:var(--px-padding-m)}.paddingbottom-l{padding-bottom:var(--px-padding-l)}.paddingbottom-xl{padding-bottom:var(--px-padding-xl)}.paddingbottom-none{padding-bottom:var(--px-padding-none)}.paddingleft-2xs{padding-left:var(--px-padding-2xs)}.paddingleft-xs{padding-left:var(--px-padding-xs)}.paddingleft-s{padding-left:var(--px-padding-s)}.paddingleft-m{padding-left:var(--px-padding-m)}.paddingleft-l{padding-left:var(--px-padding-l)}.paddingleft-xl{padding-left:var(--px-padding-xl)}.paddingleft-none{padding-left:var(--px-padding-none)}.border-none{border:none}.border-s{border:var(--px-border-s) solid var(--px-color-border-main-default)}.border-m{border:var(--px-border-m) solid var(--px-color-border-main-default)}.border-l{border:var(--px-border-l) solid var(--px-color-border-main-default)}:host([inverted]) .border{border:var(--px-border-m) solid var(--px-color-border-main-inverted)}.borderradius-xs{border-radius:var(--px-radius-xs)}.borderradius-s{border-radius:var(--px-radius-s)}.borderradius-m{border-radius:var(--px-radius-m)}.borderradius-l{border-radius:var(--px-radius-l)}.borderradius-2xl{border-radius:var(--px-radius-2xl)}.borderradius-pill{border-radius:var(--px-radius-pill)}.noborderradius-top{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.noborderradius-right{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.noborderradius-bottom{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.noborderradius-left{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.noborderradius-all,.borderradius-none{border-radius:var(--px-radius-none)}.bgcolor-none{background-color:var(--px-color-bg-container-none-default)}.bgcolor-weak{background-color:var(--px-color-bg-container-weak-default)}.bgcolor-moderate{background-color:var(--px-color-bg-container-moderate-default)}.bgcolor-strong{background-color:var(--px-color-bg-container-strong-default)}.bgcolor-rich{background-color:var(--px-color-bg-container-rich-default)}.bgcolor-main{background-color:var(--px-color-bg-container-main-default)}.bgcolor-canvas-weak{background-color:var(--px-color-canvas-weak)}.bgcolor-canvas-light{background-color:var(--px-color-canvas-light)}.bgcolor-canvas-soft{background-color:var(--px-color-canvas-soft)}.bgcolor-canvas-moderate{background-color:var(--px-color-canvas-moderate)}.bgcolor-canvas-strong{background-color:var(--px-color-canvas-strong)}.bgcolor-canvas-deep{background-color:var(--px-color-canvas-deep)}.bgcolor-canvas-rich{background-color:var(--px-color-canvas-rich)}.bgcolor-action-primary{background-color:var(--px-color-bg-action-primary-default)}.bgcolor-action-secondary{background-color:var(--px-color-bg-action-secondary-default)}.bgcolor-action-hover{background-color:var(--px-color-bg-action-hover-default)}.bgcolor-action-disabled{background-color:var(--px-color-bg-action-disabled-default)}.bgcolor-action-active{background-color:var(--px-color-bg-action-active-default)}.bgcolor-notification{background-color:var(--px-color-bg-notification-default)}.bgcolor-promo{background-color:var(--px-color-bg-promo-default)}.bgcolor-success{background-color:var(--px-color-bg-success-default)}.bgcolor-error{background-color:var(--px-color-bg-error-default)}.bgcolor-warning{background-color:var(--px-color-bg-warning-default)}.bgcolor-unlimited{background-color:var(--px-color-bg-unlimited-default)}:host([inverted]) .bgcolor-none{background-color:var(--px-color-bg-container-none-inverted)}:host([inverted]) .bgcolor-weak{background-color:var(--px-color-bg-container-weak-inverted)}:host([inverted]) .bgcolor-moderate{background-color:var(--px-color-bg-container-moderate-inverted)}:host([inverted]) .bgcolor-strong{background-color:var(--px-color-bg-container-strong-inverted)}:host([inverted]) .bgcolor-rich{background-color:var(--px-color-bg-container-rich-inverted)}:host([inverted]) .bgcolor-main{background-color:var(--px-color-bg-container-main-inverted)}:host([inverted]) .bgcolor-action-primary{background-color:var(--px-color-bg-action-primary-inverted)}:host([inverted]) .bgcolor-action-secondary{background-color:var(--px-color-bg-action-secondary-inverted)}:host([inverted]) .bgcolor-action-hover{background-color:var(--px-color-bg-action-hover-inverted)}:host([inverted]) .bgcolor-action-disabled{background-color:var(--px-color-bg-action-disabled-inverted)}:host([inverted]) .bgcolor-action-active{background-color:var(--px-color-bg-action-active-inverted)}:host([inverted]) .bgcolor-notification{background-color:var(--px-color-bg-notification-inverted)}:host([inverted]) .bgcolor-promo{background-color:var(--px-color-bg-promo-inverted)}:host([inverted]) .bgcolor-success{background-color:var(--px-color-bg-success-inverted)}:host([inverted]) .bgcolor-error{background-color:var(--px-color-bg-error-inverted)}:host([inverted]) .bgcolor-warning{background-color:var(--px-color-bg-warning-inverted)}:host([inverted]) .bgcolor-unlimited{background-color:var(--px-color-bg-unlimited-inverted)}.bgimg{background-repeat:no-repeat}.bgimgsize-cover{background-size:cover;background-position:center center}.bgimgsize-contain{background-size:contain}.shadow-none{box-shadow:var(--px-shadow-none)}.shadow-s{box-shadow:var(--px-shadow-s)}.shadow-m{box-shadow:var(--px-shadow-m)}.shadow-l{box-shadow:var(--px-shadow-l)}.shadow-xl{box-shadow:var(--px-shadow-xl)}.anchored{position:relative}::slotted([slot="anchor-right"]),::slotted([slot="anchor-left"]),::slotted([slot="anchor-full"]){position:absolute;top:0}::slotted([slot="anchor-right"]),::slotted([slot="anchor-left"]){transform:translateY(-50%);z-index:2}::slotted([slot="anchor-right"]){right:var(--px-padding-m)}::slotted([slot="anchor-left"]){left:var(--px-padding-m)}.padding-none ::slotted([slot="anchor-right"]){right:var(--px-padding-none)}.padding-none ::slotted([slot="anchor-left"]){left:var(--px-padding-none)}.padding-2xs ::slotted([slot="anchor-right"]){right:var(--px-padding-2xs)}.padding-2xs ::slotted([slot="anchor-left"]){left:var(--px-padding-2xs)}.padding-xs ::slotted([slot="anchor-right"]){right:var(--px-padding-xs)}.padding-xs ::slotted([slot="anchor-left"]){left:var(--px-padding-xs)}.padding-s ::slotted([slot="anchor-right"]){right:var(--px-padding-s)}.padding-s ::slotted([slot="anchor-left"]){left:var(--px-padding-s)}.padding-m ::slotted([slot="anchor-right"]){right:var(--px-padding-m)}.padding-m ::slotted([slot="anchor-left"]){left:var(--px-padding-m)}.padding-l ::slotted([slot="anchor-right"]){right:var(--px-padding-l)}.padding-l ::slotted([slot="anchor-left"]){left:var(--px-padding-l)}.padding-xl ::slotted([slot="anchor-right"]){right:var(--px-padding-xl)}.padding-xl ::slotted([slot="anchor-left"]){left:var(--px-padding-xl)}::slotted([slot="anchor-full"]){transform:translateY(-100%);right:0;left:0;text-align:center;z-index:1}@media only screen and (max-width: 640px){.padding-l{padding:var(--px-padding-l-mobile)}.padding-xl{padding:var(--px-padding-xl-mobile)}.paddingtop-l{padding-top:var(--px-padding-l-mobile)}.paddingtop-xl{padding-top:var(--px-padding-xl-mobile)}.paddingright-l{padding-right:var(--px-padding-l-mobile)}.paddingright-xl{padding-right:var(--px-padding-xl-mobile)}.paddingbottom-l{padding-bottom:var(--px-padding-l-mobile)}.paddingbottom-xl{padding-bottom:var(--px-padding-xl-mobile)}.paddingleft-l{padding-left:var(--px-padding-l-mobile)}.paddingleft-xl{padding-left:var(--px-padding-xl-mobile)}}.border-s ::slotted([slot="anchor-full"]){right:calc(var(--px-border-s) * -1);left:calc(var(--px-border-s) * -1)}.border-m ::slotted([slot="anchor-full"]){right:calc(var(--px-border-m) * -1);left:calc(var(--px-border-m) * -1)}.border-l ::slotted([slot="anchor-full"]){right:calc(var(--px-border-l) * -1);left:calc(var(--px-border-l) * -1)}';
1194
+ const containerStyles = new CSSStyleSheet();
1195
+ containerStyles.replaceSync(containerCss);
1196
+ const anchorValues = ["anchor-right", "anchor-left", "anchor-full"];
1197
+ const noBorderRadiusValues = ["", "all", "top", "right", "bottom", "left"];
1198
+ const bgImgSizeValues = ["", "cover", "contain", "default"];
1199
+ const _Container = class _Container extends PxElement {
1200
+ constructor() {
1201
+ super(proximusSemanticStyleSheet, containerStyles);
1202
+ this.template = () => `<div class="container">
1203
+ <slot name="anchor-left"></slot>
1204
+ <slot name="anchor-right"></slot>
1205
+ <slot name="anchor-full"></slot>
1206
+ <slot></slot>
1207
+ </div>`;
1208
+ this.onWindowResize = () => {
1209
+ if (this.hasAttribute("bgimg-mobile")) {
1210
+ this.loadImg("bgimg-mobile", this.getAttribute("bgimg-mobile"));
1211
+ }
1212
+ if (this.hasAttribute("bgimg-tablet")) {
1213
+ this.loadImg("bgimg-tablet", this.getAttribute("bgimg-tablet"));
1214
+ }
1215
+ if (this.hasAttribute("bgimg-laptop")) {
1216
+ this.loadImg("bgimg-laptop", this.getAttribute("bgimg-laptop"));
1217
+ }
1218
+ };
1219
+ this.shadowRoot.innerHTML = this.template();
1220
+ }
1221
+ static get observedAttributes() {
1222
+ return [
1223
+ ...super.observedAttributes,
1224
+ "padding",
1225
+ "paddinginline",
1226
+ "paddingblock",
1227
+ "paddingtop",
1228
+ "paddingright",
1229
+ "paddingbottom",
1230
+ "paddingleft",
1231
+ "border",
1232
+ "borderradius",
1233
+ "noborderradius",
1234
+ "bgcolor",
1235
+ "gradient",
1236
+ "bgimg-mobile",
1237
+ "bgimg-tablet",
1238
+ "bgimg-laptop",
1239
+ "bgimgsize",
1240
+ "bgimgposition",
1241
+ "shadow",
1242
+ "inverted"
1243
+ ];
1244
+ }
1245
+ get padding() {
1246
+ return this.getAttribute("padding");
1247
+ }
1248
+ set padding(value) {
1249
+ this.setAttribute("padding", value);
1250
+ }
1251
+ get paddingBlock() {
1252
+ return this.getAttribute("paddingblock");
1253
+ }
1254
+ set paddingBlock(value) {
1255
+ this.setAttribute("paddingblock", value);
1256
+ }
1257
+ get paddingInline() {
1258
+ return this.getAttribute("paddinginline");
1259
+ }
1260
+ set paddingInline(value) {
1261
+ this.setAttribute("paddinginline", value);
1262
+ }
1263
+ get paddingTop() {
1264
+ return this.getAttribute("paddingtop");
1265
+ }
1266
+ set paddingTop(value) {
1267
+ this.setAttribute("paddingtop", value);
1268
+ }
1269
+ get paddingRight() {
1270
+ return this.getAttribute("paddingright");
1271
+ }
1272
+ set paddingRight(value) {
1273
+ this.setAttribute("paddingright", value);
1274
+ }
1275
+ get paddingBottom() {
1276
+ return this.getAttribute("paddingbottom");
1277
+ }
1278
+ set paddingBottom(value) {
1279
+ this.setAttribute("paddingbottom", value);
1280
+ }
1281
+ get paddingLeft() {
1282
+ return this.getAttribute("paddingleft");
1283
+ }
1284
+ set paddingLeft(value) {
1285
+ this.setAttribute("paddingleft", value);
1286
+ }
1287
+ get border() {
1288
+ return this.getAttribute("border");
1289
+ }
1290
+ set border(value) {
1291
+ this.setAttribute("border", value);
1292
+ }
1293
+ get borderRadius() {
1294
+ return this.getAttribute("borderradius");
1295
+ }
1296
+ set borderRadius(value) {
1297
+ this.setAttribute("borderradius", value);
1298
+ }
1299
+ get noBorderRadius() {
1300
+ return this.getAttribute("noborderradius");
1301
+ }
1302
+ set noBorderRadius(value) {
1303
+ this.setAttribute("noborderradius", value);
1304
+ }
1305
+ get bgColor() {
1306
+ return this.getAttribute("bgcolor");
1307
+ }
1308
+ set bgColor(value) {
1309
+ this.setAttribute("bgcolor", value);
1310
+ }
1311
+ get gradient() {
1312
+ return this.getAttribute("gradient");
1313
+ }
1314
+ set gradient(value) {
1315
+ this.setAttribute("gradient", value);
1316
+ }
1317
+ get bgImgMobile() {
1318
+ return this.getAttribute("bgimg-mobile");
1319
+ }
1320
+ set bgImgMobile(value) {
1321
+ this.setAttribute("bgimg-mobile", value);
1322
+ }
1323
+ get bgImgTablet() {
1324
+ return this.getAttribute("bgimg-tablet");
1325
+ }
1326
+ set bgImgTablet(value) {
1327
+ this.setAttribute("bgimg-tablet", value);
1328
+ }
1329
+ get bgImgLaptop() {
1330
+ return this.getAttribute("bgimg-laptop");
1331
+ }
1332
+ set bgImgLaptop(value) {
1333
+ this.setAttribute("bgimg-laptop", value);
1334
+ }
1335
+ get bgImgSize() {
1336
+ return this.getAttribute("bgimgsize");
1337
+ }
1338
+ set bgImgSize(value) {
1339
+ this.setAttribute("bgimgsize", value);
1340
+ }
1341
+ get bgImgPosition() {
1342
+ return this.getAttribute("bgimgposition");
1343
+ }
1344
+ set bgImgPosition(value) {
1345
+ this.setAttribute("bgimgposition", value);
1346
+ }
1347
+ get shadow() {
1348
+ return this.getAttribute("shadow");
1349
+ }
1350
+ set shadow(value) {
1351
+ this.setAttribute("shadow", value);
1352
+ }
1353
+ get inverted() {
1354
+ return this.getAttribute("inverted");
1355
+ }
1356
+ set inverted(value) {
1357
+ this.setAttribute("inverted", value);
1358
+ }
1359
+ connectedCallback() {
1360
+ var _a, _b;
1361
+ const anchorSlot = this.querySelector("[slot]");
1362
+ if (anchorSlot) {
1363
+ if (anchorValues.includes(anchorSlot.getAttribute("slot"))) {
1364
+ this.shadowRoot.querySelector(".container").classList.toggle("anchored");
1365
+ }
1366
+ }
1367
+ if (((_a = this.parentElement) == null ? void 0 : _a.getAttribute("align-items")) === "stretch") {
1368
+ if (((_b = this.parentElement) == null ? void 0 : _b.getAttribute("direction")) === "column") {
1369
+ this.$el.style.width = "100%";
1370
+ } else {
1371
+ this.$el.style.height = "100%";
1372
+ }
1373
+ }
1374
+ if (this.hasAttribute("bgimg-mobile") || this.hasAttribute("bgimg-tablet") || this.hasAttribute("bgimg-laptop")) {
1375
+ window.addEventListener("resize", this.onWindowResize);
1376
+ }
1377
+ }
1378
+ disconnectedCallback() {
1379
+ window.removeEventListener("resize", this.onWindowResize);
1380
+ }
1381
+ attributeChangedCallback(attrName, oldValue, newValue) {
1382
+ if (oldValue !== newValue) {
1383
+ switch (attrName) {
1384
+ case "padding":
1385
+ case "paddingblock":
1386
+ case "paddinginline":
1387
+ case "paddingtop":
1388
+ case "paddingright":
1389
+ case "paddingbottom":
1390
+ case "paddingleft":
1391
+ this.updateAttribute(attrName, oldValue, newValue, paddingValues);
1392
+ break;
1393
+ case "border":
1394
+ this.updateAttribute(attrName, oldValue, newValue, borderValues);
1395
+ break;
1396
+ case "borderradius":
1397
+ this.updateAttribute(attrName, oldValue, newValue, borderRadiusValues);
1398
+ break;
1399
+ case "noborderradius":
1400
+ this.updateAttribute(attrName, oldValue, newValue, noBorderRadiusValues);
1401
+ break;
1402
+ case "bgcolor":
1403
+ this.updateAttribute(attrName, oldValue, newValue, bgColorValues);
1404
+ break;
1405
+ case "gradient":
1406
+ this.updateGradient(oldValue, newValue);
1407
+ break;
1408
+ case "bgimgsize":
1409
+ this.updateAttribute(attrName, oldValue, newValue, bgImgSizeValues);
1410
+ break;
1411
+ case "bgimg-mobile":
1412
+ case "bgimg-tablet":
1413
+ case "bgimg-laptop":
1414
+ if (newValue !== "") {
1415
+ this.$el.classList.toggle("bgimg");
1416
+ this.loadImg(attrName, newValue);
1417
+ }
1418
+ break;
1419
+ case "bgimgposition":
1420
+ if (newValue !== null && newValue !== "") {
1421
+ this.$el.style.backgroundPosition = newValue;
1422
+ }
1423
+ break;
1424
+ case "shadow":
1425
+ this.updateAttribute(attrName, oldValue, newValue, shadowValues);
1426
+ break;
1427
+ default:
1428
+ super.attributeChangedCallback(attrName, oldValue, newValue);
1429
+ break;
1430
+ }
1431
+ }
1432
+ }
1433
+ loadImg(attrName, newValue) {
1434
+ if (attrName === "bgimg-mobile") {
1435
+ this.$el.style.backgroundImage = `url("${newValue}")`;
1436
+ } else if (window.matchMedia("only screen and (min-width: 768px)").matches && attrName === "bgimg-tablet") {
1437
+ this.$el.style.backgroundImage = `url("${newValue}")`;
1438
+ } else if (window.matchMedia("only screen and (min-width: 1025px)").matches && attrName === "bgimg-laptop") {
1439
+ this.$el.style.backgroundImage = `url("${newValue}")`;
1440
+ }
1441
+ }
1442
+ updateGradient(oldValue, newValue) {
1443
+ if (this.checkName(gradientValues, newValue)) {
1444
+ this.$el.style.background = `linear-gradient(var(--px-color-bg-gradient-${newValue}))`;
1445
+ } else {
1446
+ console.error(`${newValue} is not an allowed gradient value for ${this.$el}`);
1447
+ }
1448
+ }
1449
+ updateAttribute(attrName, oldValue, newValue, attrValues) {
1450
+ if (oldValue !== null && oldValue !== "") {
1451
+ this.$el.classList.toggle(`${attrName}-${oldValue}`);
1452
+ }
1453
+ if (newValue !== null && newValue !== "") {
1454
+ this.$el.classList.toggle(`${attrName}-${newValue}`);
1455
+ }
1456
+ if (!this.checkName(attrValues, newValue)) {
1457
+ console.error(`${newValue} is not an allowed ${attrName} value for ${this.$el}`);
1458
+ }
1459
+ }
1460
+ checkName(values, value) {
1461
+ return values.includes(value);
1462
+ }
1463
+ };
1464
+ _Container.nativeName = "div";
1465
+ let Container = _Container;
1466
+ customElements.define("px-container", Container);
1467
+ const headingCss = "h1,.h1,::slotted(h1),h2,.h2,::slotted(h2),h3,.h3,::slotted(h3),h4,.h4,::slotted(h4),h5,.h5,::slotted(h5),h6,.h6,::slotted(h6),.h7,.subtitle{margin:0;font-family:Proximus,Verdana,Helvetica,sans-serif;color:var(--px-color-txt-primary-default);font-size:var(--px-text-size-base-mobile);line-height:var(--px-line-height-base-mobile);font-weight:700}:host([inverted]) h1,:host([inverted]) .h1,:host([inverted]) ::slotted(h1),:host([inverted]) h2,:host([inverted]) .h2,:host([inverted]) ::slotted(h2),:host([inverted]) h3,:host([inverted]) .h3,:host([inverted]) ::slotted(h3),:host([inverted]) h4,:host([inverted]) .h4,:host([inverted]) ::slotted(h4),:host([inverted]) h5,:host([inverted]) .h5,:host([inverted]) ::slotted(h5),:host([inverted]) h6,:host([inverted]) .h6,:host([inverted]) ::slotted(h6),:host([inverted]) .h7,:host([inverted]) .subtitle{color:var(--px-color-txt-primary-inverted)}h1,.h1,::slotted(h1){font-size:var(--px-text-size-5xl-mobile);line-height:var(--px-line-height-4xl-mobile);font-weight:900}h2,.h2,::slotted(h2){font-size:var(--px-text-size-4xl-mobile);line-height:var(--px-line-height-3xl-mobile);font-weight:900}h3,.h3,::slotted(h3){font-size:var(--px-text-size-3xl-mobile);line-height:var(--px-line-height-3xl-mobile)}h4,.h4,::slotted(h4){font-size:var(--px-text-size-2xl-mobile);line-height:var(--px-line-height-2xl-mobile)}h5,.h5,::slotted(h5){font-size:var(--px-text-size-l-mobile);line-height:var(--px-line-height-l-mobile)}h6,.h6,::slotted(h6){font-size:var(--px-text-size-m-mobile);line-height:var(--px-line-height-m-mobile)}.subtitle{font-size:var(--px-text-size-xl-mobile);line-height:var(--px-line-height-xl-mobile);font-weight:300}@media only screen and (min-width: 64rem){h1,.h1,::slotted(h1){font-size:var(--px-text-size-5xl-tablet);line-height:var(--px-line-height-4xl-tablet);font-weight:900}h2,.h2,::slotted(h2){font-size:var(--px-text-size-4xl-tablet);line-height:var(--px-line-height-3xl-tablet);font-weight:900}h3,.h3,::slotted(h3){font-size:var(--px-text-size-3xl-tablet);line-height:var(--px-line-height-3xl-tablet)}h4,.h4,::slotted(h4){font-size:var(--px-text-size-2xl-tablet);line-height:var(--px-line-height-2xl-tablet)}h5,.h5,::slotted(h5){font-size:var(--px-text-size-l-tablet);line-height:var(--px-line-height-l-tablet)}h6,.h6,::slotted(h6){font-size:var(--px-text-size-m-tablet);line-height:var(--px-line-height-m-tablet)}.h7{font-size:var(--px-text-size-base-tablet);line-height:var(--px-line-height-base-tablet)}.subtitle{font-size:var(--px-text-size-xl-tablet);line-height:var(--px-line-height-xl-tablet);font-weight:300}}@media only screen and (min-width: 90rem){h1,.h1,::slotted(h1){font-size:var(--px-text-size-5xl-desktop);line-height:var(--px-line-height-4xl-desktop);font-weight:900}h2,.h2,::slotted(h2){font-size:var(--px-text-size-4xl-desktop);line-height:var(--px-line-height-3xl-desktop);font-weight:900}h3,.h3,::slotted(h3){font-size:var(--px-text-size-3xl-desktop);line-height:var(--px-line-height-3xl-desktop)}h4,.h4,::slotted(h4){font-size:var(--px-text-size-2xl-desktop);line-height:var(--px-line-height-2xl-desktop)}h5,.h5,::slotted(h5){font-size:var(--px-text-size-l-desktop);line-height:var(--px-line-height-l-desktop)}h6,.h6,::slotted(h6){font-size:var(--px-text-size-m-desktop);line-height:var(--px-line-height-m-desktop)}.h7{font-size:var(--px-text-size-base-desktop);line-height:var(--px-line-height-base-desktop)}.subtitle{font-size:var(--px-text-size-xl-desktop);line-height:var(--px-line-height-xl-desktop);font-weight:300}}";
1468
+ const typographyCss$1 = ":host>*:first-child{--font-weight-light: 300;--font-weight-regular: 400;--font-weight-bold: 700;--font-weight-extrabold: 900}.color-inherit{color:inherit}.color-primary{color:var(--px-color-txt-primary-default)}.color-inverted-primary{color:var(--px-color-txt-inverted-primary-default)}.color-inverted{color:var(--px-color-txt-inverted-default)}.color-body{color:var(--px-color-txt-body-default)}.color-details{color:var(--px-color-txt-details-default)}.color-hover{color:var(--px-color-txt-hover-default)}.color-disabled{color:var(--px-color-txt-disabled-default)}.color-active{color:var(--px-color-txt-active-default)}.color-promo{color:var(--px-color-txt-promo-default)}.color-status-success{color:var(--px-color-txt-status-success-default)}.color-status-error{color:var(--px-color-txt-status-error-default)}.color-status-warning{color:var(--px-color-txt-status-warning-default)}.color-status-unlimited{color:var(--px-color-txt-status-unlimited-default)}:host([inverted]) .color-inherit{color:inherit}:host([inverted]) .color-primary{color:var(--px-color-txt-primary-inverted)}:host([inverted]) .color-inverted-primary{color:var(--px-color-txt-inverted-primary-inverted)}:host([inverted]) .color-inverted{color:var(--px-color-txt-inverted-inverted)}:host([inverted]) .color-body{color:var(--px-color-txt-body-inverted)}:host([inverted]) .color-details{color:var(--px-color-txt-details-inverted)}:host([inverted]) .color-hover{color:var(--px-color-txt-hover-inverted)}:host([inverted]) .color-disabled{color:var(--px-color-txt-disabled-inverted)}:host([inverted]) .color-active{color:var(--px-color-txt-active-inverted)}:host([inverted]) .color-promo{color:var(--px-color-txt-promo-inverted)}:host([inverted]) .color-status-success{color:var(--px-color-txt-status-success-inverted)}:host([inverted]) .color-status-error{color:var(--px-color-txt-status-error-inverted)}:host([inverted]) .color-status-warning{color:var(--px-color-txt-status-warning-inverted)}:host([inverted]) .color-status-unlimited{color:var(--px-color-txt-status-unlimited-inverted)}.fontsize-inherit{font-size:inherit;line-height:inherit}.fontsize-xs{font-size:var(--px-text-size-xs-mobile);line-height:var(--px-line-height-xs-mobile)}.fontsize-s{font-size:var(--px-text-size-s-mobile);line-height:var(--px-line-height-s-mobile)}.fontsize-base{font-size:var(--px-text-size-base-mobile);line-height:var(--px-line-height-base-mobile)}.fontsize-m{font-size:var(--px-text-size-m-mobile);line-height:var(--px-line-height-m-mobile)}.fontsize-l{font-size:var(--px-text-size-l-mobile);line-height:var(--px-line-height-l-mobile)}.fontsize-xl{font-size:var(--px-text-size-xl-mobile);line-height:var(--px-line-height-xl-mobile)}.fontsize-2xl{font-size:var(--px-text-size-2xl-mobile);line-height:var(--px-line-height-2xl-mobile)}.fontsize-3xl{font-size:var(--px-text-size-3xl-mobile);line-height:var(--px-line-height-3xl-mobile)}.fontsize-4xl{font-size:var(--px-text-size-4xl-mobile);line-height:var(--px-line-height-4xl-mobile)}.fontsize-5xl{font-size:var(--px-text-size-5xl-mobile);line-height:var(--px-line-height-5xl-mobile)}.fontsize-6xl{font-size:var(--px-text-size-6xl-mobile);line-height:var(--px-line-height-6xl-mobile)}.fontsize-7xl{font-size:var(--px-text-size-7xl-mobile);line-height:var(--px-line-height-7xl-mobile)}@media only screen and (min-width: 768px){.fontsize-xs{font-size:var(--px-text-size-xs-mobile);line-height:var(--px-line-height-xs-mobile)}.fontsize-s{font-size:var(--px-text-size-s-mobile);line-height:var(--px-line-height-s-mobile)}.fontsize-base{font-size:var(--px-text-size-base-mobile);line-height:var(--px-line-height-base-mobile)}.fontsize-m{font-size:var(--px-text-size-m-mobile);line-height:var(--px-line-height-m-mobile)}.fontsize-l{font-size:var(--px-text-size-l-mobile);line-height:var(--px-line-height-l-mobile)}.fontsize-xl{font-size:var(--px-text-size-xl-mobile);line-height:var(--px-line-height-xl-mobile)}.fontsize-2xl{font-size:var(--px-text-size-2xl-mobile);line-height:var(--px-line-height-2xl-mobile)}.fontsize-3xl{font-size:var(--px-text-size-3xl-mobile);line-height:var(--px-line-height-3xl-mobile)}.fontsize-4xl{font-size:var(--px-text-size-4xl-mobile);line-height:var(--px-line-height-4xl-mobile)}.fontsize-5xl{font-size:var(--px-text-size-5xl-mobile);line-height:var(--px-line-height-5xl-mobile)}.fontsize-6xl{font-size:var(--px-text-size-6xl-mobile);line-height:var(--px-line-height-6xl-mobile)}.fontsize-7xl{font-size:var(--px-text-size-7xl-mobile);line-height:var(--px-line-height-7xl-mobile)}}@media only screen and (min-width: 1025px){.fontsize-xs{font-size:var(--px-text-size-xs-tablet);line-height:var(--px-line-height-xs-tablet)}.fontsize-s{font-size:var(--px-text-size-s-tablet);line-height:var(--px-line-height-s-tablet)}.fontsize-base{font-size:var(--px-text-size-base-tablet);line-height:var(--px-line-height-base-tablet)}.fontsize-m{font-size:var(--px-text-size-m-tablet);line-height:var(--px-line-height-m-tablet)}.fontsize-l{font-size:var(--px-text-size-l-tablet);line-height:var(--px-line-height-l-tablet)}.fontsize-xl{font-size:var(--px-text-size-xl-tablet);line-height:var(--px-line-height-xl-tablet)}.fontsize-2xl{font-size:var(--px-text-size-2xl-tablet);line-height:var(--px-line-height-2xl-tablet)}.fontsize-3xl{font-size:var(--px-text-size-3xl-tablet);line-height:var(--px-line-height-3xl-tablet)}.fontsize-4xl{font-size:var(--px-text-size-4xl-tablet);line-height:var(--px-line-height-4xl-tablet)}.fontsize-5xl{font-size:var(--px-text-size-5xl-tablet);line-height:var(--px-line-height-5xl-tablet)}.fontsize-6xl{font-size:var(--px-text-size-6xl-tablet);line-height:var(--px-line-height-6xl-tablet)}.fontsize-7xl{font-size:var(--px-text-size-7xl-tablet);line-height:var(--px-line-height-7xl-tablet)}}@media only screen and (min-width: 1441px){.fontsize-xs{font-size:var(--px-text-size-xs-desktop);line-height:var(--px-line-height-xs-desktop)}.fontsize-s{font-size:var(--px-text-size-s-desktop);line-height:var(--px-line-height-s-desktop)}.fontsize-base{font-size:var(--px-text-size-base-desktop);line-height:var(--px-line-height-base-desktop)}.fontsize-m{font-size:var(--px-text-size-m-desktop);line-height:var(--px-line-height-m-desktop)}.fontsize-l{font-size:var(--px-text-size-l-desktop);line-height:var(--px-line-height-l-desktop)}.fontsize-xl{font-size:var(--px-text-size-xl-desktop);line-height:var(--px-line-height-xl-desktop)}.fontsize-2xl{font-size:var(--px-text-size-2xl-desktop);line-height:var(--px-line-height-2xl-desktop)}.fontsize-3xl{font-size:var(--px-text-size-3xl-desktop);line-height:var(--px-line-height-3xl-desktop)}.fontsize-4xl{font-size:var(--px-text-size-4xl-desktop);line-height:var(--px-line-height-4xl-desktop)}.fontsize-5xl{font-size:var(--px-text-size-5xl-desktop);line-height:var(--px-line-height-5xl-desktop)}.fontsize-6xl{font-size:var(--px-text-size-6xl-desktop);line-height:var(--px-line-height-6xl-desktop)}.fontsize-7xl{font-size:var(--px-text-size-7xl-desktop);line-height:var(--px-line-height-7xl-desktop)}}.fontweight-inherit{font-weight:inherit}.fontweight-normal{font-weight:var(--font-weight-regular)}.fontweight-bold{font-weight:var(--font-weight-bold)}.fontweight-extrabold{font-weight:var(--font-weight-extrabold)}.fontweight-light{font-weight:var(--font-weight-light)}";
1469
+ const headingStyles$2 = new CSSStyleSheet();
1470
+ headingStyles$2.replaceSync(headingCss);
1471
+ const typographyStyles$4 = new CSSStyleSheet();
1472
+ typographyStyles$4.replaceSync(typographyCss$1);
1473
+ const variantValues$3 = [
1474
+ "",
1475
+ "default",
1476
+ "h1",
1477
+ "h2",
1478
+ "h3",
1479
+ "h4",
1480
+ "h5",
1481
+ "h6",
1482
+ "h7",
1483
+ "subtitle"
1484
+ ];
1485
+ class AbstractHeading extends PxElement {
1486
+ template() {
1487
+ return `<slot></slot>`;
1488
+ }
1489
+ constructor(tagName) {
1490
+ super(proximusSemanticStyleSheet, headingStyles$2, typographyStyles$4);
1491
+ const $root = document.createElement(tagName);
1492
+ $root.innerHTML = this.template();
1493
+ this.shadowRoot.appendChild($root);
1494
+ }
1495
+ static get observedAttributes() {
1496
+ return [
1497
+ ...super.observedAttributes,
1498
+ "variant",
1499
+ "color",
1500
+ "fontsize",
1501
+ "fontweight",
1502
+ "inverted"
1503
+ ];
1504
+ }
1505
+ get variant() {
1506
+ return this.getAttribute("variant");
1507
+ }
1508
+ set variant(value) {
1509
+ this.setAttribute("variant", value);
1510
+ }
1511
+ get color() {
1512
+ return this.getAttribute("color");
1513
+ }
1514
+ set color(value) {
1515
+ this.setAttribute("color", value);
1516
+ }
1517
+ get fontsize() {
1518
+ return this.getAttribute("fontsize");
1519
+ }
1520
+ set fontsize(value) {
1521
+ this.setAttribute("fontsize", value);
1522
+ }
1523
+ get fontweight() {
1524
+ return this.getAttribute("fontweight");
1525
+ }
1526
+ set fontweight(value) {
1527
+ this.setAttribute("fontweight", value);
1528
+ }
1529
+ get inverted() {
1530
+ return this.getAttribute("inverted");
1531
+ }
1532
+ set inverted(value) {
1533
+ this.setAttribute("inverted", value);
1534
+ }
1535
+ attributeChangedCallback(attrName, oldValue, newValue) {
1536
+ if (oldValue !== newValue) {
1537
+ switch (attrName) {
1538
+ case "variant":
1539
+ this.updateAttribute(attrName, oldValue, newValue, variantValues$3);
1540
+ break;
1541
+ case "color":
1542
+ this.updateTypography(attrName, oldValue, newValue, colorValues$2);
1543
+ break;
1544
+ case "fontsize":
1545
+ this.updateTypography(attrName, oldValue, newValue, fontsizeValues);
1546
+ break;
1547
+ case "fontweight":
1548
+ this.updateTypography(attrName, oldValue, newValue, fontweightValues);
1549
+ break;
1550
+ default:
1551
+ super.attributeChangedCallback(attrName, oldValue, newValue);
1552
+ break;
1553
+ }
1554
+ }
1555
+ }
1556
+ toggleClass(oldValue, newValue) {
1557
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
1558
+ this.$el.classList.toggle(oldValue);
1559
+ }
1560
+ if (newValue !== null && newValue !== "" && newValue !== "default") {
1561
+ this.$el.classList.toggle(newValue);
1562
+ }
1563
+ }
1564
+ checkName(values, value) {
1565
+ return values.includes(value);
1566
+ }
1567
+ updateAttribute(attrName, oldValue, newValue, attrValue) {
1568
+ this.toggleClass(oldValue, newValue);
1569
+ if (!this.checkName(attrValue, newValue)) {
1570
+ console.error(`Bad "${attrName}" value for`, this.$el);
1571
+ }
1572
+ }
1573
+ updateTypography(attrName, oldValue, newValue, attrValue) {
1574
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
1575
+ this.$el.classList.toggle(`${attrName}-${oldValue}`);
1576
+ }
1577
+ if (newValue !== null && newValue !== "" && newValue !== "default") {
1578
+ this.$el.classList.toggle(`${attrName}-${newValue}`);
1579
+ }
1580
+ if (!this.checkName(attrValue, newValue)) {
1581
+ console.error(`Bad "${attrName}" value for`, this.$el);
1582
+ }
1583
+ }
1584
+ }
1585
+ const _H1 = class _H1 extends AbstractHeading {
1586
+ constructor() {
1587
+ super("h1");
1588
+ }
1589
+ };
1590
+ _H1.nativeName = "h1";
1591
+ let H1 = _H1;
1592
+ customElements.define("px-h1", H1);
1593
+ const _H2 = class _H2 extends AbstractHeading {
1594
+ constructor() {
1595
+ super("h2");
1596
+ }
1597
+ };
1598
+ _H2.nativeName = "h2";
1599
+ let H2 = _H2;
1600
+ customElements.define("px-h2", H2);
1601
+ const _H3 = class _H3 extends AbstractHeading {
1602
+ constructor() {
1603
+ super("h3");
1604
+ }
1605
+ };
1606
+ _H3.nativeName = "h3";
1607
+ let H3 = _H3;
1608
+ customElements.define("px-h3", H3);
1609
+ const _H4 = class _H4 extends AbstractHeading {
1610
+ constructor() {
1611
+ super("h4");
1612
+ }
1613
+ };
1614
+ _H4.nativeName = "h4";
1615
+ let H4 = _H4;
1616
+ customElements.define("px-h4", H4);
1617
+ const _H5 = class _H5 extends AbstractHeading {
1618
+ constructor() {
1619
+ super("h5");
1620
+ }
1621
+ };
1622
+ _H5.nativeName = "h5";
1623
+ let H5 = _H5;
1624
+ customElements.define("px-h5", H5);
1625
+ const _H6 = class _H6 extends AbstractHeading {
1626
+ constructor() {
1627
+ super("h6");
1628
+ }
1629
+ };
1630
+ _H6.nativeName = "h6";
1631
+ let H6 = _H6;
1632
+ customElements.define("px-h6", H6);
1633
+ const styles$a = ":host,:host *{box-sizing:border-box}:host .content-wrapper{margin-inline:1rem;max-width:1200px}@media only screen and (min-width: 1232px){:host .content-wrapper{margin-inline:auto}}";
1634
+ const styleSheet$9 = new CSSStyleSheet();
1635
+ styleSheet$9.replaceSync(styles$a);
1636
+ class Section2 extends HTMLElement {
1637
+ constructor(semanticTokensStylesheet) {
1638
+ super();
1639
+ this.template = () => `
1640
+ <px-container borderradius="none" padding="none" bgcolor="${this.bgColor}">
1641
+ <div class="content-wrapper">
1642
+ <px-vstack gap="under-display-vertical">
1643
+ <slot name="heading"></slot>
1644
+ <px-vstack gap="none">
1645
+ <slot></slot>
1646
+ </px-vstack>
1647
+ </px-vstack>
1648
+ </div>
1649
+ </px-container>
1650
+ `;
1651
+ this.attachShadow({ mode: "open" });
1652
+ this.shadowRoot.innerHTML = this.template();
1653
+ this.shadowRoot.adoptedStyleSheets = [semanticTokensStylesheet, styleSheet$9];
1654
+ }
1655
+ connectedCallback() {
1656
+ replayAttributes(this, Section2.observedAttributes, (name, value) => {
1657
+ this.attributeChangedCallback(name, null, value);
1658
+ });
1659
+ const headingSlot = this.querySelector('[slot="heading"]');
1660
+ if (!headingSlot) {
1661
+ this.shadowRoot.querySelector("px-vstack").setAttribute("gap", "none");
1662
+ }
1663
+ }
1664
+ static get observedAttributes() {
1665
+ return [
1666
+ "bgcolor",
1667
+ "gradient",
1668
+ "bgimg-mobile",
1669
+ "bgimg-tablet",
1670
+ "bgimg-laptop",
1671
+ "bgimgsize",
1672
+ "bgimgposition",
1673
+ "paddingblock",
1674
+ "paddingtop",
1675
+ "paddingbottom"
1676
+ ];
1677
+ }
1678
+ get $container() {
1679
+ return this.shadowRoot.querySelector("px-container");
1680
+ }
1681
+ attributeChangedCallback(name, oldValue, newValue) {
1682
+ if (oldValue !== newValue) {
1683
+ switch (name) {
1684
+ case "bgcolor":
1685
+ this.$container.bgColor = bgColorValues.indexOf(newValue) > 0 ? newValue : "none";
1686
+ break;
1687
+ case "gradient":
1688
+ this.$container.gradient = this.gradient;
1689
+ break;
1690
+ case "bgimg-mobile":
1691
+ this.$container.bgImgMobile = newValue;
1692
+ break;
1693
+ case "bgimg-tablet":
1694
+ this.$container.bgImgTablet = newValue;
1695
+ break;
1696
+ case "bgimg-laptop":
1697
+ this.$container.bgImgLaptop = newValue;
1698
+ break;
1699
+ case "bgimgsize":
1700
+ this.$container.bgImgSize = newValue;
1701
+ break;
1702
+ case "bgimgposition":
1703
+ this.$container.bgImgPosition = newValue;
1704
+ break;
1705
+ case "paddingblock":
1706
+ this.$container.paddingBlock = newValue;
1707
+ break;
1708
+ case "paddingtop":
1709
+ this.$container.paddingTop = newValue;
1710
+ break;
1711
+ case "paddingbottom":
1712
+ this.$container.paddingBottom = newValue;
1713
+ break;
1714
+ }
1715
+ }
1716
+ }
1717
+ get bgColor() {
1718
+ return this.getAttribute("bgcolor") || "none";
1719
+ }
1720
+ set bgColor(value) {
1721
+ this.setAttribute("bgcolor", value);
1722
+ }
1723
+ get gradient() {
1724
+ return this.getAttribute("gradient");
1725
+ }
1726
+ set gradient(value) {
1727
+ this.setAttribute("gradient", value);
1728
+ }
1729
+ get bgImgMobile() {
1730
+ return this.getAttribute("bgimg-mobile");
1731
+ }
1732
+ set bgImgMobile(value) {
1733
+ this.setAttribute("bgimg-mobile", value);
1734
+ }
1735
+ get bgImgTablet() {
1736
+ return this.getAttribute("bgimg-tablet");
1737
+ }
1738
+ set bgImgTablet(value) {
1739
+ this.setAttribute("bgimg-tablet", value);
1740
+ }
1741
+ get bgImgLaptop() {
1742
+ return this.getAttribute("bgimg-laptop");
1743
+ }
1744
+ set bgImgLaptop(value) {
1745
+ this.setAttribute("bgimg-laptop", value);
1746
+ }
1747
+ get bgImgSize() {
1748
+ return this.getAttribute("bgimgsize");
1749
+ }
1750
+ set bgImgSize(value) {
1751
+ this.setAttribute("bgimgsize", value);
1752
+ }
1753
+ get bgImgPosition() {
1754
+ return this.getAttribute("bgimgposition");
1755
+ }
1756
+ set bgImgPosition(value) {
1757
+ this.setAttribute("bgimgposition", value);
1758
+ }
1759
+ get paddingBlock() {
1760
+ return this.getAttribute("paddingblock");
1761
+ }
1762
+ set paddingBlock(value) {
1763
+ this.setAttribute("paddingblock", value);
1764
+ }
1765
+ get paddingTop() {
1766
+ return this.getAttribute("paddingtop");
1767
+ }
1768
+ set paddingTop(value) {
1769
+ this.setAttribute("paddingtop", value);
1770
+ }
1771
+ get paddingBottom() {
1772
+ return this.getAttribute("paddingbottom");
1773
+ }
1774
+ set paddingBottom(value) {
1775
+ this.setAttribute("paddingbottom", value);
1776
+ }
1777
+ }
1778
+ class ProximusSection extends Section2 {
1779
+ constructor() {
1780
+ super(proximusSemanticStyleSheet);
1781
+ }
1782
+ }
1783
+ customElements.define("px-section", ProximusSection);
1784
+ const accordionCss = `details{font-family:Proximus,Verdana,Helvetica,sans-serif;display:flex;flex-direction:column;align-items:flex-start}details:not(.single){border-bottom:var(--px-border-m) solid var(--px-color-border-main-default)}details:not(.single) ::slotted([slot="title"]){flex-grow:1}details:not(.single) slot[name=content]{display:block;padding-block:var(--px-spacing-component-default-vertical)}summary{align-items:center;transition:all .2s ease-out 0s,backdrop-filter 0s,-webkit-backdrop-filter 0s}details:not(.single) summary{display:flex;padding:var(--px-padding-s);gap:var(--px-spacing-text-to-icon-horizontal);align-self:stretch}summary:after{content:"";width:24px;height:24px;flex-shrink:0;background-color:var(--px-color-bg-action-secondary-default);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cg id='CHEVRON DOWN'%3E%3Cpath id='Vector' fill-rule='evenodd' clip-rule='evenodd' d='M12.4714 6.19524C12.2111 5.93489 11.7889 5.93489 11.5286 6.19524L8 9.72384L4.4714 6.19524C4.21105 5.93489 3.78894 5.93489 3.52859 6.19524C3.26824 6.45559 3.26824 6.8777 3.52859 7.13805L7.52859 11.1381C7.78894 11.3984 8.21105 11.3984 8.4714 11.1381L12.4714 7.13805C12.7318 6.8777 12.7318 6.45559 12.4714 6.19524Z' fill='%235C2D91'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center center;border-radius:var(--px-radius-pill);border:var(--px-border-s) solid transparent;transition:all .2s ease-out 0s,backdrop-filter 0s,-webkit-backdrop-filter 0s}summary:hover{cursor:pointer}details:not(.single) summary:hover{background-color:var(--px-color-bg-container-moderate-default)}summary:hover:after{background-color:var(--px-color-bg-action-hover-inverted-default);border:var(--px-border-s) solid var(--px-color-border-action-hover-default);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}details.single summary{display:inline-flex;gap:var(--px-spacing-between-icon-horizontal-mobile);justify-content:center;color:var(--px-color-txt-primary-default);font-weight:700;border:var(--px-border-m) solid transparent;border-radius:var(--px-radius-pill)}details.single summary:hover{gap:0;padding:0 var(--px-padding-xs);border-color:var(--px-color-border-action-hover-default)}details.single summary:hover:after{border-color:transparent;margin-right:calc(var(--px-padding-xs) * -1)}details.single slot[name=content]{display:block;padding-top:var(--px-spacing-component-default-vertical)}details[open] summary slot[name=title]{color:var(--px-color-txt-primary-default);font-weight:700}details[open] summary:after{transform:rotate(180deg)}summary::-webkit-details-marker{display:none}:host([inverted]) details{color:var(--px-color-txt-body-inverted)}:host([inverted]) details:not(.single){border-bottom:var(--px-border-m) solid var(--px-color-border-main-inverted)}:host([inverted]) details[open] summary slot[name=title]{color:var(--px-color-txt-primary-inverted)}:host([inverted]) details.single summary{color:var(--px-color-txt-primary-inverted)}:host([inverted]) details.single summary:hover{border-color:var(--px-color-border-action-hover-inverted)}:host([inverted]) details.single summary:hover:after{border-color:transparent}:host([inverted]) summary:after{background-color:var(--px-color-bg-action-secondary-inverted);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12.4714 6.19524C12.2111 5.93489 11.789 5.93489 11.5286 6.19524L8.00002 9.72384L4.47142 6.19524C4.21107 5.93489 3.78897 5.93489 3.52862 6.19524C3.26827 6.45559 3.26827 6.8777 3.52862 7.13805L7.52862 11.1381C7.78897 11.3984 8.21108 11.3984 8.47142 11.1381L12.4714 7.13805C12.7318 6.8777 12.7318 6.45559 12.4714 6.19524Z' fill='white'/%3E%3C/svg%3E")}:host([inverted]) summary:hover{background-color:var(--px-color-bg-container-moderate-inverted)}:host([inverted]) summary:hover:after{background-color:var(--px-color-bg-action-hover-inverted-inverted);border:var(--px-border-s) solid var(--px-color-border-action-hover-inverted)}`;
1785
+ const accordionStyles = new CSSStyleSheet();
1786
+ accordionStyles.replaceSync(accordionCss);
1787
+ const variantValues$2 = ["", "none", "single"];
1788
+ const _Accordion = class _Accordion extends PxElement {
1789
+ constructor() {
1790
+ super(proximusSemanticStyleSheet, accordionStyles);
1791
+ this.template = () => `<details>
1792
+ <summary role="button"><slot name="icon"></slot><slot name="title"></slot><slot name="info"></slot></summary>
1793
+ <slot name="content"></slot>
1794
+ </details>`;
1795
+ this.shadowRoot.innerHTML = this.template();
1796
+ }
1797
+ static get observedAttributes() {
1798
+ return [...super.observedAttributes, "variant", "inverted"];
1799
+ }
1800
+ get variant() {
1801
+ return this.getAttribute("variant");
1802
+ }
1803
+ set variant(value) {
1804
+ this.setAttribute("variant", value);
1805
+ }
1806
+ get inverted() {
1807
+ return this.getAttribute("inverted");
1808
+ }
1809
+ set inverted(value) {
1810
+ this.setAttribute("inverted", value);
1811
+ }
1812
+ attributeChangedCallback(attrName, oldValue, newValue) {
1813
+ if (oldValue !== newValue) {
1814
+ switch (attrName) {
1815
+ case "variant":
1816
+ this.updateAttribute(attrName, oldValue, newValue, variantValues$2);
1817
+ break;
1818
+ default:
1819
+ super.attributeChangedCallback(attrName, oldValue, newValue);
1820
+ break;
1821
+ }
1822
+ }
1823
+ }
1824
+ updateAttribute(attrName, oldValue, newValue, attrValues) {
1825
+ if (oldValue !== null && oldValue !== "") {
1826
+ this.$el.classList.toggle(`${oldValue}`);
1827
+ }
1828
+ if (newValue !== null && newValue !== "") {
1829
+ this.$el.classList.toggle(`${newValue}`);
1830
+ }
1831
+ if (!this.checkName(attrValues, newValue)) {
1832
+ console.error(`${newValue} is not an allowed ${attrName} value for ${this.$el}`);
1833
+ }
1834
+ }
1835
+ checkName(values, value) {
1836
+ return values.includes(value);
1837
+ }
1838
+ };
1839
+ _Accordion.nativeName = "details";
1840
+ let Accordion = _Accordion;
1841
+ customElements.define("px-accordion", Accordion);
1842
+ const buttonCss = '.btn{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;font-family:Proximus,Verdana,Helvetica,sans-serif;font-size:var(--px-text-size-base-mobile);line-height:var(--px-line-height-base-mobile);font-weight:700;gap:var(--px-spacing-between-icon-horizontal-mobile);cursor:pointer;text-decoration:none;--btn-transition: all .2s ease-in-out 0s;transition:var(--btn-transition);border:var(--px-border-m) solid transparent;--slotted-icon-size: var(--px-icon-size-xs-mobile)}.btn,.btn *{box-sizing:border-box}.btn:hover:not([disabled],[aria-disabled=true],.loading),.btn:focus:not([disabled],[aria-disabled=true],.loading){border-color:var(--px-color-border-action-hover-default);outline:0}.btn:active{transform:scale(.95)}.btn[disabled],.btn[aria-disabled=true]{cursor:default;pointer-events:none}.btn.loading{cursor:inherit}.btn.loading ::slotted(px-spinner){line-height:var(--px-icon-size-xs-mobile)}.btn:not(.secondary,.tertiary,.patch){color:var(--px-color-txt-inverted-primary-default);background:var(--px-color-bg-action-primary-default);min-height:var(--px-size-action-mobile);padding:0 var(--px-padding-m);border-radius:var(--px-radius-xs) var(--px-radius-xs) var(--px-radius-2xl) var(--px-radius-xs)}.btn:not(.secondary,.tertiary,.patch):hover:not([disabled],[aria-disabled=true],.loading),.btn:not(.secondary,.tertiary,.patch):focus:not([disabled],[aria-disabled=true],.loading){color:var(--px-color-txt-primary-default);background:var(--px-color-bg-action-hover-inverted-default)}.btn:not(.secondary,.tertiary,.patch)[disabled],.btn:not(.secondary,.tertiary,.patch)[aria-disabled=true]{background:var(--px-color-bg-action-disabled-default);color:var(--px-color-txt-disabled-default)}.btn:not(.secondary,.tertiary,.patch).loading{background:var(--px-color-bg-action-disabled-default);color:var(--px-color-txt-primary-default);border-color:transparent}.btn:not(.secondary,.tertiary,.patch).extended{width:100%}.btn:not(.secondary,.tertiary,.patch).alternative{border-radius:var(--px-radius-xs)}.btn.secondary{color:var(--px-color-txt-primary-default);background:var(--px-color-bg-action-secondary-default);min-height:var(--px-size-action-mobile);padding:0 var(--px-padding-m);border-radius:var(--px-radius-xs) var(--px-radius-xs) var(--px-radius-2xl) var(--px-radius-xs)}.btn.secondary:hover:not([disabled],[aria-disabled=true],.loading),.btn.secondary:focus:not([disabled],[aria-disabled=true],.loading){color:var(--px-color-txt-primary-default);background:var(--px-color-bg-action-hover-inverted-default)}.btn.secondary[disabled],.btn.secondary[aria-disabled=true]{background:var(--px-color-bg-action-disabled-default);color:var(--px-color-txt-disabled-default)}.btn.secondary.loading{background:var(--px-color-bg-action-disabled-default);color:var(--px-color-txt-primary-default);border-color:transparent}.btn.secondary.extended{width:100%}.btn.secondary.alternative{border-radius:var(--px-radius-xs)}.btn.tertiary{background:none;color:var(--px-color-txt-primary-default);border-radius:var(--px-radius-pill);padding:0}.btn.tertiary ::slotted(px-icon){display:flex;align-items:center;justify-content:center;width:var(--px-icon-size-m-mobile);height:var(--px-icon-size-m-mobile);font-size:var(--px-icon-size-2xs-mobile);border-radius:50%;background:var(--px-color-bg-action-secondary-default);transition:var(--btn-transition)}.btn.tertiary:hover:not([disabled],[aria-disabled=true],.loading),.btn.tertiary:focus:not([disabled],[aria-disabled=true],.loading){gap:0;padding:0 .5rem}.btn.tertiary:hover:not([disabled],[aria-disabled=true],.loading) ::slotted(*),.btn.tertiary:focus:not([disabled],[aria-disabled=true],.loading) ::slotted(*){background:transparent}.btn.tertiary:hover:not([disabled],[aria-disabled=true],.loading) ::slotted(px-icon),.btn.tertiary:focus:not([disabled],[aria-disabled=true],.loading) ::slotted(px-icon){margin:0 -8px}.btn.tertiary:hover:not([disabled],[aria-disabled=true],.loading) ::slotted([slot="before"]),.btn.tertiary:focus:not([disabled],[aria-disabled=true],.loading) ::slotted([slot="before"]){margin:0 0 0 -.5rem}.btn.tertiary:hover:not([disabled],[aria-disabled=true],.loading) ::slotted([slot="after"]),.btn.tertiary:focus:not([disabled],[aria-disabled=true],.loading) ::slotted([slot="after"]){margin:0 -.5rem 0 0}.btn.tertiary[disabled],.btn.tertiary[aria-disabled=true]{color:var(--px-color-txt-disabled-default)}.btn.tertiary[disabled] ::slotted(px-icon),.btn.tertiary[aria-disabled=true] ::slotted(px-icon){background:var(--px-color-bg-action-disabled-default)}.btn.tertiary.loading{color:var(--px-color-txt-primary-default);border-color:transparent}.btn.tertiary.loading ::slotted(px-spinner){display:flex;align-items:center;justify-content:center;width:var(--px-icon-size-m-mobile);height:var(--px-icon-size-m-mobile);border-radius:50%;background:var(--px-color-bg-action-disabled-default)}.btn.patch{display:inline-flex}.btn.patch:hover:not([disabled],[aria-disabled=true],.loading),.btn.patch:focus:not([disabled],[aria-disabled=true],.loading){color:var(--px-color-txt-primary-default);background:var(--px-color-bg-action-hover-inverted-default)}.btn.patch[disabled],.btn.patch[aria-disabled=true]{background:var(--px-color-bg-action-disabled-default);color:var(--px-color-txt-disabled-default)}button.link{background:none;border:none;text-decoration:underline;padding:0;cursor:pointer}button.link[disabled],button.link[aria-disabled=true]{cursor:default;pointer-events:none;color:var(--px-color-txt-disabled-default)}:host([inverted]) .btn:hover:not([disabled],[aria-disabled=true],.loading),:host([inverted]) .btn:focus:not([disabled],[aria-disabled=true],.loading){border-color:var(--px-color-border-action-hover-inverted)}:host([inverted]) .btn:not(.secondary,.tertiary,.patch){color:var(--px-color-txt-inverted-primary-inverted);background:var(--px-color-bg-action-primary-inverted)}:host([inverted]) .btn:not(.secondary,.tertiary,.patch):hover:not([disabled],[aria-disabled=true],.loading),:host([inverted]) .btn:not(.secondary,.tertiary,.patch):focus:not([disabled],[aria-disabled=true],.loading){color:var(--px-color-txt-primary-inverted);background:var(--px-color-bg-action-hover-inverted-inverted)}:host([inverted]) .btn:not(.secondary,.tertiary,.patch)[disabled],:host([inverted]) .btn:not(.secondary,.tertiary,.patch)[aria-disabled=true]{background:var(--px-color-bg-action-disabled-inverted);color:var(--px-color-txt-disabled-inverted)}:host([inverted]) .btn:not(.secondary,.tertiary,.patch).loading{background:var(--px-color-bg-action-disabled-inverted);color:var(--px-color-txt-primary-inverted);border-color:transparent}:host([inverted]) .btn.secondary{color:var(--px-color-txt-primary-inverted);background:var(--px-color-bg-action-secondary-inverted)}:host([inverted]) .btn.secondary:hover:not([disabled],[aria-disabled=true],.loading),:host([inverted]) .btn.secondary:focus:not([disabled],[aria-disabled=true],.loading){color:var(--px-color-txt-primary-inverted);background:var(--px-color-bg-action-hover-inverted-inverted)}:host([inverted]) .btn.secondary[disabled],:host([inverted]) .btn.secondary[aria-disabled=true]{background:var(--px-color-bg-action-disabled-inverted);color:var(--px-color-txt-disabled-inverted)}:host([inverted]) .btn.secondary.loading{background:var(--px-color-bg-action-disabled-inverted);color:var(--px-color-txt-primary-inverted);border-color:transparent}:host([inverted]) .btn.tertiary{color:var(--px-color-txt-primary-inverted)}:host([inverted]) .btn.tertiary ::slotted(px-icon){background:var(--px-color-bg-action-secondary-inverted)}:host([inverted]) .btn.tertiary[disabled],:host([inverted]) .btn.tertiary[aria-disabled=true]{color:var(--px-color-txt-disabled-inverted)}:host([inverted]) .btn.tertiary[disabled] ::slotted(px-icon),:host([inverted]) .btn.tertiary[aria-disabled=true] ::slotted(px-icon){background:var(--px-color-bg-action-disabled-inverted)}:host([inverted]) .btn.tertiary.loading{color:var(--px-color-txt-primary-inverted)}:host([inverted]) .btn.tertiary.loading ::slotted(px-spinner){background:var(--px-color-bg-action-disabled-inverted)}:host([inverted]) .btn.patch:hover:not([disabled],[aria-disabled=true],.loading),:host([inverted]) .btn.patch:focus:not([disabled],[aria-disabled=true],.loading){color:var(--px-color-txt-primary-inverted);background:var(--px-color-bg-action-hover-inverted-inverted)}:host([inverted]) .btn.patch[disabled],:host([inverted]) .btn.patch[aria-disabled=true]{background:var(--px-color-bg-action-disabled-inverted);color:var(--px-color-txt-disabled-inverted)}:host([inverted]) button.link[disabled],:host([inverted]) button.link[aria-disabled=true]{color:var(--px-color-txt-disabled-inverted)}@media only screen and (min-width: 640px){.btn{font-size:var(--px-text-size-base-tablet);line-height:var(--px-line-height-base-tablet);--slotted-icon-size: var(--px-icon-size-xs-tablet)}.btn.loading ::slotted(px-spinner){line-height:var(--px-icon-size-xs-tablet)}.btn:not(.secondary,.tertiary,.patch){min-height:var(--px-size-action)}.btn.secondary{min-height:var(--px-size-action)}.btn.tertiary ::slotted(px-spinner){width:var(--px-icon-size-m-tablet);height:var(--px-icon-size-m-tablet)}}@media only screen and (min-width: 640px){.btn{font-size:var(--px-text-size-base-desktop);line-height:var(--px-line-height-base-desktop);--slotted-icon-size: var(--px-icon-size-xs-desktop)}.btn.loading ::slotted(px-spinner){line-height:var(--px-icon-size-xs-desktop)}.btn.tertiary ::slotted(px-spinner){width:var(--px-icon-size-m-desktop);height:var(--px-icon-size-m-desktop)}}@keyframes anim-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}';
1843
+ const linkCss = 'a,.link,::slotted(a){font-family:Proximus,Verdana,Helvetica,sans-serif;font-size:var(--px-text-size-base-mobile);line-height:var(--px-line-height-base-mobile);font-weight:500;color:var(--px-color-txt-body-default)}a:hover,a:focus,.link:hover,.link:focus{color:var(--px-color-txt-hover-default)}a[aria-disabled=true],.link[aria-disabled=true]{cursor:default;pointer-events:none;color:var(--px-color-txt-disabled-default)}a ::slotted([slot="after"]),.link ::slotted([slot="after"]){margin-left:var(--px-spacing-text-to-icon-compact-horizontal)}a ::slotted(*),.link ::slotted(*){display:inline-block}::slotted(a:hover),::slotted(a:focus){color:var(--px-color-txt-hover-default)}a.no-style{color:inherit;text-decoration:none}a.no-style:hover,a.no-style:focus{color:inherit}a.skip-link{position:absolute;left:-10000px;top:auto;overflow:hidden;background-color:var(--px-color-bg-container-main-default);padding:var(--px-padding-xs)}a.skip-link:focus{left:auto;z-index:999}:host([inverted]) a,:host([inverted]) .link,:host([inverted]) ::slotted(a){color:var(--px-color-txt-body-inverted)}:host([inverted]) a:hover,:host([inverted]) a:focus,:host([inverted]) .link:hover,:host([inverted]) .link:focus{color:var(--px-color-txt-hover-inverted)}:host([inverted]) a[aria-disabled=true],:host([inverted]) .link[aria-disabled=true]{color:var(--px-color-txt-disabled-inverted)}:host([inverted]) ::slotted(a:hover),:host([inverted]) ::slotted(a:focus){color:var(--px-color-txt-hover-inverted)}:host([inverted]) a.skip-link{background-color:var(--px-color-bg-container-main-inverted)}@media only screen and (min-width: 64rem){a,.link,::slotted(a){font-size:var(--px-text-size-base-tablet);line-height:var(--px-line-height-base-tablet)}}@media only screen and (min-width: 90rem){a,.link,::slotted(a){font-size:var(--px-text-size-base-desktop);line-height:var(--px-line-height-base-desktop)}}';
1844
+ const styles$9 = ".patch{display:inline-block;padding:0 var(--px-padding-s);height:1.625rem;border:var(--px-border-m) solid transparent;border-radius:var(--px-radius-l) var(--px-radius-l) var(--px-radius-l) 0;font-family:Proximus,Verdana,Helvetica,sans-serif;font-weight:700;font-size:var(--px-text-size-base-mobile);line-height:var(--px-line-height-base-mobile);text-align:center;background-color:var(--px-color-bg-promo-default);color:var(--px-color-txt-inverted-primary-default)}.patch,.patch *{box-sizing:border-box}@media only screen and (min-width: 640px){.patch{font-size:var(--px-text-size-base-tablet);line-height:var(--px-line-height-base-tablet)}}@media only screen and (min-width: 1025px){.patch{font-size:var(--px-text-size-base-desktop);line-height:var(--px-line-height-base-desktop)}}:host([inverted]) .patch{background-color:var(--px-color-bg-promo-inverted);color:var(--px-color-txt-inverted-primary-default)}.bottom-right{border-radius:var(--px-radius-l) var(--px-radius-l) 0 var(--px-radius-l)}.bottom-left{border-radius:var(--px-radius-l) var(--px-radius-l) var(--px-radius-l) 0}.info{background-color:var(--px-color-illu-blue-core);color:var(--px-color-txt-body-default)}:host([inverted]) .info{background-color:var(--px-color-illu-blue-core);color:var(--px-color-txt-body-default)}.black-friday{background-color:var(--px-color-bg-container-rich-default);color:var(--px-color-txt-inverted-default)}:host([inverted]) .black-friday{background-color:var(--px-color-bg-container-rich-inverted);color:var(--px-color-txt-inverted-inverted)}.eco{background-color:var(--px-color-bg-success-default);color:var(--px-color-txt-inverted-default)}:host([inverted]) .eco{background-color:var(--px-color-bg-success-inverted);color:var(--px-color-txt-inverted-inverted)}.greyed{background-color:var(--px-color-bg-action-disabled-default);color:var(--px-color-icon-disabled-default)}:host([inverted]) .greyed{background-color:var(--px-color-bg-action-disabled-inverted);color:var(--px-color-icon-disabled-inverted)}";
1845
+ const buttonStyles$1 = new CSSStyleSheet();
1846
+ const linkStyles$2 = new CSSStyleSheet();
1847
+ const patchStyles = new CSSStyleSheet();
1848
+ buttonStyles$1.replaceSync(buttonCss);
1849
+ linkStyles$2.replaceSync(linkCss);
1850
+ patchStyles.replaceSync(styles$9);
1851
+ const _Button = class _Button extends PxElement {
1852
+ constructor(semanticTokensStylesheet) {
1853
+ super(semanticTokensStylesheet, buttonStyles$1, linkStyles$2, patchStyles);
1854
+ this.template = () => `<slot name="before"></slot><slot></slot><slot name="after"></slot>`;
1855
+ const $root = document.createElement(this.nativeName);
1856
+ $root.classList.add("btn");
1857
+ $root.innerHTML = this.template();
1858
+ this.shadowRoot.appendChild($root);
1859
+ }
1860
+ static get observedAttributes() {
1861
+ return [...super.observedAttributes, "variant", "state", "extended", "loading", "shape", "inverted"];
1862
+ }
1863
+ get variant() {
1864
+ return this.getAttribute("variant");
1865
+ }
1866
+ set variant(value) {
1867
+ this.setAttribute("variant", value);
1868
+ }
1869
+ get state() {
1870
+ return this.getAttribute("state");
1871
+ }
1872
+ set state(value) {
1873
+ this.setAttribute("state", value);
1874
+ }
1875
+ get extended() {
1876
+ return this.getAttribute("extended");
1877
+ }
1878
+ set extended(value) {
1879
+ this.setAttribute("extended", value);
1880
+ }
1881
+ get loading() {
1882
+ return this.getAttribute("loading");
1883
+ }
1884
+ set loading(value) {
1885
+ this.setAttribute("loading", value);
1886
+ }
1887
+ get shape() {
1888
+ return this.getAttribute("shape");
1889
+ }
1890
+ set shape(value) {
1891
+ this.setAttribute("shape", value);
1892
+ }
1893
+ get inverted() {
1894
+ return this.getAttribute("inverted");
1895
+ }
1896
+ set inverted(value) {
1897
+ this.setAttribute("inverted", value);
1898
+ }
1899
+ attributeChangedCallback(attrName, oldValue, newValue) {
1900
+ if (oldValue !== newValue) {
1901
+ switch (attrName) {
1902
+ case "variant":
1903
+ this.updateVariant(oldValue, newValue);
1904
+ break;
1905
+ case "state":
1906
+ this.updateState(oldValue, newValue);
1907
+ break;
1908
+ case "extended":
1909
+ this.updateExtended();
1910
+ break;
1911
+ case "loading":
1912
+ this.updateLoading();
1913
+ break;
1914
+ case "shape":
1915
+ this.updateShape(oldValue, newValue);
1916
+ break;
1917
+ default:
1918
+ super.attributeChangedCallback(attrName, oldValue, newValue);
1919
+ break;
1920
+ }
1921
+ }
1922
+ }
1923
+ checkName(values, value) {
1924
+ if (values.includes(value)) {
1925
+ return true;
1926
+ }
1927
+ return false;
1928
+ }
1929
+ checkClass(value) {
1930
+ if (value.startsWith("patch-")) {
1931
+ const splittedValue = value.split(/-(.*)/s);
1932
+ for (const classVar of splittedValue) {
1933
+ if (classVar != "") {
1934
+ this.$el.classList.toggle(classVar);
1935
+ }
1936
+ }
1937
+ } else {
1938
+ this.$el.classList.toggle(value);
1939
+ }
1940
+ }
1941
+ _toggleClass(oldValue, newValue) {
1942
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
1943
+ this.checkClass(oldValue);
1944
+ }
1945
+ if (newValue !== null && newValue !== "" && newValue !== "default") {
1946
+ this.checkClass(newValue);
1947
+ }
1948
+ }
1949
+ updateVariant(oldValue, newValue) {
1950
+ const values = ["", "default", "secondary", "tertiary", "link", "patch", "patch-info", "patch-black-friday", "patch-eco"];
1951
+ if (newValue === "link") {
1952
+ this.$el.classList.remove("btn");
1953
+ } else {
1954
+ this.$el.classList.add("btn");
1955
+ }
1956
+ this._toggleClass(oldValue, newValue);
1957
+ if (!this.checkName(values, newValue)) {
1958
+ console.error(`Bad "variant" value for ${this.$el}`);
1959
+ }
1960
+ }
1961
+ updateState(oldValue, newValue) {
1962
+ const values = ["", "default", "success", "error"];
1963
+ this._toggleClass(oldValue, newValue);
1964
+ if (!this.checkName(values, newValue)) {
1965
+ console.error(`Bad "sate" value for ${this.$el}`);
1966
+ }
1967
+ }
1968
+ updateExtended() {
1969
+ this.$el.classList.toggle("extended");
1970
+ }
1971
+ updateLoading() {
1972
+ this.$el.classList.toggle("loading");
1973
+ }
1974
+ updateShape(oldValue, newValue) {
1975
+ const values = ["", "default", "bottom-right", "bottom-left", "alternative"];
1976
+ this._toggleClass(oldValue, newValue);
1977
+ if (!this.checkName(values, newValue)) {
1978
+ console.error(`Bad "shape" value for ${this.$el}`);
1979
+ }
1980
+ }
1981
+ };
1982
+ _Button.nativeName = "button";
1983
+ let Button = _Button;
1984
+ class ProximusButton extends Button {
1985
+ constructor() {
1986
+ super(proximusSemanticStyleSheet);
1987
+ }
1988
+ }
1989
+ customElements.define("px-button", ProximusButton);
1990
+ const imgCss = "img{display:inline-block;vertical-align:middle;max-width:100%;height:auto;border-style:none}@media only screen and (max-width: 40em){.mo,.m,.l{display:none}}@media only screen and (min-width: 40.0625em) and (max-width: 64em){.l{display:none}}@media only screen and (min-width: 40.0625em){.so{display:none}}@media only screen and (min-width: 64.0625em){.so,.mo{display:none}}";
1991
+ const styleSheet$8 = new CSSStyleSheet();
1992
+ styleSheet$8.replaceSync(imgCss);
1993
+ class AbstractImage extends PxElement {
1994
+ constructor() {
1995
+ super(styleSheet$8);
1996
+ }
1997
+ static get observedAttributes() {
1998
+ return [...super.observedAttributes, "showfor"];
1999
+ }
2000
+ get showfor() {
2001
+ return this.getAttribute("showfor");
2002
+ }
2003
+ set showfor(value) {
2004
+ this.setAttribute("showfor", value);
2005
+ }
2006
+ attributeChangedCallback(attrName, oldValue, newValue) {
2007
+ if (oldValue !== newValue) {
2008
+ switch (attrName) {
2009
+ case "showfor":
2010
+ this.updateShowFor(oldValue, newValue);
2011
+ break;
2012
+ default:
2013
+ super.attributeChangedCallback(attrName, oldValue, newValue);
2014
+ break;
2015
+ }
2016
+ }
2017
+ }
2018
+ toggleClass(oldValue, newValue) {
2019
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
2020
+ this.$el.classList.toggle(oldValue);
2021
+ }
2022
+ if (newValue !== null && newValue !== "" && newValue !== "default") {
2023
+ this.$el.classList.toggle(newValue);
2024
+ }
2025
+ }
2026
+ checkName(value) {
2027
+ return ["", "s", "so", "mo", "m", "l"].includes(value);
2028
+ }
2029
+ updateShowFor(oldValue, newValue) {
2030
+ if (this.checkName(newValue)) {
2031
+ this.toggleClass(oldValue, newValue);
2032
+ } else {
2033
+ console.error(`Bad "showfor" value for`, this);
2034
+ }
2035
+ }
2036
+ }
2037
+ const _Image = class _Image extends AbstractImage {
2038
+ constructor() {
2039
+ super();
2040
+ const $root = document.createElement(this.nativeName);
2041
+ this.shadowRoot.appendChild($root);
2042
+ }
2043
+ };
2044
+ _Image.nativeName = "img";
2045
+ let Image = _Image;
2046
+ customElements.define("px-image", Image);
2047
+ const _Picture = class _Picture extends AbstractImage {
2048
+ constructor() {
2049
+ super();
2050
+ this.possibleImgExtension = ["webp", "svg", "apng", "png", "jpg", "jpeg", "jfif", "pjpeg", "pjp", "avif", "gif", "bmp", "ico", "cur", "tif", "tiff"];
2051
+ const $root = document.createElement(this.nativeName);
2052
+ this.shadowRoot.appendChild($root);
2053
+ }
2054
+ static get observedAttributes() {
2055
+ return [...super.observedAttributes, "loading", "alt", "src"];
2056
+ }
2057
+ get loading() {
2058
+ return this.getAttribute("loading");
2059
+ }
2060
+ set loading(value) {
2061
+ this.setAttribute("loading", value);
2062
+ }
2063
+ get alt() {
2064
+ return this.getAttribute("alt");
2065
+ }
2066
+ set alt(value) {
2067
+ this.setAttribute("alt", value);
2068
+ }
2069
+ get src() {
2070
+ return this.getAttribute("src");
2071
+ }
2072
+ set src(value) {
2073
+ this.setAttribute("src", value);
2074
+ }
2075
+ get $imgEl() {
2076
+ return this.shadowRoot.querySelector("img");
2077
+ }
2078
+ attributeChangedCallback(attrName, oldValue, newValue) {
2079
+ if (oldValue !== newValue) {
2080
+ switch (attrName) {
2081
+ case "src":
2082
+ this.addSrc(newValue, this.alt, this.loading);
2083
+ break;
2084
+ case "loading":
2085
+ this.updateLoading(newValue);
2086
+ break;
2087
+ case "alt":
2088
+ this.updateAlt(newValue);
2089
+ break;
2090
+ default:
2091
+ super.attributeChangedCallback(attrName, oldValue, newValue);
2092
+ break;
2093
+ }
2094
+ }
2095
+ }
2096
+ removeSrc() {
2097
+ this.$el.innerHTML = "";
2098
+ }
2099
+ async imgExists(imgUrl) {
2100
+ const response = await fetch(imgUrl, { method: "HEAD" }).catch((err) => console.log("Error:", err));
2101
+ return typeof response === "object" && response.ok && response.status != 404 && response.status != 403 && response.headers.get("Content-Type") != "text/html";
2102
+ }
2103
+ async transformImgPath(imgName, imgExtension, breakpoint) {
2104
+ let imgLang = "";
2105
+ if (imgName.endsWith("-en") || imgName.endsWith("-fr") || imgName.endsWith("-nl") || imgName.endsWith("-de")) {
2106
+ imgLang = imgName.slice(-3);
2107
+ imgName = imgName.slice(0, -3);
2108
+ }
2109
+ if (imgName.endsWith("-s") || imgName.endsWith("-m") || imgName.endsWith("-l")) {
2110
+ imgName = imgName.slice(0, -2);
2111
+ }
2112
+ let imgPath = `${imgName}${breakpoint}${imgLang}.${imgExtension}`;
2113
+ const imgOk = await this.imgExists(imgPath);
2114
+ if (!imgOk) {
2115
+ imgPath = "";
2116
+ }
2117
+ return imgPath;
2118
+ }
2119
+ addImg(imgPath, alt, loading) {
2120
+ const img = document.createElement("img");
2121
+ img.src = imgPath;
2122
+ img.alt = alt || "";
2123
+ if (loading && (loading === "lazy" || loading === "eager")) {
2124
+ img.loading = loading;
2125
+ }
2126
+ this.$el.appendChild(img);
2127
+ }
2128
+ addSrcset(imgPath, media) {
2129
+ if (imgPath !== "") {
2130
+ const source = document.createElement("source");
2131
+ source.media = media;
2132
+ source.srcset = imgPath;
2133
+ this.$el.insertBefore(source, this.$el.firstChild);
2134
+ }
2135
+ }
2136
+ async addSrc(value, alt, loading) {
2137
+ this.removeSrc();
2138
+ if (!value) {
2139
+ console.error('No "src" value for ', this);
2140
+ return;
2141
+ }
2142
+ const imgExtension = value.split(".").pop();
2143
+ if (!this.possibleImgExtension.includes(imgExtension)) {
2144
+ console.error('No extensions image to "src" value for ', this);
2145
+ return;
2146
+ }
2147
+ const imgName = value.slice(0, (imgExtension.length + 1) * -1);
2148
+ let imgPathS = value;
2149
+ const imgOk = await this.imgExists(imgPathS);
2150
+ if (!imgOk) {
2151
+ imgPathS = await this.transformImgPath(imgName, imgExtension, "-s");
2152
+ }
2153
+ if (imgPathS === "") {
2154
+ console.error('Bad "src" value for ', this);
2155
+ return;
2156
+ }
2157
+ const imgPathM = await this.transformImgPath(imgName, imgExtension, "-m");
2158
+ this.addSrcset(imgPathM, "only screen and (min-width: 40.0625em)");
2159
+ const imgPathL = await this.transformImgPath(imgName, imgExtension, "-l");
2160
+ this.addSrcset(imgPathL, "only screen and (min-width: 64.0625em)");
2161
+ this.addImg(imgPathS, alt, loading);
2162
+ }
2163
+ updateLoading(loading) {
2164
+ if (!this.$imgEl || !this.src) {
2165
+ return;
2166
+ }
2167
+ if (loading && (loading === "lazy" || loading === "eager")) {
2168
+ this.$imgEl.loading = loading;
2169
+ } else {
2170
+ this.$imgEl.removeAttribute("loading");
2171
+ }
2172
+ }
2173
+ updateAlt(alt) {
2174
+ if (!this.$imgEl || !this.src) {
2175
+ return;
2176
+ }
2177
+ this.$imgEl.alt = alt || "";
2178
+ }
2179
+ };
2180
+ _Picture.nativeName = "picture";
2181
+ let Picture = _Picture;
2182
+ customElements.define("px-picture", Picture);
2183
+ const styleSheet$7 = new CSSStyleSheet();
2184
+ styleSheet$7.replaceSync(styles$9);
2185
+ class Patch extends HTMLElement {
2186
+ constructor(semanticTokensStylesheet) {
2187
+ super();
2188
+ this.variantValues = [
2189
+ "",
2190
+ "default",
2191
+ "info",
2192
+ "black-friday",
2193
+ "eco",
2194
+ "greyed"
2195
+ ];
2196
+ this.shapeValues = ["", "default", "bottom-right", "bottom-left"];
2197
+ this.attachShadow({ mode: "open" });
2198
+ this.shadowRoot.innerHTML = this.template();
2199
+ this.shadowRoot.adoptedStyleSheets = [semanticTokensStylesheet, styleSheet$7];
2200
+ }
2201
+ template() {
2202
+ return `
2203
+ <div class="patch">
2204
+ <slot></slot>
2205
+ </div>
2206
+ `;
2207
+ }
2208
+ static get observedAttributes() {
2209
+ return ["variant", "shape", "inverted"];
2210
+ }
2211
+ attributeChangedCallback(attrName, oldValue, newValue) {
2212
+ if (oldValue !== newValue) {
2213
+ switch (attrName) {
2214
+ case "variant":
2215
+ this.updateVariant(oldValue, newValue);
2216
+ break;
2217
+ case "shape":
2218
+ this.updateShape(oldValue, newValue);
2219
+ break;
2220
+ }
2221
+ }
2222
+ }
2223
+ connectedCallback() {
2224
+ replayAttributes(this, Patch.observedAttributes, (name, value) => {
2225
+ this.attributeChangedCallback(name, null, value);
2226
+ });
2227
+ }
2228
+ _toggleClass(oldValue, newValue) {
2229
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
2230
+ this.$el.classList.toggle(oldValue);
2231
+ }
2232
+ if (newValue !== null && newValue !== "" && newValue !== "default") {
2233
+ this.$el.classList.toggle(newValue);
2234
+ }
2235
+ }
2236
+ checkName(values, value) {
2237
+ return values.includes(value);
2238
+ }
2239
+ updateVariant(oldValue, newValue) {
2240
+ this._toggleClass(oldValue, newValue);
2241
+ if (!this.checkName(this.variantValues, newValue)) {
2242
+ console.error(`Bad "variant" value for patch`);
2243
+ }
2244
+ }
2245
+ updateShape(oldValue, newValue) {
2246
+ this._toggleClass(oldValue, newValue);
2247
+ if (!this.checkName(this.shapeValues, newValue)) {
2248
+ console.error(`Bad "shape" value for patch`);
2249
+ }
2250
+ }
2251
+ get $el() {
2252
+ return this.shadowRoot.querySelector(".patch");
2253
+ }
2254
+ get variant() {
2255
+ return this.getAttribute("variant");
2256
+ }
2257
+ set variant(value) {
2258
+ this.setAttribute("variant", value);
2259
+ }
2260
+ get shape() {
2261
+ return this.getAttribute("shape");
2262
+ }
2263
+ set shape(value) {
2264
+ this.setAttribute("shape", value);
2265
+ }
2266
+ get inverted() {
2267
+ return this.getAttribute("inverted");
2268
+ }
2269
+ set inverted(value) {
2270
+ this.setAttribute("inverted", value);
2271
+ }
2272
+ }
2273
+ class ProximusPatch extends Patch {
2274
+ constructor() {
2275
+ super(proximusSemanticStyleSheet);
2276
+ }
2277
+ }
2278
+ customElements.define("px-patch", ProximusPatch);
2279
+ const css$1 = '.price{--price-s: var(--px-text-size-l-mobile);--price-m: var(--px-text-size-xl-mobile);--price-l: var(--px-text-size-3xl-mobile);font-family:Proximus,Verdana,Helvetica,sans-serif;white-space:nowrap;font-weight:700;color:var(--px-color-txt-primary-default);font-size:var(--price-s)}@media only screen and (min-width: 641px){.price{--price-s: var(--px-text-size-l-tablet);--price-m: var(--px-text-size-xl-tablet);--price-l: var(--px-text-size-3xl-tablet)}}@media only screen and (min-width: 1025px){.price{--price-s: var(--px-text-size-l-desktop);--price-m: var(--px-text-size-xl-desktop);--price-l: var(--px-text-size-3xl-desktop)}}.promo,.free{color:var(--px-color-txt-promo-default)}.neutral{color:var(--px-color-txt-body-default)}.exceeding{color:var(--px-color-txt-status-error-default)}.disabled{color:var(--px-color-txt-disabled-default)}::slotted(s){color:var(--px-color-txt-body-default);font-size:var(--px-text-size-base-mobile);font-weight:400}@media only screen and (min-width: 641px){{font-size:var(--px-text-size-base-tablet)}}@media only screen and (min-width: 1025px){{font-size:var(--px-text-size-base-desktop)}}:host([inverted]) .price{color:var(--px-color-txt-primary-inverted)}:host([inverted]) .promo,:host([inverted]) .free{color:var(--px-color-txt-promo-inverted)}:host([inverted]) .neutral{color:var(--px-color-txt-body-inverted)}:host([inverted]) .exceeding{color:var(--px-color-txt-status-error-inverted)}:host([inverted]) .disabled{color:var(--px-color-txt-disabled-inverted)}:host([inverted]) ::slotted(s){color:var(--px-color-txt-body-inverted)}.price:not(.promo):not(.free) ::slotted(s){display:none}::slotted(.euro){font-size:calc(var(--price-s) * .75)}::slotted(.decimals){font-size:calc(var(--price-s) * .5)}.m{font-size:var(--price-m)}:host([size="m"]) ::slotted(.decimals){font-size:calc(var(--price-m) * .5)}:host([size="m"]) ::slotted(.euro){font-size:calc(var(--price-m) * .75)}.l{font-size:var(--price-l)}:host([size="l"]) ::slotted(.decimals){font-size:calc(var(--price-l) * .5)}:host([size="l"]) ::slotted(.euro){font-size:calc(var(--price-l) * .75)}';
2280
+ const styles$8 = new CSSStyleSheet();
2281
+ styles$8.replaceSync(css$1);
2282
+ const variantValues$1 = ["default", "promo", "free", "neutral", "exceeding", "disabled"];
2283
+ const sizeValues$1 = ["", "s", "m", "l"];
2284
+ const _Price = class _Price extends PxElement {
2285
+ constructor() {
2286
+ super(proximusSemanticStyleSheet, styles$8);
2287
+ this.template = () => `<span class="price"><slot name="oldprice"></slot><slot></slot></span>`;
2288
+ this.shadowRoot.innerHTML = this.template();
2289
+ }
2290
+ static get observedAttributes() {
2291
+ return [...super.observedAttributes, "variant", "size", "inverted"];
2292
+ }
2293
+ get variant() {
2294
+ return this.getAttribute("variant");
2295
+ }
2296
+ set variant(value) {
2297
+ this.setAttribute("variant", value);
2298
+ }
2299
+ get size() {
2300
+ return this.getAttribute("size");
2301
+ }
2302
+ set size(value) {
2303
+ this.setAttribute("size", value);
2304
+ }
2305
+ get inverted() {
2306
+ return this.getAttribute("inverted");
2307
+ }
2308
+ set inverted(value) {
2309
+ this.setAttribute("inverted", value);
2310
+ }
2311
+ connectedCallback() {
2312
+ this.buildPrice();
2313
+ }
2314
+ attributeChangedCallback(attrName, oldValue, newValue) {
2315
+ if (oldValue !== newValue) {
2316
+ switch (attrName) {
2317
+ case "variant":
2318
+ this.updateAttribute(attrName, oldValue, newValue, variantValues$1);
2319
+ break;
2320
+ case "size":
2321
+ this.updateAttribute(attrName, oldValue, newValue, sizeValues$1);
2322
+ break;
2323
+ default:
2324
+ super.attributeChangedCallback(attrName, oldValue, newValue);
2325
+ break;
2326
+ }
2327
+ }
2328
+ }
2329
+ checkName(values, value) {
2330
+ return values.includes(value);
2331
+ }
2332
+ toggleClass(oldValue, newValue) {
2333
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
2334
+ this.$el.classList.toggle(oldValue);
2335
+ }
2336
+ if (newValue !== null && newValue !== "" && newValue !== "default") {
2337
+ this.$el.classList.toggle(newValue);
2338
+ }
2339
+ }
2340
+ updateAttribute(attrName, oldValue, newValue, attrValues) {
2341
+ this.toggleClass(oldValue, newValue);
2342
+ if (!this.checkName(attrValues, newValue)) {
2343
+ console.error(`${newValue} is not an allowed ${attrName} value for ${this.$el}`);
2344
+ }
2345
+ }
2346
+ buildPrice() {
2347
+ let price = this.innerHTML.trim();
2348
+ const oldPrice = this.querySelector("s");
2349
+ let strikethroughPrice = "";
2350
+ if (oldPrice && oldPrice.innerText !== "") {
2351
+ oldPrice.innerText = "€" + oldPrice.innerText;
2352
+ price = oldPrice.nextSibling.textContent;
2353
+ strikethroughPrice = oldPrice.outerHTML + " ";
2354
+ } else if (oldPrice && oldPrice.innerText === "") {
2355
+ price = oldPrice.nextSibling.textContent;
2356
+ }
2357
+ const isNumeric = /^[\d|.|,]+/.test(price);
2358
+ let euro = "";
2359
+ if (isNumeric) {
2360
+ euro = '<span class="euro">€</span>';
2361
+ } else {
2362
+ euro = "";
2363
+ }
2364
+ const separator = price.charAt(price.length - 3);
2365
+ if (separator === "." || separator === ",") {
2366
+ const [nbrPart, decPart] = price.split(separator);
2367
+ this.innerHTML = `${strikethroughPrice}${euro}${nbrPart}<span class="decimals">${separator}${decPart}</span>`;
2368
+ } else {
2369
+ this.innerHTML = `${strikethroughPrice}${euro}${price}`;
2370
+ }
2371
+ }
2372
+ };
2373
+ _Price.nativeName = "span";
2374
+ let Price = _Price;
2375
+ customElements.define("px-price", Price);
2376
+ const css = ":host{box-sizing:border-box}.ribbon{font-family:Proximus,Verdana,Helvetica,sans-serif;font-weight:700;font-size:var(--px-text-size-base-mobile);line-height:var(--px-line-height-base-mobile);white-space:nowrap;text-align:left;color:var(--px-color-txt-body-inverted);background-color:var(--px-color-bg-container-rich-default);padding:var(--px-padding-xs) var(--px-padding-s);border-radius:var(--px-radius-s) var(--px-radius-s) 0 0}.ribbon,.ribbon *{box-sizing:border-box}@media only screen and (min-width: 768px){.ribbon{font-size:var(--px-text-size-base-tablet);line-height:var(--px-line-height-base-tablet)}}@media only screen and (min-width: 1025px){.ribbon{font-size:var(--px-text-size-base-desktop);line-height:var(--px-line-height-base-desktop)}}";
2377
+ const styles$7 = new CSSStyleSheet();
2378
+ styles$7.replaceSync(css);
2379
+ const _Ribbon = class _Ribbon extends PxElement {
2380
+ constructor() {
2381
+ super(proximusSemanticStyleSheet, styles$7);
2382
+ this.template = () => `<div class="ribbon"><slot></slot></div>`;
2383
+ this.shadowRoot.innerHTML = this.template();
2384
+ }
2385
+ };
2386
+ _Ribbon.nativeName = "div";
2387
+ let Ribbon = _Ribbon;
2388
+ customElements.define("px-ribbon", Ribbon);
2389
+ const styles$6 = "hr{--separator-size: 2px;clear:both;margin:0;border-width:var(--separator-size) 0 0;border-style:solid;border-color:var(--px-color-border-main-default)}.vertical{width:var(--separator-size);height:100%;border-width:0 var(--separator-size) 0 0}.none{--separator-size: 0}.s{--separator-size: 1px}.m{--separator-size: 2px}.l{--separator-size: 3px}.contrasted{border-color:var(--px-color-border-contrasted-default)}.action-hover{border-color:var(--px-color-border-action-hover-default)}.action-active{border-color:var(--px-color-border-action-active-default)}.none{border-color:var(--px-color-border-none-default)}.success{border-color:var(--px-color-border-success-default)}.error{border-color:var(--px-color-border-error-default)}.warning{border-color:var(--px-color-border-warning-default)}.unlimited{border-color:var(--px-color-border-unlimited-default)}:host([inverted]) hr{border-color:var(--px-color-border-main-inverted)}:host([inverted]) .contrasted{border-color:var(--px-color-border-contrasted-inverted)}:host([inverted]) .action-hover{border-color:var(--px-color-border-action-hover-inverted)}:host([inverted]) .action-active{border-color:var(--px-color-border-action-active-inverted)}:host([inverted]) .none{border-color:var(--px-color-border-none-inverted)}:host([inverted]) .success{border-color:var(--px-color-border-success-inverted)}:host([inverted]) .error{border-color:var(--px-color-border-error-inverted)}:host([inverted]) .warning{border-color:var(--px-color-border-warning-inverted)}:host([inverted]) .unlimited{border-color:var(--px-color-border-unlimited-inverted)}";
2390
+ const styleSheet$6 = new CSSStyleSheet();
2391
+ styleSheet$6.replaceSync(styles$6);
2392
+ const directionValues = ["", "default", "vertical"];
2393
+ const sizeValues = ["", "none", "s", "m", "l"];
2394
+ const colorValues = ["", "contrasted", "action-hover", "action-active", "none", "success", "error", "warning", "unlimited"];
2395
+ const _Separator = class _Separator extends PxElement {
2396
+ constructor() {
2397
+ super(proximusSemanticStyleSheet, styleSheet$6);
2398
+ const $root = document.createElement(this.nativeName);
2399
+ this.shadowRoot.appendChild($root);
2400
+ }
2401
+ static get observedAttributes() {
2402
+ return [...super.observedAttributes, "direction", "size", "color", "inverted"];
2403
+ }
2404
+ get direction() {
2405
+ return this.getAttribute("direction");
2406
+ }
2407
+ set direction(value) {
2408
+ this.setAttribute("direction", value);
2409
+ }
2410
+ get size() {
2411
+ return this.getAttribute("size");
2412
+ }
2413
+ set size(value) {
2414
+ this.setAttribute("size", value);
2415
+ }
2416
+ get color() {
2417
+ return this.getAttribute("color");
2418
+ }
2419
+ set color(value) {
2420
+ this.setAttribute("color", value);
2421
+ }
2422
+ get inverted() {
2423
+ return this.getAttribute("inverted");
2424
+ }
2425
+ set inverted(value) {
2426
+ this.setAttribute("inverted", value);
2427
+ }
2428
+ attributeChangedCallback(attrName, oldValue, newValue) {
2429
+ if (oldValue !== newValue) {
2430
+ switch (attrName) {
2431
+ case "direction":
2432
+ this.updateAttribute(attrName, oldValue, newValue, directionValues);
2433
+ break;
2434
+ case "size":
2435
+ this.updateAttribute(attrName, oldValue, newValue, sizeValues);
2436
+ break;
2437
+ case "color":
2438
+ this.updateAttribute(attrName, oldValue, newValue, colorValues);
2439
+ break;
2440
+ default:
2441
+ super.attributeChangedCallback(attrName, oldValue, newValue);
2442
+ break;
2443
+ }
2444
+ }
2445
+ }
2446
+ toggleClass(oldValue, newValue) {
2447
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
2448
+ this.$el.classList.toggle(oldValue);
2449
+ }
2450
+ if (newValue !== null && newValue !== "" && newValue !== "default") {
2451
+ this.$el.classList.toggle(newValue);
2452
+ }
2453
+ }
2454
+ checkName(values, value) {
2455
+ return values.includes(value);
2456
+ }
2457
+ updateAttribute(attrName, oldValue, newValue, attrValue) {
2458
+ this.toggleClass(oldValue, newValue);
2459
+ if (!this.checkName(attrValue, newValue)) {
2460
+ console.error(`Bad "${attrName}" value for`, this.$el);
2461
+ }
2462
+ }
2463
+ };
2464
+ _Separator.nativeName = "hr";
2465
+ let Separator = _Separator;
2466
+ customElements.define("px-separator", Separator);
2467
+ const styles$5 = '.tag{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;font-family:Proximus,Verdana,Helvetica,sans-serif;font-size:var(--px-text-size-s-mobile);line-height:var(--px-line-height-s-mobile);font-weight:400;gap:var(--px-spacing-text-to-icon-compact-horizontal);background-color:var(--px-color-bg-action-secondary-default);color:var(--px-color-txt-primary-default);padding:var(--px-padding-2xs) var(--px-padding-xs);border:var(--px-border-s) solid transparent;border-radius:var(--px-radius-s);--slotted-icon-size: var(--px-icon-size-xs-mobile)}.tag,.tag *{box-sizing:border-box}.tag ::slotted([slot="before"]){font-size:var(--px-icon-size-xs-mobile);line-height:var(--px-icon-size-xs-mobile)}.light{background-color:var(--px-color-bg-action-disabled-default);color:var(--px-color-txt-body-default)}.outline{background-color:transparent;color:var(--px-color-txt-primary-default);border-color:var(--px-color-border-action-hover-default)}.pill{border-radius:var(--px-radius-pill)}:host([inverted]) .tag{background-color:var(--px-color-bg-action-secondary-inverted);color:var(--px-color-txt-primary-inverted)}:host([inverted]) .light{background-color:var(--px-color-bg-action-disabled-inverted);color:var(--px-color-txt-body-inverted)}:host([inverted]) .outline{background-color:transparent;color:var(--px-color-txt-primary-inverted);border-color:var(--px-color-border-action-hover-inverted)}@media only screen and (min-width: 64rem){.tag{font-size:var(--px-text-size-s-tablet);line-height:var(--px-line-height-s-tablet);--slotted-icon-size: var(--px-icon-size-xs-tablet)}.tag ::slotted([slot="before"]){font-size:var(--px-icon-size-xs-tablet);line-height:var(--px-icon-size-xs-tablet)}}@media only screen and (min-width: 90rem){.tag{font-size:var(--px-text-size-s-desktop);line-height:var(--px-line-height-s-desktop);--slotted-icon-size: var(--px-icon-size-xs-desktop)}.tag ::slotted([slot="before"]){font-size:var(--px-icon-size-xs-desktop);line-height:var(--px-icon-size-xs-desktop)}}';
2468
+ const styleSheet$5 = new CSSStyleSheet();
2469
+ styleSheet$5.replaceSync(styles$5);
2470
+ class Tag extends HTMLElement {
2471
+ constructor(semanticTokensStylesheet) {
2472
+ super();
2473
+ this.variantValues = ["", "default", "light", "outline"];
2474
+ this.shapeValues = ["", "default", "pill"];
2475
+ this.attachShadow({ mode: "open" });
2476
+ this.shadowRoot.innerHTML = this.template();
2477
+ this.shadowRoot.adoptedStyleSheets = [semanticTokensStylesheet, styleSheet$5];
2478
+ }
2479
+ template() {
2480
+ return `
2481
+ <div class="tag">
2482
+ <slot name="before"></slot>
2483
+ <slot></slot>
2484
+ </div>
2485
+ `;
2486
+ }
2487
+ static get observedAttributes() {
2488
+ return ["variant", "shape", "inverted"];
2489
+ }
2490
+ get $el() {
2491
+ return this.shadowRoot.querySelector(".tag");
2492
+ }
2493
+ get variant() {
2494
+ return this.getAttribute("variant");
2495
+ }
2496
+ set variant(value) {
2497
+ this.setAttribute("variant", value);
2498
+ }
2499
+ get shape() {
2500
+ return this.getAttribute("shape");
2501
+ }
2502
+ set shape(value) {
2503
+ this.setAttribute("shape", value);
2504
+ }
2505
+ get inverted() {
2506
+ return this.getAttribute("inverted");
2507
+ }
2508
+ set inverted(value) {
2509
+ this.setAttribute("inverted", value);
2510
+ }
2511
+ attributeChangedCallback(attrName, oldValue, newValue) {
2512
+ if (oldValue !== newValue) {
2513
+ switch (attrName) {
2514
+ case "variant":
2515
+ this.updateVariant(oldValue, newValue);
2516
+ break;
2517
+ case "shape":
2518
+ this.updateShape(oldValue, newValue);
2519
+ break;
2520
+ }
2521
+ }
2522
+ }
2523
+ _toggleClass(oldValue, newValue) {
2524
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
2525
+ this.$el.classList.toggle(oldValue);
2526
+ }
2527
+ if (newValue !== null && newValue !== "" && newValue !== "default") {
2528
+ this.$el.classList.toggle(newValue);
2529
+ }
2530
+ }
2531
+ checkName(values, value) {
2532
+ return values.includes(value);
2533
+ }
2534
+ updateVariant(oldValue, newValue) {
2535
+ this._toggleClass(oldValue, newValue);
2536
+ if (!this.checkName(this.variantValues, newValue)) {
2537
+ console.error(`Bad "variant" value for tag`);
2538
+ }
2539
+ }
2540
+ updateShape(oldValue, newValue) {
2541
+ this._toggleClass(oldValue, newValue);
2542
+ if (!this.checkName(this.shapeValues, newValue)) {
2543
+ console.error(`Bad "shape" value for tag`);
2544
+ }
2545
+ }
2546
+ }
2547
+ class ProximusTag extends Tag {
2548
+ constructor() {
2549
+ super(proximusSemanticStyleSheet);
2550
+ }
2551
+ }
2552
+ customElements.define("px-tag", ProximusTag);
2553
+ const styles$4 = '*{font-family:Proximus,Verdana,Helvetica,sans-serif}#container{display:flex;flex-direction:column;align-items:flex-start;gap:var(--px-spacing-component-default-vertical)}#panels{width:100%}div[role=tablist]{display:flex;align-items:center;scrollbar-width:none;overflow:scroll;width:80vw;box-sizing:border-box}div[role=tablist] ::slotted(px-tab){background-color:var(--px-color-bg-container-weak-default)}div[role=tablist] ::slotted(px-tab[inverted=""]){background-color:var(--px-color-bg-container-weak-inverted)}div[role=tablist] ::slotted(px-tab[selected=""]){background-color:var(--px-color-bg-action-active-default);padding-block:var(--px-padding-m);border-radius:var(--px-radius-s)!important}div[role=tablist] ::slotted(px-tab[selected=""][inverted=""]){background-color:var(--px-color-bg-action-active-inverted)}div[role=tablist] ::slotted(px-tab:first-child){border-radius:var(--px-radius-s) 0 0 var(--px-radius-s)}div[role=tablist] ::slotted(px-tab:last-of-type){border-radius:0 var(--px-radius-s) var(--px-radius-s) 0}div[role=tablist]::-webkit-scrollbar{display:none}button[role=tab]{background:none;border:none;padding:0;margin:0;cursor:pointer;height:inherit;width:inherit;padding:var(--px-padding-s);font-size:var(--px-text-size-base-mobile);font-weight:700;text-wrap:nowrap;color:var(--px-color-txt-body-default);outline:none}button[role=tab][inverted=""]{color:var(--px-color-txt-body-inverted)}@media screen and (min-width: 768px){button[role=tab]{font-size:var(--px-text-size-base-tablet)}}@media screen and (min-width: 1025px){button[role=tab]{font-size:var(--px-text-size-base-laptop)}}@media screen and (min-width: 1441px){button[role=tab]{font-size:var(--px-text-size-base-desktop)}}button[aria-selected=""]{padding-block:0;cursor:auto;color:var(--px-color-txt-primary-inverted)}button[aria-selected=""][inverted=""]{color:var(--px-color-txt-primary-default)}';
2554
+ const styleSheet$4 = new CSSStyleSheet();
2555
+ styleSheet$4.replaceSync(styles$4);
2556
+ class Tabs extends HTMLElement {
2557
+ constructor(semanticStyleSheet) {
2558
+ super();
2559
+ this._label = `tabs-${Math.random().toString(36).substring(2, 15)}`;
2560
+ this.template = () => `
2561
+ <div id="container">
2562
+ <div role="tablist" aria-labelledby="${this._label}">
2563
+ <slot name="tabs"></slot>
2564
+ </div>
2565
+ <div id="panels">
2566
+ <slot name="tabpanels"></slot>
2567
+ </div>
2568
+ </div>
2569
+ `;
2570
+ this.attachShadow({ mode: "open" });
2571
+ if (this.getAttribute("label")) {
2572
+ this._label = this.getAttribute("label");
2573
+ }
2574
+ this.shadowRoot.innerHTML = this.template();
2575
+ this.shadowRoot.adoptedStyleSheets = [semanticStyleSheet, styleSheet$4];
2576
+ }
2577
+ static get observedAttributes() {
2578
+ return ["label", "inverted"];
2579
+ }
2580
+ attributeChangedCallback(name, oldValue, newValue) {
2581
+ if (name === "label") {
2582
+ this.label = newValue;
2583
+ }
2584
+ }
2585
+ connectedCallback() {
2586
+ replayAttributes(this, Tabs.observedAttributes, (name, value) => {
2587
+ this.attributeChangedCallback(name, null, value);
2588
+ });
2589
+ this.addEventListener("click", (event) => {
2590
+ var _a;
2591
+ if ((_a = event.target.localName) == null ? void 0 : _a.endsWith("-tab")) {
2592
+ this.$activePanel.selected = false;
2593
+ this.$activeTab.selected = "false";
2594
+ const tab = event.target;
2595
+ if (tab) {
2596
+ tab.selected = "";
2597
+ }
2598
+ if (this.$activePanel) {
2599
+ this.$activePanel.selected = true;
2600
+ } else {
2601
+ console.error("No panel found for this tab");
2602
+ }
2603
+ }
2604
+ });
2605
+ this.addEventListener("keydown", (event) => {
2606
+ if (event.key === "ArrowRight" || event.key === "ArrowLeft") {
2607
+ const nextTab = this.$nextTab;
2608
+ const previousTab = this.$previousTab;
2609
+ this.$activePanel.selected = false;
2610
+ this.$activeTab.selected = "false";
2611
+ if (event.key === "ArrowRight") {
2612
+ nextTab.selected = "";
2613
+ } else if (event.key === "ArrowLeft") {
2614
+ previousTab.selected = "";
2615
+ }
2616
+ this.$activePanel.selected = true;
2617
+ }
2618
+ });
2619
+ }
2620
+ get $activeTab() {
2621
+ return this.querySelector('[selected=""][slot="tabs"]');
2622
+ }
2623
+ get $nextTab() {
2624
+ const nextTab = this.$activeTab.nextElementSibling;
2625
+ if (nextTab.slot !== "tabs") {
2626
+ return this.querySelector('[slot="tabs"]');
2627
+ } else {
2628
+ return nextTab;
2629
+ }
2630
+ }
2631
+ get $previousTab() {
2632
+ const previousTab = this.$activeTab.previousElementSibling;
2633
+ if (!previousTab) {
2634
+ return Array.from(this.querySelectorAll('[slot="tabs"]')).pop();
2635
+ } else {
2636
+ return previousTab;
2637
+ }
2638
+ }
2639
+ get $activePanel() {
2640
+ return this.querySelector(`[name="${this.$activeTab.for}"]`);
2641
+ }
2642
+ get $tabList() {
2643
+ return this.shadowRoot.querySelector('[role="tablist"]');
2644
+ }
2645
+ get label() {
2646
+ return this.$tabList.getAttribute("aria-labelledby");
2647
+ }
2648
+ set label(value) {
2649
+ this.$tabList.setAttribute("aria-labelledby", value);
2650
+ }
2651
+ get inverted() {
2652
+ return this.hasAttribute("inverted");
2653
+ }
2654
+ }
2655
+ class Tab extends HTMLElement {
2656
+ constructor(semanticStyleSheet) {
2657
+ super();
2658
+ this.template = () => `
2659
+ <button role="tab" aria-selected="false" type="button" tabindex="-1">
2660
+ <span><slot></slot></span>
2661
+ </button>
2662
+ `;
2663
+ this.attachShadow({ mode: "open" });
2664
+ this.shadowRoot.innerHTML = this.template();
2665
+ this.shadowRoot.adoptedStyleSheets = [semanticStyleSheet, styleSheet$4];
2666
+ }
2667
+ static get observedAttributes() {
2668
+ return ["selected", "for", "name"];
2669
+ }
2670
+ connectedCallback() {
2671
+ replayAttributes(this, Tab.observedAttributes, (name, value) => {
2672
+ this.attributeChangedCallback(name, null, value);
2673
+ });
2674
+ if (!this.name) {
2675
+ console.error("Tab needs a name attribute");
2676
+ }
2677
+ if (!this.for) {
2678
+ console.error("Tab needs a for attribute");
2679
+ }
2680
+ this.slot = "tabs";
2681
+ if (this.parentElement.inverted) {
2682
+ this.setAttribute("inverted", "");
2683
+ this.$button.setAttribute("inverted", "");
2684
+ }
2685
+ }
2686
+ attributeChangedCallback(name, oldValue, newValue) {
2687
+ if (name === "selected") {
2688
+ this.handleSelected(newValue);
2689
+ } else if (name === "name") {
2690
+ this.$button.setAttribute("id", newValue);
2691
+ } else if (name === "for") {
2692
+ this.$button.setAttribute("aria-controls", newValue);
2693
+ }
2694
+ }
2695
+ get $button() {
2696
+ return this.shadowRoot.querySelector("button");
2697
+ }
2698
+ get selected() {
2699
+ return this.$button.getAttribute("aria-selected");
2700
+ }
2701
+ get inverted() {
2702
+ return this.hasAttribute("inverted");
2703
+ }
2704
+ set name(value) {
2705
+ this.setAttribute("name", value);
2706
+ }
2707
+ get name() {
2708
+ return this.getAttribute("name");
2709
+ }
2710
+ set for(value) {
2711
+ this.setAttribute("for", value);
2712
+ }
2713
+ get for() {
2714
+ return this.getAttribute("for");
2715
+ }
2716
+ handleSelected(value) {
2717
+ if (!isFalsy(value)) {
2718
+ this.$button.setAttribute("aria-selected", value);
2719
+ this.$button.removeAttribute("tabindex");
2720
+ this.$button.focus();
2721
+ } else {
2722
+ this.$button.removeAttribute("aria-selected");
2723
+ this.$button.tabIndex = -1;
2724
+ }
2725
+ }
2726
+ set selected(value) {
2727
+ this.setAttribute("selected", value);
2728
+ }
2729
+ }
2730
+ class TabPanel extends HTMLElement {
2731
+ constructor(semanticStyleSheet) {
2732
+ super();
2733
+ this.template = () => `
2734
+ <div role="tabpanel" aria-labelledby="${this.name}" tabindex="0">
2735
+ <slot></slot>
2736
+ </div>
2737
+ `;
2738
+ this.attachShadow({ mode: "open" });
2739
+ this.shadowRoot.innerHTML = this.template();
2740
+ this.shadowRoot.adoptedStyleSheets = [semanticStyleSheet, styleSheet$4];
2741
+ }
2742
+ static get observedAttributes() {
2743
+ return ["name"];
2744
+ }
2745
+ attributeChangedCallback(name, oldValue, newValue) {
2746
+ if (name === "name") {
2747
+ this.$panel.setAttribute("aria-labelledby", newValue);
2748
+ }
2749
+ }
2750
+ connectedCallback() {
2751
+ if (!this.name) {
2752
+ console.error("TabPanel needs a name attribute");
2753
+ }
2754
+ this.slot = "tabpanels";
2755
+ const labelledBy = this.parentElement.querySelector(
2756
+ `[for="${this.getAttribute("name")}"]`
2757
+ );
2758
+ if (labelledBy) {
2759
+ this.$panel.setAttribute(
2760
+ "aria-labelledby",
2761
+ labelledBy.getAttribute("name")
2762
+ );
2763
+ } else {
2764
+ console.error("No tab found for this panel");
2765
+ }
2766
+ const selectedTab = this.parentElement.querySelector(
2767
+ `[for="${this.name}"]`
2768
+ );
2769
+ if (!isFalsy(selectedTab.selected)) {
2770
+ this.selected = true;
2771
+ } else {
2772
+ this.selected = false;
2773
+ }
2774
+ }
2775
+ get name() {
2776
+ return this.getAttribute("name");
2777
+ }
2778
+ set name(value) {
2779
+ this.setAttribute("name", value);
2780
+ }
2781
+ set selected(value) {
2782
+ if (value) {
2783
+ this.$panel.style.display = "block";
2784
+ } else {
2785
+ this.$panel.style.display = "none";
2786
+ }
2787
+ }
2788
+ get $panel() {
2789
+ return this.shadowRoot.querySelector('[role="tabpanel"]');
2790
+ }
2791
+ }
2792
+ class PxTabs extends Tabs {
2793
+ constructor() {
2794
+ super(proximusSemanticStyleSheet);
2795
+ this.querySelectorAll("px-tab").forEach((tab) => {
2796
+ tab.setAttribute("slot", "tabs");
2797
+ });
2798
+ }
2799
+ }
2800
+ if (!customElements.get("px-tabs")) {
2801
+ customElements.define("px-tabs", PxTabs);
2802
+ }
2803
+ class PxTab extends Tab {
2804
+ constructor() {
2805
+ super(proximusSemanticStyleSheet);
2806
+ }
2807
+ }
2808
+ if (!customElements.get("px-tab")) {
2809
+ customElements.define("px-tab", PxTab);
2810
+ }
2811
+ class PxTabPanel extends TabPanel {
2812
+ constructor() {
2813
+ super(proximusSemanticStyleSheet);
2814
+ }
2815
+ }
2816
+ if (!customElements.get("px-tab-panel")) {
2817
+ customElements.define("px-tab-panel", PxTabPanel);
2818
+ }
2819
+ const styles$3 = ".timeline{list-style:none;margin:0;padding:0}";
2820
+ const styleSheet$3 = new CSSStyleSheet();
2821
+ styleSheet$3.replaceSync(styles$3);
2822
+ class Timeline extends HTMLElement {
2823
+ template() {
2824
+ return `
2825
+ <ol class="timeline" role="list">
2826
+ <slot></slot>
2827
+ </ol>
2828
+ `;
2829
+ }
2830
+ constructor(semanticTokensStylesheet) {
2831
+ super();
2832
+ this.attachShadow({ mode: "open" });
2833
+ this.shadowRoot.innerHTML = this.template();
2834
+ this.shadowRoot.adoptedStyleSheets = [semanticTokensStylesheet, styleSheet$3];
2835
+ }
2836
+ static get observedAttributes() {
2837
+ return ["inverted"];
2838
+ }
2839
+ connectedCallback() {
2840
+ replayAttributes(this, Timeline.observedAttributes, (name, value) => {
2841
+ this.attributeChangedCallback(name, null, value);
2842
+ });
2843
+ this.configureChildren();
2844
+ }
2845
+ attributeChangedCallback(attrName, oldValue, newValue) {
2846
+ if (oldValue !== newValue) {
2847
+ switch (attrName) {
2848
+ case "inverted":
2849
+ for (let i = 0; i < this.$children.length; i++) {
2850
+ this.$children[i].toggleAttribute("inverted");
2851
+ }
2852
+ break;
2853
+ }
2854
+ }
2855
+ }
2856
+ configureChildren() {
2857
+ const lastChild = this.$children[this.$children.length - 1];
2858
+ lastChild == null ? void 0 : lastChild.toggleAttribute("lastchild");
2859
+ for (let i = 0; i < this.$children.length; i++) {
2860
+ this.$children[i].setAttribute("item", `${i + 1}`);
2861
+ }
2862
+ }
2863
+ get $el() {
2864
+ return this.shadowRoot.querySelector(".timeline");
2865
+ }
2866
+ get $children() {
2867
+ return this.querySelectorAll("px-timeline-item");
2868
+ }
2869
+ get inverted() {
2870
+ return this.getAttribute("inverted");
2871
+ }
2872
+ set inverted(value) {
2873
+ this.setAttribute("inverted", value);
2874
+ }
2875
+ }
2876
+ class ProximusTimeline extends Timeline {
2877
+ constructor() {
2878
+ super(proximusSemanticStyleSheet);
2879
+ }
2880
+ }
2881
+ customElements.define("px-timeline", ProximusTimeline);
2882
+ const styles$2 = '.timeline-item{display:flex;gap:var(--px-spacing-text-to-icon-horizontal);font-family:Proximus,Verdana,Helvetica,sans-serif;font-size:var(--px-text-size-base-mobile);line-height:var(--px-line-height-base-mobile)}.indicator-area{position:relative}.indicator-area:before{display:block;content:"";position:absolute;top:26px;left:12px;width:var(--px-border-m);height:calc(100% - 26px);background:var(--px-color-border-main-default)}.indicator-area .indicator{display:flex;align-items:center;justify-content:center;text-align:center;width:26px;height:26px;font-weight:700;font-size:var(--px-text-size-s-mobile);line-height:var(--px-line-height-s-mobile);color:var(--px-color-icon-body-default);border-radius:var(--px-radius-pill);background:var(--px-color-bg-container-strong-default)}.content-area{margin-bottom:var(--px-spacing-component-default-vertical)}.content-area ::slotted([slot="title"]){font-weight:700;color:var(--px-color-txt-body-default)}.content-area ::slotted([slot="content"]){font-weight:400;color:var(--px-color-txt-details-default);margin-top:var(--px-spacing-under-text-vertical)}:host([lastchild]) .indicator-area:before{display:none}:host([lastchild]) .content-area{margin-bottom:0}:host([inverted]) .indicator-area:before{background:var(--px-color-border-main-inverted)}:host([inverted]) .indicator-area .indicator{color:var(--px-color-icon-body-inverted);background:var(--px-color-bg-container-strong-inverted)}:host([inverted]) .content-area ::slotted([slot="title"]){color:var(--px-color-txt-body-inverted)}:host([inverted]) .content-area ::slotted([slot="content"]){color:var(--px-color-txt-details-inverted)}@media only screen and (min-width: 64rem){.timeline-item{font-size:var(--px-text-size-base-tablet);line-height:var(--px-line-height-base-tablet)}.indicator-area .indicator{font-size:var(--px-text-size-s-tablet);line-height:var(--px-line-height-s-tablet)}}@media only screen and (min-width: 90rem){.timeline-item{font-size:var(--px-text-size-base-desktop);line-height:var(--px-line-height-base-desktop)}.indicator-area .indicator{font-size:var(--px-text-size-s-desktop);line-height:var(--px-line-height-s-desktop)}}';
2883
+ const styleSheet$2 = new CSSStyleSheet();
2884
+ styleSheet$2.replaceSync(styles$2);
2885
+ let item = "1";
2886
+ class TimelineItem extends HTMLElement {
2887
+ template() {
2888
+ return `
2889
+ <li class="timeline-item" role="listitem">
2890
+ <div class="indicator-area">
2891
+ <div class="indicator"></div>
2892
+ </div>
2893
+ <div class="content-area">
2894
+ <slot name="title"></slot>
2895
+ <slot name="content"></slot>
2896
+ </div>
2897
+ </li>
2898
+ `;
2899
+ }
2900
+ constructor(semanticTokensStylesheet) {
2901
+ super();
2902
+ this.attachShadow({ mode: "open" });
2903
+ this.shadowRoot.innerHTML = this.template();
2904
+ this.shadowRoot.adoptedStyleSheets = [
2905
+ semanticTokensStylesheet,
2906
+ styleSheet$2
2907
+ ];
2908
+ }
2909
+ static get observedAttributes() {
2910
+ return ["inverted", "lastchild", "item"];
2911
+ }
2912
+ connectedCallback() {
2913
+ replayAttributes(this, TimelineItem.observedAttributes, (name, value) => {
2914
+ this.attributeChangedCallback(name, null, value);
2915
+ });
2916
+ }
2917
+ attributeChangedCallback(attrName, oldValue, newValue) {
2918
+ if (oldValue !== newValue) {
2919
+ switch (attrName) {
2920
+ case "item":
2921
+ this.updateItem(oldValue, newValue);
2922
+ this.updateIndicator(item);
2923
+ break;
2924
+ }
2925
+ }
2926
+ }
2927
+ updateItem(oldValue, newValue) {
2928
+ if (oldValue !== null && oldValue !== "") {
2929
+ item = oldValue;
2930
+ }
2931
+ if (newValue !== null && newValue !== "") {
2932
+ item = newValue;
2933
+ }
2934
+ }
2935
+ updateIndicator(item2) {
2936
+ const indicator = this.$el.querySelector(".indicator");
2937
+ indicator.innerHTML = item2;
2938
+ }
2939
+ get $el() {
2940
+ return this.shadowRoot.querySelector(".timeline-item");
2941
+ }
2942
+ get inverted() {
2943
+ return this.getAttribute("inverted");
2944
+ }
2945
+ set inverted(value) {
2946
+ this.setAttribute("inverted", value);
2947
+ }
2948
+ get lastchild() {
2949
+ return this.getAttribute("lastchild");
2950
+ }
2951
+ set lastchild(value) {
2952
+ this.setAttribute("lastchild", value);
2953
+ }
2954
+ get item() {
2955
+ return this.getAttribute("item");
2956
+ }
2957
+ set item(value) {
2958
+ this.setAttribute("item", value);
2959
+ }
2960
+ }
2961
+ class ProximusTimelineItem extends TimelineItem {
2962
+ constructor() {
2963
+ super(proximusSemanticStyleSheet);
2964
+ }
2965
+ }
2966
+ customElements.define("px-timeline-item", ProximusTimelineItem);
2967
+ const styles$1 = "px-container{width:1000px;display:block;border:0;border-radius:var(--px-radius-s)}@media screen and (max-width: 1025px){px-container{width:700px}}@media screen and (max-width: 640px){px-container{width:295px}}";
2968
+ const lightStyles$1 = ".lavender-blurred-modal-background{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000c;z-index:999;-webkit-backdrop-filter:saturate(180%) blur(15px);backdrop-filter:saturate(180%) blur(15px)}";
2969
+ const styleSheet$1 = new CSSStyleSheet();
2970
+ styleSheet$1.replaceSync(styles$1);
2971
+ addGlobalStylesheet(lightStyles$1);
2972
+ class Modal extends HTMLElement {
2973
+ constructor() {
2974
+ super();
2975
+ this.open = false;
2976
+ this.template = `<px-container padding="m" popover> <!-- adding popver here is the only way to style of the modal -->
2977
+ <px-stack gap="component-default-vertical" direction="column">
2978
+ <px-stack direction="column" gap="under-text-vertical">
2979
+ <slot name="title"></slot>
2980
+ <slot name="description"></slot>
2981
+ </px-stack>
2982
+ <slot></slot>
2983
+ <px-separator size="l"></px-separator>
2984
+ <px-stack gap="component-compact-horizontal" justify-content="end">
2985
+ <slot name="footer"></slot>
2986
+ </px-stack>
2987
+ </px-stack>
2988
+ </px-container>`;
2989
+ this.attachShadow({ mode: "open" });
2990
+ this.shadowRoot.innerHTML = this.template;
2991
+ this.shadowRoot.adoptedStyleSheets = [proximusSemanticStyleSheet, styleSheet$1];
2992
+ }
2993
+ connectedCallback() {
2994
+ var _a;
2995
+ const targetButtonList = document.querySelectorAll(`px-button[popovertarget="${this.getAttribute("id")}"]`);
2996
+ targetButtonList.forEach((targetButton) => {
2997
+ targetButton.onclick = (event) => {
2998
+ var _a2;
2999
+ (_a2 = this.showPopover) == null ? void 0 : _a2.call(this);
3000
+ this.open = true;
3001
+ this.displayBlurredBackground();
3002
+ event.stopPropagation();
3003
+ };
3004
+ });
3005
+ const ctas = this.querySelectorAll('px-button[slot="footer"]');
3006
+ ctas.forEach((cta) => {
3007
+ cta.onclick = () => {
3008
+ this._hidePopover();
3009
+ };
3010
+ });
3011
+ if (this.autoShow != null) {
3012
+ (_a = this.showPopover) == null ? void 0 : _a.call(this);
3013
+ this.open = true;
3014
+ this.displayBlurredBackground();
3015
+ }
3016
+ }
3017
+ displayBlurredBackground() {
3018
+ this.blurredBackground = document.createElement("div");
3019
+ this.blurredBackground.id = "popover-background";
3020
+ this.blurredBackground.classList.toggle("lavender-blurred-modal-background");
3021
+ this.blurredBackground.addEventListener("click", (event) => {
3022
+ if (this.open && !this.contains(event.target)) {
3023
+ this._hidePopover();
3024
+ }
3025
+ });
3026
+ document.body.appendChild(this.blurredBackground);
3027
+ }
3028
+ _hidePopover() {
3029
+ var _a;
3030
+ this.blurredBackground.parentElement.removeChild(this.blurredBackground);
3031
+ (_a = this.hidePopover) == null ? void 0 : _a.call(this);
3032
+ this.open = false;
3033
+ }
3034
+ get autoShow() {
3035
+ return this.getAttribute("autoshow");
3036
+ }
3037
+ }
3038
+ if (!customElements.get("px-modal")) {
3039
+ customElements.define("px-modal", Modal);
3040
+ }
3041
+ const spanCss = "span,::slotted(span){font-family:Proximus,Verdana,Helvetica,sans-serif;color:var(--px-color-txt-body-default);font-size:var(--px-text-size-base-mobile);line-height:var(--px-line-height-base-mobile)}:host([inverted]) span,:host([inverted]) ::slotted(span){color:var(--px-color-txt-body-inverted)}span.link{text-decoration:underline}@media only screen and (min-width: 64rem){span,::slotted(span){font-size:var(--px-text-size-base-tablet);line-height:var(--px-line-height-base-tablet)}}@media only screen and (min-width: 90rem){span,::slotted(span){font-size:var(--px-text-size-base-desktop);line-height:var(--px-line-height-base-desktop)}}";
3042
+ const spanStyles$1 = new CSSStyleSheet();
3043
+ const typographyStyles$3 = new CSSStyleSheet();
3044
+ spanStyles$1.replaceSync(spanCss);
3045
+ typographyStyles$3.replaceSync(typographyCss$1);
3046
+ const _Span = class _Span extends PxElement {
3047
+ constructor() {
3048
+ super(proximusSemanticStyleSheet, spanStyles$1, typographyStyles$3);
3049
+ this.template = () => `<span>
3050
+ <slot name="before"></slot>
3051
+ <slot></slot>
3052
+ <slot name="after"></slot>
3053
+ </span>`;
3054
+ this.shadowRoot.innerHTML = this.template();
3055
+ }
3056
+ static get observedAttributes() {
3057
+ return [...super.observedAttributes, "color", "fontsize", "fontweight", "inverted"];
3058
+ }
3059
+ get color() {
3060
+ return this.getAttribute("color");
3061
+ }
3062
+ set color(value) {
3063
+ this.setAttribute("color", value);
3064
+ }
3065
+ get fontsize() {
3066
+ return this.getAttribute("fontsize");
3067
+ }
3068
+ set fontsize(value) {
3069
+ this.setAttribute("fontsize", value);
3070
+ }
3071
+ get fontweight() {
3072
+ return this.getAttribute("fontweight");
3073
+ }
3074
+ set fontweight(value) {
3075
+ this.setAttribute("fontweight", value);
3076
+ }
3077
+ get inverted() {
3078
+ return this.getAttribute("inverted");
3079
+ }
3080
+ set inverted(value) {
3081
+ if (isFalsy(value)) {
3082
+ this.removeAttribute("inverted");
3083
+ } else {
3084
+ this.setAttribute("inverted", value);
3085
+ }
3086
+ }
3087
+ attributeChangedCallback(attrName, oldValue, newValue) {
3088
+ if (oldValue !== newValue) {
3089
+ switch (attrName) {
3090
+ case "color":
3091
+ this.updateTypography(attrName, oldValue, newValue, colorValues$2);
3092
+ break;
3093
+ case "fontsize":
3094
+ this.updateTypography(attrName, oldValue, newValue, fontsizeValues);
3095
+ break;
3096
+ case "fontweight":
3097
+ this.updateTypography(attrName, oldValue, newValue, fontweightValues);
3098
+ break;
3099
+ default:
3100
+ super.attributeChangedCallback(attrName, oldValue, newValue);
3101
+ break;
3102
+ }
3103
+ }
3104
+ }
3105
+ checkName(values, value) {
3106
+ return values.includes(value);
3107
+ }
3108
+ updateTypography(attrName, oldValue, newValue, attrValue) {
3109
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
3110
+ this.$el.classList.toggle(`${attrName}-${oldValue}`);
3111
+ }
3112
+ if (newValue !== null && newValue !== "" && newValue !== "default") {
3113
+ this.$el.classList.toggle(`${attrName}-${newValue}`);
3114
+ }
3115
+ if (!this.checkName(attrValue, newValue)) {
3116
+ console.error(`Bad ${attrName} value for ${this.$el}`);
3117
+ }
3118
+ }
3119
+ };
3120
+ _Span.nativeName = "span";
3121
+ let Span = _Span;
3122
+ customElements.define("px-span", Span);
3123
+ const linkStyles$1 = new CSSStyleSheet();
3124
+ const buttonStyles = new CSSStyleSheet();
3125
+ const typographyStyles$2 = new CSSStyleSheet();
3126
+ linkStyles$1.replaceSync(linkCss);
3127
+ buttonStyles.replaceSync(buttonCss);
3128
+ typographyStyles$2.replaceSync(typographyCss$1);
3129
+ const _Link = class _Link extends PxElement {
3130
+ constructor(semanticTokensStylesheet) {
3131
+ super(semanticTokensStylesheet, linkStyles$1, buttonStyles, typographyStyles$2);
3132
+ this.variantValues = ["link", "no-style", "skip-link", "btn-default", "btn-secondary", "btn-tertiary"];
3133
+ this.shapeValues = ["", "default", "alternative"];
3134
+ this.template = () => `<slot name="before"></slot><slot></slot><slot name="after"></slot>`;
3135
+ const $root = document.createElement(this.nativeName);
3136
+ $root.innerHTML = this.template();
3137
+ this.shadowRoot.appendChild($root);
3138
+ }
3139
+ static get observedAttributes() {
3140
+ return [...super.observedAttributes, "disabled", "variant", "shape", "extended", "inverted", "fontsize", "color", "fontweight"];
3141
+ }
3142
+ get disabled() {
3143
+ return this.getAttribute("disabled");
3144
+ }
3145
+ set disabled(value) {
3146
+ this.setAttribute("disabled", value);
3147
+ }
3148
+ get variant() {
3149
+ return this.getAttribute("variant");
3150
+ }
3151
+ set variant(value) {
3152
+ this.setAttribute("variant", value);
3153
+ }
3154
+ get shape() {
3155
+ return this.getAttribute("shape");
3156
+ }
3157
+ set shape(value) {
3158
+ this.setAttribute("shape", value);
3159
+ }
3160
+ get extended() {
3161
+ return this.getAttribute("extended");
3162
+ }
3163
+ set extended(value) {
3164
+ this.setAttribute("extended", value);
3165
+ }
3166
+ get inverted() {
3167
+ return this.getAttribute("inverted");
3168
+ }
3169
+ set inverted(value) {
3170
+ this.setAttribute("inverted", value);
3171
+ }
3172
+ get fontsize() {
3173
+ return this.getAttribute("fontsize");
3174
+ }
3175
+ set fontsize(value) {
3176
+ this.setAttribute("fontsize", value);
3177
+ }
3178
+ get color() {
3179
+ return this.getAttribute("color");
3180
+ }
3181
+ set color(value) {
3182
+ this.setAttribute("color", value);
3183
+ }
3184
+ get fontweight() {
3185
+ return this.getAttribute("fontweight");
3186
+ }
3187
+ set fontweight(value) {
3188
+ this.setAttribute("fontweight", value);
3189
+ }
3190
+ attributeChangedCallback(attrName, oldValue, newValue) {
3191
+ if (oldValue !== newValue) {
3192
+ switch (attrName) {
3193
+ case "disabled":
3194
+ this.$el.toggleAttribute("aria-disabled");
3195
+ if (newValue !== null) {
3196
+ this.$el.setAttribute("aria-disabled", "true");
3197
+ }
3198
+ break;
3199
+ case "variant":
3200
+ this.updateVariant(oldValue, newValue);
3201
+ break;
3202
+ case "shape":
3203
+ this.updateShape(oldValue, newValue);
3204
+ break;
3205
+ case "extended":
3206
+ this.$el.classList.toggle(attrName);
3207
+ break;
3208
+ case "fontsize":
3209
+ this.updateTypography(attrName, oldValue, newValue, fontsizeValues);
3210
+ break;
3211
+ case "color":
3212
+ this.updateTypography(attrName, oldValue, newValue, colorValues$2);
3213
+ break;
3214
+ case "fontweight":
3215
+ this.updateTypography(attrName, oldValue, newValue, fontweightValues);
3216
+ break;
3217
+ default:
3218
+ super.attributeChangedCallback(attrName, oldValue, newValue);
3219
+ break;
3220
+ }
3221
+ }
3222
+ }
3223
+ checkName(values, value) {
3224
+ return values.includes(value);
3225
+ }
3226
+ _toggleClassList(value) {
3227
+ if (value.startsWith("btn-")) {
3228
+ const splittedValue = value.split("-");
3229
+ for (const classVar of splittedValue) {
3230
+ this.$el.classList.toggle(classVar);
3231
+ }
3232
+ } else {
3233
+ this.$el.classList.toggle(value);
3234
+ }
3235
+ }
3236
+ updateVariant(oldValue, newValue) {
3237
+ if (oldValue !== null && oldValue !== "" && oldValue !== "link") {
3238
+ this._toggleClassList(oldValue);
3239
+ }
3240
+ if (newValue !== null && newValue !== "" && newValue !== "link") {
3241
+ this._toggleClassList(newValue);
3242
+ }
3243
+ if (!this.checkName(this.variantValues, newValue)) {
3244
+ console.error(`Bad "variant" value for ${this.$el}`);
3245
+ }
3246
+ }
3247
+ updateShape(oldValue, newValue) {
3248
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
3249
+ this._toggleClassList(oldValue);
3250
+ }
3251
+ if (newValue !== null && newValue !== "" && newValue !== "default") {
3252
+ this._toggleClassList(newValue);
3253
+ }
3254
+ if (!this.checkName(this.shapeValues, newValue)) {
3255
+ console.error(`Bad "shape" value for ${this.$el}`);
3256
+ }
3257
+ }
3258
+ updateTypography(attrName, oldValue, newValue, attrValue) {
3259
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
3260
+ this.$el.classList.toggle(`${attrName}-${oldValue}`);
3261
+ }
3262
+ if (newValue !== null && newValue !== "" && newValue !== "default") {
3263
+ this.$el.classList.toggle(`${attrName}-${newValue}`);
3264
+ }
3265
+ if (!this.checkName(attrValue, newValue)) {
3266
+ console.error(`Bad ${attrName} value for ${this.$el}`);
3267
+ }
3268
+ }
3269
+ };
3270
+ _Link.nativeName = "a";
3271
+ let Link = _Link;
3272
+ class ProximusLink extends Link {
3273
+ constructor() {
3274
+ super(proximusSemanticStyleSheet);
3275
+ }
3276
+ }
3277
+ customElements.define("px-a", ProximusLink);
3278
+ const paragraphCss = "p,::slotted(p){font-family:Proximus,Verdana,Helvetica,sans-serif;color:var(--px-color-txt-body-default);font-size:var(--px-text-size-base-mobile);line-height:var(--px-line-height-base-mobile);margin:0}.textalign-left{text-align:left}.textalign-center{text-align:center}.textalign-right{text-align:right}:host([inverted]) p,:host([inverted]) ::slotted(p){color:var(--px-color-txt-body-inverted)}@media only screen and (min-width: 64rem){p,::slotted(p){font-size:var(--px-text-size-base-tablet);line-height:var(--px-line-height-base-tablet)}}@media only screen and (min-width: 90rem){p,::slotted(p){font-size:var(--px-text-size-base-desktop);line-height:var(--px-line-height-base-desktop)}}";
3279
+ const paragraphStyles$1 = new CSSStyleSheet();
3280
+ const typographyStyles$1 = new CSSStyleSheet();
3281
+ const headingStyles$1 = new CSSStyleSheet();
3282
+ paragraphStyles$1.replaceSync(paragraphCss);
3283
+ typographyStyles$1.replaceSync(typographyCss$1);
3284
+ headingStyles$1.replaceSync(headingCss);
3285
+ const variantValues = ["", "default", "h1", "h2", "h3", "h4", "h5", "h6", "subtitle"];
3286
+ const textalignValues = ["", "default", "left", "center", "right"];
3287
+ const _Paragraph = class _Paragraph extends PxElement {
3288
+ constructor() {
3289
+ super(proximusSemanticStyleSheet, paragraphStyles$1, typographyStyles$1, headingStyles$1);
3290
+ this.template = () => `<p><slot></slot></p>`;
3291
+ this.shadowRoot.innerHTML = this.template();
3292
+ }
3293
+ static get observedAttributes() {
3294
+ return [...super.observedAttributes, "variant", "color", "fontsize", "fontweight", "textalign", "inverted"];
3295
+ }
3296
+ get variant() {
3297
+ return this.getAttribute("variant");
3298
+ }
3299
+ set variant(value) {
3300
+ this.setAttribute("variant", value);
3301
+ }
3302
+ get color() {
3303
+ return this.getAttribute("color");
3304
+ }
3305
+ set color(value) {
3306
+ this.setAttribute("color", value);
3307
+ }
3308
+ get fontsize() {
3309
+ return this.getAttribute("fontsize");
3310
+ }
3311
+ set fontsize(value) {
3312
+ this.setAttribute("fontsize", value);
3313
+ }
3314
+ get fontweight() {
3315
+ return this.getAttribute("fontweight");
3316
+ }
3317
+ set fontweight(value) {
3318
+ this.setAttribute("fontweight", value);
3319
+ }
3320
+ get textalign() {
3321
+ return this.getAttribute("textalign");
3322
+ }
3323
+ set textalign(value) {
3324
+ this.setAttribute("textalign", value);
3325
+ }
3326
+ get inverted() {
3327
+ return this.getAttribute("inverted");
3328
+ }
3329
+ set inverted(value) {
3330
+ this.setAttribute("inverted", value);
3331
+ }
3332
+ attributeChangedCallback(attrName, oldValue, newValue) {
3333
+ if (oldValue !== newValue) {
3334
+ switch (attrName) {
3335
+ case "variant":
3336
+ this.updateAttribute(attrName, oldValue, newValue, variantValues);
3337
+ break;
3338
+ case "color":
3339
+ this.updateTypography(attrName, oldValue, newValue, colorValues$2);
3340
+ break;
3341
+ case "fontsize":
3342
+ this.updateTypography(attrName, oldValue, newValue, fontsizeValues);
3343
+ break;
3344
+ case "fontweight":
3345
+ this.updateTypography(attrName, oldValue, newValue, fontweightValues);
3346
+ break;
3347
+ case "textalign":
3348
+ this.updateTypography(attrName, oldValue, newValue, textalignValues);
3349
+ break;
3350
+ default:
3351
+ super.attributeChangedCallback(attrName, oldValue, newValue);
3352
+ break;
3353
+ }
3354
+ }
3355
+ }
3356
+ toggleClass(oldValue, newValue) {
3357
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
3358
+ this.$el.classList.toggle(oldValue);
3359
+ }
3360
+ if (newValue !== null && newValue !== "" && newValue !== "default") {
3361
+ this.$el.classList.toggle(newValue);
3362
+ }
3363
+ }
3364
+ checkName(values, value) {
3365
+ return values.includes(value);
3366
+ }
3367
+ updateAttribute(attrName, oldValue, newValue, attrValue) {
3368
+ this.toggleClass(oldValue, newValue);
3369
+ if (!this.checkName(attrValue, newValue)) {
3370
+ console.error(`Bad ${attrName} value for ${this.$el}`);
3371
+ }
3372
+ }
3373
+ updateTypography(attrName, oldValue, newValue, attrValue) {
3374
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
3375
+ this.$el.classList.toggle(`${attrName}-${oldValue}`);
3376
+ }
3377
+ if (newValue !== null && newValue !== "" && newValue !== "default") {
3378
+ this.$el.classList.toggle(`${attrName}-${newValue}`);
3379
+ }
3380
+ if (!this.checkName(attrValue, newValue)) {
3381
+ console.error(`Bad ${attrName} value for ${this.$el}`);
3382
+ }
3383
+ }
3384
+ };
3385
+ _Paragraph.nativeName = "p";
3386
+ let Paragraph = _Paragraph;
3387
+ customElements.define("px-p", Paragraph);
3388
+ const styles = "div{--px-heading-margin-title: 0 0 15px 0}";
3389
+ const styleSheet = new CSSStyleSheet();
3390
+ styleSheet.replaceSync(styles);
3391
+ class HeadingGroup extends HTMLElement {
3392
+ template() {
3393
+ return `
3394
+ <div>
3395
+ <slot></slot>
3396
+ </div>
3397
+ `;
3398
+ }
3399
+ constructor() {
3400
+ super();
3401
+ this.attachShadow({ mode: "open" });
3402
+ this.shadowRoot.innerHTML = this.template();
3403
+ this.shadowRoot.adoptedStyleSheets = [styleSheet];
3404
+ }
3405
+ get $el() {
3406
+ return this.shadowRoot.querySelector("div");
3407
+ }
3408
+ }
3409
+ customElements.define("px-heading-group", HeadingGroup);
3410
+ const typographyCss = ":host{font-family:Proximus,Verdana,Helvetica,sans-serif}::slotted(ul),::slotted(ol){margin:0 0 0 var(--px-spacing-component-default-horizontal);padding:0}::slotted(b),::slotted(strong){font-weight:700}:host([inverted]) slot{color:var(--px-color-txt-body-inverted)}";
3411
+ const lightStyles = ".li{padding-bottom:var(--px-padding-xs)}";
3412
+ const typographyStyles = new CSSStyleSheet();
3413
+ const headingStyles = new CSSStyleSheet();
3414
+ const linkStyles = new CSSStyleSheet();
3415
+ const paragraphStyles = new CSSStyleSheet();
3416
+ const spanStyles = new CSSStyleSheet();
3417
+ typographyStyles.replaceSync(typographyCss);
3418
+ headingStyles.replaceSync(headingCss);
3419
+ linkStyles.replaceSync(linkCss);
3420
+ paragraphStyles.replaceSync(paragraphCss);
3421
+ spanStyles.replaceSync(spanCss);
3422
+ addGlobalStylesheet(lightStyles);
3423
+ class Typography extends HTMLElement {
3424
+ constructor() {
3425
+ super();
3426
+ this.template = () => `<slot></slot>`;
3427
+ this.attachShadow({ mode: "open" });
3428
+ this.shadowRoot.innerHTML = this.template();
3429
+ this.shadowRoot.adoptedStyleSheets = [
3430
+ proximusSemanticStyleSheet,
3431
+ typographyStyles,
3432
+ headingStyles,
3433
+ linkStyles,
3434
+ paragraphStyles,
3435
+ spanStyles
3436
+ ];
3437
+ }
3438
+ static get observedAttributes() {
3439
+ return ["inverted"];
3440
+ }
3441
+ get inverted() {
3442
+ return this.getAttribute("inverted");
3443
+ }
3444
+ set inverted(value) {
3445
+ this.setAttribute("inverted", value);
3446
+ }
3447
+ connectedCallback() {
3448
+ this.querySelectorAll("li").forEach((li) => {
3449
+ li.classList.add("li");
3450
+ });
3451
+ }
3452
+ }
3453
+ customElements.define("px-typography", Typography);
3454
+ export {
3455
+ Accordion,
3456
+ Container,
3457
+ H1,
3458
+ H2,
3459
+ H3,
3460
+ H4,
3461
+ H5,
3462
+ H6,
3463
+ HStack,
3464
+ HeadingGroup,
3465
+ Icon,
3466
+ Image,
3467
+ Modal,
3468
+ Page,
3469
+ Paragraph,
3470
+ Picture,
3471
+ Price,
3472
+ ProximusButton,
3473
+ ProximusLink,
3474
+ ProximusPatch,
3475
+ ProximusSection,
3476
+ ProximusTag,
3477
+ ProximusTimeline,
3478
+ ProximusTimelineItem,
3479
+ PxElement,
3480
+ PxStack,
3481
+ PxTab,
3482
+ PxTabPanel,
3483
+ PxTabs,
3484
+ Ribbon,
3485
+ Section$1 as Section,
3486
+ Separator,
3487
+ Spacer,
3488
+ Span,
3489
+ Stack,
3490
+ Typography,
3491
+ VStack,
3492
+ WithFlexAttributes,
3493
+ addGlobalStylesheet,
3494
+ bgColorValues,
3495
+ borderRadiusValues,
3496
+ borderValues,
3497
+ colorValues$2 as colorValues,
3498
+ fontsizeValues,
3499
+ fontweightValues,
3500
+ gapValues,
3501
+ getSupportedAttributeNames,
3502
+ getViewportFormat,
3503
+ gradientValues,
3504
+ iconSizeValues,
3505
+ isFalsy,
3506
+ paddingValues,
3507
+ proximusSemanticStyleSheet,
3508
+ replayAttributes,
3509
+ shadowValues
3510
+ };