@skf-design-system/ui-components 1.0.1-beta.1 → 1.0.2-beta.1

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 (299) hide show
  1. package/README.md +13 -26
  2. package/dist/components/accordion/accordion-item.component.d.ts +36 -0
  3. package/dist/components/accordion/accordion-item.component.js +87 -0
  4. package/dist/components/accordion/accordion-item.d.ts +3 -3
  5. package/dist/components/accordion/accordion-item.js +4 -5
  6. package/dist/components/accordion/accordion-item.styles.js +77 -0
  7. package/dist/components/accordion/accordion.component.d.ts +9 -13
  8. package/dist/components/accordion/accordion.component.js +12 -13
  9. package/dist/components/accordion/accordion.d.ts +0 -1
  10. package/dist/components/accordion/accordion.js +0 -2
  11. package/dist/components/alert/alert.component.d.ts +6 -10
  12. package/dist/components/alert/alert.component.js +15 -16
  13. package/dist/components/alert/alert.styles.js +0 -5
  14. package/dist/components/breadcrumb/breadcrumb-item.component.js +61 -0
  15. package/dist/components/breadcrumb/breadcrumb-item.js +6 -0
  16. package/dist/components/breadcrumb/breadcrumb-item.styles.js +62 -0
  17. package/dist/components/breadcrumb/breadcrumb.component.d.ts +2 -2
  18. package/dist/components/breadcrumb/breadcrumb.component.js +60 -0
  19. package/dist/components/breadcrumb/breadcrumb.js +6 -0
  20. package/dist/components/breadcrumb/breadcrumb.styles.js +22 -0
  21. package/dist/components/button/button.component.d.ts +13 -10
  22. package/dist/components/button/button.component.js +83 -76
  23. package/dist/components/button/button.styles.d.ts +1 -2
  24. package/dist/components/button/button.styles.js +1 -1
  25. package/dist/components/card/card.component.d.ts +1 -1
  26. package/dist/components/card/card.component.js +18 -30
  27. package/dist/components/card/card.styles.js +25 -28
  28. package/dist/components/checkbox/checkbox.component.d.ts +16 -14
  29. package/dist/components/checkbox/checkbox.component.js +5 -5
  30. package/dist/components/checkbox/checkbox.styles.d.ts +1 -2
  31. package/dist/components/checkbox/checkbox.styles.js +1 -5
  32. package/dist/components/date-picker/datepicker.calendar.component.d.ts +5 -0
  33. package/dist/components/date-picker/datepicker.calendar.component.js +128 -95
  34. package/dist/components/date-picker/datepicker.calendar.styles.js +35 -25
  35. package/dist/components/date-picker/datepicker.component.d.ts +5 -0
  36. package/dist/components/date-picker/datepicker.component.js +117 -97
  37. package/dist/components/date-picker/datepicker.helpers.d.ts +3 -2
  38. package/dist/components/date-picker/datepicker.helpers.js +46 -39
  39. package/dist/components/date-picker/datepicker.styles.js +14 -26
  40. package/dist/components/date-picker-input/datepicker-input.component.d.ts +14 -5
  41. package/dist/components/date-picker-input/datepicker-input.component.js +264 -219
  42. package/dist/components/date-picker-input/datepicker-input.helpers.d.ts +36 -2
  43. package/dist/components/date-picker-input/datepicker-input.helpers.js +25 -23
  44. package/dist/components/date-picker-input/datepicker-input.styles.js +6 -10
  45. package/dist/components/dialog/dialog.component.d.ts +20 -29
  46. package/dist/components/dialog/dialog.component.js +85 -75
  47. package/dist/components/dialog/dialog.styles.js +4 -4
  48. package/dist/components/divider/divider.component.d.ts +4 -8
  49. package/dist/components/divider/divider.component.js +24 -46
  50. package/dist/components/divider/divider.styles.js +34 -30
  51. package/dist/components/drawer/drawer.component.d.ts +61 -0
  52. package/dist/components/drawer/drawer.component.js +125 -0
  53. package/dist/components/drawer/drawer.d.ts +8 -0
  54. package/dist/components/drawer/drawer.js +6 -0
  55. package/dist/components/drawer/drawer.styles.js +71 -0
  56. package/dist/components/header/header.component.d.ts +46 -0
  57. package/dist/components/header/header.component.js +116 -0
  58. package/dist/components/header/header.d.ts +8 -0
  59. package/dist/components/header/header.js +6 -0
  60. package/dist/components/header/header.styles.js +68 -0
  61. package/dist/components/heading/heading.component.d.ts +3 -11
  62. package/dist/components/heading/heading.component.js +24 -23
  63. package/dist/components/heading/heading.styles.d.ts +1 -2
  64. package/dist/components/heading/heading.styles.js +1 -1
  65. package/dist/components/icon/icon.component.d.ts +11 -17
  66. package/dist/components/icon/icon.component.js +2 -2
  67. package/dist/components/icon/icon.styles.d.ts +1 -2
  68. package/dist/components/icon/icon.styles.js +1 -1
  69. package/dist/components/input/input.component.d.ts +30 -31
  70. package/dist/components/input/input.component.js +138 -125
  71. package/dist/components/input/input.controllers.d.ts +20 -6
  72. package/dist/components/input/input.controllers.js +14 -10
  73. package/dist/components/link/link.component.d.ts +12 -14
  74. package/dist/components/link/link.component.js +35 -34
  75. package/dist/components/link/link.styles.d.ts +1 -2
  76. package/dist/components/link/link.styles.js +24 -20
  77. package/dist/components/loader/loader.component.d.ts +1 -1
  78. package/dist/components/loader/loader.component.js +36 -40
  79. package/dist/components/loader/loader.styles.d.ts +1 -2
  80. package/dist/components/loader/loader.styles.js +40 -32
  81. package/dist/components/logo/logo.component.d.ts +4 -5
  82. package/dist/components/logo/logo.component.js +1 -1
  83. package/dist/components/menu/menu-item.component.d.ts +13 -0
  84. package/dist/components/{menu-item → menu}/menu-item.component.js +3 -3
  85. package/dist/components/menu/menu.component.d.ts +10 -8
  86. package/dist/components/menu/menu.component.js +8 -10
  87. package/dist/components/nav/nav-item.component.d.ts +18 -0
  88. package/dist/components/nav/nav-item.component.js +38 -0
  89. package/dist/components/nav/nav-item.d.ts +8 -0
  90. package/dist/components/nav/nav-item.js +6 -0
  91. package/dist/components/nav/nav-item.styles.js +39 -0
  92. package/dist/components/nav/nav.component.d.ts +17 -0
  93. package/dist/components/nav/nav.component.js +34 -0
  94. package/dist/components/nav/nav.d.ts +8 -0
  95. package/dist/components/nav/nav.js +6 -0
  96. package/dist/components/nav/nav.styles.d.ts +1 -0
  97. package/dist/components/nav/nav.styles.js +17 -0
  98. package/dist/components/popover/popover.component.d.ts +11 -8
  99. package/dist/components/popover/popover.component.js +24 -26
  100. package/dist/components/progress/progress.component.d.ts +2 -2
  101. package/dist/components/progress/progress.component.js +31 -37
  102. package/dist/components/progress/progress.styles.js +40 -35
  103. package/dist/components/radio/radio.component.d.ts +19 -13
  104. package/dist/components/radio/radio.component.js +12 -12
  105. package/dist/components/radio/radio.styles.d.ts +1 -2
  106. package/dist/components/radio/radio.styles.js +1 -1
  107. package/dist/components/segmented-button/segmented-button-item.component.d.ts +36 -0
  108. package/dist/components/segmented-button/segmented-button-item.component.js +56 -0
  109. package/dist/components/segmented-button/segmented-button-item.d.ts +8 -0
  110. package/dist/components/segmented-button/segmented-button-item.js +6 -0
  111. package/dist/components/segmented-button/segmented-button-item.styles.d.ts +1 -0
  112. package/dist/components/segmented-button/segmented-button-item.styles.js +62 -0
  113. package/dist/components/segmented-button/segmented-button.component.d.ts +30 -0
  114. package/dist/components/segmented-button/segmented-button.component.js +73 -0
  115. package/dist/components/segmented-button/segmented-button.d.ts +8 -0
  116. package/dist/components/segmented-button/segmented-button.js +6 -0
  117. package/dist/components/segmented-button/segmented-button.styles.d.ts +1 -0
  118. package/dist/components/segmented-button/segmented-button.styles.js +16 -0
  119. package/dist/components/{select-option-group → select}/select-option-group.component.js +1 -1
  120. package/dist/components/select/select-option-group.style.d.ts +1 -0
  121. package/dist/components/{select-option → select}/select-option.component.d.ts +7 -8
  122. package/dist/components/{select-option → select}/select-option.component.js +15 -15
  123. package/dist/components/select/select-option.controllers.d.ts +15 -0
  124. package/dist/components/select/select-option.styles.d.ts +1 -0
  125. package/dist/components/select/select.component.d.ts +16 -15
  126. package/dist/components/select/select.component.js +19 -19
  127. package/dist/components/select/select.controllers.d.ts +21 -10
  128. package/dist/components/select/select.controllers.js +31 -23
  129. package/dist/components/select/select.stories.icons.d.ts +7 -0
  130. package/dist/components/{stepper-item → stepper}/stepper-item.component.js +8 -8
  131. package/dist/components/stepper/stepper-item.styles.d.ts +1 -0
  132. package/dist/components/stepper/stepper.component.d.ts +4 -3
  133. package/dist/components/stepper/stepper.component.js +15 -15
  134. package/dist/components/stepper/stepper.helpers.d.ts +1 -1
  135. package/dist/components/switch/switch.component.d.ts +7 -6
  136. package/dist/components/switch/switch.component.js +21 -21
  137. package/dist/components/tab/tab.component.js +1 -1
  138. package/dist/components/tab-group/tab-group.component.js +1 -1
  139. package/dist/components/tab-panel/tab-panel.component.js +1 -1
  140. package/dist/components/tag/tag.component.d.ts +14 -16
  141. package/dist/components/tag/tag.component.js +36 -39
  142. package/dist/components/textarea/textarea.component.d.ts +10 -11
  143. package/dist/components/textarea/textarea.component.js +65 -67
  144. package/dist/components/{toast-item → toast}/toast-item.d.ts +2 -0
  145. package/dist/components/{toast-item → toast}/toast-item.js +4 -0
  146. package/dist/components/{toast-wrapper → toast}/toast-wrapper.component.js +1 -1
  147. package/dist/components/toast/toast-wrapper.styles.d.ts +1 -0
  148. package/dist/components/toast/toast.component.d.ts +6 -5
  149. package/dist/components/toast/toast.component.js +15 -15
  150. package/dist/components/toast/toast.singleton.d.ts +4 -4
  151. package/dist/components/toast/toast.singleton.js +12 -12
  152. package/dist/components/tooltip/tooltip.component.d.ts +7 -7
  153. package/dist/components/tooltip/tooltip.component.js +16 -11
  154. package/dist/custom-elements.json +2718 -2073
  155. package/dist/index.d.ts +16 -6
  156. package/dist/index.js +103 -75
  157. package/dist/internal/base-classes/popover/popover.base.d.ts +24 -9
  158. package/dist/internal/base-classes/popover/popover.base.js +138 -77
  159. package/dist/internal/base-classes/popover/popover.styles.js +14 -1
  160. package/dist/internal/components/hint/hint.component.d.ts +2 -2
  161. package/dist/internal/components/hint/hint.component.js +2 -2
  162. package/dist/internal/components/hint/hint.styles.d.ts +1 -2
  163. package/dist/internal/components/hint/hint.styles.js +1 -1
  164. package/dist/internal/constants/iconSeverity.d.ts +3 -2
  165. package/dist/internal/constants/iconSeverity.js +2 -3
  166. package/dist/internal/controllers/elementOverflowController.d.ts +13 -0
  167. package/dist/internal/controllers/popover.controller.d.ts +12 -7
  168. package/dist/internal/controllers/popover.controller.js +9 -14
  169. package/dist/internal/helpers/hintSeverity.d.ts +2 -2
  170. package/dist/internal/helpers/hintSeverity.js +1 -1
  171. package/dist/internal/helpers/utilityTypes.d.ts +1 -1
  172. package/dist/internal/helpers/uuid.d.ts +15 -0
  173. package/dist/internal/helpers/uuid.js +14 -0
  174. package/dist/internal/storybook/styles.d.ts +1 -0
  175. package/dist/internal/types/formField.d.ts +1 -1
  176. package/dist/internal/types.d.ts +18 -0
  177. package/dist/styles/component.styles.d.ts +1 -2
  178. package/dist/styles/component.styles.js +1 -1
  179. package/dist/styles/form-field.styles.js +11 -6
  180. package/dist/styles/global.css +1 -1
  181. package/dist/types/jsx/custom-element-jsx.d.ts +673 -1310
  182. package/dist/types/vue/index.d.ts +456 -319
  183. package/dist/vscode.html-custom-data.json +402 -1080
  184. package/dist/web-types.json +986 -767
  185. package/package.json +44 -55
  186. package/dist/components/collapse/collapse.component.d.ts +0 -40
  187. package/dist/components/collapse/collapse.component.js +0 -86
  188. package/dist/components/collapse/collapse.d.ts +0 -8
  189. package/dist/components/collapse/collapse.js +0 -6
  190. package/dist/components/collapse/collapse.styles.d.ts +0 -2
  191. package/dist/components/collapse/collapse.styles.js +0 -77
  192. package/dist/components/menu-item/menu-item.component.d.ts +0 -25
  193. package/dist/components/select-option/select-option.controllers.d.ts +0 -9
  194. package/dist/internal/constants/heading.d.ts +0 -2
  195. package/dist/react/index.d.ts +0 -36
  196. package/dist/react/index.js +0 -36
  197. package/dist/react/skf-accordion/index.d.ts +0 -3
  198. package/dist/react/skf-accordion/index.js +0 -13
  199. package/dist/react/skf-alert/index.d.ts +0 -9
  200. package/dist/react/skf-alert/index.js +0 -17
  201. package/dist/react/skf-breadcrumb/index.d.ts +0 -9
  202. package/dist/react/skf-breadcrumb/index.js +0 -17
  203. package/dist/react/skf-breadcrumb-item/index.d.ts +0 -3
  204. package/dist/react/skf-breadcrumb-item/index.js +0 -13
  205. package/dist/react/skf-button/index.d.ts +0 -9
  206. package/dist/react/skf-button/index.js +0 -17
  207. package/dist/react/skf-card/index.d.ts +0 -3
  208. package/dist/react/skf-card/index.js +0 -13
  209. package/dist/react/skf-checkbox/index.d.ts +0 -9
  210. package/dist/react/skf-checkbox/index.js +0 -17
  211. package/dist/react/skf-collapse/index.d.ts +0 -9
  212. package/dist/react/skf-collapse/index.js +0 -17
  213. package/dist/react/skf-datepicker/index.d.ts +0 -12
  214. package/dist/react/skf-datepicker/index.js +0 -18
  215. package/dist/react/skf-dialog/index.d.ts +0 -15
  216. package/dist/react/skf-dialog/index.js +0 -19
  217. package/dist/react/skf-divider/index.d.ts +0 -3
  218. package/dist/react/skf-divider/index.js +0 -13
  219. package/dist/react/skf-heading/index.d.ts +0 -3
  220. package/dist/react/skf-heading/index.js +0 -13
  221. package/dist/react/skf-icon/index.d.ts +0 -3
  222. package/dist/react/skf-icon/index.js +0 -13
  223. package/dist/react/skf-input/index.d.ts +0 -12
  224. package/dist/react/skf-input/index.js +0 -18
  225. package/dist/react/skf-link/index.d.ts +0 -3
  226. package/dist/react/skf-link/index.js +0 -13
  227. package/dist/react/skf-loader/index.d.ts +0 -3
  228. package/dist/react/skf-loader/index.js +0 -13
  229. package/dist/react/skf-logo/index.d.ts +0 -3
  230. package/dist/react/skf-logo/index.js +0 -13
  231. package/dist/react/skf-menu/index.d.ts +0 -12
  232. package/dist/react/skf-menu/index.js +0 -18
  233. package/dist/react/skf-menu-item/index.d.ts +0 -27
  234. package/dist/react/skf-menu-item/index.js +0 -23
  235. package/dist/react/skf-popover/index.d.ts +0 -12
  236. package/dist/react/skf-popover/index.js +0 -18
  237. package/dist/react/skf-progress/index.d.ts +0 -3
  238. package/dist/react/skf-progress/index.js +0 -13
  239. package/dist/react/skf-radio/index.d.ts +0 -9
  240. package/dist/react/skf-radio/index.js +0 -17
  241. package/dist/react/skf-select/index.d.ts +0 -21
  242. package/dist/react/skf-select/index.js +0 -21
  243. package/dist/react/skf-select-option/index.d.ts +0 -9
  244. package/dist/react/skf-select-option/index.js +0 -17
  245. package/dist/react/skf-select-option-group/index.d.ts +0 -3
  246. package/dist/react/skf-select-option-group/index.js +0 -13
  247. package/dist/react/skf-stepper/index.d.ts +0 -9
  248. package/dist/react/skf-stepper/index.js +0 -17
  249. package/dist/react/skf-stepper-item/index.d.ts +0 -9
  250. package/dist/react/skf-stepper-item/index.js +0 -17
  251. package/dist/react/skf-switch/index.d.ts +0 -3
  252. package/dist/react/skf-switch/index.js +0 -13
  253. package/dist/react/skf-tab/index.d.ts +0 -12
  254. package/dist/react/skf-tab/index.js +0 -18
  255. package/dist/react/skf-tab-group/index.d.ts +0 -3
  256. package/dist/react/skf-tab-group/index.js +0 -13
  257. package/dist/react/skf-tab-panel/index.d.ts +0 -3
  258. package/dist/react/skf-tab-panel/index.js +0 -13
  259. package/dist/react/skf-tag/index.d.ts +0 -3
  260. package/dist/react/skf-tag/index.js +0 -13
  261. package/dist/react/skf-textarea/index.d.ts +0 -12
  262. package/dist/react/skf-textarea/index.js +0 -18
  263. package/dist/react/skf-toast/index.d.ts +0 -3
  264. package/dist/react/skf-toast/index.js +0 -13
  265. package/dist/react/skf-toast-wrapper/index.d.ts +0 -3
  266. package/dist/react/skf-toast-wrapper/index.js +0 -13
  267. package/dist/react/skf-tooltip/index.d.ts +0 -12
  268. package/dist/react/skf-tooltip/index.js +0 -18
  269. /package/dist/components/{breadcrumb-item/breadcrumb-item.styles.d.ts → accordion/accordion-item.styles.d.ts} +0 -0
  270. /package/dist/components/{collapse/collapse.test.d.ts → accordion/accordion-item.test.d.ts} +0 -0
  271. /package/dist/components/{breadcrumb-item → breadcrumb}/breadcrumb-item.component.d.ts +0 -0
  272. /package/dist/components/{breadcrumb-item → breadcrumb}/breadcrumb-item.d.ts +0 -0
  273. /package/dist/components/{menu-item/menu-item.styles.d.ts → breadcrumb/breadcrumb-item.styles.d.ts} +0 -0
  274. /package/dist/components/{select-option-group/select-option-group.style.d.ts → drawer/drawer.styles.d.ts} +0 -0
  275. /package/dist/components/{select-option/select-option.styles.d.ts → header/header.styles.d.ts} +0 -0
  276. /package/dist/components/{menu-item → menu}/menu-item.d.ts +0 -0
  277. /package/dist/components/{menu-item → menu}/menu-item.js +0 -0
  278. /package/dist/components/{stepper-item/stepper-item.styles.d.ts → menu/menu-item.styles.d.ts} +0 -0
  279. /package/dist/components/{menu-item → menu}/menu-item.styles.js +0 -0
  280. /package/dist/components/{toast-wrapper/toast-wrapper.styles.d.ts → nav/nav-item.styles.d.ts} +0 -0
  281. /package/dist/components/{select-option-group → select}/select-option-group.component.d.ts +0 -0
  282. /package/dist/components/{select-option-group → select}/select-option-group.d.ts +0 -0
  283. /package/dist/components/{select-option-group → select}/select-option-group.js +0 -0
  284. /package/dist/components/{select-option-group → select}/select-option-group.style.js +0 -0
  285. /package/dist/components/{select-option → select}/select-option.d.ts +0 -0
  286. /package/dist/components/{select-option → select}/select-option.js +0 -0
  287. /package/dist/components/{select-option → select}/select-option.styles.js +0 -0
  288. /package/dist/components/{stepper-item → stepper}/stepper-item.component.d.ts +0 -0
  289. /package/dist/components/{stepper-item → stepper}/stepper-item.d.ts +0 -0
  290. /package/dist/components/{stepper-item → stepper}/stepper-item.js +0 -0
  291. /package/dist/components/{stepper-item → stepper}/stepper-item.styles.js +0 -0
  292. /package/dist/components/{toast-item → toast}/toast-item.component.d.ts +0 -0
  293. /package/dist/components/{toast-item → toast}/toast-item.component.js +0 -0
  294. /package/dist/components/{toast-item → toast}/toast-item.styles.d.ts +0 -0
  295. /package/dist/components/{toast-item → toast}/toast-item.styles.js +0 -0
  296. /package/dist/components/{toast-wrapper → toast}/toast-wrapper.component.d.ts +0 -0
  297. /package/dist/components/{toast-wrapper → toast}/toast-wrapper.d.ts +0 -0
  298. /package/dist/components/{toast-wrapper → toast}/toast-wrapper.js +0 -0
  299. /package/dist/components/{toast-wrapper → toast}/toast-wrapper.styles.js +0 -0
