@justeattakeaway/pie-icon-button 2.0.6 → 2.1.0

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.
@@ -101,6 +101,15 @@
101
101
  "name": "isLoading",
102
102
  "privacy": "public"
103
103
  },
104
+ {
105
+ "kind": "field",
106
+ "name": "shadowRootOptions",
107
+ "type": {
108
+ "text": "object"
109
+ },
110
+ "static": true,
111
+ "default": "{ ...LitElement.shadowRootOptions, delegatesFocus: true }"
112
+ },
104
113
  {
105
114
  "kind": "method",
106
115
  "name": "renderSpinner",
package/dist/index.d.ts CHANGED
@@ -51,6 +51,12 @@ export declare class PieIconButton extends PieElement implements IconButtonProps
51
51
  variant: "primary" | "secondary" | "outline" | "ghost" | "ghost-secondary" | "inverse" | "ghost-inverse";
52
52
  disabled: boolean;
53
53
  isLoading: boolean;
54
+ static shadowRootOptions: {
55
+ delegatesFocus: boolean;
56
+ mode: ShadowRootMode;
57
+ serializable?: boolean;
58
+ slotAssignment?: SlotAssignmentMode;
59
+ };
54
60
  /**
55
61
  * Template for the loading state
56
62
  *
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
- import { LitElement as B, unsafeCSS as x, html as m } from "lit";
1
+ import { LitElement as g, unsafeCSS as x, html as m } from "lit";
2
2
  import { classMap as f } from "lit/directives/class-map.js";
3
3
  import { property as d } from "lit/decorators.js";
4
4
  import { ifDefined as l } from "lit/directives/if-defined.js";
5
- import { validPropertyValues as g, safeCustomElement as u } from "@justeattakeaway/pie-webc-core";
5
+ import { validPropertyValues as p, safeCustomElement as u } from "@justeattakeaway/pie-webc-core";
6
6
  import "@justeattakeaway/pie-spinner";
7
- const v = class v extends B {
7
+ const v = class v extends g {
8
8
  willUpdate() {
9
9
  this.getAttribute("v") || this.setAttribute("v", v.v);
10
10
  }
11
11
  };
12
- v.v = "2.0.6";
12
+ v.v = "2.1.0";
13
13
  let h = v;
14
14
  const y = "*,*:after,*:before{box-sizing:inherit}:host{display:inline-block;--btn-dimension-default: 48px;--icon-size-override: 24px}.o-iconBtn{--btn-border-radius: var(--dt-radius-rounded-e);--int-states-mixin-bg-color: var(--dt-color-interactive-brand);--btn-icon-fill: var(--dt-color-content-interactive-light);--icon-display-override: block;block-size:var(--btn-dimension, var(--btn-dimension-default));inline-size:var(--btn-dimension, var(--btn-dimension-default));border-color:var(--btn-border-color);border-radius:var(--btn-border-radius);background-color:var(--int-states-mixin-bg-color);color:var(--btn-icon-fill);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;border:none;display:flex;align-items:center;justify-content:center}.o-iconBtn:focus-visible{box-shadow:0 0 0 2px var(--dt-color-focus-inner),0 0 0 4px var(--dt-color-focus-outer);outline:none}.o-iconBtn svg{height:var(--icon-size-override);width:var(--icon-size-override)}.o-iconBtn.o-iconBtn--primary:hover:not(:disabled,.is-disabled,.is-dismissible){--hover-modifier: calc(-1 * var(--dt-color-hover-01));--int-states-mixin-bg-color: hsl(var(--dt-color-interactive-brand-h), var(--dt-color-interactive-brand-s), calc(var(--dt-color-interactive-brand-l) + var(--hover-modifier)))}.o-iconBtn.o-iconBtn--primary:active:not(:disabled,.is-disabled,.is-dismissible),.o-iconBtn.o-iconBtn--primary.is-loading:not(:disabled,.is-disabled){--active-modifier: calc(-1 * var(--dt-color-active-01));--int-states-mixin-bg-color: hsl(var(--dt-color-interactive-brand-h), var(--dt-color-interactive-brand-s), calc(var(--dt-color-interactive-brand-l) + var(--active-modifier)))}@supports (background-color: color-mix(in srgb,black,white)){.o-iconBtn.o-iconBtn--primary:hover:not(:disabled,.is-disabled,.is-dismissible){--int-states-mixin-bg-color: color-mix(in srgb, var(--dt-color-hover-01-bg) var(--dt-color-hover-01), var(--dt-color-interactive-brand))}.o-iconBtn.o-iconBtn--primary:active:not(:disabled,.is-disabled,.is-dismissible),.o-iconBtn.o-iconBtn--primary.is-loading:not(:disabled,.is-disabled){--int-states-mixin-bg-color: color-mix(in srgb, var(--dt-color-active-01-bg) var(--dt-color-active-01), var(--dt-color-interactive-brand))}}.o-iconBtn.o-iconBtn--secondary{--int-states-mixin-bg-color: var(--dt-color-interactive-secondary);--btn-icon-fill: var(--dt-color-content-interactive-secondary)}.o-iconBtn.o-iconBtn--secondary:hover:not(:disabled,.is-disabled,.is-dismissible){--hover-modifier: calc(-1 * var(--dt-color-hover-01));--int-states-mixin-bg-color: hsl(var(--dt-color-interactive-secondary-h), var(--dt-color-interactive-secondary-s), calc(var(--dt-color-interactive-secondary-l) + var(--hover-modifier)))}.o-iconBtn.o-iconBtn--secondary:active:not(:disabled,.is-disabled,.is-dismissible),.o-iconBtn.o-iconBtn--secondary.is-loading:not(:disabled,.is-disabled){--active-modifier: calc(-1 * var(--dt-color-active-01));--int-states-mixin-bg-color: hsl(var(--dt-color-interactive-secondary-h), var(--dt-color-interactive-secondary-s), calc(var(--dt-color-interactive-secondary-l) + var(--active-modifier)))}@supports (background-color: color-mix(in srgb,black,white)){.o-iconBtn.o-iconBtn--secondary:hover:not(:disabled,.is-disabled,.is-dismissible){--int-states-mixin-bg-color: color-mix(in srgb, var(--dt-color-hover-01-bg) var(--dt-color-hover-01), var(--dt-color-interactive-secondary))}.o-iconBtn.o-iconBtn--secondary:active:not(:disabled,.is-disabled,.is-dismissible),.o-iconBtn.o-iconBtn--secondary.is-loading:not(:disabled,.is-disabled){--int-states-mixin-bg-color: color-mix(in srgb, var(--dt-color-active-01-bg) var(--dt-color-active-01), var(--dt-color-interactive-secondary))}}.o-iconBtn.o-iconBtn--outline{--int-states-mixin-bg-color: transparent;--btn-icon-fill: var(--dt-color-content-interactive-brand);border:1px solid var(--dt-color-border-strong)}.o-iconBtn.o-iconBtn--outline:hover:not(:disabled,.is-disabled,.is-dismissible){--hover-modifier: calc(-1 * var(--dt-color-hover-01));--hover-modifier: var(--dt-color-hover-01);--int-states-mixin-bg-color: hsl(var(--dt-color-black-h), var(--dt-color-black-s), var(--dt-color-black-l), var(--hover-modifier));--int-states-mixin-bg-color: hsl(var(--dt-color-transparent-h), var(--dt-color-transparent-s), calc(var(--dt-color-transparent-l) + var(--hover-modifier)))}.o-iconBtn.o-iconBtn--outline:active:not(:disabled,.is-disabled,.is-dismissible),.o-iconBtn.o-iconBtn--outline.is-loading:not(:disabled,.is-disabled){--active-modifier: calc(-1 * var(--dt-color-active-01));--active-modifier: var(--dt-color-active-01);--int-states-mixin-bg-color: hsl(var(--dt-color-black-h), var(--dt-color-black-s), var(--dt-color-black-l), var(--active-modifier));--int-states-mixin-bg-color: hsl(var(--dt-color-transparent-h), var(--dt-color-transparent-s), calc(var(--dt-color-transparent-l) + var(--active-modifier)))}@supports (background-color: color-mix(in srgb,black,white)){.o-iconBtn.o-iconBtn--outline:hover:not(:disabled,.is-disabled,.is-dismissible){--int-states-mixin-bg-color: color-mix(in srgb, var(--dt-color-hover-01-bg) var(--dt-color-hover-01), var(--dt-color-transparent))}.o-iconBtn.o-iconBtn--outline:active:not(:disabled,.is-disabled,.is-dismissible),.o-iconBtn.o-iconBtn--outline.is-loading:not(:disabled,.is-disabled){--int-states-mixin-bg-color: color-mix(in srgb, var(--dt-color-active-01-bg) var(--dt-color-active-01), var(--dt-color-transparent))}}.o-iconBtn.o-iconBtn--ghost{--int-states-mixin-bg-color: transparent;--btn-icon-fill: var(--dt-color-content-interactive-brand)}.o-iconBtn.o-iconBtn--ghost:hover:not(:disabled,.is-disabled,.is-dismissible){--hover-modifier: calc(-1 * var(--dt-color-hover-01));--hover-modifier: var(--dt-color-hover-01);--int-states-mixin-bg-color: hsl(var(--dt-color-black-h), var(--dt-color-black-s), var(--dt-color-black-l), var(--hover-modifier));--int-states-mixin-bg-color: hsl(var(--dt-color-transparent-h), var(--dt-color-transparent-s), calc(var(--dt-color-transparent-l) + var(--hover-modifier)))}.o-iconBtn.o-iconBtn--ghost:active:not(:disabled,.is-disabled,.is-dismissible),.o-iconBtn.o-iconBtn--ghost.is-loading:not(:disabled,.is-disabled){--active-modifier: calc(-1 * var(--dt-color-active-01));--active-modifier: var(--dt-color-active-01);--int-states-mixin-bg-color: hsl(var(--dt-color-black-h), var(--dt-color-black-s), var(--dt-color-black-l), var(--active-modifier));--int-states-mixin-bg-color: hsl(var(--dt-color-transparent-h), var(--dt-color-transparent-s), calc(var(--dt-color-transparent-l) + var(--active-modifier)))}@supports (background-color: color-mix(in srgb,black,white)){.o-iconBtn.o-iconBtn--ghost:hover:not(:disabled,.is-disabled,.is-dismissible){--int-states-mixin-bg-color: color-mix(in srgb, var(--dt-color-hover-01-bg) var(--dt-color-hover-01), var(--dt-color-transparent))}.o-iconBtn.o-iconBtn--ghost:active:not(:disabled,.is-disabled,.is-dismissible),.o-iconBtn.o-iconBtn--ghost.is-loading:not(:disabled,.is-disabled){--int-states-mixin-bg-color: color-mix(in srgb, var(--dt-color-active-01-bg) var(--dt-color-active-01), var(--dt-color-transparent))}}.o-iconBtn.o-iconBtn--ghost-secondary{--int-states-mixin-bg-color: transparent;--btn-icon-fill: var(--dt-color-content-interactive-secondary)}.o-iconBtn.o-iconBtn--ghost-secondary:hover:not(:disabled,.is-disabled,.is-dismissible){--hover-modifier: calc(-1 * var(--dt-color-hover-01));--hover-modifier: var(--dt-color-hover-01);--int-states-mixin-bg-color: hsl(var(--dt-color-black-h), var(--dt-color-black-s), var(--dt-color-black-l), var(--hover-modifier));--int-states-mixin-bg-color: hsl(var(--dt-color-transparent-h), var(--dt-color-transparent-s), calc(var(--dt-color-transparent-l) + var(--hover-modifier)))}.o-iconBtn.o-iconBtn--ghost-secondary:active:not(:disabled,.is-disabled,.is-dismissible),.o-iconBtn.o-iconBtn--ghost-secondary.is-loading:not(:disabled,.is-disabled){--active-modifier: calc(-1 * var(--dt-color-active-01));--active-modifier: var(--dt-color-active-01);--int-states-mixin-bg-color: hsl(var(--dt-color-black-h), var(--dt-color-black-s), var(--dt-color-black-l), var(--active-modifier));--int-states-mixin-bg-color: hsl(var(--dt-color-transparent-h), var(--dt-color-transparent-s), calc(var(--dt-color-transparent-l) + var(--active-modifier)))}@supports (background-color: color-mix(in srgb,black,white)){.o-iconBtn.o-iconBtn--ghost-secondary:hover:not(:disabled,.is-disabled,.is-dismissible){--int-states-mixin-bg-color: color-mix(in srgb, var(--dt-color-hover-01-bg) var(--dt-color-hover-01), var(--dt-color-transparent))}.o-iconBtn.o-iconBtn--ghost-secondary:active:not(:disabled,.is-disabled,.is-dismissible),.o-iconBtn.o-iconBtn--ghost-secondary.is-loading:not(:disabled,.is-disabled){--int-states-mixin-bg-color: color-mix(in srgb, var(--dt-color-active-01-bg) var(--dt-color-active-01), var(--dt-color-transparent))}}.o-iconBtn.o-iconBtn--inverse{--int-states-mixin-bg-color: var(--dt-color-interactive-inverse);--btn-icon-fill: var(--dt-color-content-interactive-brand)}.o-iconBtn.o-iconBtn--inverse:hover:not(:disabled,.is-disabled,.is-dismissible){--hover-modifier: calc(-1 * var(--dt-color-hover-01));--int-states-mixin-bg-color: hsl(var(--dt-color-interactive-inverse-h), var(--dt-color-interactive-inverse-s), calc(var(--dt-color-interactive-inverse-l) + var(--hover-modifier)))}.o-iconBtn.o-iconBtn--inverse:active:not(:disabled,.is-disabled,.is-dismissible),.o-iconBtn.o-iconBtn--inverse.is-loading:not(:disabled,.is-disabled){--active-modifier: calc(-1 * var(--dt-color-active-01));--int-states-mixin-bg-color: hsl(var(--dt-color-interactive-inverse-h), var(--dt-color-interactive-inverse-s), calc(var(--dt-color-interactive-inverse-l) + var(--active-modifier)))}@supports (background-color: color-mix(in srgb,black,white)){.o-iconBtn.o-iconBtn--inverse:hover:not(:disabled,.is-disabled,.is-dismissible){--int-states-mixin-bg-color: color-mix(in srgb, var(--dt-color-hover-01-bg) var(--dt-color-hover-01), var(--dt-color-interactive-inverse))}.o-iconBtn.o-iconBtn--inverse:active:not(:disabled,.is-disabled,.is-dismissible),.o-iconBtn.o-iconBtn--inverse.is-loading:not(:disabled,.is-disabled){--int-states-mixin-bg-color: color-mix(in srgb, var(--dt-color-active-01-bg) var(--dt-color-active-01), var(--dt-color-interactive-inverse))}}.o-iconBtn.o-iconBtn--ghost-inverse{--int-states-mixin-bg-color: transparent;--btn-icon-fill: var(--dt-color-content-inverse)}.o-iconBtn.o-iconBtn--ghost-inverse:hover:not(:disabled,.is-disabled,.is-dismissible){--hover-modifier: calc(-1 * var(--dt-color-hover-01));--hover-modifier: var(--dt-color-hover-01);--int-states-mixin-bg-color: hsl(var(--dt-color-black-h), var(--dt-color-black-s), var(--dt-color-black-l), var(--hover-modifier));--int-states-mixin-bg-color: hsl(var(--dt-color-transparent-h), var(--dt-color-transparent-s), calc(var(--dt-color-transparent-l) + var(--hover-modifier)))}.o-iconBtn.o-iconBtn--ghost-inverse:active:not(:disabled,.is-disabled,.is-dismissible),.o-iconBtn.o-iconBtn--ghost-inverse.is-loading:not(:disabled,.is-disabled){--active-modifier: calc(-1 * var(--dt-color-active-01));--active-modifier: var(--dt-color-active-01);--int-states-mixin-bg-color: hsl(var(--dt-color-black-h), var(--dt-color-black-s), var(--dt-color-black-l), var(--active-modifier));--int-states-mixin-bg-color: hsl(var(--dt-color-transparent-h), var(--dt-color-transparent-s), calc(var(--dt-color-transparent-l) + var(--active-modifier)))}@supports (background-color: color-mix(in srgb,black,white)){.o-iconBtn.o-iconBtn--ghost-inverse:hover:not(:disabled,.is-disabled,.is-dismissible){--int-states-mixin-bg-color: color-mix(in srgb, var(--dt-color-hover-02-bg) var(--dt-color-hover-02), var(--dt-color-transparent))}.o-iconBtn.o-iconBtn--ghost-inverse:active:not(:disabled,.is-disabled,.is-dismissible),.o-iconBtn.o-iconBtn--ghost-inverse.is-loading:not(:disabled,.is-disabled){--int-states-mixin-bg-color: color-mix(in srgb, var(--dt-color-active-02-bg) var(--dt-color-active-02), var(--dt-color-transparent))}}.o-iconBtn[disabled]{--btn-icon-fill: var(--dt-color-content-disabled);cursor:not-allowed}.o-iconBtn[disabled]:not(.o-iconBtn--ghost,.o-iconBtn--ghost-secondary,.o-iconBtn--ghost-inverse){--int-states-mixin-bg-color: var(--dt-color-disabled-01)}.o-iconBtn[disabled].o-iconBtn--outline{border-color:var(--dt-color-disabled-01)}.o-iconBtn.o-iconBtn--xsmall{--btn-dimension: 32px;--icon-size-override: 20px}.o-iconBtn.o-iconBtn--small{--btn-dimension: 40px}.o-iconBtn.o-iconBtn--large{--btn-dimension: 56px;--icon-size-override: 28px}", k = ["xsmall", "small", "medium", "large"], z = [
15
15
  "primary",
@@ -19,21 +19,21 @@ const y = "*,*:after,*:before{box-sizing:inherit}:host{display:inline-block;--bt
19
19
  "ghost-secondary",
20
20
  "inverse",
21
21
  "ghost-inverse"
22
- ], a = {
22
+ ], s = {
23
23
  size: "medium",
24
24
  variant: "primary",
25
25
  disabled: !1,
26
26
  isLoading: !1
27
27
  };
28
- var w = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, s = (i, t, e, r) => {
29
- for (var o = r > 1 ? void 0 : r ? $(t, e) : t, c = i.length - 1, b; c >= 0; c--)
30
- (b = i[c]) && (o = (r ? b(t, e, o) : b(o)) || o);
31
- return r && o && w(t, e, o), o;
28
+ var w = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, a = (i, n, e, t) => {
29
+ for (var o = t > 1 ? void 0 : t ? $(n, e) : n, c = i.length - 1, b; c >= 0; c--)
30
+ (b = i[c]) && (o = (t ? b(n, e, o) : b(o)) || o);
31
+ return t && o && w(n, e, o), o;
32
32
  };
33
- const p = "pie-icon-button";
34
- let n = class extends h {
33
+ const B = "pie-icon-button";
34
+ let r = class extends h {
35
35
  constructor() {
36
- super(...arguments), this.size = a.size, this.variant = a.variant, this.disabled = a.disabled, this.isLoading = a.isLoading;
36
+ super(...arguments), this.size = s.size, this.variant = s.variant, this.disabled = s.disabled, this.isLoading = s.isLoading;
37
37
  }
38
38
  /**
39
39
  * Template for the loading state
@@ -41,26 +41,26 @@ let n = class extends h {
41
41
  * @private
42
42
  */
43
43
  renderSpinner() {
44
- const { variant: i, size: t, disabled: e } = this, r = t === "xsmall" ? "small" : "medium";
44
+ const { variant: i, size: n, disabled: e } = this, t = n === "xsmall" ? "small" : "medium";
45
45
  let o = "brand";
46
46
  return i != null && i.includes("secondary") && (o = "secondary"), (i === "primary" && !e || i === "ghost-inverse") && (o = "inverse"), m`
47
47
  <pie-spinner
48
- size="${r}"
48
+ size="${t}"
49
49
  variant="${o}">
50
50
  </pie-spinner>`;
51
51
  }
52
52
  render() {
53
53
  const {
54
54
  disabled: i,
55
- size: t,
55
+ size: n,
56
56
  variant: e,
57
- isLoading: r,
57
+ isLoading: t,
58
58
  aria: o
59
59
  } = this, c = {
60
60
  "o-iconBtn": !0,
61
- [`o-iconBtn--${t}`]: !0,
61
+ [`o-iconBtn--${n}`]: !0,
62
62
  [`o-iconBtn--${e}`]: !0,
63
- "is-loading": r
63
+ "is-loading": t
64
64
  };
65
65
  return m`
66
66
  <button
@@ -72,34 +72,35 @@ let n = class extends h {
72
72
  aria-describedby="${l(o == null ? void 0 : o.describedby)}"
73
73
  aria-expanded="${l(o == null ? void 0 : o.expanded)}"
74
74
  aria-controls="${l(o == null ? void 0 : o.controls)}">
75
- ${r ? this.renderSpinner() : m`<slot></slot>`}
75
+ ${t ? this.renderSpinner() : m`<slot></slot>`}
76
76
  </button>`;
77
77
  }
78
78
  };
