@skf-design-system/ui-components 1.0.0-beta.4 → 1.0.0-beta.7

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 (159) hide show
  1. package/README.md +26 -6
  2. package/dist/components/accordion/accordion-item.d.ts +1 -1
  3. package/dist/components/accordion/accordion.component.d.ts +13 -9
  4. package/dist/components/accordion/accordion.component.js +34 -30
  5. package/dist/components/accordion/accordion.d.ts +1 -1
  6. package/dist/components/accordion/accordion.styles.d.ts +1 -2
  7. package/dist/components/accordion/accordion.styles.js +5 -4
  8. package/dist/components/alert/alert.component.d.ts +10 -7
  9. package/dist/components/alert/alert.component.js +50 -37
  10. package/dist/components/alert/alert.styles.d.ts +1 -2
  11. package/dist/components/alert/alert.styles.js +42 -34
  12. package/dist/components/button/button.component.d.ts +28 -4
  13. package/dist/components/button/button.component.js +80 -56
  14. package/dist/components/button/button.styles.js +2 -1
  15. package/dist/components/card/card.component.d.ts +1 -1
  16. package/dist/components/card/card.component.js +29 -21
  17. package/dist/components/card/card.styles.d.ts +1 -2
  18. package/dist/components/card/card.styles.js +22 -12
  19. package/dist/components/checkbox/checkbox.component.d.ts +20 -18
  20. package/dist/components/checkbox/checkbox.component.js +95 -89
  21. package/dist/components/checkbox/checkbox.styles.js +7 -2
  22. package/dist/components/checkbox/checkbox.test.d.ts +1 -0
  23. package/dist/components/collapse/collapse.component.d.ts +8 -5
  24. package/dist/components/collapse/collapse.component.js +50 -39
  25. package/dist/components/collapse/collapse.styles.js +13 -12
  26. package/dist/components/collapse/collapse.test.d.ts +1 -0
  27. package/dist/components/dialog/dialog.component.d.ts +75 -0
  28. package/dist/components/dialog/dialog.component.js +189 -0
  29. package/dist/components/dialog/dialog.d.ts +8 -0
  30. package/dist/components/dialog/dialog.js +6 -0
  31. package/dist/components/dialog/dialog.styles.d.ts +1 -0
  32. package/dist/components/dialog/dialog.styles.js +91 -0
  33. package/dist/components/divider/divider.component.d.ts +14 -11
  34. package/dist/components/divider/divider.component.js +46 -29
  35. package/dist/components/divider/divider.styles.d.ts +1 -2
  36. package/dist/components/divider/divider.styles.js +26 -30
  37. package/dist/components/heading/heading.component.d.ts +14 -4
  38. package/dist/components/heading/heading.component.js +14 -14
  39. package/dist/components/heading/heading.styles.js +1 -1
  40. package/dist/components/icon/icon.component.d.ts +15 -9
  41. package/dist/components/icon/icon.component.js +6 -6
  42. package/dist/components/icon/icon.styles.js +56 -54
  43. package/dist/components/input/input.component.d.ts +48 -33
  44. package/dist/components/input/input.component.js +108 -99
  45. package/dist/components/link/link.component.d.ts +20 -17
  46. package/dist/components/link/link.component.js +20 -14
  47. package/dist/components/link/link.styles.js +36 -40
  48. package/dist/components/loader/loader.component.d.ts +7 -7
  49. package/dist/components/loader/loader.component.js +42 -61
  50. package/dist/components/loader/loader.styles.js +44 -11
  51. package/dist/components/logo/logo.component.d.ts +7 -5
  52. package/dist/components/logo/logo.component.js +25 -14
  53. package/dist/components/logo/logo.styles.d.ts +1 -2
  54. package/dist/components/logo/logo.styles.js +12 -10
  55. package/dist/components/progress/progress.component.d.ts +22 -0
  56. package/dist/components/progress/progress.component.js +49 -0
  57. package/dist/components/progress/progress.d.ts +8 -0
  58. package/dist/components/progress/progress.js +6 -0
  59. package/dist/components/progress/progress.styles.d.ts +1 -0
  60. package/dist/components/progress/progress.styles.js +48 -0
  61. package/dist/components/radio/radio.component.d.ts +21 -21
  62. package/dist/components/radio/radio.component.js +94 -78
  63. package/dist/components/radio/radio.styles.js +6 -1
  64. package/dist/components/select/select.component.d.ts +14 -12
  65. package/dist/components/select/select.component.js +119 -103
  66. package/dist/components/select/select.controllers.d.ts +1 -1
  67. package/dist/components/select/select.controllers.js +5 -2
  68. package/dist/components/select/select.styles.js +18 -3
  69. package/dist/components/select-option/select-option.component.d.ts +3 -3
  70. package/dist/components/select-option/select-option.component.js +16 -10
  71. package/dist/components/select-option/select-option.controllers.d.ts +1 -1
  72. package/dist/components/select-option-group/select-option-group.component.d.ts +1 -1
  73. package/dist/components/switch/switch.component.d.ts +4 -5
  74. package/dist/components/switch/switch.component.js +17 -7
  75. package/dist/components/switch/switch.styles.js +19 -11
  76. package/dist/components/switch/switch.test.d.ts +1 -0
  77. package/dist/components/tab/tab.component.d.ts +29 -0
  78. package/dist/components/tab/tab.component.js +57 -0
  79. package/dist/components/tab/tab.d.ts +8 -0
  80. package/dist/components/tab/tab.js +6 -0
  81. package/dist/components/tab/tab.styles.d.ts +1 -0
  82. package/dist/components/tab/tab.styles.js +123 -0
  83. package/dist/components/tab-group/tab-group.component.d.ts +43 -0
  84. package/dist/components/tab-group/tab-group.component.js +98 -0
  85. package/dist/components/tab-group/tab-group.d.ts +8 -0
  86. package/dist/components/tab-group/tab-group.js +6 -0
  87. package/dist/components/tab-group/tab-group.styles.d.ts +1 -0
  88. package/dist/components/tab-group/tab-group.styles.js +75 -0
  89. package/dist/components/tab-panel/tab-panel.component.d.ts +19 -0
  90. package/dist/components/tab-panel/tab-panel.component.js +36 -0
  91. package/dist/components/tab-panel/tab-panel.d.ts +8 -0
  92. package/dist/components/tab-panel/tab-panel.js +6 -0
  93. package/dist/components/tab-panel/tab-panel.styles.d.ts +1 -0
  94. package/dist/components/tab-panel/tab-panel.styles.js +13 -0
  95. package/dist/components/tag/tag.component.d.ts +14 -9
  96. package/dist/components/tag/tag.component.js +63 -47
  97. package/dist/components/tag/tag.styles.js +35 -28
  98. package/dist/components/textarea/textarea.component.d.ts +30 -27
  99. package/dist/components/textarea/textarea.component.js +20 -17
  100. package/dist/components/toast/toast.component.d.ts +35 -0
  101. package/dist/components/toast/toast.component.js +52 -0
  102. package/dist/components/toast/toast.d.ts +8 -0
  103. package/dist/components/toast/toast.js +6 -0
  104. package/dist/components/toast/toast.singleton.d.ts +26 -0
  105. package/dist/components/toast/toast.singleton.js +53 -0
  106. package/dist/components/toast/toast.styles.d.ts +1 -0
  107. package/dist/components/toast/toast.styles.js +9 -0
  108. package/dist/components/toast-item/toast-item.component.d.ts +21 -0
  109. package/dist/components/toast-item/toast-item.component.js +65 -0
  110. package/dist/components/toast-item/toast-item.d.ts +6 -0
  111. package/dist/components/toast-item/toast-item.js +2 -0
  112. package/dist/components/toast-item/toast-item.styles.d.ts +2 -0
  113. package/dist/components/toast-item/toast-item.styles.js +16 -0
  114. package/dist/components/toast-wrapper/toast-wrapper.component.d.ts +24 -0
  115. package/dist/components/toast-wrapper/toast-wrapper.component.js +37 -0
  116. package/dist/components/toast-wrapper/toast-wrapper.d.ts +8 -0
  117. package/dist/components/toast-wrapper/toast-wrapper.js +6 -0
  118. package/dist/components/toast-wrapper/toast-wrapper.styles.d.ts +1 -0
  119. package/dist/components/toast-wrapper/toast-wrapper.styles.js +20 -0
  120. package/dist/custom-elements.json +3090 -1993
  121. package/dist/index.d.ts +6 -0
  122. package/dist/index.js +60 -42
  123. package/dist/internal/components/formBase.d.ts +1 -0
  124. package/dist/internal/components/formBase.js +11 -11
  125. package/dist/internal/components/hint/hint.component.d.ts +2 -2
  126. package/dist/internal/components/hint/hint.component.js +12 -10
  127. package/dist/internal/components/hint/hint.styles.js +26 -10
  128. package/dist/internal/components/skf-element.js +26 -25
  129. package/dist/internal/helpers/hintSeverity.d.ts +1 -1
  130. package/dist/internal/helpers/watch.d.ts +27 -0
  131. package/dist/internal/helpers/watch.js +28 -0
  132. package/dist/internal/storybook/shadowRootTraverser.d.ts +16 -8
  133. package/dist/internal/templates/asterisk.d.ts +1 -1
  134. package/dist/internal/templates/asterisk.js +7 -6
  135. package/dist/react/index.d.ts +10 -3
  136. package/dist/react/index.js +10 -3
  137. package/dist/react/skf-button/index.d.ts +7 -1
  138. package/dist/react/skf-button/index.js +5 -1
  139. package/dist/react/skf-dialog/index.d.ts +15 -0
  140. package/dist/react/skf-dialog/index.js +19 -0
  141. package/dist/react/skf-progress/index.d.ts +3 -0
  142. package/dist/react/skf-progress/index.js +13 -0
  143. package/dist/react/skf-tab/index.d.ts +12 -0
  144. package/dist/react/skf-tab/index.js +18 -0
  145. package/dist/react/skf-tab-group/index.d.ts +3 -0
  146. package/dist/react/skf-tab-group/index.js +13 -0
  147. package/dist/react/skf-tab-panel/index.d.ts +3 -0
  148. package/dist/react/skf-tab-panel/index.js +13 -0
  149. package/dist/react/skf-toast/index.d.ts +3 -0
  150. package/dist/react/skf-toast/index.js +13 -0
  151. package/dist/react/skf-toast-wrapper/index.d.ts +3 -0
  152. package/dist/react/skf-toast-wrapper/index.js +13 -0
  153. package/dist/styles/component.styles.js +15 -2
  154. package/dist/styles/form-field.styles.js +5 -1
  155. package/dist/types/jsx/custom-element-jsx.d.ts +300 -117
  156. package/dist/types/vue/index.d.ts +266 -76
  157. package/dist/vscode.html-custom-data.json +349 -216
  158. package/dist/web-types.json +686 -292
  159. package/package.json +33 -32