package/README.md CHANGED
@@ -42,13 +42,11 @@ The SKF UI Library is a collection of components that is meant to visually align
42
42
 
43
43
  The SKF UI Library is created using Lit/native web components in order to support as many frameworks as possible. It works out of the box for all frameworks, including React >= 19.
44
44
 
45
- For those who use React 18, we provide React wrappers that can be used in your application.
45
+ ## Philosophy
46
46
 
47
- ## Reporting issues
47
+ We like to stay as close to how native compoments works as possible albeit adding extra features on top. The rationale behind is that it either makes easier to absorb the api or learn something that is usable in the world outside as well. Adding looped, repeated content is done declaratively by component specific child components.
48
48
 
49
- Reporting issues requires an skf email and github access. [See this section](#skf-email)
50
-
51
- We are working on a solution to report issues without an explicit skf email, which will be publicly available.
49
+ <!-- For those who use React 18, we provide React wrappers that can be used in your application.-->
52
50
 
53
51
  ## 🏃 Getting started
54
52
 
@@ -152,11 +150,11 @@ export class AppComponent {
152
150
 
153
151
  ```
154
152
 
155
- ### React 19 beta / Next 15 beta
153
+ ### React 19 / Nextjs 15
156
154
 
157
- Web Components will become first class citizens in React 19. Should you want to use them in a version prior to 19 you have to wrap them in React, which essentially converts the native event to React Syntactic events. Long story short, use React 19 (when released) and your off the hook.
155
+ Web Components is first class citizens in React 19. Should you want to use them in a version prior to 19 you have to wrap them in React wrappers, which essentially converts the native event to React Syntactic events. Long story short, use React 19 and your off the hook.
158
156
 
159
- If you want to proceed to use the React 19 beta together with typescript, see [React 19 RC upgrade guide](https://react.dev/blog/2024/04/25/react-19-upgrade-guide).
157
+ If you want to proceed to use the React 19 together with typescript, see [React 19 upgrade guide](https://react.dev/blog/2024/04/25/react-19-upgrade-guide).
160
158
 
161
159
  You will also have to declare a global type for the web components to get it to play nice with JSX.
162
160
 
@@ -221,24 +219,7 @@ import { SkfInput } from "@skf-design-system/ui-components";
221
219
  <skf-input name="input" onchange={(e) => console.log((e.target as unknown as SkfInput).value)}></skf-input>
222
220
  ```
223
221
 
224
- ### React 18
225
-
226
- > Note, for React 18 it is not necessary to install an extra plugin to get code completion since you are writing in react
227
-
228
- React 18 does not support native web components out of the box. If you want to use SKF UI components with React 18 you will have to use our generated wrappers in order to do so.
229
-
230
- ```tsx
231
- import { SkfInput } from "@skf-design-system/ui-components/react/index.js";
232
-
233
- ...
234
-
235
- <SkfInput
236
- name="input"
237
- onChange={(e) => {
238
- console.log( e.target.value );
239
- }}
240
- />
241
- ```
222
+ ⚠️ **React 18** does not support native web components. If you want to use this library you must upgrade React to version 19.
242
223
 
243
224
  ### Setting up code completion
244
225
 
@@ -321,6 +302,12 @@ steps:
321
302
 
322
303
  In this example a token has been added with the name `ACCESS_TOKEN_SECRET`, but you can give it any name you like ✨. If you want to know more about secret generation and usage you can read more about it in [GitHub's docs](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions).
323
304
 
305
+ ## Reporting issues
306
+
307
+ Reporting issues requires an skf email and github access. [See this section](#skf-email)
308
+
309
+ We are working on a solution to report issues without an explicit skf email, which will be publicly available.
310
+
324
311
  ## 📖 Further reading
325
312
 
326
313
  ### 🎁 Contributing
@@ -0,0 +1,36 @@
1
+ import '../icon/icon.js';
2
+ import { SkfElement } from '../../internal/components/skf-element.js';
3
+ import type { HeadingType } from '../../internal/types.js';
4
+ import type { CSSResultGroup } from 'lit';
5
+ export type SkfAccordionItemHeadingType = Exclude<HeadingType, 'h1'>;
6
+ /**
7
+ * The `<skf-accordion-item>` is used in conjunction with the `<skf-accordion>` component
8
+ *
9
+ * @event {CustomEvent} skf-accordion-item-toggle - Event emitted when toggled
10
+ *
11
+ * @slot - Main content
12
+ *
13
+ * @tagname skf-accordion-item
14
+ */
15
+ export declare class SkfAccordionItem extends SkfElement {
16
+ static styles: CSSResultGroup;
17
+ /** If true, will animate the expand/accordion-item state */
18
+ animated: boolean;
19
+ /** If true, will set the accordion-item to be expanded by default */
20
+ expanded: boolean;
21
+ /** Heading for the accordion-item */
22
+ heading?: string;
23
+ /** Defines which heading element will be rendered */
24
+ headingAs: SkfAccordionItemHeadingType;
25
+ /** If true, renders the small version */
26
+ small: boolean;
27
+ /** If true, will truncate the heading in accordion-item state */
28
+ truncate: boolean;
29
+ /** Class method as alternative to manipulate attribute */
30
+ setClose(): void;
31
+ /** Class method as alternative to manipulate attribute */
32
+ setOpen(): void;
33
+ /** @internal */
34
+ private _toggle;
35
+ render(): import("lit").TemplateResult;
36
+ }
@@ -0,0 +1,87 @@
1
+ import "../icon/icon.js";
2
+ import { SkfElement as l } from "../../internal/components/skf-element.js";
3
+ import { componentStyles as p } from "../../styles/component.styles.js";
4
+ import { property as a } from "lit/decorators.js";
5
+ import { classMap as m } from "lit/directives/class-map.js";
6
+ import { ifDefined as h } from "lit/directives/if-defined.js";
7
+ import { literal as f, html as u } from "lit/static-html.js";
8
+ import { styles as _ } from "./accordion-item.styles.js";
9
+ var y = Object.defineProperty, i = (r, o, d, g) => {
10
+ for (var t = void 0, s = r.length - 1, c; s >= 0; s--)
11
+ (c = r[s]) && (t = c(o, d, t) || t);
12
+ return t && y(o, d, t), t;
13
+ };
14
+ const n = class n extends l {
15
+ constructor() {
16
+ super(...arguments), this.animated = !1, this.expanded = !1, this.headingAs = "h2", this.small = !1, this.truncate = !1, this._toggle = () => {
17
+ this.dispatchEvent(
18
+ new CustomEvent("skf-accordion-item-toggle", {
19
+ bubbles: !0,
20
+ composed: !0,
21
+ cancelable: !0
22
+ })
23
+ ), this.expanded = !this.expanded;
24
+ };
25
+ }
26
+ /** Class method as alternative to manipulate attribute */
27
+ setClose() {
28
+ this.expanded = !1;
29
+ }
30
+ /** Class method as alternative to manipulate attribute */
31
+ setOpen() {
32
+ this.expanded = !0;
33
+ }
34
+ render() {
35
+ const o = f`${this.headingAs}`;
36
+ return u`
37
+ <div class=${m({
38
+ "accordion-item": !0,
39
+ "accordion-item--animated": this.animated,
40
+ "accordion-item--expanded": this.expanded,
41
+ "accordion-item--small": this.small,
42
+ "accordion-item--truncate": this.truncate
43
+ })}>
44
+ <${o} class="accordion-item__heading">
45
+ <button
46
+ @click=${this._toggle}
47
+ aria-controls="main"
48
+ aria-expanded=${h(this.expanded ? "true" : "false")}
49
+ class="accordion-item__btn"
50
+ type="button"
51
+ >
52
+ <span class="accordion-item__label">${this.heading}</span>
53
+ <skf-icon class="accordion-item__icon" name=${this.expanded ? "caretUp" : "caretDown"}></skf-icon>
54
+ </button>
55
+ </${o}>
56
+ <div class="accordion-item__body">
57
+ <div class="accordion-item__main" data-testid="main" id="main">
58
+ <slot></slot>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ `;
63
+ }
64
+ };
65
+ n.styles = [p, _];
66
+ let e = n;
67
+ i([
68
+ a({ type: Boolean, reflect: !0 })
69
+ ], e.prototype, "animated");
70
+ i([
71
+ a({ type: Boolean, reflect: !0 })
72
+ ], e.prototype, "expanded");
73
+ i([
74
+ a()
75
+ ], e.prototype, "heading");
76
+ i([
77
+ a({ attribute: "heading-as" })
78
+ ], e.prototype, "headingAs");
79
+ i([
80
+ a({ type: Boolean, reflect: !0 })
81
+ ], e.prototype, "small");
82
+ i([
83
+ a({ type: Boolean, reflect: !0 })
84
+ ], e.prototype, "truncate");
85
+ export {
86
+ e as SkfAccordionItem
87
+ };
@@ -1,6 +1,6 @@
1
- import { SkfCollapse } from '../collapse/collapse.component.js';
2
- export declare class SkfAccordionItem extends SkfCollapse {
3
- }
1
+ import { SkfAccordionItem } from './accordion-item.component.js';
2
+ export * from './accordion-item.component.js';
3
+ export default SkfAccordionItem;
4
4
  declare global {
5
5
  interface HTMLElementTagNameMap {
6
6
  'skf-accordion-item': SkfAccordionItem;
@@ -1,7 +1,6 @@
1
- import { SkfCollapse as e } from "../collapse/collapse.component.js";
2
- class f extends e {
3
- }
4
- e.define("skf-accordion-item");
1
+ import { SkfAccordionItem as o } from "./accordion-item.component.js";
2
+ o.define("skf-accordion-item");
5
3
  export {
6
- f as SkfAccordionItem
4
+ o as SkfAccordionItem,
5
+ o as default
7
6
  };
@@ -0,0 +1,77 @@
1
+ import { css as i } from "lit";
2
+ const e = i`
3
+ /* stylelint-disable selector-class-pattern */
4
+ @layer components {
5
+ .accordion-item {
6
+ background: var(--skf-bg-color-neutral-1);
7
+ border-bottom: var(--skf-border-width-sm) solid var(--skf-border-color-tertiary);
8
+ }
9
+
10
+ .accordion-item__heading {
11
+ font-size: var(--_skf-accordion-item-heading-size, var(--skf-font-size-100));
12
+ font-weight: var(--_skf-accordion-item-heading-weight, normal);
13
+
14
+ .accordion-item--small & {
15
+ --_skf-accordion-item-heading-size: var(--skf-font-size-75);
16
+ --_skf-accordion-item-heading-weight: var(--skf-font-weight-medium);
17
+ }
18
+ }
19
+
20
+ .accordion-item__btn {
21
+ align-items: center;
22
+ display: flex;
23
+ padding-block: var(--_skf-accordion-item-button-padding-block, var(--skf-spacing-50));
24
+ padding-inline: var(--skf-spacing-75);
25
+ width: 100%;
26
+
27
+ &:focus-visible {
28
+ outline: var(--skf-border-width-md) solid var(--skf-interactive-border-color-focus);
29
+ outline-offset: -2px;
30
+ }
31
+
32
+ .accordion-item--small & {
33
+ --_skf-accordion-item-button-padding-block: var(--skf-spacing-25);
34
+ }
35
+ }
36
+
37
+ .accordion-item__label {
38
+ .accordion-item--truncate:not(.accordion-item--expanded) & {
39
+ overflow: hidden;
40
+ text-overflow: ellipsis;
41
+ white-space: nowrap;
42
+ }
43
+ }
44
+
45
+ .accordion-item__icon {
46
+ margin-inline-start: auto;
47
+ }
48
+
49
+ .accordion-item__body {
50
+ display: grid;
51
+ grid-template-rows: var(--_skf-accordion-item-body-height, 0fr);
52
+ padding-inline: var(--skf-spacing-75);
53
+
54
+ .accordion-item--animated & {
55
+ transition: grid-template-rows calc(var(--skf-motion-duration-normal) * 1ms)
56
+ var(--skf-motion-easing-ease-in);
57
+ }
58
+
59
+ .accordion-item--expanded & {
60
+ --_skf-accordion-item-body-height: 1fr;
61
+ }
62
+ }
63
+
64
+ .accordion-item__main {
65
+ overflow: hidden;
66
+
67
+ &::after {
68
+ content: '';
69
+ display: block;
70
+ padding-block-end: var(--skf-spacing-100);
71
+ }
72
+ }
73
+ }
74
+ `;
75
+ export {
76
+ e as styles
77
+ };
@@ -1,11 +1,10 @@
1
- import '../collapse/collapse.js';
2
1
  import { SkfElement } from '../../internal/components/skf-element.js';
3
- import type { HeadingType } from '../../internal/constants/heading.js';
4
2
  import { type CSSResultGroup, type PropertyValues } from 'lit';
3
+ import type { SkfAccordionItemHeadingType } from './accordion-item.js';
5
4
  /**
6
- * The `<skf-accordion>` component consists of multiple `<skf-collapse>`, working together.
5
+ * The `<skf-accordion>` component consists of one or more `<skf-accordion-item>` item(s) working together
7
6
  *
8
- * See [zeroheight](https://zeroheight.com/853e936c9/p/6590bf-accordion) for design principles.
7
+ * See [zeroheight](https://zeroheight.com/853e936c9/p/6590bf-accordion) for design principles
9
8
  *
10
9
  * @slot - Expects one or more <skf-accordion-item> element(s)
11
10
  *
@@ -14,20 +13,17 @@ import { type CSSResultGroup, type PropertyValues } from 'lit';
14
13
  export declare class SkfAccordion extends SkfElement {
15
14
  static styles: CSSResultGroup;
16
15
  /** If true, will animate the expand/collapse state */
17
- animated?: boolean;
18
- /**
19
- * Defines which heading element will be rendered
20
- * @type { "h1" | "h2" | "h3" | "h4" }
21
- */
22
- headingAs: Exclude<HeadingType, 'h1'>;
16
+ animated: boolean;
17
+ /** Defines which heading element will be rendered */
18
+ headingAs: SkfAccordionItemHeadingType;
23
19
  /** If true, adds a gap between each item */
24
20
  gap: boolean;
25
21
  /** If true, allowes multiple accordion items to open */
26
- multiple?: boolean;
22
+ multiple: boolean;
27
23
  /** If true, renders the small version */
28
- small?: boolean;
24
+ small: boolean;
29
25
  /** If true, will truncate all headings in collapsed state */
30
- truncate?: boolean;
26
+ truncate: boolean;
31
27
  /** @internal */
32
28
  private $accordionItems;
33
29
  protected updated(_changedProperties: PropertyValues): void;
@@ -1,18 +1,17 @@
1
- import "../collapse/collapse.js";
2
- import { SkfElement as h } from "../../internal/components/skf-element.js";
3
- import m from "../../styles/component.styles.js";
4
- import { html as f } from "lit";
1
+ import { SkfElement as p } from "../../internal/components/skf-element.js";
2
+ import { componentStyles as f } from "../../styles/component.styles.js";
3
+ import { html as m } from "lit";
5
4
  import { property as a, queryAssignedNodes as d } from "lit/decorators.js";
6
5
  import { classMap as c } from "lit/directives/class-map.js";
7
6
  import { styles as g } from "./accordion.styles.js";
8
- var y = Object.defineProperty, s = (p, t, i, o) => {
9
- for (var r = void 0, l = p.length - 1, u; l >= 0; l--)
10
- (u = p[l]) && (r = u(t, i, r) || r);
7
+ var y = Object.defineProperty, s = (u, t, i, l) => {
8
+ for (var r = void 0, o = u.length - 1, h; o >= 0; o--)
9
+ (h = u[o]) && (r = h(t, i, r) || r);
11
10
  return r && y(t, i, r), r;
12
11
  };
13
- const n = class n extends h {
12
+ const n = class n extends p {
14
13
  constructor() {
15
- super(...arguments), this.headingAs = "h2", this.gap = !1, this._setItemAttributes = () => {
14
+ super(...arguments), this.animated = !1, this.headingAs = "h2", this.gap = !1, this.multiple = !1, this.small = !1, this.truncate = !1, this._setItemAttributes = () => {
16
15
  this.items.forEach((t) => {
17
16
  t.setAttribute("heading-as", this.headingAs), this.animated ? t.setAttribute("animated", "") : t.hasAttribute("animated") && t.removeAttribute("animated"), this.small ? t.setAttribute("small", "") : t.hasAttribute("small") && t.removeAttribute("small"), this.truncate ? t.setAttribute("truncate", "") : t.hasAttribute("truncate") && t.removeAttribute("truncate");
18
17
  });
@@ -28,12 +27,12 @@ const n = class n extends h {
28
27
  _onChildToggle(t) {
29
28
  if (this.multiple || t.defaultPrevented) return;
30
29
  const i = t.target;
31
- this.items.length && this.items.forEach((o) => {
32
- o !== i && o.hasAttribute("expanded") && o.setClose();
30
+ this.items.length && this.items.forEach((l) => {
31
+ l !== i && l.hasAttribute("expanded") && l.setClose();
33
32
  });
34
33
  }
35
34
  render() {
36
- return f`
35
+ return m`
37
36
  <div class=${c({ "accordion--gap": this.gap })}>
38
37
  <slot
39
38
  @skf-collapse-toggle=${(t) => {
@@ -45,7 +44,7 @@ const n = class n extends h {
45
44
  `;
46
45
  }
47
46
  };
48
- n.styles = [g, m];
47
+ n.styles = [g, f];
49
48
  let e = n;
50
49
  s([
51
50
  a({ type: Boolean, reflect: !0 })
@@ -1,5 +1,4 @@
1
1
  import { SkfAccordion } from './accordion.component.js';
2
- export * from './accordion-item.js';
3
2
  export * from './accordion.component.js';
4
3
  export default SkfAccordion;
5
4
  declare global {
@@ -1,8 +1,6 @@
1
1
  import { SkfAccordion as o } from "./accordion.component.js";
2
- import { SkfAccordionItem as e } from "./accordion-item.js";
3
2
  o.define("skf-accordion");
4
3
  export {
5
4
  o as SkfAccordion,
6
- e as SkfAccordionItem,
7
5
  o as default
8
6
  };
@@ -1,12 +1,11 @@
1
- import type { SkfIcon } from '../icon/icon.component.js';
2
1
  import '../icon/icon.js';
3
2
  import { SkfElement } from '../../internal/components/skf-element.js';
4
- import type { SeverityFgColor } from '@skf-design-system/ui-assets';
3
+ import type { Icon, Severity } from '../../internal/types.js';
5
4
  import { type CSSResultGroup } from 'lit';
6
5
  /**
7
6
  * The `<skf-alert>` is a type of notification that appears in-line
8
7
  *
9
- * @documentation See [zeroheight](https://zeroheight.com/853e936c9/p/990ec5-alert) for design principles
8
+ * See [zeroheight](https://zeroheight.com/853e936c9/p/990ec5-alert) for design principles
10
9
  *
11
10
  * @event skf-alert-close - Fires when the close button is clicked
12
11
  *
@@ -20,14 +19,11 @@ export declare class SkfAlert extends SkfElement {
20
19
  /** Close button aria-label */
21
20
  buttonLabel: string;
22
21
  /** If defined, displays leading icon */
23
- icon?: SkfIcon['name'];
22
+ icon?: Icon;
24
23
  /** If true, renders with an close button and sets aria-role to `status` */
25
- persistent?: boolean;
26
- /**
27
- * If defined, gives the supplied appearance
28
- * @type { "error" | "info" | "warning" | "success" | "alert" }
29
- */
30
- severity?: SeverityFgColor;
24
+ persistent: boolean;
25
+ /** If defined, gives the supplied appearance */
26
+ severity?: Severity;
31
27
  /** @internal */
32
28
  private _handleClose;
33
29
  render(): import("lit").TemplateResult<1>;
@@ -1,29 +1,28 @@
1
1
  import "../icon/icon.js";
2
- import { SkfElement as y } from "../../internal/components/skf-element.js";
3
- import f from "../../styles/component.styles.js";
4
- import { html as m, nothing as h } from "lit";
2
+ import { SkfElement as f } from "../../internal/components/skf-element.js";
3
+ import { componentStyles as y } from "../../styles/component.styles.js";
4
+ import { nothing as h, html as p } from "lit";
5
5
  import { property as s } from "lit/decorators.js";
6
6
  import { classMap as u } from "lit/directives/class-map.js";
7
- import { ifDefined as p } from "lit/directives/if-defined.js";
7
+ import { ifDefined as m } from "lit/directives/if-defined.js";
8
8
  import { styles as v } from "./alert.styles.js";
9
- var b = Object.defineProperty, r = (l, a, n, d) => {
10
- for (var t = void 0, i = l.length - 1, c; i >= 0; i--)
11
- (c = l[i]) && (t = c(a, n, t) || t);
12
- return t && b(a, n, t), t;
9
+ var b = Object.defineProperty, r = (n, l, a, d) => {
10
+ for (var t = void 0, i = n.length - 1, c; i >= 0; i--)
11
+ (c = n[i]) && (t = c(l, a, t) || t);
12
+ return t && b(l, a, t), t;
13
13
  };
14
- const o = class o extends y {
14
+ const o = class o extends f {
15
15
  constructor() {
16
- super(...arguments), this.buttonLabel = "Close", this._handleClose = () => {
16
+ super(...arguments), this.buttonLabel = "Close", this.persistent = !1, this._handleClose = () => {
17
17
  this.emit("skf-alert-close");
18
18
  };
19
19
  }
20
20
  render() {
21
- return m`
21
+ return p`
22
22
  <div
23
23
  aria-describedby="main"
24
24
  class=${u({
25
25
  alert: !0,
26
- "alert--severity-alert": this.severity === "alert",
27
26
  "alert--severity-error": this.severity === "error",
28
27
  "alert--severity-info": this.severity === "info",
29
28
  "alert--severity-success": this.severity === "success",
@@ -33,15 +32,15 @@ const o = class o extends y {
33
32
  role=${this.persistent ? "status" : "alert"}
34
33
  >
35
34
  <skf-icon
36
- color=${p(this.severity ?? "secondary")}
37
- name=${p(this.icon ?? "info")}
35
+ color=${m(this.severity ?? "secondary")}
36
+ name=${m(this.icon ?? "info")}
38
37
  size="sm"
39
38
  ></skf-icon>
40
39
  <div class="alert__body">
41
40
  <slot class="alert__main" id="main"></slot>
42
41
  <slot name="link"></slot>
43
42
  </div>
44
- ${this.persistent ? m`
43
+ ${this.persistent ? p`
45
44
  <button
46
45
  @click="${this._handleClose}"
47
46
  aria-label=${this.buttonLabel}
@@ -55,7 +54,7 @@ const o = class o extends y {
55
54
  `;
56
55
  }
57
56
  };
58
- o.styles = [f, v];
57
+ o.styles = [y, v];
59
58
  let e = o;
60
59
  r([
61
60
  s({ attribute: "button-label" })
@@ -19,11 +19,6 @@ const s = r`
19
19
  padding-inline: var(--skf-spacing-50);
20
20
  }
21
21
 
22
- .alert--severity-alert {
23
- --_skf-alert-bg-color: var(--skf-severity-bg-color-alert);
24
- --_skf-alert-border-color: var(--skf-severity-fg-color-alert);
25
- }
26
-
27
22
  .alert--severity-error {
28
23
  --_skf-alert-bg-color: var(--skf-severity-bg-color-error);
29
24
  --_skf-alert-border-color: var(--skf-severity-fg-color-error);
@@ -0,0 +1,61 @@
1
+ import "../icon/icon.js";
2
+ import { SkfElement as f } from "../../internal/components/skf-element.js";
3
+ import { componentStyles as h } from "../../styles/component.styles.js";
4
+ import { html as a } from "lit";
5
+ import { property as m, state as _ } from "lit/decorators.js";
6
+ import { classMap as u } from "lit/directives/class-map.js";
7
+ import { ifDefined as b } from "lit/directives/if-defined.js";
8
+ import { styles as C } from "./breadcrumb-item.styles.js";
9
+ var d = Object.defineProperty, v = Object.getOwnPropertyDescriptor, c = (p, t, s, r) => {
10
+ for (var e = r > 1 ? void 0 : r ? v(t, s) : t, o = p.length - 1, l; o >= 0; o--)
11
+ (l = p[o]) && (e = (r ? l(t, s, e) : l(e)) || e);
12
+ return r && e && d(t, s, e), e;
13
+ };
14
+ const n = class n extends f {
15
+ constructor() {
16
+ super(...arguments), this._isCurrent = !1, this._clickHandler = (t, s) => {
17
+ var r;
18
+ this._onClick && t.preventDefault(), (r = this._onClick) == null || r.call(this, t, s);
19
+ };
20
+ }
21
+ set onClick(t) {
22
+ !this.href || !t || (this._onClick = t);
23
+ }
24
+ get onClick() {
25
+ return this._onClick;
26
+ }
27
+ connectedCallback() {
28
+ super.connectedCallback(), this.role = "listitem";
29
+ }
30
+ render() {
31
+ return a`
32
+ <div class=${u({ "breadcrumb-item": !0 })}>
33
+ ${this.href ? a`
34
+ <a
35
+ @click=${this._clickHandler}
36
+ aria-current=${b(this._isCurrent ? "page" : void 0)}
37
+ class="breadcrumb-item__label"
38
+ href=${this.href}
39
+ >
40
+ <slot></slot>
41
+ </a>
42
+ ` : a`<slot class="breadcrumb-item__label"></slot>`}
43
+ <span class="breadcrumb-item__separator">/</span>
44
+ </div>
45
+ `;
46
+ }
47
+ };
48
+ n.styles = [h, C];
49
+ let i = n;
50
+ c([
51
+ m()
52
+ ], i.prototype, "href", 2);
53
+ c([
54
+ m({ attribute: !1 })
55
+ ], i.prototype, "onClick", 1);
56
+ c([
57
+ _()
58
+ ], i.prototype, "_isCurrent", 2);
59
+ export {
60
+ i as SkfBreadcrumbItem
61
+ };
@@ -0,0 +1,6 @@
1
+ import { SkfBreadcrumbItem as e } from "./breadcrumb-item.component.js";
2
+ e.define("skf-breadcrumb-item");
3
+ export {
4
+ e as SkfBreadcrumbItem,
5
+ e as default
6
+ };
@@ -0,0 +1,62 @@
1
+ import { css as r } from "lit";
2
+ const o = r`
3
+ /* stylelint-disable selector-class-pattern */
4
+ @layer components {
5
+ :host {
6
+ contain: layout;
7
+ }
8
+
9
+ .breadcrumb-item {
10
+ align-items: center;
11
+ display: flex;
12
+ }
13
+
14
+ .breadcrumb-item__label {
15
+ color: var(--_skf-breadcrumb-item-color, inherit);
16
+
17
+ &:is(slot) {
18
+ display: inline;
19
+ }
20
+
21
+ &:is(a) {
22
+ text-decoration: none;
23
+
24
+ &:focus-visible {
25
+ border-radius: var(--skf-border-radius-sm);
26
+ outline: var(--skf-border-width-md) solid var(--skf-interactive-border-color-focus);
27
+ outline-offset: var(--skf-size-2);
28
+ }
29
+ }
30
+
31
+ :host(:not(:last-of-type)) & {
32
+ &:is(slot) {
33
+ --_skf-breadcrumb-item-color: var(--skf-text-color-secondary);
34
+ }
35
+
36
+ &:is(a) {
37
+ --_skf-breadcrumb-item-color: var(--skf-interactive-text-color-primary);
38
+
39
+ &:hover,
40
+ &:focus,
41
+ &:active {
42
+ --_skf-breadcrumb-item-color: var(--skf-interactive-text-color-primary-hover);
43
+
44
+ text-decoration: underline;
45
+ }
46
+ }
47
+ }
48
+ }
49
+
50
+ .breadcrumb-item__separator {
51
+ display: block;
52
+ margin-inline: var(--skf-spacing-25);
53
+
54
+ :host(:last-of-type) & {
55
+ display: none;
56
+ }
57
+ }
58
+ }
59
+ `;
60
+ export {
61
+ o as styles
62
+ };