79
- n.styles = x(y);
80
- s([
79
+ r.shadowRootOptions = { ...g.shadowRootOptions, delegatesFocus: !0 };
80
+ r.styles = x(y);
81
+ a([
81
82
  d({ type: Object })
82
- ], n.prototype, "aria", 2);
83
- s([
83
+ ], r.prototype, "aria", 2);
84
+ a([
84
85
  d({ type: String }),
85
- g(p, k, a.size)
86
- ], n.prototype, "size", 2);
87
- s([
86
+ p(B, k, s.size)
87
+ ], r.prototype, "size", 2);
88
+ a([
88
89
  d({ type: String }),
89
- g(p, z, a.variant)
90
- ], n.prototype, "variant", 2);
91
- s([
90
+ p(B, z, s.variant)
91
+ ], r.prototype, "variant", 2);
92
+ a([
92
93
  d({ type: Boolean })
93
- ], n.prototype, "disabled", 2);
94
- s([
94
+ ], r.prototype, "disabled", 2);
95
+ a([
95
96
  d({ type: Boolean })
96
- ], n.prototype, "isLoading", 2);
97
- n = s([
97
+ ], r.prototype, "isLoading", 2);
98
+ r = a([
98
99
  u("pie-icon-button")
99
- ], n);
100
+ ], r);
100
101
  export {
101
- n as PieIconButton,
102
- a as defaultProps,
102
+ r as PieIconButton,
103
+ s as defaultProps,
103
104
  k as sizes,
104
105
  z as variants
105
106
  };
