@skf-design-system/ui-components 1.0.2-beta.4 → 1.0.2-beta.6

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 (71) hide show
  1. package/custom-elements.json +25490 -0
  2. package/dist/components/accordion/accordion.component.d.ts +1 -1
  3. package/dist/components/accordion/accordion.component.js +2 -2
  4. package/dist/components/datepicker/datepicker.component.js +1 -0
  5. package/dist/components/divider/divider.component.d.ts +3 -0
  6. package/dist/components/divider/divider.component.js +43 -22
  7. package/dist/components/divider/divider.styles.js +8 -8
  8. package/dist/components/drawer/drawer.component.d.ts +8 -2
  9. package/dist/components/drawer/drawer.component.js +74 -54
  10. package/dist/components/drawer/drawer.styles.js +47 -40
  11. package/dist/components/input/input.component.js +1 -0
  12. package/dist/components/link/link.component.d.ts +15 -18
  13. package/dist/components/link/link.component.js +99 -108
  14. package/dist/components/link/link.styles.js +45 -45
  15. package/dist/components/loader/loader.component.d.ts +5 -1
  16. package/dist/components/loader/loader.component.js +43 -29
  17. package/dist/components/loader/loader.styles.js +5 -9
  18. package/dist/components/menu/menu-item.component.d.ts +1 -1
  19. package/dist/components/menu/menu-item.component.js +8 -8
  20. package/dist/components/menu/menu-item.styles.js +8 -5
  21. package/dist/components/menu/menu.component.d.ts +1 -1
  22. package/dist/components/menu/menu.component.js +8 -8
  23. package/dist/components/nav/nav-item.component.d.ts +4 -0
  24. package/dist/components/nav/nav-item.component.js +44 -25
  25. package/dist/components/nav/nav-item.styles.js +29 -25
  26. package/dist/components/nav/nav.component.d.ts +6 -0
  27. package/dist/components/nav/nav.component.js +42 -21
  28. package/dist/components/nav/nav.styles.js +15 -9
  29. package/dist/components/popover/popover.component.d.ts +4 -0
  30. package/dist/components/popover/popover.component.js +30 -22
  31. package/dist/components/progress/progress.component.d.ts +2 -0
  32. package/dist/components/progress/progress.component.js +38 -29
  33. package/dist/components/progress/progress.styles.js +3 -3
  34. package/dist/components/select/select-option-group.component.d.ts +4 -0
  35. package/dist/components/select/select-option-group.component.js +37 -18
  36. package/dist/components/select/select-option-group.style.js +12 -6
  37. package/dist/components/select/select-option.component.d.ts +6 -1
  38. package/dist/components/select/select-option.component.js +73 -53
  39. package/dist/components/select/select-option.styles.js +43 -31
  40. package/dist/components/select/select.component.d.ts +5 -1
  41. package/dist/components/select/select.component.js +47 -29
  42. package/dist/components/select/select.controllers.js +2 -1
  43. package/dist/components/select/select.styles.js +8 -2
  44. package/dist/components/stepper/stepper-item.component.d.ts +1 -1
  45. package/dist/components/stepper/stepper-item.component.js +26 -23
  46. package/dist/components/tabs/tab-panel.component.d.ts +1 -1
  47. package/dist/components/tabs/tab-panel.component.js +19 -16
  48. package/dist/components/tabs/tab.component.d.ts +1 -1
  49. package/dist/components/tabs/tab.component.js +17 -14
  50. package/dist/components/textarea/textarea.component.js +5 -4
  51. package/dist/components/toast/toast-item.styles.js +13 -10
  52. package/dist/components/toast/toast.component.js +9 -9
  53. package/dist/components/toast/toast.singleton.d.ts +1 -1
  54. package/dist/components/toast/toast.singleton.js +18 -18
  55. package/dist/components/tooltip/tooltip.component.d.ts +1 -0
  56. package/dist/components/tooltip/tooltip.component.js +10 -7
  57. package/dist/custom-elements.json +803 -704
  58. package/dist/index.d.ts +2 -2
  59. package/dist/index.js +20 -20
  60. package/dist/internal/base-classes/popover/popover.base.d.ts +3 -3
  61. package/dist/internal/base-classes/popover/popover.base.js +27 -26
  62. package/dist/internal/base-classes/popover/popover.styles.js +4 -5
  63. package/dist/internal/components/hint/hint.component.d.ts +4 -0
  64. package/dist/internal/components/hint/hint.component.js +47 -20
  65. package/dist/internal/components/hint/hint.styles.js +29 -25
  66. package/dist/internal/types.d.ts +4 -0
  67. package/dist/types/jsx/custom-element-jsx.d.ts +184 -81
  68. package/dist/types/vue/index.d.ts +77 -80
  69. package/dist/vscode.html-custom-data.json +93 -97
  70. package/dist/web-types.json +210 -215
  71. package/package.json +28 -28
