@proximus/lavender-header 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.
- package/dist/index.js +987 -0
- package/package.json +40 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,987 @@
|
|
|
1
|
+
import { PxElement as g, shadowValues as y, noBorderRadiusValues as A, borderRadiusValues as $, borderValues as S, paddingValues as z, gradientValues as L, bgColorValues as b, WithFlexAttributes as c } from "@proximus/lavender-common";
|
|
2
|
+
import "@proximus/lavender-layout";
|
|
3
|
+
const w = '.container{font-family:var(--px-font-family);background-color:var(--background-color);background:var(--background-gradient);border-radius:var(--px-radius-main);padding:var(--px-padding-m);box-sizing:border-box}:host([inverted]) .container{background-color:var( --background-color, var(--px-color-bg-container-rich-default) )}.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)}.padding-block-2xs{padding-block:var(--px-padding-2xs)}.padding-block-xs{padding-block:var(--px-padding-xs)}.padding-block-s{padding-block:var(--px-padding-s)}.padding-block-m{padding-block:var(--px-padding-m)}.padding-block-l{padding-block:var(--px-padding-l)}.padding-block-xl{padding-block:var(--px-padding-xl)}.padding-block-none{padding-block:var(--px-padding-none)}.padding-inline-2xs{padding-inline:var(--px-padding-2xs)}.padding-inline-xs{padding-inline:var(--px-padding-xs)}.padding-inline-s{padding-inline:var(--px-padding-s)}.padding-inline-m{padding-inline:var(--px-padding-m)}.padding-inline-l{padding-inline:var(--px-padding-l)}.padding-inline-xl{padding-inline:var(--px-padding-xl)}.padding-inline-none{padding-inline:var(--px-padding-none)}.padding-top-2xs{padding-top:var(--px-padding-2xs)}.padding-top-xs{padding-top:var(--px-padding-xs)}.padding-top-s{padding-top:var(--px-padding-s)}.padding-top-m{padding-top:var(--px-padding-m)}.padding-top-l{padding-top:var(--px-padding-l)}.padding-top-xl{padding-top:var(--px-padding-xl)}.padding-top-none{padding-top:var(--px-padding-none)}.padding-right-2xs{padding-right:var(--px-padding-2xs)}.padding-right-xs{padding-right:var(--px-padding-xs)}.padding-right-s{padding-right:var(--px-padding-s)}.padding-right-m{padding-right:var(--px-padding-m)}.padding-right-l{padding-right:var(--px-padding-l)}.padding-right-xl{padding-right:var(--px-padding-xl)}.padding-right-none{padding-right:var(--px-padding-none)}.padding-bottom-2xs{padding-bottom:var(--px-padding-2xs)}.padding-bottom-xs{padding-bottom:var(--px-padding-xs)}.padding-bottom-s{padding-bottom:var(--px-padding-s)}.padding-bottom-m{padding-bottom:var(--px-padding-m)}.padding-bottom-l{padding-bottom:var(--px-padding-l)}.padding-bottom-xl{padding-bottom:var(--px-padding-xl)}.padding-bottom-none{padding-bottom:var(--px-padding-none)}.padding-left-2xs{padding-left:var(--px-padding-2xs)}.padding-left-xs{padding-left:var(--px-padding-xs)}.padding-left-s{padding-left:var(--px-padding-s)}.padding-left-m{padding-left:var(--px-padding-m)}.padding-left-l{padding-left:var(--px-padding-l)}.padding-left-xl{padding-left:var(--px-padding-xl)}.padding-left-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)}.border-radius-main{border-radius:var(--px-radius-main)}.border-radius-pill{border-radius:var(--px-radius-pill)}.no-border-radius-top{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.no-border-radius-right{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-bottom{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-left{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.no-border-radius-all,.border-radius-none{border-radius:var(--px-radius-none)}.bgimg{background-repeat:no-repeat}.background-size-cover{background-size:cover;background-position:center center}.background-size-contain{background-size:contain}.box-shadow-none{box-shadow:var(--px-shadow-none)}.box-shadow-s{box-shadow:var(--px-shadow-s)}.box-shadow-m{box-shadow:var(--px-shadow-m)}.box-shadow-l{box-shadow:var(--px-shadow-l)}.box-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){.container{background-color:var(--background-color--mobile, var(--background-color));background-image:var( --background-gradient--mobile, var(--background-gradient) )}.padding-l{padding:var(--px-padding-l-mobile)}.padding-xl{padding:var(--px-padding-xl-mobile)}.padding-top-l{padding-top:var(--px-padding-l-mobile)}.padding-top-xl{padding-top:var(--px-padding-xl-mobile)}.padding-right-l{padding-right:var(--px-padding-l-mobile)}.padding-right-xl{padding-right:var(--px-padding-xl-mobile)}.padding-bottom-l{padding-bottom:var(--px-padding-l-mobile)}.padding-bottom-xl{padding-bottom:var(--px-padding-xl-mobile)}.padding-left-l{padding-left:var(--px-padding-l-mobile)}.padding-left-xl{padding-left:var(--px-padding-xl-mobile)}.padding-2xs--mobile{padding:var(--px-padding-2xs)}.padding-xs--mobile{padding:var(--px-padding-xs)}.padding-s--mobile{padding:var(--px-padding-s)}.padding-m--mobile{padding:var(--px-padding-m)}.padding-l--mobile{padding:var(--px-padding-l-mobile)}.padding-xl--mobile{padding:var(--px-padding-xl-mobile)}.padding-none--mobile{padding:var(--px-padding-none)}.padding-block-2xs--mobile{padding-block:var(--px-padding-2xs)}.padding-block-xs--mobile{padding-block:var(--px-padding-xs)}.padding-block-s--mobile{padding-block:var(--px-padding-s)}.padding-block-m--mobile{padding-block:var(--px-padding-m)}.padding-block-l--mobile{padding-block:var(--px-padding-l-mobile)}.padding-block-xl--mobile{padding-block:var(--px-padding-xl-mobile)}.padding-block-none--mobile{padding-block:var(--px-padding-none)}.padding-inline-2xs--mobile{padding-inline:var(--px-padding-2xs)}.padding-inline-xs--mobile{padding-inline:var(--px-padding-xs)}.padding-inline-s--mobile{padding-inline:var(--px-padding-s)}.padding-inline-m--mobile{padding-inline:var(--px-padding-m)}.padding-inline-l--mobile{padding-inline:var(--px-padding-l-mobile)}.padding-inline-xl--mobile{padding-inline:var(--px-padding-xl-mobile)}.padding-inline-none--mobile{padding-inline:var(--px-padding-none)}.padding-top-2xs--mobile{padding-top:var(--px-padding-2xs)}.padding-top-xs--mobile{padding-top:var(--px-padding-xs)}.padding-top-s--mobile{padding-top:var(--px-padding-s)}.padding-top-m--mobile{padding-top:var(--px-padding-m)}.padding-top-l--mobile{padding-top:var(--px-padding-l-mobile)}.padding-top-xl--mobile{padding-top:var(--px-padding-xl-mobile)}.padding-top-none--mobile{padding-top:var(--px-padding-none)}.padding-right-2xs--mobile{padding-right:var(--px-padding-2xs)}.padding-right-xs--mobile{padding-right:var(--px-padding-xs)}.padding-right-s--mobile{padding-right:var(--px-padding-s)}.padding-right-m--mobile{padding-right:var(--px-padding-m)}.padding-right-l--mobile{padding-right:var(--px-padding-l-mobile)}.padding-right-xl--mobile{padding-right:var(--px-padding-xl-mobile)}.padding-right-none--mobile{padding-right:var(--px-padding-none)}.padding-bottom-2xs--mobile{padding-bottom:var(--px-padding-2xs)}.padding-bottom-xs--mobile{padding-bottom:var(--px-padding-xs)}.padding-bottom-s--mobile{padding-bottom:var(--px-padding-s)}.padding-bottom-m--mobile{padding-bottom:var(--px-padding-m)}.padding-bottom-l--mobile{padding-bottom:var(--px-padding-l-mobile)}.padding-bottom-xl--mobile{padding-bottom:var(--px-padding-xl-mobile)}.padding-bottom-none--mobile{padding-bottom:var(--px-padding-none)}.padding-left-2xs--mobile{padding-left:var(--px-padding-2xs)}.padding-left-xs--mobile{padding-left:var(--px-padding-xs)}.padding-left-s--mobile{padding-left:var(--px-padding-s)}.padding-left-m--mobile{padding-left:var(--px-padding-m)}.padding-left-l--mobile{padding-left:var(--px-padding-l-mobile)}.padding-left-xl--mobile{padding-left:var(--px-padding-xl-mobile)}.padding-left-none--mobile{padding-left:var(--px-padding-none)}.no-border-radius-top--mobile{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.no-border-radius-right--mobile{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-bottom--mobile{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-left--mobile{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.no-border-radius-all--mobile{border-radius:var(--px-radius-none)}}.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)}@media only screen and (min-width: 768px) and (max-width: 1024px){.container{background-color:var(--background-color--tablet, var(--background-color));background-image:var( --background-gradient--tablet, var(--background-gradient) )}.no-border-radius-top--tablet{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.no-border-radius-right--tablet{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-bottom--tablet{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-left--tablet{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.no-border-radius-all--tablet{border-radius:var(--px-radius-none)}.padding-2xs--tablet{padding:var(--px-padding-2xs)}.padding-xs--tablet{padding:var(--px-padding-xs)}.padding-s--tablet{padding:var(--px-padding-s)}.padding-m--tablet{padding:var(--px-padding-m)}.padding-l--tablet{padding:var(--px-padding-l)}.padding-xl--tablet{padding:var(--px-padding-xl)}.padding-none--tablet{padding:var(--px-padding-none)}.padding-block-2xs--tablet{padding-block:var(--px-padding-2xs)}.padding-block-xs--tablet{padding-block:var(--px-padding-xs)}.padding-block-s--tablet{padding-block:var(--px-padding-s)}.padding-block-m--tablet{padding-block:var(--px-padding-m)}.padding-block-l--tablet{padding-block:var(--px-padding-l)}.padding-block-xl--tablet{padding-block:var(--px-padding-xl)}.padding-block-none--tablet{padding-block:var(--px-padding-none)}.padding-inline-2xs--tablet{padding-inline:var(--px-padding-2xs)}.padding-inline-xs--tablet{padding-inline:var(--px-padding-xs)}.padding-inline-s--tablet{padding-inline:var(--px-padding-s)}.padding-inline-m--tablet{padding-inline:var(--px-padding-m)}.padding-inline-l--tablet{padding-inline:var(--px-padding-l)}.padding-inline-xl--tablet{padding-inline:var(--px-padding-xl)}.padding-inline-none--tablet{padding-inline:var(--px-padding-none)}.padding-top-2xs--tablet{padding-top:var(--px-padding-2xs)}.padding-top-xs--tablet{padding-top:var(--px-padding-xs)}.padding-top-s--tablet{padding-top:var(--px-padding-s)}.padding-top-m--tablet{padding-top:var(--px-padding-m)}.padding-top-l--tablet{padding-top:var(--px-padding-l)}.padding-top-xl--tablet{padding-top:var(--px-padding-xl)}.padding-top-none--tablet{padding-top:var(--px-padding-none)}.padding-right-2xs--tablet{padding-right:var(--px-padding-2xs)}.padding-right-xs--tablet{padding-right:var(--px-padding-xs)}.padding-right-s--tablet{padding-right:var(--px-padding-s)}.padding-right-m--tablet{padding-right:var(--px-padding-m)}.padding-right-l--tablet{padding-right:var(--px-padding-l)}.padding-right-xl--tablet{padding-right:var(--px-padding-xl)}.padding-right-none--tablet{padding-right:var(--px-padding-none)}.padding-bottom-2xs--tablet{padding-bottom:var(--px-padding-2xs)}.padding-bottom-xs--tablet{padding-bottom:var(--px-padding-xs)}.padding-bottom-s--tablet{padding-bottom:var(--px-padding-s)}.padding-bottom-m--tablet{padding-bottom:var(--px-padding-m)}.padding-bottom-l--tablet{padding-bottom:var(--px-padding-l)}.padding-bottom-xl--tablet{padding-bottom:var(--px-padding-xl)}.padding-bottom-none--tablet{padding-bottom:var(--px-padding-none)}.padding-left-2xs--tablet{padding-left:var(--px-padding-2xs)}.padding-left-xs--tablet{padding-left:var(--px-padding-xs)}.padding-left-s--tablet{padding-left:var(--px-padding-s)}.padding-left-m--tablet{padding-left:var(--px-padding-m)}.padding-left-l--tablet{padding-left:var(--px-padding-l)}.padding-left-xl--tablet{padding-left:var(--px-padding-xl)}.padding-left-none--tablet{padding-left:var(--px-padding-none)}}@media only screen and (min-width: 1025px){.container{background-color:var(--background-color--laptop, var(--background-color));background-image:var( --background-gradient--laptop, var(--background-gradient) )}.no-border-radius-top--laptop{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.no-border-radius-right--laptop{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-bottom--laptop{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-left--laptop{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.no-border-radius-all--laptop{border-radius:var(--px-radius-none)}.padding-2xs--laptop{padding:var(--px-padding-2xs)}.padding-xs--laptop{padding:var(--px-padding-xs)}.padding-s--laptop{padding:var(--px-padding-s)}.padding-m--laptop{padding:var(--px-padding-m)}.padding-l--laptop{padding:var(--px-padding-l)}.padding-xl--laptop{padding:var(--px-padding-xl)}.padding-none--laptop{padding:var(--px-padding-none)}.padding-block-2xs--laptop{padding-block:var(--px-padding-2xs)}.padding-block-xs--laptop{padding-block:var(--px-padding-xs)}.padding-block-s--laptop{padding-block:var(--px-padding-s)}.padding-block-m--laptop{padding-block:var(--px-padding-m)}.padding-block-l--laptop{padding-block:var(--px-padding-l)}.padding-block-xl--laptop{padding-block:var(--px-padding-xl)}.padding-block-none--laptop{padding-block:var(--px-padding-none)}.padding-inline-2xs--laptop{padding-inline:var(--px-padding-2xs)}.padding-inline-xs--laptop{padding-inline:var(--px-padding-xs)}.padding-inline-s--laptop{padding-inline:var(--px-padding-s)}.padding-inline-m--laptop{padding-inline:var(--px-padding-m)}.padding-inline-l--laptop{padding-inline:var(--px-padding-l)}.padding-inline-xl--laptop{padding-inline:var(--px-padding-xl)}.padding-inline-none--laptop{padding-inline:var(--px-padding-none)}.padding-top-2xs--laptop{padding-top:var(--px-padding-2xs)}.padding-top-xs--laptop{padding-top:var(--px-padding-xs)}.padding-top-s--laptop{padding-top:var(--px-padding-s)}.padding-top-m--laptop{padding-top:var(--px-padding-m)}.padding-top-l--laptop{padding-top:var(--px-padding-l)}.padding-top-xl--laptop{padding-top:var(--px-padding-xl)}.padding-top-none--laptop{padding-top:var(--px-padding-none)}.padding-right-2xs--laptop{padding-right:var(--px-padding-2xs)}.padding-right-xs--laptop{padding-right:var(--px-padding-xs)}.padding-right-s--laptop{padding-right:var(--px-padding-s)}.padding-right-m--laptop{padding-right:var(--px-padding-m)}.padding-right-l--laptop{padding-right:var(--px-padding-l)}.padding-right-xl--laptop{padding-right:var(--px-padding-xl)}.padding-right-none--laptop{padding-right:var(--px-padding-none)}.padding-bottom-2xs--laptop{padding-bottom:var(--px-padding-2xs)}.padding-bottom-xs--laptop{padding-bottom:var(--px-padding-xs)}.padding-bottom-s--laptop{padding-bottom:var(--px-padding-s)}.padding-bottom-m--laptop{padding-bottom:var(--px-padding-m)}.padding-bottom-l--laptop{padding-bottom:var(--px-padding-l)}.padding-bottom-xl--laptop{padding-bottom:var(--px-padding-xl)}.padding-bottom-none--laptop{padding-bottom:var(--px-padding-none)}.padding-left-2xs--laptop{padding-left:var(--px-padding-2xs)}.padding-left-xs--laptop{padding-left:var(--px-padding-xs)}.padding-left-s--laptop{padding-left:var(--px-padding-s)}.padding-left-m--laptop{padding-left:var(--px-padding-m)}.padding-left-l--laptop{padding-left:var(--px-padding-l)}.padding-left-xl--laptop{padding-left:var(--px-padding-xl)}.padding-left-none--laptop{padding-left:var(--px-padding-none)}}', u = new CSSStyleSheet();
|
|
4
|
+
u.replaceSync(w);
|
|
5
|
+
const I = ["anchor-right", "anchor-left", "anchor-full"], C = ["", "cover", "contain", "default"], p = class p extends g {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(u), this.template = () => `<div class="container">
|
|
8
|
+
<slot name="anchor-left"></slot>
|
|
9
|
+
<slot name="anchor-right"></slot>
|
|
10
|
+
<slot name="anchor-full"></slot>
|
|
11
|
+
<slot></slot>
|
|
12
|
+
</div>`, this.onWindowResize = () => {
|
|
13
|
+
this.hasAttribute("background-image") && this.loadImg("background-image", this.getAttribute("background-image")), this.hasAttribute("background-image--mobile") && this.loadImg(
|
|
14
|
+
"background-image--mobile",
|
|
15
|
+
this.getAttribute("background-image--mobile")
|
|
16
|
+
), this.hasAttribute("background-image--tablet") && this.loadImg(
|
|
17
|
+
"background-image--tablet",
|
|
18
|
+
this.getAttribute("background-image--tablet")
|
|
19
|
+
), this.hasAttribute("background-image--laptop") && this.loadImg(
|
|
20
|
+
"background-image--laptop",
|
|
21
|
+
this.getAttribute("background-image--laptop")
|
|
22
|
+
);
|
|
23
|
+
}, this.shadowRoot.innerHTML = this.template();
|
|
24
|
+
}
|
|
25
|
+
static get observedAttributes() {
|
|
26
|
+
return [
|
|
27
|
+
...super.observedAttributes,
|
|
28
|
+
"padding",
|
|
29
|
+
"padding-inline",
|
|
30
|
+
"padding-block",
|
|
31
|
+
"padding-top",
|
|
32
|
+
"padding-right",
|
|
33
|
+
"padding-bottom",
|
|
34
|
+
"padding-left",
|
|
35
|
+
"padding--mobile",
|
|
36
|
+
"padding-inline--mobile",
|
|
37
|
+
"padding-block--mobile",
|
|
38
|
+
"padding-top--mobile",
|
|
39
|
+
"padding-right--mobile",
|
|
40
|
+
"padding-bottom--mobile",
|
|
41
|
+
"padding-left--mobile",
|
|
42
|
+
"padding--tablet",
|
|
43
|
+
"padding-inline--tablet",
|
|
44
|
+
"padding-block--tablet",
|
|
45
|
+
"padding-top--tablet",
|
|
46
|
+
"padding-right--tablet",
|
|
47
|
+
"padding-bottom--tablet",
|
|
48
|
+
"padding-left--tablet",
|
|
49
|
+
"padding--laptop",
|
|
50
|
+
"padding-inline--laptop",
|
|
51
|
+
"padding-block--laptop",
|
|
52
|
+
"padding-top--laptop",
|
|
53
|
+
"padding-right--laptop",
|
|
54
|
+
"padding-bottom--laptop",
|
|
55
|
+
"padding-left--laptop",
|
|
56
|
+
"border",
|
|
57
|
+
"border-radius",
|
|
58
|
+
"no-border-radius",
|
|
59
|
+
"no-border-radius--mobile",
|
|
60
|
+
"no-border-radius--tablet",
|
|
61
|
+
"no-border-radius--laptop",
|
|
62
|
+
"background-color",
|
|
63
|
+
"background-color--mobile",
|
|
64
|
+
"background-color--tablet",
|
|
65
|
+
"background-color--laptop",
|
|
66
|
+
"background-gradient",
|
|
67
|
+
"background-gradient--mobile",
|
|
68
|
+
"background-gradient--tablet",
|
|
69
|
+
"background-gradient--laptop",
|
|
70
|
+
"background-image",
|
|
71
|
+
"background-image--mobile",
|
|
72
|
+
"background-image--tablet",
|
|
73
|
+
"background-image--laptop",
|
|
74
|
+
"background-size",
|
|
75
|
+
"background-position",
|
|
76
|
+
"box-shadow",
|
|
77
|
+
"inverted"
|
|
78
|
+
];
|
|
79
|
+
}
|
|
80
|
+
get padding() {
|
|
81
|
+
return this.getAttribute("padding");
|
|
82
|
+
}
|
|
83
|
+
set padding(t) {
|
|
84
|
+
this.setAttribute("padding", t);
|
|
85
|
+
}
|
|
86
|
+
get paddingBlock() {
|
|
87
|
+
return this.getAttribute("padding-block");
|
|
88
|
+
}
|
|
89
|
+
set paddingBlock(t) {
|
|
90
|
+
this.setAttribute("padding-block", t);
|
|
91
|
+
}
|
|
92
|
+
get paddingInline() {
|
|
93
|
+
return this.getAttribute("padding-inline");
|
|
94
|
+
}
|
|
95
|
+
set paddingInline(t) {
|
|
96
|
+
this.setAttribute("padding-inline", t);
|
|
97
|
+
}
|
|
98
|
+
get paddingTop() {
|
|
99
|
+
return this.getAttribute("padding-top");
|
|
100
|
+
}
|
|
101
|
+
set paddingTop(t) {
|
|
102
|
+
this.setAttribute("padding-top", t);
|
|
103
|
+
}
|
|
104
|
+
get paddingRight() {
|
|
105
|
+
return this.getAttribute("padding-right");
|
|
106
|
+
}
|
|
107
|
+
set paddingRight(t) {
|
|
108
|
+
this.setAttribute("padding-right", t);
|
|
109
|
+
}
|
|
110
|
+
get paddingBottom() {
|
|
111
|
+
return this.getAttribute("padding-bottom");
|
|
112
|
+
}
|
|
113
|
+
set paddingBottom(t) {
|
|
114
|
+
this.setAttribute("padding-bottom", t);
|
|
115
|
+
}
|
|
116
|
+
get paddingLeft() {
|
|
117
|
+
return this.getAttribute("padding-left");
|
|
118
|
+
}
|
|
119
|
+
set paddingLeft(t) {
|
|
120
|
+
this.setAttribute("padding-left", t);
|
|
121
|
+
}
|
|
122
|
+
get paddingMobile() {
|
|
123
|
+
return this.getAttribute("padding--mobile");
|
|
124
|
+
}
|
|
125
|
+
set paddingMobile(t) {
|
|
126
|
+
this.setAttribute("padding--mobile", t);
|
|
127
|
+
}
|
|
128
|
+
get paddingBlockMobile() {
|
|
129
|
+
return this.getAttribute("padding-block--mobile");
|
|
130
|
+
}
|
|
131
|
+
set paddingBlockMobile(t) {
|
|
132
|
+
this.setAttribute("padding-block--mobile", t);
|
|
133
|
+
}
|
|
134
|
+
get paddingInlineMobile() {
|
|
135
|
+
return this.getAttribute("padding-inline--mobile");
|
|
136
|
+
}
|
|
137
|
+
set paddingInlineMobile(t) {
|
|
138
|
+
this.setAttribute("padding-inline--mobile", t);
|
|
139
|
+
}
|
|
140
|
+
get paddingTopMobile() {
|
|
141
|
+
return this.getAttribute("padding-top--mobile");
|
|
142
|
+
}
|
|
143
|
+
set paddingTopMobile(t) {
|
|
144
|
+
this.setAttribute("padding-top--mobile", t);
|
|
145
|
+
}
|
|
146
|
+
get paddingRightMobile() {
|
|
147
|
+
return this.getAttribute("padding-right--mobile");
|
|
148
|
+
}
|
|
149
|
+
set paddingRightMobile(t) {
|
|
150
|
+
this.setAttribute("padding-right--mobile", t);
|
|
151
|
+
}
|
|
152
|
+
get paddingBottomMobile() {
|
|
153
|
+
return this.getAttribute("padding-bottom--mobile");
|
|
154
|
+
}
|
|
155
|
+
set paddingBottomMobile(t) {
|
|
156
|
+
this.setAttribute("padding-bottom--mobile", t);
|
|
157
|
+
}
|
|
158
|
+
get paddingLeftMobile() {
|
|
159
|
+
return this.getAttribute("padding-left--mobile");
|
|
160
|
+
}
|
|
161
|
+
set paddingLeftMobile(t) {
|
|
162
|
+
this.setAttribute("padding-left--mobile", t);
|
|
163
|
+
}
|
|
164
|
+
get paddingTablet() {
|
|
165
|
+
return this.getAttribute("padding--tablet");
|
|
166
|
+
}
|
|
167
|
+
set paddingTablet(t) {
|
|
168
|
+
this.setAttribute("padding--tablet", t);
|
|
169
|
+
}
|
|
170
|
+
get paddingBlockTablet() {
|
|
171
|
+
return this.getAttribute("padding-block--tablet");
|
|
172
|
+
}
|
|
173
|
+
set paddingBlockTablet(t) {
|
|
174
|
+
this.setAttribute("padding-block--tablet", t);
|
|
175
|
+
}
|
|
176
|
+
get paddingInlineTablet() {
|
|
177
|
+
return this.getAttribute("padding-inline--tablet");
|
|
178
|
+
}
|
|
179
|
+
set paddingInlineTablet(t) {
|
|
180
|
+
this.setAttribute("padding-inline--tablet", t);
|
|
181
|
+
}
|
|
182
|
+
get paddingTopTablet() {
|
|
183
|
+
return this.getAttribute("padding-top--tablet");
|
|
184
|
+
}
|
|
185
|
+
set paddingTopTablet(t) {
|
|
186
|
+
this.setAttribute("padding-top--tablet", t);
|
|
187
|
+
}
|
|
188
|
+
get paddingRightTablet() {
|
|
189
|
+
return this.getAttribute("padding-right--tablet");
|
|
190
|
+
}
|
|
191
|
+
set paddingRightTablet(t) {
|
|
192
|
+
this.setAttribute("padding-right--tablet", t);
|
|
193
|
+
}
|
|
194
|
+
get paddingBottomTablet() {
|
|
195
|
+
return this.getAttribute("padding-bottom--tablet");
|
|
196
|
+
}
|
|
197
|
+
set paddingBottomTablet(t) {
|
|
198
|
+
this.setAttribute("padding-bottom--tablet", t);
|
|
199
|
+
}
|
|
200
|
+
get paddingLeftTablet() {
|
|
201
|
+
return this.getAttribute("padding-left--tablet");
|
|
202
|
+
}
|
|
203
|
+
set paddingLeftTablet(t) {
|
|
204
|
+
this.setAttribute("padding-left--tablet", t);
|
|
205
|
+
}
|
|
206
|
+
get paddingLaptop() {
|
|
207
|
+
return this.getAttribute("padding--laptop");
|
|
208
|
+
}
|
|
209
|
+
set paddingLaptop(t) {
|
|
210
|
+
this.setAttribute("padding--laptop", t);
|
|
211
|
+
}
|
|
212
|
+
get paddingBlockLaptop() {
|
|
213
|
+
return this.getAttribute("padding-block--laptop");
|
|
214
|
+
}
|
|
215
|
+
set paddingBlockLaptop(t) {
|
|
216
|
+
this.setAttribute("padding-block--laptop", t);
|
|
217
|
+
}
|
|
218
|
+
get paddingInlineLaptop() {
|
|
219
|
+
return this.getAttribute("padding-inline--laptop");
|
|
220
|
+
}
|
|
221
|
+
set paddingInlineLaptop(t) {
|
|
222
|
+
this.setAttribute("padding-inline--laptop", t);
|
|
223
|
+
}
|
|
224
|
+
get paddingTopLaptop() {
|
|
225
|
+
return this.getAttribute("padding-top--laptop");
|
|
226
|
+
}
|
|
227
|
+
set paddingTopLaptop(t) {
|
|
228
|
+
this.setAttribute("padding-top--laptop", t);
|
|
229
|
+
}
|
|
230
|
+
get paddingRightLaptop() {
|
|
231
|
+
return this.getAttribute("padding-right--laptop");
|
|
232
|
+
}
|
|
233
|
+
set paddingRightLaptop(t) {
|
|
234
|
+
this.setAttribute("padding-right--laptop", t);
|
|
235
|
+
}
|
|
236
|
+
get paddingBottomLaptop() {
|
|
237
|
+
return this.getAttribute("padding-bottom--laptop");
|
|
238
|
+
}
|
|
239
|
+
set paddingBottomLaptop(t) {
|
|
240
|
+
this.setAttribute("padding-bottom--laptop", t);
|
|
241
|
+
}
|
|
242
|
+
get paddingLeftLaptop() {
|
|
243
|
+
return this.getAttribute("padding-left--laptop");
|
|
244
|
+
}
|
|
245
|
+
set paddingLeftLaptop(t) {
|
|
246
|
+
this.setAttribute("padding-left--laptop", t);
|
|
247
|
+
}
|
|
248
|
+
get border() {
|
|
249
|
+
return this.getAttribute("border");
|
|
250
|
+
}
|
|
251
|
+
set border(t) {
|
|
252
|
+
this.setAttribute("border", t);
|
|
253
|
+
}
|
|
254
|
+
get borderRadius() {
|
|
255
|
+
return this.getAttribute("border-radius");
|
|
256
|
+
}
|
|
257
|
+
set borderRadius(t) {
|
|
258
|
+
this.setAttribute("border-radius", t);
|
|
259
|
+
}
|
|
260
|
+
get noBorderRadius() {
|
|
261
|
+
return this.getAttribute("no-border-radius");
|
|
262
|
+
}
|
|
263
|
+
set noBorderRadius(t) {
|
|
264
|
+
this.setAttribute("no-border-radius", t);
|
|
265
|
+
}
|
|
266
|
+
get noBorderRadiusMobile() {
|
|
267
|
+
return this.getAttribute("no-border-radius--mobile");
|
|
268
|
+
}
|
|
269
|
+
set noBorderRadiusMobile(t) {
|
|
270
|
+
this.setAttribute("no-border-radius--mobile", t);
|
|
271
|
+
}
|
|
272
|
+
get noBorderRadiusTablet() {
|
|
273
|
+
return this.getAttribute("no-border-radius--tablet");
|
|
274
|
+
}
|
|
275
|
+
set noBorderRadiusTablet(t) {
|
|
276
|
+
this.setAttribute("no-border-radius--tablet", t);
|
|
277
|
+
}
|
|
278
|
+
get noBorderRadiusLaptop() {
|
|
279
|
+
return this.getAttribute("no-border-radius--laptop");
|
|
280
|
+
}
|
|
281
|
+
set noBorderRadiusLaptop(t) {
|
|
282
|
+
this.setAttribute("no-border-radius--laptop", t);
|
|
283
|
+
}
|
|
284
|
+
get bgColor() {
|
|
285
|
+
return this.getAttribute("background-color");
|
|
286
|
+
}
|
|
287
|
+
set bgColor(t) {
|
|
288
|
+
this.setAttribute("background-color", t);
|
|
289
|
+
}
|
|
290
|
+
get bgColorMobile() {
|
|
291
|
+
return this.getAttribute("background-color--mobile");
|
|
292
|
+
}
|
|
293
|
+
set bgColorMobile(t) {
|
|
294
|
+
this.setAttribute("background-color--mobile", t);
|
|
295
|
+
}
|
|
296
|
+
get bgColorTablet() {
|
|
297
|
+
return this.getAttribute("background-color--tablet");
|
|
298
|
+
}
|
|
299
|
+
set bgColorTablet(t) {
|
|
300
|
+
this.setAttribute("background-color--tablet", t);
|
|
301
|
+
}
|
|
302
|
+
get bgColorLaptop() {
|
|
303
|
+
return this.getAttribute("background-color--laptop");
|
|
304
|
+
}
|
|
305
|
+
set bgColorLaptop(t) {
|
|
306
|
+
this.setAttribute("background-color--laptop", t);
|
|
307
|
+
}
|
|
308
|
+
get gradient() {
|
|
309
|
+
return this.getAttribute("background-gradient");
|
|
310
|
+
}
|
|
311
|
+
set gradient(t) {
|
|
312
|
+
this.setAttribute("background-gradient", t);
|
|
313
|
+
}
|
|
314
|
+
get gradientMobile() {
|
|
315
|
+
return this.getAttribute("background-gradient--mobile");
|
|
316
|
+
}
|
|
317
|
+
set gradientMobile(t) {
|
|
318
|
+
this.setAttribute("background-gradient--mobile", t);
|
|
319
|
+
}
|
|
320
|
+
get gradientTablet() {
|
|
321
|
+
return this.getAttribute("background-gradient--tablet");
|
|
322
|
+
}
|
|
323
|
+
set gradientTablet(t) {
|
|
324
|
+
this.setAttribute("background-gradient--tablet", t);
|
|
325
|
+
}
|
|
326
|
+
get gradientLaptop() {
|
|
327
|
+
return this.getAttribute("background-gradient--laptop");
|
|
328
|
+
}
|
|
329
|
+
set gradientLaptop(t) {
|
|
330
|
+
this.setAttribute("background-gradient--laptop", t);
|
|
331
|
+
}
|
|
332
|
+
get bgImg() {
|
|
333
|
+
return this.getAttribute("background-image");
|
|
334
|
+
}
|
|
335
|
+
set bgImg(t) {
|
|
336
|
+
this.setAttribute("background-image", t);
|
|
337
|
+
}
|
|
338
|
+
get bgImgMobile() {
|
|
339
|
+
return this.getAttribute("background-image--mobile");
|
|
340
|
+
}
|
|
341
|
+
set bgImgMobile(t) {
|
|
342
|
+
this.setAttribute("background-image--mobile", t);
|
|
343
|
+
}
|
|
344
|
+
get bgImgTablet() {
|
|
345
|
+
return this.getAttribute("background-image--tablet");
|
|
346
|
+
}
|
|
347
|
+
set bgImgTablet(t) {
|
|
348
|
+
this.setAttribute("background-image--tablet", t);
|
|
349
|
+
}
|
|
350
|
+
get bgImgLaptop() {
|
|
351
|
+
return this.getAttribute("background-image--laptop");
|
|
352
|
+
}
|
|
353
|
+
set bgImgLaptop(t) {
|
|
354
|
+
this.setAttribute("background-image--laptop", t);
|
|
355
|
+
}
|
|
356
|
+
get bgImgSize() {
|
|
357
|
+
return this.getAttribute("background-size");
|
|
358
|
+
}
|
|
359
|
+
set bgImgSize(t) {
|
|
360
|
+
this.setAttribute("background-size", t);
|
|
361
|
+
}
|
|
362
|
+
get bgImgPosition() {
|
|
363
|
+
return this.getAttribute("background-position");
|
|
364
|
+
}
|
|
365
|
+
set bgImgPosition(t) {
|
|
366
|
+
this.setAttribute("background-position", t);
|
|
367
|
+
}
|
|
368
|
+
get shadow() {
|
|
369
|
+
return this.getAttribute("box-shadow");
|
|
370
|
+
}
|
|
371
|
+
set shadow(t) {
|
|
372
|
+
this.setAttribute("box-shadow", t);
|
|
373
|
+
}
|
|
374
|
+
get inverted() {
|
|
375
|
+
return this.getAttribute("inverted");
|
|
376
|
+
}
|
|
377
|
+
set inverted(t) {
|
|
378
|
+
this.setAttribute("inverted", t);
|
|
379
|
+
}
|
|
380
|
+
connectedCallback() {
|
|
381
|
+
var a, i, e, d;
|
|
382
|
+
super.connectedCallback(), this.style.setProperty(
|
|
383
|
+
"--background-color",
|
|
384
|
+
"var(--px-color-bg-container-rich-inverted)"
|
|
385
|
+
);
|
|
386
|
+
const t = this.querySelector("[slot]");
|
|
387
|
+
t && I.includes(t.getAttribute("slot")) && this.shadowRoot.querySelector(".container").classList.toggle("anchored"), ((a = this.parentElement) == null ? void 0 : a.getAttribute("align-items")) === "stretch" && (((i = this.parentElement) == null ? void 0 : i.getAttribute("direction")) === "column" ? this.$el.style.width = "100%" : this.$el.style.height = "100%"), (((e = this.parentElement) == null ? void 0 : e.localName) === "px-grid-item" || ((d = this.parentElement) == null ? void 0 : d.localName) === "px-a") && (this.$el.style.height = "100%"), (this.hasAttribute("background-image") || this.hasAttribute("background-image--mobile") || this.hasAttribute("background-image--tablet") || this.hasAttribute("background-image--laptop")) && window.addEventListener("resize", this.onWindowResize);
|
|
388
|
+
}
|
|
389
|
+
disconnectedCallback() {
|
|
390
|
+
window.removeEventListener("resize", this.onWindowResize);
|
|
391
|
+
}
|
|
392
|
+
attributeChangedCallback(t, a, i) {
|
|
393
|
+
if (a !== i)
|
|
394
|
+
switch (t) {
|
|
395
|
+
case "padding":
|
|
396
|
+
case "padding-block":
|
|
397
|
+
case "padding-inline":
|
|
398
|
+
case "padding-top":
|
|
399
|
+
case "padding-right":
|
|
400
|
+
case "padding-bottom":
|
|
401
|
+
case "padding-left":
|
|
402
|
+
case "padding--mobile":
|
|
403
|
+
case "padding-block--mobile":
|
|
404
|
+
case "padding-inline--mobile":
|
|
405
|
+
case "padding-top--mobile":
|
|
406
|
+
case "padding-right--mobile":
|
|
407
|
+
case "padding-bottom--mobile":
|
|
408
|
+
case "padding-left--mobile":
|
|
409
|
+
case "padding--tablet":
|
|
410
|
+
case "padding-block--tablet":
|
|
411
|
+
case "padding-inline--tablet":
|
|
412
|
+
case "padding-top--tablet":
|
|
413
|
+
case "padding-right--tablet":
|
|
414
|
+
case "padding-bottom--tablet":
|
|
415
|
+
case "padding-left--tablet":
|
|
416
|
+
case "padding--laptop":
|
|
417
|
+
case "padding-block--laptop":
|
|
418
|
+
case "padding-inline--laptop":
|
|
419
|
+
case "padding-top--laptop":
|
|
420
|
+
case "padding-right--laptop":
|
|
421
|
+
case "padding-bottom--laptop":
|
|
422
|
+
case "padding-left--laptop":
|
|
423
|
+
this.updateAttribute(t, a, i, z);
|
|
424
|
+
break;
|
|
425
|
+
case "border":
|
|
426
|
+
this.updateAttribute(t, a, i, S);
|
|
427
|
+
break;
|
|
428
|
+
case "border-radius":
|
|
429
|
+
this.updateAttribute(
|
|
430
|
+
t,
|
|
431
|
+
a,
|
|
432
|
+
i,
|
|
433
|
+
$
|
|
434
|
+
);
|
|
435
|
+
break;
|
|
436
|
+
case "no-border-radius":
|
|
437
|
+
case "no-border-radius--mobile":
|
|
438
|
+
case "no-border-radius--tablet":
|
|
439
|
+
case "no-border-radius--laptop":
|
|
440
|
+
this.updateNoBorderRadius(
|
|
441
|
+
t,
|
|
442
|
+
a,
|
|
443
|
+
i,
|
|
444
|
+
A
|
|
445
|
+
);
|
|
446
|
+
break;
|
|
447
|
+
case "background-color":
|
|
448
|
+
case "background-color--mobile":
|
|
449
|
+
case "background-color--tablet":
|
|
450
|
+
case "background-color--laptop":
|
|
451
|
+
this.updateBgColor(t, i);
|
|
452
|
+
break;
|
|
453
|
+
case "background-gradient":
|
|
454
|
+
case "background-gradient--mobile":
|
|
455
|
+
case "background-gradient--tablet":
|
|
456
|
+
case "background-gradient--laptop":
|
|
457
|
+
this.updateGradient(t, i);
|
|
458
|
+
break;
|
|
459
|
+
case "background-size":
|
|
460
|
+
this.updateAttribute(t, a, i, C);
|
|
461
|
+
break;
|
|
462
|
+
case "background-image":
|
|
463
|
+
case "background-image--mobile":
|
|
464
|
+
case "background-image--tablet":
|
|
465
|
+
case "background-image--laptop":
|
|
466
|
+
i !== "" && (this.$el.classList.toggle("bgimg"), this.loadImg(t, i));
|
|
467
|
+
break;
|
|
468
|
+
case "background-position":
|
|
469
|
+
i !== null && i !== "" && (this.$el.style.backgroundPosition = i);
|
|
470
|
+
break;
|
|
471
|
+
case "box-shadow":
|
|
472
|
+
this.updateAttribute(t, a, i, y);
|
|
473
|
+
break;
|
|
474
|
+
default:
|
|
475
|
+
super.attributeChangedCallback(t, a, i);
|
|
476
|
+
break;
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
loadImg(t, a) {
|
|
480
|
+
t === "background-image" ? this.$el.style.backgroundImage = `url("${a}")` : window.matchMedia("only screen and (max-width: 767px)").matches && t === "background-image--mobile" ? this.$el.style.backgroundImage = `url("${a}")` : window.matchMedia(
|
|
481
|
+
"only screen and (min-width: 768px) and (max-width: 1024px)"
|
|
482
|
+
).matches && t === "background-image--tablet" ? this.$el.style.backgroundImage = `url("${a}")` : window.matchMedia("only screen and (min-width: 1025px)").matches && t === "background-image--laptop" && (this.$el.style.backgroundImage = `url("${a}")`);
|
|
483
|
+
}
|
|
484
|
+
updateGradient(t, a) {
|
|
485
|
+
if (this.checkName(L, a)) {
|
|
486
|
+
const i = this.splitAttrNameFromBreakpoint(t);
|
|
487
|
+
t = i.attrName;
|
|
488
|
+
const e = i.breakpoint;
|
|
489
|
+
this.$el.style.setProperty(
|
|
490
|
+
`--${t}${e}`,
|
|
491
|
+
`linear-gradient(var(--px-color-bg-gradient-${a}))`
|
|
492
|
+
);
|
|
493
|
+
} else
|
|
494
|
+
console.error(
|
|
495
|
+
`${a} is not an allowed background-gradient value for ${this.$el}`
|
|
496
|
+
);
|
|
497
|
+
}
|
|
498
|
+
updateBgColor(t, a) {
|
|
499
|
+
if (this.checkName(b, a)) {
|
|
500
|
+
const i = this.splitAttrNameFromBreakpoint(t);
|
|
501
|
+
t = i.attrName;
|
|
502
|
+
const e = i.breakpoint, d = this.getAttribute("inverted") !== null ? "inverted" : "default";
|
|
503
|
+
this.$el.style.setProperty(
|
|
504
|
+
`--${t}${e}`,
|
|
505
|
+
`var(--px-color-bg-${a}-${d})`
|
|
506
|
+
);
|
|
507
|
+
} else
|
|
508
|
+
console.error(
|
|
509
|
+
`${a} is not an allowed ${t} value for ${this.$el}`
|
|
510
|
+
);
|
|
511
|
+
}
|
|
512
|
+
updateNoBorderRadius(t, a, i, e) {
|
|
513
|
+
if (!this.checkName(e, i))
|
|
514
|
+
console.error(
|
|
515
|
+
`${i} is not an allowed ${t} value for ${this.$el}`
|
|
516
|
+
);
|
|
517
|
+
else {
|
|
518
|
+
const d = this.splitAttrNameFromBreakpoint(t);
|
|
519
|
+
t = d.attrName;
|
|
520
|
+
const o = d.breakpoint;
|
|
521
|
+
a !== null && a !== "" && this.$el.classList.toggle(`${t}-${a}${o}`), i !== null && i !== "" && this.$el.classList.toggle(`${t}-${i}${o}`);
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
updateAttribute(t, a, i, e) {
|
|
525
|
+
if (!this.checkName(e, i))
|
|
526
|
+
console.error(
|
|
527
|
+
`${i} is not an allowed ${t} value for ${this.$el}`
|
|
528
|
+
);
|
|
529
|
+
else {
|
|
530
|
+
const d = this.splitAttrNameFromBreakpoint(t);
|
|
531
|
+
t = d.attrName;
|
|
532
|
+
const o = d.breakpoint;
|
|
533
|
+
a !== null && a !== "" && this.$el.classList.toggle(`${t}-${a}${o}`), i !== null && i !== "" && this.$el.classList.toggle(`${t}-${i}${o}`);
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
splitAttrNameFromBreakpoint(t) {
|
|
537
|
+
let a = "";
|
|
538
|
+
if (["--mobile", "--tablet", "--laptop"].some(
|
|
539
|
+
(i) => t.includes(i)
|
|
540
|
+
)) {
|
|
541
|
+
const i = t.split("--");
|
|
542
|
+
t = i[0], a = `--${i[1]}`;
|
|
543
|
+
}
|
|
544
|
+
return { attrName: t, breakpoint: a };
|
|
545
|
+
}
|
|
546
|
+
checkName(t, a) {
|
|
547
|
+
return t.includes(a);
|
|
548
|
+
}
|
|
549
|
+
};
|
|
550
|
+
p.nativeName = "div";
|
|
551
|
+
let r = p;
|
|
552
|
+
customElements.define("px-container", r);
|
|
553
|
+
const T = ".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)}}", R = '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)}}', B = ".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)}", h = new CSSStyleSheet(), x = new CSSStyleSheet(), v = new CSSStyleSheet();
|
|
554
|
+
h.replaceSync(T);
|
|
555
|
+
x.replaceSync(R);
|
|
556
|
+
v.replaceSync(B);
|
|
557
|
+
const M = [
|
|
558
|
+
"",
|
|
559
|
+
"default",
|
|
560
|
+
"secondary",
|
|
561
|
+
"tertiary",
|
|
562
|
+
"link",
|
|
563
|
+
"patch",
|
|
564
|
+
"patch-info",
|
|
565
|
+
"patch-black-friday",
|
|
566
|
+
"patch-eco"
|
|
567
|
+
], l = class l extends g {
|
|
568
|
+
constructor() {
|
|
569
|
+
super(h, x, v), this.template = () => '<slot name="before"></slot><slot></slot><slot name="after"></slot>';
|
|
570
|
+
const t = document.createElement(this.nativeName);
|
|
571
|
+
t.classList.add("btn"), t.innerHTML = this.template(), this.shadowRoot.appendChild(t);
|
|
572
|
+
}
|
|
573
|
+
static get observedAttributes() {
|
|
574
|
+
return [
|
|
575
|
+
...super.observedAttributes,
|
|
576
|
+
"variant",
|
|
577
|
+
"state",
|
|
578
|
+
"extended",
|
|
579
|
+
"loading",
|
|
580
|
+
"shape",
|
|
581
|
+
"inverted"
|
|
582
|
+
];
|
|
583
|
+
}
|
|
584
|
+
connectedCallback() {
|
|
585
|
+
super.connectedCallback();
|
|
586
|
+
const t = this.querySelectorAll("px-icon");
|
|
587
|
+
t && t.forEach((a) => {
|
|
588
|
+
const i = a.getAttribute("size"), e = a.getAttribute("color");
|
|
589
|
+
a && (a.addEventListener("click", () => {
|
|
590
|
+
this.$el.focus();
|
|
591
|
+
}), i || a.setAttribute("size", "xs"), e || a.setAttribute("color", "inherit"));
|
|
592
|
+
});
|
|
593
|
+
}
|
|
594
|
+
attributeChangedCallback(t, a, i) {
|
|
595
|
+
if (a !== i)
|
|
596
|
+
switch (t) {
|
|
597
|
+
case "variant":
|
|
598
|
+
this.updateVariant(a, i, M);
|
|
599
|
+
break;
|
|
600
|
+
case "state":
|
|
601
|
+
this.updateState(a, i);
|
|
602
|
+
break;
|
|
603
|
+
case "extended":
|
|
604
|
+
this.updateExtended();
|
|
605
|
+
break;
|
|
606
|
+
case "loading":
|
|
607
|
+
this.updateLoading();
|
|
608
|
+
break;
|
|
609
|
+
case "shape":
|
|
610
|
+
this.updateShape(a, i);
|
|
611
|
+
break;
|
|
612
|
+
default:
|
|
613
|
+
super.attributeChangedCallback(t, a, i);
|
|
614
|
+
break;
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
checkName(t, a) {
|
|
618
|
+
return !!t.includes(a);
|
|
619
|
+
}
|
|
620
|
+
checkClass(t) {
|
|
621
|
+
if (t.startsWith("patch-")) {
|
|
622
|
+
const a = t.split(/-(.*)/s);
|
|
623
|
+
for (const i of a)
|
|
624
|
+
i != "" && this.$el.classList.toggle(i);
|
|
625
|
+
} else
|
|
626
|
+
this.$el.classList.toggle(t);
|
|
627
|
+
}
|
|
628
|
+
_toggleClass(t, a) {
|
|
629
|
+
t !== null && t !== "" && t !== "default" && this.checkClass(t), a !== null && a !== "" && a !== "default" && this.checkClass(a);
|
|
630
|
+
}
|
|
631
|
+
updateVariant(t, a, i) {
|
|
632
|
+
a === "link" ? this.$el.classList.remove("btn") : this.$el.classList.add("btn"), this._toggleClass(t, a), this.checkName(i, a) || console.error(`Bad "variant" value for ${this.$el}`);
|
|
633
|
+
}
|
|
634
|
+
updateState(t, a) {
|
|
635
|
+
const i = ["", "default", "success", "error"];
|
|
636
|
+
this._toggleClass(t, a), this.checkName(i, a) || console.error(`Bad "sate" value for ${this.$el}`);
|
|
637
|
+
}
|
|
638
|
+
updateExtended() {
|
|
639
|
+
this.$el.classList.toggle("extended");
|
|
640
|
+
}
|
|
641
|
+
updateLoading() {
|
|
642
|
+
const t = this.querySelector("px-spinner");
|
|
643
|
+
t && (t.getAttribute("size") || t.setAttribute("size", "xs")), this.$el.classList.toggle("loading");
|
|
644
|
+
}
|
|
645
|
+
updateShape(t, a) {
|
|
646
|
+
const i = [
|
|
647
|
+
"",
|
|
648
|
+
"default",
|
|
649
|
+
"bottom-right",
|
|
650
|
+
"bottom-left",
|
|
651
|
+
"alternative"
|
|
652
|
+
];
|
|
653
|
+
this._toggleClass(t, a), this.checkName(i, a) || console.error(`Bad "shape" value for ${this.$el}`);
|
|
654
|
+
}
|
|
655
|
+
get variant() {
|
|
656
|
+
return this.getAttribute("variant");
|
|
657
|
+
}
|
|
658
|
+
set variant(t) {
|
|
659
|
+
this.setAttribute("variant", t);
|
|
660
|
+
}
|
|
661
|
+
get state() {
|
|
662
|
+
return this.getAttribute("state");
|
|
663
|
+
}
|
|
664
|
+
set state(t) {
|
|
665
|
+
this.setAttribute("state", t);
|
|
666
|
+
}
|
|
667
|
+
get extended() {
|
|
668
|
+
return this.getAttribute("extended");
|
|
669
|
+
}
|
|
670
|
+
set extended(t) {
|
|
671
|
+
this.setAttribute("extended", t);
|
|
672
|
+
}
|
|
673
|
+
get loading() {
|
|
674
|
+
return this.getAttribute("loading");
|
|
675
|
+
}
|
|
676
|
+
set loading(t) {
|
|
677
|
+
this.setAttribute("loading", t);
|
|
678
|
+
}
|
|
679
|
+
get shape() {
|
|
680
|
+
return this.getAttribute("shape");
|
|
681
|
+
}
|
|
682
|
+
set shape(t) {
|
|
683
|
+
this.setAttribute("shape", t);
|
|
684
|
+
}
|
|
685
|
+
get inverted() {
|
|
686
|
+
return this.getAttribute("inverted");
|
|
687
|
+
}
|
|
688
|
+
set inverted(t) {
|
|
689
|
+
this.setAttribute("inverted", t);
|
|
690
|
+
}
|
|
691
|
+
};
|
|
692
|
+
l.nativeName = "button";
|
|
693
|
+
let n = l;
|
|
694
|
+
customElements.get("px-button") || customElements.define("px-button", n);
|
|
695
|
+
const E = ":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}}", m = new CSSStyleSheet();
|
|
696
|
+
m.replaceSync(E);
|
|
697
|
+
class P extends HTMLElement {
|
|
698
|
+
constructor() {
|
|
699
|
+
super(), this.template = () => `
|
|
700
|
+
<px-container border-radius="none" padding="none" background-color="${this.bgColor}">
|
|
701
|
+
<div class="content-wrapper">
|
|
702
|
+
<px-vstack gap="under-display-vertical">
|
|
703
|
+
<slot name="heading"></slot>
|
|
704
|
+
<px-vstack gap="none">
|
|
705
|
+
<slot></slot>
|
|
706
|
+
</px-vstack>
|
|
707
|
+
</px-vstack>
|
|
708
|
+
</div>
|
|
709
|
+
</px-container>
|
|
710
|
+
`, this.attachShadow({ mode: "open" }), this.shadowRoot.innerHTML = this.template(), this.shadowRoot.adoptedStyleSheets = [m];
|
|
711
|
+
}
|
|
712
|
+
connectedCallback() {
|
|
713
|
+
this.querySelector('[slot="heading"]') || this.shadowRoot.querySelector("px-vstack").setAttribute("gap", "none");
|
|
714
|
+
}
|
|
715
|
+
static get observedAttributes() {
|
|
716
|
+
return [
|
|
717
|
+
"background-color",
|
|
718
|
+
"background-gradient",
|
|
719
|
+
"background-image",
|
|
720
|
+
"background-image--mobile",
|
|
721
|
+
"background-image--tablet",
|
|
722
|
+
"background-image--laptop",
|
|
723
|
+
"background-size",
|
|
724
|
+
"background-position",
|
|
725
|
+
"padding-block",
|
|
726
|
+
"padding-top",
|
|
727
|
+
"padding-bottom"
|
|
728
|
+
];
|
|
729
|
+
}
|
|
730
|
+
get $container() {
|
|
731
|
+
return this.shadowRoot.querySelector("px-container");
|
|
732
|
+
}
|
|
733
|
+
attributeChangedCallback(t, a, i) {
|
|
734
|
+
if (a !== i)
|
|
735
|
+
switch (t) {
|
|
736
|
+
case "background-color":
|
|
737
|
+
this.$container.bgColor = b.indexOf(i) > 0 ? i : "container-none";
|
|
738
|
+
break;
|
|
739
|
+
case "background-gradient":
|
|
740
|
+
this.$container.gradient = this.gradient;
|
|
741
|
+
break;
|
|
742
|
+
case "background-image":
|
|
743
|
+
this.$container.bgImg = i;
|
|
744
|
+
break;
|
|
745
|
+
case "background-image--mobile":
|
|
746
|
+
this.$container.bgImgMobile = i;
|
|
747
|
+
break;
|
|
748
|
+
case "background-image--tablet":
|
|
749
|
+
this.$container.bgImgTablet = i;
|
|
750
|
+
break;
|
|
751
|
+
case "background-image--laptop":
|
|
752
|
+
this.$container.bgImgLaptop = i;
|
|
753
|
+
break;
|
|
754
|
+
case "background-size":
|
|
755
|
+
this.$container.bgImgSize = i;
|
|
756
|
+
break;
|
|
757
|
+
case "background-position":
|
|
758
|
+
this.$container.bgImgPosition = i;
|
|
759
|
+
break;
|
|
760
|
+
case "padding-block":
|
|
761
|
+
this.$container.paddingBlock = i;
|
|
762
|
+
break;
|
|
763
|
+
case "padding-top":
|
|
764
|
+
this.$container.paddingTop = i;
|
|
765
|
+
break;
|
|
766
|
+
case "padding-bottom":
|
|
767
|
+
this.$container.paddingBottom = i;
|
|
768
|
+
break;
|
|
769
|
+
}
|
|
770
|
+
}
|
|
771
|
+
get bgColor() {
|
|
772
|
+
return this.getAttribute("background-color") || "container-none";
|
|
773
|
+
}
|
|
774
|
+
set bgColor(t) {
|
|
775
|
+
this.setAttribute("background-color", t);
|
|
776
|
+
}
|
|
777
|
+
get gradient() {
|
|
778
|
+
return this.getAttribute("background-gradient");
|
|
779
|
+
}
|
|
780
|
+
set gradient(t) {
|
|
781
|
+
this.setAttribute("background-gradient", t);
|
|
782
|
+
}
|
|
783
|
+
get bgImg() {
|
|
784
|
+
return this.getAttribute("background-image");
|
|
785
|
+
}
|
|
786
|
+
set bgImg(t) {
|
|
787
|
+
this.setAttribute("background-image", t);
|
|
788
|
+
}
|
|
789
|
+
get bgImgMobile() {
|
|
790
|
+
return this.getAttribute("background-image--mobile");
|
|
791
|
+
}
|
|
792
|
+
set bgImgMobile(t) {
|
|
793
|
+
this.setAttribute("background-image--mobile", t);
|
|
794
|
+
}
|
|
795
|
+
get bgImgTablet() {
|
|
796
|
+
return this.getAttribute("background-image--tablet");
|
|
797
|
+
}
|
|
798
|
+
set bgImgTablet(t) {
|
|
799
|
+
this.setAttribute("background-image--tablet", t);
|
|
800
|
+
}
|
|
801
|
+
get bgImgLaptop() {
|
|
802
|
+
return this.getAttribute("background-image--laptop");
|
|
803
|
+
}
|
|
804
|
+
set bgImgLaptop(t) {
|
|
805
|
+
this.setAttribute("background-image--laptop", t);
|
|
806
|
+
}
|
|
807
|
+
get bgImgSize() {
|
|
808
|
+
return this.getAttribute("background-size");
|
|
809
|
+
}
|
|
810
|
+
set bgImgSize(t) {
|
|
811
|
+
this.setAttribute("background-size", t);
|
|
812
|
+
}
|
|
813
|
+
get bgImgPosition() {
|
|
814
|
+
return this.getAttribute("background-position");
|
|
815
|
+
}
|
|
816
|
+
set bgImgPosition(t) {
|
|
817
|
+
this.setAttribute("background-position", t);
|
|
818
|
+
}
|
|
819
|
+
get paddingBlock() {
|
|
820
|
+
return this.getAttribute("padding-block");
|
|
821
|
+
}
|
|
822
|
+
set paddingBlock(t) {
|
|
823
|
+
this.setAttribute("padding-block", t);
|
|
824
|
+
}
|
|
825
|
+
get paddingTop() {
|
|
826
|
+
return this.getAttribute("padding-top");
|
|
827
|
+
}
|
|
828
|
+
set paddingTop(t) {
|
|
829
|
+
this.setAttribute("padding-top", t);
|
|
830
|
+
}
|
|
831
|
+
get paddingBottom() {
|
|
832
|
+
return this.getAttribute("padding-bottom");
|
|
833
|
+
}
|
|
834
|
+
set paddingBottom(t) {
|
|
835
|
+
this.setAttribute("padding-bottom", t);
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
customElements.define("px-section", P);
|
|
839
|
+
const _ = ":host>*{padding:2rem 0;cursor:pointer}button{margin:0;padding:0;border:0;border-bottom:2px solid rgba(0,0,0,0);outline:0;background:inherit;font-family:var(--px-font-family);font-size:1rem}button[aria-expanded=true],button:focus{outline:0;font-weight:700;border-bottom:2px solid var(--px-color-bg-action-primary-default);color:var(--px-color-bg-action-primary-default)}button:hover{font-weight:700;color:var(--px-color-bg-action-primary-default)}px-a{height:100%;display:block}px-a:hover{font-weight:700;color:var(--px-color-bg-action-primary-default)}", k = new CSSStyleSheet();
|
|
840
|
+
k.replaceSync(_);
|
|
841
|
+
class q extends c {
|
|
842
|
+
constructor() {
|
|
843
|
+
super(), this.template = () => `${this.getAttribute("href") ? `<px-a variant="no-style" href="${this.getAttribute("href")}">
|
|
844
|
+
<slot></slot>
|
|
845
|
+
</px-a>` : "<button><slot></slot></button>"}`, this.shadowRoot.innerHTML = this.template(), this.shadowRoot.adoptedStyleSheets = [k];
|
|
846
|
+
}
|
|
847
|
+
static get observedAttributes() {
|
|
848
|
+
return ["for", "href"];
|
|
849
|
+
}
|
|
850
|
+
connectedCallback() {
|
|
851
|
+
this.setAttribute("slot", "header-entries"), this.$button && this.setupButtonA11y();
|
|
852
|
+
}
|
|
853
|
+
attributeChangedCallback(t, a, i) {
|
|
854
|
+
super.attributeChangedCallback(t, a, i), t === "href" && this.$button && i ? this.shadowRoot.innerHTML = this.template() : t === "for" && this.$a && i && (this.shadowRoot.innerHTML = this.template(), this.setupButtonA11y());
|
|
855
|
+
}
|
|
856
|
+
setupButtonA11y() {
|
|
857
|
+
this.$button.setAttribute("tabindex", "0"), this.$button.role = "menuitem", this.$button.ariaExpanded = "false", this.$button.ariaHasPopup = "menu";
|
|
858
|
+
}
|
|
859
|
+
get for() {
|
|
860
|
+
return this.getAttribute("for");
|
|
861
|
+
}
|
|
862
|
+
set for(t) {
|
|
863
|
+
this.setAttribute("for", t);
|
|
864
|
+
}
|
|
865
|
+
get checked() {
|
|
866
|
+
return this.$button.ariaExpanded === "true";
|
|
867
|
+
}
|
|
868
|
+
set checked(t) {
|
|
869
|
+
if (typeof t != "boolean")
|
|
870
|
+
throw new Error("checked must be a boolean");
|
|
871
|
+
this.$button.setAttribute("tabindex", t ? "0" : "-1"), this.$button.ariaExpanded = `${!!t}`, this.$button.setAttribute("aria-controls", this.for);
|
|
872
|
+
}
|
|
873
|
+
get $button() {
|
|
874
|
+
return this.shadowRoot.querySelector("button");
|
|
875
|
+
}
|
|
876
|
+
get $a() {
|
|
877
|
+
return this.shadowRoot.querySelector("px-a");
|
|
878
|
+
}
|
|
879
|
+
}
|
|
880
|
+
customElements.get("px-header-item") || customElements.define("px-header-item", q);
|
|
881
|
+
const F = "#panel-container{position:absolute;left:0;right:0;z-index:2}@media screen and (max-width: 767px){#panel-container{top:0;border-top:none}}#backdrop-filter{position:absolute;display:none;z-index:1;left:0;width:100vw;height:100%;background:#0000004d;-webkit-backdrop-filter:saturate(180%) blur(15px);backdrop-filter:saturate(180%) blur(15px)}@media screen and (max-width: 767px){slot[name=header-entries]{display:none}}@media screen and (min-width: 768px){px-button-icon{display:none}}", f = new CSSStyleSheet();
|
|
882
|
+
f.replaceSync(F);
|
|
883
|
+
class H extends c {
|
|
884
|
+
constructor() {
|
|
885
|
+
var t;
|
|
886
|
+
super(f), this.template = `
|
|
887
|
+
<div id="navigation-items-container">
|
|
888
|
+
<px-section padding-block-mobile="s" padding-block="none" background-color="container-none">
|
|
889
|
+
<px-hstack gap-tablet="2rem" gap="3rem" wrap="wrap" align-items="center">
|
|
890
|
+
<slot name="header-logo"></slot>
|
|
891
|
+
<slot name="header-entries"></slot>
|
|
892
|
+
<px-spacer></px-spacer>
|
|
893
|
+
<px-hstack gap-mobile="none" gap="1rem">
|
|
894
|
+
<slot name="header-actions"></slot>
|
|
895
|
+
<px-button-icon>
|
|
896
|
+
<px-icon name="burger_menu" from="lavender"></px-icon
|
|
897
|
+
</px-button-icon>
|
|
898
|
+
</px-hstack>
|
|
899
|
+
</px-hstack>
|
|
900
|
+
</px-section>
|
|
901
|
+
<px-section id="panel-container" background-color="container-weak" padding="none" background-color="container-none">
|
|
902
|
+
<slot name="header-panels">
|
|
903
|
+
</px-section>
|
|
904
|
+
<div id="backdrop-filter"></div>
|
|
905
|
+
<slot name="main"></slot>
|
|
906
|
+
</div>
|
|
907
|
+
`, this.shadowRoot.innerHTML = this.template, this.internals = (t = this.attachInternals) == null ? void 0 : t.call(this), this.internals && (this.internals.role = "navigation", this.internals.ariaOrientation = "horizontal");
|
|
908
|
+
}
|
|
909
|
+
connectedCallback() {
|
|
910
|
+
this.addEventListener("click", (t) => {
|
|
911
|
+
t.target.closest("px-header-item") && (this.$backdropFilter.style.display = "block", this.$navigationItems.forEach((a) => {
|
|
912
|
+
a.checked = !1;
|
|
913
|
+
}), t.target.checked = !0, this.i11yEnableActions(!1), this.togglePanel(t.target.for));
|
|
914
|
+
}), this.shadowRoot.addEventListener("click", (t) => {
|
|
915
|
+
t.target.closest("px-button-icon") && (this.$backdropFilter.style.display = "block", this.$burgerMenu.setAttribute("tabindex", "0"), this.togglePanel("__lavender_mobile_menu"));
|
|
916
|
+
}), this.addEventListener("section-item-click", (t) => {
|
|
917
|
+
this.$backdropFilter.style.display = "block", this.$navigationItems.forEach((i) => {
|
|
918
|
+
i.checked = !1;
|
|
919
|
+
}), t.detail.for !== "__lavender_mobile_menu" && (this.querySelector(
|
|
920
|
+
`px-header-item[for="${t.detail.for}"]`
|
|
921
|
+
).checked = !0), this.i11yEnableActions(!1), this.togglePanel(t.detail.for);
|
|
922
|
+
}), this.addEventListener("close-panel", () => {
|
|
923
|
+
this.hidePanel(), this.i11yEnableActions(!0);
|
|
924
|
+
}), this.$backdropFilter.addEventListener("click", () => {
|
|
925
|
+
this.hidePanel(), this.i11yEnableActions(!0);
|
|
926
|
+
}), this.createMobileMenuPanel();
|
|
927
|
+
}
|
|
928
|
+
createMobileMenuPanel() {
|
|
929
|
+
var a;
|
|
930
|
+
const t = `
|
|
931
|
+
<px-mdd name="__lavender_mobile_menu">
|
|
932
|
+
<span slot="title">Menu</span>
|
|
933
|
+
<px-mdd-section>
|
|
934
|
+
${[...this.$navigationItems].map(
|
|
935
|
+
(i) => `<px-mdd-section-item for="${i.getAttribute("for")}">${i.innerText}</px-mdd-section-item>`
|
|
936
|
+
).join("")}
|
|
937
|
+
${[...this.$actionLinks].map(
|
|
938
|
+
(i) => `<px-a href="${i.href}" slot="footer">${i.innerText}</px-a>`
|
|
939
|
+
).join("")}
|
|
940
|
+
</px-mdd>
|
|
941
|
+
`;
|
|
942
|
+
(a = this.$megaDropdowns.item(0)) == null || a.insertAdjacentHTML("beforebegin", t);
|
|
943
|
+
}
|
|
944
|
+
i11yEnableActions(t = !0) {
|
|
945
|
+
this.querySelectorAll('[slot="header-actions"]').forEach(
|
|
946
|
+
(a) => {
|
|
947
|
+
if (t) {
|
|
948
|
+
a.removeAttribute("tabindex");
|
|
949
|
+
return;
|
|
950
|
+
}
|
|
951
|
+
a.setAttribute("tabindex", "-1");
|
|
952
|
+
}
|
|
953
|
+
);
|
|
954
|
+
}
|
|
955
|
+
togglePanel(t) {
|
|
956
|
+
this.$megaDropdowns.forEach((a) => {
|
|
957
|
+
a.name === t && a.hidden && (a.hidden = !a.hidden, t !== "__lavender_mobile_menu" && (this.querySelector(`px-header-item[for="${t}"]`).checked = !a.hidden), document.body.style.overflow = a.hidden ? "auto" : "hidden"), a.name !== t && !a.hidden && (a.hidden = !0);
|
|
958
|
+
});
|
|
959
|
+
}
|
|
960
|
+
hidePanel() {
|
|
961
|
+
this.$backdropFilter.style.display = "none", this.$navigationItems.forEach((t) => {
|
|
962
|
+
t.checked = !1, t.$button.setAttribute("tabindex", "0");
|
|
963
|
+
}), this.$megaDropdowns.forEach((t) => {
|
|
964
|
+
t.hidden = !0;
|
|
965
|
+
}), this.i11yEnableActions(!0), document.body.style.overflow = "auto";
|
|
966
|
+
}
|
|
967
|
+
get $navigationItems() {
|
|
968
|
+
return this.querySelectorAll("px-header-item");
|
|
969
|
+
}
|
|
970
|
+
get $megaDropdowns() {
|
|
971
|
+
return this.querySelectorAll("px-mdd");
|
|
972
|
+
}
|
|
973
|
+
get $actionLinks() {
|
|
974
|
+
return this.querySelectorAll("px-action-link");
|
|
975
|
+
}
|
|
976
|
+
get $backdropFilter() {
|
|
977
|
+
return this.shadowRoot.querySelector("#backdrop-filter");
|
|
978
|
+
}
|
|
979
|
+
get $burgerMenu() {
|
|
980
|
+
return this.shadowRoot.querySelector("px-button-icon");
|
|
981
|
+
}
|
|
982
|
+
}
|
|
983
|
+
customElements.get("px-header") || customElements.define("px-header", H);
|
|
984
|
+
export {
|
|
985
|
+
H as Header,
|
|
986
|
+
q as HeaderItem
|
|
987
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@proximus/lavender-header",
|
|
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
|
+
}
|