@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
@@ -0,0 +1,38 @@
1
+ import type { SkfStepperItem } from '../stepper-item/stepper-item.component.js';
2
+ import { SkfElement } from '../../internal/components/skf-element';
3
+ import { type CSSResultGroup } from 'lit';
4
+ /**
5
+ * The `<skf-stepper>` is a component that displays a list of actions or options.
6
+ *
7
+ * @documentation See [zeroheight](https://zeroheight.com/****) for design principles
8
+ *
9
+ * @slot - One or more `<skf-stepper-item>`
10
+ *
11
+ * @event skf-stepper-item-select - Dispatched when the stepper item is selected
12
+ *
13
+ * @tagname skf-stepper
14
+ */
15
+ export declare class SkfStepper extends SkfElement {
16
+ #private;
17
+ static styles: CSSResultGroup;
18
+ /** Sets the active item */
19
+ activeIndex: number;
20
+ /** If true, sets linear mode (user can't go back to completed steps due to dependencies) */
21
+ linear: boolean;
22
+ /** @internal */
23
+ _items?: NodeListOf<SkfStepperItem>;
24
+ constructor();
25
+ firstUpdated(): void;
26
+ /** @internal activeIndex is the source of truth. Once updated all stepper states are recalculated. */
27
+ _handleActiveIndexChanged(): void;
28
+ /** @internal */
29
+ _handleLinearMode(): void;
30
+ private _handleSelected;
31
+ /** @internal */
32
+ private _resetActive;
33
+ /** @internal */
34
+ private _getCurrentActiveIndex;
35
+ /** @internal Not much can be handled before this kick off */
36
+ private _handleSlotChanged;
37
+ render(): import("lit").TemplateResult<1>;
38
+ }
@@ -0,0 +1,91 @@
1
+ var p = (t) => {
2
+ throw TypeError(t);
3
+ };
4
+ var m = (t, i, e) => i.has(t) || p("Cannot " + e);
5
+ var _ = (t, i, e) => (m(t, i, "read from private field"), e ? e.call(t) : i.get(t)), f = (t, i, e) => i.has(t) ? p("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(t) : i.set(t, e), l = (t, i, e, s) => (m(t, i, "write to private field"), s ? s.call(t, e) : i.set(t, e), e);
6
+ import { SkfElement as I } from "../../internal/components/skf-element.js";
7
+ import { watch as v } from "../../internal/helpers/watch.js";
8
+ import u from "../../styles/component.styles.js";
9
+ import { html as g } from "lit";
10
+ import { property as x, queryAssignedElements as y } from "lit/decorators.js";
11
+ import { classMap as A } from "lit/directives/class-map.js";
12
+ import { stepperState as C } from "./stepper.helpers.js";
13
+ import { styles as b } from "./stepper.styles.js";
14
+ var E = Object.defineProperty, S = Object.getOwnPropertyDescriptor, h = (t, i, e, s) => {
15
+ for (var n = s > 1 ? void 0 : s ? S(i, e) : i, r = t.length - 1, o; r >= 0; r--)
16
+ (o = t[r]) && (n = (s ? o(i, e, n) : o(n)) || n);
17
+ return s && n && E(i, e, n), n;
18
+ }, d;
19
+ const c = class c extends I {
20
+ constructor() {
21
+ super();
22
+ f(this, d);
23
+ l(this, d, !1), this.activeIndex = -1, this.linear = !1, this._handleSelected = (e) => {
24
+ if (!_(this, d)) return;
25
+ const { item: s, triggerActiveIndexUpdate: n } = e.detail, r = [...this._items ?? []].findIndex((o) => o === s);
26
+ r === this.activeIndex ? this._handleActiveIndexChanged() : (n && this._resetActive(r), this.activeIndex = r);
27
+ }, this._handleSlotChanged = () => {
28
+ l(this, d, !0), this.activeIndex = this._getCurrentActiveIndex();
29
+ }, this.addEventListener("skf-stepper-item-select", this._handleSelected);
30
+ }
31
+ firstUpdated() {
32
+ this._handleLinearMode();
33
+ }
34
+ _handleActiveIndexChanged() {
35
+ !this._items || this.activeIndex < 0 || this._items.forEach((e, s) => {
36
+ const { isDisabled: n, stateLabel: r } = C({
37
+ activeIndex: this.activeIndex,
38
+ items: [...this._items ?? []],
39
+ linear: this.linear,
40
+ state: e.state,
41
+ index: s
42
+ });
43
+ e._setInternalState = r, e._index = s + 1, e._disabled = n;
44
+ });
45
+ }
46
+ _handleLinearMode() {
47
+ var e;
48
+ (e = this._items) == null || e.forEach((s) => {
49
+ this.linear && (s._linear = !0);
50
+ });
51
+ }
52
+ /** @internal */
53
+ _resetActive(e) {
54
+ this._items && this._items.forEach((s, n) => {
55
+ n !== e && (s._setInternalState = void 0);
56
+ });
57
+ }
58
+ /** @internal */
59
+ _getCurrentActiveIndex() {
60
+ if (!this._items) return -1;
61
+ const e = [...this._items], s = e.reverse().findIndex((r) => ["active", "completed"].includes(String(r.state))) || e.length - 1;
62
+ return e.length - s - 1;
63
+ }
64
+ render() {
65
+ return g`
66
+ <ol class=${A({ stepper: !0 })}>
67
+ <slot @slotchange=${this._handleSlotChanged}></slot>
68
+ </ol>
69
+ `;
70
+ }
71
+ };
72
+ d = new WeakMap(), c.styles = [u, b];
73
+ let a = c;
74
+ h([
75
+ x({ type: Number })
76
+ ], a.prototype, "activeIndex", 2);
77
+ h([
78
+ x({ type: Boolean })
79
+ ], a.prototype, "linear", 2);
80
+ h([
81
+ y()
82
+ ], a.prototype, "_items", 2);
83
+ h([
84
+ v("activeIndex")
85
+ ], a.prototype, "_handleActiveIndexChanged", 1);
86
+ h([
87
+ v("linear")
88
+ ], a.prototype, "_handleLinearMode", 1);
89
+ export {
90
+ a as SkfStepper
91
+ };
@@ -0,0 +1,8 @@
1
+ import { SkfStepper } from './stepper.component';
2
+ export * from './stepper.component';
3
+ export default SkfStepper;
4
+ declare global {
5
+ interface HTMLElementTagNameMap {
6
+ 'skf-stepper': SkfStepper;
7
+ }
8
+ }
@@ -0,0 +1,16 @@
1
+ import type { SkfStepperItem, SkfStepperItemState } from '../stepper-item/stepper-item.component.js';
2
+ import type { SkfStepper } from './stepper.component.js';
3
+ interface StepperStateProps extends Pick<SkfStepper, '_items' | 'linear'>, Pick<SkfStepperItem, 'state'> {
4
+ items: SkfStepperItem[];
5
+ activeIndex: number;
6
+ index: number;
7
+ }
8
+ interface StepperReturns {
9
+ isCurrentStep: boolean;
10
+ isDisabled: boolean;
11
+ isSpan: boolean;
12
+ stateLabel?: SkfStepperItemState;
13
+ }
14
+ /** Calculate each step state while iterating all */
15
+ export declare const stepperState: ({ activeIndex, items, linear, state, index, }: StepperStateProps) => StepperReturns;
16
+ export {};
@@ -0,0 +1,18 @@
1
+ const A = ({
2
+ activeIndex: c,
3
+ items: r,
4
+ linear: a,
5
+ state: o,
6
+ index: t
7
+ }) => {
8
+ var l;
9
+ const i = (l = r[t - 1]) == null ? void 0 : l.state, p = t > c + 1, b = i === "active", n = ["active", "completed"].includes(o ?? ""), s = !a && n, d = a && !s ? !1 : (p || b || n) && !s, f = o === "active", u = t < c, m = o === "completed", v = !s && i === "completed" && t === c + 1, e = {
10
+ isCurrentStep: n,
11
+ isDisabled: d,
12
+ isSpan: s
13
+ };
14
+ return v ? { stateLabel: "enabled", ...e } : f ? { stateLabel: "active", ...e } : m ? { stateLabel: "activeCompleted", ...e } : u ? { stateLabel: "completed", ...e } : { stateLabel: void 0, ...e };
15
+ };
16
+ export {
17
+ A as stepperState
18
+ };
@@ -0,0 +1,6 @@
1
+ import { SkfStepper as e } from "./stepper.component.js";
2
+ e.define("skf-stepper");
3
+ export {
4
+ e as SkfStepper,
5
+ e as default
6
+ };
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,15 @@
1
+ import { css as e } from "lit";
2
+ const p = e`
3
+ @layer components {
4
+ .stepper {
5
+ --_skf-stepper-gap: 2rem;
6
+
7
+ align-items: flex-start;
8
+ display: flex;
9
+ gap: var(--_skf-stepper-gap);
10
+ }
11
+ }
12
+ `;
13
+ export {
14
+ p as styles
15
+ };
@@ -0,0 +1,47 @@
1
+ import '../icon/icon.js';
2
+ import { SkfElement } from '../../internal/components/skf-element';
3
+ import { type CSSResultGroup } from 'lit';
4
+ export interface SkfStepperItemEvent {
5
+ item: SkfStepperItem;
6
+ triggerActiveIndexUpdate: boolean;
7
+ }
8
+ export type SkfStepperItemState = 'active' | 'activeCompleted' | 'completed' | 'enabled';
9
+ /**
10
+ * The `<skf-stepper-item>` is used in conjunction with the `<skf-stepper>` component
11
+ *
12
+ * @documentation See [zeroheight](https://zeroheight.com/****) for design principles
13
+ *
14
+ * @slot - Label of the stepper item
15
+ *
16
+ * @event skf-stepper-item-select - Dispatched when the stepper item is selected
17
+ *
18
+ * @tagname skf-stepper-item
19
+ */
20
+ export declare class SkfStepperItem extends SkfElement {
21
+ #private;
22
+ static styles: CSSResultGroup;
23
+ /** If defined, gives the supplied appearance */
24
+ state?: Extract<SkfStepperItemState, 'active' | 'completed'>;
25
+ /** If true, item marked as completed */
26
+ completed: boolean;
27
+ /** @internal */
28
+ _disabled?: boolean;
29
+ /** @internal */
30
+ _index: number;
31
+ /** @internal */
32
+ _linear: boolean;
33
+ /** @internal */
34
+ _uiState?: SkfStepperItemState;
35
+ /** @internal */
36
+ set _setInternalState(state: typeof this._uiState);
37
+ get _setInternalState(): typeof this._uiState;
38
+ constructor();
39
+ protected firstUpdated(): void;
40
+ /** @internal */
41
+ _handleState(): void;
42
+ /** @internal */
43
+ private _emitUpdate;
44
+ /** @internal */
45
+ private _handleClick;
46
+ render(): import("lit").TemplateResult;
47
+ }
@@ -0,0 +1,113 @@
1
+ var u = (e) => {
2
+ throw TypeError(e);
3
+ };
4
+ var v = (e, i, t) => i.has(e) || u("Cannot " + t);
5
+ var m = (e, i, t) => (v(e, i, "read from private field"), t ? t.call(e) : i.get(e)), _ = (e, i, t) => i.has(e) ? u("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(e) : i.set(e, t), r = (e, i, t, s) => (v(e, i, "write to private field"), s ? s.call(e, t) : i.set(e, t), t);
6
+ import "../icon/icon.js";
7
+ import { SkfElement as b } from "../../internal/components/skf-element.js";
8
+ import { watch as g } from "../../internal/helpers/watch.js";
9
+ import C from "../../styles/component.styles.js";
10
+ import "lit";
11
+ import { property as y, state as c } from "lit/decorators.js";
12
+ import { classMap as $ } from "lit/directives/class-map.js";
13
+ import { ifDefined as x } from "lit/directives/if-defined.js";
14
+ import { literal as w, unsafeStatic as U, html as S } from "lit/static-html.js";
15
+ import { styles as I } from "./stepper-item.styles.js";
16
+ var O = Object.defineProperty, P = Object.getOwnPropertyDescriptor, o = (e, i, t, s) => {
17
+ for (var p = s > 1 ? void 0 : s ? P(i, t) : i, d = e.length - 1, h; d >= 0; d--)
18
+ (h = e[d]) && (p = (s ? h(i, t, p) : h(p)) || p);
19
+ return s && p && O(i, t, p), p;
20
+ }, l, n;
21
+ const f = class f extends b {
22
+ constructor() {
23
+ super();
24
+ _(this, l);
25
+ _(this, n);
26
+ r(this, l, !1), r(this, n, !1), this.completed = !1, this._index = 0, this._linear = !1, this._handleClick = () => {
27
+ this._linear || (this.state = "active");
28
+ }, this.role = "listitem";
29
+ }
30
+ set _setInternalState(t) {
31
+ r(this, l, !0), this._uiState = t, t === "active" || t === "activeCompleted" ? this.state = t === "active" ? "active" : "completed" : this.state = void 0, setTimeout(() => {
32
+ r(this, l, !1);
33
+ });
34
+ }
35
+ get _setInternalState() {
36
+ return this.state;
37
+ }
38
+ firstUpdated() {
39
+ this._handleState();
40
+ }
41
+ _handleState() {
42
+ const t = this._uiState;
43
+ if (this.state === "completed" && t !== "active") {
44
+ this._setInternalState = "activeCompleted";
45
+ return;
46
+ }
47
+ if (m(this, l)) {
48
+ r(this, l, !1);
49
+ return;
50
+ }
51
+ r(this, n, ["active", "completed"].includes(String(this.state)) && !["active", "activeCompleted"].includes(String(this._uiState))), this._emitUpdate();
52
+ }
53
+ /** @internal */
54
+ _emitUpdate() {
55
+ this.emit("skf-stepper-item-select", {
56
+ detail: {
57
+ item: this,
58
+ triggerActiveIndexUpdate: m(this, n)
59
+ }
60
+ }), r(this, n, !1);
61
+ }
62
+ render() {
63
+ const t = this._linear ? "div" : "button", s = w`${U(t)}`;
64
+ return S`
65
+ <${s}
66
+ @click=${this._handleClick}
67
+ ?disabled=${this._disabled}
68
+ class=${$({
69
+ "stepper-item": !0,
70
+ "stepper-item--active": this._uiState === "active",
71
+ "stepper-item--active-completed": this._uiState === "activeCompleted",
72
+ "stepper-item--completed": this._uiState === "completed",
73
+ "stepper-item--enabled": this._uiState === "enabled"
74
+ })}
75
+ type=${x(t == "button" ? "button" : void 0)}
76
+ >
77
+ <div class="stepper-item__circle">
78
+ ${this._uiState === "activeCompleted" ? S`<skf-icon color="inverse" name="check"></skf-icon>` : this._index}
79
+ </div>
80
+ <slot class="stepper-item__label"></slot>
81
+ </${s}>
82
+ `;
83
+ }
84
+ };
85
+ l = new WeakMap(), n = new WeakMap(), f.styles = [C, I];
86
+ let a = f;
87
+ o([
88
+ y({ reflect: !0 })
89
+ ], a.prototype, "state", 2);
90
+ o([
91
+ y({ type: Boolean })
92
+ ], a.prototype, "completed", 2);
93
+ o([
94
+ c()
95
+ ], a.prototype, "_disabled", 2);
96
+ o([
97
+ c()
98
+ ], a.prototype, "_index", 2);
99
+ o([
100
+ c()
101
+ ], a.prototype, "_linear", 2);
102
+ o([
103
+ c()
104
+ ], a.prototype, "_uiState", 2);
105
+ o([
106
+ c()
107
+ ], a.prototype, "_setInternalState", 1);
108
+ o([
109
+ g("state")
110
+ ], a.prototype, "_handleState", 1);
111
+ export {
112
+ a as SkfStepperItem
113
+ };
@@ -0,0 +1,8 @@
1
+ import { SkfStepperItem } from './stepper-item.component';
2
+ export * from './stepper-item.component';
3
+ export default SkfStepperItem;
4
+ declare global {
5
+ interface HTMLElementTagNameMap {
6
+ 'skf-stepper-item': SkfStepperItem;
7
+ }
8
+ }
@@ -0,0 +1,6 @@
1
+ import { SkfStepperItem as e } from "./stepper-item.component.js";
2
+ e.define("skf-stepper-item");
3
+ export {
4
+ e as SkfStepperItem,
5
+ e as default
6
+ };
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,98 @@
1
+ import { css as e } from "lit";
2
+ const s = e`
3
+ /* stylelint-disable selector-class-pattern */
4
+ @layer components {
5
+ :host {
6
+ contain: layout;
7
+ flex: 1;
8
+ min-width: 0;
9
+ }
10
+
11
+ .stepper-item {
12
+ --_skf-stepper-circle-size: var(--skf-size-32);
13
+ --_skf-stepper-gap: inherit;
14
+ --_skf-stepper-line-offset: var(--skf-spacing-50);
15
+
16
+ align-items: center;
17
+ color: var(--_skf-stepper-color, var(--skf-text-color-tertiary));
18
+ display: flex;
19
+ flex-direction: column;
20
+ font-size: var(--skf-font-size-75);
21
+ font-weight: var(--skf-font-weight-bold);
22
+ gap: var(--skf-spacing-50);
23
+ inline-size: 100%;
24
+ position: relative;
25
+
26
+ &::before,
27
+ &::after {
28
+ border: var(--skf-border-width-sm) solid var(--skf-border-color-primary);
29
+ inset-block-start: calc(var(--_skf-stepper-circle-size) / 2);
30
+ position: absolute;
31
+ translate: 0 -50%;
32
+ }
33
+
34
+ &::before {
35
+ inset-inline: calc(-1 * var(--_skf-stepper-gap) / 2)
36
+ calc(50% + (var(--_skf-stepper-circle-size) / 2) + var(--_skf-stepper-line-offset));
37
+ }
38
+
39
+ &::after {
40
+ inset-inline: calc(
41
+ 50% + (var(--_skf-stepper-circle-size) / 2) + var(--_skf-stepper-line-offset)
42
+ )
43
+ calc(-1 * var(--_skf-stepper-gap) / 2);
44
+ }
45
+
46
+ :host(:not(:first-of-type)) &::before,
47
+ :host(:not(:last-of-type)) &::after {
48
+ content: '';
49
+ }
50
+ }
51
+
52
+ :is(.stepper-item--active, .stepper-item--completed) {
53
+ --_skf-stepper-color: var(--skf-text-color-emphasised);
54
+ }
55
+
56
+ .stepper-item--enabled {
57
+ --_skf-stepper-color: #6292e4; /* Missing token */
58
+ }
59
+
60
+ .stepper-item__circle {
61
+ background-color: var(--_skf-stepper-circle-bg-color, var(--skf-bg-color-neutral-1));
62
+ block-size: var(--_skf-stepper-circle-size);
63
+ border: var(--skf-border-width-md) solid
64
+ var(--_skf-stepper-circle-border-color, var(--skf-border-color-primary));
65
+ border-radius: 50%;
66
+ color: var(--_skf-stepper-circle-color, inherit);
67
+ display: grid;
68
+ inline-size: var(--_skf-stepper-circle-size);
69
+ place-content: center;
70
+ user-select: none;
71
+
72
+ :is(.stepper-item--active, .stepper-item--active-completed, .stepper-item--completed) & {
73
+ --_skf-stepper-circle-border-color: var(--skf-border-color-emphasised);
74
+ }
75
+
76
+ :is(.stepper-item--active, .stepper-item--active-completed) & {
77
+ --_skf-stepper-circle-color: var(--skf-text-color-inverse);
78
+ --_skf-stepper-circle-bg-color: var(--skf-bg-color-emphasised);
79
+ }
80
+
81
+ .stepper-item--enabled & {
82
+ --_skf-stepper-circle-border-color: #6292e4; /* Missing token */
83
+ --_skf-stepper-circle-color: var(--skf-text-color-emphasised);
84
+ }
85
+ }
86
+
87
+ .stepper-item__label {
88
+ display: block;
89
+ max-inline-size: 100%;
90
+ overflow: hidden;
91
+ text-overflow: ellipsis;
92
+ white-space: nowrap;
93
+ }
94
+ }
95
+ `;
96
+ export {
97
+ s as styles
98
+ };
@@ -1,5 +1,5 @@
1
- import { FormBase } from '@internal/components/formBase.js';
2
- import type { FormFieldBaseProps } from '@internal/types/formField.js';
1
+ import { FormBase } from '../../internal/components/formBase.js';
2
+ import type { FormFieldBaseProps } from '../../internal/types/formField.js';
3
3
  import { type CSSResultGroup } from 'lit';
4
4
  /**
5
5
  * The `<skf-switch>` is a component that displays a list of actions or options
@@ -3,9 +3,10 @@ import { Asterisk as u } from "../../internal/templates/asterisk.js";
3
3
  import p from "../../styles/component.styles.js";
4
4
  import { html as c } from "lit";
5
5
  import { property as s, state as v, query as f } from "lit/decorators.js";
6
- import { ifDefined as m } from "lit/directives/if-defined.js";
6
+ import { classMap as m } from "lit/directives/class-map.js";
7
+ import { ifDefined as _ } from "lit/directives/if-defined.js";
7
8
  import { styles as b } from "./switch.styles.js";
8
- var y = Object.defineProperty, i = (d, e, a, _) => {
9
+ var y = Object.defineProperty, i = (d, e, a, g) => {
9
10
  for (var l = void 0, r = d.length - 1, n; r >= 0; r--)
10
11
  (n = d[r]) && (l = n(e, a, l) || l);
11
12
  return l && y(e, a, l), l;
@@ -41,14 +42,22 @@ const h = class h extends o {
41
42
  var e;
42
43
  if (this._invalid = !1, this.required && !this.checked) {
43
44
  this.pristine || (this._invalid = !0);
44
- const a = this.hasAttribute("data-valuemissing") ? this.getAttribute("data-valuemissing") : ((e = this.$input) == null ? void 0 : e.validationMessage) ?? "Please check this box if you want to proceed";
45
+ const a = this.hasAttribute("data-valuemissing") ? this.getAttribute("data-valuemissing") : (
46
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
47
+ ((e = this.$input) == null ? void 0 : e.validationMessage) || "Please check this box if you want to proceed"
48
+ );
45
49
  this.setValidity({ valueMissing: !0 }, String(a));
46
50
  } else
47
51
  this.setValidity({});
48
52
  }
49
53
  render() {
50
54
  return c`
51
- <label id="root">
55
+ <label
56
+ class=${m({
57
+ switch: !0,
58
+ "switch--small": this.size === "sm"
59
+ })}
60
+ >
52
61
  <input
53
62
  ?checked=${this.checked}
54
63
  ?disabled=${this.disabled}
@@ -57,13 +66,14 @@ const h = class h extends o {
57
66
  @invalid=${this._handleInvalid}
58
67
  @reset=${this._resetValue}
59
68
  aria-invalid=${!!this._invalid}
60
- name=${m(this.name)}
69
+ class="switch__input"
70
+ name=${_(this.name)}
61
71
  type="checkbox"
62
72
  value=${this.value}
63
73
  />
64
- <div id="label">
74
+ <div class="switch__label">
65
75
  <slot>${this.label}</slot>
66
- ${this.required ? u(this.requiredLabel) : null}
76
+ ${this.required ? u(this.requiredLabel, "switch__asterisk") : null}
67
77
  </div>
68
78
  </label>
69
79
  `;
@@ -1,33 +1,31 @@
1
1
  import { visuallyHidden as s } from "../../styles/util.styles.js";
2
2
  import { css as r } from "lit";
3
- const t = [
3
+ const o = [
4
4
  s,
5
5
  r`
6
+ /* stylelint-disable selector-class-pattern */
6
7
  @layer components {
7
8
  :host {
8
9
  contain: layout;
9
10
  }
10
11
 
11
- #root {
12
+ .switch {
12
13
  align-items: center;
13
14
  color: var(--_skf-switch-color, var(--skf-text-color-primary));
14
15
  display: flex;
15
16
  grid-gap: var(--skf-spacing-50);
16
17
 
17
- :host([disabled]) & {
18
+ &:has(:disabled) {
18
19
  --_skf-switch-color: var(--skf-interactive-text-color-disabled);
19
20
  }
21
+ }
20
22
 
21
- :host([size='sm']) & {
22
- --_skf-switch-height: var(--skf-size-20);
23
- --_skf-switch-width: var(--skf-size-32);
24
-
25
- font-size: var(--skf-font-size-75);
26
- font-weight: var(--skf-font-weight-medium);
27
- }
23
+ .switch--small {
24
+ font-size: var(--skf-font-size-75);
25
+ font-weight: var(--skf-font-weight-medium);
28
26
  }
29
27
 
30
- input {
28
+ .switch__input {
31
29
  --_skf-switch-width: var(--skf-size-44);
32
30
  --_skf-switch-height: var(--skf-size-24);
33
31
 
@@ -72,14 +70,19 @@ const t = [
72
70
  &:disabled {
73
71
  --_skf-switch-bg-color: var(--skf-interactive-bg-color-disabled);
74
72
  }
73
+
74
+ .switch--small & {
75
+ --_skf-switch-height: var(--skf-size-20);
76
+ --_skf-switch-width: var(--skf-size-32);
77
+ }
75
78
  }
76
79
 
77
- #asterisk {
80
+ .switch__asterisk {
78
81
  color: var(--skf-severity-fg-color-error);
79
82
  }
80
83
  }
81
84
  `
82
85
  ];
83
86
  export {
84
- t as styles
87
+ o as styles
85
88
  };
@@ -0,0 +1,29 @@
1
+ import type { SkfTabGroup } from '../tab-group/tab-group.component.js';
2
+ import { SkfElement } from '../../internal/components/skf-element';
3
+ import { type CSSResultGroup } from 'lit';
4
+ export interface SkfTabEvent {
5
+ tab: SkfTab;
6
+ }
7
+ /**
8
+ * The `<skf-tab>` is a component that displays a list of actions or options
9
+ *
10
+ * @event {CustomEvent} skf-tab-select - {detail: { selected: true, tab: SkfTab }} Fires when the tab is selected
11
+ * @event click - Fired when the component is clicked
12
+ *
13
+ * @slot - The tab's label
14
+ *
15
+ * @tagname skf-tab
16
+ */
17
+ export declare class SkfTab extends SkfElement {
18
+ static styles: CSSResultGroup;
19
+ /** The name of the tab-panel this tab is associated with. The panel must be located in the same tab group. */
20
+ panel: string;
21
+ selected: boolean;
22
+ variant: SkfTabGroup['variant'];
23
+ constructor();
24
+ /** @internal */
25
+ handleSelectedChange(): void;
26
+ /** @internal */
27
+ private _handleClick;
28
+ render(): import("lit").TemplateResult<1>;
29
+ }