@skf-design-system/ui-components 1.0.0-beta.5 → 1.0.1-beta.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 (204) hide show
  1. package/dist/components/accordion/accordion-item.d.ts +1 -1
  2. package/dist/components/accordion/accordion.component.d.ts +4 -4
  3. package/dist/components/accordion/accordion.component.js +18 -17
  4. package/dist/components/accordion/accordion.styles.d.ts +1 -2
  5. package/dist/components/accordion/accordion.styles.js +5 -4
  6. package/dist/components/alert/alert.component.d.ts +5 -5
  7. package/dist/components/alert/alert.component.js +46 -35
  8. package/dist/components/alert/alert.styles.d.ts +1 -2
  9. package/dist/components/alert/alert.styles.js +29 -24
  10. package/dist/components/breadcrumb/breadcrumb.component.d.ts +29 -0
  11. package/dist/components/breadcrumb/breadcrumb.d.ts +8 -0
  12. package/dist/components/breadcrumb-item/breadcrumb-item.component.d.ts +25 -0
  13. package/dist/components/breadcrumb-item/breadcrumb-item.d.ts +8 -0
  14. package/dist/components/button/button.component.d.ts +29 -5
  15. package/dist/components/button/button.component.js +89 -52
  16. package/dist/components/button/button.styles.js +65 -45
  17. package/dist/components/card/card.component.d.ts +4 -4
  18. package/dist/components/card/card.component.js +35 -24
  19. package/dist/components/card/card.styles.d.ts +1 -2
  20. package/dist/components/card/card.styles.js +14 -12
  21. package/dist/components/checkbox/checkbox.component.d.ts +11 -12
  22. package/dist/components/checkbox/checkbox.component.js +96 -90
  23. package/dist/components/collapse/collapse.component.d.ts +8 -8
  24. package/dist/components/collapse/collapse.component.js +42 -34
  25. package/dist/components/collapse/collapse.styles.js +15 -14
  26. package/dist/components/dialog/dialog.component.d.ts +74 -0
  27. package/dist/components/dialog/dialog.component.js +187 -0
  28. package/dist/components/dialog/dialog.d.ts +8 -0
  29. package/dist/components/dialog/dialog.js +6 -0
  30. package/dist/components/dialog/dialog.styles.d.ts +1 -0
  31. package/dist/components/dialog/dialog.styles.js +91 -0
  32. package/dist/components/divider/divider.component.d.ts +3 -3
  33. package/dist/components/divider/divider.component.js +39 -27
  34. package/dist/components/divider/divider.styles.d.ts +1 -2
  35. package/dist/components/divider/divider.styles.js +26 -26
  36. package/dist/components/heading/heading.component.d.ts +2 -2
  37. package/dist/components/heading/heading.component.js +13 -13
  38. package/dist/components/icon/icon.component.d.ts +2 -5
  39. package/dist/components/icon/icon.component.js +32 -23
  40. package/dist/components/icon/icon.styles.js +53 -47
  41. package/dist/components/input/input.component.d.ts +12 -11
  42. package/dist/components/input/input.component.js +88 -89
  43. package/dist/components/link/link.component.d.ts +7 -6
  44. package/dist/components/link/link.component.js +49 -43
  45. package/dist/components/link/link.styles.js +36 -40
  46. package/dist/components/loader/loader.component.d.ts +2 -2
  47. package/dist/components/loader/loader.component.js +39 -32
  48. package/dist/components/loader/loader.styles.js +11 -10
  49. package/dist/components/logo/logo.component.d.ts +3 -3
  50. package/dist/components/logo/logo.component.js +28 -17
  51. package/dist/components/logo/logo.styles.d.ts +1 -2
  52. package/dist/components/logo/logo.styles.js +11 -9
  53. package/dist/components/menu/menu.component.d.ts +24 -0
  54. package/dist/components/menu/menu.component.js +18 -0
  55. package/dist/components/menu/menu.d.ts +8 -0
  56. package/dist/components/menu/menu.js +6 -0
  57. package/dist/components/menu/menu.styles.d.ts +1 -0
  58. package/dist/components/menu/menu.styles.js +11 -0
  59. package/dist/components/menu-item/menu-item.component.d.ts +25 -0
  60. package/dist/components/menu-item/menu-item.component.js +13 -0
  61. package/dist/components/menu-item/menu-item.d.ts +8 -0
  62. package/dist/components/menu-item/menu-item.js +6 -0
  63. package/dist/components/menu-item/menu-item.styles.d.ts +1 -0
  64. package/dist/components/menu-item/menu-item.styles.js +19 -0
  65. package/dist/components/popover/popover.component.d.ts +29 -0
  66. package/dist/components/popover/popover.component.js +37 -0
  67. package/dist/components/popover/popover.d.ts +8 -0
  68. package/dist/components/popover/popover.js +6 -0
  69. package/dist/components/popover/popover.styles.d.ts +1 -0
  70. package/dist/components/popover/popover.styles.js +12 -0
  71. package/dist/components/progress/progress.component.d.ts +22 -0
  72. package/dist/components/progress/progress.component.js +49 -0
  73. package/dist/components/progress/progress.d.ts +8 -0
  74. package/dist/components/progress/progress.js +6 -0
  75. package/dist/components/progress/progress.styles.d.ts +1 -0
  76. package/dist/components/progress/progress.styles.js +48 -0
  77. package/dist/components/radio/radio.component.d.ts +7 -9
  78. package/dist/components/radio/radio.component.js +95 -79
  79. package/dist/components/select/select.component.d.ts +10 -12
  80. package/dist/components/select/select.component.js +120 -120
  81. package/dist/components/select/select.controllers.d.ts +1 -26
  82. package/dist/components/select/select.controllers.js +35 -95
  83. package/dist/components/select-option/select-option.component.d.ts +1 -1
  84. package/dist/components/select-option/select-option.controllers.d.ts +1 -1
  85. package/dist/components/select-option-group/select-option-group.component.d.ts +1 -1
  86. package/dist/components/select-option-group/select-option-group.component.js +9 -9
  87. package/dist/components/stepper/stepper.component.d.ts +38 -0
  88. package/dist/components/stepper/stepper.component.js +91 -0
  89. package/dist/components/stepper/stepper.d.ts +8 -0
  90. package/dist/components/stepper/stepper.helpers.d.ts +16 -0
  91. package/dist/components/stepper/stepper.helpers.js +18 -0
  92. package/dist/components/stepper/stepper.js +6 -0
  93. package/dist/components/stepper/stepper.styles.d.ts +1 -0
  94. package/dist/components/stepper/stepper.styles.js +15 -0
  95. package/dist/components/stepper-item/stepper-item.component.d.ts +47 -0
  96. package/dist/components/stepper-item/stepper-item.component.js +113 -0
  97. package/dist/components/stepper-item/stepper-item.d.ts +8 -0
  98. package/dist/components/stepper-item/stepper-item.js +6 -0
  99. package/dist/components/stepper-item/stepper-item.styles.d.ts +1 -0
  100. package/dist/components/stepper-item/stepper-item.styles.js +98 -0
  101. package/dist/components/switch/switch.component.d.ts +2 -2
  102. package/dist/components/switch/switch.component.js +17 -7
  103. package/dist/components/switch/switch.styles.js +16 -13
  104. package/dist/components/tab/tab.component.d.ts +29 -0
  105. package/dist/components/tab/tab.component.js +57 -0
  106. package/dist/components/tab/tab.d.ts +8 -0
  107. package/dist/components/tab/tab.js +6 -0
  108. package/dist/components/tab/tab.styles.d.ts +1 -0
  109. package/dist/components/tab/tab.styles.js +123 -0
  110. package/dist/components/tab-group/tab-group.component.d.ts +43 -0
  111. package/dist/components/tab-group/tab-group.component.js +98 -0
  112. package/dist/components/tab-group/tab-group.d.ts +8 -0
  113. package/dist/components/tab-group/tab-group.js +6 -0
  114. package/dist/components/tab-group/tab-group.styles.d.ts +1 -0
  115. package/dist/components/tab-group/tab-group.styles.js +75 -0
  116. package/dist/components/tab-panel/tab-panel.component.d.ts +19 -0
  117. package/dist/components/tab-panel/tab-panel.component.js +36 -0
  118. package/dist/components/tab-panel/tab-panel.d.ts +8 -0
  119. package/dist/components/tab-panel/tab-panel.js +6 -0
  120. package/dist/components/tab-panel/tab-panel.styles.d.ts +1 -0
  121. package/dist/components/tab-panel/tab-panel.styles.js +13 -0
  122. package/dist/components/tag/tag.component.d.ts +2 -2
  123. package/dist/components/tag/tag.component.js +61 -45
  124. package/dist/components/tag/tag.styles.js +30 -28
  125. package/dist/components/textarea/textarea.component.d.ts +4 -4
  126. package/dist/components/textarea/textarea.component.js +2 -2
  127. package/dist/components/toast/toast.component.d.ts +8 -5
  128. package/dist/components/toast/toast.component.js +30 -26
  129. package/dist/components/toast/toast.singleton.d.ts +5 -10
  130. package/dist/components/toast/toast.singleton.js +25 -25
  131. package/dist/components/toast/toast.styles.d.ts +1 -0
  132. package/dist/components/toast-item/toast-item.component.d.ts +1 -1
  133. package/dist/components/toast-item/toast-item.component.js +15 -15
  134. package/dist/components/toast-item/toast-item.styles.js +18 -0
  135. package/dist/components/toast-wrapper/toast-wrapper.component.d.ts +2 -2
  136. package/dist/components/toast-wrapper/toast-wrapper.component.js +11 -11
  137. package/dist/components/toast-wrapper/toast-wrapper.styles.d.ts +1 -0
  138. package/dist/components/tooltip/tooltip.component.d.ts +24 -0
  139. package/dist/components/tooltip/tooltip.component.js +18 -0
  140. package/dist/components/tooltip/tooltip.d.ts +8 -0
  141. package/dist/components/tooltip/tooltip.js +6 -0
  142. package/dist/components/tooltip/tooltip.styles.d.ts +1 -0
  143. package/dist/components/tooltip/tooltip.styles.js +12 -0
  144. package/dist/custom-elements.json +2465 -629
  145. package/dist/index.d.ts +11 -0
  146. package/dist/index.js +77 -44
  147. package/dist/internal/base-classes/popover/popover.base.d.ts +29 -0
  148. package/dist/internal/base-classes/popover/popover.base.js +116 -0
  149. package/dist/internal/base-classes/popover/popover.styles.d.ts +1 -0
  150. package/dist/internal/base-classes/popover/popover.styles.js +29 -0
  151. package/dist/internal/components/formBase.d.ts +1 -0
  152. package/dist/internal/components/formBase.js +11 -11
  153. package/dist/internal/components/hint/hint.component.d.ts +2 -2
  154. package/dist/internal/components/hint/hint.component.js +13 -13
  155. package/dist/internal/components/skf-element.js +26 -25
  156. package/dist/internal/controllers/popover.controller.d.ts +16 -0
  157. package/dist/internal/controllers/popover.controller.js +44 -0
  158. package/dist/internal/helpers/hintSeverity.d.ts +2 -2
  159. package/dist/internal/helpers/watch.d.ts +27 -0
  160. package/dist/internal/helpers/watch.js +28 -0
  161. package/dist/internal/templates/asterisk.d.ts +1 -1
  162. package/dist/internal/templates/asterisk.js +7 -6
  163. package/dist/react/index.d.ts +13 -0
  164. package/dist/react/index.js +13 -0
  165. package/dist/react/skf-breadcrumb/index.d.ts +9 -0
  166. package/dist/react/skf-breadcrumb/index.js +17 -0
  167. package/dist/react/skf-breadcrumb-item/index.d.ts +3 -0
  168. package/dist/react/skf-breadcrumb-item/index.js +13 -0
  169. package/dist/react/skf-button/index.d.ts +7 -1
  170. package/dist/react/skf-button/index.js +5 -1
  171. package/dist/react/skf-dialog/index.d.ts +15 -0
  172. package/dist/react/skf-dialog/index.js +19 -0
  173. package/dist/react/skf-menu/index.d.ts +12 -0
  174. package/dist/react/skf-menu/index.js +18 -0
  175. package/dist/react/skf-menu-item/index.d.ts +27 -0
  176. package/dist/react/skf-menu-item/index.js +23 -0
  177. package/dist/react/skf-popover/index.d.ts +12 -0
  178. package/dist/react/skf-popover/index.js +18 -0
  179. package/dist/react/skf-progress/index.d.ts +3 -0
  180. package/dist/react/skf-progress/index.js +13 -0
  181. package/dist/react/skf-stepper/index.d.ts +9 -0
  182. package/dist/react/skf-stepper/index.js +17 -0
  183. package/dist/react/skf-stepper-item/index.d.ts +9 -0
  184. package/dist/react/skf-stepper-item/index.js +17 -0
  185. package/dist/react/skf-tab/index.d.ts +12 -0
  186. package/dist/react/skf-tab/index.js +18 -0
  187. package/dist/react/skf-tab-group/index.d.ts +3 -0
  188. package/dist/react/skf-tab-group/index.js +13 -0
  189. package/dist/react/skf-tab-panel/index.d.ts +3 -0
  190. package/dist/react/skf-tab-panel/index.js +13 -0
  191. package/dist/react/skf-tooltip/index.d.ts +12 -0
  192. package/dist/react/skf-tooltip/index.js +18 -0
  193. package/dist/styles/component.styles.js +15 -2
  194. package/dist/types/jsx/custom-element-jsx.d.ts +603 -27
  195. package/dist/types/vue/index.d.ts +413 -11
  196. package/dist/vscode.html-custom-data.json +462 -36
  197. package/dist/web-types.json +944 -90
  198. package/package.json +43 -42
  199. package/dist/components/toast-item/toast-item.style.js +0 -16
  200. /package/dist/components/{toast/toast.style.d.ts → breadcrumb/breadcrumb.styles.d.ts} +0 -0
  201. /package/dist/components/{toast-wrapper/toast-wrapper.style.d.ts → breadcrumb-item/breadcrumb-item.styles.d.ts} +0 -0
  202. /package/dist/components/toast/{toast.style.js → toast.styles.js} +0 -0
  203. /package/dist/components/toast-item/{toast-item.style.d.ts → toast-item.styles.d.ts} +0 -0
  204. /package/dist/components/toast-wrapper/{toast-wrapper.style.js → toast-wrapper.styles.js} +0 -0