@@ -1,25 +1,32 @@
1
1
  import type { DefineComponent } from "vue";
2
2
 
3
3
  import type { SkfAccordion } from "../../components/accordion/accordion.component.js";
4
- import type { SkfButton } from "../../components/button/button.component.js";
5
4
  import type { SkfCard } from "../../components/card/card.component.js";
6
- import type { SkfAlert } from "../../components/alert/alert.component.js";
7
5
  import type { SkfCheckbox } from "../../components/checkbox/checkbox.component.js";
8
- import type { SkfDivider } from "../../components/divider/divider.component.js";
9
6
  import type { SkfCollapse, CustomEvent } from "../../components/collapse/collapse.component.js";
7
+ import type { SkfDialog } from "../../components/dialog/dialog.component.js";
8
+ import type { SkfAlert } from "../../components/alert/alert.component.js";
9
+ import type { SkfDivider } from "../../components/divider/divider.component.js";
10
+ import type { SkfButton } from "../../components/button/button.component.js";
10
11
  import type { SkfHeading } from "../../components/heading/heading.component.js";
11
12
  import type { SkfIcon } from "../../components/icon/icon.component.js";
12
13
  import type { SkfInput } from "../../components/input/input.component.js";
13
14
  import type { SkfLink } from "../../components/link/link.component.js";