@@ -15,13 +15,13 @@ import type { SkfDialog, CustomEvent } from "../../components/dialog/dialog.comp
15
15
  import type { SkfDivider } from "../../components/divider/divider.component.js";
16
16
  import type { SkfDrawer, CustomEvent } from "../../components/drawer/drawer.component.js";
17
17
  import type { SkfLogo } from "../../components/logo/logo.component.js";
18
+ import type { SkfLink, CustomEvent } from "../../components/link/link.component.js";
19
+ import type { SkfNavItem } from "../../components/nav-item/nav-item.component.js";
18
20
  import type { SkfNav } from "../../components/nav/nav.component.js";
19
21
  import type { SkfHeader } from "../../components/header/header.component.js";
20
22
  import type { SkfInput, CustomEvent } from "../../components/input/input.component.js";
21
- import type { SkfLink } from "../../components/link/link.component.js";
22
- import type { SkfMenuItem } from "../../components/menu-item/menu-item.component.js";
23
+ import type { SkfMenuItem, CustomEvent } from "../../components/menu-item/menu-item.component.js";
23
24
  import type { SkfMenu, CustomEvent } from "../../components/menu/menu.component.js";
24
- import type { SkfNavItem } from "../../components/nav-item/nav-item.component.js";
25
25
  import type { SkfPopover, CustomEvent } from "../../components/popover/popover.component.js";
26
26
  import type { SkfProgress } from "../../components/progress/progress.component.js";
27
27
  import type { SkfRadio, Event } from "../../components/radio/radio.component.js";
@@ -105,7 +105,113 @@ type BaseProps = {
105
105
  translate?: "yes" | "no";
106
106
  };
107
107
 