@@ -1,94 +1,131 @@
1
1
  import "../icon/icon.js";
2
2
  import "../loader/loader.js";
3
- import { SkfElement as c } from "../../internal/components/skf-element.js";
4
- import b from "../../styles/component.styles.js";
5
- import { html as d } from "lit";
6
- import { property as e, state as m, query as f } from "lit/decorators.js";
3
+ import { SkfElement as b } from "../../internal/components/skf-element.js";
4
+ import f from "../../styles/component.styles.js";
5
+ import { html as h, LitElement as m, nothing as u } from "lit";
6
+ import { property as e, state as _, query as p } from "lit/decorators.js";
7
+ import { classMap as v } from "lit/directives/class-map.js";
7
8
  import { ifDefined as y } from "lit/directives/if-defined.js";
8
- import u from "./button.styles.js";
9
- var _ = Object.defineProperty, i = (h, o, r, a) => {
10
- for (var s = void 0, n = h.length - 1, p; n >= 0; n--)
11
- (p = h[n]) && (s = p(o, r, s) || s);
12
- return s && _(o, r, s), s;
9
+ import $ from "./button.styles.js";
10
+ var g = Object.defineProperty, s = (c, t, a, n) => {
11
+ for (var o = void 0, r = c.length - 1, l; r >= 0; r--)
12
+ (l = c[r]) && (o = l(t, a, o) || o);
13
+ return o && g(t, a, o), o;
13
14
  };
14
- const l = class l extends c {
15
+ const d = class d extends b {
15
16
  constructor() {
16
17
  super(), this._transitionOptions = {
17
18
  duration: 200,
18
19
  fill: "forwards"
19
- }, this.destructive = !1, this.disabled = !1, this.iconPosition = "left", this.loading = !1, this.size = "md", this.type = "button", this.variant = "primary", this._loaderVisible = !1, this._renderIcon = () => d`<skf-icon class="skf-icon-host" name=${y(this.icon)}></skf-icon>`, this._internals = this.attachInternals();
20
+ }, this.destructive = !1, this.disabled = !1, this.iconOnly = !1, this.iconPosition = "left", this.loading = !1, this.noValidate = !1, this.size = "md", this.type = "button", this.variant = "primary", this._loaderVisible = !1, this._handleClick = (t) => {
21
+ t.preventDefault(), t.stopPropagation(), !(this.disabled || this.loading) && (this.dispatchEvent(new CustomEvent("click", { bubbles: !0, composed: !0, detail: t })), this.type === "submit" && this._submitForm(), this.type === "reset" && this._resetForm());
22
+ }, this._submitForm = () => {
23
+ var o, r, l;
24
+ const t = !((o = this._internals.form) != null && o.reportValidity()), a = !this.noValidate, n = !((r = this._internals.form) != null && r.hasAttribute("no-validate"));
25
+ (a || n) && t || (l = this._internals.form) == null || l.submit();
26
+ }, this._resetForm = () => {
27
+ var t;
28
+ (t = this._internals.form) == null || t.reset();
29
+ }, this._renderIcon = () => h`<skf-icon class="skf-icon-host" name=${y(this.icon)}></skf-icon>`, this._internals = this.attachInternals();
20
30
  }
21
- firstUpdated(o) {
22
- if (o.has("loading") && this.loading) {
31
+ firstUpdated(t) {
32
+ if (t.has("loading") && this.loading) {
23
33
  if (!this.$body || !this.$loader) return;
24
34
  this._loaderVisible = !0, this.$body.style.opacity = "0", this.$loader.style.opacity = "1";
25
35
  }
26
36
  }
27
- attributeChangedCallback(o, r, a) {
28
- super.attributeChangedCallback(o, r, a), o === "loading" && (a !== null ? this._showLoader() : this._hideLoader());
37
+ attributeChangedCallback(t, a, n) {
38
+ super.attributeChangedCallback(t, a, n), t === "loading" && (n !== null ? this._showLoader() : this._hideLoader());
29
39
  }
40
+ /** Simulates a click on the button. */
41
+ click() {
42
+ var t;
43
+ (t = this.$button) == null || t.click();
44
+ }
45
+ /** @internal */
30
46
  async _showLoader() {
31
- var o;
32
- this._loaderVisible = !0, await ((o = this.$body) == null ? void 0 : o.animate({ opacity: 0 }, this._transitionOptions).finished), !(!this.$body || !this.$loader) && this.$loader.animate({ opacity: 1 }, this._transitionOptions);
47
+ var t;
48
+ this._loaderVisible = !0, await ((t = this.$body) == null ? void 0 : t.animate({ opacity: 0 }, this._transitionOptions).finished), !(!this.$body || !this.$loader) && this.$loader.animate({ opacity: 1 }, this._transitionOptions);
33
49
  }
50
+ /** @internal */
34
51
  async _hideLoader() {
35
52
  !this.$body || !this.$loader || (await this.$loader.animate({ opacity: 0 }, this._transitionOptions).finished, this._loaderVisible = !1, this.$body.animate({ opacity: 1 }, this._transitionOptions));
36
53
  }
37
54
  render() {
38
- return d`
55
+ return h`
39
56
  <button
40
57
  ?disabled=${this.disabled || this.loading}
41
58
  aria-busy=${this.loading}
42
- id="root"
59
+ class=${v({
60
+ btn: !0,
61
+ "btn--destructive": this.destructive,
62
+ "btn--icon-only": this.iconOnly,
63
+ "btn--size-lg": this.size === "lg",
64
+ "btn--size-md": this.size === "md",
65
+ "btn--size-sm": this.size === "sm",
66
+ "btn--variant-primary": this.variant === "primary",
67
+ "btn--variant-secondary": this.variant === "secondary",
68
+ "btn--variant-tertiary": this.variant === "tertiary"
69
+ })}
43
70
  type=${y(this.type)}
71
+ @click=${this._handleClick}
72
+ title=${/* An empty title prevents browser validation tooltips from appearing on hover */
73
+ this.title}
44
74
  >
45
- ${this.variant === "primary" && this._loaderVisible ? d`<skf-loader invert size="sm"></skf-loader>` : ""}
46
- <div id="body">
75
+ ${this.variant === "primary" && this._loaderVisible ? h`<skf-loader class="btn__loader" invert size="sm"></skf-loader>` : ""}
76
+ <div class="btn__body" id="body">
47
77
  ${this.icon && this.iconPosition === "left" ? this._renderIcon() : ""}
48
- <div id="label">
49
- <slot></slot>
50
- </div>
78
+ ${this.iconOnly ? u : h`<slot class="btn__label"></slot>`}
51
79
  ${this.icon && this.iconPosition === "right" ? this._renderIcon() : ""}
52
80
  </div>
53
81
  </button>
54
82
  `;
55
83
  }
56
84
  };
57
- l.styles = [b, u];
58
- let t = l;
59
- i([
85
+ d.formAssociated = !0, d.shadowRootOptions = { ...m.shadowRootOptions, delegatesFocus: !0 }, d.styles = [f, $];
86
+ let i = d;
87
+ s([
60
88
  e({ type: Boolean })
61
- ], t.prototype, "destructive");
62
- i([
89
+ ], i.prototype, "destructive");
90
+ s([
63
91
  e({ type: Boolean })
64
- ], t.prototype, "disabled");
65
- i([
92
+ ], i.prototype, "disabled");
93
+ s([
66
94
  e()
67
- ], t.prototype, "icon");
68
- i([
95
+ ], i.prototype, "icon");
96
+ s([
97
+ e({ type: Boolean })
98
+ ], i.prototype, "iconOnly");
99
+ s([
69
100
  e({ attribute: "icon-position" })
70
- ], t.prototype, "iconPosition");
71
- i([
101
+ ], i.prototype, "iconPosition");
102
+ s([
72
103
  e({ type: Boolean })
73
- ], t.prototype, "loading");
74
- i([
104
+ ], i.prototype, "loading");
105
+ s([
106
+ e({ type: Boolean, attribute: "no-validate" })
107
+ ], i.prototype, "noValidate");
108
+ s([
75
109
  e({ reflect: !0 })
76
- ], t.prototype, "size");
77
- i([
110
+ ], i.prototype, "size");
111
+ s([
78
112
  e()
79
- ], t.prototype, "type");
80
- i([
113
+ ], i.prototype, "type");
114
+ s([
81
115
  e({ reflect: !0 })
82
- ], t.prototype, "variant");
83
- i([
84
- m()
85
- ], t.prototype, "_loaderVisible");
86
- i([
87
- f("skf-loader")
88
- ], t.prototype, "$loader");
89
- i([
90
- f("#body")
91
- ], t.prototype, "$body");
116
+ ], i.prototype, "variant");
117
+ s([
118
+ _()
119
+ ], i.prototype, "_loaderVisible");
120
+ s([
121
+ p("skf-loader")
122
+ ], i.prototype, "$loader");
123
+ s([
124
+ p("#body")
125
+ ], i.prototype, "$body");
126
+ s([
127
+ p("button")
128
+ ], i.prototype, "$button");
92
129
  export {
93
- t as SkfButton
130
+ i as SkfButton
94
131
  };
@@ -1,11 +1,13 @@
1
1
  import { css as o } from "lit";
2
2
  const r = o`
3
+ /* stylelint-disable selector-class-pattern */
3
4
  @layer components {
4
5
  :host {
5
6
  contain: initial;
7
+ display: inline-flex;
6
8
  }
7
9
 
8
- #root {
10
+ .btn {
9
11
  background-color: var(--_skf-button-state-bg-color, var(--_skf-button-bg-color));
10
12
  block-size: var(--_skf-button-block-size);
11
13
  border: var(--skf-border-width-sm) solid
@@ -15,10 +17,13 @@ const r = o`
15
17
  font-size: var(--_skf-button-font-size, var(--skf-font-size-100));
16
18
  font-weight: var(--skf-font-weight-bold);
17
19
  max-inline-size: min(100%, 23ch);
18
- min-inline-size: 64px;
19
- padding-inline: var(--skf-spacing-100);
20
20
  position: relative;
21
21
 
22
+ &:not(.btn--icon-only) {
23
+ min-inline-size: 64px;
24
+ padding-inline: var(--skf-spacing-100);
25
+ }
26
+
22
27
  /**
23
28
  * State
24
29
  */
@@ -40,67 +45,82 @@ const r = o`
40
45
  &:active:not(:disabled) {
41
46
  --_skf-button-state-bg-color: var(--_skf-button-bg-color-active);
42
47
  }
48
+ }
43
49
 
44
- /**
45
- * Size
46
- */
47
- :host([size='sm']) & {
48
- --_skf-button-block-size: var(--skf-size-32);
49
- --_skf-button-font-size: var(--skf-font-size-75);
50
- }
50
+ .btn--icon-only {
51
+ aspect-ratio: 1;
52
+ place-items: center;
53
+ }
51
54
 
52
- :host([size='md']) & {
53
- --_skf-button-block-size: var(--skf-size-44);
54
- }
55
+ /**
56
+ * Size
57
+ */
58
+ .btn--size-sm {
59
+ --_skf-button-block-size: var(--skf-size-32);
60
+ --_skf-button-font-size: var(--skf-font-size-75);
61
+ }
55
62
 
56
- :host([size='lg']) & {
57
- --_skf-button-block-size: var(--skf-size-56);
58
- }
63
+ .btn--size-md {
64
+ --_skf-button-block-size: var(--skf-size-44);
65
+ }
59
66
 
60
- /**
61
- * Variants
62
- */
63
- :host([variant='primary']) & {
64
- --_skf-button-bg-color: var(--skf-interactive-bg-color-primary);
65
- --_skf-button-bg-color-disabled: var(--skf-interactive-bg-color-disabled);
66
- --_skf-button-bg-color-active: var(--skf-interactive-bg-color-primary-active);
67
- --_skf-button-bg-color-hover: var(--skf-interactive-bg-color-primary-hover);
68
- --_skf-button-border-color: transparent;
69
- --_skf-button-color: var(--skf-text-color-inverse);
70
- --_skf-button-color-disabled: var(--skf-interactive-text-color-disabled);
71
- }
67
+ .btn--size-lg {
68
+ --_skf-button-block-size: var(--skf-size-56);
69
+ }
72
70
 
73
- :host([variant='secondary']) & {
74
- --_skf-button-bg-color: var(--skf-interactive-bg-color-secondary);
75
- --_skf-button-bg-color-active: var(--skf-interactive-bg-color-secondary-active);
76
- --_skf-button-bg-color-hover: var(--skf-interactive-bg-color-secondary-hover);
77
- --_skf-button-border-color: var(--skf-border-color-emphasised);
78
- --_skf-button-border-color-disabled: var(--skf-interactive-border-color-disabled);
79
- --_skf-button-color: var(--skf-text-color-emphasised);
80
- --_skf-button-color-disabled: var(--skf-interactive-text-color-disabled);
81
- }
71
+ /**
72
+ * Variants
73
+ */
74
+ .btn--variant-primary {
75
+ --_skf-button-bg-color: var(--skf-interactive-bg-color-primary);
76
+ --_skf-button-bg-color-disabled: var(--skf-interactive-bg-color-disabled);
77
+ --_skf-button-bg-color-active: var(--skf-interactive-bg-color-primary-active);
78
+ --_skf-button-bg-color-hover: var(--skf-interactive-bg-color-primary-hover);
79
+ --_skf-button-border-color: transparent;
80
+ --_skf-button-color: var(--skf-text-color-inverse);
81
+ --_skf-button-color-disabled: var(--skf-interactive-text-color-disabled);
82
+ }
82
83
 
83
- :host([destructive]:not([variant='secondary'])) & {
84
- --_skf-button-bg-color: var(--skf-interactive-bg-color-destructive);
85
- --_skf-button-bg-color-active: var(--skf-interactive-bg-color-destructive-active);
86
- --_skf-button-bg-color-hover: var(--skf-interactive-bg-color-destructive-hover);
87
- }
84
+ .btn--variant-secondary {
85
+ --_skf-button-bg-color: var(--skf-interactive-bg-color-secondary);
86
+ --_skf-button-bg-color-active: var(--skf-interactive-bg-color-secondary-active);
87
+ --_skf-button-bg-color-hover: var(--skf-interactive-bg-color-secondary-hover);
88
+ --_skf-button-border-color: var(--skf-border-color-emphasised);
89
+ --_skf-button-border-color-disabled: var(--skf-interactive-border-color-disabled);
90
+ --_skf-button-color: var(--skf-text-color-emphasised);
91
+ --_skf-button-color-disabled: var(--skf-interactive-text-color-disabled);
92
+ }
93
+
94
+ .btn--variant-tertiary {
95
+ --_skf-button-bg-color: transparent;
96
+ --_skf-button-bg-color-active: var(--skf-interactive-bg-color-secondary-active);
97
+ --_skf-button-bg-color-hover: var(--skf-interactive-bg-color-secondary-hover);
98
+ --_skf-button-border-color: transparent;
99
+ --_skf-button-color: var(--skf-text-color-emphasised);
100
+ --_skf-button-color-disabled: var(--skf-interactive-text-color-disabled);
101
+ }
102
+
103
+ .btn--destructive:not(.btn--variant-secondary, .btn--variant-tertiary) {
104
+ --_skf-button-bg-color: var(--skf-interactive-bg-color-destructive);
105
+ --_skf-button-bg-color-active: var(--skf-interactive-bg-color-destructive-active);
106
+ --_skf-button-bg-color-hover: var(--skf-interactive-bg-color-destructive-hover);
88
107
  }
89
108
 
90
- skf-loader {
109
+ .btn__loader {
91
110
  inset: 50% auto auto 50%;
92
111
  opacity: 0;
93
112
  position: absolute;
94
113
  transform: translate(-50%, -50%);
95
114
  }
96
115
 
97
- #body {
116
+ .btn__body {
98
117
  align-items: center;
99
118
  display: flex;
100
119
  gap: var(--skf-spacing-50);
101
120
  }
102
121
 
103
- #label {
122
+ .btn__label {
123
+ display: block;
104
124
  overflow: hidden;
105
125
  text-overflow: ellipsis;
106
126
  white-space: nowrap;
@@ -1,4 +1,4 @@
1
- import { SkfElement } from '@internal/components/skf-element.js';
1
+ import { SkfElement } from '../../internal/components/skf-element.js';
2
2
  import { type CSSResultGroup } from 'lit';
3
3
  /**
4
4
  * The `<skf-card>` can be used to group related subjects in a container
@@ -12,10 +12,10 @@ import { type CSSResultGroup } from 'lit';
12
12
  export declare class SkfCard extends SkfElement {
13
13
  static styles: CSSResultGroup;
14
14
  /** If true, removes border */
15
- noBorder?: boolean;
15
+ noBorder: boolean;
16
16
  /** If true, removes padding */
17
- noPadding?: boolean;
17
+ noPadding: boolean;
18
18
  /** If true, the Card fills the parent element height */
19
- stretch?: boolean;
19
+ stretch: boolean;
20
20
  render(): import("lit").TemplateResult<1>;
21
21
  }
@@ -1,33 +1,44 @@
1
- import { SkfElement as d } from "../../internal/components/skf-element.js";
2
- import a from "../../styles/component.styles.js";
3
- import { html as f } from "lit";
4
- import { property as r } from "lit/decorators.js";
5
- import y from "./card.styles.js";
6
- var v = Object.defineProperty, p = (i, l, s, u) => {
7
- for (var t = void 0, e = i.length - 1, m; e >= 0; e--)
8
- (m = i[e]) && (t = m(l, s, t) || t);
9
- return t && v(l, s, t), t;
1
+ import { SkfElement as l } from "../../internal/components/skf-element.js";
2
+ import c from "../../styles/component.styles.js";
3
+ import { html as m } from "lit";
4
+ import { property as o } from "lit/decorators.js";
5
+ import { classMap as f } from "lit/directives/class-map.js";
6
+ import { styles as h } from "./card.styles.js";
7
+ var u = Object.defineProperty, s = (i, d, p, y) => {
8
+ for (var t = void 0, e = i.length - 1, a; e >= 0; e--)
9
+ (a = i[e]) && (t = a(d, p, t) || t);
10
+ return t && u(d, p, t), t;
10
11
  };
11
- const n = class n extends d {
12
+ const n = class n extends l {
13
+ constructor() {
14
+ super(...arguments), this.noBorder = !1, this.noPadding = !1, this.stretch = !1;
15
+ }
12
16
  render() {
13
- return f`
14
- <div id="root">
17
+ return m`
18
+ <div
19
+ class=${f({
20
+ card: !0,
21
+ "card--no-border": this.noBorder,
22
+ "card--no-padding": this.noPadding,
23
+ "card--stretch": this.stretch
24
+ })}
25
+ >
15
26
  <slot></slot>
16
27
  </div>
17
28
  `;
18
29
  }
19
30
  };
20
- n.styles = [a, y];
21
- let o = n;
22
- p([
23
- r({ type: Boolean, attribute: "no-border" })
24
- ], o.prototype, "noBorder");
25
- p([
26
- r({ type: Boolean, attribute: "no-padding" })
27
- ], o.prototype, "noPadding");
28
- p([
29
- r({ type: Boolean, reflect: !0 })
30
- ], o.prototype, "stretch");
31
+ n.styles = [c, h];
32
+ let r = n;
33
+ s([
34
+ o({ type: Boolean, attribute: "no-border" })
35
+ ], r.prototype, "noBorder");
36
+ s([
37
+ o({ type: Boolean, attribute: "no-padding" })
38
+ ], r.prototype, "noPadding");
39
+ s([
40
+ o({ type: Boolean, reflect: !0 })
41
+ ], r.prototype, "stretch");
31
42
  export {
32
- o as SkfCard
43
+ r as SkfCard
33
44
  };
@@ -1,2 +1 @@
1
- declare const _default: import("lit").CSSResult;
2
- export default _default;
1
+ export declare const styles: import("lit").CSSResult;
@@ -1,5 +1,7 @@
1
1
  import { css as r } from "lit";
2
- const s = r`
2
+ const a = r`
3
+ /* stylelint-disable selector-class-pattern */
4
+
3
5
  :host {
4
6
  contain: layout;
5
7
  }
@@ -8,27 +10,27 @@ const s = r`
8
10
  block-size: 100%;
9
11
  }
10
12
 
11
- #root {
13
+ .card {
12
14
  background-color: var(--skf-bg-color-neutral-1);
13
15
  border: var(--skf-border-width-sm) solid
14
16
  var(--_skf-card-border-color, var(--skf-border-color-tertiary));
15
17
  border-radius: var(--skf-border-radius-sm);
16
18
  box-shadow: var(--skf-shadow-md);
17
19
  padding: var(--_skf-card-padding, var(--skf-spacing-100));
20
+ }
18
21
 
19
- :host([no-border]) & {
20
- --_skf-card-border-color: transparent;
21
- }
22
+ .card--no-border {
23
+ --_skf-card-border-color: transparent;
24
+ }
22
25
 
23
- :host([no-padding]) & {
24
- --_skf-card-padding: 0;
25
- }
26
+ .card--no-padding {
27
+ --_skf-card-padding: 0;
28
+ }
26
29
 
27
- :host([stretch]) & {
28
- block-size: inherit;
29
- }
30
+ .card--stretch {
31
+ block-size: inherit;
30
32
  }
31
33
  `;
32
34
  export {
33
- s as default
35
+ a as styles
34
36
  };
@@ -1,6 +1,6 @@
1
- import '@components/icon/icon.js';
2
- import { FormBase } from '@internal/components/formBase.js';
3
- import type { FormFieldBaseProps } from '@internal/types/formField.js';
1
+ import '../icon/icon.js';
2
+ import { FormBase } from '../../internal/components/formBase.js';
3
+ import type { FormFieldBaseProps } from '../../internal/types/formField.js';
4
4
  import { type CSSResultGroup } from 'lit';
5
5
  /**
6
6
  * The `<skf-checkbox>` component is used to create a checkbox input
@@ -18,16 +18,17 @@ import { type CSSResultGroup } from 'lit';
18
18
  */
19
19
  export declare class SkfCheckbox extends FormBase implements FormFieldBaseProps {
20
20
  static styles: CSSResultGroup;
21
- /** @internal */
22
- private _initialChecked;
21
+ /**
22
+ * @internal
23
+ * Initial state saved here as default for form resets.
24
+ */
25
+ private _initiallyChecked;
23
26
  /** If defined, outputs helping hints in console */
24
27
  debug?: boolean;
25
28
  /** If true, outputs helping hints in console */
26
29
  checked?: boolean;
27
30
  /** If true, forces component to invalid state until removed */
28
31
  customInvalid?: boolean;
29
- /** If true, hides the label visually */
30
- hideLabel?: boolean;
31
32
  /** If true and the checkbox is unchecked, the checkbox will appear indeterminate */
32
33
  indeterminate?: boolean;
33
34
  /** If defined, sets the input's label. Alternatively, you can use the `label` attribute. */
@@ -52,12 +53,10 @@ export declare class SkfCheckbox extends FormBase implements FormFieldBaseProps
52
53
  private _invalid;
53
54
  /** @internal */
54
55
  private $input?;
55
- connectedCallback(): void;
56
- willUpdate(changedProperties: Map<string | number | symbol, unknown>): void;
56
+ handleInvalidChange(): void;
57
+ handleDebugInvalid(): void;
58
+ handleCustomInvalidChange(): void;
57
59
  protected firstUpdated(): void;
58
- updated(changedProperties: Map<string | number | symbol, unknown>): void;
59
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
60
- debugOutput(): void;
61
60
  /** @internal */
62
61
  private _validateInput;
63
62
  /** @internal */