@proximus/lavender-container 1.0.0-alpha.32

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 +240 -0
  2. package/package.json +40 -0
package/dist/index.js ADDED
@@ -0,0 +1,240 @@
1
+ import { PxElement as n, shadowValues as g, bgColorValues as l, borderRadiusValues as s, borderValues as p, paddingValues as b, gradientValues as c } from "@proximus/lavender-common";
2
+ const h = '.container{font-family:var(--px-font-family);background-color:var(--px-color-bg-container-rich-inverted);border-radius:var(--px-radius-main);padding:var(--px-padding-m);box-sizing:border-box}:host([inverted]) .container{background-color:var(--px-color-bg-container-rich-default);color:var(--px-color-txt-body-inverted)}.padding-2xs{padding:var(--px-padding-2xs)}.padding-xs{padding:var(--px-padding-xs)}.padding-s{padding:var(--px-padding-s)}.padding-m{padding:var(--px-padding-m)}.padding-l{padding:var(--px-padding-l)}.padding-xl{padding:var(--px-padding-xl)}.padding-none{padding:var(--px-padding-none)}.paddingblock-2xs{padding-block:var(--px-padding-2xs)}.paddingblock-xs{padding-block:var(--px-padding-xs)}.paddingblock-s{padding-block:var(--px-padding-s)}.paddingblock-m{padding-block:var(--px-padding-m)}.paddingblock-l{padding-block:var(--px-padding-l)}.paddingblock-xl{padding-block:var(--px-padding-xl)}.paddingblock-none{padding-block:var(--px-padding-none)}.paddinginline-2xs{padding-inline:var(--px-padding-2xs)}.paddinginline-xs{padding-inline:var(--px-padding-xs)}.paddinginline-s{padding-inline:var(--px-padding-s)}.paddinginline-m{padding-inline:var(--px-padding-m)}.paddinginline-l{padding-inline:var(--px-padding-l)}.paddinginline-xl{padding-inline:var(--px-padding-xl)}.paddinginline-none{padding-inline:var(--px-padding-none)}.paddingtop-2xs{padding-top:var(--px-padding-2xs)}.paddingtop-xs{padding-top:var(--px-padding-xs)}.paddingtop-s{padding-top:var(--px-padding-s)}.paddingtop-m{padding-top:var(--px-padding-m)}.paddingtop-l{padding-top:var(--px-padding-l)}.paddingtop-xl{padding-top:var(--px-padding-xl)}.paddingtop-none{padding-top:var(--px-padding-none)}.paddingright-2xs{padding-right:var(--px-padding-2xs)}.paddingright-xs{padding-right:var(--px-padding-xs)}.paddingright-s{padding-right:var(--px-padding-s)}.paddingright-m{padding-right:var(--px-padding-m)}.paddingright-l{padding-right:var(--px-padding-l)}.paddingright-xl{padding-right:var(--px-padding-xl)}.paddingright-none{padding-right:var(--px-padding-none)}.paddingbottom-2xs{padding-bottom:var(--px-padding-2xs)}.paddingbottom-xs{padding-bottom:var(--px-padding-xs)}.paddingbottom-s{padding-bottom:var(--px-padding-s)}.paddingbottom-m{padding-bottom:var(--px-padding-m)}.paddingbottom-l{padding-bottom:var(--px-padding-l)}.paddingbottom-xl{padding-bottom:var(--px-padding-xl)}.paddingbottom-none{padding-bottom:var(--px-padding-none)}.paddingleft-2xs{padding-left:var(--px-padding-2xs)}.paddingleft-xs{padding-left:var(--px-padding-xs)}.paddingleft-s{padding-left:var(--px-padding-s)}.paddingleft-m{padding-left:var(--px-padding-m)}.paddingleft-l{padding-left:var(--px-padding-l)}.paddingleft-xl{padding-left:var(--px-padding-xl)}.paddingleft-none{padding-left:var(--px-padding-none)}.border-none{border:none}.border-s{border:var(--px-border-s) solid var(--px-color-border-main-default)}.border-m{border:var(--px-border-m) solid var(--px-color-border-main-default)}.border-l{border:var(--px-border-l) solid var(--px-color-border-main-default)}:host([inverted]) .border{border:var(--px-border-m) solid var(--px-color-border-main-inverted)}.borderradius-main{border-radius:var(--px-radius-main)}.borderradius-pill{border-radius:var(--px-radius-pill)}.noborderradius-top{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.noborderradius-right{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.noborderradius-bottom{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.noborderradius-left{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.noborderradius-all,.borderradius-none{border-radius:var(--px-radius-none)}.bgcolor-none{background-color:var(--px-color-bg-container-none-default)}.bgcolor-weak{background-color:var(--px-color-bg-container-weak-default)}.bgcolor-moderate{background-color:var(--px-color-bg-container-moderate-default)}.bgcolor-strong{background-color:var(--px-color-bg-container-strong-default)}.bgcolor-rich{background-color:var(--px-color-bg-container-rich-default)}.bgcolor-main{background-color:var(--px-color-bg-container-weak-default)}.bgcolor-canvas-weak{background-color:var(--px-color-canvas-weak)}.bgcolor-canvas-light{background-color:var(--px-color-canvas-light)}.bgcolor-canvas-soft{background-color:var(--px-color-canvas-soft)}.bgcolor-canvas-moderate{background-color:var(--px-color-canvas-moderate)}.bgcolor-canvas-strong{background-color:var(--px-color-canvas-strong)}.bgcolor-canvas-deep{background-color:var(--px-color-canvas-deep)}.bgcolor-canvas-rich{background-color:var(--px-color-canvas-rich)}.bgcolor-action-primary{background-color:var(--px-color-bg-action-primary-default)}.bgcolor-action-secondary{background-color:var(--px-color-bg-action-secondary-default)}.bgcolor-action-hover-bordered{background-color:var(--px-color-bg-action-hover-bordered-default)}.bgcolor-action-hover{background-color:var(--px-color-bg-action-hover-default)}.bgcolor-action-disabled{background-color:var(--px-color-bg-action-disabled-default)}.bgcolor-action-active{background-color:var(--px-color-bg-action-active-default)}.bgcolor-notification{background-color:var(--px-color-bg-notification-default)}.bgcolor-promo{background-color:var(--px-color-bg-promo-default)}.bgcolor-success{background-color:var(--px-color-bg-success-default)}.bgcolor-error{background-color:var(--px-color-bg-error-default)}.bgcolor-warning{background-color:var(--px-color-bg-warning-default)}.bgcolor-unlimited{background-color:var(--px-color-bg-unlimited-default)}:host([inverted]) .bgcolor-none{background-color:var(--px-color-bg-container-none-inverted)}:host([inverted]) .bgcolor-weak{background-color:var(--px-color-bg-container-weak-inverted)}:host([inverted]) .bgcolor-moderate{background-color:var(--px-color-bg-container-moderate-inverted)}:host([inverted]) .bgcolor-strong{background-color:var(--px-color-bg-container-strong-inverted)}:host([inverted]) .bgcolor-rich{background-color:var(--px-color-bg-container-rich-inverted)}:host([inverted]) .bgcolor-main{background-color:var(--px-color-bg-container-weak-inverted)}:host([inverted]) .bgcolor-action-primary{background-color:var(--px-color-bg-action-primary-inverted)}:host([inverted]) .bgcolor-action-secondary{background-color:var(--px-color-bg-action-secondary-inverted)}:host([inverted]) .bgcolor-action-hover{background-color:var(--px-color-bg-action-hover-bordered-default)}:host([inverted]) .bgcolor-action-disabled{background-color:var(--px-color-bg-action-disabled-inverted)}:host([inverted]) .bgcolor-action-active{background-color:var(--px-color-bg-action-active-inverted)}:host([inverted]) .bgcolor-notification{background-color:var(--px-color-bg-notification-inverted)}:host([inverted]) .bgcolor-promo{background-color:var(--px-color-bg-promo-inverted)}:host([inverted]) .bgcolor-success{background-color:var(--px-color-bg-success-inverted)}:host([inverted]) .bgcolor-error{background-color:var(--px-color-bg-error-inverted)}:host([inverted]) .bgcolor-warning{background-color:var(--px-color-bg-warning-inverted)}:host([inverted]) .bgcolor-unlimited{background-color:var(--px-color-bg-unlimited-inverted)}.bgimg{background-repeat:no-repeat}.bgimgsize-cover{background-size:cover;background-position:center center}.bgimgsize-contain{background-size:contain}.shadow-none{box-shadow:var(--px-shadow-none)}.shadow-s{box-shadow:var(--px-shadow-s)}.shadow-m{box-shadow:var(--px-shadow-m)}.shadow-l{box-shadow:var(--px-shadow-l)}.shadow-xl{box-shadow:var(--px-shadow-xl)}.anchored{position:relative}::slotted([slot="anchor-right"]),::slotted([slot="anchor-left"]),::slotted([slot="anchor-full"]){position:absolute;top:0}::slotted([slot="anchor-right"]),::slotted([slot="anchor-left"]){transform:translateY(-50%);z-index:2}::slotted([slot="anchor-right"]){right:var(--px-padding-m)}::slotted([slot="anchor-left"]){left:var(--px-padding-m)}.padding-none ::slotted([slot="anchor-right"]){right:var(--px-padding-none)}.padding-none ::slotted([slot="anchor-left"]){left:var(--px-padding-none)}.padding-2xs ::slotted([slot="anchor-right"]){right:var(--px-padding-2xs)}.padding-2xs ::slotted([slot="anchor-left"]){left:var(--px-padding-2xs)}.padding-xs ::slotted([slot="anchor-right"]){right:var(--px-padding-xs)}.padding-xs ::slotted([slot="anchor-left"]){left:var(--px-padding-xs)}.padding-s ::slotted([slot="anchor-right"]){right:var(--px-padding-s)}.padding-s ::slotted([slot="anchor-left"]){left:var(--px-padding-s)}.padding-m ::slotted([slot="anchor-right"]){right:var(--px-padding-m)}.padding-m ::slotted([slot="anchor-left"]){left:var(--px-padding-m)}.padding-l ::slotted([slot="anchor-right"]){right:var(--px-padding-l)}.padding-l ::slotted([slot="anchor-left"]){left:var(--px-padding-l)}.padding-xl ::slotted([slot="anchor-right"]){right:var(--px-padding-xl)}.padding-xl ::slotted([slot="anchor-left"]){left:var(--px-padding-xl)}::slotted([slot="anchor-full"]){transform:translateY(-100%);right:0;left:0;text-align:center;z-index:1}@media only screen and (max-width: 640px){.padding-l{padding:var(--px-padding-l-mobile)}.padding-xl{padding:var(--px-padding-xl-mobile)}.paddingtop-l{padding-top:var(--px-padding-l-mobile)}.paddingtop-xl{padding-top:var(--px-padding-xl-mobile)}.paddingright-l{padding-right:var(--px-padding-l-mobile)}.paddingright-xl{padding-right:var(--px-padding-xl-mobile)}.paddingbottom-l{padding-bottom:var(--px-padding-l-mobile)}.paddingbottom-xl{padding-bottom:var(--px-padding-xl-mobile)}.paddingleft-l{padding-left:var(--px-padding-l-mobile)}.paddingleft-xl{padding-left:var(--px-padding-xl-mobile)}}.border-s ::slotted([slot="anchor-full"]){right:calc(var(--px-border-s) * -1);left:calc(var(--px-border-s) * -1)}.border-m ::slotted([slot="anchor-full"]){right:calc(var(--px-border-m) * -1);left:calc(var(--px-border-m) * -1)}.border-l ::slotted([slot="anchor-full"]){right:calc(var(--px-border-l) * -1);left:calc(var(--px-border-l) * -1)}', e = new CSSStyleSheet();
3
+ e.replaceSync(h);
4
+ const x = ["anchor-right", "anchor-left", "anchor-full"], v = ["", "all", "top", "right", "bottom", "left"], u = ["", "cover", "contain", "default"], a = class a extends n {
5
+ constructor() {
6
+ super(e), this.template = () => `<div class="container">
7
+ <slot name="anchor-left"></slot>
8
+ <slot name="anchor-right"></slot>
9
+ <slot name="anchor-full"></slot>
10
+ <slot></slot>
11
+ </div>`, this.onWindowResize = () => {
12
+ this.hasAttribute("bgimg-mobile") && this.loadImg("bgimg-mobile", this.getAttribute("bgimg-mobile")), this.hasAttribute("bgimg-tablet") && this.loadImg("bgimg-tablet", this.getAttribute("bgimg-tablet")), this.hasAttribute("bgimg-laptop") && this.loadImg("bgimg-laptop", this.getAttribute("bgimg-laptop"));
13
+ }, this.shadowRoot.innerHTML = this.template();
14
+ }
15
+ static get observedAttributes() {
16
+ return [
17
+ ...super.observedAttributes,
18
+ "padding",
19
+ "paddinginline",
20
+ "paddingblock",
21
+ "paddingtop",
22
+ "paddingright",
23
+ "paddingbottom",
24
+ "paddingleft",
25
+ "border",
26
+ "borderradius",
27
+ "noborderradius",
28
+ "bgcolor",
29
+ "gradient",
30
+ "bgimg-mobile",
31
+ "bgimg-tablet",
32
+ "bgimg-laptop",
33
+ "bgimgsize",
34
+ "bgimgposition",
35
+ "shadow",
36
+ "inverted"
37
+ ];
38
+ }
39
+ get padding() {
40
+ return this.getAttribute("padding");
41
+ }
42
+ set padding(t) {
43
+ this.setAttribute("padding", t);
44
+ }
45
+ get paddingBlock() {
46
+ return this.getAttribute("paddingblock");
47
+ }
48
+ set paddingBlock(t) {
49
+ this.setAttribute("paddingblock", t);
50
+ }
51
+ get paddingInline() {
52
+ return this.getAttribute("paddinginline");
53
+ }
54
+ set paddingInline(t) {
55
+ this.setAttribute("paddinginline", t);
56
+ }
57
+ get paddingTop() {
58
+ return this.getAttribute("paddingtop");
59
+ }
60
+ set paddingTop(t) {
61
+ this.setAttribute("paddingtop", t);
62
+ }
63
+ get paddingRight() {
64
+ return this.getAttribute("paddingright");
65
+ }
66
+ set paddingRight(t) {
67
+ this.setAttribute("paddingright", t);
68
+ }
69
+ get paddingBottom() {
70
+ return this.getAttribute("paddingbottom");
71
+ }
72
+ set paddingBottom(t) {
73
+ this.setAttribute("paddingbottom", t);
74
+ }
75
+ get paddingLeft() {
76
+ return this.getAttribute("paddingleft");
77
+ }
78
+ set paddingLeft(t) {
79
+ this.setAttribute("paddingleft", t);
80
+ }
81
+ get border() {
82
+ return this.getAttribute("border");
83
+ }
84
+ set border(t) {
85
+ this.setAttribute("border", t);
86
+ }
87
+ get borderRadius() {
88
+ return this.getAttribute("borderradius");
89
+ }
90
+ set borderRadius(t) {
91
+ this.setAttribute("borderradius", t);
92
+ }
93
+ get noBorderRadius() {
94
+ return this.getAttribute("noborderradius");
95
+ }
96
+ set noBorderRadius(t) {
97
+ this.setAttribute("noborderradius", t);
98
+ }
99
+ get bgColor() {
100
+ return this.getAttribute("bgcolor");
101
+ }
102
+ set bgColor(t) {
103
+ this.setAttribute("bgcolor", t);
104
+ }
105
+ get gradient() {
106
+ return this.getAttribute("gradient");
107
+ }
108
+ set gradient(t) {
109
+ this.setAttribute("gradient", t);
110
+ }
111
+ get bgImgMobile() {
112
+ return this.getAttribute("bgimg-mobile");
113
+ }
114
+ set bgImgMobile(t) {
115
+ this.setAttribute("bgimg-mobile", t);
116
+ }
117
+ get bgImgTablet() {
118
+ return this.getAttribute("bgimg-tablet");
119
+ }
120
+ set bgImgTablet(t) {
121
+ this.setAttribute("bgimg-tablet", t);
122
+ }
123
+ get bgImgLaptop() {
124
+ return this.getAttribute("bgimg-laptop");
125
+ }
126
+ set bgImgLaptop(t) {
127
+ this.setAttribute("bgimg-laptop", t);
128
+ }
129
+ get bgImgSize() {
130
+ return this.getAttribute("bgimgsize");
131
+ }
132
+ set bgImgSize(t) {
133
+ this.setAttribute("bgimgsize", t);
134
+ }
135
+ get bgImgPosition() {
136
+ return this.getAttribute("bgimgposition");
137
+ }
138
+ set bgImgPosition(t) {
139
+ this.setAttribute("bgimgposition", t);
140
+ }
141
+ get shadow() {
142
+ return this.getAttribute("shadow");
143
+ }
144
+ set shadow(t) {
145
+ this.setAttribute("shadow", t);
146
+ }
147
+ get inverted() {
148
+ return this.getAttribute("inverted");
149
+ }
150
+ set inverted(t) {
151
+ this.setAttribute("inverted", t);
152
+ }
153
+ connectedCallback() {
154
+ var o, r, d;
155
+ super.connectedCallback();
156
+ const t = this.querySelector("[slot]");
157
+ t && x.includes(t.getAttribute("slot")) && this.shadowRoot.querySelector(".container").classList.toggle("anchored"), ((o = this.parentElement) == null ? void 0 : o.getAttribute("align-items")) === "stretch" && (((r = this.parentElement) == null ? void 0 : r.getAttribute("direction")) === "column" ? this.$el.style.width = "100%" : this.$el.style.height = "100%"), ((d = this.parentElement) == null ? void 0 : d.localName) === "px-grid-item" && (this.$el.style.height = "100%"), (this.hasAttribute("bgimg-mobile") || this.hasAttribute("bgimg-tablet") || this.hasAttribute("bgimg-laptop")) && window.addEventListener("resize", this.onWindowResize);
158
+ }
159
+ disconnectedCallback() {
160
+ window.removeEventListener("resize", this.onWindowResize);
161
+ }
162
+ attributeChangedCallback(t, o, r) {
163
+ if (o !== r)
164
+ switch (t) {
165
+ case "padding":
166
+ case "paddingblock":
167
+ case "paddinginline":
168
+ case "paddingtop":
169
+ case "paddingright":
170
+ case "paddingbottom":
171
+ case "paddingleft":
172
+ this.updateAttribute(t, o, r, b);
173
+ break;
174
+ case "border":
175
+ this.updateAttribute(t, o, r, p);
176
+ break;
177
+ case "borderradius":
178
+ this.updateAttribute(
179
+ t,
180
+ o,
181
+ r,
182
+ s
183
+ );
184
+ break;
185
+ case "noborderradius":
186
+ this.updateAttribute(
187
+ t,
188
+ o,
189
+ r,
190
+ v
191
+ );
192
+ break;
193
+ case "bgcolor":
194
+ this.updateAttribute(t, o, r, l);
195
+ break;
196
+ case "gradient":
197
+ this.updateGradient(o, r);
198
+ break;
199
+ case "bgimgsize":
200
+ this.updateAttribute(t, o, r, u);
201
+ break;
202
+ case "bgimg-mobile":
203
+ case "bgimg-tablet":
204
+ case "bgimg-laptop":
205
+ r !== "" && (this.$el.classList.toggle("bgimg"), this.loadImg(t, r));
206
+ break;
207
+ case "bgimgposition":
208
+ r !== null && r !== "" && (this.$el.style.backgroundPosition = r);
209
+ break;
210
+ case "shadow":
211
+ this.updateAttribute(t, o, r, g);
212
+ break;
213
+ default:
214
+ super.attributeChangedCallback(t, o, r);
215
+ break;
216
+ }
217
+ }
218
+ loadImg(t, o) {
219
+ t === "bgimg-mobile" ? this.$el.style.backgroundImage = `url("${o}")` : window.matchMedia("only screen and (min-width: 768px)").matches && t === "bgimg-tablet" ? this.$el.style.backgroundImage = `url("${o}")` : window.matchMedia("only screen and (min-width: 1025px)").matches && t === "bgimg-laptop" && (this.$el.style.backgroundImage = `url("${o}")`);
220
+ }
221
+ updateGradient(t, o) {
222
+ this.checkName(c, o) ? this.$el.style.background = `linear-gradient(var(--px-color-bg-gradient-${o}))` : console.error(
223
+ `${o} is not an allowed gradient value for ${this.$el}`
224
+ );
225
+ }
226
+ updateAttribute(t, o, r, d) {
227
+ o !== null && o !== "" && this.$el.classList.toggle(`${t}-${o}`), r !== null && r !== "" && this.$el.classList.toggle(`${t}-${r}`), this.checkName(d, r) || console.error(
228
+ `${r} is not an allowed ${t} value for ${this.$el}`
229
+ );
230
+ }
231
+ checkName(t, o) {
232
+ return t.includes(o);
233
+ }
234
+ };
235
+ a.nativeName = "div";
236
+ let i = a;
237
+ customElements.define("px-container", i);
238
+ export {
239
+ i as Container
240
+ };
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@proximus/lavender-container",
3
+ "version": "1.0.0-alpha.32",
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
+ "gitHead": "15a231df98020f83813279639a9a7712a5a5e759",
28
+ "lerna": {
29
+ "command": {
30
+ "publish": {
31
+ "assets": [
32
+ "CHANGELOG.md",
33
+ "package.json",
34
+ "dist/*.js",
35
+ "dist/css/**/*.css"
36
+ ]
37
+ }
38
+ }
39
+ }
40
+ }