108
- type BaseEvents = {};
108
+ type BaseEvents = {
109
+ // Mouse Events
110
+
111
+ /** Triggered when the element is clicked by the user by mouse or keyboard. */
112
+ onClick?: (event: MouseEvent) => void;
113
+ /** Fired when the context menu is triggered, often by right-clicking. */
114
+ onContextMenu?: (event: MouseEvent) => void;
115
+ /** Fired when the element is double-clicked. */
116
+ onDoubleClick?: (event: MouseEvent) => void;
117
+ /** Fired repeatedly as the draggable element is being dragged. */
118
+ onDrag?: (event: DragEvent) => void;
119
+ /** Fired when the dragging of a draggable element is finished. */
120
+ onDragEnd?: (event: DragEvent) => void;
121
+ /** Fired when a dragged element or text selection enters a valid drop target. */
122
+ onDragEnter?: (event: DragEvent) => void;
123
+ /** Fired when a dragged element or text selection leaves a valid drop target. */
124
+ onDragExit?: (event: DragEvent) => void;
125
+ /** Fired when a dragged element or text selection leaves a valid drop target. */
126
+ onDragLeave?: (event: DragEvent) => void;
127
+ /** Fired when an element or text selection is being dragged over a valid drop target (every few hundred milliseconds). */
128
+ onDragOver?: (event: DragEvent) => void;
129
+ /** Fired when a draggable element starts being dragged. */
130
+ onDragStart?: (event: DragEvent) => void;
131
+ /** Fired when a dragged element is dropped onto a drop target. */
132
+ onDrop?: (event: DragEvent) => void;
133
+ /** Fired when a mouse button is pressed down on the element. */
134
+ onMouseDown?: (event: MouseEvent) => void;
135
+ /** Fired when the mouse cursor enters the element. */
136
+ onMouseEnter?: (event: MouseEvent) => void;
137
+ /** Triggered when the mouse cursor leaves the element. */
138
+ onMouseLeave?: (event: MouseEvent) => void;
139
+ /** Fired at an element when a pointing device (usually a mouse) is moved while the cursor's hotspot is inside it. */
140
+ onMouseMove?: (event: MouseEvent) => void;
141
+ /** Fired at an Element when a pointing device (usually a mouse) is used to move the cursor so that it is no longer contained within the element or one of its children. */
142
+ onMouseOut?: (event: MouseEvent) => void;
143
+ /** Fired at an Element when a pointing device (such as a mouse or trackpad) is used to move the cursor onto the element or one of its child elements. */
144
+ onMouseOver?: (event: MouseEvent) => void;
145
+ /** Fired when a mouse button is released on the element. */
146
+ onMouseUp?: (event: MouseEvent) => void;
147
+
148
+ // Keyboard Events
149
+
150
+ /** Fired when a key is pressed down. */
151
+ onKeyDown?: (event: KeyboardEvent) => void;
152
+ /** Fired when a key is released.. */
153
+ onKeyUp?: (event: KeyboardEvent) => void;
154
+ /** Fired when a key is pressed down. */
155
+ onKeyPressed?: (event: KeyboardEvent) => void;
156
+
157
+ // Focus Events
158
+
159
+ /** Fired when the element receives focus, often triggered by tab navigation. */
160
+ onFocus?: (event: FocusEvent) => void;
161
+ /** Fired when the element loses focus. */
162
+ onBlur?: (event: FocusEvent) => void;
163
+
164
+ // Form Events
165
+
166
+ /** Fired when the value of an input element changes, such as with text inputs or select elements. */
167
+ onChange?: (event: Event) => void;
168
+ /** Fires when the value of an <input>, <select>, or <textarea> element has been changed. */
169
+ onInput?: (event: Event) => void;
170
+ /** Fired when a form is submitted, usually on pressing Enter in a text input. */
171
+ onSubmit?: (event: Event) => void;
172
+ /** Fired when a form is reset. */
173
+ onReset?: (event: Event) => void;
174
+
175
+ // UI Events
176
+
177
+ /** Fired when the content of an element is scrolled. */
178
+ onScroll?: (event: UIEvent) => void;
179
+
180
+ // Wheel Events
181
+
182
+ /** Fired when the mouse wheel is scrolled while the element is focused. */
183
+ onWheel?: (event: WheelEvent) => void;
184
+
185
+ // Animation Events
186
+
187
+ /** Fired when a CSS animation starts. */
188
+ onAnimationStart?: (event: AnimationEvent) => void;
189
+ /** Fired when a CSS animation completes. */
190
+ onAnimationEnd?: (event: AnimationEvent) => void;
191
+ /** Fired when a CSS animation completes one iteration. */
192
+ onAnimationIteration?: (event: AnimationEvent) => void;
193
+
194
+ // Transition Events
195
+
196
+ /** Fired when a CSS transition has completed. */
197
+ onTransitionEnd?: (event: TransitionEvent) => void;
198
+
199
+ // Media Events
200
+
201
+ /** Fired when an element (usually an image) finishes loading */
202
+ onLoad?: (event: Event) => void;
203
+ /** Fired when an error occurs during the loading of an element, like an image not being found. */
204
+ onError?: (event: Event) => void;
205
+
206
+ // Clipboard Events
207
+
208
+ /** Fires when the user initiates a copy action through the browser's user interface. */
209
+ onCopy?: (event: ClipboardEvent) => void;
210
+ /** Fired when the user has initiated a "cut" action through the browser's user interface. */
211
+ onCut?: (event: ClipboardEvent) => void;
212
+ /** Fired when the user has initiated a "paste" action through the browser's user interface. */
213
+ onPaste?: (event: ClipboardEvent) => void;
214
+ };
109
215
 