14
15
  import type { SkfLoader } from "../../components/loader/loader.component.js";
15
16
  import type { SkfLogo } from "../../components/logo/logo.component.js";
17
+ import type { SkfProgress } from "../../components/progress/progress.component.js";
16
18
  import type { SkfRadio } from "../../components/radio/radio.component.js";
17
19
  import type { SkfSelect } from "../../components/select/select.component.js";
18
20
  import type { SkfSelectOption } from "../../components/select-option/select-option.component.js";
19
21
  import type { SkfSelectOptionGroup } from "../../components/select-option-group/select-option-group.component.js";
20
22
  import type { SkfSwitch } from "../../components/switch/switch.component.js";
23
+ import type { SkfTab, CustomEvent } from "../../components/tab/tab.component.js";
24
+ import type { SkfTabGroup } from "../../components/tab-group/tab-group.component.js";
25
+ import type { SkfTabPanel } from "../../components/tab-panel/tab-panel.component.js";
21
26
  import type { SkfTag } from "../../components/tag/tag.component.js";
22
27
  import type { SkfTextArea } from "../../components/textarea/textarea.component.js";
28
+ import type { SkfToast } from "../../components/toast/toast.component.js";
29
+ import type { SkfToastWrapper } from "../../components/toast-wrapper/toast-wrapper.component.js";
23
30
 
