@proximus/lavender-button-icon 1.4.14-beta.3 → 1.4.14

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.
@@ -21,14 +21,14 @@ export declare class ButtonIcon extends PxElement<HTMLButtonElement> {
21
21
  updateLoading(): void;
22
22
  updateSize(oldValue: string, newValue: string): void;
23
23
  updateVariant(oldValue: string, newValue: string): void;
24
- get inverted(): boolean;
25
- set inverted(value: boolean);
26
- get loading(): boolean;
27
- set loading(value: boolean);
28
- get size(): string | null;
29
- set size(value: string | null);
30
- get variant(): string | null;
31
- set variant(value: string | null);
32
- get ariaExpanded(): string | null;
33
- set ariaExpanded(value: string | null);
24
+ get inverted(): string;
25
+ set inverted(value: string);
26
+ get loading(): string;
27
+ set loading(value: string);
28
+ get size(): string;
29
+ set size(value: string);
30
+ get variant(): string;
31
+ set variant(value: string);
32
+ get ariaExpanded(): string;
33
+ set ariaExpanded(value: string);
34
34
  }
package/dist/index.es.js CHANGED
@@ -1,105 +1,109 @@
1
- import { PxElement as e, accessibilityAttributes as t, log as n } from "@proximus/lavender-common";
2
- //#region src/buttonicon.css?inline
3
- var r = ".btn-icon,.btn-icon *{box-sizing:border-box}.btn-icon{font-size:var(--px-font-size-base);width:var(--px-size-l);height:var(--px-size-l);vertical-align:middle;cursor:pointer;--btn-transition:all .2s ease-in-out 0s;transition:var(--btn-transition);background:var(--px-color-background-container-primary-default);color:var(--px-color-icon-brand-inverted);border-radius:var(--px-radius-pill);padding:var(--px-padding-xs-mobile);border:var(--px-size-border-m) solid transparent;justify-content:center;align-items:center;display:inline-flex}.btn-icon ::slotted(px-icon){line-height:0}.btn-icon:hover:not([disabled],[aria-disabled=true],.btn-icon--state-loading){background:var(--px-color-background-state-hover-bordered-default);color:var(--px-color-icon-brand-default);border-color:var(--px-color-border-state-hover-default)}.btn-icon:active:not([disabled],[aria-disabled=true],.btn-icon--state-loading){background:var(--px-color-background-state-active-inverted);color:var(--px-color-icon-state-active-default);border-color:var(--px-color-border-state-active-default)}.btn-icon:focus-visible:not([disabled],[aria-disabled=true]){outline-offset:var(--px-focus-offset-mobile);outline:var(--px-focus-outline-mobile) solid var(--px-color-border-focus-outline-default)}.btn-icon[disabled],.btn-icon[aria-disabled=true]{background:var(--px-color-background-state-disabled-default);color:var(--px-color-icon-state-disabled-default);cursor:default;pointer-events:none}.btn-icon.btn-icon--state-loading{background:var(--px-color-background-state-disabled-default);color:var(--px-color-icon-brand-default);cursor:inherit}.btn-icon--size-small{padding:var(--px-padding-2xs-mobile);width:var(--px-size-m);height:var(--px-size-m)}.btn-icon--variant-secondary{background-color:var(--px-color-background-container-secondary-default);color:var(--px-color-icon-brand-default)}.btn-icon--variant-naked{color:var(--px-color-icon-brand-default);background-color:#0000;width:auto;height:auto}:host([inverted]) .btn-icon{background:var(--px-color-background-container-primary-inverted);color:var(--px-color-icon-brand-default)}:host([inverted]) .btn-icon:hover:not([disabled],[aria-disabled=true],.btn-icon--state-loading){background:var(--px-color-background-state-hover-bordered-inverted);color:var(--px-color-icon-brand-inverted);border-color:var(--px-color-border-state-hover-inverted)}:host([inverted]) .btn-icon:active:not([disabled],[aria-disabled=true],.btn-icon--state-loading){background:var(--px-color-background-state-hover-default);color:var(--px-color-icon-state-active-inverted);border-color:var(--px-color-border-state-active-inverted)}:host([inverted]) .btn-icon:focus-visible:not([disabled],[aria-disabled=true]){outline-color:var(--px-color-border-focus-outline-inverted)}:host([inverted]) .btn-icon[disabled],:host([inverted]) .btn-icon[aria-disabled=true]{background:var(--px-color-background-state-disabled-inverted);color:var(--px-color-icon-state-disabled-inverted)}:host([inverted]) .btn-icon.btn-icon--state-loading{background:var(--px-color-background-state-disabled-inverted);color:var(--px-color-icon-brand-inverted);border-color:#0000}:host([inverted]) .btn-icon.btn-icon--variant-naked{color:var(--px-color-icon-brand-inverted);background-color:#0000}:host([inverted]) .btn-icon--variant-secondary{background-color:var(--px-color-background-container-secondary-inverted);color:var(--px-color-icon-brand-inverted)}@media screen and (width>=48rem){.btn-icon{padding:var(--px-padding-xs-desktop)}.btn-icon:focus-visible:not([disabled],[aria-disabled=true]){outline-offset:var(--px-focus-offset-desktop);outline-width:var(--px-focus-outline-desktop)}.btn-icon--size-small{padding:var(--px-padding-2xs-desktop)}}@media screen and (width>=64.0625rem){.btn-icon{padding:var(--px-padding-xs-desktop)}.btn-icon:focus-visible:not([disabled],[aria-disabled=true]){outline-offset:var(--px-focus-offset-desktop);outline-width:var(--px-focus-outline-desktop)}.btn-icon--size-small{padding:var(--px-padding-2xs-desktop)}}", i = new CSSStyleSheet();
4
- i.replaceSync(r);
5
- var a = [
6
- "",
7
- "default",
8
- "small"
9
- ], o = [
10
- "",
11
- "default",
12
- "secondary",
13
- "naked"
14
- ], s = class r extends e {
15
- static {
16
- this.nativeName = "button";
17
- }
18
- constructor() {
19
- super(i), this.template = () => "<slot></slot>";
20
- let e = document.createElement(r.nativeName);
21
- e.classList.add("btn-icon"), e.innerHTML = this.template(), this.shadowRoot.appendChild(e);
22
- }
23
- static get observedAttributes() {
24
- return [
25
- ...super.observedAttributes,
26
- ...t,
27
- "inverted",
28
- "loading",
29
- "size",
30
- "variant",
31
- "aria-expanded"
32
- ];
33
- }
34
- connectedCallback() {
35
- let e = this.querySelector("px-icon");
36
- if (e) {
37
- let t = e.getAttribute("size"), n = e.getAttribute("color");
38
- e.addEventListener("click", () => {
39
- this.$el.focus();
40
- }), t || e.setAttribute("size", "s"), this.size === "small" && e.setAttribute("size", "xs"), n || e.setAttribute("color", "inherit");
41
- }
42
- }
43
- attributeChangedCallback(e, t, n) {
44
- if (t !== n) switch (e) {
45
- case "loading":
46
- this.updateLoading();
47
- break;
48
- case "size":
49
- this.updateSize(t, n);
50
- break;
51
- case "variant":
52
- this.updateVariant(t, n);
53
- break;
54
- case "aria-expanded":
55
- n && (this.$el.setAttribute("aria-expanded", n), this.removeAttribute("aria-expanded"));
56
- break;
57
- default: super.attributeChangedCallback(e, t, n);
58
- }
59
- }
60
- _toggleClass(e, t) {
61
- e !== null && e !== "" && e !== "default" && this.$el.classList.toggle(e), t !== null && t !== "" && t !== "default" && this.$el.classList.toggle(t);
62
- }
63
- updateLoading() {
64
- this.$el.classList.toggle("btn-icon--state-loading");
65
- }
66
- updateSize(e, t) {
67
- this.checkName(a, t) ? (e !== null && e !== "" && e !== "default" && this.$el.classList.toggle(`btn-icon--size-${e}`), t !== null && t !== "" && t !== "default" && this.$el.classList.toggle(`btn-icon--size-${t}`)) : n(`"${t}" is not a valid size value for ${this.tagName.toLowerCase()}. Allowed values are: "${a.join("\", \"")}".`);
68
- }
69
- updateVariant(e, t) {
70
- this.checkName(o, t) ? (e !== null && e !== "" && e !== "default" && this.$el.classList.toggle(`btn-icon--variant-${e}`), t !== null && t !== "" && t !== "default" && this.$el.classList.toggle(`btn-icon--variant-${t}`)) : n(`"${t}" is not a valid variant value for ${this.tagName.toLowerCase()}. Allowed values are: "${o.join("\", \"")}".`);
71
- }
72
- get inverted() {
73
- return this.hasAttribute("inverted");
74
- }
75
- set inverted(e) {
76
- this._updateBooleanAttribute("inverted", e);
77
- }
78
- get loading() {
79
- return this.hasAttribute("loading");
80
- }
81
- set loading(e) {
82
- this._updateBooleanAttribute("loading", e);
83
- }
84
- get size() {
85
- return this.getAttribute("size");
86
- }
87
- set size(e) {
88
- this._updateAttribute("size", e);
89
- }
90
- get variant() {
91
- return this.getAttribute("variant");
92
- }
93
- set variant(e) {
94
- this._updateAttribute("variant", e);
95
- }
96
- get ariaExpanded() {
97
- return this.getAttribute("aria-expanded");
98
- }
99
- set ariaExpanded(e) {
100
- this._updateAttribute("aria-expanded", e);
101
- }
1
+ import { PxElement as c, accessibilityAttributes as l, log as a } from "@proximus/lavender-common";
2
+ const b = ".btn-icon{font-size:var(--px-font-size-base);display:inline-flex;width:var(--px-size-l);height:var(--px-size-l);vertical-align:middle;align-items:center;justify-content:center;cursor:pointer;--btn-transition: all .2s ease-in-out 0s;transition:var(--btn-transition);background:var(--px-color-background-container-primary-default);color:var(--px-color-icon-brand-inverted);border-radius:var(--px-radius-pill);padding:var(--px-padding-xs-mobile);border:var(--px-size-border-m) solid transparent}.btn-icon,.btn-icon *{box-sizing:border-box}.btn-icon ::slotted(px-icon){line-height:0}.btn-icon:hover:not([disabled],[aria-disabled=true],.btn-icon--state-loading){background:var(--px-color-background-state-hover-bordered-default);color:var(--px-color-icon-brand-default);border-color:var(--px-color-border-state-hover-default)}.btn-icon:active:not([disabled],[aria-disabled=true],.btn-icon--state-loading){background:var(--px-color-background-state-active-inverted);color:var(--px-color-icon-state-active-default);border-color:var(--px-color-border-state-active-default)}.btn-icon:focus-visible:not([disabled],[aria-disabled=true]){outline-offset:var(--px-focus-offset-mobile);outline:var(--px-focus-outline-mobile) solid var(--px-color-border-focus-outline-default)}.btn-icon[disabled],.btn-icon[aria-disabled=true]{background:var(--px-color-background-state-disabled-default);color:var(--px-color-icon-state-disabled-default);cursor:default;pointer-events:none}.btn-icon.btn-icon--state-loading{background:var(--px-color-background-state-disabled-default);color:var(--px-color-icon-brand-default);cursor:inherit}.btn-icon--size-small{padding:var(--px-padding-2xs-mobile);width:var(--px-size-m);height:var(--px-size-m)}.btn-icon--variant-secondary{background-color:var(--px-color-background-container-secondary-default);color:var(--px-color-icon-brand-default)}.btn-icon--variant-naked{background-color:transparent;color:var(--px-color-icon-brand-default);width:auto;height:auto}:host([inverted]) .btn-icon{background:var(--px-color-background-container-primary-inverted);color:var(--px-color-icon-brand-default)}:host([inverted]) .btn-icon:hover:not([disabled],[aria-disabled=true],.btn-icon--state-loading){background:var(--px-color-background-state-hover-bordered-inverted);color:var(--px-color-icon-brand-inverted);border-color:var(--px-color-border-state-hover-inverted)}:host([inverted]) .btn-icon:active:not([disabled],[aria-disabled=true],.btn-icon--state-loading){background:var(--px-color-background-state-hover-default);color:var(--px-color-icon-state-active-inverted);border-color:var(--px-color-border-state-active-inverted)}:host([inverted]) .btn-icon:focus-visible:not([disabled],[aria-disabled=true]){outline-color:var(--px-color-border-focus-outline-inverted)}:host([inverted]) .btn-icon[disabled],:host([inverted]) .btn-icon[aria-disabled=true]{background:var(--px-color-background-state-disabled-inverted);color:var(--px-color-icon-state-disabled-inverted)}:host([inverted]) .btn-icon.btn-icon--state-loading{background:var(--px-color-background-state-disabled-inverted);color:var(--px-color-icon-brand-inverted);border-color:transparent}:host([inverted]) .btn-icon.btn-icon--variant-naked{background-color:transparent;color:var(--px-color-icon-brand-inverted)}:host([inverted]) .btn-icon--variant-secondary{background-color:var(--px-color-background-container-secondary-inverted);color:var(--px-color-icon-brand-inverted)}@media screen and (min-width: 48rem){.btn-icon{padding:var(--px-padding-xs-desktop)}.btn-icon:focus-visible:not([disabled],[aria-disabled=true]){outline-offset:var(--px-focus-offset-desktop);outline-width:var(--px-focus-outline-desktop)}.btn-icon--size-small{padding:var(--px-padding-2xs-desktop)}}@media screen and (min-width: 64.0625rem){.btn-icon{padding:var(--px-padding-xs-desktop)}.btn-icon:focus-visible:not([disabled],[aria-disabled=true]){outline-offset:var(--px-focus-offset-desktop);outline-width:var(--px-focus-outline-desktop)}.btn-icon--size-small{padding:var(--px-padding-2xs-desktop)}}", d = new CSSStyleSheet();
3
+ d.replaceSync(b);
4
+ const n = ["", "default", "small"], s = [
5
+ "",
6
+ "default",
7
+ "secondary",
8
+ "naked"
9
+ ], o = class o extends c {
10
+ constructor() {
11
+ super(d), this.template = () => "<slot></slot>";
12
+ const t = document.createElement(o.nativeName);
13
+ t.classList.add("btn-icon"), t.innerHTML = this.template(), this.shadowRoot.appendChild(t);
14
+ }
15
+ static get observedAttributes() {
16
+ return [
17
+ ...super.observedAttributes,
18
+ ...l,
19
+ "inverted",
20
+ "loading",
21
+ "size",
22
+ "variant",
23
+ "aria-expanded"
24
+ ];
25
+ }
26
+ connectedCallback() {
27
+ const t = this.querySelector("px-icon");
28
+ if (t) {
29
+ const e = t.getAttribute("size"), i = t.getAttribute("color");
30
+ t.addEventListener("click", () => {
31
+ this.$el.focus();
32
+ }), e || t.setAttribute("size", "s"), this.size === "small" && t.setAttribute("size", "xs"), i || t.setAttribute("color", "inherit");
33
+ }
34
+ }
35
+ attributeChangedCallback(t, e, i) {
36
+ if (e !== i)
37
+ switch (t) {
38
+ case "loading":
39
+ this.updateLoading();
40
+ break;
41
+ case "size":
42
+ this.updateSize(e, i);
43
+ break;
44
+ case "variant":
45
+ this.updateVariant(e, i);
46
+ break;
47
+ case "aria-expanded":
48
+ i && (this.$el.setAttribute("aria-expanded", i), this.removeAttribute("aria-expanded"));
49
+ break;
50
+ default:
51
+ super.attributeChangedCallback(t, e, i);
52
+ break;
53
+ }
54
+ }
55
+ _toggleClass(t, e) {
56
+ t !== null && t !== "" && t !== "default" && this.$el.classList.toggle(t), e !== null && e !== "" && e !== "default" && this.$el.classList.toggle(e);
57
+ }
58
+ updateLoading() {
59
+ this.$el.classList.toggle("btn-icon--state-loading");
60
+ }
61
+ updateSize(t, e) {
62
+ this.checkName(n, e) ? (t !== null && t !== "" && t !== "default" && this.$el.classList.toggle(`btn-icon--size-${t}`), e !== null && e !== "" && e !== "default" && this.$el.classList.toggle(`btn-icon--size-${e}`)) : a(
63
+ `"${e}" is not a valid size value for ${this.tagName.toLowerCase()}. Allowed values are: "${n.join('", "')}".`
64
+ );
65
+ }
66
+ updateVariant(t, e) {
67
+ this.checkName(s, e) ? (t !== null && t !== "" && t !== "default" && this.$el.classList.toggle(`btn-icon--variant-${t}`), e !== null && e !== "" && e !== "default" && this.$el.classList.toggle(`btn-icon--variant-${e}`)) : a(
68
+ `"${e}" is not a valid variant value for ${this.tagName.toLowerCase()}. Allowed values are: "${s.join('", "')}".`
69
+ );
70
+ }
71
+ get inverted() {
72
+ return this.getAttribute("inverted");
73
+ }
74
+ set inverted(t) {
75
+ this.setAttribute("inverted", t);
76
+ }
77
+ get loading() {
78
+ return this.getAttribute("loading");
79
+ }
80
+ set loading(t) {
81
+ this.setAttribute("loading", t);
82
+ }
83
+ get size() {
84
+ return this.getAttribute("size");
85
+ }
86
+ set size(t) {
87
+ this.setAttribute("size", t);
88
+ }
89
+ get variant() {
90
+ return this.getAttribute("variant");
91
+ }
92
+ set variant(t) {
93
+ this.setAttribute("variant", t);
94
+ }
95
+ get ariaExpanded() {
96
+ return this.getAttribute("aria-expanded");
97
+ }
98
+ set ariaExpanded(t) {
99
+ t ? this.setAttribute("aria-expanded", t) : this.removeAttribute("aria-expanded");
100
+ }
101
+ };
102
+ o.nativeName = "button";
103
+ let r = o;
104
+ customElements.get("px-button-icon") || customElements.define("px-button-icon", r);
105
+ export {
106
+ r as ButtonIcon,
107
+ n as buttonIconSizeValues,
108
+ s as buttonIconVariantValues
102
109
  };
103
- customElements.get("px-button-icon") || customElements.define("px-button-icon", s);
104
- //#endregion
105
- export { s as ButtonIcon, a as buttonIconSizeValues, o as buttonIconVariantValues };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proximus/lavender-button-icon",
3
- "version": "1.4.14-beta.3",
3
+ "version": "1.4.14",
4
4
  "description": "",
5
5
  "main": "dist/index.es.js",
6
6
  "types": "dist/index.d.ts",