@proximus/lavender-tag 1.4.12-beta.2 → 1.4.12

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/Tag.d.ts CHANGED
@@ -1,8 +1,6 @@
1
1
  import { PxElement } from '@proximus/lavender-common';
2
2
  import { type ButtonIcon } from '@proximus/lavender-button-icon';
3
3
  import '@proximus/lavender-button-icon';
4
- export declare const tagSizeValues: string[];
5
- export declare const tagStateValues: string[];
6
4
  export declare class Tag extends PxElement<HTMLDivElement> {
7
5
  static nativeName: string;
8
6
  private template;
@@ -10,26 +8,10 @@ export declare class Tag extends PxElement<HTMLDivElement> {
10
8
  connectedCallback(): void;
11
9
  static get observedAttributes(): string[];
12
10
  attributeChangedCallback(attrName: string, oldValue: string, newValue: string): void;
13
- updateStateStyles(oldValue: string, newValue: string, attributeValues: string[]): void;
14
- getStateIcon(state: string): "" | "checkmark_fill" | "minus_fill" | "exclamation_mark_fill";
15
- updateStateIconLabel(newValue: string): void;
16
- updateStateIconFrom(newValue: string): void;
17
- styleBeforeIcon(): void;
18
- styleAfterBtnIcon(): void;
19
- get $slottedBeforeIcon(): HTMLSlotElement;
20
- get $slotBefore(): HTMLSlotElement;
21
- get $slottedAfterBtnIcon(): ButtonIcon;
22
- get $slotAfter(): HTMLSlotElement;
23
- get size(): string;
24
- set size(value: string);
25
- get state(): string;
26
- set state(value: string);
27
- get dismissible(): boolean;
28
- set dismissible(value: boolean);
29
- get inverted(): boolean;
30
- set inverted(value: boolean);
31
- get stateIconAriaLabel(): string;
32
- set stateIconAriaLabel(value: string);
33
- get stateIconFrom(): string;
34
- set stateIconFrom(value: string);
11
+ get $iconSlot(): HTMLSlotElement;
12
+ get $btnIcon(): ButtonIcon;
13
+ get dismissible(): string;
14
+ set dismissible(value: string);
15
+ get inverted(): string;
16
+ set inverted(value: string);
35
17
  }
package/dist/index.es.js CHANGED
@@ -1,156 +1,59 @@
1
- import { PxElement as n } from "@proximus/lavender-common";
1
+ import { PxElement as o } from "@proximus/lavender-common";
2
2
  import "@proximus/lavender-button-icon";
3
- const l = ':host:has(.tag){display:inline-block}.tag{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;font-family:var(--px-font-family);font-size:var(--px-text-size-label-m-mobile);line-height:var(--px-line-height-ratio-l);font-weight:var(--px-font-weight-body);gap:var(--px-spacing-2xs-mobile);background-color:var(--px-color-background-container-default-default);color:var(--px-color-text-neutral-default);padding:var(--px-padding-2xs-mobile) var(--px-padding-xs-mobile);border:var(--px-size-border-s) solid transparent;border-radius:var(--px-radius-main)}.tag,.tag *{box-sizing:border-box}:host([disabled]:not([dismissible])) .tag{background-color:var(--px-color-background-state-disabled-default);color:var(--px-color-text-state-disabled-default)}:host([size="s"]) .tag{padding:var(--px-padding-2xs-mobile) var(--px-padding-xs-mobile);gap:var(--px-spacing-2xs-mobile)}:host([size="m"]) .tag{padding:var(--px-padding-xs-mobile) var(--px-padding-s-mobile);gap:var(--px-spacing-xs-mobile)}:host([state="success"]) .tag{background-color:var(--px-color-background-purpose-success-default);color:var(--px-color-text-neutral-inverted)}:host([state="warning"]) .tag{background-color:var(--px-color-background-purpose-warning-default);color:var(--px-color-text-neutral-inverted)}:host([state="error"]) .tag{background-color:var(--px-color-background-purpose-error-default);color:var(--px-color-text-neutral-inverted)}:host([inverted]) .tag{background-color:var(--px-color-background-container-default-inverted);color:var(--px-color-text-neutral-inverted)}:host([inverted]):host([disabled]:not([dismissible])) .tag{background-color:var(--px-color-background-state-disabled-inverted);color:var(--px-color-text-state-disabled-inverted)}:host([inverted]):host([state="success"]) .tag{background-color:var(--px-color-background-purpose-success-inverted);color:var(--px-color-text-neutral-default)}:host([inverted]):host([state="warning"]) .tag{background-color:var(--px-color-background-purpose-warning-inverted);color:var(--px-color-text-neutral-default)}:host([inverted]):host([state="error"]) .tag{background-color:var(--px-color-background-purpose-error-inverted);color:var(--px-color-text-neutral-default)}@media screen and (min-width: 48rem){.tag{font-size:var(--px-text-size-label-m-tablet);gap:var(--px-spacing-2xs-tablet);padding:var(--px-padding-2xs-tablet) var(--px-padding-xs-tablet)}:host([size="s"]) .tag{padding:var(--px-padding-2xs-tablet) var(--px-padding-xs-tablet);gap:var(--px-spacing-2xs-tablet)}:host([size="m"]) .tag{padding:var(--px-padding-xs-tablet) var(--px-padding-s-tablet);gap:var(--px-spacing-xs-tablet)}}@media screen and (min-width: 64.0625rem){.tag{font-size:var(--px-text-size-label-m-laptop);gap:var(--px-spacing-2xs-laptop);padding:var(--px-padding-2xs-laptop) var(--px-padding-xs-laptop)}:host([size="s"]) .tag{padding:var(--px-padding-2xs-laptop) var(--px-padding-xs-laptop);gap:var(--px-spacing-2xs-laptop)}:host([size="m"]) .tag{padding:var(--px-padding-xs-laptop) var(--px-padding-s-laptop);gap:var(--px-spacing-xs-laptop)}}@media screen and (min-width: 90.0625rem){.tag{font-size:var(--px-text-size-label-m-desktop);gap:var(--px-spacing-2xs-desktop);padding:var(--px-padding-2xs-desktop) var(--px-padding-xs-desktop)}:host([size="s"]) .tag{padding:var(--px-padding-2xs-desktop) var(--px-padding-xs-desktop);gap:var(--px-spacing-2xs-desktop)}:host([size="m"]) .tag{padding:var(--px-padding-xs-desktop) var(--px-padding-s-desktop);gap:var(--px-spacing-xs-desktop)}}', r = new CSSStyleSheet();
4
- r.replaceSync(l);
5
- const g = ["", "s", "m"], d = ["", "success", "error", "warning"], o = class o extends n {
3
+ const n = ":host:has(.tag){display:inline-block}.tag{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;font-family:var(--px-font-family);font-size:var(--px-text-size-label-m-mobile);line-height:var(--px-line-height-ratio-l);font-weight:var(--px-font-weight-body);gap:var(--px-spacing-xs-mobile);background-color:var(--px-color-background-container-default-default);color:var(--px-color-text-neutral-default);padding:var(--px-padding-2xs-mobile) var(--px-padding-xs-mobile);border:var(--px-size-border-s) solid transparent;border-radius:var(--px-radius-main)}.tag,.tag *{box-sizing:border-box}:host([disabled]) .tag{background-color:var(--px-color-background-state-disabled-default);color:var(--px-color-text-state-disabled-default)}:host([inverted]) .tag{background-color:var(--px-color-background-container-default-inverted);color:var(--px-color-text-neutral-inverted)}:host([inverted]):host([disabled]) .tag{background-color:var(--px-color-background-state-disabled-inverted);color:var(--px-color-text-state-disabled-inverted)}@media screen and (min-width: 48rem){.tag{font-size:var(--px-text-size-label-m-tablet);gap:var(--px-spacing-xs-tablet);padding:var(--px-padding-2xs-tablet) var(--px-padding-xs-tablet)}}@media screen and (min-width: 64.0625rem){.tag{font-size:var(--px-text-size-label-m-laptop);gap:var(--px-spacing-xs-laptop);padding:var(--px-padding-2xs-laptop) var(--px-padding-xs-laptop)}}", e = new CSSStyleSheet();
4
+ e.replaceSync(n);
5
+ const a = class a extends o {
6
6
  template() {
7
7
  return `
8
- <div class="tag">
9
- <slot name="before"></slot>
10
- <slot></slot>
11
- <slot name="after"></slot>
12
- </div>
8
+ <div class="tag">
9
+ <slot name="before"></slot>
10
+ <slot></slot>
11
+ <slot name="after"></slot>
12
+ </div>
13
13
  `;
14
14
  }
15
15
  constructor() {
16
- super(r), this.shadowRoot.innerHTML = this.template(), this.shadowRoot.adoptedStyleSheets = [r];
16
+ super(e), this.shadowRoot.innerHTML = this.template(), this.shadowRoot.adoptedStyleSheets = [e];
17
17
  }
18
18
  connectedCallback() {
19
- var t, e;
20
- this.styleBeforeIcon = this.styleBeforeIcon.bind(this), this.styleBeforeIcon(), (t = this.$slotBefore) == null || t.addEventListener("slotchange", this.styleBeforeIcon), this.styleAfterBtnIcon = this.styleAfterBtnIcon.bind(this), this.styleAfterBtnIcon(), (e = this.$slotAfter) == null || e.addEventListener("slotchange", this.styleAfterBtnIcon);
19
+ this.$iconSlot && (this.$iconSlot.setAttribute("size", "xs"), this.$iconSlot.setAttribute("color", "inherit")), this.$btnIcon && (this.$btnIcon.getAttribute("variant") !== "secondary" && this.$btnIcon.setAttribute("variant", "secondary"), this.$btnIcon.getAttribute("size") !== "small" && this.$btnIcon.setAttribute("size", "small"));
21
20
  }
22
21
  static get observedAttributes() {
23
- return [
24
- "dismissible",
25
- "inverted",
26
- "disabled",
27
- "size",
28
- "state",
29
- "state-icon-aria-label",
30
- "state-icon-from"
31
- ];
22
+ return ["dismissible", "inverted", "disabled"];
32
23
  }
33
- attributeChangedCallback(t, e, a) {
34
- if (e !== a)
24
+ attributeChangedCallback(t, r, s) {
25
+ if (r !== s)
35
26
  switch (t) {
36
27
  case "inverted":
37
- this.hasAttribute("dismissible") && this.$slottedAfterBtnIcon.toggleAttribute("inverted");
38
- break;
39
- case "state":
40
- this.hasAttribute("dismissible") || this.updateStateStyles(e, a, d);
41
- break;
42
- case "state-icon-aria-label":
43
- this.hasAttribute("dismissible") || this.updateStateIconLabel(a);
44
- break;
45
- case "state-icon-from":
46
- this.hasAttribute("dismissible") || this.updateStateIconFrom(a);
28
+ this.hasAttribute("dismissible") && this.$btnIcon.toggleAttribute("inverted");
47
29
  break;
48
30
  default:
49
- super.attributeChangedCallback(t, e, a);
31
+ super.attributeChangedCallback(t, r, s);
50
32
  break;
51
33
  }
52
34
  }
53
- updateStateStyles(t, e, a) {
54
- if (!a.includes(t) && a.includes(e)) {
55
- const s = document.createElement("px-icon");
56
- s.setAttribute("size", "xs"), s.setAttribute("color", "inherit"), s.setAttribute(
57
- "from",
58
- this.stateIconFrom ? this.stateIconFrom : "lavender"
59
- ), s.setAttribute("name", this.getStateIcon(e)), this.stateIconAriaLabel && (s.setAttribute("aria-label", this.stateIconAriaLabel), s.setAttribute("title", this.stateIconAriaLabel)), this.$el.insertAdjacentElement("afterbegin", s);
60
- } else if (a.includes(t) && !a.includes(e)) {
61
- const s = this.$el.querySelector("px-icon");
62
- s && this.$el.removeChild(s);
63
- } else if (a.includes(t) && a.includes(e)) {
64
- const s = this.$el.querySelector("px-icon");
65
- s && s.setAttribute("name", this.getStateIcon(e));
66
- }
67
- }
68
- getStateIcon(t) {
69
- switch (t) {
70
- case "success":
71
- return "checkmark_fill";
72
- case "error":
73
- return "minus_fill";
74
- case "warning":
75
- return "exclamation_mark_fill";
76
- default:
77
- return "";
78
- }
79
- }
80
- updateStateIconLabel(t) {
81
- const e = this.$el.querySelector("px-icon");
82
- e && (t ? (e.setAttribute("aria-label", t), e.setAttribute("title", t)) : (e.removeAttribute("aria-label"), e.removeAttribute("title")));
83
- }
84
- updateStateIconFrom(t) {
85
- const e = this.$el.querySelector("px-icon");
86
- e && (t ? e.setAttribute("from", t) : e.setAttribute("from", "lavender"));
87
- }
88
- styleBeforeIcon() {
89
- this.$slottedBeforeIcon && (this.$slottedBeforeIcon.setAttribute("size", "xs"), this.$slottedBeforeIcon.setAttribute("color", "inherit"));
90
- }
91
- styleAfterBtnIcon() {
92
- this.$slottedAfterBtnIcon && (this.$slottedAfterBtnIcon.setAttribute("variant", "secondary"), this.$slottedAfterBtnIcon.setAttribute("size", "small"));
93
- }
94
- get $slottedBeforeIcon() {
35
+ get $iconSlot() {
95
36
  return this.querySelector('px-icon[slot="before"]');
96
37
  }
97
- get $slotBefore() {
98
- var t;
99
- return (t = this.shadowRoot) == null ? void 0 : t.querySelector(
100
- 'slot[name="before"]'
101
- );
102
- }
103
- get $slottedAfterBtnIcon() {
104
- return this.querySelector('px-button-icon[slot="after"]');
105
- }
106
- get $slotAfter() {
107
- var t;
108
- return (t = this.shadowRoot) == null ? void 0 : t.querySelector(
109
- 'slot[name="after"]'
110
- );
111
- }
112
- get size() {
113
- return this.getAttribute("size") || "";
114
- }
115
- set size(t) {
116
- this.setAttribute("size", t);
117
- }
118
- get state() {
119
- return this.getAttribute("state") || "";
120
- }
121
- set state(t) {
122
- this.setAttribute("state", t);
38
+ get $btnIcon() {
39
+ return this.querySelector("px-button-icon");
123
40
  }
124
41
  get dismissible() {
125
- return this.hasAttribute("dismissible");
42
+ return this.getAttribute("dismissible");
126
43
  }
127
44
  set dismissible(t) {
128
- t ? this.setAttribute("dismissible", "") : this.removeAttribute("dismissible");
45
+ this.setAttribute("dismissible", t);
129
46
  }
130
47
  get inverted() {
131
- return this.hasAttribute("inverted");
48
+ return this.getAttribute("inverted");
132
49
  }
133
50
  set inverted(t) {
134
- t ? this.setAttribute("inverted", "") : this.removeAttribute("inverted");
135
- }
136
- get stateIconAriaLabel() {
137
- return this.getAttribute("state-icon-aria-label") || "";
138
- }
139
- set stateIconAriaLabel(t) {
140
- this.setAttribute("state-icon-aria-label", t);
141
- }
142
- get stateIconFrom() {
143
- return this.getAttribute("state-icon-from") || "";
144
- }
145
- set stateIconFrom(t) {
146
- this.setAttribute("state-icon-from", t);
51
+ this.setAttribute("inverted", t);
147
52
  }
148
53
  };
149
- o.nativeName = "div";
150
- let i = o;
54
+ a.nativeName = "div";
55
+ let i = a;
151
56
  customElements.get("px-tag") || customElements.define("px-tag", i);
152
57
  export {
153
- i as Tag,
154
- g as tagSizeValues,
155
- d as tagStateValues
58
+ i as Tag
156
59
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proximus/lavender-tag",
3
- "version": "1.4.12-beta.2",
3
+ "version": "1.4.12",
4
4
  "description": "",
5
5
  "main": "dist/index.es.js",
6
6
  "types": "dist/index.d.ts",