@folkehelseinstituttet/designsystem 0.9.0 → 0.11.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.
Files changed (175) hide show
  1. package/fhi-button.js +129 -62
  2. package/fhi-button.js.map +1 -1
  3. package/fhi-icon-arrow-down-left.js +33 -19
  4. package/fhi-icon-arrow-down-left.js.map +1 -1
  5. package/fhi-icon-arrow-down-right.js +34 -20
  6. package/fhi-icon-arrow-down-right.js.map +1 -1
  7. package/fhi-icon-arrow-down.js +33 -19
  8. package/fhi-icon-arrow-down.js.map +1 -1
  9. package/fhi-icon-arrow-left.js +35 -21
  10. package/fhi-icon-arrow-left.js.map +1 -1
  11. package/fhi-icon-arrow-right-left.js +36 -22
  12. package/fhi-icon-arrow-right-left.js.map +1 -1
  13. package/fhi-icon-arrow-right.js +34 -20
  14. package/fhi-icon-arrow-right.js.map +1 -1
  15. package/fhi-icon-arrow-up-down.js +36 -22
  16. package/fhi-icon-arrow-up-down.js.map +1 -1
  17. package/fhi-icon-arrow-up-left.js +36 -22
  18. package/fhi-icon-arrow-up-left.js.map +1 -1
  19. package/fhi-icon-arrow-up-right.js +36 -22
  20. package/fhi-icon-arrow-up-right.js.map +1 -1
  21. package/fhi-icon-arrow-up.js +36 -22
  22. package/fhi-icon-arrow-up.js.map +1 -1
  23. package/fhi-icon-bell.js +28 -14
  24. package/fhi-icon-bell.js.map +1 -1
  25. package/fhi-icon-calendar.js +31 -17
  26. package/fhi-icon-calendar.js.map +1 -1
  27. package/fhi-icon-check.js +30 -16
  28. package/fhi-icon-check.js.map +1 -1
  29. package/fhi-icon-chevron-down.js +32 -18
  30. package/fhi-icon-chevron-down.js.map +1 -1
  31. package/fhi-icon-chevron-left.js +32 -18
  32. package/fhi-icon-chevron-left.js.map +1 -1
  33. package/fhi-icon-chevron-right.js +36 -22
  34. package/fhi-icon-chevron-right.js.map +1 -1
  35. package/fhi-icon-chevron-up.js +31 -17
  36. package/fhi-icon-chevron-up.js.map +1 -1
  37. package/fhi-icon-chevrons-down.js +29 -15
  38. package/fhi-icon-chevrons-down.js.map +1 -1
  39. package/fhi-icon-chevrons-left.js +32 -18
  40. package/fhi-icon-chevrons-left.js.map +1 -1
  41. package/fhi-icon-chevrons-right.js +36 -22
  42. package/fhi-icon-chevrons-right.js.map +1 -1
  43. package/fhi-icon-chevrons-up.js +31 -17
  44. package/fhi-icon-chevrons-up.js.map +1 -1
  45. package/fhi-icon-circle-arrow-down.js +36 -22
  46. package/fhi-icon-circle-arrow-down.js.map +1 -1
  47. package/fhi-icon-circle-arrow-left.js +31 -17
  48. package/fhi-icon-circle-arrow-left.js.map +1 -1
  49. package/fhi-icon-circle-arrow-right.js +32 -18
  50. package/fhi-icon-circle-arrow-right.js.map +1 -1
  51. package/fhi-icon-circle-arrow-up.js +36 -22
  52. package/fhi-icon-circle-arrow-up.js.map +1 -1
  53. package/fhi-icon-circle-check-big.js +32 -18
  54. package/fhi-icon-circle-check-big.js.map +1 -1
  55. package/fhi-icon-circle-check.js +30 -16
  56. package/fhi-icon-circle-check.js.map +1 -1
  57. package/fhi-icon-circle-chevron-down.js +32 -18
  58. package/fhi-icon-circle-chevron-down.js.map +1 -1
  59. package/fhi-icon-circle-chevron-left.js +32 -18
  60. package/fhi-icon-circle-chevron-left.js.map +1 -1
  61. package/fhi-icon-circle-chevron-right.js +32 -18
  62. package/fhi-icon-circle-chevron-right.js.map +1 -1
  63. package/fhi-icon-circle-chevron-up.js +31 -17
  64. package/fhi-icon-circle-chevron-up.js.map +1 -1
  65. package/fhi-icon-circle-exclamation.js +31 -17
  66. package/fhi-icon-circle-exclamation.js.map +1 -1
  67. package/fhi-icon-circle-info.js +32 -18
  68. package/fhi-icon-circle-info.js.map +1 -1
  69. package/fhi-icon-circle-minus.js +31 -17
  70. package/fhi-icon-circle-minus.js.map +1 -1
  71. package/fhi-icon-circle-plus.js +32 -18
  72. package/fhi-icon-circle-plus.js.map +1 -1
  73. package/fhi-icon-circle-question.js +31 -17
  74. package/fhi-icon-circle-question.js.map +1 -1
  75. package/fhi-icon-circle-x.js +31 -17
  76. package/fhi-icon-circle-x.js.map +1 -1
  77. package/fhi-icon-circle.js +29 -15
  78. package/fhi-icon-circle.js.map +1 -1
  79. package/fhi-icon-clock.js +36 -22
  80. package/fhi-icon-clock.js.map +1 -1
  81. package/fhi-icon-copy.js +35 -21
  82. package/fhi-icon-copy.js.map +1 -1
  83. package/fhi-icon-download.js +36 -22
  84. package/fhi-icon-download.js.map +1 -1
  85. package/fhi-icon-ellipsis-vertical.js +32 -18
  86. package/fhi-icon-ellipsis-vertical.js.map +1 -1
  87. package/fhi-icon-ellipsis.js +36 -22
  88. package/fhi-icon-ellipsis.js.map +1 -1
  89. package/fhi-icon-exclamation.js +32 -18
  90. package/fhi-icon-exclamation.js.map +1 -1
  91. package/fhi-icon-expand.js +36 -22
  92. package/fhi-icon-expand.js.map +1 -1
  93. package/fhi-icon-external-link.js +36 -22
  94. package/fhi-icon-external-link.js.map +1 -1
  95. package/fhi-icon-eye-off.js +31 -17
  96. package/fhi-icon-eye-off.js.map +1 -1
  97. package/fhi-icon-eye.js +29 -15
  98. package/fhi-icon-eye.js.map +1 -1
  99. package/fhi-icon-file.js +32 -18
  100. package/fhi-icon-file.js.map +1 -1
  101. package/fhi-icon-folder.js +29 -15
  102. package/fhi-icon-folder.js.map +1 -1
  103. package/fhi-icon-gear.js +30 -16
  104. package/fhi-icon-gear.js.map +1 -1
  105. package/fhi-icon-grid-9-dots.js +30 -16
  106. package/fhi-icon-grid-9-dots.js.map +1 -1
  107. package/fhi-icon-grip-horizontal.js +29 -15
  108. package/fhi-icon-grip-horizontal.js.map +1 -1
  109. package/fhi-icon-grip-vertical.js +31 -17
  110. package/fhi-icon-grip-vertical.js.map +1 -1
  111. package/fhi-icon-info.js +32 -18
  112. package/fhi-icon-info.js.map +1 -1
  113. package/fhi-icon-link-2-off.js +34 -20
  114. package/fhi-icon-link-2-off.js.map +1 -1
  115. package/fhi-icon-link-2.js +36 -22
  116. package/fhi-icon-link-2.js.map +1 -1
  117. package/fhi-icon-link.js +31 -17
  118. package/fhi-icon-link.js.map +1 -1
  119. package/fhi-icon-lock.js +36 -22
  120. package/fhi-icon-lock.js.map +1 -1
  121. package/fhi-icon-log-in.js +36 -22
  122. package/fhi-icon-log-in.js.map +1 -1
  123. package/fhi-icon-log-out.js +36 -22
  124. package/fhi-icon-log-out.js.map +1 -1
  125. package/fhi-icon-mail.js +36 -22
  126. package/fhi-icon-mail.js.map +1 -1
  127. package/fhi-icon-menu.js +32 -18
  128. package/fhi-icon-menu.js.map +1 -1
  129. package/fhi-icon-minus.js +35 -21
  130. package/fhi-icon-minus.js.map +1 -1
  131. package/fhi-icon-paperclip.js +30 -16
  132. package/fhi-icon-paperclip.js.map +1 -1
  133. package/fhi-icon-pencil.js +32 -18
  134. package/fhi-icon-pencil.js.map +1 -1
  135. package/fhi-icon-pin-off.js +36 -22
  136. package/fhi-icon-pin-off.js.map +1 -1
  137. package/fhi-icon-pin.js +35 -21
  138. package/fhi-icon-pin.js.map +1 -1
  139. package/fhi-icon-plus.js +36 -22
  140. package/fhi-icon-plus.js.map +1 -1
  141. package/fhi-icon-printer.js +36 -22
  142. package/fhi-icon-printer.js.map +1 -1
  143. package/fhi-icon-question.js +27 -13
  144. package/fhi-icon-question.js.map +1 -1
  145. package/fhi-icon-refresh.js +30 -16
  146. package/fhi-icon-refresh.js.map +1 -1
  147. package/fhi-icon-rotate-left.js +35 -21
  148. package/fhi-icon-rotate-left.js.map +1 -1
  149. package/fhi-icon-rotate-right.js +36 -22
  150. package/fhi-icon-rotate-right.js.map +1 -1
  151. package/fhi-icon-search.js +30 -16
  152. package/fhi-icon-search.js.map +1 -1
  153. package/fhi-icon-share.js +25 -11
  154. package/fhi-icon-share.js.map +1 -1
  155. package/fhi-icon-sheet.js +31 -17
  156. package/fhi-icon-sheet.js.map +1 -1
  157. package/fhi-icon-square-check-big.js +31 -17
  158. package/fhi-icon-square-check-big.js.map +1 -1
  159. package/fhi-icon-square-check.js +32 -18
  160. package/fhi-icon-square-check.js.map +1 -1
  161. package/fhi-icon-square-pen.js +31 -17
  162. package/fhi-icon-square-pen.js.map +1 -1
  163. package/fhi-icon-square-x.js +31 -17
  164. package/fhi-icon-square-x.js.map +1 -1
  165. package/fhi-icon-square.js +31 -17
  166. package/fhi-icon-square.js.map +1 -1
  167. package/fhi-icon-trash.js +36 -22
  168. package/fhi-icon-trash.js.map +1 -1
  169. package/fhi-icon-upload.js +36 -22
  170. package/fhi-icon-upload.js.map +1 -1
  171. package/fhi-icon-user.js +32 -18
  172. package/fhi-icon-user.js.map +1 -1
  173. package/fhi-icon-x.js +35 -21
  174. package/fhi-icon-x.js.map +1 -1
  175. package/package.json +1 -1
