@proximus/lavender-mega-dropdown 1.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +925 -0
  2. package/package.json +40 -0
package/dist/index.js ADDED
@@ -0,0 +1,925 @@
1
+ import { PxElement as d, WithFlexAttributes as U, colorValues as g, textalignValues as X, headingValues as Y, fontweightValues as Z, fontsizeValues as V } from "@proximus/lavender-common";
2
+ import "@proximus/lavender-layout";
3
+ const E = ".btn{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;font-family:var(--px-font-family);font-size:var(--px-text-size-base-mobile);line-height:var(--px-line-height-m);font-weight:700;gap:var(--px-spacing-between-icon-horizontal);cursor:pointer;text-decoration:none;--btn-transition: all .2s ease-in-out 0s;transition:var(--btn-transition);border:var(--px-border-m) solid transparent}.btn,.btn *{box-sizing:border-box}.btn ::slotted(px-icon){line-height:0}.btn:hover:not([disabled],[aria-disabled=true],.loading){border-color:var(--px-color-border-action-hover-default)}.btn:focus:not([disabled],[aria-disabled=true]){outline-offset:var(--px-offset-s);outline:var(--px-outline-s) solid var(--px-color-outline-default)}.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:0}.btn:not(.secondary,.tertiary,.patch){color:var(--px-color-txt-primary-inverted);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-button-small) var(--px-radius-button-small) var(--px-radius-button-big) var(--px-radius-button-small)}.btn:not(.secondary,.tertiary,.patch):hover:not([disabled],[aria-disabled=true],.loading){color:var(--px-color-txt-primary-default);background:var(--px-color-bg-action-hover-bordered-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-button-small)}.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-button-small) var(--px-radius-button-small) var(--px-radius-button-big) var(--px-radius-button-small)}.btn.secondary:hover:not([disabled],[aria-disabled=true],.loading){color:var(--px-color-txt-primary-default);background:var(--px-color-bg-action-hover-bordered-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-button-small)}.btn.tertiary{background:none;color:var(--px-color-txt-primary-default);border-radius:var(--px-radius-pill);padding:var(--px-padding-2xs) 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);border-radius:var(--px-radius-pill);background:var(--px-color-bg-action-secondary-default);transition:var(--btn-transition)}.btn.tertiary:hover:not([disabled],[aria-disabled=true],.loading){padding:var(--px-padding-2xs) var(--px-padding-s)}.btn.tertiary:hover:not([disabled],[aria-disabled=true],.loading) ::slotted(px-icon){background:transparent;width:inherit;height:inherit}.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:var(--px-radius-pill);background:var(--px-color-bg-action-disabled-default)}.btn.patch{display:inline-flex}.btn.patch:hover:not([disabled],[aria-disabled=true],.loading){color:var(--px-color-txt-primary-default);background:var(--px-color-bg-action-hover-bordered-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){border-color:var(--px-color-border-action-hover-inverted)}:host([inverted]) .btn:focus:not([disabled],[aria-disabled=true]){outline-color:var(--px-color-outline-inverted)}:host([inverted]) .btn:not(.secondary,.tertiary,.patch){color:var(--px-color-txt-primary-default);background:var(--px-color-bg-action-primary-inverted)}:host([inverted]) .btn:not(.secondary,.tertiary,.patch):hover:not([disabled],[aria-disabled=true],.loading){color:var(--px-color-txt-primary-inverted);background:var(--px-color-bg-action-hover-bordered-default-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){color:var(--px-color-txt-primary-inverted);background:var(--px-color-bg-action-hover-bordered-default-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:hover:not([disabled],[aria-disabled=true],.loading) ::slotted(px-icon){background:transparent}: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){color:var(--px-color-txt-primary-inverted);background:var(--px-color-bg-action-hover-bordered-default-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: 768px){.btn{font-size:var(--px-text-size-base-tablet)}.btn:not(.secondary,.tertiary,.patch){min-height:var(--px-size-action-desktop)}.btn.secondary{min-height:var(--px-size-action-desktop)}.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: 1441px){.btn{font-size:var(--px-text-size-base-desktop)}.btn:focus:not([disabled],[aria-disabled=true]){outline-offset:var(--px-offset);outline-width:var(--px-outline)}.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)}}", L = 'a,.link,::slotted(a){font-family:var(--px-font-family);font-size:var(--px-text-size-base-mobile);line-height:var(--px-line-height-m);font-weight:500;color:var(--px-color-txt-body-default)}a:hover,.link:hover{color:var(--px-color-txt-hover-default)}a:focus,.link:focus{outline-offset:var(--px-offset-s);outline:var(--px-outline-s) solid var(--px-color-outline-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(span[slot="after"]),a ::slotted(span[slot="before"]),.link ::slotted(span[slot="after"]),.link ::slotted(span[slot="before"]){display:inline-block}::slotted(a:hover){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-weak-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]) .link:hover{color:var(--px-color-txt-hover-inverted)}:host([inverted]) a:focus,:host([inverted]) .link:focus{outline-color:var(--px-color-outline-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){color:var(--px-color-txt-hover-inverted)}:host([inverted]) a.skip-link{background-color:var(--px-color-bg-container-weak-inverted)}@media only screen and (min-width: 768px){a,.link,::slotted(a){font-size:var(--px-text-size-base-tablet)}}@media only screen and (min-width: 1441px){a,.link,::slotted(a){font-size:var(--px-text-size-base-desktop)}a:focus,.link:focus{outline-offset:var(--px-offset);outline-width:var(--px-outline)}}', ee = ".patch{display:inline-flex;align-items:center;padding:0 var(--px-padding-s);height:1.625rem;border:var(--px-border-m) solid transparent;border-radius:var(--px-radius-patch-big) var(--px-radius-patch-big) var(--px-radius-patch-big) var(--px-radius-patch-small);font-family:var(--px-font-family);font-weight:700;font-size:var(--px-text-size-base-mobile);line-height:var(--px-line-height-m);text-align:center;background-color:var(--px-color-bg-promo-default);color:var(--px-color-txt-primary-inverted)}.patch,.patch *{box-sizing:border-box}@media only screen and (min-width: 768px){.patch{font-size:var(--px-text-size-base-tablet)}}@media only screen and (min-width: 1025px){.patch{font-size:var(--px-text-size-base-desktop)}}:host([inverted]) .patch{background-color:var(--px-color-bg-promo-inverted);color:var(--px-color-txt-primary-inverted)}.bottom-right{border-radius:var(--px-radius-patch-big) var(--px-radius-patch-big) var(--px-radius-patch-small) var(--px-radius-patch-big)}.bottom-left{border-radius:var(--px-radius-patch-big) var(--px-radius-patch-big) var(--px-radius-patch-big) var(--px-radius-patch-small)}.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-body-inverted)}:host([inverted]) .black-friday{background-color:var(--px-color-bg-container-rich-inverted);color:var(--px-color-txt-body-default)}.eco{background-color:var(--px-color-bg-success-default);color:var(--px-color-txt-body-inverted)}:host([inverted]) .eco{background-color:var(--px-color-bg-success-inverted);color:var(--px-color-txt-inverted-default)}.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)}", T = new CSSStyleSheet(), q = new CSSStyleSheet(), M = new CSSStyleSheet();
4
+ T.replaceSync(E);
5
+ q.replaceSync(L);
6
+ M.replaceSync(ee);
7
+ const te = [
8
+ "",
9
+ "default",
10
+ "secondary",
11
+ "tertiary",
12
+ "link",
13
+ "patch",
14
+ "patch-info",
15
+ "patch-black-friday",
16
+ "patch-eco"
17
+ ], z = class z extends d {
18
+ constructor() {
19
+ super(T, q, M), this.template = () => '<slot name="before"></slot><slot></slot><slot name="after"></slot>';
20
+ const e = document.createElement(this.nativeName);
21
+ e.classList.add("btn"), e.innerHTML = this.template(), this.shadowRoot.appendChild(e);
22
+ }
23
+ static get observedAttributes() {
24
+ return [
25
+ ...super.observedAttributes,
26
+ "variant",
27
+ "state",
28
+ "extended",
29
+ "loading",
30
+ "shape",
31
+ "inverted"
32
+ ];
33
+ }
34
+ connectedCallback() {
35
+ super.connectedCallback();
36
+ const e = this.querySelectorAll("px-icon");
37
+ e && e.forEach((t) => {
38
+ const o = t.getAttribute("size"), r = t.getAttribute("color");
39
+ t && (t.addEventListener("click", () => {
40
+ this.$el.focus();
41
+ }), o || t.setAttribute("size", "xs"), r || t.setAttribute("color", "inherit"));
42
+ });
43
+ }
44
+ attributeChangedCallback(e, t, o) {
45
+ if (t !== o)
46
+ switch (e) {
47
+ case "variant":
48
+ this.updateVariant(t, o, te);
49
+ break;
50
+ case "state":
51
+ this.updateState(t, o);
52
+ break;
53
+ case "extended":
54
+ this.updateExtended();
55
+ break;
56
+ case "loading":
57
+ this.updateLoading();
58
+ break;
59
+ case "shape":
60
+ this.updateShape(t, o);
61
+ break;
62
+ default:
63
+ super.attributeChangedCallback(e, t, o);
64
+ break;
65
+ }
66
+ }
67
+ checkName(e, t) {
68
+ return !!e.includes(t);
69
+ }
70
+ checkClass(e) {
71
+ if (e.startsWith("patch-")) {
72
+ const t = e.split(/-(.*)/s);
73
+ for (const o of t)
74
+ o != "" && this.$el.classList.toggle(o);
75
+ } else
76
+ this.$el.classList.toggle(e);
77
+ }
78
+ _toggleClass(e, t) {
79
+ e !== null && e !== "" && e !== "default" && this.checkClass(e), t !== null && t !== "" && t !== "default" && this.checkClass(t);
80
+ }
81
+ updateVariant(e, t, o) {
82
+ t === "link" ? this.$el.classList.remove("btn") : this.$el.classList.add("btn"), this._toggleClass(e, t), this.checkName(o, t) || console.error(`Bad "variant" value for ${this.$el}`);
83
+ }
84
+ updateState(e, t) {
85
+ const o = ["", "default", "success", "error"];
86
+ this._toggleClass(e, t), this.checkName(o, t) || console.error(`Bad "sate" value for ${this.$el}`);
87
+ }
88
+ updateExtended() {
89
+ this.$el.classList.toggle("extended");
90
+ }
91
+ updateLoading() {
92
+ const e = this.querySelector("px-spinner");
93
+ e && (e.getAttribute("size") || e.setAttribute("size", "xs")), this.$el.classList.toggle("loading");
94
+ }
95
+ updateShape(e, t) {
96
+ const o = [
97
+ "",
98
+ "default",
99
+ "bottom-right",
100
+ "bottom-left",
101
+ "alternative"
102
+ ];
103
+ this._toggleClass(e, t), this.checkName(o, t) || console.error(`Bad "shape" value for ${this.$el}`);
104
+ }
105
+ get variant() {
106
+ return this.getAttribute("variant");
107
+ }
108
+ set variant(e) {
109
+ this.setAttribute("variant", e);
110
+ }
111
+ get state() {
112
+ return this.getAttribute("state");
113
+ }
114
+ set state(e) {
115
+ this.setAttribute("state", e);
116
+ }
117
+ get extended() {
118
+ return this.getAttribute("extended");
119
+ }
120
+ set extended(e) {
121
+ this.setAttribute("extended", e);
122
+ }
123
+ get loading() {
124
+ return this.getAttribute("loading");
125
+ }
126
+ set loading(e) {
127
+ this.setAttribute("loading", e);
128
+ }
129
+ get shape() {
130
+ return this.getAttribute("shape");
131
+ }
132
+ set shape(e) {
133
+ this.setAttribute("shape", e);
134
+ }
135
+ get inverted() {
136
+ return this.getAttribute("inverted");
137
+ }
138
+ set inverted(e) {
139
+ this.setAttribute("inverted", e);
140
+ }
141
+ };
142
+ z.nativeName = "button";
143
+ let c = z;
144
+ customElements.get("px-button") || customElements.define("px-button", c);
145
+ class oe extends HTMLElement {
146
+ constructor() {
147
+ super();
148
+ }
149
+ static get observedAttributes() {
150
+ return ["name", "src", "type", "format"];
151
+ }
152
+ connectedCallback() {
153
+ if (document.querySelectorAll(
154
+ `px-icon-set[name="${this.getAttribute("name")}"]`
155
+ ).length > 1 && (console.warn(
156
+ "Only one <px-icon-set> component is allowed, self removing"
157
+ ), this.remove()), this.getAttribute("type") === "font") {
158
+ const t = document.createElement("style");
159
+ t.setAttribute("type", "text/css"), t.setAttribute("data-name", this.getAttribute("name")), t.textContent = `
160
+ @font-face {
161
+ font-family: 'lavender';
162
+ src:
163
+ url('${this.getAttribute("src")}') format(${this.getAttribute("format")}),
164
+ font-weight: normal;
165
+ font-style: normal;
166
+ font-display: block;
167
+ }
168
+ `, document.head.appendChild(t);
169
+ }
170
+ }
171
+ disconnectedCallback() {
172
+ const e = document.querySelector(
173
+ `style[data-name="${this.getAttribute("name")}"]`
174
+ );
175
+ e && e.remove();
176
+ }
177
+ }
178
+ customElements.get("px-icon-set") || customElements.define("px-icon-set", oe);
179
+ const re = ["2xs", "xs", "s", "m", "l", "xl", "2xl"], ne = [
180
+ "name",
181
+ "size",
182
+ "color",
183
+ "aria-label",
184
+ "inverted",
185
+ "from"
186
+ ];
187
+ class R extends U {
188
+ static get observedAttributes() {
189
+ return [...super.observedAttributes, ...ne];
190
+ }
191
+ constructor(...e) {
192
+ var t;
193
+ super(...e), this.internals = (t = this.attachInternals) == null ? void 0 : t.call(this);
194
+ }
195
+ attributeChangedCallback(e, t, o) {
196
+ if (t !== o)
197
+ switch (e) {
198
+ case "name":
199
+ this.updateName(t, o);
200
+ break;
201
+ case "size":
202
+ this.updateAttribute(e, t, o, re);
203
+ break;
204
+ case "color":
205
+ this.updateAttribute(e, t, o, g);
206
+ break;
207
+ case "aria-label":
208
+ if (!this.internals)
209
+ return;
210
+ o ? this.internals.ariaHidden = "false" : this.internals.ariaHidden = "true";
211
+ break;
212
+ }
213
+ }
214
+ updateAttribute(e, t, o, r) {
215
+ t !== null && t !== "" && (e === "size" ? this.$el.classList.toggle(`${e}-${t}`) : this.$el.classList.toggle(t)), o !== null && o !== "" && (e === "size" ? this.$el.classList.toggle(`${e}-${o}`) : this.$el.classList.toggle(o)), this.checkName(r, o) || console.error(
216
+ `${o} is not an allowed ${e} value for ${this.$el}`
217
+ );
218
+ }
219
+ checkName(e, t) {
220
+ return e.includes(t);
221
+ }
222
+ get name() {
223
+ return this.getAttribute("name");
224
+ }
225
+ set name(e) {
226
+ this.setAttribute("name", e);
227
+ }
228
+ get size() {
229
+ return this.getAttribute("size");
230
+ }
231
+ set size(e) {
232
+ this.setAttribute("size", e);
233
+ }
234
+ get color() {
235
+ return this.getAttribute("color");
236
+ }
237
+ set color(e) {
238
+ this.setAttribute("color", e);
239
+ }
240
+ get arialabel() {
241
+ return this.getAttribute("aria-label");
242
+ }
243
+ set arialabel(e) {
244
+ this.setAttribute("aria-label", e);
245
+ }
246
+ get inverted() {
247
+ return this.getAttribute("inverted");
248
+ }
249
+ set inverted(e) {
250
+ this.setAttribute("inverted", e);
251
+ }
252
+ get from() {
253
+ return this.getAttribute("from");
254
+ }
255
+ set from(e) {
256
+ this.setAttribute("from", e);
257
+ }
258
+ }
259
+ const B = ":host{line-height:1;display:inline-flex;flex-direction:column;justify-content:center}i{font-family:lavender;color:var(--px-color-icon-primary-default);font-size:var(--px-icon-size-m-mobile);line-height:1;font-style:unset;font-weight:400;-webkit-user-select:none;user-select:none;font-display:swap}svg{width:var(--px-icon-size-m-mobile);height:var(--px-icon-size-m-mobile);color:var(--px-color-icon-primary-default)}.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{color:var(--px-color-icon-primary-inverted)}:host([inverted]) svg{color:var(--px-color-icon-primary-inverted)}: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{width:var(--px-icon-size-2xs-mobile);height:var(--px-icon-size-2xs-mobile);font-size:var(--px-icon-size-2xs-mobile)}.size-xs{width:var(--px-icon-size-xs-mobile);height:var(--px-icon-size-xs-mobile);font-size:var(--px-icon-size-xs-mobile)}.size-s{width:var(--px-icon-size-s-mobile);height:var(--px-icon-size-s-mobile);font-size:var(--px-icon-size-s-mobile)}.size-m{width:var(--px-icon-size-m-mobile);height:var(--px-icon-size-m-mobile);font-size:var(--px-icon-size-m-mobile)}.size-l{width:var(--px-icon-size-l-mobile);height:var(--px-icon-size-l-mobile);font-size:var(--px-icon-size-l-mobile)}.size-xl{width:var(--px-icon-size-xl-mobile);height:var(--px-icon-size-xl-mobile);font-size:var(--px-icon-size-xl-mobile)}.size-2xl{width:var(--px-icon-size-2xl-mobile);height:var(--px-icon-size-2xl-mobile);font-size:var(--px-icon-size-2xl-mobile)}@media only screen and (min-width: 64rem){.size-2xs{width:var(--px-icon-size-2xs-tablet);height:var(--px-icon-size-2xs-tablet);font-size:var(--px-icon-size-2xs-tablet)}.size-xs{width:var(--px-icon-size-xs-tablet);height:var(--px-icon-size-xs-tablet);font-size:var(--px-icon-size-xs-tablet)}.size-s{width:var(--px-icon-size-s-tablet);height:var(--px-icon-size-s-tablet);font-size:var(--px-icon-size-s-tablet)}.size-m{width:var(--px-icon-size-m-tablet);height:var(--px-icon-size-m-tablet);font-size:var(--px-icon-size-m-tablet)}.size-l{width:var(--px-icon-size-l-tablet);height:var(--px-icon-size-l-tablet);font-size:var(--px-icon-size-l-tablet)}.size-xl{width:var(--px-icon-size-xl-tablet);height:var(--px-icon-size-xl-tablet);font-size:var(--px-icon-size-xl-tablet)}.size-2xl{width:var(--px-icon-size-2xl-tablet);height:var(--px-icon-size-2xl-tablet);font-size:var(--px-icon-size-2xl-tablet)}}@media only screen and (min-width: 90rem){.size-2xs{width:var(--px-icon-size-2xs-desktop);height:var(--px-icon-size-2xs-desktop);font-size:var(--px-icon-size-2xs-desktop)}.size-xs{width:var(--px-icon-size-xs-desktop);height:var(--px-icon-size-xs-desktop);font-size:var(--px-icon-size-xs-desktop)}.size-s{width:var(--px-icon-size-s-desktop);height:var(--px-icon-size-s-desktop);font-size:var(--px-icon-size-s-desktop)}.size-m{width:var(--px-icon-size-m-desktop);height:var(--px-icon-size-m-desktop);font-size:var(--px-icon-size-m-desktop)}.size-l{width:var(--px-icon-size-l-desktop);height:var(--px-icon-size-l-desktop);font-size:var(--px-icon-size-l-desktop)}.size-xl{width:var(--px-icon-size-xl-desktop);height:var(--px-icon-size-xl-desktop);font-size:var(--px-icon-size-xl-desktop)}.size-2xl{width:var(--px-icon-size-2xl-desktop);height:var(--px-icon-size-2xl-desktop);font-size:var(--px-icon-size-2xl-desktop)}}i.icon-large:before{vertical-align:-10%;font-size:1.3333333333em}", D = new CSSStyleSheet();
260
+ D.replaceSync(B);
261
+ class ie extends R {
262
+ constructor() {
263
+ super(D), this.template = () => `<svg>
264
+ <use xlink:href="#icon-${this.name}"></use>
265
+ </svg>`, this.shadowRoot.innerHTML = this.template();
266
+ }
267
+ connectedCallback() {
268
+ const e = document.querySelectorAll("px-icon-set");
269
+ e || console.log("<px-icon-set> component not found");
270
+ for (const t of e) {
271
+ if (!t.getAttribute("name") || !t.getAttribute("src")) {
272
+ console.error("Icon name or src not found");
273
+ continue;
274
+ }
275
+ t.getAttribute("name") === this.from && t.getAttribute("type") !== "font" && (this.src = t.getAttribute("src"), this.$el.firstElementChild.setAttribute(
276
+ "xlink:href",
277
+ `${this.src}#icon-${this.name}`
278
+ ));
279
+ }
280
+ }
281
+ updateName(e, t) {
282
+ this.src && this.$el.firstElementChild.setAttribute(
283
+ "xlink:href",
284
+ `${this.src}#icon-${t}`
285
+ );
286
+ }
287
+ get $el() {
288
+ return this.shadowRoot.querySelector("svg");
289
+ }
290
+ }
291
+ customElements.get("px-icon") || customElements.define("px-icon", ie);
292
+ const ae = '.lavender-3g_tablet:before{content:""}.lavender-accessories:before{content:""}.lavender-account:before{content:""}.lavender-activate:before{content:""}.lavender-ai:before{content:""}.lavender-air_plane:before{content:""}.lavender-alarm:before{content:""}.lavender-answers:before{content:""}.lavender-antenna:before{content:""}.lavender-applications:before{content:""}.lavender-arrow_down:before{content:""}.lavender-arrow_left:before{content:""}.lavender-arrow_right:before{content:""}.lavender-arrow_up:before{content:""}.lavender-back_camera:before{content:""}.lavender-bbox_off:before{content:""}.lavender-batterie:before{content:""}.lavender-best_seller:before{content:""}.lavender-bell_circle:before{content:""}.lavender-best_seller_2:before{content:""}.lavender-best_seller_14:before{content:""}.lavender-bbox_on:before{content:""}.lavender-beta_02:before{content:""}.lavender-beta:before{content:""}.lavender-belgique_ok:before{content:""}.lavender-bicycle:before{content:""}.lavender-bill:before{content:""}.lavender-bill_member:before{content:""}.lavender-birthday_cake:before{content:""}.lavender-blindness:before{content:""}.lavender-bookmark:before{content:""}.lavender-broken_links:before{content:""}.lavender-burger_menu:before{content:""}.lavender-bus:before{content:""}.lavender-bug:before{content:""}.lavender-budget_manager:before{content:""}.lavender-cable:before{content:""}.lavender-caddy:before{content:""}.lavender-cadenas_cloud:before{content:""}.lavender-calendar:before{content:""}.lavender-call_from_abroad:before{content:""}.lavender-call_transfert:before{content:""}.lavender-calls:before{content:""}.lavender-camera:before{content:""}.lavender-calls_1:before{content:""}.lavender-calls_from_belgium:before{content:""}.lavender-car:before{content:""}.lavender-car_crash:before{content:""}.lavender-card:before{content:""}.lavender-care:before{content:""}.lavender-cash_back:before{content:""}.lavender-checkmark:before{content:""}.lavender-checkmark_branding:before{content:""}.lavender-chevron_down:before{content:""}.lavender-chevron_up:before{content:""}.lavender-circular_economy:before{content:""}.lavender-clock:before{content:""}.lavender-cloud:before{content:""}.lavender-cloud_ict:before{content:""}.lavender-cloud_iot_1:before{content:""}.lavender-cloud_iot_2:before{content:""}.lavender-chevron_right:before{content:""}.lavender-cloud_security:before{content:""}.lavender-cloud_network:before{content:""}.lavender-chevron_left:before{content:""}.lavender-collaboration:before{content:""}.lavender-congratulation_box:before{content:""}.lavender-connection_error:before{content:""}.lavender-community:before{content:""}.lavender-connected_devices:before{content:""}.lavender-contact:before{content:""}.lavender-crash:before{content:""}.lavender-copy_paste:before{content:""}.lavender-cookie:before{content:""}.lavender-contest:before{content:""}.lavender-cross:before{content:""}.lavender-cross_circle:before{content:""}.lavender-connectivity:before{content:""}.lavender-current_location:before{content:""}.lavender-connection_manager:before{content:""}.lavender-daily_comute:before{content:""}.lavender-daily_rooming:before{content:""}.lavender-data:before{content:""}.lavender-dance:before{content:""}.lavender-dashboard:before{content:""}.lavender-desktop:before{content:""}.lavender-delivery:before{content:""}.lavender-data_center:before{content:""}.lavender-easy:before{content:""}.lavender-download:before{content:""}.lavender-easy_1:before{content:""}.lavender-daily_rooming_02:before{content:""}.lavender-direct_assist:before{content:""}.lavender-edit:before{content:""}.lavender-electricity:before{content:""}.lavender-energy:before{content:""}.lavender-entertainmant_full:before{content:""}.lavender-entertainment:before{content:""}.lavender-exclamation_mark:before{content:""}.lavender-eco:before{content:""}.lavender-exclamation_filled:before{content:""}.lavender-exhibition_screen:before{content:""}.lavender-export:before{content:""}.lavender-eye:before{content:""}.lavender-eye_close:before{content:""}.lavender-family:before{content:""}.lavender-faq:before{content:""}.lavender-favorite:before{content:""}.lavender-favorite_unselected:before{content:""}.lavender-feedback:before{content:""}.lavender-filter:before{content:""}.lavender-fixed_connection:before{content:""}.lavender-fiber:before{content:""}.lavender-fire_wood:before{content:""}.lavender-flexibility04:before{content:""}.lavender-flexibility05:before{content:""}.lavender-flexibility03:before{content:""}.lavender-flexibility02:before{content:""}.lavender-flexible_delivery:before{content:""}.lavender-flexibility01:before{content:""}.lavender-fixed_phone:before{content:""}.lavender-football:before{content:""}.lavender-forum:before{content:""}.lavender-free_delivery:before{content:""}.lavender-free_service:before{content:""}.lavender-frequently_questions:before{content:""}.lavender-fuel:before{content:""}.lavender-front_camera:before{content:""}.lavender-galerry_02:before{content:""}.lavender-galerry:before{content:""}.lavender-games:before{content:""}.lavender-gaz:before{content:""}.lavender-gift:before{content:""}.lavender-government:before{content:""}.lavender-gps:before{content:""}.lavender-handicap:before{content:""}.lavender-handle:before{content:""}.lavender-heat_pump:before{content:""}.lavender-guitar:before{content:""}.lavender-home:before{content:""}.lavender-home_added_value:before{content:""}.lavender-hub:before{content:""}.lavender-home_wifi:before{content:""}.lavender-icon_advantage_pig:before{content:""}.lavender-ict:before{content:""}.lavender-ict_networking:before{content:""}.lavender-incoming_calls:before{content:""}.lavender-infinity:before{content:""}.lavender-information_box:before{content:""}.lavender-internet_mobile:before{content:""}.lavender-information:before{content:""}.lavender-internet_laptop:before{content:""}.lavender-internet_tablet:before{content:""}.lavender-invoice_insight_adv:before{content:""}.lavender-international:before{content:""}.lavender-layers:before{content:""}.lavender-internet:before{content:""}.lavender-licence_plate_managment:before{content:""}.lavender-inscription:before{content:""}.lavender-licence_plate_managment02:before{content:""}.lavender-innovation:before{content:""}.lavender-light_bulb:before{content:""}.lavender-links:before{content:""}.lavender-location:before{content:""}.lavender-login:before{content:""}.lavender-login_open:before{content:""}.lavender-logout:before{content:""}.lavender-magnify:before{content:""}.lavender-map:before{content:""}.lavender-markets:before{content:""}.lavender-metro:before{content:""}.lavender-microphone:before{content:""}.lavender-micro:before{content:""}.lavender-mental_deficiency:before{content:""}.lavender-minus_circle:before{content:""}.lavender-minus:before{content:""}.lavender-minutes_1600_01:before{content:""}.lavender-micro_sim_card:before{content:""}.lavender-messaging:before{content:""}.lavender-mobile:before{content:""}.lavender-minutes_1600_02:before{content:""}.lavender-mobile_coverage:before{content:""}.lavender-mobile_1:before{content:""}.lavender-mobile_touches:before{content:""}.lavender-mobility_insurance:before{content:""}.lavender-monitoring:before{content:""}.lavender-mood_happy:before{content:""}.lavender-mood_joy:before{content:""}.lavender-mood_neutral:before{content:""}.lavender-mood_unhappy:before{content:""}.lavender-move_sticker:before{content:""}.lavender-no_wifi:before{content:""}.lavender-no_playing:before{content:""}.lavender-number2:before{content:""}.lavender-number3:before{content:""}.lavender-number1:before{content:""}.lavender-norton_security_1:before{content:""}.lavender-mood_very_bad:before{content:""}.lavender-music:before{content:""}.lavender-norton_security:before{content:""}.lavender-natural_gas:before{content:""}.lavender-number4:before{content:""}.lavender-number5:before{content:""}.lavender-number6:before{content:""}.lavender-number7:before{content:""}.lavender-number8:before{content:""}.lavender-number9:before{content:""}.lavender-number10:before{content:""}.lavender-on_app:before{content:""}.lavender-on_off_switch:before{content:""}.lavender-on_web:before{content:""}.lavender-one_click:before{content:""}.lavender-outcoming_call:before{content:""}.lavender-options:before{content:""}.lavender-overview:before{content:""}.lavender-pack:before{content:""}.lavender-pack_off:before{content:""}.lavender-paperclip:before{content:""}.lavender-parking:before{content:""}.lavender-picture:before{content:""}.lavender-pin:before{content:""}.lavender-places:before{content:""}.lavender-play:before{content:""}.lavender-plus:before{content:""}.lavender-plus_circle:before{content:""}.lavender-positioning:before{content:""}.lavender-power:before{content:""}.lavender-presence_home:before{content:""}.lavender-prime:before{content:""}.lavender-print:before{content:""}.lavender-processor:before{content:""}.lavender-products:before{content:""}.lavender-qr_code:before{content:""}.lavender-qr:before{content:""}.lavender-reducer:before{content:""}.lavender-refresh:before{content:""}.lavender-reload:before{content:""}.lavender-relaunch:before{content:""}.lavender-recycling:before{content:""}.lavender-remote:before{content:""}.lavender-repair_device:before{content:""}.lavender-raccording_flat:before{content:""}.lavender-ready_to_use:before{content:""}.lavender-question_mark:before{content:""}.lavender-replay36:before{content:""}.lavender-requests_appointments_and_order:before{content:""}.lavender-reset:before{content:""}.lavender-roaming_belgium:before{content:""}.lavender-roadwork:before{content:""}.lavender-roaming:before{content:""}.lavender-settings:before{content:""}.lavender-serveur:before{content:""}.lavender-settings_full:before{content:""}.lavender-restaurant:before{content:""}.lavender-shopmag:before{content:""}.lavender-secure_paiement:before{content:""}.lavender-sim_card:before{content:""}.lavender-share:before{content:""}.lavender-search:before{content:""}.lavender-smartphone1:before{content:""}.lavender-smartphone2:before{content:""}.lavender-smartphone3:before{content:""}.lavender-smartphone4:before{content:""}.lavender-smartphone4g:before{content:""}.lavender-smartphone5:before{content:""}.lavender-smartphone6:before{content:""}.lavender-solar_panel:before{content:""}.lavender-solar_pump:before{content:""}.lavender-sondage:before{content:""}.lavender-sound_alert:before{content:""}.lavender-sound_on:before{content:""}.lavender-sound_off:before{content:""}.lavender-stop_watch:before{content:""}.lavender-speedtest_dl:before{content:""}.lavender-speed:before{content:""}.lavender-surf_gsm:before{content:""}.lavender-sustainability:before{content:""}.lavender-speedtest_ul:before{content:""}.lavender-switch:before{content:""}.lavender-succes:before{content:""}.lavender-subscription_1:before{content:""}.lavender-tablet:before{content:""}.lavender-tailor:before{content:""}.lavender-subscription:before{content:""}.lavender-target_blank:before{content:""}.lavender-threedots_horizontal02:before{content:""}.lavender-terms_and_conditions:before{content:""}.lavender-tractor:before{content:""}.lavender-toucscreens:before{content:""}.lavender-threedots_vertical02:before{content:""}.lavender-train:before{content:""}.lavender-traffic_jam:before{content:""}.lavender-tram:before{content:""}.lavender-trash:before{content:""}.lavender-tv:before{content:""}.lavender-under_construction:before{content:""}.lavender-upload:before{content:""}.lavender-usage:before{content:""}.lavender-view360_02:before{content:""}.lavender-view360:before{content:""}.lavender-view360_01:before{content:""}.lavender-videoscope:before{content:""}.lavender-wifi_warning:before{content:""}.lavender-wireless_hub:before{content:""}.lavender-wrench:before{content:""}.lavender-wifi_ok:before{content:""}.lavender-water:before{content:""}.lavender-walking:before{content:""}.lavender-watch:before{content:""}.lavender-voucher:before{content:""}', N = new CSSStyleSheet(), H = new CSSStyleSheet();
293
+ N.replaceSync(ae);
294
+ H.replaceSync(B);
295
+ class se extends R {
296
+ constructor() {
297
+ super(N, H), this.template = () => "<i></i>", this.shadowRoot.innerHTML = this.template();
298
+ }
299
+ updateName(e, t) {
300
+ this.$el.classList.remove(`lavender-${e}`), t && this.$el.classList.add(`lavender-${t}`);
301
+ }
302
+ get $el() {
303
+ return this.shadowRoot.querySelector("i");
304
+ }
305
+ }
306
+ customElements.define("px-icon-f", se);
307
+ const le = "h1,.style-title-4xl,::slotted(h1),h2,.style-title-3xl,::slotted(h2),h3,.style-title-2xl,::slotted(h3),h4,.style-title-xl,::slotted(h4),h5,.style-title-l,::slotted(h5),h6,.style-title-m,::slotted(h6),.style-title-s,.style-subtitle{margin:0;font-family:var(--px-font-family);color:var(--heading-color-default, var(--px-color-txt-primary-default));text-align:var(--heading-text-align--mobile, left);font-size:var(--px-text-size-base-mobile);line-height:var(--px-line-height-m);font-weight:700}:host([inverted]) h1,:host([inverted]) .style-title-4xl,:host([inverted]) ::slotted(h1),:host([inverted]) h2,:host([inverted]) .style-title-3xl,:host([inverted]) ::slotted(h2),:host([inverted]) h3,:host([inverted]) .style-title-2xl,:host([inverted]) ::slotted(h3),:host([inverted]) h4,:host([inverted]) .style-title-xl,:host([inverted]) ::slotted(h4),:host([inverted]) h5,:host([inverted]) .style-title-l,:host([inverted]) ::slotted(h5),:host([inverted]) h6,:host([inverted]) .style-title-m,:host([inverted]) ::slotted(h6),:host([inverted]) .style-title-s,:host([inverted]) .style-subtitle{color:var(--heading-color-inverted, var(--px-color-txt-primary-inverted))}h1,.style-title-4xl,::slotted(h1){font-size:var(--px-text-size-5xl-mobile);line-height:var(--px-line-height-s);font-weight:900}h2,.style-title-3xl,::slotted(h2){font-size:var(--px-text-size-4xl-mobile);line-height:var(--px-line-height-s);font-weight:900}h3,.style-title-2xl,::slotted(h3){font-size:var(--px-text-size-3xl-mobile);line-height:var(--px-line-height-s)}h4,.style-title-xl,::slotted(h4){font-size:var(--px-text-size-2xl-mobile)}h5,.style-title-l,::slotted(h5){font-size:var(--px-text-size-l-mobile)}h6,.style-title-m,::slotted(h6){font-size:var(--px-text-size-m-mobile)}.style-subtitle{font-size:var(--px-text-size-xl-mobile);font-weight:300}.style-title-s{font-size:var(--px-text-size-base-mobile)}@media only screen and (min-width: 768px){h1,.style-title-4xl,::slotted(h1),h2,.style-title-3xl,::slotted(h2),h3,.style-title-2xl,::slotted(h3),h4,.style-title-xl,::slotted(h4),h5,.style-title-l,::slotted(h5),h6,.style-title-m,::slotted(h6),.style-title-s,.style-subtitle{text-align:var(--heading-text-align--tablet, left)}h1,.style-title-4xl,::slotted(h1){font-size:var(--px-text-size-5xl-tablet)}h2,.style-title-3xl,::slotted(h2){font-size:var(--px-text-size-4xl-tablet)}h3,.style-title-2xl,::slotted(h3){font-size:var(--px-text-size-3xl-tablet)}h4,.style-title-xl,::slotted(h4){font-size:var(--px-text-size-2xl-tablet)}h5,.style-title-l,::slotted(h5){font-size:var(--px-text-size-l-tablet)}h6,.style-title-m,::slotted(h6){font-size:var(--px-text-size-m-tablet)}.style-title-s{font-size:var(--px-text-size-base-tablet)}.style-subtitle{font-size:var(--px-text-size-xl-tablet)}}@media only screen and (min-width: 1025px){h1,.style-title-4xl,::slotted(h1),h2,.style-title-3xl,::slotted(h2),h3,.style-title-2xl,::slotted(h3),h4,.style-title-xl,::slotted(h4),h5,.style-title-l,::slotted(h5),h6,.style-title-m,::slotted(h6),.style-title-s,.style-subtitle{text-align:var(--heading-text-align--laptop, left)}h1,.style-title-4xl,::slotted(h1){font-size:var(--px-text-size-5xl-desktop)}h2,.style-title-3xl,::slotted(h2){font-size:var(--px-text-size-4xl-desktop)}h3,.style-title-2xl,::slotted(h3){font-size:var(--px-text-size-3xl-desktop)}h4,.style-title-xl,::slotted(h4){font-size:var(--px-text-size-2xl-desktop)}h5,.style-title-l,::slotted(h5){font-size:var(--px-text-size-l-desktop)}h6,.style-title-m,::slotted(h6){font-size:var(--px-text-size-m-desktop)}.style-title-s{font-size:var(--px-text-size-base-desktop)}.style-subtitle{font-size:var(--px-text-size-xl-desktop)}}@media screen and (min-width: 1441px){h1,.style-title-4xl,::slotted(h1),h2,.style-title-3xl,::slotted(h2),h3,.style-title-2xl,::slotted(h3),h4,.style-title-xl,::slotted(h4),h5,.style-title-l,::slotted(h5),h6,.style-title-m,::slotted(h6),.style-title-s,.style-subtitle{text-align:var(--heading-text-align--desktop, left)}}", I = ":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-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-success{color:var(--px-color-txt-success-default)}.color-error{color:var(--px-color-txt-error-default)}.color-warning{color:var(--px-color-txt-warning-default)}.color-unlimited{color:var(--px-color-txt-unlimited-default)}:host([inverted]) .color-inherit{color:inherit}:host([inverted]) .color-primary{color:var(--px-color-txt-primary-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-success{color:var(--px-color-txt-success-inverted)}:host([inverted]) .color-error{color:var(--px-color-txt-error-inverted)}:host([inverted]) .color-warning{color:var(--px-color-txt-warning-inverted)}:host([inverted]) .color-unlimited{color:var(--px-color-txt-unlimited-inverted)}.font-size-inherit{font-size:inherit;line-height:inherit}.font-size-xs{font-size:var(--px-text-size-xs-mobile)}.font-size-s{font-size:var(--px-text-size-s-mobile)}.font-size-base{font-size:var(--px-text-size-base-mobile)}.font-size-m{font-size:var(--px-text-size-m-mobile)}.font-size-l{font-size:var(--px-text-size-l-mobile)}.font-size-xl{font-size:var(--px-text-size-xl-mobile)}.font-size-2xl{font-size:var(--px-text-size-2xl-mobile)}.font-size-3xl{font-size:var(--px-text-size-3xl-mobile);line-height:var(--px-line-height-s)}.font-size-4xl{font-size:var(--px-text-size-4xl-mobile);line-height:var(--px-line-height-s)}.font-size-5xl{font-size:var(--px-text-size-5xl-mobile);line-height:var(--px-line-height-s)}.font-size-6xl{font-size:var(--px-text-size-6xl-mobile);line-height:var(--px-line-height-s)}.font-size-7xl{font-size:var(--px-text-size-7xl-mobile);line-height:var(--px-line-height-s)}@media only screen and (min-width: 768px){.font-size-xs{font-size:var(--px-text-size-xs-mobile)}.font-size-s{font-size:var(--px-text-size-s-mobile)}.font-size-base{font-size:var(--px-text-size-base-mobile)}.font-size-m{font-size:var(--px-text-size-m-mobile)}.font-size-l{font-size:var(--px-text-size-l-mobile)}.font-size-xl{font-size:var(--px-text-size-xl-mobile)}.font-size-2xl{font-size:var(--px-text-size-2xl-mobile)}.font-size-3xl{font-size:var(--px-text-size-3xl-mobile)}.font-size-4xl{font-size:var(--px-text-size-4xl-mobile)}.font-size-5xl{font-size:var(--px-text-size-5xl-mobile)}.font-size-6xl{font-size:var(--px-text-size-6xl-mobile)}.font-size-7xl{font-size:var(--px-text-size-7xl-mobile)}}@media only screen and (min-width: 1025px){.font-size-xs{font-size:var(--px-text-size-xs-tablet)}.font-size-s{font-size:var(--px-text-size-s-tablet)}.font-size-base{font-size:var(--px-text-size-base-tablet)}.font-size-m{font-size:var(--px-text-size-m-tablet)}.font-size-l{font-size:var(--px-text-size-l-tablet)}.font-size-xl{font-size:var(--px-text-size-xl-tablet)}.font-size-2xl{font-size:var(--px-text-size-2xl-tablet)}.font-size-3xl{font-size:var(--px-text-size-3xl-tablet)}.font-size-4xl{font-size:var(--px-text-size-4xl-tablet)}.font-size-5xl{font-size:var(--px-text-size-5xl-tablet)}.font-size-6xl{font-size:var(--px-text-size-6xl-tablet)}.font-size-7xl{font-size:var(--px-text-size-7xl-tablet)}}@media only screen and (min-width: 1441px){.font-size-xs{font-size:var(--px-text-size-xs-desktop)}.font-size-s{font-size:var(--px-text-size-s-desktop)}.font-size-base{font-size:var(--px-text-size-base-desktop)}.font-size-m{font-size:var(--px-text-size-m-desktop)}.font-size-l{font-size:var(--px-text-size-l-desktop)}.font-size-xl{font-size:var(--px-text-size-xl-desktop)}.font-size-2xl{font-size:var(--px-text-size-2xl-desktop)}.font-size-3xl{font-size:var(--px-text-size-3xl-desktop)}.font-size-4xl{font-size:var(--px-text-size-4xl-desktop)}.font-size-5xl{font-size:var(--px-text-size-5xl-desktop)}.font-size-6xl{font-size:var(--px-text-size-6xl-desktop)}.font-size-7xl{font-size:var(--px-text-size-7xl-desktop)}}.font-weight-inherit{font-weight:inherit}.font-weight-normal{font-weight:var(--font-weight-regular)}.font-weight-bold{font-weight:var(--font-weight-bold)}.font-weight-extrabold{font-weight:var(--font-weight-extrabold)}.font-weight-light{font-weight:var(--font-weight-light)}", P = new CSSStyleSheet();
308
+ P.replaceSync(le);
309
+ const j = new CSSStyleSheet();
310
+ j.replaceSync(I);
311
+ class s extends d {
312
+ template() {
313
+ return "<slot></slot>";
314
+ }
315
+ constructor(e) {
316
+ super(P, j);
317
+ const t = document.createElement(e);
318
+ t.innerHTML = this.template(), this.shadowRoot.appendChild(t);
319
+ }
320
+ static get observedAttributes() {
321
+ return [
322
+ ...super.observedAttributes,
323
+ "variant",
324
+ "color",
325
+ "text-align",
326
+ "text-align--mobile",
327
+ "text-align--tablet",
328
+ "text-align--laptop",
329
+ "text-align--desktop",
330
+ "inverted"
331
+ ];
332
+ }
333
+ attributeChangedCallback(e, t, o) {
334
+ if (t !== o)
335
+ switch (e) {
336
+ case "variant":
337
+ this.updateAttribute(e, t, o, Y);
338
+ break;
339
+ case "color":
340
+ this.updateColor(t, o, g);
341
+ break;
342
+ case "text-align":
343
+ case "text-align--mobile":
344
+ case "text-align--tablet":
345
+ case "text-align--laptop":
346
+ case "text-align--desktop":
347
+ this.updateTextAlign(e, t, o, X);
348
+ break;
349
+ default:
350
+ super.attributeChangedCallback(e, t, o);
351
+ break;
352
+ }
353
+ }
354
+ toggleClass(e, t) {
355
+ e !== null && e !== "" && e !== "default" && this.$el.classList.toggle(`style-${e}`), t !== null && t !== "" && t !== "default" && this.$el.classList.toggle(`style-${t}`);
356
+ }
357
+ checkName(e, t) {
358
+ return e.includes(t);
359
+ }
360
+ updateAttribute(e, t, o, r) {
361
+ this.checkName(r, o) ? this.toggleClass(t, o) : console.error(`Bad "${e}" value for`, this.$el);
362
+ }
363
+ updateColor(e, t, o) {
364
+ if (!this.checkName(o, t)) {
365
+ console.error("Bad color value for", this.$el);
366
+ return;
367
+ }
368
+ const r = this.inverted === null ? "default" : "inverted", n = (i) => {
369
+ i !== null && i !== "" && i !== "default" && this.$el.style.setProperty(
370
+ `--heading-color-${r}`,
371
+ `var(--px-color-txt-${i}-${r})`
372
+ );
373
+ };
374
+ n(e), n(t);
375
+ }
376
+ updateTextAlign(e, t, o, r) {
377
+ if (!this.checkName(r, o)) {
378
+ console.error(`Bad ${e} value for`, this.$el);
379
+ return;
380
+ }
381
+ const n = (i, l) => {
382
+ l !== null && l !== "" && l !== "default" && this.$el.style.setProperty(
383
+ `--heading-text-align--${i}`,
384
+ l
385
+ );
386
+ };
387
+ if (e === "text-align")
388
+ ["mobile", "tablet", "laptop", "desktop"].forEach((i) => {
389
+ n(i, t), n(i, o);
390
+ });
391
+ else {
392
+ const i = e.split("--")[1];
393
+ n(i, t), n(i, o);
394
+ }
395
+ }
396
+ get variant() {
397
+ return this.getAttribute("variant");
398
+ }
399
+ set variant(e) {
400
+ this.setAttribute("variant", e);
401
+ }
402
+ get color() {
403
+ return this.getAttribute("color");
404
+ }
405
+ set color(e) {
406
+ this.setAttribute("color", e);
407
+ }
408
+ get textAlign() {
409
+ return this.getAttribute("text-align");
410
+ }
411
+ set textAlign(e) {
412
+ this.setAttribute("text-align", e);
413
+ }
414
+ get textAlignMobile() {
415
+ return this.getAttribute("text-align--mobile");
416
+ }
417
+ set textAlignMobile(e) {
418
+ this.setAttribute("text-align--mobile", e);
419
+ }
420
+ get textAlignTablet() {
421
+ return this.getAttribute("text-align--tablet");
422
+ }
423
+ set textAlignTablet(e) {
424
+ this.setAttribute("text-align--tablet", e);
425
+ }
426
+ get textAlignLaptop() {
427
+ return this.getAttribute("text-align--laptop");
428
+ }
429
+ set textAlignLaptop(e) {
430
+ this.setAttribute("text-align--laptop", e);
431
+ }
432
+ get textAlignDesktop() {
433
+ return this.getAttribute("text-align--desktop");
434
+ }
435
+ set textAlignDesktop(e) {
436
+ this.setAttribute("text-align--desktop", e);
437
+ }
438
+ get inverted() {
439
+ return this.getAttribute("inverted");
440
+ }
441
+ set inverted(e) {
442
+ this.setAttribute("inverted", e);
443
+ }
444
+ }
445
+ const y = class y extends s {
446
+ constructor() {
447
+ super("h1");
448
+ }
449
+ };
450
+ y.nativeName = "h1";
451
+ let b = y;
452
+ customElements.define("px-h1", b);
453
+ const k = class k extends s {
454
+ constructor() {
455
+ super("h2");
456
+ }
457
+ };
458
+ k.nativeName = "h2";
459
+ let h = k;
460
+ customElements.define("px-h2", h);
461
+ const _ = class _ extends s {
462
+ constructor() {
463
+ super("h3");
464
+ }
465
+ };
466
+ _.nativeName = "h3";
467
+ let v = _;
468
+ customElements.define("px-h3", v);
469
+ const w = class w extends s {
470
+ constructor() {
471
+ super("h4");
472
+ }
473
+ };
474
+ w.nativeName = "h4";
475
+ let p = w;
476
+ customElements.define("px-h4", p);
477
+ const A = class A extends s {
478
+ constructor() {
479
+ super("h5");
480
+ }
481
+ };
482
+ A.nativeName = "h5";
483
+ let x = A;
484
+ customElements.define("px-h5", x);
485
+ const S = class S extends s {
486
+ constructor() {
487
+ super("h6");
488
+ }
489
+ };
490
+ S.nativeName = "h6";
491
+ let f = S;
492
+ customElements.define("px-h6", f);
493
+ const de = ".separator{--separator-size: var(--px-border-m);--px-separator-color: var(--px-color-border-main-default);--separator-direction-mobile-border-width: var(--separator-size) 0 0;--separator-direction-mobile-width: initial;--separator-direction-mobile-height: initial;clear:both;margin:0;border-style:solid;border-color:var(--px-separator-color);border-width:var(--separator-size) 0 0;width:initial;height:initial}.separator_direction_horizontal{border-width:var(--separator-size) 0 0;width:initial;height:initial}.separator_direction_vertical{width:var(--separator-size);height:100%;border-width:0 var(--separator-size) 0 0}@media only screen and (min-width: 0px) and (max-width: 767px){.separator_direction_horizontal--mobile{border-width:var(--separator-size) 0 0;width:initial;height:initial}.separator_direction_vertical--mobile{width:var(--separator-size);height:100%;border-width:0 var(--separator-size) 0 0}}@media only screen and (min-width: 768px) and (max-width: 1024px){.separator_direction_horizontal--tablet{border-width:var(--separator-size) 0 0;width:initial;height:initial}.separator_direction_vertical--tablet{width:var(--separator-size);height:100%;border-width:0 var(--separator-size) 0 0}}@media only screen and (min-width: 1025px) and (max-width: 1440px){.separator_direction_horizontal--laptop{border-width:var(--separator-size) 0 0;width:initial;height:initial}.separator_direction_vertical--laptop{width:var(--separator-size);height:100%;border-width:0 var(--separator-size) 0 0}}@media only screen and (min-width: 1441px){.separator_direction_horizontal--desktop{border-width:var(--separator-size) 0 0;width:initial;height:initial}.separator_direction_vertical--desktop{width:var(--separator-size);height:100%;border-width:0 var(--separator-size) 0 0}}:host([inverted]) .separator{--px-separator-color: var(--px-color-border-main-inverted)}", F = new CSSStyleSheet();
494
+ F.replaceSync(de);
495
+ const ce = ["", "default", "horizontal", "vertical"], be = ["", "none", "s", "m", "l"], he = [
496
+ "",
497
+ "contrasted",
498
+ "action-hover",
499
+ "action-active",
500
+ "none",
501
+ "success",
502
+ "error",
503
+ "warning",
504
+ "unlimited"
505
+ ], $ = class $ extends d {
506
+ constructor() {
507
+ super(F);
508
+ const e = document.createElement(this.nativeName);
509
+ e.classList.add("separator"), this.shadowRoot.appendChild(e);
510
+ }
511
+ static get observedAttributes() {
512
+ return [
513
+ ...super.observedAttributes,
514
+ "direction",
515
+ "direction-mobile",
516
+ "direction-tablet",
517
+ "direction-laptop",
518
+ "direction-desktop",
519
+ "size",
520
+ "color",
521
+ "inverted"
522
+ ];
523
+ }
524
+ get direction() {
525
+ return this.getAttribute("direction");
526
+ }
527
+ set direction(e) {
528
+ this.setAttribute("direction", e);
529
+ }
530
+ get directionMobile() {
531
+ return this.getAttribute("direction-mobile");
532
+ }
533
+ set directionMobile(e) {
534
+ this.setAttribute("direction-mobile", e);
535
+ }
536
+ get directionTablet() {
537
+ return this.getAttribute("direction-tablet");
538
+ }
539
+ set directionTablet(e) {
540
+ this.setAttribute("direction-tablet", e);
541
+ }
542
+ get directionLaptop() {
543
+ return this.getAttribute("direction-laptop");
544
+ }
545
+ set directionLaptop(e) {
546
+ this.setAttribute("direction-laptop", e);
547
+ }
548
+ get directionDesktop() {
549
+ return this.getAttribute("direction-desktop");
550
+ }
551
+ set directionDesktop(e) {
552
+ this.setAttribute("direction-desktop", e);
553
+ }
554
+ get size() {
555
+ return this.getAttribute("size");
556
+ }
557
+ set size(e) {
558
+ this.setAttribute("size", e);
559
+ }
560
+ get color() {
561
+ return this.getAttribute("color");
562
+ }
563
+ set color(e) {
564
+ this.setAttribute("color", e);
565
+ }
566
+ get inverted() {
567
+ return this.getAttribute("inverted");
568
+ }
569
+ set inverted(e) {
570
+ this.setAttribute("inverted", e);
571
+ }
572
+ attributeChangedCallback(e, t, o) {
573
+ if (t !== o)
574
+ switch (e) {
575
+ case "direction":
576
+ case "direction-mobile":
577
+ case "direction-tablet":
578
+ case "direction-laptop":
579
+ case "direction-desktop":
580
+ this.updateDirection(e, o);
581
+ break;
582
+ case "size":
583
+ this.updateSize(o, be);
584
+ break;
585
+ case "color":
586
+ this.updateColor(o, he);
587
+ break;
588
+ default:
589
+ super.attributeChangedCallback(e, t, o);
590
+ break;
591
+ }
592
+ }
593
+ checkName(e, t) {
594
+ return e.includes(t);
595
+ }
596
+ updateSize(e, t) {
597
+ this.checkName(t, e) ? this.$el.style.setProperty(
598
+ "--separator-size",
599
+ `var(--px-border-${e})`
600
+ ) : (console.error("Bad size value for", this.$el), this.$el.style.setProperty("--separator-size", "var(--px-border-m)"));
601
+ }
602
+ updateColor(e, t) {
603
+ this.checkName(t, e) ? this.$el.style.setProperty(
604
+ "--px-separator-color",
605
+ `var(--px-color-border-${e}-${this.inverted === null ? "default" : "inverted"})`
606
+ ) : (console.error("Bad color value for", this.$el), this.$el.style.setProperty(
607
+ "--px-separator-color",
608
+ `var(--px-color-border-main-${this.inverted === null ? "default" : "inverted"})`
609
+ ));
610
+ }
611
+ updateDirection(e, t) {
612
+ if (!this.checkName(ce, t))
613
+ console.error(`Bad "${e}" value for`, this.$el);
614
+ else if (e === "direction")
615
+ this.$el.classList.add(`separator_direction_${t}`);
616
+ else {
617
+ const o = this.$el.classList, r = e.split("-")[1];
618
+ for (let n = 0; n < o.length; n++)
619
+ o[n].includes(r) ? this.$el.classList.replace(
620
+ o[n],
621
+ `separator_direction_${t}--${r}`
622
+ ) : this.$el.classList.add(
623
+ `separator_direction_${t}--${r}`
624
+ );
625
+ }
626
+ }
627
+ };
628
+ $.nativeName = "hr";
629
+ let u = $;
630
+ customElements.define("px-separator", u);
631
+ const ve = ":host([hidden]){display:none;padding-block:0}px-container{position:relative;display:flex;flex-direction:column;overflow:auto}@media screen and (max-width: 767px){px-container{height:100vh}}px-container>px-button-icon{position:absolute;top:2rem;right:1rem}@media screen and (max-width: 767px){px-container>px-button-icon{display:none;right:0}}px-hstack{display:none}@media screen and (max-width: 767px){px-hstack{display:block;padding-bottom:2rem}}px-h1{display:none}@media screen and (max-width: 767px){px-h1{display:block;padding-bottom:2rem}}", W = new CSSStyleSheet();
632
+ W.replaceSync(ve);
633
+ class pe extends HTMLElement {
634
+ constructor() {
635
+ var e;
636
+ super(), this.template = `<px-container
637
+ padding-inline="none"
638
+ padding-block="l"
639
+ padding-block-mobile="xl"
640
+ background-color="container-none"
641
+ >
642
+ <px-hstack gap="1rem" align-items="center">
643
+ <px-button variant="tertiary">
644
+ <px-icon name="chevron_left" from="lavender"></px-icon>
645
+ Back to menu
646
+ </px-button>
647
+ <px-spacer></px-spacer>
648
+ <px-button-icon variant="secondary">
649
+ <px-icon name="cross" from="lavender"></px-icon>
650
+ </px-button-icon>
651
+ </px-hstack>
652
+ <px-h1 variant="title-3xl"></px-h1>
653
+ <px-button-icon variant="secondary">
654
+ <px-icon name="cross" from="lavender"></px-icon>
655
+ </px-button-icon>
656
+ <px-stack
657
+ direction-mobile="column"
658
+ direction="row"
659
+ gap-mobile="2rem"
660
+ gap-laptop="1.5rem"
661
+ gap-tablet="1rem"
662
+ gap="4rem"
663
+ >
664
+ <slot></slot>
665
+ </px-stack>
666
+ </px-container>`, this.attachShadow({ mode: "open" }), this.shadowRoot.innerHTML = this.template, this.shadowRoot.adoptedStyleSheets = [W], this.internals = (e = this.attachInternals) == null ? void 0 : e.call(this), this.internals && (this.internals.role = "menu");
667
+ }
668
+ static get observedAttributes() {
669
+ return ["hidden", "name"];
670
+ }
671
+ connectedCallback() {
672
+ var t, o;
673
+ if (this.querySelectorAll("px-mdd-section").length === 0)
674
+ throw new Error("HeaderPanel must contain at least one MenuSection");
675
+ this.hidden = !0, this.internals && (this.internals.ariaHidden = "true"), this.setAttribute("slot", "header-panels"), this.shadowRoot.addEventListener("click", (r) => {
676
+ if (r.target.closest("px-button-icon"))
677
+ this.dispatchEvent(new CustomEvent("close-panel", { bubbles: !0 }));
678
+ else if (r.target.closest("px-button")) {
679
+ const n = new CustomEvent("section-item-click", {
680
+ bubbles: !0,
681
+ composed: !0,
682
+ detail: { for: "__lavender_mobile_menu" }
683
+ });
684
+ this.dispatchEvent(n);
685
+ }
686
+ }), this.getAttribute("name") === "__lavender_mobile_menu" && (this.$backButton.style.display = "none");
687
+ const e = this.getAttribute("name") === "__lavender_mobile_menu" ? "Menu" : ((o = (t = this.closest("px-header")) == null ? void 0 : t.querySelector(
688
+ `px-header-item[for="${this.getAttribute("name")}"]`
689
+ )) == null ? void 0 : o.innerText) ?? "";
690
+ this.$title.innerText = e;
691
+ }
692
+ attributeChangedCallback(e, t, o) {
693
+ if (e === "name" && !o)
694
+ throw new Error("Media Drop Down must have a name attribute");
695
+ e === "name" && (this.id = o), e === "hidden" && this.internals && (this.internals.ariaHidden = o === "true" || o === "" ? "true" : "false");
696
+ }
697
+ get hidden() {
698
+ return this.hasAttribute("hidden");
699
+ }
700
+ set hidden(e) {
701
+ if (typeof e != "boolean")
702
+ throw new Error("hidden must be a boolean");
703
+ e ? (this.internals && (this.internals.ariaHidden = "true"), this.setAttribute("hidden", "")) : (this.internals && (this.internals.ariaHidden = "false"), this.removeAttribute("hidden"));
704
+ }
705
+ get name() {
706
+ return this.getAttribute("name");
707
+ }
708
+ set name(e) {
709
+ this.setAttribute("name", e);
710
+ }
711
+ get $backButton() {
712
+ return this.shadowRoot.querySelector("px-button");
713
+ }
714
+ get $title() {
715
+ return this.shadowRoot.querySelector("px-h1");
716
+ }
717
+ }
718
+ customElements.get("px-mdd") || customElements.define("px-mdd", pe);
719
+ const xe = "@media screen and (max-width: 767px){#section-wrapper{background-color:#fff;border-radius:.5rem;padding-inline:1rem}}@media screen and (max-width: 767px){:host{width:100%}}@media screen and (max-width: 767px){{border-bottom:1px solid var(--px-color-bg-container-weak-default)}}@media screen and (max-width: 767px){{border-bottom:none}}@media screen and (max-width: 767px){{background-color:#fff;border-radius:.5rem;padding-inline:1rem;line-height:4rem}}", G = new CSSStyleSheet();
720
+ G.replaceSync(xe);
721
+ class fe extends HTMLElement {
722
+ constructor() {
723
+ super(), this.template = `<px-vstack gap="1rem">
724
+ <px-h1 variant="title-l" color="body" variant-mobile="title-xl">
725
+ <slot name="title"></slot>
726
+ </px-h1>
727
+ <div id="section-wrapper">
728
+ <px-vstack role="menu" gap="0.5rem" gap-mobile="0">
729
+ <slot></slot>
730
+ </px-vstack>
731
+ </div>
732
+ <slot name="footer"></slot>
733
+ </px-vstack>`, this.attachShadow({ mode: "open" }), this.shadowRoot.innerHTML = this.template, this.shadowRoot.adoptedStyleSheets = [G];
734
+ }
735
+ }
736
+ customElements.get("px-mdd-section") || customElements.define("px-mdd-section", fe);
737
+ const O = new CSSStyleSheet(), J = new CSSStyleSheet(), K = new CSSStyleSheet();
738
+ O.replaceSync(L);
739
+ J.replaceSync(E);
740
+ K.replaceSync(I);
741
+ const ue = [
742
+ "link",
743
+ "no-style",
744
+ "skip-link",
745
+ "btn-default",
746
+ "btn-secondary",
747
+ "btn-tertiary"
748
+ ], C = class C extends d {
749
+ constructor() {
750
+ super(O, J, K), this.shapeValues = ["", "default", "alternative"], this.template = () => '<slot name="before"></slot><slot></slot><slot name="after"></slot>';
751
+ const e = document.createElement(this.nativeName);
752
+ e.innerHTML = this.template(), this.shadowRoot.appendChild(e);
753
+ }
754
+ static get observedAttributes() {
755
+ return [
756
+ ...super.observedAttributes,
757
+ "disabled",
758
+ "variant",
759
+ "shape",
760
+ "extended",
761
+ "inverted",
762
+ "font-size",
763
+ "color",
764
+ "font-weight"
765
+ ];
766
+ }
767
+ connectedCallback() {
768
+ super.connectedCallback();
769
+ const e = this.querySelectorAll("px-icon");
770
+ e && e.forEach((t) => {
771
+ const o = t.getAttribute("size"), r = t.getAttribute("color");
772
+ t && (t.addEventListener("click", () => {
773
+ this.$el.focus();
774
+ }), o || t.setAttribute("size", "xs"), r || t.setAttribute("color", "inherit"));
775
+ });
776
+ }
777
+ attributeChangedCallback(e, t, o) {
778
+ if (t !== o)
779
+ switch (e) {
780
+ case "disabled":
781
+ this.$el.toggleAttribute("aria-disabled"), o !== null && this.$el.setAttribute("aria-disabled", "true");
782
+ break;
783
+ case "variant":
784
+ this.updateVariant(t, o);
785
+ break;
786
+ case "shape":
787
+ this.updateShape(t, o);
788
+ break;
789
+ case "extended":
790
+ this.$el.classList.toggle(e);
791
+ break;
792
+ case "font-size":
793
+ this.updateTypography(e, t, o, V);
794
+ break;
795
+ case "color":
796
+ this.updateTypography(e, t, o, g);
797
+ break;
798
+ case "font-weight":
799
+ this.updateTypography(e, t, o, Z);
800
+ break;
801
+ default:
802
+ super.attributeChangedCallback(e, t, o);
803
+ break;
804
+ }
805
+ }
806
+ checkName(e, t) {
807
+ return e.includes(t);
808
+ }
809
+ _toggleClassList(e) {
810
+ if (e.startsWith("btn-")) {
811
+ const t = e.split("-");
812
+ for (const o of t)
813
+ this.$el.classList.toggle(o);
814
+ } else
815
+ this.$el.classList.toggle(e);
816
+ }
817
+ updateVariant(e, t) {
818
+ e !== null && e !== "" && e !== "link" && this._toggleClassList(e), t !== null && t !== "" && t !== "link" && this._toggleClassList(t), this.checkName(ue, t) || console.error(`Bad "variant" value for ${this.$el}`);
819
+ }
820
+ updateShape(e, t) {
821
+ e !== null && e !== "" && e !== "default" && this._toggleClassList(e), t !== null && t !== "" && t !== "default" && this._toggleClassList(t), this.checkName(this.shapeValues, t) || console.error(`Bad "shape" value for ${this.$el}`);
822
+ }
823
+ updateTypography(e, t, o, r) {
824
+ t !== null && t !== "" && t !== "default" && this.$el.classList.toggle(`${e}-${t}`), o !== null && o !== "" && o !== "default" && this.$el.classList.toggle(`${e}-${o}`), this.checkName(r, o) || console.error(`Bad ${e} value for ${this.$el}`);
825
+ }
826
+ get disabled() {
827
+ return this.getAttribute("disabled");
828
+ }
829
+ set disabled(e) {
830
+ this.setAttribute("disabled", e);
831
+ }
832
+ get variant() {
833
+ return this.getAttribute("variant");
834
+ }
835
+ set variant(e) {
836
+ this.setAttribute("variant", e);
837
+ }
838
+ get shape() {
839
+ return this.getAttribute("shape");
840
+ }
841
+ set shape(e) {
842
+ this.setAttribute("shape", e);
843
+ }
844
+ get extended() {
845
+ return this.getAttribute("extended");
846
+ }
847
+ set extended(e) {
848
+ this.setAttribute("extended", e);
849
+ }
850
+ get inverted() {
851
+ return this.getAttribute("inverted");
852
+ }
853
+ set inverted(e) {
854
+ this.setAttribute("inverted", e);
855
+ }
856
+ get fontsize() {
857
+ return this.getAttribute("font-size");
858
+ }
859
+ set fontsize(e) {
860
+ this.setAttribute("font-size", e);
861
+ }
862
+ get color() {
863
+ return this.getAttribute("color");
864
+ }
865
+ set color(e) {
866
+ this.setAttribute("color", e);
867
+ }
868
+ get fontweight() {
869
+ return this.getAttribute("font-weight");
870
+ }
871
+ set fontweight(e) {
872
+ this.setAttribute("font-weight", e);
873
+ }
874
+ };
875
+ C.nativeName = "a";
876
+ let m = C;
877
+ customElements.get("px-a") || customElements.define("px-a", m);
878
+ const me = "@media screen and (min-width: 768px){px-icon{display:none}}a{text-decoration:none;color:inherit}@media screen and (min-width: 767px) and (max-width: 1024px){a{font-size:var(--px-text-size-base-tablet)}}button{background:none;border:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;width:100%}@media screen and (max-width: 767px){px-hstack{display:block;padding:1rem 0;background-color:#fff;border-radius:1rem}}", Q = new CSSStyleSheet();
879
+ Q.replaceSync(me);
880
+ class ge extends HTMLElement {
881
+ constructor() {
882
+ var e;
883
+ super(), this.template = `
884
+ <px-hstack align-items="center">
885
+ <span><slot></slot></span>
886
+ <px-spacer></px-spacer>
887
+ <px-icon name="chevron_right" from="lavender"></px-icon>
888
+ </px-hstack>`, this.attachShadow({ mode: "open" }), this.shadowRoot.adoptedStyleSheets = [Q], this.internals = (e = this.attachInternals) == null ? void 0 : e.call(this), this.internals && (this.internals.role = "menuitem");
889
+ }
890
+ static get observedAttributes() {
891
+ return ["href", "for"];
892
+ }
893
+ attributeChangedCallback(e, t, o) {
894
+ e === "href" && this.$link ? this.$link.href = o : e === "href" && !this.$link && o ? (this.shadowRoot.innerHTML = `<a>${this.template}</a>`, this.shadowRoot.firstElementChild.setAttribute("tabindex", "0")) : e === "for" && !this.$button && o && (this.shadowRoot.innerHTML = `<button>${this.template}</button>`, this.shadowRoot.firstElementChild.setAttribute("tabindex", "0"));
895
+ }
896
+ connectedCallback() {
897
+ this.hasAttribute("href") ? this.$link.href = this.href : this.hasAttribute("for") && this.addEventListener("click", this.handleClick);
898
+ }
899
+ handleClick() {
900
+ const e = new CustomEvent("section-item-click", {
901
+ bubbles: !0,
902
+ composed: !0,
903
+ detail: { for: this.getAttribute("for") }
904
+ });
905
+ this.dispatchEvent(e);
906
+ }
907
+ get href() {
908
+ return this.getAttribute("href");
909
+ }
910
+ set href(e) {
911
+ this.setAttribute("href", e);
912
+ }
913
+ get $link() {
914
+ return this.shadowRoot.querySelector("a");
915
+ }
916
+ get $button() {
917
+ return this.shadowRoot.querySelector("button");
918
+ }
919
+ }
920
+ customElements.get("px-mdd-section-item") || customElements.define("px-mdd-section-item", ge);
921
+ export {
922
+ fe as MddSection,
923
+ ge as MddSectionItem,
924
+ pe as MegaDropDown
925
+ };
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@proximus/lavender-mega-dropdown",
3
+ "version": "1.0.0-alpha.1",
4
+ "description": "",
5
+ "main": "dist/index.js",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./src/index.ts",
9
+ "development": "./src/index.ts",
10
+ "default": "./dist/index.js"
11
+ },
12
+ "./src/*.css": {
13
+ "development": "src/*.css"
14
+ }
15
+ },
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "type": "module",
20
+ "scripts": {
21
+ "build": "rm -rf dist;tsc; vite build",
22
+ "test": "vitest run --coverage"
23
+ },
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "lerna": {
28
+ "command": {
29
+ "publish": {
30
+ "assets": [
31
+ "CHANGELOG.md",
32
+ "package.json",
33
+ "dist/*.js",
34
+ "dist/css/**/*.css"
35
+ ]
36
+ }
37
+ }
38
+ },
39
+ "gitHead": "d5f53c3ede6b6df6fa861f4acc3db916d9d11bd0"
40
+ }