package/dist/react.d.ts CHANGED
@@ -54,6 +54,12 @@ declare class PieIconButton_2 extends PieElement implements IconButtonProps {
54
54
  variant: "primary" | "secondary" | "outline" | "ghost" | "ghost-secondary" | "inverse" | "ghost-inverse";
55
55
  disabled: boolean;
56
56
  isLoading: boolean;
57
+ static shadowRootOptions: {
58
+ delegatesFocus: boolean;
59
+ mode: ShadowRootMode;
60
+ serializable?: boolean;
61
+ slotAssignment?: SlotAssignmentMode;
62
+ };
57
63
  /**
58
64
  * Template for the loading state
59
65
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@justeattakeaway/pie-icon-button",
3
- "version": "2.0.6",
3
+ "version": "2.1.0",
4
4
  "description": "PIE Design System Icon Button built using Web Components",
5
5
  "repository": {
6
6
  "type": "git",
@@ -39,7 +39,7 @@
39
39
  "devDependencies": {
40
40
  "@custom-elements-manifest/analyzer": "0.9.0",
41
41
  "@justeattakeaway/pie-components-config": "0.21.0",
42
- "@justeattakeaway/pie-css": "0.19.0",
42
+ "@justeattakeaway/pie-css": "0.21.0",
43
43
  "@justeattakeaway/pie-monorepo-utils": "0.7.0",
44
44
  "@justeattakeaway/pie-wrapper-react": "0.14.3",
45
45
  "cem-plugin-module-file-extensions": "0.0.5"
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import {
2
- html, unsafeCSS,
2
+ html, LitElement, unsafeCSS,
3
3
  } from 'lit';
4
4
  import { PieElement } from '@justeattakeaway/pie-webc-core/src/internals/PieElement';
5
5
  import { classMap } from 'lit/directives/class-map.js';
@@ -39,6 +39,8 @@ export class PieIconButton extends PieElement implements IconButtonProps {
39
39
  @property({ type: Boolean })
40
40
  public isLoading = defaultProps.isLoading;
41
41
 
42
+ static shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true };
43
+
42
44
  /**
43
45
  * Template for the loading state
44
46
  *