110
216
  export type SkfIconProps = {
111
217
  /** Sets the color of the icon */
@@ -389,8 +495,45 @@ export type SkfLogoProps = {
389
495
  color?: SkfLogo["color"];
390
496
  };
391
497
 
392
- export type SkfNavProps = {
498
+ export type SkfLinkProps = {
499
+ /** Defines the semantic element to render */
500
+ as?: SkfLink["as"];
501
+ /** Defines the text-color */
502
+ color?: SkfLink["color"];
503
+ /** If true, disables the link */
504
+ disabled?: SkfLink["disabled"];
505
+ /** If defined, downloads the url */
506
+ download?: SkfLink["download"];
507
+ /** If defined, loads url on click */
508
+ href?: SkfLink["href"];
509
+ /** If defined, renders an icon before or after the text */
510
+ icon?: SkfLink["icon"];
511
+ /** If true, the icon is placed to the right in relation to the text */
512
+ "icon-right"?: SkfLink["iconRight"];
513
+ /** If defined, describes the relationship between a linked resource and the current document */
514
+ rel?: SkfLink["rel"];
515
+ /** If defined, used on conjunction with onClick property. **Notice!** Only applicable to as=button. */
516
+ route?: SkfLink["route"];
517
+ /** If true, fills the parents horizontal axis */
518
+ stretch?: SkfLink["stretch"];
519
+ /** If defined, specifies where to open the linked document */
520
+ target?: SkfLink["target"];
521
+
522
+ /** Fired when the link is clicked */
523
+ "onskf-link-click"?: (e: CustomEvent<CustomEvent>) => void;
524
+ };
525
+
526
+ export type SkfNavItemProps = {
393
527
  /** */
528
+ href?: SkfNavItem["href"];
529
+ /** */
530
+ icon?: SkfNavItem["icon"];
531
+ /** */
532
+ vertical?: SkfNavItem["vertical"];
533
+ };
534
+
535
+ export type SkfNavProps = {
536
+ /** If true, the navigation will be displayed vertically */
394
537
  vertical?: SkfNav["vertical"];
395
538
  };
396
539
 
@@ -473,35 +616,6 @@ export type SkfInputProps = {
473
616
  oninvalid?: (e: CustomEvent<CustomEvent>) => void;
474
617
  };
475
618
 
476
- export type SkfLinkProps = {
477
- /** Defines the semantic element to render */
478
- as?: SkfLink["as"];
479
- /** Defines the text-color */
480
- color?: SkfLink["color"];
481
- /** If true, disables the link */
482
- disabled?: SkfLink["disabled"];
483
- /** If defined, downloads the url */
484
- download?: SkfLink["download"];
485
- /** If defined, loads url on click */
486
- href?: SkfLink["href"];
487
- /** If defined, renders an icon before or after the text */
488
- icon?: SkfLink["icon"];
489
- /** Defines the position of the icon in relation to the text */
490
- "icon-placement"?: SkfLink["iconPlacement"];
491
- /** If defined, describes the relationship between a linked resource and the current document */
492
- rel?: SkfLink["rel"];
493
- /** If defined, used on conjunction with onClick property, second argument */
494
- route?: SkfLink["route"];
495
- /** If true, fills the parents horizontal axis */
496
- stretch?: SkfLink["stretch"];
497
- /** If defined, specifies where to open the linked document */
498
- target?: SkfLink["target"];
499
- /** Defines the type of button */
500
- type?: SkfLink["type"];
501
- /** If defined, accepts a function that runs on click. Forwards optional route as second argument. */
502
- onClick?: SkfLink["onClick"];
503
- };
504
-
505
619
  export type SkfMenuItemProps = {
506
620
  /** Defines the semantic element to render */
507
621
  as?: SkfMenuItem["as"];
@@ -515,22 +629,19 @@ export type SkfMenuItemProps = {
515
629
  href?: SkfMenuItem["href"];
516
630
  /** If defined, renders an icon before or after the text */
517
631
  icon?: SkfMenuItem["icon"];
518
- /** Defines the position of the icon in relation to the text */
519
- "icon-placement"?: SkfMenuItem["iconPlacement"];
632
+ /** If true, the icon is placed to the right in relation to the text */
633
+ "icon-right"?: SkfMenuItem["iconRight"];
520
634
  /** If defined, describes the relationship between a linked resource and the current document */
521
635
  rel?: SkfMenuItem["rel"];
522
- /** If defined, used on conjunction with onClick property, second argument */
636
+ /** If defined, used on conjunction with onClick property. **Notice!** Only applicable to as=button. */
523
637
  route?: SkfMenuItem["route"];
524
638
  /** If true, fills the parents horizontal axis */
525
639
  stretch?: SkfMenuItem["stretch"];
526
640
  /** If defined, specifies where to open the linked document */
527
641
  target?: SkfMenuItem["target"];
528
- /** Defines the type of button */
529
- type?: SkfMenuItem["type"];
530
- /** */
531
- role?: SkfMenuItem["role"];
532
- /** If defined, accepts a function that runs on click. Forwards optional route as second argument. */
533
- onClick?: SkfMenuItem["onClick"];
642
+
643
+ /** Fired when the link is clicked */
644
+ "onskf-link-click"?: (e: CustomEvent<CustomEvent>) => void;
534
645
  };
535
646
 
536
647
  export type SkfMenuProps = {
@@ -545,13 +656,6 @@ export type SkfMenuProps = {
545
656
  "onskf-closed"?: (e: CustomEvent<CustomEvent>) => void;
546
657
  };
547
658
 
548
- export type SkfNavItemProps = {
549
- /** */
550
- href?: SkfNavItem["href"];
551
- /** */
552
- icon?: SkfNavItem["icon"];
553
- };
554
-
555
659
  export type SkfPopoverProps = {
556
660
  /** The placement of the popover */
557
661
  placement?: SkfPopover["undefined"];
@@ -627,6 +731,8 @@ export type SkfSegmentedButtonProps = {
627
731
  export type SkfSelectOptionGroupProps = {
628
732
  /** */
629
733
  label?: SkfSelectOptionGroup["label"];
734
+ /** */
735
+ small?: SkfSelectOptionGroup["small"];
630
736
  };
631
737
 
632
738
  export type SkfTagProps = {
@@ -713,9 +819,7 @@ export type SkfSelectOptionProps = {
713
819
  /** The option's label text (equivalent to the tags textContent) */
714
820
  text?: SkfSelectOption["text"];
715
821
  /** */
716
- role?: SkfSelectOption["role"];
717
- /** */
718
- _parent?: SkfSelectOption["_parent"];
822
+ small?: SkfSelectOption["small"];
719
823
  /** */
720
824
  _shortcutUpdate?: SkfSelectOption["_shortcutUpdate"];
721
825
  /** {detail: { value: string | null, option: SkfSelectOption }} Fires when the option is selected/deselected. */
@@ -729,8 +833,6 @@ export type SkfStepperItemProps = {
729
833
  completed?: SkfStepperItem["completed"];
730
834
  /** */
731
835
  _setInternalState?: SkfStepperItem["_setInternalState"];
732
- /** */
733
- role?: SkfStepperItem["role"];
734
836
  /** Dispatched when the stepper item is selected */
735
837
  "onskf-stepper-item-select"?: (e: CustomEvent<never>) => void;
736
838
  };
@@ -773,8 +875,6 @@ export type SkfTabPanelProps = {
773
875
  name?: SkfTabPanel["name"];
774
876
  /** */
775
877
  active?: SkfTabPanel["active"];
776
- /** */
777
- role?: SkfTabPanel["role"];
778
878
  };
779
879
 
780
880
  export type SkfTabsProps = {
@@ -797,8 +897,6 @@ export type SkfTabProps = {
797
897
  selected?: SkfTab["selected"];
798
898
  /** */
799
899
  variant?: SkfTab["variant"];
800
- /** */
801
- role?: SkfTab["role"];
802
900
  /** {detail: { selected: true, tab: SkfTab }} Fires when the tab is selected */
803
901
  "onskf-tab-select"?: (e: CustomEvent<CustomEvent>) => void;
804
902
  /** Fired when the component is clicked */
@@ -879,8 +977,6 @@ export type SkfTooltipProps = {
879
977
  /** The id of the element the dropdown will be anchored to */
880
978
  anchor?: SkfTooltip["undefined"];
881
979
  /** */
882
- role?: SkfTooltip["role"];
883
- /** */
884
980
  offset?: SkfTooltip["offset"];
885
981
  /** */
886
982
  placement?: SkfTooltip["placement"];
@@ -1111,6 +1207,30 @@ export type CustomElements = {
1111
1207
  */
1112
1208
  "skf-logo": Partial<SkfLogoProps & BaseProps & BaseEvents>;
1113
1209
 
1210
+ /**
1211
+ * The `<skf-link>` can be used as either a regular link or a semantic button. The button variant is
1212
+ * intended to be used for triggering javascript functions, not handling forms.
1213
+ * ---
1214
+ *
1215
+ *
1216
+ * ### **Events:**
1217
+ * - **skf-link-click** - Fired when the link is clicked
1218
+ *
1219
+ * ### **Slots:**
1220
+ * - _default_ - The links' main content
1221
+ */
1222
+ "skf-link": Partial<SkfLinkProps & BaseProps & BaseEvents>;
1223
+
1224
+ /**
1225
+ * The `<skf-nav>` is a component that displays a list of <nav-items>.
1226
+ * ---
1227
+ *
1228
+ *
1229
+ * ### **Slots:**
1230
+ * - _default_ - The component's main content
1231
+ */
1232
+ "skf-nav-item": Partial<SkfNavItemProps & BaseProps & BaseEvents>;
1233
+
1114
1234
  /**
1115
1235
  * The `<skf-nav>` is a component that displays a list of <nav-items>.
1116
1236
  * ---
@@ -1147,21 +1267,14 @@ export type CustomElements = {
1147
1267
  */
1148
1268
  "skf-input": Partial<SkfInputProps & BaseProps & BaseEvents>;
1149
1269
 
1150
- /**
1151
- * The `<skf-link>` can be used as either a regular link or a link styled semantic button
1152
- * ---
1153
- *
1154
- *
1155
- * ### **Slots:**
1156
- * - _default_ - The links' main content
1157
- */
1158
- "skf-link": Partial<SkfLinkProps & BaseProps & BaseEvents>;
1159
-
1160
1270
  /**
1161
1271
  * The `<skf-menu-item>` is used in conjunction with the `<skf-menu>` component
1162
1272
  * ---
1163
1273
  *
1164
1274
  *
1275
+ * ### **Events:**
1276
+ * - **skf-link-click** - Fired when the link is clicked
1277
+ *
1165
1278
  * ### **Slots:**
1166
1279
  * - _default_ - The component's main content
1167
1280
  */
@@ -1183,16 +1296,6 @@ export type CustomElements = {
1183
1296
  */
1184
1297
  "skf-menu": Partial<SkfMenuProps & BaseProps & BaseEvents>;
1185
1298
 
1186
- /**
1187
- * The `<skf-nav>` is a component that displays a list of <nav-items>.
1188
- * ---
1189
- *
1190
- *
1191
- * ### **Slots:**
1192
- * - _default_ - The component's main content
1193
- */
1194
- "skf-nav-item": Partial<SkfNavItemProps & BaseProps & BaseEvents>;
1195
-
1196
1299
  /**
1197
1300
  * The `<skf-popover>` is a general purpose component that displays the slot content in a popover.
1198
1301
  *
@@ -17,13 +17,13 @@ import type { SkfDialog, CustomEvent } from "../../components/dialog/dialog.comp
17
17
  import type { SkfDivider } from "../../components/divider/divider.component.js";
18
18
  import type { SkfDrawer, CustomEvent } from "../../components/drawer/drawer.component.js";
19
19
  import type { SkfLogo } from "../../components/logo/logo.component.js";
20
+ import type { SkfLink, CustomEvent } from "../../components/link/link.component.js";
21
+ import type { SkfNavItem } from "../../components/nav-item/nav-item.component.js";
20
22
  import type { SkfNav } from "../../components/nav/nav.component.js";
21
23
  import type { SkfHeader } from "../../components/header/header.component.js";
22
24
  import type { SkfInput, CustomEvent } from "../../components/input/input.component.js";
23
- import type { SkfLink } from "../../components/link/link.component.js";
24
- import type { SkfMenuItem } from "../../components/menu-item/menu-item.component.js";
25
+ import type { SkfMenuItem, CustomEvent } from "../../components/menu-item/menu-item.component.js";
25
26
  import type { SkfMenu, CustomEvent } from "../../components/menu/menu.component.js";
26
- import type { SkfNavItem } from "../../components/nav-item/nav-item.component.js";
27
27
  import type { SkfPopover, CustomEvent } from "../../components/popover/popover.component.js";
28
28
  import type { SkfProgress } from "../../components/progress/progress.component.js";
29
29
  import type { SkfRadio, Event } from "../../components/radio/radio.component.js";
@@ -329,8 +329,45 @@ type SkfLogoProps = {
329
329
  color?: SkfLogo["color"];
330
330
  };
331
331
 
332
- type SkfNavProps = {
332
+ type SkfLinkProps = {
333
+ /** Defines the semantic element to render */
334
+ as?: SkfLink["as"];
335
+ /** Defines the text-color */
336
+ color?: SkfLink["color"];
337
+ /** If true, disables the link */
338
+ disabled?: SkfLink["disabled"];
339
+ /** If defined, downloads the url */
340
+ download?: SkfLink["download"];
341
+ /** If defined, loads url on click */
342
+ href?: SkfLink["href"];
343
+ /** If defined, renders an icon before or after the text */
344
+ icon?: SkfLink["icon"];
345
+ /** If true, the icon is placed to the right in relation to the text */
346
+ "icon-right"?: SkfLink["iconRight"];
347
+ /** If defined, describes the relationship between a linked resource and the current document */
348
+ rel?: SkfLink["rel"];
349
+ /** If defined, used on conjunction with onClick property. **Notice!** Only applicable to as=button. */
350
+ route?: SkfLink["route"];
351
+ /** If true, fills the parents horizontal axis */
352
+ stretch?: SkfLink["stretch"];
353
+ /** If defined, specifies where to open the linked document */
354
+ target?: SkfLink["target"];
355
+
356
+ /** Fired when the link is clicked */
357
+ "onskf-link-click"?: (e: CustomEvent<CustomEvent>) => void;
358
+ };
359
+
360
+ type SkfNavItemProps = {
361
+ /** */
362
+ href?: SkfNavItem["href"];
333
363
  /** */
364
+ icon?: SkfNavItem["icon"];
365
+ /** */
366
+ vertical?: SkfNavItem["vertical"];
367
+ };
368
+
369
+ type SkfNavProps = {
370
+ /** If true, the navigation will be displayed vertically */
334
371
  vertical?: SkfNav["vertical"];
335
372
  };
336
373
 
@@ -413,35 +450,6 @@ type SkfInputProps = {
413
450
  oninvalid?: (e: CustomEvent<CustomEvent>) => void;
414
451
  };
415
452
 
416
- type SkfLinkProps = {
417
- /** Defines the semantic element to render */
418
- as?: SkfLink["as"];
419
- /** Defines the text-color */
420
- color?: SkfLink["color"];
421
- /** If true, disables the link */
422
- disabled?: SkfLink["disabled"];
423
- /** If defined, downloads the url */
424
- download?: SkfLink["download"];
425
- /** If defined, loads url on click */
426
- href?: SkfLink["href"];
427
- /** If defined, renders an icon before or after the text */
428
- icon?: SkfLink["icon"];
429
- /** Defines the position of the icon in relation to the text */
430
- "icon-placement"?: SkfLink["iconPlacement"];
431
- /** If defined, describes the relationship between a linked resource and the current document */
432
- rel?: SkfLink["rel"];
433
- /** If defined, used on conjunction with onClick property, second argument */
434
- route?: SkfLink["route"];
435
- /** If true, fills the parents horizontal axis */
436
- stretch?: SkfLink["stretch"];
437
- /** If defined, specifies where to open the linked document */
438
- target?: SkfLink["target"];
439
- /** Defines the type of button */
440
- type?: SkfLink["type"];
441
- /** If defined, accepts a function that runs on click. Forwards optional route as second argument. */
442
- onClick?: SkfLink["onClick"];
443
- };
444
-
445
453
  type SkfMenuItemProps = {
446
454
  /** Defines the semantic element to render */
447
455
  as?: SkfMenuItem["as"];
@@ -455,22 +463,19 @@ type SkfMenuItemProps = {
455
463
  href?: SkfMenuItem["href"];
456
464
  /** If defined, renders an icon before or after the text */
457
465
  icon?: SkfMenuItem["icon"];
458
- /** Defines the position of the icon in relation to the text */
459
- "icon-placement"?: SkfMenuItem["iconPlacement"];
466
+ /** If true, the icon is placed to the right in relation to the text */
467
+ "icon-right"?: SkfMenuItem["iconRight"];
460
468
  /** If defined, describes the relationship between a linked resource and the current document */
461
469
  rel?: SkfMenuItem["rel"];
462
- /** If defined, used on conjunction with onClick property, second argument */
470
+ /** If defined, used on conjunction with onClick property. **Notice!** Only applicable to as=button. */
463
471
  route?: SkfMenuItem["route"];
464
472
  /** If true, fills the parents horizontal axis */
465
473
  stretch?: SkfMenuItem["stretch"];
466
474
  /** If defined, specifies where to open the linked document */
467
475
  target?: SkfMenuItem["target"];
468
- /** Defines the type of button */
469
- type?: SkfMenuItem["type"];
470
- /** */
471
- role?: SkfMenuItem["role"];
472
- /** If defined, accepts a function that runs on click. Forwards optional route as second argument. */
473
- onClick?: SkfMenuItem["onClick"];
476
+
477
+ /** Fired when the link is clicked */
478
+ "onskf-link-click"?: (e: CustomEvent<CustomEvent>) => void;
474
479
  };
475
480
 
476
481
  type SkfMenuProps = {
@@ -485,13 +490,6 @@ type SkfMenuProps = {
485
490
  "onskf-closed"?: (e: CustomEvent<CustomEvent>) => void;
486
491
  };
487
492
 
488
- type SkfNavItemProps = {
489
- /** */
490
- href?: SkfNavItem["href"];
491
- /** */
492
- icon?: SkfNavItem["icon"];
493
- };
494
-
495
493
  type SkfPopoverProps = {
496
494
  /** The placement of the popover */
497
495
  placement?: SkfPopover["undefined"];
@@ -567,6 +565,8 @@ type SkfSegmentedButtonProps = {
567
565
  type SkfSelectOptionGroupProps = {
568
566
  /** */
569
567
  label?: SkfSelectOptionGroup["label"];
568
+ /** */
569
+ small?: SkfSelectOptionGroup["small"];
570
570
  };
571
571
 
572
572
  type SkfTagProps = {
@@ -653,9 +653,7 @@ type SkfSelectOptionProps = {
653
653
  /** The option's label text (equivalent to the tags textContent) */
654
654
  text?: SkfSelectOption["text"];
655
655
  /** */
656
- role?: SkfSelectOption["role"];
657
- /** */
658
- _parent?: SkfSelectOption["_parent"];
656
+ small?: SkfSelectOption["small"];
659
657
  /** */
660
658
  _shortcutUpdate?: SkfSelectOption["_shortcutUpdate"];
661
659
  /** {detail: { value: string | null, option: SkfSelectOption }} Fires when the option is selected/deselected. */
@@ -669,8 +667,6 @@ type SkfStepperItemProps = {
669
667
  completed?: SkfStepperItem["completed"];
670
668
  /** */
671
669
  _setInternalState?: SkfStepperItem["_setInternalState"];
672
- /** */
673
- role?: SkfStepperItem["role"];
674
670
  /** Dispatched when the stepper item is selected */
675
671
  "onskf-stepper-item-select"?: (e: CustomEvent<never>) => void;
676
672
  };
@@ -713,8 +709,6 @@ type SkfTabPanelProps = {
713
709
  name?: SkfTabPanel["name"];
714
710
  /** */
715
711
  active?: SkfTabPanel["active"];
716
- /** */
717
- role?: SkfTabPanel["role"];
718
712
  };
719
713
 
720
714
  type SkfTabsProps = {
@@ -737,8 +731,6 @@ type SkfTabProps = {
737
731
  selected?: SkfTab["selected"];
738
732
  /** */
739
733
  variant?: SkfTab["variant"];
740
- /** */
741
- role?: SkfTab["role"];
742
734
  /** {detail: { selected: true, tab: SkfTab }} Fires when the tab is selected */
743
735
  "onskf-tab-select"?: (e: CustomEvent<CustomEvent>) => void;
744
736
  /** Fired when the component is clicked */
@@ -819,8 +811,6 @@ type SkfTooltipProps = {
819
811
  /** The id of the element the dropdown will be anchored to */
820
812
  anchor?: SkfTooltip["undefined"];
821
813
  /** */
822
- role?: SkfTooltip["role"];
823
- /** */
824
814
  offset?: SkfTooltip["offset"];
825
815
  /** */
826
816
  placement?: SkfTooltip["placement"];
@@ -1051,6 +1041,30 @@ export type CustomElements = {
1051
1041
  */
1052
1042
  "skf-logo": DefineComponent<SkfLogoProps>;
1053
1043
 
1044
+ /**
1045
+ * The `<skf-link>` can be used as either a regular link or a semantic button. The button variant is
1046
+ * intended to be used for triggering javascript functions, not handling forms.
1047
+ * ---
1048
+ *
1049
+ *
1050
+ * ### **Events:**
1051
+ * - **skf-link-click** - Fired when the link is clicked
1052
+ *
1053
+ * ### **Slots:**
1054
+ * - _default_ - The links' main content
1055
+ */
1056
+ "skf-link": DefineComponent<SkfLinkProps>;
1057
+
1058
+ /**
1059
+ * The `<skf-nav>` is a component that displays a list of <nav-items>.
1060
+ * ---
1061
+ *
1062
+ *
1063
+ * ### **Slots:**
1064
+ * - _default_ - The component's main content
1065
+ */
1066
+ "skf-nav-item": DefineComponent<SkfNavItemProps>;
1067
+
1054
1068
  /**
1055
1069
  * The `<skf-nav>` is a component that displays a list of <nav-items>.
1056
1070
  * ---
@@ -1087,21 +1101,14 @@ export type CustomElements = {
1087
1101
  */
1088
1102
  "skf-input": DefineComponent<SkfInputProps>;
1089
1103
 
1090
- /**
1091
- * The `<skf-link>` can be used as either a regular link or a link styled semantic button
1092
- * ---
1093
- *
1094
- *
1095
- * ### **Slots:**
1096
- * - _default_ - The links' main content
1097
- */
1098
- "skf-link": DefineComponent<SkfLinkProps>;
1099
-
1100
1104
  /**
1101
1105
  * The `<skf-menu-item>` is used in conjunction with the `<skf-menu>` component
1102
1106
  * ---
1103
1107
  *
1104
1108
  *
1109
+ * ### **Events:**
1110
+ * - **skf-link-click** - Fired when the link is clicked
1111
+ *
1105
1112
  * ### **Slots:**
1106
1113
  * - _default_ - The component's main content
1107
1114
  */
@@ -1123,16 +1130,6 @@ export type CustomElements = {
1123
1130
  */
1124
1131
  "skf-menu": DefineComponent<SkfMenuProps>;
1125
1132
 
1126
- /**
1127
- * The `<skf-nav>` is a component that displays a list of <nav-items>.
1128
- * ---
1129
- *
1130
- *
1131
- * ### **Slots:**
1132
- * - _default_ - The component's main content
1133
- */
1134
- "skf-nav-item": DefineComponent<SkfNavItemProps>;
1135
-
1136
1133
  /**
1137
1134
  * The `<skf-popover>` is a general purpose component that displays the slot content in a popover.
1138
1135
  *