@proximus/lavender-image 1.4.1 → 1.4.3-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.
@@ -1,12 +1,10 @@
1
- import { PxElement, AttributeBreakpointHandlerDelegate } from '@proximus/lavender-common';
1
+ import { PxElement } from '@proximus/lavender-common';
2
2
  export declare const styleSheet: CSSStyleSheet;
3
- export declare const breakpointsValues: string[];
4
3
  export declare const imageWidthValues: string[];
5
4
  export declare const imageHeightValues: string[];
6
5
  export declare abstract class AbstractImage<IMAGE_ELEMENT extends HTMLImageElement | HTMLPictureElement> extends PxElement<IMAGE_ELEMENT> {
7
- heightAttributeDelegate: AttributeBreakpointHandlerDelegate;
8
6
  static accessorExclusions: string[];
9
- constructor();
7
+ protected constructor();
10
8
  static get observedAttributes(): string[];
11
9
  attributeChangedCallback(attrName: string, oldValue: string, newValue: string): void;
12
10
  updateWidth(attrName: string, oldValue: string, newValue: string, attrValues: string[]): void;
package/dist/index.es.js CHANGED
@@ -1,23 +1,15 @@
1
- import { PxElement as f, cssTokenBreakpoints as x, AttributeBreakpointHandlerDelegate as A, noBorderRadiusValues as v, borderRadiusValues as w } from "@proximus/lavender-common";
2
- const k = ":host{display:inline-block;line-height:0}:host([cover]) img{width:100%;height:100%;object-fit:cover}picture{display:inline-block}img{display:inline-block;border-style:none;width:var(--img-width--mobile, auto);max-width:100%}.border-radius-main,.border-radius-main img{border-radius:var(--px-radius-main)}.border-radius-pill,.border-radius-pill img{border-radius:var(--px-radius-pill)}.no-border-radius-top,.no-border-radius-top img{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.no-border-radius-right,.no-border-radius-right img{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-bottom,.no-border-radius-bottom img{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-left,.no-border-radius-left img{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.no-border-radius-all,.no-border-radius-all img{border-radius:var(--px-radius-none)}:host([disabled]) img{filter:opacity(.2) grayscale(100%)}@media only screen and (max-width: 767px){.no-border-radius-top--mobile,.no-border-radius-top--mobile img{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.no-border-radius-right--mobile,.no-border-radius-right--mobile img{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-bottom--mobile,.no-border-radius-bottom--mobile img{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-left--mobile,.no-border-radius-left--mobile img{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.no-border-radius-all--mobile,.no-border-radius-all--mobile img{border-radius:var(--px-radius-none)}}@media only screen and (min-width: 768px) and (max-width: 1024px){img{width:var(--img-width--tablet, auto)}.no-border-radius-top--tablet,.no-border-radius-top--tablet img{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.no-border-radius-right--tablet,.no-border-radius-right--tablet img{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-bottom--tablet,.no-border-radius-bottom--tablet img{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-left--tablet,.no-border-radius-left--tablet img{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.no-border-radius-all--tablet,.no-border-radius-all--tablet img{border-radius:var(--px-radius-none)}}@media only screen and (min-width: 1025px){img{width:var(--img-width--laptop, auto)}.no-border-radius-top--laptop,.no-border-radius-top--laptop img{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.no-border-radius-right--laptop,.no-border-radius-right--laptop img{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-bottom--laptop,.no-border-radius-bottom--laptop img{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-left--laptop,.no-border-radius-left--laptop img{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.no-border-radius-all--laptop,.no-border-radius-all--laptop img{border-radius:var(--px-radius-none)}}@media only screen and (min-width: 1441px){img{width:var(--img-width--desktop, auto)}}", g = new CSSStyleSheet();
3
- g.replaceSync(k);
4
- const $ = ["", "xs", "s", "m", "l", "xl"], y = ["", "xs", "s", "m", "l", "xl"], E = (m, t, r) => `:host([${m}${r ? `--${r}` : ""}='${t}']) img`, S = "px-image", u = class u extends f {
1
+ import { cssTokenBreakpoints as x, PxElement as v, noBorderRadiusValues as A, borderRadiusValues as w, log as g } from "@proximus/lavender-common";
2
+ const k = ":host{display:inline-block;line-height:0}:host([cover]) img{width:100%;height:100%;object-fit:cover}picture{display:inline-block}img{display:inline-block;border-style:none;width:var(--img-width--mobile, auto);max-width:100%}.border-radius-main,.border-radius-main img{border-radius:var(--px-radius-main)}.border-radius-pill,.border-radius-pill img{border-radius:var(--px-radius-pill)}.no-border-radius-top,.no-border-radius-top img{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.no-border-radius-right,.no-border-radius-right img{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-bottom,.no-border-radius-bottom img{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-left,.no-border-radius-left img{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.no-border-radius-all,.no-border-radius-all img{border-radius:var(--px-radius-none)}:host([disabled]) img{filter:opacity(.2) grayscale(100%)}@media only screen and (max-width: 767px){.no-border-radius-top--mobile,.no-border-radius-top--mobile img{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.no-border-radius-right--mobile,.no-border-radius-right--mobile img{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-bottom--mobile,.no-border-radius-bottom--mobile img{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-left--mobile,.no-border-radius-left--mobile img{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.no-border-radius-all--mobile,.no-border-radius-all--mobile img{border-radius:var(--px-radius-none)}}@media only screen and (min-width: 768px) and (max-width: 1024px){img{width:var(--img-width--tablet, auto)}.no-border-radius-top--tablet,.no-border-radius-top--tablet img{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.no-border-radius-right--tablet,.no-border-radius-right--tablet img{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-bottom--tablet,.no-border-radius-bottom--tablet img{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-left--tablet,.no-border-radius-left--tablet img{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.no-border-radius-all--tablet,.no-border-radius-all--tablet img{border-radius:var(--px-radius-none)}}@media only screen and (min-width: 1025px){img{width:var(--img-width--laptop, auto)}.no-border-radius-top--laptop,.no-border-radius-top--laptop img{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.no-border-radius-right--laptop,.no-border-radius-right--laptop img{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-bottom--laptop,.no-border-radius-bottom--laptop img{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-left--laptop,.no-border-radius-left--laptop img{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.no-border-radius-all--laptop,.no-border-radius-all--laptop img{border-radius:var(--px-radius-none)}}@media only screen and (min-width: 1441px){img{width:var(--img-width--desktop, auto)}}", m = new CSSStyleSheet();
3
+ m.replaceSync(k);
4
+ const $ = ["", "xs", "s", "m", "l", "xl"], y = ["", "xs", "s", "m", "l", "xl"], E = (c, t, r) => `:host([${c}${r ? `--${r}` : ""}='${t}']) img`, S = "px-image", C = x(
5
+ "height",
6
+ E,
7
+ y,
8
+ S,
9
+ "--img-height"
10
+ ), p = class p extends v {
5
11
  constructor() {
6
- super(
7
- g,
8
- x(
9
- "height",
10
- E,
11
- y,
12
- S,
13
- "--img-height"
14
- )
15
- ), this.heightAttributeDelegate = new A(
16
- this,
17
- "height",
18
- (t) => t,
19
- "--img-height"
20
- );
12
+ super(m, C);
21
13
  }
22
14
  static get observedAttributes() {
23
15
  return [
@@ -55,7 +47,7 @@ const $ = ["", "xs", "s", "m", "l", "xl"], y = ["", "xs", "s", "m", "l", "xl"],
55
47
  t,
56
48
  r,
57
49
  e,
58
- v
50
+ A
59
51
  );
60
52
  break;
61
53
  case "width":
@@ -75,7 +67,9 @@ const $ = ["", "xs", "s", "m", "l", "xl"], y = ["", "xs", "s", "m", "l", "xl"],
75
67
  }
76
68
  updateWidth(t, r, e, i) {
77
69
  if (!this.checkName(i, e)) {
78
- console.error(`${e} is not an allowed ${t} value`);
70
+ g(
71
+ `${e} is not an allowed ${t} value for ${this.tagName.toLowerCase()}`
72
+ );
79
73
  return;
80
74
  }
81
75
  const o = t.indexOf("--") > -1, s = o ? t.split("--")[0] : t, a = [];
@@ -96,7 +90,9 @@ const $ = ["", "xs", "s", "m", "l", "xl"], y = ["", "xs", "s", "m", "l", "xl"],
96
90
  }
97
91
  updateAttribute(t, r, e, i) {
98
92
  if (!this.checkName(i, e))
99
- console.error(`${e} is not an allowed ${t} value`);
93
+ g(
94
+ `${e} is not an allowed ${t} value for ${this.tagName.toLowerCase()}`
95
+ );
100
96
  else {
101
97
  const o = this.splitAttrNameFromBreakpoint(t), s = o.breakpoint;
102
98
  r !== null && r !== "" && this.$el.classList.toggle(
@@ -220,19 +216,19 @@ const $ = ["", "xs", "s", "m", "l", "xl"], y = ["", "xs", "s", "m", "l", "xl"],
220
216
  t ? this.setAttribute("cover", "") : this.removeAttribute("cover");
221
217
  }
222
218
  };
223
- u.accessorExclusions = ["height", "width"];
224
- let n = u;
225
- const l = class l extends n {
219
+ p.accessorExclusions = ["height", "width"];
220
+ let n = p;
221
+ const b = class b extends n {
226
222
  constructor() {
227
223
  super();
228
- const t = document.createElement(this.nativeName);
224
+ const t = document.createElement(b.nativeName);
229
225
  this.shadowRoot.appendChild(t);
230
226
  }
231
227
  };
232
- l.nativeName = "img";
233
- let h = l;
234
- customElements.get("px-image") || customElements.define("px-img", h);
235
- const p = class p extends n {
228
+ b.nativeName = "img";
229
+ let u = b;
230
+ customElements.get("px-image") || customElements.define("px-img", u);
231
+ const h = class h extends n {
236
232
  constructor() {
237
233
  super(), this.possibleImgExtension = [
238
234
  "webp",
@@ -252,7 +248,7 @@ const p = class p extends n {
252
248
  "tif",
253
249
  "tiff"
254
250
  ];
255
- const t = document.createElement(this.nativeName);
251
+ const t = document.createElement(h.nativeName);
256
252
  this.shadowRoot.appendChild(t);
257
253
  }
258
254
  static get observedAttributes() {
@@ -339,8 +335,8 @@ const p = class p extends n {
339
335
  }
340
336
  const d = await this.transformImgPath(o, i, "-m");
341
337
  this.addSrcset(d, "only screen and (min-width: 40.0625em)");
342
- const c = await this.transformImgPath(o, i, "-l");
343
- this.addSrcset(c, "only screen and (min-width: 64.0625em)"), this.addImg(s, r, e);
338
+ const f = await this.transformImgPath(o, i, "-l");
339
+ this.addSrcset(f, "only screen and (min-width: 64.0625em)"), this.addImg(s, r, e);
344
340
  }
345
341
  updateLoading(t) {
346
342
  !this.$imgEl || !this.src || (t && (t === "lazy" || t === "eager") ? this.$imgEl.loading = t : this.$imgEl.removeAttribute("loading"));
@@ -349,10 +345,10 @@ const p = class p extends n {
349
345
  !this.$imgEl || !this.src || (this.$imgEl.alt = t || "");
350
346
  }
351
347
  };
352
- p.nativeName = "picture";
353
- let b = p;
354
- customElements.get("px-picture") || customElements.define("px-picture", b);
348
+ h.nativeName = "picture";
349
+ let l = h;
350
+ customElements.get("px-picture") || customElements.define("px-picture", l);
355
351
  export {
356
- h as Image,
357
- b as Picture
352
+ u as Image,
353
+ l as Picture
358
354
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proximus/lavender-image",
3
- "version": "1.4.1",
3
+ "version": "1.4.3-alpha.1",
4
4
  "description": "",
5
5
  "main": "dist/index.es.js",
6
6
  "types": "dist/index.d.ts",