package/fhi-button.js CHANGED
@@ -1,13 +1,13 @@
1
- import { i as u, n as c, a as b, x as v, t as s } from "./property-DYwjZ69W.js";
2
- var g = Object.defineProperty, h = Object.getOwnPropertyDescriptor, l = (r, o, t, n) => {
3
- for (var a = n > 1 ? void 0 : n ? h(o, t) : o, d = r.length - 1, i; d >= 0; d--)
4
- (i = r[d]) && (a = (n ? i(o, t, a) : i(a)) || a);
5
- return n && a && g(o, t, a), a;
1
+ import { i as h, n as i, a as f, x as p, t as k } from "./property-DYwjZ69W.js";
2
+ var y = Object.defineProperty, x = Object.getOwnPropertyDescriptor, n = (r, o, c, t) => {
3
+ for (var e = t > 1 ? void 0 : t ? x(o, c) : o, a = r.length - 1, d; a >= 0; a--)
4
+ (d = r[a]) && (e = (t ? d(o, c, e) : d(e)) || e);
5
+ return t && e && y(o, c, e), e;
6
6
  };
7
- const f = "fhi-button";
8
- let e = class extends b {
7
+ const m = "fhi-button";
8
+ let l = class extends f {
9
9
  constructor() {
10
- super(), this.color = "accent", this.variant = "strong", this.size = "medium", this.disabled = !1, this.type = "submit", this._internals = this.attachInternals();
10
+ super(), this.color = "accent", this.variant = "strong", this.size = "medium", this.disabled = !1, this.iconOnly = !1, this.type = "submit", this._internals = this.attachInternals();
11
11
  }
12
12
  connectedCallback() {
13
13
  super.connectedCallback(), this.onkeyup = this._handleKeyup.bind(this), this.onkeydown = this._handleKeydown.bind(this), this.onselectstart = this._handleSelectStart.bind(this);
@@ -16,10 +16,10 @@ let e = class extends b {
16
16
  this._handleClick();
17
17
  }
18
18
  _handleClick(r) {
19
- var o, t;
19
+ var o, c;
20
20
  r == null || r.preventDefault(), r == null || r.stopPropagation(), !this.disabled && (this.dispatchEvent(
21
21
  new MouseEvent("click", { bubbles: !0, composed: !0 })
22
- ), this.type === "submit" && ((o = this._internals.form) == null || o.requestSubmit()), this.type === "reset" && ((t = this._internals.form) == null || t.reset()));
22
+ ), this.type === "submit" && ((o = this._internals.form) == null || o.requestSubmit()), this.type === "reset" && ((c = this._internals.form) == null || c.reset()));
23
23
  }
24
24
  _handleKeyup(r) {
25
25
  if (r.key === " " || r.key === "Spacebar") {
@@ -34,29 +34,83 @@ let e = class extends b {
34
34
  _handleSelectStart() {
35
35
  return !1;
36
36
  }
37
+ _getIconSize() {
38
+ switch (this.size) {
39
+ case "small":
40
+ return "20";
41
+ case "medium":
42
+ case "large":
43
+ default:
44
+ return "24";
45
+ }
46
+ }
47
+ _handleSlotChange(r) {
48
+ if (this.iconOnly)
49
+ return;
50
+ const c = r.target.assignedNodes();
51
+ let t, e;
52
+ c.forEach((a) => {
53
+ var d, u, b, s, v, g;
54
+ a.nodeType === Node.ELEMENT_NODE && a.tagName.toLowerCase().startsWith("fhi-icon") && ((!((d = a.previousSibling) != null && d.nodeType) || ((u = a.previousSibling) == null ? void 0 : u.nodeType) === Node.TEXT_NODE && !((b = a.previousSibling.textContent) != null && b.trim())) && (t = a), ((s = a.previousSibling) == null ? void 0 : s.nodeType) === Node.TEXT_NODE && ((g = (v = a.previousSibling) == null ? void 0 : v.textContent) != null && g.trim()) && (e = a));
55
+ }), t && (t.style.marginRight = "var(--dimension-icon-margin-right)", t.style.marginLeft = "var(--dimension-icon-margin-left-offset)", t.setAttribute("size", this._getIconSize())), e && (e.style.marginRight = "var(--dimension-icon-margin-right-offset)", e.style.marginLeft = "var(--dimension-icon-margin-left)", e.setAttribute("size", this._getIconSize()));
56
+ }
37
57
  render() {
38
- return v`<button
58
+ return p`<button
39
59
  ?disabled=${this.disabled}
40
60
  type=${this.type}
41
61
  @keyup=${this._handleKeyup}
42
62
  @keydown=${this._handleKeydown}
43
63
  @click=${this._handleClick}
44
64
  >
45
- <slot></slot>
65
+ <div class="slot-container">
66
+ <slot @slotchange=${this._handleSlotChange}></slot>
67
+ </div>
46
68
  </button>`;
47
69
  }
48
70
  };
49
- e.formAssociated = !0;
50
- e.styles = u`
71
+ l.formAssociated = !0;
72
+ l.styles = h`
51
73
  :host {
52
74
  --dimension-border-radius: var(--fhi-border-radius-full);
53
75
  --dimension-border-width: var(--fhi-dimension-border-width);
54
- --typography-font-family: var(--fhi-font-family-default);
55
- --motion-transition: var(--fhi-motion-duration-quick)
56
- var(--fhi-motion-ease-default);
57
76
 
58
- --opacity-disabled: var(--fhi-opacity-disabled);
77
+ --dimension-padding-small: calc(
78
+ var(--fhi-spacing-050) - var(--fhi-dimension-border-width)
79
+ )
80
+ calc(
81
+ var(--fhi-spacing-150) + var(--fhi-spacing-050) - var(
82
+ --fhi-dimension-border-width
83
+ )
84
+ );
85
+ --dimension-padding-medium: calc(
86
+ var(--fhi-spacing-100) - var(--fhi-dimension-border-width)
87
+ )
88
+ calc(
89
+ var(--fhi-spacing-200) + var(--fhi-spacing-050) - var(
90
+ --fhi-dimension-border-width
91
+ )
92
+ );
93
+ --dimension-padding-large: calc(
94
+ var(--fhi-spacing-200) - var(--fhi-dimension-border-width)
95
+ )
96
+ calc(
97
+ var(--fhi-spacing-300) + var(--fhi-spacing-050) - var(
98
+ --fhi-dimension-border-width
99
+ )
100
+ );
101
+
102
+ /* Icon */
103
+ --dimension-icon-margin-left: var(--fhi-spacing-050);
104
+ --dimension-icon-margin-right: var(--fhi-spacing-050);
105
+
106
+ /* Adjust for the button padding when the icon is present on either side */
107
+ --dimension-icon-margin-left-offset: calc(-1 * var(--fhi-spacing-050));
108
+ --dimension-icon-margin-right-offset: calc(-1 * var(--fhi-spacing-050));
59
109
 
110
+ --dimension-icon-only-border-radius: var(--fhi-border-radius-full);
111
+
112
+ /* Typography */
113
+ --typography-font-family: var(--fhi-font-family-default);
60
114
  --typography-label-large-font-size: var(
61
115
  --fhi-typography-label-large-font-size
62
116
  );
@@ -94,30 +148,7 @@ e.styles = u`
94
148
  --fhi-typography-label-medium-line-height
95
149
  );
96
150
 
97
- --dimension-padding-small: calc(
98
- var(--fhi-spacing-050) - var(--fhi-dimension-border-width)
99
- )
100
- calc(
101
- var(--fhi-spacing-150) + var(--fhi-spacing-050) - var(
102
- --fhi-dimension-border-width
103
- )
104
- );
105
- --dimension-padding-medium: calc(
106
- var(--fhi-spacing-100) - var(--fhi-dimension-border-width)
107
- )
108
- calc(
109
- var(--fhi-spacing-200) + var(--fhi-spacing-050) - var(
110
- --fhi-dimension-border-width
111
- )
112
- );
113
- --dimension-padding-large: calc(
114
- var(--fhi-spacing-200) - var(--fhi-dimension-border-width)
115
- )
116
- calc(
117
- var(--fhi-spacing-300) + var(--fhi-spacing-050) - var(
118
- --fhi-dimension-border-width
119
- )
120
- );
151
+ /* Accent Color */
121
152
  --color-accent-strong-background: var(--fhi-color-accent-base-default);
122
153
  --color-accent-strong-border: var(--fhi-color-accent-base-default);
123
154
  --color-accent-strong: var(--fhi-color-accent-text-inverted);
@@ -202,6 +233,7 @@ e.styles = u`
202
233
  --color-accent-text-border-disabled: transparent;
203
234
  --color-accent-text-disabled: var(--fhi-color-accent-text-default);
204
235
 
236
+ /* Neutral Color */
205
237
  --color-neutral-strong-background: var(--fhi-color-neutral-base-default);
206
238
  --color-neutral-strong-border: var(--fhi-color-neutral-base-default);
207
239
  --color-neutral-strong: var(--fhi-color-neutral-text-inverted);
@@ -296,6 +328,7 @@ e.styles = u`
296
328
  --color-neutral-text-border-disabled: transparent;
297
329
  --color-neutral-text-disabled: var(--fhi-color-neutral-text-subtle);
298
330
 
331
+ /* Danger Color */
299
332
  --color-danger-strong-background: var(--fhi-color-danger-base-default);
300
333
  --color-danger-strong-border: var(--fhi-color-danger-base-default);
301
334
  --color-danger-strong: var(--fhi-color-danger-text-inverted);
@@ -380,6 +413,15 @@ e.styles = u`
380
413
  --color-danger-text-border-disabled: transparent;
381
414
  --color-danger-text-disabled: var(--fhi-color-danger-text-subtle);
382
415
 
416
+ --motion-transition: var(--fhi-motion-duration-quick)
417
+ var(--fhi-motion-ease-default);
418
+
419
+ --opacity-disabled: var(--fhi-opacity-disabled);
420
+ }
421
+
422
+ :host {
423
+ display: block;
424
+
383
425
  button {
384
426
  border-radius: var(--dimension-border-radius);
385
427
  border: solid var(--dimension-border-width);
@@ -392,6 +434,12 @@ e.styles = u`
392
434
  cursor: not-allowed;
393
435
  }
394
436
  }
437
+
438
+ .slot-container {
439
+ display: flex;
440
+ align-items: center;
441
+ gap: 0.25rem;
442
+ }
395
443
  }
396
444
 
397
445
  :host([size='large']) button {
@@ -669,27 +717,46 @@ e.styles = u`
669
717
  color: var(--color-danger-text-disabled);
670
718
  }
671
719
  }
720
+
721
+ :host([icon-only]) button {
722
+ border-radius: var(--dimension-icon-only-border-radius);
723
+ }
724
+
725
+ :host([icon-only][size='small']) button {
726
+ padding: calc(var(--fhi-spacing-050) - var(--fhi-dimension-border-width));
727
+ }
728
+
729
+ :host([icon-only][size='medium']) button {
730
+ padding: calc(var(--fhi-spacing-100) - var(--fhi-dimension-border-width));
731
+ }
732
+
733
+ :host([icon-only][size='large']) button {
734
+ padding: calc(var(--fhi-spacing-200) - var(--fhi-dimension-border-width));
735
+ }
672
736
  `;
673
- l([
674
- c({ type: String, reflect: !0 })
675
- ], e.prototype, "color", 2);
676
- l([
677
- c({ type: String, reflect: !0 })
678
- ], e.prototype, "variant", 2);
679
- l([
680
- c({ type: String, reflect: !0 })
681
- ], e.prototype, "size", 2);
682
- l([
683
- c({ type: Boolean, reflect: !0 })
684
- ], e.prototype, "disabled", 2);
685
- l([
686
- c({ type: String })
687
- ], e.prototype, "type", 2);
688
- e = l([
689
- s(f)
690
- ], e);
737
+ n([
738
+ i({ type: String, reflect: !0 })
739
+ ], l.prototype, "color", 2);
740
+ n([
741
+ i({ type: String, reflect: !0 })
742
+ ], l.prototype, "variant", 2);
743
+ n([
744
+ i({ type: String, reflect: !0 })
745
+ ], l.prototype, "size", 2);
746
+ n([
747
+ i({ type: Boolean, reflect: !0 })
748
+ ], l.prototype, "disabled", 2);
749
+ n([
750
+ i({ type: Boolean, attribute: "icon-only" })
751
+ ], l.prototype, "iconOnly", 2);
752
+ n([
753
+ i({ type: String })
754
+ ], l.prototype, "type", 2);
755
+ l = n([
756
+ k(m)
757
+ ], l);
691
758
  export {
692
- e as FhiButton,
693
- f as FhiButtonSelector
759
+ l as FhiButton,
760
+ m as FhiButtonSelector
694
761
  };
695
762
  //# sourceMappingURL=fhi-button.js.map
package/fhi-button.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fhi-button.js","sources":["../../src/components/fhi-button/fhi-button.component.ts"],"sourcesContent":["import { html, css, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nexport const FhiButtonSelector = 'fhi-button';\n\n@customElement(FhiButtonSelector)\nexport class FhiButton extends LitElement {\n static readonly formAssociated = true;\n\n @property({ type: String, reflect: true }) color:\n | 'accent'\n | 'neutral'\n | 'danger' = 'accent';\n\n @property({ type: String, reflect: true }) variant:\n | 'strong'\n | 'subtle'\n | 'outlined'\n | 'text' = 'strong';\n\n @property({ type: String, reflect: true }) size:\n | 'large'\n | 'medium'\n | 'small' = 'medium';\n\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property({ type: String }) type: 'button' | 'submit' | 'reset' = 'submit';\n\n private _internals: ElementInternals;\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n this.onkeyup = this._handleKeyup.bind(this);\n this.onkeydown = this._handleKeydown.bind(this);\n this.onselectstart = this._handleSelectStart.bind(this);\n }\n\n click(): void {\n this._handleClick();\n }\n\n private _handleClick(event?: MouseEvent | KeyboardEvent): void {\n event?.preventDefault();\n event?.stopPropagation();\n\n if (this.disabled) {\n return;\n }\n\n this.dispatchEvent(\n new MouseEvent('click', { bubbles: true, composed: true }),\n );\n\n if (this.type === 'submit') {\n this._internals.form?.requestSubmit();\n }\n\n if (this.type === 'reset') {\n this._internals.form?.reset();\n }\n }\n\n private _handleKeyup(event: KeyboardEvent): void {\n if (event.key === ' ' || event.key === 'Spacebar') {\n this._handleClick(event);\n\n const target = event.target as HTMLElement | null;\n target?.blur();\n target?.focus();\n }\n }\n\n private _handleKeydown(event: KeyboardEvent): void {\n if (event.key === 'Enter') {\n this._handleClick(event);\n }\n }\n\n private _handleSelectStart() {\n return false;\n }\n\n render() {\n return html`<button\n ?disabled=${this.disabled}\n type=${this.type}\n @keyup=${this._handleKeyup}\n @keydown=${this._handleKeydown}\n @click=${this._handleClick}\n >\n <slot></slot>\n </button>`;\n }\n\n static styles = css`\n :host {\n --dimension-border-radius: var(--fhi-border-radius-full);\n --dimension-border-width: var(--fhi-dimension-border-width);\n --typography-font-family: var(--fhi-font-family-default);\n --motion-transition: var(--fhi-motion-duration-quick)\n var(--fhi-motion-ease-default);\n\n --opacity-disabled: var(--fhi-opacity-disabled);\n\n --typography-label-large-font-size: var(\n --fhi-typography-label-large-font-size\n );\n --typography-label-medium-font-size: var(\n --fhi-typography-label-medium-font-size\n );\n --typography-label-small-font-size: var(\n --fhi-typography-label-medium-font-size\n );\n --typography-label-large-font-weight: var(\n --fhi-typography-label-large-font-weight\n );\n --typography-label-medium-font-weight: var(\n --fhi-typography-label-medium-font-weight\n );\n --typography-label-small-font-weight: var(\n --fhi-typography-label-medium-font-weight\n );\n --typography-label-large-letter-spacing: var(\n --fhi-typography-label-large-letter-spacing\n );\n --typography-label-medium-letter-spacing: var(\n --fhi-typography-label-medium-letter-spacing\n );\n --typography-label-small-letter-spacing: var(\n --fhi-typography-label-medium-letter-spacing\n );\n --typography-label-large-line-height: var(\n --fhi-typography-label-large-line-height\n );\n --typography-label-small-line-height: var(\n --fhi-typography-label-medium-line-height\n );\n --typography-label-medium-line-height: var(\n --fhi-typography-label-medium-line-height\n );\n\n --dimension-padding-small: calc(\n var(--fhi-spacing-050) - var(--fhi-dimension-border-width)\n )\n calc(\n var(--fhi-spacing-150) + var(--fhi-spacing-050) - var(\n --fhi-dimension-border-width\n )\n );\n --dimension-padding-medium: calc(\n var(--fhi-spacing-100) - var(--fhi-dimension-border-width)\n )\n calc(\n var(--fhi-spacing-200) + var(--fhi-spacing-050) - var(\n --fhi-dimension-border-width\n )\n );\n --dimension-padding-large: calc(\n var(--fhi-spacing-200) - var(--fhi-dimension-border-width)\n )\n calc(\n var(--fhi-spacing-300) + var(--fhi-spacing-050) - var(\n --fhi-dimension-border-width\n )\n );\n --color-accent-strong-background: var(--fhi-color-accent-base-default);\n --color-accent-strong-border: var(--fhi-color-accent-base-default);\n --color-accent-strong: var(--fhi-color-accent-text-inverted);\n --color-accent-strong-background-hover: var(\n --fhi-color-accent-base-hover\n );\n --color-accent-strong-border-hover: var(--fhi-color-accent-base-hover);\n --color-accent-strong-hover: var(--fhi-color-accent-text-inverted);\n --color-accent-strong-background-active: var(\n --fhi-color-accent-base-active\n );\n --color-accent-strong-border-active: var(--fhi-color-accent-base-active);\n --color-accent-strong-active: var(--fhi-color-accent-text-inverted);\n --color-accent-strong-background-disabled: var(\n --fhi-color-accent-base-default\n );\n --color-accent-strong-border-disabled: var(\n --fhi-color-accent-base-default\n );\n --color-accent-strong-disabled: var(--fhi-color-accent-text-inverted);\n\n --color-accent-subtle-background: var(--fhi-color-accent-surface-default);\n --color-accent-subtle-border: var(--fhi-color-accent-surface-default);\n --color-accent-subtle: var(--fhi-color-accent-text-subtle);\n --color-accent-subtle-background-hover: var(\n --fhi-color-accent-surface-hover\n );\n --color-accent-subtle-border-hover: var(--fhi-color-accent-surface-hover);\n --color-accent-subtle-hover: var(--fhi-color-accent-text-default);\n --color-accent-subtle-background-active: var(\n --fhi-color-accent-surface-active\n );\n --color-accent-subtle-border-active: var(\n --fhi-color-accent-surface-active\n );\n --color-accent-subtle-active: var(--fhi-color-accent-text-default);\n --color-accent-subtle-background-disabled: var(\n --fhi-color-accent-surface-default\n );\n --color-accent-subtle-border-disabled: var(\n --fhi-color-accent-surface-default\n );\n --color-accent-subtle-disabled: var(--fhi-color-accent-text-subtle);\n\n --color-accent-outlined-background: transparent;\n --color-accent-outlined-border: var(--fhi-color-accent-border-subtle);\n --color-accent-outlined: var(--fhi-color-accent-text-subtle);\n --color-accent-outlined-background-hover: var(\n --fhi-color-accent-surface-default\n );\n --color-accent-outlined-border-hover: var(\n --fhi-color-accent-surface-default\n );\n --color-accent-outlined-hover: var(--fhi-color-accent-text-default);\n --color-accent-outlined-background-active: var(\n --fhi-color-accent-surface-hover\n );\n --color-accent-outlined-border-active: var(\n --fhi-color-accent-surface-hover\n );\n --color-accent-outlined-active: var(--fhi-color-accent-text-default);\n --color-accent-outlined-background-disabled: transparent;\n --color-accent-outlined-border-disabled: var(\n --fhi-color-accent-border-subtle\n );\n --color-accent-outlined-disabled: var(--fhi-color-accent-text-subtle);\n\n --color-accent-text-background: transparent;\n --color-accent-text-border: transparent;\n --color-accent-text: var(--fhi-color-accent-text-subtle);\n --color-accent-text-background-hover: var(\n --fhi-color-accent-surface-default\n );\n --color-accent-text-border-hover: var(--fhi-color-accent-surface-default);\n --color-accent-text-hover: var(--fhi-color-accent-text-default);\n --color-accent-text-background-active: var(\n --fhi-color-accent-surface-hover\n );\n --color-accent-text-border-active: var(--fhi-color-accent-surface-hover);\n --color-accent-text-active: var(--fhi-color-accent-text-default);\n --color-accent-text-background-disabled: transparent;\n --color-accent-text-border-disabled: transparent;\n --color-accent-text-disabled: var(--fhi-color-accent-text-default);\n\n --color-neutral-strong-background: var(--fhi-color-neutral-base-default);\n --color-neutral-strong-border: var(--fhi-color-neutral-base-default);\n --color-neutral-strong: var(--fhi-color-neutral-text-inverted);\n --color-neutral-strong-background-hover: var(\n --fhi-color-neutral-base-hover\n );\n --color-neutral-strong-border-hover: var(--fhi-color-neutral-base-hover);\n --color-neutral-strong-hover: var(--fhi-color-neutral-text-inverted);\n --color-neutral-strong-background-active: var(\n --fhi-color-neutral-base-active\n );\n --color-neutral-strong-border-active: var(\n --fhi-color-neutral-base-active\n );\n --color-neutral-strong-active: var(--fhi-color-neutral-text-inverted);\n --color-neutral-strong-background-disabled: var(\n --fhi-color-neutral-base-default\n );\n --color-neutral-strong-border-disabled: var(\n --fhi-color-neutral-base-default\n );\n --color-neutral-strong-disabled: var(--fhi-color-neutral-text-inverted);\n\n --color-neutral-subtle-background: var(\n --fhi-color-neutral-surface-default\n );\n --color-neutral-subtle-border: var(--fhi-color-neutral-surface-default);\n --color-neutral-subtle: var(--fhi-color-neutral-text-subtle);\n --color-neutral-subtle-background-hover: var(\n --fhi-color-neutral-surface-hover\n );\n --color-neutral-subtle-border-hover: var(\n --fhi-color-neutral-surface-hover\n );\n --color-neutral-subtle-hover: var(--fhi-color-neutral-text-default);\n --color-neutral-subtle-background-active: var(\n --fhi-color-neutral-surface-active\n );\n --color-neutral-subtle-border-active: var(\n --fhi-color-neutral-surface-active\n );\n --color-neutral-subtle-active: var(--fhi-color-neutral-text-default);\n --color-neutral-subtle-background-disabled: var(\n --fhi-color-neutral-surface-default\n );\n --color-neutral-subtle-border-disabled: var(\n --fhi-color-neutral-surface-default\n );\n --color-neutral-subtle-disabled: var(--fhi-color-neutral-text-default);\n\n --color-neutral-outlined-background: transparent;\n --color-neutral-outlined-border: var(--fhi-color-neutral-border-subtle);\n --color-neutral-outlined: var(--fhi-color-neutral-text-subtle);\n --color-neutral-outlined-background-hover: var(\n --fhi-color-neutral-surface-default\n );\n --color-neutral-outlined-border-hover: var(\n --fhi-color-neutral-surface-default\n );\n --color-neutral-outlined-hover: var(--fhi-color-neutral-text-default);\n --color-neutral-outlined-background-active: var(\n --fhi-color-neutral-surface-hover\n );\n --color-neutral-outlined-border-active: var(\n --fhi-color-neutral-surface-hover\n );\n --color-neutral-outlined-active: var(--fhi-color-neutral-text-default);\n --color-neutral-outlined-background-disabled: transparent;\n --color-neutral-outlined-border-disabled: var(\n --fhi-color-neutral-border-subtle\n );\n --color-neutral-outlined-disabled: var(--fhi-color-neutral-text-subtle);\n\n --color-neutral-text-background: transparent;\n --color-neutral-text-border: transparent;\n --color-neutral-text: var(--fhi-color-neutral-text-subtle);\n --color-neutral-text-background-hover: var(\n --fhi-color-neutral-surface-default\n );\n --color-neutral-text-border-hover: var(\n --fhi-color-neutral-surface-default\n );\n --color-neutral-text-hover: var(--fhi-color-neutral-text-default);\n --color-neutral-text-background-active: var(\n --fhi-color-neutral-surface-hover\n );\n --color-neutral-text-border-active: var(\n --fhi-color-neutral-surface-hover\n );\n --color-neutral-text-active: var(--fhi-color-neutral-text-default);\n --color-neutral-text-background-disabled: transparent;\n --color-neutral-text-border-disabled: transparent;\n --color-neutral-text-disabled: var(--fhi-color-neutral-text-subtle);\n\n --color-danger-strong-background: var(--fhi-color-danger-base-default);\n --color-danger-strong-border: var(--fhi-color-danger-base-default);\n --color-danger-strong: var(--fhi-color-danger-text-inverted);\n --color-danger-strong-background-hover: var(\n --fhi-color-danger-base-hover\n );\n --color-danger-strong-border-hover: var(--fhi-color-danger-base-hover);\n --color-danger-strong-hover: var(--fhi-color-danger-text-inverted);\n --color-danger-strong-background-active: var(\n --fhi-color-danger-base-active\n );\n --color-danger-strong-border-active: var(--fhi-color-danger-base-active);\n --color-danger-strong-active: var(--fhi-color-danger-text-inverted);\n --color-danger-strong-background-disabled: var(\n --fhi-color-danger-base-default\n );\n --color-danger-strong-border-disabled: var(\n --fhi-color-danger-base-default\n );\n --color-danger-strong-disabled: var(--fhi-color-danger-text-inverted);\n\n --color-danger-subtle-background: var(--fhi-color-danger-surface-default);\n --color-danger-subtle-border: var(--fhi-color-danger-surface-default);\n --color-danger-subtle: var(--fhi-color-danger-text-subtle);\n --color-danger-subtle-background-hover: var(\n --fhi-color-danger-surface-hover\n );\n --color-danger-subtle-border-hover: var(--fhi-color-danger-surface-hover);\n --color-danger-subtle-hover: var(--fhi-color-danger-text-default);\n --color-danger-subtle-background-active: var(\n --fhi-color-danger-surface-active\n );\n --color-danger-subtle-border-active: var(\n --fhi-color-danger-surface-active\n );\n --color-danger-subtle-active: var(--fhi-color-danger-text-default);\n --color-danger-subtle-background-disabled: var(\n --fhi-color-danger-surface-default\n );\n --color-danger-subtle-border-disabled: var(\n --fhi-color-danger-surface-default\n );\n --color-danger-subtle-disabled: var(--fhi-color-danger-text-subtle);\n\n --color-danger-outlined-background: transparent;\n --color-danger-outlined-border: var(--fhi-color-danger-border-subtle);\n --color-danger-outlined: var(--fhi-color-danger-text-subtle);\n --color-danger-outlined-background-hover: var(\n --fhi-color-danger-surface-default\n );\n --color-danger-outlined-border-hover: var(\n --fhi-color-danger-surface-default\n );\n --color-danger-outlined-hover: var(--fhi-color-danger-text-default);\n --color-danger-outlined-background-active: var(\n --fhi-color-danger-surface-hover\n );\n --color-danger-outlined-border-active: var(\n --fhi-color-danger-surface-hover\n );\n --color-danger-outlined-active: var(--fhi-color-danger-text-default);\n --color-danger-outlined-background-disabled: transparent;\n --color-danger-outlined-border-disabled: var(\n --fhi-color-danger-border-subtle\n );\n --color-danger-outlined-disabled: var(--fhi-color-danger-text-subtle);\n\n --color-danger-text-background: transparent;\n --color-danger-text-border: transparent;\n --color-danger-text: var(--fhi-color-danger-text-subtle);\n --color-danger-text-background-hover: var(\n --fhi-color-danger-surface-default\n );\n --color-danger-text-border-hover: var(--fhi-color-danger-surface-default);\n --color-danger-text-hover: var(--fhi-color-danger-text-default);\n --color-danger-text-background-active: var(\n --fhi-color-danger-surface-hover\n );\n --color-danger-text-border-active: var(--fhi-color-danger-surface-hover);\n --color-danger-text-active: var(--fhi-color-danger-text-default);\n --color-danger-text-background-disabled: transparent;\n --color-danger-text-border-disabled: transparent;\n --color-danger-text-disabled: var(--fhi-color-danger-text-subtle);\n\n button {\n border-radius: var(--dimension-border-radius);\n border: solid var(--dimension-border-width);\n font-family: var(--typography-font-family);\n transition: var(--motion-transition);\n\n cursor: pointer;\n &:disabled {\n opacity: var(--opacity-disabled);\n cursor: not-allowed;\n }\n }\n }\n\n :host([size='large']) button {\n font-size: var(--typography-label-large-font-size);\n font-weight: var(--typography-label-large-font-weight);\n line-height: var(--typography-label-large-line-height);\n letter-spacing: var(--typography-label-large-letter-spacing);\n padding: var(--dimension-padding-large);\n }\n\n :host([size='medium']) button {\n font-size: var(--typography-label-medium-font-size);\n font-weight: var(--typography-label-medium-font-weight);\n line-height: var(--typography-label-medium-line-height);\n letter-spacing: var(--typography-label-medium-letter-spacing);\n padding: var(--dimension-padding-medium);\n }\n\n :host([size='small']) button {\n font-size: var(--typography-label-small-font-size);\n font-weight: var(--typography-label-small-font-weight);\n line-height: var(--typography-label-small-line-height);\n letter-spacing: var(--typography-label-small-letter-spacing);\n padding: var(--dimension-padding-small);\n }\n\n :host([color='accent'][variant='strong']) button {\n background-color: var(--color-accent-strong-background);\n border-color: var(--color-accent-strong-border);\n color: var(--color-accent-strong);\n &:hover {\n background-color: var(--color-accent-strong-background-hover);\n border-color: var(--color-accent-strong-border-hover);\n color: var(--color-accent-strong-hover);\n }\n &:active {\n background-color: var(--color-accent-strong-background-active);\n border-color: var(--color-accent-strong-border-active);\n color: var(--color-accent-strong-active);\n }\n &:disabled {\n background-color: var(--color-accent-strong-background-disabled);\n border-color: var(--color-accent-strong-border-disabled);\n color: var(--color-accent-strong-disabled);\n }\n }\n\n :host([color='accent'][variant='subtle']) button {\n background-color: var(--color-accent-subtle-background);\n border-color: var(--color-accent-subtle-border);\n color: var(--color-accent-subtle);\n &:hover {\n background-color: var(--color-accent-subtle-background-hover);\n border-color: var(--color-accent-subtle-border-hover);\n color: var(--color-accent-subtle-hover);\n }\n &:active {\n background-color: var(--color-accent-subtle-background-active);\n border-color: var(--color-accent-subtle-border-active);\n color: var(--color-accent-subtle-active);\n }\n &:disabled {\n background-color: var(--color-accent-subtle-background-disabled);\n border-color: var(--color-accent-subtle-border-disabled);\n color: var(--color-accent-subtle-disabled);\n }\n }\n\n :host([color='accent'][variant='outlined']) button {\n background-color: var(--color-accent-outlined-background);\n border-color: var(--color-accent-outlined-border);\n color: var(--color-accent-outlined);\n &:hover {\n background-color: var(--color-accent-outlined-background-hover);\n border-color: var(--color-accent-outlined-border-hover);\n color: var(--color-accent-outlined-hover);\n }\n &:active {\n background-color: var(--color-accent-outlined-background-active);\n border-color: var(--color-accent-outlined-border-active);\n color: var(--color-accent-outlined-active);\n }\n &:disabled {\n background-color: var(--color-accent-outlined-background-disabled);\n border-color: var(--color-accent-outlined-border-disabled);\n color: var(--color-accent-outlined-disabled);\n }\n }\n\n :host([color='accent'][variant='text']) button {\n background-color: var(--color-accent-text-background);\n border-color: var(--color-accent-text-border);\n color: var(--color-accent-text);\n &:hover {\n background-color: var(--color-accent-text-background-hover);\n border-color: var(--color-accent-text-border-hover);\n color: var(--color-accent-text-hover);\n }\n &:active {\n background-color: var(--color-accent-text-background-active);\n border-color: var(--color-accent-text-border-active);\n color: var(--color-accent-text-active);\n }\n &:disabled {\n background-color: var(--color-accent-text-background-disabled);\n border-color: var(--color-accent-text-border-disabled);\n color: var(--color-accent-text-disabled);\n }\n }\n\n :host([color='neutral'][variant='strong']) button {\n background-color: var(--color-neutral-strong-background);\n border-color: var(--color-neutral-strong-border);\n color: var(--color-neutral-strong);\n &:hover {\n background-color: var(--color-neutral-strong-background-hover);\n border-color: var(--color-neutral-strong-border-hover);\n color: var(--color-neutral-strong-hover);\n }\n &:active {\n background-color: var(--color-neutral-strong-background-active);\n border-color: var(--color-neutral-strong-border-active);\n color: var(--color-neutral-strong-active);\n }\n &:disabled {\n background-color: var(--color-neutral-strong-background-disabled);\n border-color: var(--color-neutral-strong-border-disabled);\n color: var(--color-neutral-strong-disabled);\n }\n }\n\n :host([color='neutral'][variant='subtle']) button {\n background-color: var(--color-neutral-subtle-background);\n border-color: var(--color-neutral-subtle-border);\n color: var(--color-neutral-subtle);\n &:hover {\n background-color: var(--color-neutral-subtle-background-hover);\n border-color: var(--color-neutral-subtle-border-hover);\n color: var(--color-neutral-subtle-hover);\n }\n &:active {\n background-color: var(--color-neutral-subtle-background-active);\n border-color: var(--color-neutral-subtle-border-active);\n color: var(--color-neutral-subtle-active);\n }\n &:disabled {\n background-color: var(--color-neutral-subtle-background-disabled);\n border-color: var(--color-neutral-subtle-border-disabled);\n color: var(--color-neutral-subtle-disabled);\n }\n }\n\n :host([color='neutral'][variant='outlined']) button {\n background-color: var(--color-neutral-outlined-background);\n border-color: var(--color-neutral-outlined-border);\n color: var(--color-neutral-outlined);\n &:hover {\n background-color: var(--color-neutral-outlined-background-hover);\n border-color: var(--color-neutral-outlined-border-hover);\n color: var(--color-neutral-outlined-hover);\n }\n &:active {\n background-color: var(--color-neutral-outlined-background-active);\n border-color: var(--color-neutral-outlined-border-active);\n color: var(--color-neutral-outlined-active);\n }\n &:disabled {\n background-color: var(--color-neutral-outlined-background-disabled);\n border-color: var(--color-neutral-outlined-border-disabled);\n color: var(--color-neutral-outlined-disabled);\n }\n }\n\n :host([color='neutral'][variant='text']) button {\n background-color: var(--color-neutral-text-background);\n border-color: var(--color-neutral-text-border);\n color: var(--color-neutral-text);\n &:hover {\n background-color: var(--color-neutral-text-background-hover);\n border-color: var(--color-neutral-text-border-hover);\n color: var(--color-neutral-text-hover);\n }\n &:active {\n background-color: var(--color-neutral-text-background-active);\n border-color: var(--color-neutral-text-border-active);\n color: var(--color-neutral-text-active);\n }\n &:disabled {\n background-color: var(--color-neutral-text-background-disabled);\n border-color: var(--color-neutral-text-border-disabled);\n color: var(--color-neutral-text-disabled);\n }\n }\n\n :host([color='danger'][variant='strong']) button {\n background-color: var(--color-danger-strong-background);\n border-color: var(--color-danger-strong-border);\n color: var(--color-danger-strong);\n &:hover {\n background-color: var(--color-danger-strong-background-hover);\n border-color: var(--color-danger-strong-border-hover);\n color: var(--color-danger-strong-hover);\n }\n &:active {\n background-color: var(--color-danger-strong-background-active);\n border-color: var(--color-danger-strong-border-active);\n color: var(--color-danger-strong-active);\n }\n &:disabled {\n background-color: var(--color-danger-strong-background-disabled);\n border-color: var(--color-danger-strong-border-disabled);\n color: var(--color-danger-strong-disabled);\n }\n }\n\n :host([color='danger'][variant='subtle']) button {\n background-color: var(--color-danger-subtle-background);\n border-color: var(--color-danger-subtle-border);\n color: var(--color-danger-subtle);\n &:hover {\n background-color: var(--color-danger-subtle-background-hover);\n border-color: var(--color-danger-subtle-border-hover);\n color: var(--color-danger-subtle-hover);\n }\n &:active {\n background-color: var(--color-danger-subtle-background-active);\n border-color: var(--color-danger-subtle-border-active);\n color: var(--color-danger-subtle-active);\n }\n &:disabled {\n background-color: var(--color-danger-subtle-background-disabled);\n border-color: var(--color-danger-subtle-border-disabled);\n color: var(--color-danger-subtle-disabled);\n }\n }\n\n :host([color='danger'][variant='outlined']) button {\n background-color: var(--color-danger-outlined-background);\n border-color: var(--color-danger-outlined-border);\n color: var(--color-danger-outlined);\n &:hover {\n background-color: var(--color-danger-outlined-background-hover);\n border-color: var(--color-danger-outlined-border-hover);\n color: var(--color-danger-outlined-hover);\n }\n &:active {\n background-color: var(--color-danger-outlined-background-active);\n border-color: var(--color-danger-outlined-border-active);\n color: var(--color-danger-outlined-active);\n }\n &:disabled {\n background-color: var(--color-danger-outlined-background-disabled);\n border-color: var(--color-danger-outlined-border-disabled);\n color: var(--color-danger-outlined-disabled);\n }\n }\n\n :host([color='danger'][variant='text']) button {\n background-color: var(--color-danger-text-background);\n border-color: var(--color-danger-text-border);\n color: var(--color-danger-text);\n &:hover {\n background-color: var(--color-danger-text-background-hover);\n border-color: var(--color-danger-text-border-hover);\n color: var(--color-danger-text-hover);\n }\n &:active {\n background-color: var(--color-danger-text-background-active);\n border-color: var(--color-danger-text-border-active);\n color: var(--color-danger-text-active);\n }\n &:disabled {\n background-color: var(--color-danger-text-background-disabled);\n border-color: var(--color-danger-text-border-disabled);\n color: var(--color-danger-text-disabled);\n }\n }\n `;\n}\n"],"names":["FhiButtonSelector","FhiButton","LitElement","event","_a","_b","target","html","css","__decorateClass","property","customElement"],"mappings":";;;;;;AAGO,MAAMA,IAAoB;AAG1B,IAAMC,IAAN,cAAwBC,EAAW;AAAA,EAyBxC,cAAc;AACZ,UAAA,GAvByC,KAAA,QAG5B,UAE4B,KAAA,UAI9B,UAE8B,KAAA,OAG7B,UAE8B,KAAA,WAAW,IAE3B,KAAA,OAAsC,UAMhE,KAAK,aAAa,KAAK,gBAAA;AAAA,EACzB;AAAA,EAEA,oBAA0B;AACxB,UAAM,kBAAA,GAEN,KAAK,UAAU,KAAK,aAAa,KAAK,IAAI,GAC1C,KAAK,YAAY,KAAK,eAAe,KAAK,IAAI,GAC9C,KAAK,gBAAgB,KAAK,mBAAmB,KAAK,IAAI;AAAA,EACxD;AAAA,EAEA,QAAc;AACZ,SAAK,aAAA;AAAA,EACP;AAAA,EAEQ,aAAaC,GAA0C;;AAI7D,IAHAA,KAAA,QAAAA,EAAO,kBACPA,KAAA,QAAAA,EAAO,mBAEH,MAAK,aAIT,KAAK;AAAA,MACH,IAAI,WAAW,SAAS,EAAE,SAAS,IAAM,UAAU,IAAM;AAAA,IAAA,GAGvD,KAAK,SAAS,cAChBC,IAAA,KAAK,WAAW,SAAhB,QAAAA,EAAsB,kBAGpB,KAAK,SAAS,aAChBC,IAAA,KAAK,WAAW,SAAhB,QAAAA,EAAsB;AAAA,EAE1B;AAAA,EAEQ,aAAaF,GAA4B;AAC/C,QAAIA,EAAM,QAAQ,OAAOA,EAAM,QAAQ,YAAY;AACjD,WAAK,aAAaA,CAAK;AAEvB,YAAMG,IAASH,EAAM;AACrB,MAAAG,KAAA,QAAAA,EAAQ,QACRA,KAAA,QAAAA,EAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAEQ,eAAeH,GAA4B;AACjD,IAAIA,EAAM,QAAQ,WAChB,KAAK,aAAaA,CAAK;AAAA,EAE3B;AAAA,EAEQ,qBAAqB;AAC3B,WAAO;AAAA,EACT;AAAA,EAEA,SAAS;AACP,WAAOI;AAAAA,kBACO,KAAK,QAAQ;AAAA,aAClB,KAAK,IAAI;AAAA,eACP,KAAK,YAAY;AAAA,iBACf,KAAK,cAAc;AAAA,eACrB,KAAK,YAAY;AAAA;AAAA;AAAA;AAAA,EAI9B;AAinBF;AA9sBaN,EACK,iBAAiB;AADtBA,EA+FJ,SAASO;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA5F2BC,EAAA;AAAA,EAA1CC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAH9BT,EAGgC,WAAA,SAAA,CAAA;AAKAQ,EAAA;AAAA,EAA1CC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAR9BT,EAQgC,WAAA,WAAA,CAAA;AAMAQ,EAAA;AAAA,EAA1CC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAd9BT,EAcgC,WAAA,QAAA,CAAA;AAKCQ,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAnB/BT,EAmBiC,WAAA,YAAA,CAAA;AAEhBQ,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GArBfT,EAqBiB,WAAA,QAAA,CAAA;AArBjBA,IAANQ,EAAA;AAAA,EADNE,EAAcX,CAAiB;AAAA,GACnBC,CAAA;"}
1
+ {"version":3,"file":"fhi-button.js","sources":["../../src/components/fhi-button/fhi-button.component.ts"],"sourcesContent":["import { html, css, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nexport const FhiButtonSelector = 'fhi-button';\n\n@customElement(FhiButtonSelector)\nexport class FhiButton extends LitElement {\n static readonly formAssociated = true;\n\n @property({ type: String, reflect: true }) color:\n | 'accent'\n | 'neutral'\n | 'danger' = 'accent';\n\n @property({ type: String, reflect: true }) variant:\n | 'strong'\n | 'subtle'\n | 'outlined'\n | 'text' = 'strong';\n\n @property({ type: String, reflect: true }) size:\n | 'large'\n | 'medium'\n | 'small' = 'medium';\n\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property({ type: Boolean, attribute: 'icon-only' })\n iconOnly: boolean = false;\n\n @property({ type: String }) type: 'button' | 'submit' | 'reset' = 'submit';\n\n private _internals: ElementInternals;\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n this.onkeyup = this._handleKeyup.bind(this);\n this.onkeydown = this._handleKeydown.bind(this);\n this.onselectstart = this._handleSelectStart.bind(this);\n }\n\n public click(): void {\n this._handleClick();\n }\n\n private _handleClick(event?: MouseEvent | KeyboardEvent): void {\n event?.preventDefault();\n event?.stopPropagation();\n\n if (this.disabled) {\n return;\n }\n\n this.dispatchEvent(\n new MouseEvent('click', { bubbles: true, composed: true }),\n );\n\n if (this.type === 'submit') {\n this._internals.form?.requestSubmit();\n }\n\n if (this.type === 'reset') {\n this._internals.form?.reset();\n }\n }\n\n private _handleKeyup(event: KeyboardEvent): void {\n if (event.key === ' ' || event.key === 'Spacebar') {\n this._handleClick(event);\n\n const target = event.target as HTMLElement | null;\n target?.blur();\n target?.focus();\n }\n }\n\n private _handleKeydown(event: KeyboardEvent): void {\n if (event.key === 'Enter') {\n this._handleClick(event);\n }\n }\n\n private _handleSelectStart(): boolean {\n return false;\n }\n\n private _getIconSize(): string {\n switch (this.size) {\n case 'small':\n return '20';\n case 'medium':\n case 'large':\n default:\n return '24';\n }\n }\n\n private _handleSlotChange(event: Event): void {\n if (this.iconOnly) {\n return;\n }\n\n const slot = event.target as HTMLSlotElement;\n const nodes = slot.assignedNodes();\n\n let firstIcon: HTMLElement | undefined;\n let lastIcon: HTMLElement | undefined;\n\n nodes.forEach(node => {\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return;\n }\n\n if (!(node as Element).tagName.toLowerCase().startsWith('fhi-icon')) {\n return;\n }\n\n // The first icon is either the first child or it is preceded by a whitespace text node\n if (\n !node.previousSibling?.nodeType ||\n (node.previousSibling?.nodeType === Node.TEXT_NODE &&\n !node.previousSibling.textContent?.trim())\n ) {\n firstIcon = node as HTMLElement;\n }\n\n // The last icon is either the last child or it is followed by a whitespace text node\n if (\n node.previousSibling?.nodeType === Node.TEXT_NODE &&\n node.previousSibling?.textContent?.trim()\n ) {\n lastIcon = node as HTMLElement;\n }\n });\n\n if (firstIcon) {\n firstIcon.style.marginRight = 'var(--dimension-icon-margin-right)';\n firstIcon.style.marginLeft = 'var(--dimension-icon-margin-left-offset)';\n firstIcon.setAttribute('size', this._getIconSize());\n }\n\n if (lastIcon) {\n lastIcon.style.marginRight = 'var(--dimension-icon-margin-right-offset)';\n lastIcon.style.marginLeft = 'var(--dimension-icon-margin-left)';\n lastIcon.setAttribute('size', this._getIconSize());\n }\n }\n\n render() {\n return html`<button\n ?disabled=${this.disabled}\n type=${this.type}\n @keyup=${this._handleKeyup}\n @keydown=${this._handleKeydown}\n @click=${this._handleClick}\n >\n <div class=\"slot-container\">\n <slot @slotchange=${this._handleSlotChange}></slot>\n </div>\n </button>`;\n }\n\n static styles = css`\n :host {\n --dimension-border-radius: var(--fhi-border-radius-full);\n --dimension-border-width: var(--fhi-dimension-border-width);\n\n --dimension-padding-small: calc(\n var(--fhi-spacing-050) - var(--fhi-dimension-border-width)\n )\n calc(\n var(--fhi-spacing-150) + var(--fhi-spacing-050) - var(\n --fhi-dimension-border-width\n )\n );\n --dimension-padding-medium: calc(\n var(--fhi-spacing-100) - var(--fhi-dimension-border-width)\n )\n calc(\n var(--fhi-spacing-200) + var(--fhi-spacing-050) - var(\n --fhi-dimension-border-width\n )\n );\n --dimension-padding-large: calc(\n var(--fhi-spacing-200) - var(--fhi-dimension-border-width)\n )\n calc(\n var(--fhi-spacing-300) + var(--fhi-spacing-050) - var(\n --fhi-dimension-border-width\n )\n );\n\n /* Icon */\n --dimension-icon-margin-left: var(--fhi-spacing-050);\n --dimension-icon-margin-right: var(--fhi-spacing-050);\n\n /* Adjust for the button padding when the icon is present on either side */\n --dimension-icon-margin-left-offset: calc(-1 * var(--fhi-spacing-050));\n --dimension-icon-margin-right-offset: calc(-1 * var(--fhi-spacing-050));\n\n --dimension-icon-only-border-radius: var(--fhi-border-radius-full);\n\n /* Typography */\n --typography-font-family: var(--fhi-font-family-default);\n --typography-label-large-font-size: var(\n --fhi-typography-label-large-font-size\n );\n --typography-label-medium-font-size: var(\n --fhi-typography-label-medium-font-size\n );\n --typography-label-small-font-size: var(\n --fhi-typography-label-medium-font-size\n );\n --typography-label-large-font-weight: var(\n --fhi-typography-label-large-font-weight\n );\n --typography-label-medium-font-weight: var(\n --fhi-typography-label-medium-font-weight\n );\n --typography-label-small-font-weight: var(\n --fhi-typography-label-medium-font-weight\n );\n --typography-label-large-letter-spacing: var(\n --fhi-typography-label-large-letter-spacing\n );\n --typography-label-medium-letter-spacing: var(\n --fhi-typography-label-medium-letter-spacing\n );\n --typography-label-small-letter-spacing: var(\n --fhi-typography-label-medium-letter-spacing\n );\n --typography-label-large-line-height: var(\n --fhi-typography-label-large-line-height\n );\n --typography-label-small-line-height: var(\n --fhi-typography-label-medium-line-height\n );\n --typography-label-medium-line-height: var(\n --fhi-typography-label-medium-line-height\n );\n\n /* Accent Color */\n --color-accent-strong-background: var(--fhi-color-accent-base-default);\n --color-accent-strong-border: var(--fhi-color-accent-base-default);\n --color-accent-strong: var(--fhi-color-accent-text-inverted);\n --color-accent-strong-background-hover: var(\n --fhi-color-accent-base-hover\n );\n --color-accent-strong-border-hover: var(--fhi-color-accent-base-hover);\n --color-accent-strong-hover: var(--fhi-color-accent-text-inverted);\n --color-accent-strong-background-active: var(\n --fhi-color-accent-base-active\n );\n --color-accent-strong-border-active: var(--fhi-color-accent-base-active);\n --color-accent-strong-active: var(--fhi-color-accent-text-inverted);\n --color-accent-strong-background-disabled: var(\n --fhi-color-accent-base-default\n );\n --color-accent-strong-border-disabled: var(\n --fhi-color-accent-base-default\n );\n --color-accent-strong-disabled: var(--fhi-color-accent-text-inverted);\n\n --color-accent-subtle-background: var(--fhi-color-accent-surface-default);\n --color-accent-subtle-border: var(--fhi-color-accent-surface-default);\n --color-accent-subtle: var(--fhi-color-accent-text-subtle);\n --color-accent-subtle-background-hover: var(\n --fhi-color-accent-surface-hover\n );\n --color-accent-subtle-border-hover: var(--fhi-color-accent-surface-hover);\n --color-accent-subtle-hover: var(--fhi-color-accent-text-default);\n --color-accent-subtle-background-active: var(\n --fhi-color-accent-surface-active\n );\n --color-accent-subtle-border-active: var(\n --fhi-color-accent-surface-active\n );\n --color-accent-subtle-active: var(--fhi-color-accent-text-default);\n --color-accent-subtle-background-disabled: var(\n --fhi-color-accent-surface-default\n );\n --color-accent-subtle-border-disabled: var(\n --fhi-color-accent-surface-default\n );\n --color-accent-subtle-disabled: var(--fhi-color-accent-text-subtle);\n\n --color-accent-outlined-background: transparent;\n --color-accent-outlined-border: var(--fhi-color-accent-border-subtle);\n --color-accent-outlined: var(--fhi-color-accent-text-subtle);\n --color-accent-outlined-background-hover: var(\n --fhi-color-accent-surface-default\n );\n --color-accent-outlined-border-hover: var(\n --fhi-color-accent-surface-default\n );\n --color-accent-outlined-hover: var(--fhi-color-accent-text-default);\n --color-accent-outlined-background-active: var(\n --fhi-color-accent-surface-hover\n );\n --color-accent-outlined-border-active: var(\n --fhi-color-accent-surface-hover\n );\n --color-accent-outlined-active: var(--fhi-color-accent-text-default);\n --color-accent-outlined-background-disabled: transparent;\n --color-accent-outlined-border-disabled: var(\n --fhi-color-accent-border-subtle\n );\n --color-accent-outlined-disabled: var(--fhi-color-accent-text-subtle);\n\n --color-accent-text-background: transparent;\n --color-accent-text-border: transparent;\n --color-accent-text: var(--fhi-color-accent-text-subtle);\n --color-accent-text-background-hover: var(\n --fhi-color-accent-surface-default\n );\n --color-accent-text-border-hover: var(--fhi-color-accent-surface-default);\n --color-accent-text-hover: var(--fhi-color-accent-text-default);\n --color-accent-text-background-active: var(\n --fhi-color-accent-surface-hover\n );\n --color-accent-text-border-active: var(--fhi-color-accent-surface-hover);\n --color-accent-text-active: var(--fhi-color-accent-text-default);\n --color-accent-text-background-disabled: transparent;\n --color-accent-text-border-disabled: transparent;\n --color-accent-text-disabled: var(--fhi-color-accent-text-default);\n\n /* Neutral Color */\n --color-neutral-strong-background: var(--fhi-color-neutral-base-default);\n --color-neutral-strong-border: var(--fhi-color-neutral-base-default);\n --color-neutral-strong: var(--fhi-color-neutral-text-inverted);\n --color-neutral-strong-background-hover: var(\n --fhi-color-neutral-base-hover\n );\n --color-neutral-strong-border-hover: var(--fhi-color-neutral-base-hover);\n --color-neutral-strong-hover: var(--fhi-color-neutral-text-inverted);\n --color-neutral-strong-background-active: var(\n --fhi-color-neutral-base-active\n );\n --color-neutral-strong-border-active: var(\n --fhi-color-neutral-base-active\n );\n --color-neutral-strong-active: var(--fhi-color-neutral-text-inverted);\n --color-neutral-strong-background-disabled: var(\n --fhi-color-neutral-base-default\n );\n --color-neutral-strong-border-disabled: var(\n --fhi-color-neutral-base-default\n );\n --color-neutral-strong-disabled: var(--fhi-color-neutral-text-inverted);\n\n --color-neutral-subtle-background: var(\n --fhi-color-neutral-surface-default\n );\n --color-neutral-subtle-border: var(--fhi-color-neutral-surface-default);\n --color-neutral-subtle: var(--fhi-color-neutral-text-subtle);\n --color-neutral-subtle-background-hover: var(\n --fhi-color-neutral-surface-hover\n );\n --color-neutral-subtle-border-hover: var(\n --fhi-color-neutral-surface-hover\n );\n --color-neutral-subtle-hover: var(--fhi-color-neutral-text-default);\n --color-neutral-subtle-background-active: var(\n --fhi-color-neutral-surface-active\n );\n --color-neutral-subtle-border-active: var(\n --fhi-color-neutral-surface-active\n );\n --color-neutral-subtle-active: var(--fhi-color-neutral-text-default);\n --color-neutral-subtle-background-disabled: var(\n --fhi-color-neutral-surface-default\n );\n --color-neutral-subtle-border-disabled: var(\n --fhi-color-neutral-surface-default\n );\n --color-neutral-subtle-disabled: var(--fhi-color-neutral-text-default);\n\n --color-neutral-outlined-background: transparent;\n --color-neutral-outlined-border: var(--fhi-color-neutral-border-subtle);\n --color-neutral-outlined: var(--fhi-color-neutral-text-subtle);\n --color-neutral-outlined-background-hover: var(\n --fhi-color-neutral-surface-default\n );\n --color-neutral-outlined-border-hover: var(\n --fhi-color-neutral-surface-default\n );\n --color-neutral-outlined-hover: var(--fhi-color-neutral-text-default);\n --color-neutral-outlined-background-active: var(\n --fhi-color-neutral-surface-hover\n );\n --color-neutral-outlined-border-active: var(\n --fhi-color-neutral-surface-hover\n );\n --color-neutral-outlined-active: var(--fhi-color-neutral-text-default);\n --color-neutral-outlined-background-disabled: transparent;\n --color-neutral-outlined-border-disabled: var(\n --fhi-color-neutral-border-subtle\n );\n --color-neutral-outlined-disabled: var(--fhi-color-neutral-text-subtle);\n\n --color-neutral-text-background: transparent;\n --color-neutral-text-border: transparent;\n --color-neutral-text: var(--fhi-color-neutral-text-subtle);\n --color-neutral-text-background-hover: var(\n --fhi-color-neutral-surface-default\n );\n --color-neutral-text-border-hover: var(\n --fhi-color-neutral-surface-default\n );\n --color-neutral-text-hover: var(--fhi-color-neutral-text-default);\n --color-neutral-text-background-active: var(\n --fhi-color-neutral-surface-hover\n );\n --color-neutral-text-border-active: var(\n --fhi-color-neutral-surface-hover\n );\n --color-neutral-text-active: var(--fhi-color-neutral-text-default);\n --color-neutral-text-background-disabled: transparent;\n --color-neutral-text-border-disabled: transparent;\n --color-neutral-text-disabled: var(--fhi-color-neutral-text-subtle);\n\n /* Danger Color */\n --color-danger-strong-background: var(--fhi-color-danger-base-default);\n --color-danger-strong-border: var(--fhi-color-danger-base-default);\n --color-danger-strong: var(--fhi-color-danger-text-inverted);\n --color-danger-strong-background-hover: var(\n --fhi-color-danger-base-hover\n );\n --color-danger-strong-border-hover: var(--fhi-color-danger-base-hover);\n --color-danger-strong-hover: var(--fhi-color-danger-text-inverted);\n --color-danger-strong-background-active: var(\n --fhi-color-danger-base-active\n );\n --color-danger-strong-border-active: var(--fhi-color-danger-base-active);\n --color-danger-strong-active: var(--fhi-color-danger-text-inverted);\n --color-danger-strong-background-disabled: var(\n --fhi-color-danger-base-default\n );\n --color-danger-strong-border-disabled: var(\n --fhi-color-danger-base-default\n );\n --color-danger-strong-disabled: var(--fhi-color-danger-text-inverted);\n\n --color-danger-subtle-background: var(--fhi-color-danger-surface-default);\n --color-danger-subtle-border: var(--fhi-color-danger-surface-default);\n --color-danger-subtle: var(--fhi-color-danger-text-subtle);\n --color-danger-subtle-background-hover: var(\n --fhi-color-danger-surface-hover\n );\n --color-danger-subtle-border-hover: var(--fhi-color-danger-surface-hover);\n --color-danger-subtle-hover: var(--fhi-color-danger-text-default);\n --color-danger-subtle-background-active: var(\n --fhi-color-danger-surface-active\n );\n --color-danger-subtle-border-active: var(\n --fhi-color-danger-surface-active\n );\n --color-danger-subtle-active: var(--fhi-color-danger-text-default);\n --color-danger-subtle-background-disabled: var(\n --fhi-color-danger-surface-default\n );\n --color-danger-subtle-border-disabled: var(\n --fhi-color-danger-surface-default\n );\n --color-danger-subtle-disabled: var(--fhi-color-danger-text-subtle);\n\n --color-danger-outlined-background: transparent;\n --color-danger-outlined-border: var(--fhi-color-danger-border-subtle);\n --color-danger-outlined: var(--fhi-color-danger-text-subtle);\n --color-danger-outlined-background-hover: var(\n --fhi-color-danger-surface-default\n );\n --color-danger-outlined-border-hover: var(\n --fhi-color-danger-surface-default\n );\n --color-danger-outlined-hover: var(--fhi-color-danger-text-default);\n --color-danger-outlined-background-active: var(\n --fhi-color-danger-surface-hover\n );\n --color-danger-outlined-border-active: var(\n --fhi-color-danger-surface-hover\n );\n --color-danger-outlined-active: var(--fhi-color-danger-text-default);\n --color-danger-outlined-background-disabled: transparent;\n --color-danger-outlined-border-disabled: var(\n --fhi-color-danger-border-subtle\n );\n --color-danger-outlined-disabled: var(--fhi-color-danger-text-subtle);\n\n --color-danger-text-background: transparent;\n --color-danger-text-border: transparent;\n --color-danger-text: var(--fhi-color-danger-text-subtle);\n --color-danger-text-background-hover: var(\n --fhi-color-danger-surface-default\n );\n --color-danger-text-border-hover: var(--fhi-color-danger-surface-default);\n --color-danger-text-hover: var(--fhi-color-danger-text-default);\n --color-danger-text-background-active: var(\n --fhi-color-danger-surface-hover\n );\n --color-danger-text-border-active: var(--fhi-color-danger-surface-hover);\n --color-danger-text-active: var(--fhi-color-danger-text-default);\n --color-danger-text-background-disabled: transparent;\n --color-danger-text-border-disabled: transparent;\n --color-danger-text-disabled: var(--fhi-color-danger-text-subtle);\n\n --motion-transition: var(--fhi-motion-duration-quick)\n var(--fhi-motion-ease-default);\n\n --opacity-disabled: var(--fhi-opacity-disabled);\n }\n\n :host {\n display: block;\n\n button {\n border-radius: var(--dimension-border-radius);\n border: solid var(--dimension-border-width);\n font-family: var(--typography-font-family);\n transition: var(--motion-transition);\n\n cursor: pointer;\n &:disabled {\n opacity: var(--opacity-disabled);\n cursor: not-allowed;\n }\n }\n\n .slot-container {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n }\n }\n\n :host([size='large']) button {\n font-size: var(--typography-label-large-font-size);\n font-weight: var(--typography-label-large-font-weight);\n line-height: var(--typography-label-large-line-height);\n letter-spacing: var(--typography-label-large-letter-spacing);\n padding: var(--dimension-padding-large);\n }\n\n :host([size='medium']) button {\n font-size: var(--typography-label-medium-font-size);\n font-weight: var(--typography-label-medium-font-weight);\n line-height: var(--typography-label-medium-line-height);\n letter-spacing: var(--typography-label-medium-letter-spacing);\n padding: var(--dimension-padding-medium);\n }\n\n :host([size='small']) button {\n font-size: var(--typography-label-small-font-size);\n font-weight: var(--typography-label-small-font-weight);\n line-height: var(--typography-label-small-line-height);\n letter-spacing: var(--typography-label-small-letter-spacing);\n padding: var(--dimension-padding-small);\n }\n\n :host([color='accent'][variant='strong']) button {\n background-color: var(--color-accent-strong-background);\n border-color: var(--color-accent-strong-border);\n color: var(--color-accent-strong);\n &:hover {\n background-color: var(--color-accent-strong-background-hover);\n border-color: var(--color-accent-strong-border-hover);\n color: var(--color-accent-strong-hover);\n }\n &:active {\n background-color: var(--color-accent-strong-background-active);\n border-color: var(--color-accent-strong-border-active);\n color: var(--color-accent-strong-active);\n }\n &:disabled {\n background-color: var(--color-accent-strong-background-disabled);\n border-color: var(--color-accent-strong-border-disabled);\n color: var(--color-accent-strong-disabled);\n }\n }\n\n :host([color='accent'][variant='subtle']) button {\n background-color: var(--color-accent-subtle-background);\n border-color: var(--color-accent-subtle-border);\n color: var(--color-accent-subtle);\n &:hover {\n background-color: var(--color-accent-subtle-background-hover);\n border-color: var(--color-accent-subtle-border-hover);\n color: var(--color-accent-subtle-hover);\n }\n &:active {\n background-color: var(--color-accent-subtle-background-active);\n border-color: var(--color-accent-subtle-border-active);\n color: var(--color-accent-subtle-active);\n }\n &:disabled {\n background-color: var(--color-accent-subtle-background-disabled);\n border-color: var(--color-accent-subtle-border-disabled);\n color: var(--color-accent-subtle-disabled);\n }\n }\n\n :host([color='accent'][variant='outlined']) button {\n background-color: var(--color-accent-outlined-background);\n border-color: var(--color-accent-outlined-border);\n color: var(--color-accent-outlined);\n &:hover {\n background-color: var(--color-accent-outlined-background-hover);\n border-color: var(--color-accent-outlined-border-hover);\n color: var(--color-accent-outlined-hover);\n }\n &:active {\n background-color: var(--color-accent-outlined-background-active);\n border-color: var(--color-accent-outlined-border-active);\n color: var(--color-accent-outlined-active);\n }\n &:disabled {\n background-color: var(--color-accent-outlined-background-disabled);\n border-color: var(--color-accent-outlined-border-disabled);\n color: var(--color-accent-outlined-disabled);\n }\n }\n\n :host([color='accent'][variant='text']) button {\n background-color: var(--color-accent-text-background);\n border-color: var(--color-accent-text-border);\n color: var(--color-accent-text);\n &:hover {\n background-color: var(--color-accent-text-background-hover);\n border-color: var(--color-accent-text-border-hover);\n color: var(--color-accent-text-hover);\n }\n &:active {\n background-color: var(--color-accent-text-background-active);\n border-color: var(--color-accent-text-border-active);\n color: var(--color-accent-text-active);\n }\n &:disabled {\n background-color: var(--color-accent-text-background-disabled);\n border-color: var(--color-accent-text-border-disabled);\n color: var(--color-accent-text-disabled);\n }\n }\n\n :host([color='neutral'][variant='strong']) button {\n background-color: var(--color-neutral-strong-background);\n border-color: var(--color-neutral-strong-border);\n color: var(--color-neutral-strong);\n &:hover {\n background-color: var(--color-neutral-strong-background-hover);\n border-color: var(--color-neutral-strong-border-hover);\n color: var(--color-neutral-strong-hover);\n }\n &:active {\n background-color: var(--color-neutral-strong-background-active);\n border-color: var(--color-neutral-strong-border-active);\n color: var(--color-neutral-strong-active);\n }\n &:disabled {\n background-color: var(--color-neutral-strong-background-disabled);\n border-color: var(--color-neutral-strong-border-disabled);\n color: var(--color-neutral-strong-disabled);\n }\n }\n\n :host([color='neutral'][variant='subtle']) button {\n background-color: var(--color-neutral-subtle-background);\n border-color: var(--color-neutral-subtle-border);\n color: var(--color-neutral-subtle);\n &:hover {\n background-color: var(--color-neutral-subtle-background-hover);\n border-color: var(--color-neutral-subtle-border-hover);\n color: var(--color-neutral-subtle-hover);\n }\n &:active {\n background-color: var(--color-neutral-subtle-background-active);\n border-color: var(--color-neutral-subtle-border-active);\n color: var(--color-neutral-subtle-active);\n }\n &:disabled {\n background-color: var(--color-neutral-subtle-background-disabled);\n border-color: var(--color-neutral-subtle-border-disabled);\n color: var(--color-neutral-subtle-disabled);\n }\n }\n\n :host([color='neutral'][variant='outlined']) button {\n background-color: var(--color-neutral-outlined-background);\n border-color: var(--color-neutral-outlined-border);\n color: var(--color-neutral-outlined);\n &:hover {\n background-color: var(--color-neutral-outlined-background-hover);\n border-color: var(--color-neutral-outlined-border-hover);\n color: var(--color-neutral-outlined-hover);\n }\n &:active {\n background-color: var(--color-neutral-outlined-background-active);\n border-color: var(--color-neutral-outlined-border-active);\n color: var(--color-neutral-outlined-active);\n }\n &:disabled {\n background-color: var(--color-neutral-outlined-background-disabled);\n border-color: var(--color-neutral-outlined-border-disabled);\n color: var(--color-neutral-outlined-disabled);\n }\n }\n\n :host([color='neutral'][variant='text']) button {\n background-color: var(--color-neutral-text-background);\n border-color: var(--color-neutral-text-border);\n color: var(--color-neutral-text);\n &:hover {\n background-color: var(--color-neutral-text-background-hover);\n border-color: var(--color-neutral-text-border-hover);\n color: var(--color-neutral-text-hover);\n }\n &:active {\n background-color: var(--color-neutral-text-background-active);\n border-color: var(--color-neutral-text-border-active);\n color: var(--color-neutral-text-active);\n }\n &:disabled {\n background-color: var(--color-neutral-text-background-disabled);\n border-color: var(--color-neutral-text-border-disabled);\n color: var(--color-neutral-text-disabled);\n }\n }\n\n :host([color='danger'][variant='strong']) button {\n background-color: var(--color-danger-strong-background);\n border-color: var(--color-danger-strong-border);\n color: var(--color-danger-strong);\n &:hover {\n background-color: var(--color-danger-strong-background-hover);\n border-color: var(--color-danger-strong-border-hover);\n color: var(--color-danger-strong-hover);\n }\n &:active {\n background-color: var(--color-danger-strong-background-active);\n border-color: var(--color-danger-strong-border-active);\n color: var(--color-danger-strong-active);\n }\n &:disabled {\n background-color: var(--color-danger-strong-background-disabled);\n border-color: var(--color-danger-strong-border-disabled);\n color: var(--color-danger-strong-disabled);\n }\n }\n\n :host([color='danger'][variant='subtle']) button {\n background-color: var(--color-danger-subtle-background);\n border-color: var(--color-danger-subtle-border);\n color: var(--color-danger-subtle);\n &:hover {\n background-color: var(--color-danger-subtle-background-hover);\n border-color: var(--color-danger-subtle-border-hover);\n color: var(--color-danger-subtle-hover);\n }\n &:active {\n background-color: var(--color-danger-subtle-background-active);\n border-color: var(--color-danger-subtle-border-active);\n color: var(--color-danger-subtle-active);\n }\n &:disabled {\n background-color: var(--color-danger-subtle-background-disabled);\n border-color: var(--color-danger-subtle-border-disabled);\n color: var(--color-danger-subtle-disabled);\n }\n }\n\n :host([color='danger'][variant='outlined']) button {\n background-color: var(--color-danger-outlined-background);\n border-color: var(--color-danger-outlined-border);\n color: var(--color-danger-outlined);\n &:hover {\n background-color: var(--color-danger-outlined-background-hover);\n border-color: var(--color-danger-outlined-border-hover);\n color: var(--color-danger-outlined-hover);\n }\n &:active {\n background-color: var(--color-danger-outlined-background-active);\n border-color: var(--color-danger-outlined-border-active);\n color: var(--color-danger-outlined-active);\n }\n &:disabled {\n background-color: var(--color-danger-outlined-background-disabled);\n border-color: var(--color-danger-outlined-border-disabled);\n color: var(--color-danger-outlined-disabled);\n }\n }\n\n :host([color='danger'][variant='text']) button {\n background-color: var(--color-danger-text-background);\n border-color: var(--color-danger-text-border);\n color: var(--color-danger-text);\n &:hover {\n background-color: var(--color-danger-text-background-hover);\n border-color: var(--color-danger-text-border-hover);\n color: var(--color-danger-text-hover);\n }\n &:active {\n background-color: var(--color-danger-text-background-active);\n border-color: var(--color-danger-text-border-active);\n color: var(--color-danger-text-active);\n }\n &:disabled {\n background-color: var(--color-danger-text-background-disabled);\n border-color: var(--color-danger-text-border-disabled);\n color: var(--color-danger-text-disabled);\n }\n }\n\n :host([icon-only]) button {\n border-radius: var(--dimension-icon-only-border-radius);\n }\n\n :host([icon-only][size='small']) button {\n padding: calc(var(--fhi-spacing-050) - var(--fhi-dimension-border-width));\n }\n\n :host([icon-only][size='medium']) button {\n padding: calc(var(--fhi-spacing-100) - var(--fhi-dimension-border-width));\n }\n\n :host([icon-only][size='large']) button {\n padding: calc(var(--fhi-spacing-200) - var(--fhi-dimension-border-width));\n }\n `;\n}\n"],"names":["FhiButtonSelector","FhiButton","LitElement","event","_a","_b","target","nodes","firstIcon","lastIcon","node","_c","_d","_f","_e","html","css","__decorateClass","property","customElement"],"mappings":";;;;;;AAGO,MAAMA,IAAoB;AAG1B,IAAMC,IAAN,cAAwBC,EAAW;AAAA,EA4BxC,cAAc;AACZ,UAAA,GA1ByC,KAAA,QAG5B,UAE4B,KAAA,UAI9B,UAE8B,KAAA,OAG7B,UAE8B,KAAA,WAAW,IAGvD,KAAA,WAAoB,IAEQ,KAAA,OAAsC,UAMhE,KAAK,aAAa,KAAK,gBAAA;AAAA,EACzB;AAAA,EAEA,oBAA0B;AACxB,UAAM,kBAAA,GAEN,KAAK,UAAU,KAAK,aAAa,KAAK,IAAI,GAC1C,KAAK,YAAY,KAAK,eAAe,KAAK,IAAI,GAC9C,KAAK,gBAAgB,KAAK,mBAAmB,KAAK,IAAI;AAAA,EACxD;AAAA,EAEO,QAAc;AACnB,SAAK,aAAA;AAAA,EACP;AAAA,EAEQ,aAAaC,GAA0C;;AAI7D,IAHAA,KAAA,QAAAA,EAAO,kBACPA,KAAA,QAAAA,EAAO,mBAEH,MAAK,aAIT,KAAK;AAAA,MACH,IAAI,WAAW,SAAS,EAAE,SAAS,IAAM,UAAU,IAAM;AAAA,IAAA,GAGvD,KAAK,SAAS,cAChBC,IAAA,KAAK,WAAW,SAAhB,QAAAA,EAAsB,kBAGpB,KAAK,SAAS,aAChBC,IAAA,KAAK,WAAW,SAAhB,QAAAA,EAAsB;AAAA,EAE1B;AAAA,EAEQ,aAAaF,GAA4B;AAC/C,QAAIA,EAAM,QAAQ,OAAOA,EAAM,QAAQ,YAAY;AACjD,WAAK,aAAaA,CAAK;AAEvB,YAAMG,IAASH,EAAM;AACrB,MAAAG,KAAA,QAAAA,EAAQ,QACRA,KAAA,QAAAA,EAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAEQ,eAAeH,GAA4B;AACjD,IAAIA,EAAM,QAAQ,WAChB,KAAK,aAAaA,CAAK;AAAA,EAE3B;AAAA,EAEQ,qBAA8B;AACpC,WAAO;AAAA,EACT;AAAA,EAEQ,eAAuB;AAC7B,YAAQ,KAAK,MAAA;AAAA,MACX,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AACE,eAAO;AAAA,IAAA;AAAA,EAEb;AAAA,EAEQ,kBAAkBA,GAAoB;AAC5C,QAAI,KAAK;AACP;AAIF,UAAMI,IADOJ,EAAM,OACA,cAAA;AAEnB,QAAIK,GACAC;AAEJ,IAAAF,EAAM,QAAQ,CAAAG,MAAQ;;AACpB,MAAIA,EAAK,aAAa,KAAK,gBAIrBA,EAAiB,QAAQ,cAAc,WAAW,UAAU,OAMhE,GAACN,IAAAM,EAAK,oBAAL,QAAAN,EAAsB,eACtBC,IAAAK,EAAK,oBAAL,gBAAAL,EAAsB,cAAa,KAAK,aACvC,GAACM,IAAAD,EAAK,gBAAgB,gBAArB,QAAAC,EAAkC,aAErCH,IAAYE,MAKZE,IAAAF,EAAK,oBAAL,gBAAAE,EAAsB,cAAa,KAAK,eACxCC,KAAAC,IAAAJ,EAAK,oBAAL,gBAAAI,EAAsB,gBAAtB,QAAAD,EAAmC,YAEnCJ,IAAWC;AAAA,IAEf,CAAC,GAEGF,MACFA,EAAU,MAAM,cAAc,sCAC9BA,EAAU,MAAM,aAAa,4CAC7BA,EAAU,aAAa,QAAQ,KAAK,aAAA,CAAc,IAGhDC,MACFA,EAAS,MAAM,cAAc,6CAC7BA,EAAS,MAAM,aAAa,qCAC5BA,EAAS,aAAa,QAAQ,KAAK,aAAA,CAAc;AAAA,EAErD;AAAA,EAEA,SAAS;AACP,WAAOM;AAAAA,kBACO,KAAK,QAAQ;AAAA,aAClB,KAAK,IAAI;AAAA,eACP,KAAK,YAAY;AAAA,iBACf,KAAK,cAAc;AAAA,eACrB,KAAK,YAAY;AAAA;AAAA;AAAA,4BAGJ,KAAK,iBAAiB;AAAA;AAAA;AAAA,EAGhD;AA2pBF;AA3zBad,EACK,iBAAiB;AADtBA,EAkKJ,SAASe;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA/J2BC,EAAA;AAAA,EAA1CC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAH9BjB,EAGgC,WAAA,SAAA,CAAA;AAKAgB,EAAA;AAAA,EAA1CC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAR9BjB,EAQgC,WAAA,WAAA,CAAA;AAMAgB,EAAA;AAAA,EAA1CC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAd9BjB,EAcgC,WAAA,QAAA,CAAA;AAKCgB,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAnB/BjB,EAmBiC,WAAA,YAAA,CAAA;AAG5CgB,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,WAAW,aAAa;AAAA,GArBxCjB,EAsBX,WAAA,YAAA,CAAA;AAE4BgB,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAxBfjB,EAwBiB,WAAA,QAAA,CAAA;AAxBjBA,IAANgB,EAAA;AAAA,EADNE,EAAcnB,CAAiB;AAAA,GACnBC,CAAA;"}
@@ -1,21 +1,35 @@
1
- import { i as p, n as c, a as w, x as a, t as f } from "./property-DYwjZ69W.js";
2
- var v = Object.defineProperty, m = Object.getOwnPropertyDescriptor, l = (h, r, s, o) => {
3
- for (var t = o > 1 ? void 0 : o ? m(r, s) : r, i = h.length - 1, n; i >= 0; i--)
4
- (n = h[i]) && (t = (o ? n(r, s, t) : n(t)) || t);
5
- return o && t && v(r, s, t), t;
1
+ import { i as p, n as c, a as h, x as u, t as w } from "./property-DYwjZ69W.js";
2
+ var x = Object.defineProperty, f = Object.getOwnPropertyDescriptor, l = (a, r, i, s) => {
3
+ for (var e = s > 1 ? void 0 : s ? f(r, i) : r, o = a.length - 1, n; o >= 0; o--)
4
+ (n = a[o]) && (e = (s ? n(r, i, e) : n(e)) || e);
5
+ return s && e && x(r, i, e), e;
6
6
  };
7
- const g = "fhi-icon-arrow-down-left";
8
- let e = class extends w {
7
+ const m = "fhi-icon-arrow-down-left";
8
+ let t = class extends h {
9
9
  constructor() {
10
- super(...arguments), this.color = "currentcolor", this.size = 24;
10
+ super(...arguments), this.color = "currentcolor", this.size = "medium";
11
+ }
12
+ get _size() {
13
+ switch (this.size) {
14
+ case "xsmall":
15
+ return "16px";
16
+ case "small":
17
+ return "20px";
18
+ case "medium":
19
+ return "24px";
20
+ case "large":
21
+ return "32px";
22
+ default:
23
+ return isNaN(Number(this.size)) ? (console.warn(`Invalid size value: ${this.size}. Falling back to default size '24px'.`), "24px") : `${this.size}px`;
24
+ }
11
25
  }
12
26
  render() {
13
- return a`
14
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="${this.size}" height="${this.size}" fill="${this.color}"><path d="M16.526 6.418a.75.75 0 0 1 1.056 1.056l-.052.056-8.72 8.72H17a.75.75 0 0 1 0 1.5H7a.75.75 0 0 1-.75-.75V7a.75.75 0 1 1 1.5 0v8.19l8.72-8.72z"/></svg>
27
+ return u`
28
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="${this._size}" height="${this._size}" fill="${this.color}"><path d="M16.526 6.418a.75.75 0 0 1 1.056 1.056l-.052.056-8.72 8.72H17a.75.75 0 0 1 0 1.5H7a.75.75 0 0 1-.75-.75V7a.75.75 0 1 1 1.5 0v8.19l8.72-8.72z"/></svg>
15
29
  `;
16
30
  }
17
31
  };
18
- e.styles = p`
32
+ t.styles = p`
19
33
  :host {
20
34
  display: flex;
21
35
  max-height: min-content;
@@ -24,15 +38,15 @@ e.styles = p`
24
38
  `;
25
39
  l([
26
40
  c({ type: String })
27
- ], e.prototype, "color", 2);
41
+ ], t.prototype, "color", 2);
28
42
  l([
29
- c({ type: Number })
30
- ], e.prototype, "size", 2);
31
- e = l([
32
- f(g)
33
- ], e);
43
+ c({ type: String })
44
+ ], t.prototype, "size", 2);
45
+ t = l([
46
+ w(m)
47
+ ], t);
34
48
  export {
35
- e as FhiIconArrowDownLeft,
36
- g as FhiIconArrowDownLeftSelector
49
+ t as FhiIconArrowDownLeft,
50
+ m as FhiIconArrowDownLeftSelector
37
51
  };
38
52
  //# sourceMappingURL=fhi-icon-arrow-down-left.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fhi-icon-arrow-down-left.js","sources":["../../src/components/icons/fhi-icon-arrow-down-left.component.ts"],"sourcesContent":["\n/*\n This file is auto-generated by generate-icon-components.js. Do not edit it manually.\n*/\nimport { html, css, LitElement } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\n\nexport const FhiIconArrowDownLeftSelector = \"fhi-icon-arrow-down-left\";\n\n@customElement(FhiIconArrowDownLeftSelector)\nexport class FhiIconArrowDownLeft extends LitElement {\n @property({ type: String }) color: string = \"currentcolor\";\n\n @property({ type: Number }) size: number = 24;\n\n render() {\n return html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"${this.size}\" height=\"${this.size}\" fill=\"${this.color}\"><path d=\"M16.526 6.418a.75.75 0 0 1 1.056 1.056l-.052.056-8.72 8.72H17a.75.75 0 0 1 0 1.5H7a.75.75 0 0 1-.75-.75V7a.75.75 0 1 1 1.5 0v8.19l8.72-8.72z\"/></svg>\n `;\n }\n \n static styles = css`\n :host {\n display: flex;\n max-height: min-content;\n max-width: min-content;\n }\n `;\n }\n"],"names":["FhiIconArrowDownLeftSelector","FhiIconArrowDownLeft","LitElement","html","css","__decorateClass","property","customElement"],"mappings":";;;;;;AAOO,MAAMA,IAA+B;AAGrC,IAAMC,IAAN,cAAmCC,EAAW;AAAA,EAA9C,cAAA;AAAA,UAAA,GAAA,SAAA,GACuB,KAAA,QAAgB,gBAEhB,KAAA,OAAe;AAAA,EAAA;AAAA,EAE3C,SAAS;AACP,WAAOC;AAAAA,2EACgE,KAAK,IAAI,aAAa,KAAK,IAAI,WAAW,KAAK,KAAK;AAAA;AAAA,EAE7H;AASA;AAlBWF,EAWJ,SAASG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAVYC,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GADfL,EACiB,WAAA,SAAA,CAAA;AAEAI,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAHfL,EAGiB,WAAA,QAAA,CAAA;AAHjBA,IAANI,EAAA;AAAA,EADNE,EAAcP,CAA4B;AAAA,GAC9BC,CAAA;"}
1
+ {"version":3,"file":"fhi-icon-arrow-down-left.js","sources":["../../src/components/icons/fhi-icon-arrow-down-left.component.ts"],"sourcesContent":["\n/*\n This file is auto-generated by generate-icon-components.js. Do not edit it manually.\n*/\nimport { html, css, LitElement } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\n\nexport const FhiIconArrowDownLeftSelector = \"fhi-icon-arrow-down-left\";\n\n@customElement(FhiIconArrowDownLeftSelector)\nexport class FhiIconArrowDownLeft extends LitElement {\n @property({ type: String }) color: string = \"currentcolor\";\n @property({ type: String }) size: 'xsmall' | 'small' | 'medium' | 'large' | number = 'medium';\n private get _size(): string {\n switch (this.size) {\n case 'xsmall': \n return '16px'; \n case 'small':\n return '20px';\n case 'medium':\n return '24px'; \n case 'large':\n return '32px'; \n default:\n if (isNaN(Number(this.size))) {\n console.warn(`Invalid size value: ${this.size}. Falling back to default size '24px'.`)\n return '24px';\n }\n return `${this.size}px`;\n }\n }\n\n render() {\n return html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"${this._size}\" height=\"${this._size}\" fill=\"${this.color}\"><path d=\"M16.526 6.418a.75.75 0 0 1 1.056 1.056l-.052.056-8.72 8.72H17a.75.75 0 0 1 0 1.5H7a.75.75 0 0 1-.75-.75V7a.75.75 0 1 1 1.5 0v8.19l8.72-8.72z\"/></svg>\n `;\n }\n \n static styles = css`\n :host {\n display: flex;\n max-height: min-content;\n max-width: min-content;\n }\n `;\n }\n"],"names":["FhiIconArrowDownLeftSelector","FhiIconArrowDownLeft","LitElement","html","css","__decorateClass","property","customElement"],"mappings":";;;;;;AAOO,MAAMA,IAA+B;AAGrC,IAAMC,IAAN,cAAmCC,EAAW;AAAA,EAA9C,cAAA;AAAA,UAAA,GAAA,SAAA,GACuB,KAAA,QAAgB,gBAChB,KAAA,OAAyD;AAAA,EAAA;AAAA,EACrF,IAAY,QAAgB;AAC1B,YAAQ,KAAK,MAAA;AAAA,MACX,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,eAAI,MAAM,OAAO,KAAK,IAAI,CAAC,KACzB,QAAQ,KAAK,uBAAuB,KAAK,IAAI,wCAAwC,GAC9E,UAEF,GAAG,KAAK,IAAI;AAAA,IAAA;AAAA,EAEzB;AAAA,EAEA,SAAS;AACP,WAAOC;AAAAA,2EACgE,KAAK,KAAK,aAAa,KAAK,KAAK,WAAW,KAAK,KAAK;AAAA;AAAA,EAE/H;AASA;AAnCWF,EA4BJ,SAASG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA3BYC,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GADfL,EACiB,WAAA,SAAA,CAAA;AACAI,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAFfL,EAEiB,WAAA,QAAA,CAAA;AAFjBA,IAANI,EAAA;AAAA,EADNE,EAAcP,CAA4B;AAAA,GAC9BC,CAAA;"}
@@ -1,38 +1,52 @@
1
- import { i as p, n as c, a as w, x as a, t as g } from "./property-DYwjZ69W.js";
2
- var v = Object.defineProperty, f = Object.getOwnPropertyDescriptor, h = (l, e, i, o) => {
3
- for (var t = o > 1 ? void 0 : o ? f(e, i) : e, s = l.length - 1, n; s >= 0; s--)
4
- (n = l[s]) && (t = (o ? n(e, i, t) : n(t)) || t);
5
- return o && t && v(e, i, t), t;
1
+ import { i as c, n as h, a as p, x as u, t as w } from "./property-DYwjZ69W.js";
2
+ var x = Object.defineProperty, g = Object.getOwnPropertyDescriptor, l = (a, r, i, s) => {
3
+ for (var e = s > 1 ? void 0 : s ? g(r, i) : r, o = a.length - 1, n; o >= 0; o--)
4
+ (n = a[o]) && (e = (s ? n(r, i, e) : n(e)) || e);
5
+ return s && e && x(r, i, e), e;
6
6
  };
7
7
  const m = "fhi-icon-arrow-down-right";
8
- let r = class extends w {
8
+ let t = class extends p {
9
9
  constructor() {
10
- super(...arguments), this.color = "currentcolor", this.size = 24;
10
+ super(...arguments), this.color = "currentcolor", this.size = "medium";
11
+ }
12
+ get _size() {
13
+ switch (this.size) {
14
+ case "xsmall":
15
+ return "16px";
16
+ case "small":
17
+ return "20px";
18
+ case "medium":
19
+ return "24px";
20
+ case "large":
21
+ return "32px";
22
+ default:
23
+ return isNaN(Number(this.size)) ? (console.warn(`Invalid size value: ${this.size}. Falling back to default size '24px'.`), "24px") : `${this.size}px`;
24
+ }
11
25
  }
12
26
  render() {
13
- return a`
14
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="${this.size}" height="${this.size}" fill="${this.color}"><path d="M6.47 6.47a.75.75 0 0 1 1.004-.052l.056.052 8.72 8.72V7a.75.75 0 0 1 1.5 0v10a.75.75 0 0 1-.75.75H7a.75.75 0 0 1 0-1.5h8.19L6.47 7.53l-.052-.056A.75.75 0 0 1 6.47 6.47"/></svg>
27
+ return u`
28
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="${this._size}" height="${this._size}" fill="${this.color}"><path d="M6.47 6.47a.75.75 0 0 1 1.004-.052l.056.052 8.72 8.72V7a.75.75 0 0 1 1.5 0v10a.75.75 0 0 1-.75.75H7a.75.75 0 0 1 0-1.5h8.19L6.47 7.53l-.052-.056A.75.75 0 0 1 6.47 6.47"/></svg>
15
29
  `;
16
30
  }
17
31
  };
18
- r.styles = p`
32
+ t.styles = c`
19
33
  :host {
20
34
  display: flex;
21
35
  max-height: min-content;
22
36
  max-width: min-content;
23
37
  }
24
38
  `;
25
- h([
26
- c({ type: String })
27
- ], r.prototype, "color", 2);
28
- h([
29
- c({ type: Number })
30
- ], r.prototype, "size", 2);
31
- r = h([
32
- g(m)
33
- ], r);
39
+ l([
40
+ h({ type: String })
41
+ ], t.prototype, "color", 2);
42
+ l([
43
+ h({ type: String })
44
+ ], t.prototype, "size", 2);
45
+ t = l([
46
+ w(m)
47
+ ], t);
34
48
  export {
35
- r as FhiIconArrowDownRight,
49
+ t as FhiIconArrowDownRight,
36
50
  m as FhiIconArrowDownRightSelector
37
51
  };
38
52
  //# sourceMappingURL=fhi-icon-arrow-down-right.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fhi-icon-arrow-down-right.js","sources":["../../src/components/icons/fhi-icon-arrow-down-right.component.ts"],"sourcesContent":["\n/*\n This file is auto-generated by generate-icon-components.js. Do not edit it manually.\n*/\nimport { html, css, LitElement } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\n\nexport const FhiIconArrowDownRightSelector = \"fhi-icon-arrow-down-right\";\n\n@customElement(FhiIconArrowDownRightSelector)\nexport class FhiIconArrowDownRight extends LitElement {\n @property({ type: String }) color: string = \"currentcolor\";\n\n @property({ type: Number }) size: number = 24;\n\n render() {\n return html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"${this.size}\" height=\"${this.size}\" fill=\"${this.color}\"><path d=\"M6.47 6.47a.75.75 0 0 1 1.004-.052l.056.052 8.72 8.72V7a.75.75 0 0 1 1.5 0v10a.75.75 0 0 1-.75.75H7a.75.75 0 0 1 0-1.5h8.19L6.47 7.53l-.052-.056A.75.75 0 0 1 6.47 6.47\"/></svg>\n `;\n }\n \n static styles = css`\n :host {\n display: flex;\n max-height: min-content;\n max-width: min-content;\n }\n `;\n }\n"],"names":["FhiIconArrowDownRightSelector","FhiIconArrowDownRight","LitElement","html","css","__decorateClass","property","customElement"],"mappings":";;;;;;AAOO,MAAMA,IAAgC;AAGtC,IAAMC,IAAN,cAAoCC,EAAW;AAAA,EAA/C,cAAA;AAAA,UAAA,GAAA,SAAA,GACuB,KAAA,QAAgB,gBAEhB,KAAA,OAAe;AAAA,EAAA;AAAA,EAE3C,SAAS;AACP,WAAOC;AAAAA,2EACgE,KAAK,IAAI,aAAa,KAAK,IAAI,WAAW,KAAK,KAAK;AAAA;AAAA,EAE7H;AASA;AAlBWF,EAWJ,SAASG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAVYC,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GADfL,EACiB,WAAA,SAAA,CAAA;AAEAI,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAHfL,EAGiB,WAAA,QAAA,CAAA;AAHjBA,IAANI,EAAA;AAAA,EADNE,EAAcP,CAA6B;AAAA,GAC/BC,CAAA;"}
1
+ {"version":3,"file":"fhi-icon-arrow-down-right.js","sources":["../../src/components/icons/fhi-icon-arrow-down-right.component.ts"],"sourcesContent":["\n/*\n This file is auto-generated by generate-icon-components.js. Do not edit it manually.\n*/\nimport { html, css, LitElement } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\n\nexport const FhiIconArrowDownRightSelector = \"fhi-icon-arrow-down-right\";\n\n@customElement(FhiIconArrowDownRightSelector)\nexport class FhiIconArrowDownRight extends LitElement {\n @property({ type: String }) color: string = \"currentcolor\";\n @property({ type: String }) size: 'xsmall' | 'small' | 'medium' | 'large' | number = 'medium';\n private get _size(): string {\n switch (this.size) {\n case 'xsmall': \n return '16px'; \n case 'small':\n return '20px';\n case 'medium':\n return '24px'; \n case 'large':\n return '32px'; \n default:\n if (isNaN(Number(this.size))) {\n console.warn(`Invalid size value: ${this.size}. Falling back to default size '24px'.`)\n return '24px';\n }\n return `${this.size}px`;\n }\n }\n\n render() {\n return html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"${this._size}\" height=\"${this._size}\" fill=\"${this.color}\"><path d=\"M6.47 6.47a.75.75 0 0 1 1.004-.052l.056.052 8.72 8.72V7a.75.75 0 0 1 1.5 0v10a.75.75 0 0 1-.75.75H7a.75.75 0 0 1 0-1.5h8.19L6.47 7.53l-.052-.056A.75.75 0 0 1 6.47 6.47\"/></svg>\n `;\n }\n \n static styles = css`\n :host {\n display: flex;\n max-height: min-content;\n max-width: min-content;\n }\n `;\n }\n"],"names":["FhiIconArrowDownRightSelector","FhiIconArrowDownRight","LitElement","html","css","__decorateClass","property","customElement"],"mappings":";;;;;;AAOO,MAAMA,IAAgC;AAGtC,IAAMC,IAAN,cAAoCC,EAAW;AAAA,EAA/C,cAAA;AAAA,UAAA,GAAA,SAAA,GACuB,KAAA,QAAgB,gBAChB,KAAA,OAAyD;AAAA,EAAA;AAAA,EACrF,IAAY,QAAgB;AAC1B,YAAQ,KAAK,MAAA;AAAA,MACX,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,eAAI,MAAM,OAAO,KAAK,IAAI,CAAC,KACzB,QAAQ,KAAK,uBAAuB,KAAK,IAAI,wCAAwC,GAC9E,UAEF,GAAG,KAAK,IAAI;AAAA,IAAA;AAAA,EAEzB;AAAA,EAEA,SAAS;AACP,WAAOC;AAAAA,2EACgE,KAAK,KAAK,aAAa,KAAK,KAAK,WAAW,KAAK,KAAK;AAAA;AAAA,EAE/H;AASA;AAnCWF,EA4BJ,SAASG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AA3BYC,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GADfL,EACiB,WAAA,SAAA,CAAA;AACAI,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAFfL,EAEiB,WAAA,QAAA,CAAA;AAFjBA,IAANI,EAAA;AAAA,EADNE,EAAcP,CAA6B;AAAA,GAC/BC,CAAA;"}