24
31
  type SkfAccordionProps = {
25
32
  /** If true, will animate the expand/collapse state */
@@ -36,25 +43,6 @@ type SkfAccordionProps = {
36
43
  truncate?: SkfAccordion["truncate"];
37
44
  };
38
45
 
39
- type SkfButtonProps = {
40
- /** If true, gives destructive appearance. **Notice!** Only applicable if `variant` is `primary`. */
41
- destructive?: SkfButton["destructive"];
42
- /** If true, removes border */
43
- disabled?: SkfButton["disabled"];
44
- /** If provided, renders an icon before or after the text */
45
- icon?: SkfButton["icon"];
46
- /** If provided, determines the positioning of the icon in relation to the text */
47
- "icon-position"?: SkfButton["iconPosition"];
48
- /** If true, hides text & icon and shows loading indicator. **Notice!** Only applicable if `variant` is `primary`. */
49
- loading?: SkfButton["loading"];
50
- /** If provided, displays an alternative size */
51
- size?: SkfButton["size"];
52
- /** If provided, changes the button type */
53
- type?: SkfButton["type"];
54
- /** If provided, alters the appearance */
55
- variant?: SkfButton["variant"];
56
- };
57
-
58
46
  type SkfCardProps = {
59
47
  /** If true, removes border */
60
48
  "no-border"?: SkfCard["noBorder"];
@@ -64,20 +52,6 @@ type SkfCardProps = {
64
52
  stretch?: SkfCard["stretch"];
65
53
  };
66
54
 
67
- type SkfAlertProps = {
68
- /** If true, alert is being used as a toast (alertdialog) with an close button */
69
- closeable?: SkfAlert["closeable"];
70
- /** Close button aria-label */
71
- "button-label"?: SkfAlert["buttonLabel"];
72
- /** If defined, displays leading icon */
73
- icon?: SkfAlert["icon"];
74
- /** If defined, gives the supplied appearance */
75
- severity?: SkfAlert["severity"];
76
-
77
- /** Fires when the close button is clicked */
78
- "onskf-alert-close"?: (e: CustomEvent<never>) => void;
79
- };
80
-
81
55
  type SkfCheckboxProps = {
82
56
  /** If true, sets disabled state */
83
57
  disabled?: SkfCheckbox["undefined"];
@@ -89,8 +63,6 @@ type SkfCheckboxProps = {
89
63
  checked?: SkfCheckbox["checked"];
90
64
  /** If true, forces component to invalid state until removed */
91
65
  "custom-invalid"?: SkfCheckbox["customInvalid"];
92
- /** If true, hides the label visually */
93
- "hide-label"?: SkfCheckbox["hideLabel"];
94
66
  /** If true and the checkbox is unchecked, the checkbox will appear indeterminate */
95
67
  indeterminate?: SkfCheckbox["indeterminate"];
96
68
  /** If defined, sets the input's label. Alternatively, you can use the `label` attribute. */
@@ -112,15 +84,6 @@ type SkfCheckboxProps = {
112
84
  onchange?: (e: CustomEvent<never>) => void;
113
85
  };
114
86
 
115
- type SkfDividerProps = {
116
- /** Defines the Divider color */
117
- color?: SkfDivider["color"];
118
- /** If true, renders a div for presentational purpose instead of the semantic hr-element */
119
- decorative?: SkfDivider["decorative"];
120
- /** If true, renders the divider vertically */
121
- vertical?: SkfDivider["vertical"];
122
- };
123
-
124
87
  type SkfCollapseProps = {
125
88
  /** If true, will animate the expand/collapse state */
126
89
  animated?: SkfCollapse["animated"];
@@ -139,6 +102,80 @@ type SkfCollapseProps = {
139
102
  "onskf-collapse-toggle"?: (e: CustomEvent<CustomEvent>) => void;
140
103
  };
141
104
 
105
+ type SkfDialogProps = {
106
+ /** If defined, sets the aria-label for the close button */
107
+ "close-button-aria-label"?: SkfDialog["closeButtonAriaLabel"];
108
+ /** Title for the modal/dialog */
109
+ heading?: SkfDialog["heading"];
110
+ /** If true, makes the dialog stretch edge to edge on screen */
111
+ fullscreen?: SkfDialog["fullscreen"];
112
+ /** If true, removes the close button */
113
+ "no-close-button"?: SkfDialog["noCloseButton"];
114
+ /** If defined, removes the inner padding */
115
+ "no-padding"?: SkfDialog["noPadding"];
116
+ /** */
117
+ open?: SkfDialog["open"];
118
+ /** If provided, will run function on dialog close */
119
+ onClose?: SkfDialog["onClose"];
120
+ /** Method that opens the dialog in modal state */
121
+ showModal?: SkfDialog["showModal"];
122
+ /** Method that closes the dialog */
123
+ close?: SkfDialog["close"];
124
+ /** Fires when the dialog is opened (after transitioned in) */
125
+ "onskf-dialog-open"?: (e: CustomEvent<never>) => void;
126
+ /** Fires when the dialog is closed (before transitioned out) */
127
+ "onskf-dialog-close"?: (e: CustomEvent<never>) => void;
128
+ /** Fires when the dialog is closed (after transitioned out) */
129
+ onclose?: (e: CustomEvent<never>) => void;
130
+ };
131
+
132
+ type SkfAlertProps = {
133
+ /** If true, alert is being used as a toast (alertdialog) with an close button */
134
+ closeable?: SkfAlert["closeable"];
135
+ /** Close button aria-label */
136
+ "button-label"?: SkfAlert["buttonLabel"];
137
+ /** If defined, displays leading icon */
138
+ icon?: SkfAlert["icon"];
139
+ /** If defined, gives the supplied appearance */
140
+ severity?: SkfAlert["severity"];
141
+
142
+ /** Fires when the close button is clicked */
143
+ "onskf-alert-close"?: (e: CustomEvent<never>) => void;
144
+ };
145
+
146
+ type SkfDividerProps = {
147
+ /** Defines the Divider color */
148
+ color?: SkfDivider["color"];
149
+ /** If true, renders a div for presentational purpose instead of the semantic hr-element */
150
+ decorative?: SkfDivider["decorative"];
151
+ /** If true, renders the divider vertically */
152
+ vertical?: SkfDivider["vertical"];
153
+ };
154
+
155
+ type SkfButtonProps = {
156
+ /** If true, gives destructive appearance. **Notice!** Only applicable if `variant` is `primary`. */
157
+ destructive?: SkfButton["destructive"];
158
+ /** If true, removes border */
159
+ disabled?: SkfButton["disabled"];
160
+ /** If provided, renders an icon before or after the text */
161
+ icon?: SkfButton["icon"];
162
+ /** If provided, determines the positioning of the icon in relation to the text */
163
+ "icon-position"?: SkfButton["iconPosition"];
164
+ /** If true, hides text & icon and shows loading indicator. **Notice!** Only applicable if `variant` is `primary`. */
165
+ loading?: SkfButton["loading"];
166
+ /** */
167
+ "no-validate"?: SkfButton["noValidate"];
168
+ /** If provided, displays an alternative size */
169
+ size?: SkfButton["size"];
170
+ /** If provided, changes the button type */
171
+ type?: SkfButton["type"];
172
+ /** If provided, alters the appearance */
173
+ variant?: SkfButton["variant"];
174
+
175
+ /** Fires when the button is clicked */
176
+ onclick?: (e: CustomEvent<never>) => void;
177
+ };
178
+
142
179
  type SkfHeadingProps = {
143
180
  /** Controls which heading element will be rendered. Should not be used to affect appearance */
144
181
  as?: SkfHeading["as"];
@@ -162,6 +199,8 @@ type SkfInputProps = {
162
199
  disabled?: SkfInput["undefined"];
163
200
  /** If true, value is required or must be checked for the form to be submittable */
164
201
  required?: SkfInput["undefined"];
202
+ /** -m } */
203
+ autocomplete?: SkfInput["autocomplete"];
165
204
  /** Custom aria-label for the clear button. **Notice!** Only applicable to type=search. */
166
205
  "button-aria-label-clear"?: SkfInput["buttonAriaLabelClear"];
167
206
  /** Custom aria-label for the visibility button. **Notice!** Only applicable to type=password. */
@@ -236,7 +275,7 @@ type SkfLinkProps = {
236
275
  icon?: SkfLink["icon"];
237
276
  /** Defines the position of the icon in relation to the text */
238
277
  "icon-placement"?: SkfLink["iconPlacement"];
239
- /** Defines the relationship of the target object to the link object */
278
+ /** If defined, describes the relationship between a linked resource and the current document */
240
279
  rel?: SkfLink["rel"];
241
280
  /** If defined, used on conjunction with onClick property, second argument */
242
281
  route?: SkfLink["route"];
@@ -266,10 +305,19 @@ type SkfLoaderProps = {
266
305
  type SkfLogoProps = {
267
306
  /** Defines the title of the logo */
268
307
  title?: SkfLogo["title"];
269
- /** If defined, sets color of the logo */
308
+ /** Defines the color of the logo */
270
309
  color?: SkfLogo["color"];
271
310
  };
272
311
 
312
+ type SkfProgressProps = {
313
+ /** If true, the progress-bar's fill value is animated */
314
+ animated?: SkfProgress["animated"];
315
+ /** Describes how much work the task indicated by the progress element requires */
316
+ max?: SkfProgress["max"];
317
+ /** Specifies how much of the task that has been completed */
318
+ value?: SkfProgress["value"];
319
+ };
320
+
273
321
  type SkfRadioProps = {
274
322
  /** If true, sets disabled state */
275
323
  disabled?: SkfRadio["undefined"];
@@ -281,8 +329,6 @@ type SkfRadioProps = {
281
329
  checked?: SkfRadio["checked"];
282
330
  /** If true, forces component to invalid state until removed */
283
331
  "custom-invalid"?: SkfRadio["customInvalid"];
284
- /** If true, hides the label visually */
285
- "hide-label"?: SkfRadio["hideLabel"];
286
332
  /** If defined, sets the input's label unless the default slot is used. Alternatively, you can use the `label` attribute. */
287
333
  label?: SkfRadio["label"];
288
334
  /** If defined, adds name to the input-element */
@@ -334,9 +380,9 @@ type SkfSelectProps = {
334
380
  /** Size of the Select */
335
381
  size?: SkfSelect["size"];
336
382
  /** A readonly property that returns the selected value(s) in a array */
337
- getSelectedValues?: SkfSelect["getSelectedValues"];
383
+ selectedValues?: SkfSelect["selectedValues"];
338
384
  /** A readonly property that returns the selected slot(s) text content in a array */
339
- getSelectedOptionsText?: SkfSelect["getSelectedOptionsText"];
385
+ selectedOptionsText?: SkfSelect["selectedOptionsText"];
340
386
  /** Read only, returns the selected value. (if multiple: in a comma separated string) */
341
387
  value?: SkfSelect["value"];
342
388
  /** */
@@ -406,6 +452,43 @@ type SkfSwitchProps = {
406
452
  value?: SkfSwitch["value"];
407
453
  };
408
454
 
455
+ type SkfTabProps = {
456
+ /** The name of the tab-panel this tab is associated with. The panel must be located in the same tab group. */
457
+ panel?: SkfTab["panel"];
458
+ /** */
459
+ selected?: SkfTab["selected"];
460
+ /** */
461
+ variant?: SkfTab["variant"];
462
+ /** */
463
+ role?: SkfTab["role"];
464
+ /** {detail: { selected: true, tab: SkfTab }} Fires when the tab is selected */
465
+ "onskf-tab-select"?: (e: CustomEvent<CustomEvent>) => void;
466
+ /** Fired when the component is clicked */
467
+ onclick?: (e: CustomEvent<never>) => void;
468
+ };
469
+
470
+ type SkfTabGroupProps = {
471
+ /** Sets the default selected tab */
472
+ "default-selected"?: SkfTabGroup["defaultSelected"];
473
+ /** If true, removes border */
474
+ "no-border"?: SkfTabGroup["noBorder"];
475
+ /** If true, removes padding */
476
+ "no-padding"?: SkfTabGroup["noPadding"];
477
+ /** If true, component fills the parent element height */
478
+ stretch?: SkfTabGroup["stretch"];
479
+ /** Sets the appearance of the tabs */
480
+ variant?: SkfTabGroup["variant"];
481
+ };
482
+
483
+ type SkfTabPanelProps = {
484
+ /** The tab panel's name. */
485
+ name?: SkfTabPanel["name"];
486
+ /** */
487
+ active?: SkfTabPanel["active"];
488
+ /** */
489
+ role?: SkfTabPanel["role"];
490
+ };
491
+
409
492
  type SkfTagProps = {
410
493
  /** Specifies Tag size */
411
494
  size?: SkfTag["size"];
@@ -469,6 +552,24 @@ type SkfTextAreaProps = {
469
552
  oninvalid?: (e: CustomEvent<never>) => void;
470
553
  };
471
554
 
555
+ type SkfToastProps = {
556
+ /** If provided, adds a close button to the toast and will not disapear until user actively dismisses it. */
557
+ closeable?: SkfToast["closeable"];
558
+ /** */
559
+ debug?: SkfToast["debug"];
560
+ /** Severity of the toast. */
561
+ severity?: SkfToast["severity"];
562
+ /** Time in seconds before the toast disappears. */
563
+ timer?: SkfToast["timer"];
564
+ /** offsets where toasts emerge vertically */
565
+ topOffset?: SkfToast["topOffset"];
566
+ };
567
+
568
+ type SkfToastWrapperProps = {
569
+ /** */
570
+ debug?: SkfToastWrapper["debug"];
571
+ };
572
+
472
573
  export type CustomElements = {
473
574
  /**
474
575
  * The `<skf-accordion>` component consists of multiple `<skf-collapse>`, working together.
@@ -483,51 +584,81 @@ export type CustomElements = {
483
584
  "skf-accordion": DefineComponent<SkfAccordionProps>;
484
585
 
485
586
  /**
486
- * Component to be used in forms or for interactivity
587
+ * The `<skf-card>` can be used to group related subjects in a container
487
588
  * ---
488
589
  *
489
590
  *
490
591
  * ### **Slots:**
491
- * - _default_ - The Primary content
592
+ * - _default_ - The card's main content
492
593
  */
493
- "skf-button": DefineComponent<SkfButtonProps>;
594
+ "skf-card": DefineComponent<SkfCardProps>;
494
595
 
495
596
  /**
496
- * The `<skf-card>` can be used to group related subjects in a container
597
+ * The `<skf-checkbox>` component is used to create a checkbox input
497
598
  * ---
498
599
  *
499
600
  *
601
+ * ### **Events:**
602
+ * - **change** - {object} - When the value of the input changes
603
+ *
500
604
  * ### **Slots:**
501
- * - _default_ - The card's main content
605
+ * - _default_ - The Radios label. Alternatively, you can use the `label` attribute.
502
606
  */
503
- "skf-card": DefineComponent<SkfCardProps>;
607
+ "skf-checkbox": DefineComponent<SkfCheckboxProps>;
504
608
 
505
609
  /**
506
- * The `<skf-alert>` is a type of notification that appears in-line
610
+ * The `<skf-collapse>` component is a general purpose container for content that can be collapsed / expanded.
611
+ *
612
+ * See [zeroheight](https://zeroheight.com/853e936c9/p/6590bf-accordion) for design principles.
507
613
  * ---
508
614
  *
509
615
  *
510
616
  * ### **Events:**
511
- * - **skf-alert-close** - Fires when the close button is clicked
617
+ * - **skf-collapse-toggle** - Event emitted when toggled
618
+ *
619
+ * ### **Methods:**
620
+ * - **setClose()** - Class method as alternative to manipulate attribute
621
+ * - **setOpen()** - Class method as alternative to manipulate attribute
512
622
  *
513
623
  * ### **Slots:**
514
- * - _default_ - Alert message. **Notice!** See design principles for approved content
515
- * - **link** - Slot for the link
624
+ * - _default_ - Main content
516
625
  */
517
- "skf-alert": DefineComponent<SkfAlertProps>;
626
+ "skf-collapse": DefineComponent<SkfCollapseProps>;
518
627
 
519
628
  /**
520
- * The `<skf-checkbox>` component is used to create a checkbox input
629
+ * The `<skf-dialog>` is a component that open up a dialog with the content provided
521
630
  * ---
522
631
  *
523
632
  *
524
633
  * ### **Events:**
525
- * - **change** - {object} - When the value of the input changes
634
+ * - **skf-dialog-open** - Fires when the dialog is opened (after transitioned in)
635
+ * - **skf-dialog-close** - Fires when the dialog is closed (before transitioned out)
636
+ * - **close** - Fires when the dialog is closed (after transitioned out)
526
637
  *
527
638
  * ### **Slots:**
528
- * - _default_ - The Radios label. Alternatively, you can use the `label` attribute.
639
+ * - _default_ - The dialog component's content
640
+ * - **heading** - The dialog component's heading
641
+ * - **footer** - The dialog component's buttons goes here
642
+ *
643
+ * ### **CSS Properties:**
644
+ * - **--skf-dialog-height** - A custom height for the Dialog. Pass valid CSS **block-size** values _(default: undefined)_
645
+ * - **--skf-dialog-width** - A custom width for the Dialog Pass valid CSS **inline-size** values _(default: undefined)_
529
646
  */
530
- "skf-checkbox": DefineComponent<SkfCheckboxProps>;
647
+ "skf-dialog": DefineComponent<SkfDialogProps>;
648
+
649
+ /**
650
+ * The `<skf-alert>` is a type of notification that appears in-line
651
+ * ---
652
+ *
653
+ *
654
+ * ### **Events:**
655
+ * - **skf-alert-close** - Fires when the close button is clicked
656
+ *
657
+ * ### **Slots:**
658
+ * - _default_ - Alert message. **Notice!** See design principles for approved content
659
+ * - **link** - Slot for the link
660
+ */
661
+ "skf-alert": DefineComponent<SkfAlertProps>;
531
662
 
532
663
  /**
533
664
  * The `<Divider>` component can separate items from each other, to visually emphasize their lack of a relationship between groups of information
@@ -541,23 +672,20 @@ export type CustomElements = {
541
672
  "skf-divider": DefineComponent<SkfDividerProps>;
542
673
 
543
674
  /**
544
- * The `<skf-collapse>` component is a general purpose container for content that can be collapsed / expanded.
545
- *
546
- * See [zeroheight](https://zeroheight.com/853e936c9/p/6590bf-accordion) for design principles.
675
+ * Component to be used in forms or for interactivity
547
676
  * ---
548
677
  *
549
678
  *
550
679
  * ### **Events:**
551
- * - **skf-collapse-toggle** - Event emitted when toggled
680
+ * - **click** - Fires when the button is clicked
552
681
  *
553
682
  * ### **Methods:**
554
- * - **setClose()** - Class method as alternative to manipulate attribute
555
- * - **setOpen()** - Class method as alternative to manipulate attribute
683
+ * - **click()** - Simulates a click on the button.
556
684
  *
557
685
  * ### **Slots:**
558
- * - _default_ - Main content
686
+ * - _default_ - The Primary content
559
687
  */
560
- "skf-collapse": DefineComponent<SkfCollapseProps>;
688
+ "skf-button": DefineComponent<SkfButtonProps>;
561
689
 
562
690
  /**
563
691
  * The `<Heading>` component is to deliniate content on a page. When using, take note not to skip heading levels.<br>
@@ -618,6 +746,13 @@ export type CustomElements = {
618
746
  */
619
747
  "skf-logo": DefineComponent<SkfLogoProps>;
620
748
 
749
+ /**
750
+ * The `<skf-progress>` element displays an indicator showing the completion progress of a task, typically displayed as a progress bar
751
+ * ---
752
+ *
753
+ */
754
+ "skf-progress": DefineComponent<SkfProgressProps>;
755
+
621
756
  /**
622
757
  * The `<skf-radio>` component is used to create a radio input
623
758
  * ---
@@ -682,6 +817,41 @@ export type CustomElements = {
682
817
  */
683
818
  "skf-switch": DefineComponent<SkfSwitchProps>;
684
819
 
820
+ /**
821
+ * The `<skf-tab>` is a component that displays a list of actions or options
822
+ * ---
823
+ *
824
+ *
825
+ * ### **Events:**
826
+ * - **skf-tab-select** - {detail: { selected: true, tab: SkfTab }} Fires when the tab is selected
827
+ * - **click** - Fired when the component is clicked
828
+ *
829
+ * ### **Slots:**
830
+ * - _default_ - The tab's label
831
+ */
832
+ "skf-tab": DefineComponent<SkfTabProps>;
833
+
834
+ /**
835
+ * The `<skf-tab-group>` is a component that displays a list of actions or options.
836
+ * ---
837
+ *
838
+ *
839
+ * ### **Slots:**
840
+ * - _default_ - Used for grouping tab panels in the tab group. Must be <skf-tab-panel> elements
841
+ * - **tabs** - Used for grouping tabs in the tab group. Must be <skf-tab> elements
842
+ */
843
+ "skf-tab-group": DefineComponent<SkfTabGroupProps>;
844
+
845
+ /**
846
+ * The `<skf-tab-panel>` is a component that displays a list of actions or options.
847
+ * ---
848
+ *
849
+ *
850
+ * ### **Slots:**
851
+ * - _default_ - The tab panel's content
852
+ */
853
+ "skf-tab-panel": DefineComponent<SkfTabPanelProps>;
854
+
685
855
  /**
686
856
  * The `<skf-tag>` is a component that displays a list of actions or options
687
857
  * ---
@@ -705,6 +875,26 @@ export type CustomElements = {
705
875
  * - _default_ - The textareas label. Alternatively, you can use the `label` attribute.
706
876
  */
707
877
  "skf-textarea": DefineComponent<SkfTextAreaProps>;
878
+
879
+ /**
880
+ * A simple toast component that displays a message to the user. Use by appending a &lt;skf-toast&gt; tag to the DOM. Position in DOM is irrelevant.
881
+ * ---
882
+ *
883
+ *
884
+ * ### **Slots:**
885
+ * - _default_ - The component's placeholder content
886
+ */
887
+ "skf-toast": DefineComponent<SkfToastProps>;
888
+
889
+ /**
890
+ * The `<skf-toast-wrapper>` is a component without UI that positions where the toast shows up on the screen. The toast-wrapper is used internally by the toast component.
891
+ * ---
892
+ *
893
+ *
894
+ * ### **Slots:**
895
+ * - _default_ - The alert components that the toast creates will render here.
896
+ */
897
+ "skf-toast-wrapper": DefineComponent<SkfToastWrapperProps>;
708
898
  };
709
899
 
710
900
  declare module "vue" {