@skf-design-system/ui-components 1.0.0-alpha.34 → 1.0.0-alpha.36

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 (355) hide show
  1. package/README.md +20 -27
  2. package/custom-elements.json +25490 -0
  3. package/dist/components/accordion/accordion-item.component.d.ts +36 -0
  4. package/dist/components/accordion/accordion-item.component.js +98 -0
  5. package/dist/components/accordion/accordion-item.d.ts +3 -3
  6. package/dist/components/accordion/accordion-item.js +4 -5
  7. package/dist/components/accordion/accordion-item.styles.js +77 -0
  8. package/dist/components/accordion/accordion.component.d.ts +10 -14
  9. package/dist/components/accordion/accordion.component.js +10 -11
  10. package/dist/components/accordion/accordion.d.ts +0 -1
  11. package/dist/components/accordion/accordion.js +0 -2
  12. package/dist/components/alert/alert.component.d.ts +12 -12
  13. package/dist/components/alert/alert.component.js +57 -55
  14. package/dist/components/alert/alert.styles.js +50 -51
  15. package/dist/components/breadcrumb/breadcrumb-item.component.js +60 -0
  16. package/dist/components/{breadcrumb-item → breadcrumb}/breadcrumb-item.d.ts +2 -2
  17. package/dist/components/breadcrumb/breadcrumb-item.js +6 -0
  18. package/dist/components/breadcrumb/breadcrumb-item.styles.js +63 -0
  19. package/dist/components/breadcrumb/breadcrumb.component.d.ts +7 -4
  20. package/dist/components/breadcrumb/breadcrumb.component.js +65 -0
  21. package/dist/components/breadcrumb/breadcrumb.d.ts +2 -2
  22. package/dist/components/breadcrumb/breadcrumb.js +6 -0
  23. package/dist/components/breadcrumb/breadcrumb.styles.js +25 -0
  24. package/dist/components/button/button.component.d.ts +17 -14
  25. package/dist/components/button/button.component.js +73 -61
  26. package/dist/components/button/button.styles.d.ts +1 -2
  27. package/dist/components/button/button.styles.js +13 -3
  28. package/dist/components/card/card.component.d.ts +6 -1
  29. package/dist/components/card/card.component.js +46 -36
  30. package/dist/components/card/card.styles.js +37 -23
  31. package/dist/components/checkbox/checkbox.component.d.ts +17 -13
  32. package/dist/components/checkbox/checkbox.component.js +74 -61
  33. package/dist/components/checkbox/checkbox.styles.d.ts +1 -2
  34. package/dist/components/checkbox/checkbox.styles.js +1 -5
  35. package/dist/components/datepicker/datepicker-calendar.component.d.ts +80 -0
  36. package/dist/components/datepicker/datepicker-calendar.component.js +415 -0
  37. package/dist/components/datepicker/datepicker-calendar.d.ts +8 -0
  38. package/dist/components/datepicker/datepicker-calendar.js +6 -0
  39. package/dist/components/datepicker/datepicker-calendar.styles.js +202 -0
  40. package/dist/components/datepicker/datepicker-popup.component.d.ts +64 -0
  41. package/dist/components/datepicker/datepicker-popup.component.js +261 -0
  42. package/dist/components/datepicker/datepicker-popup.d.ts +8 -0
  43. package/dist/components/datepicker/datepicker-popup.helpers.d.ts +41 -0
  44. package/dist/components/datepicker/datepicker-popup.helpers.js +83 -0
  45. package/dist/components/datepicker/datepicker-popup.js +6 -0
  46. package/dist/components/datepicker/datepicker-popup.styles.js +87 -0
  47. package/dist/components/datepicker/datepicker.component.d.ts +121 -0
  48. package/dist/components/datepicker/datepicker.component.js +456 -0
  49. package/dist/components/datepicker/datepicker.d.ts +8 -0
  50. package/dist/components/datepicker/datepicker.helpers.d.ts +38 -0
  51. package/dist/components/datepicker/datepicker.helpers.js +31 -0
  52. package/dist/components/datepicker/datepicker.js +6 -0
  53. package/dist/components/datepicker/datepicker.styles.d.ts +1 -0
  54. package/dist/components/datepicker/datepicker.styles.js +18 -0
  55. package/dist/components/dialog/dialog.component.d.ts +20 -29
  56. package/dist/components/dialog/dialog.component.js +85 -75
  57. package/dist/components/dialog/dialog.d.ts +2 -2
  58. package/dist/components/dialog/dialog.styles.js +4 -4
  59. package/dist/components/divider/divider.component.d.ts +4 -8
  60. package/dist/components/divider/divider.component.js +24 -46
  61. package/dist/components/divider/divider.styles.js +34 -30
  62. package/dist/components/drawer/drawer.component.d.ts +61 -0
  63. package/dist/components/drawer/drawer.component.js +125 -0
  64. package/dist/components/drawer/drawer.d.ts +8 -0
  65. package/dist/components/drawer/drawer.js +6 -0
  66. package/dist/components/drawer/drawer.styles.js +71 -0
  67. package/dist/components/header/header.component.d.ts +46 -0
  68. package/dist/components/header/header.component.js +116 -0
  69. package/dist/components/header/header.d.ts +8 -0
  70. package/dist/components/header/header.js +6 -0
  71. package/dist/components/header/header.styles.js +68 -0
  72. package/dist/components/heading/heading.component.d.ts +8 -12
  73. package/dist/components/heading/heading.component.js +52 -24
  74. package/dist/components/heading/heading.styles.d.ts +1 -2
  75. package/dist/components/heading/heading.styles.js +35 -37
  76. package/dist/components/icon/icon.component.d.ts +15 -17
  77. package/dist/components/icon/icon.component.js +52 -43
  78. package/dist/components/icon/icon.styles.d.ts +1 -2
  79. package/dist/components/icon/icon.styles.js +60 -60
  80. package/dist/components/input/input.component.d.ts +31 -31
  81. package/dist/components/input/input.component.js +167 -146
  82. package/dist/components/input/input.controllers.d.ts +20 -6
  83. package/dist/components/input/input.controllers.js +14 -10
  84. package/dist/components/link/link.component.d.ts +20 -25
  85. package/dist/components/link/link.component.js +99 -107
  86. package/dist/components/link/link.styles.d.ts +1 -2
  87. package/dist/components/link/link.styles.js +47 -43
  88. package/dist/components/loader/loader.component.d.ts +1 -1
  89. package/dist/components/loader/loader.component.js +36 -40
  90. package/dist/components/loader/loader.styles.d.ts +1 -2
  91. package/dist/components/loader/loader.styles.js +40 -32
  92. package/dist/components/logo/logo.component.d.ts +8 -6
  93. package/dist/components/logo/logo.component.js +55 -51
  94. package/dist/components/logo/logo.styles.js +26 -16
  95. package/dist/components/menu/menu-item.component.d.ts +13 -0
  96. package/dist/components/menu/menu-item.component.js +13 -0
  97. package/dist/components/{menu-item → menu}/menu-item.d.ts +2 -2
  98. package/dist/components/{menu-item → menu}/menu-item.styles.js +8 -5
  99. package/dist/components/menu/menu.component.d.ts +10 -8
  100. package/dist/components/menu/menu.component.js +8 -10
  101. package/dist/components/menu/menu.d.ts +2 -2
  102. package/dist/components/nav/nav-item.component.d.ts +22 -0
  103. package/dist/components/nav/nav-item.component.js +57 -0
  104. package/dist/components/nav/nav-item.d.ts +8 -0
  105. package/dist/components/nav/nav-item.js +6 -0
  106. package/dist/components/nav/nav-item.styles.js +43 -0
  107. package/dist/components/nav/nav.component.d.ts +23 -0
  108. package/dist/components/nav/nav.component.js +55 -0
  109. package/dist/components/nav/nav.d.ts +8 -0
  110. package/dist/components/nav/nav.js +6 -0
  111. package/dist/components/nav/nav.styles.js +23 -0
  112. package/dist/components/popover/popover.component.d.ts +15 -8
  113. package/dist/components/popover/popover.component.js +29 -23
  114. package/dist/components/popover/popover.d.ts +2 -2
  115. package/dist/components/progress/progress.component.d.ts +4 -2
  116. package/dist/components/progress/progress.component.js +38 -35
  117. package/dist/components/progress/progress.d.ts +2 -2
  118. package/dist/components/progress/progress.styles.js +40 -33
  119. package/dist/components/radio/radio.component.d.ts +19 -13
  120. package/dist/components/radio/radio.component.js +12 -12
  121. package/dist/components/radio/radio.styles.d.ts +1 -2
  122. package/dist/components/radio/radio.styles.js +1 -1
  123. package/dist/components/segmented-button/segmented-button-item.component.d.ts +36 -0
  124. package/dist/components/segmented-button/segmented-button-item.component.js +56 -0
  125. package/dist/components/segmented-button/segmented-button-item.d.ts +8 -0
  126. package/dist/components/segmented-button/segmented-button-item.js +6 -0
  127. package/dist/components/segmented-button/segmented-button-item.styles.d.ts +1 -0
  128. package/dist/components/segmented-button/segmented-button-item.styles.js +62 -0
  129. package/dist/components/segmented-button/segmented-button.component.d.ts +30 -0
  130. package/dist/components/segmented-button/segmented-button.component.js +73 -0
  131. package/dist/components/segmented-button/segmented-button.d.ts +8 -0
  132. package/dist/components/segmented-button/segmented-button.js +6 -0
  133. package/dist/components/segmented-button/segmented-button.styles.d.ts +1 -0
  134. package/dist/components/segmented-button/segmented-button.styles.js +16 -0
  135. package/dist/components/{select-option-group → select}/select-option-group.component.d.ts +4 -0
  136. package/dist/components/select/select-option-group.component.js +50 -0
  137. package/dist/components/{select-option-group → select}/select-option-group.d.ts +2 -2
  138. package/dist/components/select/select-option-group.style.d.ts +1 -0
  139. package/dist/components/select/select-option-group.style.js +24 -0
  140. package/dist/components/{select-option → select}/select-option.component.d.ts +14 -11
  141. package/dist/components/select/select-option.component.js +140 -0
  142. package/dist/components/select/select-option.controllers.d.ts +15 -0
  143. package/dist/components/select/select-option.styles.d.ts +1 -0
  144. package/dist/components/select/select-option.styles.js +65 -0
  145. package/dist/components/select/select.component.d.ts +22 -17
  146. package/dist/components/select/select.component.js +62 -45
  147. package/dist/components/select/select.controllers.d.ts +21 -10
  148. package/dist/components/select/select.controllers.js +29 -23
  149. package/dist/components/select/stories/select.stories.icons.d.ts +7 -0
  150. package/dist/components/{stepper-item → stepper}/stepper-item.component.js +48 -48
  151. package/dist/components/{stepper-item → stepper}/stepper-item.d.ts +2 -2
  152. package/dist/components/stepper/stepper-item.styles.d.ts +1 -0
  153. package/dist/components/stepper/stepper.component.d.ts +4 -3
  154. package/dist/components/stepper/stepper.component.js +15 -15
  155. package/dist/components/stepper/stepper.d.ts +2 -2
  156. package/dist/components/stepper/stepper.helpers.d.ts +1 -1
  157. package/dist/components/switch/switch.component.d.ts +7 -6
  158. package/dist/components/switch/switch.component.js +21 -21
  159. package/dist/components/switch/switch.d.ts +2 -2
  160. package/dist/components/{tab-panel → tabs}/tab-panel.component.js +1 -1
  161. package/dist/components/{tab-panel → tabs}/tab-panel.d.ts +2 -2
  162. package/dist/components/tabs/tab-panel.styles.d.ts +1 -0
  163. package/dist/components/{tab → tabs}/tab.component.d.ts +2 -2
  164. package/dist/components/{tab → tabs}/tab.component.js +1 -1
  165. package/dist/components/{tab → tabs}/tab.d.ts +2 -2
  166. package/dist/components/tabs/tab.styles.d.ts +1 -0
  167. package/dist/components/{tab-group/tab-group.component.d.ts → tabs/tabs.component.d.ts} +3 -4
  168. package/dist/components/{tab-group/tab-group.component.js → tabs/tabs.component.js} +36 -37
  169. package/dist/components/tabs/tabs.d.ts +8 -0
  170. package/dist/components/tabs/tabs.js +6 -0
  171. package/dist/components/tabs/tabs.styles.d.ts +1 -0
  172. package/dist/components/{tab-group/tab-group.styles.js → tabs/tabs.styles.js} +16 -16
  173. package/dist/components/tag/tag.component.d.ts +20 -17
  174. package/dist/components/tag/tag.component.js +68 -67
  175. package/dist/components/tag/tag.d.ts +2 -2
  176. package/dist/components/tag/tag.styles.js +63 -50
  177. package/dist/components/textarea/textarea.component.d.ts +10 -11
  178. package/dist/components/textarea/textarea.component.js +67 -68
  179. package/dist/components/{toast-item → toast}/toast-item.component.js +15 -15
  180. package/dist/components/{toast-item → toast}/toast-item.d.ts +2 -0
  181. package/dist/components/{toast-item → toast}/toast-item.js +4 -0
  182. package/dist/components/toast/toast-item.styles.js +18 -0
  183. package/dist/components/{toast-wrapper → toast}/toast-wrapper.component.js +1 -1
  184. package/dist/components/toast/toast-wrapper.styles.d.ts +1 -0
  185. package/dist/components/toast/toast.component.d.ts +9 -5
  186. package/dist/components/toast/toast.component.js +31 -27
  187. package/dist/components/toast/toast.singleton.d.ts +7 -12
  188. package/dist/components/toast/toast.singleton.js +26 -26
  189. package/dist/components/tooltip/tooltip.component.d.ts +7 -7
  190. package/dist/components/tooltip/tooltip.component.js +16 -11
  191. package/dist/components/tooltip/tooltip.d.ts +2 -2
  192. package/dist/custom-elements.json +3980 -2348
  193. package/dist/index.d.ts +22 -9
  194. package/dist/index.js +111 -74
  195. package/dist/internal/base-classes/popover/popover.base.d.ts +24 -9
  196. package/dist/internal/base-classes/popover/popover.base.js +140 -79
  197. package/dist/internal/base-classes/popover/popover.styles.js +17 -5
  198. package/dist/internal/components/hint/hint.component.d.ts +6 -2
  199. package/dist/internal/components/hint/hint.component.js +47 -20
  200. package/dist/internal/components/hint/hint.styles.d.ts +1 -2
  201. package/dist/internal/components/hint/hint.styles.js +30 -26
  202. package/dist/internal/components/skf-element.d.ts +1 -3
  203. package/dist/internal/components/skf-element.js +4 -9
  204. package/dist/internal/constants/iconSeverity.d.ts +3 -2
  205. package/dist/internal/constants/iconSeverity.js +2 -3
  206. package/dist/internal/controllers/elementOverflowController.d.ts +13 -0
  207. package/dist/internal/controllers/popover.controller.d.ts +12 -6
  208. package/dist/internal/controllers/popover.controller.js +9 -14
  209. package/dist/internal/helpers/dateFormatter.d.ts +2 -0
  210. package/dist/internal/helpers/hintSeverity.d.ts +2 -2
  211. package/dist/internal/helpers/hintSeverity.js +1 -1
  212. package/dist/internal/helpers/stateMap.d.ts +14 -0
  213. package/dist/internal/helpers/stateMap.js +68 -0
  214. package/dist/internal/helpers/utilityTypes.d.ts +22 -0
  215. package/dist/internal/helpers/uuid.d.ts +15 -0
  216. package/dist/internal/helpers/uuid.js +14 -0
  217. package/dist/internal/helpers/watch.d.ts +1 -1
  218. package/dist/internal/helpers/watch.js +12 -12
  219. package/dist/internal/storybook/styles.d.ts +1 -0
  220. package/dist/internal/types/formField.d.ts +1 -1
  221. package/dist/internal/types.d.ts +18 -0
  222. package/dist/styles/component.styles.d.ts +1 -2
  223. package/dist/styles/component.styles.js +38 -37
  224. package/dist/styles/form-field.styles.js +11 -6
  225. package/dist/styles/global-alt.css +1 -0
  226. package/dist/styles/global.css +1 -1
  227. package/dist/types/jsx/custom-element-jsx.d.ts +871 -1307
  228. package/dist/types/vue/index.d.ts +593 -360
  229. package/dist/vscode.html-custom-data.json +630 -1184
  230. package/dist/web-types.json +1422 -945
  231. package/package.json +47 -63
  232. package/dist/components/accordion/accordion.test.d.ts +0 -1
  233. package/dist/components/checkbox/checkbox.test.d.ts +0 -1
  234. package/dist/components/collapse/collapse.component.d.ts +0 -40
  235. package/dist/components/collapse/collapse.component.js +0 -86
  236. package/dist/components/collapse/collapse.d.ts +0 -8
  237. package/dist/components/collapse/collapse.js +0 -6
  238. package/dist/components/collapse/collapse.styles.d.ts +0 -2
  239. package/dist/components/collapse/collapse.styles.js +0 -77
  240. package/dist/components/collapse/collapse.test.d.ts +0 -1
  241. package/dist/components/input/input.test.d.ts +0 -1
  242. package/dist/components/menu-item/menu-item.component.d.ts +0 -25
  243. package/dist/components/menu-item/menu-item.component.js +0 -13
  244. package/dist/components/radio/radio.test.d.ts +0 -1
  245. package/dist/components/select-option/select-option.component.js +0 -123
  246. package/dist/components/select-option/select-option.controllers.d.ts +0 -9
  247. package/dist/components/select-option/select-option.styles.js +0 -53
  248. package/dist/components/select-option-group/select-option-group.component.js +0 -31
  249. package/dist/components/select-option-group/select-option-group.style.js +0 -18
  250. package/dist/components/switch/switch.test.d.ts +0 -1
  251. package/dist/components/tab-group/tab-group.d.ts +0 -8
  252. package/dist/components/tab-group/tab-group.js +0 -6
  253. package/dist/components/toast-item/toast-item.styles.js +0 -16
  254. package/dist/internal/constants/heading.d.ts +0 -2
  255. package/dist/internal/playwright/index.d.ts +0 -1
  256. package/dist/react/index.d.ts +0 -35
  257. package/dist/react/index.js +0 -35
  258. package/dist/react/skf-accordion/index.d.ts +0 -3
  259. package/dist/react/skf-accordion/index.js +0 -13
  260. package/dist/react/skf-alert/index.d.ts +0 -9
  261. package/dist/react/skf-alert/index.js +0 -17
  262. package/dist/react/skf-breadcrumb/index.d.ts +0 -9
  263. package/dist/react/skf-breadcrumb/index.js +0 -17
  264. package/dist/react/skf-breadcrumb-item/index.d.ts +0 -3
  265. package/dist/react/skf-breadcrumb-item/index.js +0 -13
  266. package/dist/react/skf-button/index.d.ts +0 -9
  267. package/dist/react/skf-button/index.js +0 -17
  268. package/dist/react/skf-card/index.d.ts +0 -3
  269. package/dist/react/skf-card/index.js +0 -13
  270. package/dist/react/skf-checkbox/index.d.ts +0 -9
  271. package/dist/react/skf-checkbox/index.js +0 -17
  272. package/dist/react/skf-collapse/index.d.ts +0 -9
  273. package/dist/react/skf-collapse/index.js +0 -17
  274. package/dist/react/skf-dialog/index.d.ts +0 -15
  275. package/dist/react/skf-dialog/index.js +0 -19
  276. package/dist/react/skf-divider/index.d.ts +0 -3
  277. package/dist/react/skf-divider/index.js +0 -13
  278. package/dist/react/skf-heading/index.d.ts +0 -3
  279. package/dist/react/skf-heading/index.js +0 -13
  280. package/dist/react/skf-icon/index.d.ts +0 -3
  281. package/dist/react/skf-icon/index.js +0 -13
  282. package/dist/react/skf-input/index.d.ts +0 -12
  283. package/dist/react/skf-input/index.js +0 -18
  284. package/dist/react/skf-link/index.d.ts +0 -3
  285. package/dist/react/skf-link/index.js +0 -13
  286. package/dist/react/skf-loader/index.d.ts +0 -3
  287. package/dist/react/skf-loader/index.js +0 -13
  288. package/dist/react/skf-logo/index.d.ts +0 -3
  289. package/dist/react/skf-logo/index.js +0 -13
  290. package/dist/react/skf-menu/index.d.ts +0 -12
  291. package/dist/react/skf-menu/index.js +0 -18
  292. package/dist/react/skf-menu-item/index.d.ts +0 -27
  293. package/dist/react/skf-menu-item/index.js +0 -23
  294. package/dist/react/skf-popover/index.d.ts +0 -12
  295. package/dist/react/skf-popover/index.js +0 -18
  296. package/dist/react/skf-progress/index.d.ts +0 -3
  297. package/dist/react/skf-progress/index.js +0 -13
  298. package/dist/react/skf-radio/index.d.ts +0 -9
  299. package/dist/react/skf-radio/index.js +0 -17
  300. package/dist/react/skf-select/index.d.ts +0 -21
  301. package/dist/react/skf-select/index.js +0 -21
  302. package/dist/react/skf-select-option/index.d.ts +0 -9
  303. package/dist/react/skf-select-option/index.js +0 -17
  304. package/dist/react/skf-select-option-group/index.d.ts +0 -3
  305. package/dist/react/skf-select-option-group/index.js +0 -13
  306. package/dist/react/skf-stepper/index.d.ts +0 -9
  307. package/dist/react/skf-stepper/index.js +0 -17
  308. package/dist/react/skf-stepper-item/index.d.ts +0 -9
  309. package/dist/react/skf-stepper-item/index.js +0 -17
  310. package/dist/react/skf-switch/index.d.ts +0 -3
  311. package/dist/react/skf-switch/index.js +0 -13
  312. package/dist/react/skf-tab/index.d.ts +0 -12
  313. package/dist/react/skf-tab/index.js +0 -18
  314. package/dist/react/skf-tab-group/index.d.ts +0 -3
  315. package/dist/react/skf-tab-group/index.js +0 -13
  316. package/dist/react/skf-tab-panel/index.d.ts +0 -3
  317. package/dist/react/skf-tab-panel/index.js +0 -13
  318. package/dist/react/skf-tag/index.d.ts +0 -3
  319. package/dist/react/skf-tag/index.js +0 -13
  320. package/dist/react/skf-textarea/index.d.ts +0 -12
  321. package/dist/react/skf-textarea/index.js +0 -18
  322. package/dist/react/skf-toast/index.d.ts +0 -3
  323. package/dist/react/skf-toast/index.js +0 -13
  324. package/dist/react/skf-toast-wrapper/index.d.ts +0 -3
  325. package/dist/react/skf-toast-wrapper/index.js +0 -13
  326. package/dist/react/skf-tooltip/index.d.ts +0 -12
  327. package/dist/react/skf-tooltip/index.js +0 -18
  328. /package/dist/components/{breadcrumb-item/breadcrumb-item.styles.d.ts → accordion/accordion-item.styles.d.ts} +0 -0
  329. /package/dist/components/{breadcrumb-item → breadcrumb}/breadcrumb-item.component.d.ts +0 -0
  330. /package/dist/components/{menu-item/menu-item.styles.d.ts → breadcrumb/breadcrumb-item.styles.d.ts} +0 -0
  331. /package/dist/components/{select-option-group/select-option-group.style.d.ts → datepicker/datepicker-calendar.styles.d.ts} +0 -0
  332. /package/dist/components/{select-option/select-option.styles.d.ts → datepicker/datepicker-popup.styles.d.ts} +0 -0
  333. /package/dist/components/{stepper-item/stepper-item.styles.d.ts → drawer/drawer.styles.d.ts} +0 -0
  334. /package/dist/components/{tab-group/tab-group.styles.d.ts → header/header.styles.d.ts} +0 -0
  335. /package/dist/components/{menu-item → menu}/menu-item.js +0 -0
  336. /package/dist/components/{tab-panel/tab-panel.styles.d.ts → menu/menu-item.styles.d.ts} +0 -0
  337. /package/dist/components/{tab/tab.styles.d.ts → nav/nav-item.styles.d.ts} +0 -0
  338. /package/dist/components/{toast-wrapper/toast-wrapper.styles.d.ts → nav/nav.styles.d.ts} +0 -0
  339. /package/dist/components/{select-option-group → select}/select-option-group.js +0 -0
  340. /package/dist/components/{select-option → select}/select-option.d.ts +0 -0
  341. /package/dist/components/{select-option → select}/select-option.js +0 -0
  342. /package/dist/components/{stepper-item → stepper}/stepper-item.component.d.ts +0 -0
  343. /package/dist/components/{stepper-item → stepper}/stepper-item.js +0 -0
  344. /package/dist/components/{stepper-item → stepper}/stepper-item.styles.js +0 -0
  345. /package/dist/components/{tab-panel → tabs}/tab-panel.component.d.ts +0 -0
  346. /package/dist/components/{tab-panel → tabs}/tab-panel.js +0 -0
  347. /package/dist/components/{tab-panel → tabs}/tab-panel.styles.js +0 -0
  348. /package/dist/components/{tab → tabs}/tab.js +0 -0
  349. /package/dist/components/{tab → tabs}/tab.styles.js +0 -0
  350. /package/dist/components/{toast-item → toast}/toast-item.component.d.ts +0 -0
  351. /package/dist/components/{toast-item → toast}/toast-item.styles.d.ts +0 -0
  352. /package/dist/components/{toast-wrapper → toast}/toast-wrapper.component.d.ts +0 -0
  353. /package/dist/components/{toast-wrapper → toast}/toast-wrapper.d.ts +0 -0
  354. /package/dist/components/{toast-wrapper → toast}/toast-wrapper.js +0 -0
  355. /package/dist/components/{toast-wrapper → toast}/toast-wrapper.styles.js +0 -0
package/dist/index.d.ts CHANGED
@@ -1,32 +1,45 @@
1
- export { default as SkfAccordion, SkfAccordionItem } from './components/accordion/accordion.js';
1
+ export { default as SkfAccordionItem } from './components/accordion/accordion-item.js';
2
+ export { default as SkfAccordion } from './components/accordion/accordion.js';
2
3
  export { default as SkfAlert } from './components/alert/alert.js';
4
+ export { default as SkfBreadcrumbItem } from './components/breadcrumb/breadcrumb-item.js';
5
+ export { default as SkfBreadcrumb } from './components/breadcrumb/breadcrumb.js';
3
6
  export { default as SkfButton } from './components/button/button.js';
4
7
  export { default as SkfCard } from './components/card/card.js';
5
8
  export { default as SkfCheckbox } from './components/checkbox/checkbox.js';
6
- export { default as SkfCollapse } from './components/collapse/collapse.js';
9
+ export { default as SkfDatepickerCalendar } from './components/datepicker/datepicker-calendar.js';
10
+ export { default as SkfDatepickerPopup } from './components/datepicker/datepicker-popup.js';
11
+ export { default as SkfDatepicker } from './components/datepicker/datepicker.js';
7
12
  export { default as SkfDialog } from './components/dialog/dialog.js';
8
13
  export { default as SkfDivider } from './components/divider/divider.js';
14
+ export { default as SkfDrawer } from './components/drawer/drawer.js';
15
+ export { default as SkfHeader } from './components/header/header.js';
9
16
  export { default as SkfHeading } from './components/heading/heading.js';
10
17
  export { default as SkfIcon } from './components/icon/icon.js';
11
18
  export { default as SkfInput } from './components/input/input.js';
12
19
  export { default as SkfLink } from './components/link/link.js';
13
20
  export { default as SkfLoader } from './components/loader/loader.js';
14
21
  export { default as SkfLogo } from './components/logo/logo.js';
15
- export { default as SkfMenuItem } from './components/menu-item/menu-item.js';
22
+ export { default as SkfMenuItem } from './components/menu/menu-item.js';
16
23
  export { default as SkfMenu } from './components/menu/menu.js';
24
+ export { default as SkfNavItem } from './components/nav/nav-item.js';
25
+ export { default as SkfNav } from './components/nav/nav.js';
17
26
  export { default as SkfPopover } from './components/popover/popover.js';
18
27
  export { default as SkfProgress } from './components/progress/progress.js';
19
28
  export { default as SkfRadio } from './components/radio/radio.js';
20
- export { default as SkfOptionGroup } from './components/select-option-group/select-option-group.js';
21
- export { default as SkfOption } from './components/select-option/select-option.js';
29
+ export { default as SkfSegmentedButtonItem } from './components/segmented-button/segmented-button-item.js';
30
+ export { default as SkfSegmentedButton } from './components/segmented-button/segmented-button.js';
31
+ export { default as SkfOptionGroup } from './components/select/select-option-group.js';
32
+ export { default as SkfOption } from './components/select/select-option.js';
22
33
  export { default as SkfSelect } from './components/select/select.js';
23
- export { default as SkfStepperItem } from './components/stepper-item/stepper-item.js';
34
+ export { default as SkfStepperItem } from './components/stepper/stepper-item.js';
24
35
  export { default as SkfStepper } from './components/stepper/stepper.js';
25
36
  export { default as SkfSwitch } from './components/switch/switch.js';
26
- export { default as SkfTabGoup } from './components/tab-group/tab-group.js';
27
- export { default as SkfTabPanel } from './components/tab-panel/tab-panel.js';
28
- export { default as SkfTab } from './components/tab/tab.js';
37
+ export { default as SkfTabPanel } from './components/tabs/tab-panel.js';
38
+ export { default as SkfTab } from './components/tabs/tab.js';
39
+ export { default as SkfTabs } from './components/tabs/tabs.js';
29
40
  export { default as SkfTag } from './components/tag/tag.js';
30
41
  export { default as SkfTextArea } from './components/textarea/textarea.js';
42
+ export { default as SkfToastItem } from './components/toast/toast-item.js';
43
+ export { default as SkfToastWrapper } from './components/toast/toast-wrapper.js';
31
44
  export { default as SkfToast } from './components/toast/toast.js';
32
45
  export { default as SkfTooltip } from './components/tooltip/tooltip.js';
package/dist/index.js CHANGED
@@ -1,100 +1,137 @@
1
+ import "./components/accordion/accordion-item.js";
1
2
  import "./components/accordion/accordion.js";
2
3
  import "./components/alert/alert.js";
4
+ import "./components/breadcrumb/breadcrumb-item.js";
5
+ import "./components/breadcrumb/breadcrumb.js";
3
6
  import "./components/button/button.js";
4
7
  import "./components/card/card.js";
5
8
  import "./components/checkbox/checkbox.js";
6
- import "./components/collapse/collapse.js";
9
+ import "./components/datepicker/datepicker-calendar.js";
10
+ import "./components/datepicker/datepicker-popup.js";
11
+ import "./components/datepicker/datepicker.js";
7
12
  import "./components/dialog/dialog.js";
8
13
  import "./components/divider/divider.js";
14
+ import "./components/drawer/drawer.js";
15
+ import "./components/header/header.js";
9
16
  import "./components/heading/heading.js";
10
17
  import "./components/icon/icon.js";
11
18
  import "./components/input/input.js";
12
19
  import "./components/link/link.js";
13
20
  import "./components/loader/loader.js";
14
21
  import "./components/logo/logo.js";
15
- import "./components/menu-item/menu-item.js";
22
+ import "./components/menu/menu-item.js";
16
23
  import "./components/menu/menu.js";
24
+ import "./components/nav/nav-item.js";
25
+ import "./components/nav/nav.js";
17
26
  import "./components/popover/popover.js";
18
27
  import "./components/progress/progress.js";
19
28
  import "./components/radio/radio.js";
20
- import "./components/select-option-group/select-option-group.js";
21
- import "./components/select-option/select-option.js";
29
+ import "./components/segmented-button/segmented-button-item.js";
30
+ import "./components/segmented-button/segmented-button.js";
31
+ import "./components/select/select-option-group.js";
32
+ import "./components/select/select-option.js";
22
33
  import "./components/select/select.js";
23
- import "./components/stepper-item/stepper-item.js";
34
+ import "./components/stepper/stepper-item.js";
24
35
  import "./components/stepper/stepper.js";
25
36
  import "./components/switch/switch.js";
26
- import "./components/tab-group/tab-group.js";
27
- import "./components/tab-panel/tab-panel.js";
28
- import "./components/tab/tab.js";
37
+ import "./components/tabs/tab-panel.js";
38
+ import "./components/tabs/tab.js";
39
+ import "./components/tabs/tabs.js";
29
40
  import "./components/tag/tag.js";
30
41
  import "./components/textarea/textarea.js";
42
+ import "./components/toast/toast-item.js";
43
+ import "./components/toast/toast-wrapper.js";
31
44
  import "./components/toast/toast.js";
32
45
  import "./components/tooltip/tooltip.js";
33
- import { SkfAccordion as H } from "./components/accordion/accordion.component.js";
34
- import { SkfAlert as j } from "./components/alert/alert.component.js";
35
- import { SkfButton as y } from "./components/button/button.component.js";
36
- import { SkfCard as E } from "./components/card/card.component.js";
37
- import { SkfCheckbox as J } from "./components/checkbox/checkbox.component.js";
38
- import { SkfCollapse as N } from "./components/collapse/collapse.component.js";
39
- import { SkfDialog as U } from "./components/dialog/dialog.component.js";
40
- import { SkfDivider as W } from "./components/divider/divider.component.js";
41
- import { SkfHeading as Y } from "./components/heading/heading.component.js";
42
- import { SkfIcon as _ } from "./components/icon/icon.component.js";
43
- import { SkfInput as oo } from "./components/input/input.component.js";
44
- import { SkfLink as to } from "./components/link/link.component.js";
45
- import { SkfLoader as fo } from "./components/loader/loader.component.js";
46
- import { SkfLogo as eo } from "./components/logo/logo.component.js";
47
- import { SkfMenuItem as So } from "./components/menu-item/menu-item.component.js";
48
- import { SkfMenu as xo } from "./components/menu/menu.component.js";
49
- import { SkfPopover as no } from "./components/popover/popover.component.js";
50
- import { SkfProgress as lo } from "./components/progress/progress.component.js";
51
- import { SkfRadio as To } from "./components/radio/radio.component.js";
52
- import { SkfSelectOptionGroup as bo } from "./components/select-option-group/select-option-group.component.js";
53
- import { SkfSelectOption as Io } from "./components/select-option/select-option.component.js";
54
- import { SkfSelect as Go } from "./components/select/select.component.js";
55
- import { SkfStepperItem as Co } from "./components/stepper-item/stepper-item.component.js";
56
- import { SkfStepper as Po } from "./components/stepper/stepper.component.js";
57
- import { SkfSwitch as vo } from "./components/switch/switch.component.js";
58
- import { SkfTabGroup as Mo } from "./components/tab-group/tab-group.component.js";
59
- import { SkfTabPanel as Bo } from "./components/tab-panel/tab-panel.component.js";
60
- import { SkfTab as Ro } from "./components/tab/tab.component.js";
61
- import { SkfTag as qo } from "./components/tag/tag.component.js";
62
- import { SkfTextArea as zo } from "./components/textarea/textarea.component.js";
63
- import { SkfToast as Fo } from "./components/toast/toast.component.js";
64
- import { SkfTooltip as Ko } from "./components/tooltip/tooltip.component.js";
65
- import { SkfAccordionItem as Qo } from "./components/accordion/accordion-item.js";
46
+ import { SkfAccordionItem as U } from "./components/accordion/accordion-item.component.js";
47
+ import { SkfAccordion as X } from "./components/accordion/accordion.component.js";
48
+ import { SkfAlert as Z } from "./components/alert/alert.component.js";
49
+ import { SkfBreadcrumbItem as $ } from "./components/breadcrumb/breadcrumb-item.component.js";
50
+ import { SkfBreadcrumb as ro } from "./components/breadcrumb/breadcrumb.component.js";
51
+ import { SkfButton as po } from "./components/button/button.component.js";
52
+ import { SkfCard as eo } from "./components/card/card.component.js";
53
+ import { SkfCheckbox as io } from "./components/checkbox/checkbox.component.js";
54
+ import { SkfDatepickerCalendar as ko } from "./components/datepicker/datepicker-calendar.component.js";
55
+ import { SkfDatepickerPopup as ao } from "./components/datepicker/datepicker-popup.component.js";
56
+ import { SkfDatepicker as co } from "./components/datepicker/datepicker.component.js";
57
+ import { SkfDialog as Io } from "./components/dialog/dialog.component.js";
58
+ import { SkfDivider as lo } from "./components/divider/divider.component.js";
59
+ import { SkfDrawer as go } from "./components/drawer/drawer.component.js";
60
+ import { SkfHeader as Do } from "./components/header/header.component.js";
61
+ import { SkfHeading as vo } from "./components/heading/heading.component.js";
62
+ import { SkfIcon as Oo } from "./components/icon/icon.component.js";
63
+ import { SkfInput as Co } from "./components/input/input.component.js";
64
+ import { SkfLink as ho } from "./components/link/link.component.js";
65
+ import { SkfLoader as Go } from "./components/loader/loader.component.js";
66
+ import { SkfLogo as Mo } from "./components/logo/logo.component.js";
67
+ import { SkfMenuItem as Ro } from "./components/menu/menu-item.component.js";
68
+ import { SkfMenu as jo } from "./components/menu/menu.component.js";
69
+ import { SkfNavItem as yo } from "./components/nav/nav-item.component.js";
70
+ import { SkfNav as Eo } from "./components/nav/nav.component.js";
71
+ import { SkfPopover as Jo } from "./components/popover/popover.component.js";
72
+ import { SkfProgress as Qo } from "./components/progress/progress.component.js";
73
+ import { SkfRadio as Vo } from "./components/radio/radio.component.js";
74
+ import { SkfSegmentedButtonItem as Yo } from "./components/segmented-button/segmented-button-item.component.js";
75
+ import { SkfSegmentedButton as _o } from "./components/segmented-button/segmented-button.component.js";
76
+ import { SkfSelectOptionGroup as or } from "./components/select/select-option-group.component.js";
77
+ import { SkfSelectOption as tr } from "./components/select/select-option.component.js";
78
+ import { SkfSelect as mr } from "./components/select/select.component.js";
79
+ import { SkfStepperItem as fr } from "./components/stepper/stepper-item.component.js";
80
+ import { SkfStepper as Sr } from "./components/stepper/stepper.component.js";
81
+ import { SkfSwitch as xr } from "./components/switch/switch.component.js";
82
+ import { SkfTabPanel as nr } from "./components/tabs/tab-panel.component.js";
83
+ import { SkfTab as dr } from "./components/tabs/tab.component.js";
84
+ import { SkfTabs as Ir } from "./components/tabs/tabs.component.js";
85
+ import { SkfTag as lr } from "./components/tag/tag.component.js";
86
+ import { SkfTextArea as gr } from "./components/textarea/textarea.component.js";
87
+ import { SkfToastItem as Dr } from "./components/toast/toast-item.component.js";
88
+ import { SkfToastWrapper as vr } from "./components/toast/toast-wrapper.component.js";
89
+ import { SkfToast as Or } from "./components/toast/toast.component.js";
90
+ import { SkfTooltip as Cr } from "./components/tooltip/tooltip.component.js";
66
91
  export {
67
- H as SkfAccordion,
68
- Qo as SkfAccordionItem,
69
- j as SkfAlert,
70
- y as SkfButton,
71
- E as SkfCard,
72
- J as SkfCheckbox,
73
- N as SkfCollapse,
74
- U as SkfDialog,
75
- W as SkfDivider,
76
- Y as SkfHeading,
77
- _ as SkfIcon,
78
- oo as SkfInput,
79
- to as SkfLink,
80
- fo as SkfLoader,
81
- eo as SkfLogo,
82
- xo as SkfMenu,
83
- So as SkfMenuItem,
84
- Io as SkfOption,
85
- bo as SkfOptionGroup,
86
- no as SkfPopover,
87
- lo as SkfProgress,
88
- To as SkfRadio,
89
- Go as SkfSelect,
90
- Po as SkfStepper,
91
- Co as SkfStepperItem,
92
- vo as SkfSwitch,
93
- Ro as SkfTab,
94
- Mo as SkfTabGoup,
95
- Bo as SkfTabPanel,
96
- qo as SkfTag,
97
- zo as SkfTextArea,
98
- Fo as SkfToast,
99
- Ko as SkfTooltip
92
+ X as SkfAccordion,
93
+ U as SkfAccordionItem,
94
+ Z as SkfAlert,
95
+ ro as SkfBreadcrumb,
96
+ $ as SkfBreadcrumbItem,
97
+ po as SkfButton,
98
+ eo as SkfCard,
99
+ io as SkfCheckbox,
100
+ co as SkfDatepicker,
101
+ ko as SkfDatepickerCalendar,
102
+ ao as SkfDatepickerPopup,
103
+ Io as SkfDialog,
104
+ lo as SkfDivider,
105
+ go as SkfDrawer,
106
+ Do as SkfHeader,
107
+ vo as SkfHeading,
108
+ Oo as SkfIcon,
109
+ Co as SkfInput,
110
+ ho as SkfLink,
111
+ Go as SkfLoader,
112
+ Mo as SkfLogo,
113
+ jo as SkfMenu,
114
+ Ro as SkfMenuItem,
115
+ Eo as SkfNav,
116
+ yo as SkfNavItem,
117
+ tr as SkfOption,
118
+ or as SkfOptionGroup,
119
+ Jo as SkfPopover,
120
+ Qo as SkfProgress,
121
+ Vo as SkfRadio,
122
+ _o as SkfSegmentedButton,
123
+ Yo as SkfSegmentedButtonItem,
124
+ mr as SkfSelect,
125
+ Sr as SkfStepper,
126
+ fr as SkfStepperItem,
127
+ xr as SkfSwitch,
128
+ dr as SkfTab,
129
+ nr as SkfTabPanel,
130
+ Ir as SkfTabs,
131
+ lr as SkfTag,
132
+ gr as SkfTextArea,
133
+ Or as SkfToast,
134
+ Dr as SkfToastItem,
135
+ vr as SkfToastWrapper,
136
+ Cr as SkfTooltip
100
137
  };
@@ -5,25 +5,40 @@ import { type CSSResultGroup } from 'lit';
5
5
  export declare class SkfPopoverBase extends SkfElement {
6
6
  static styles: CSSResultGroup;
7
7
  static classMap: {};
8
- isOpen: boolean;
8
+ $popover: this;
9
9
  placement: Placement;
10
- variant: 'dropdown' | 'popup' | 'tooltip';
10
+ variant: 'menu' | 'popup' | 'tooltip';
11
11
  anchor?: string;
12
+ isOpen: boolean;
12
13
  offset: number;
13
14
  $anchor?: Element | HTMLElement | null;
14
15
  arrow: boolean;
15
- $popover: HTMLElement;
16
- $arrow: HTMLElement;
17
16
  /** @internal */
17
+ triggerEvent: 'mouseenter' | 'click';
18
+ $arrow: HTMLElement;
19
+ abortEventsController: AbortController;
20
+ signal: AbortSignal;
18
21
  protected popoverController: PopoverController;
19
- private _toggleOpen;
22
+ constructor();
23
+ disconnectedCallback(): void;
24
+ protected _toggleOpen: (newValue?: boolean) => void;
20
25
  private _handleToggle;
21
- handleToggleOpen: () => void;
26
+ handleToggleOpen: () => Promise<void>;
27
+ handleAnchorEl(): void;
22
28
  handleAnchorChange: () => Promise<void>;
23
29
  reposition: () => Promise<void>;
24
- open: () => boolean;
25
- close: () => boolean;
30
+ handleEscapeKey: (e: KeyboardEvent) => void;
31
+ open(e: Event): void;
32
+ /** @internal add additional open tasks here in UI component */
33
+ openExtended(): void;
34
+ close(): void;
35
+ /** @internal add additional close tasks here in UI component */
36
+ closeExtended(): void;
37
+ /** @internal eventlisteners here should implement abort signal */
26
38
  addEventListeners($element: HTMLElement | Element): void;
27
- removeEventListeners($element: HTMLElement | Element): void;
39
+ /** @internal */
40
+ removeEventListeners(): void;
28
41
  render(): import("lit").TemplateResult<1>;
42
+ /** @internal helper */
43
+ private _containsFocusableElement;
29
44
  }
@@ -1,116 +1,177 @@
1
- import { flip as b, offset as C, arrow as _, computePosition as E } from "@floating-ui/dom";
2
- import { SkfElement as P } from "../../components/skf-element.js";
3
- import { PopoverController as L } from "../../controllers/popover.controller.js";
4
- import { watch as $ } from "../../helpers/watch.js";
5
- import M from "../../../styles/component.styles.js";
6
- import { html as y, nothing as T } from "lit";
7
- import { property as a, state as h, query as u } from "lit/decorators.js";
1
+ import { flip as O, offset as C, arrow as x, computePosition as A } from "@floating-ui/dom";
2
+ import { SkfElement as S } from "../../components/skf-element.js";
3
+ import { PopoverController as P } from "../../controllers/popover.controller.js";
4
+ import { uuid as _ } from "../../helpers/uuid.js";
5
+ import { watch as f } from "../../helpers/watch.js";
6
+ import { componentStyles as L } from "../../../styles/component.styles.js";
7
+ import { nothing as F, html as y } from "lit";
8
+ import { property as u, state as c, query as T } from "lit/decorators.js";
8
9
  import { classMap as j } from "lit/directives/class-map.js";
9
- import { styles as k } from "./popover.styles.js";
10
- var B = Object.defineProperty, o = (l, t, i, c) => {
11
- for (var r = void 0, n = l.length - 1, p; n >= 0; n--)
12
- (p = l[n]) && (r = p(t, i, r) || r);
13
- return r && B(t, i, r), r;
14
- }, s;
15
- const e = (s = class extends P {
10
+ import { styles as M } from "./popover.styles.js";
11
+ var k = Object.defineProperty, R = Object.getOwnPropertyDescriptor, r = (m, t, o, i) => {
12
+ for (var e = i > 1 ? void 0 : i ? R(t, o) : t, n = m.length - 1, a; n >= 0; n--)
13
+ (a = m[n]) && (e = (i ? a(t, o, e) : a(e)) || e);
14
+ return i && e && k(t, o, e), e;
15
+ }, p;
16
+ const s = (p = class extends S {
16
17
  constructor() {
17
- super(...arguments), this.isOpen = !1, this.placement = "top", this.variant = "popup", this.offset = 0, this.arrow = !1, this.popoverController = new L(this), this._toggleOpen = (t) => this.isOpen = t ?? !this.isOpen, this._handleToggle = (t) => {
18
- const i = t.newState === "open";
19
- this.isOpen = i, this.emit(i ? "open" : "close");
20
- }, this.handleToggleOpen = () => {
21
- this.$popover.togglePopover(this.isOpen), this.$popover.animate([{ opacity: 0 }, { opacity: 1 }], {
22
- duration: 150,
23
- easing: "ease-out",
24
- fill: "forwards"
25
- });
18
+ super(), this.$popover = this, this.placement = "top", this.variant = "popup", this.isOpen = !1, this.offset = 0, this.arrow = !1, this.triggerEvent = "mouseenter", this.abortEventsController = new AbortController(), this.signal = this.abortEventsController.signal, this.popoverController = new P(this), this._toggleOpen = (t) => {
19
+ this.isOpen = t ?? !this.isOpen;
20
+ }, this._handleToggle = (t) => {
21
+ const o = t.newState === "open";
22
+ this.isOpen = o, this.emit(o ? "skf-opened" : "skf-closed");
23
+ }, this.handleToggleOpen = async () => {
24
+ this.$anchor && (this.isOpen ? (this.$popover.togglePopover(!0), this.$popover.animate([{ opacity: 0 }, { opacity: 1 }], { duration: 250, fill: "forwards" })) : (await this.$popover.animate([{ opacity: 0 }], { duration: 150, fill: "forwards" }).finished, this.$popover.togglePopover(this.isOpen)));
26
25
  }, this.handleAnchorChange = async () => {
27
26
  if (!this.anchor) return;
28
- await this.popoverController.stop(), this.$anchor && this.removeEventListeners(this.$anchor);
27
+ await this.popoverController.stop(), this.$anchor && this.removeEventListeners();
29
28
  const t = this.getRootNode();
30
29
  this.$anchor = t.getElementById(this.anchor), this.$anchor && (this.addEventListeners(this.$anchor), this.popoverController.start());
31
30
  }, this.reposition = async () => {
32
- var n, p, f;
31
+ var n, a, h;
33
32
  if (!this.$anchor) return;
34
- const t = [b(), C(this.offset)];
35
- this.arrow && t.push(_({ element: this.$arrow }));
36
- const { x: i, y: c, middlewareData: r } = await E(this.$anchor, this.$popover, {
33
+ const t = [O(), C(this.offset)];
34
+ this.arrow && t.push(x({ element: this.$arrow }));
35
+ const { x: o, y: i, middlewareData: e } = await A(this.$anchor, this.$popover, {
37
36
  placement: this.placement,
38
37
  middleware: t,
39
38
  strategy: "fixed"
40
39
  });
41
40
  if (Object.assign(this.$popover.style, {
42
- left: `${String(i)}px`,
43
- top: `${String(c)}px`
41
+ left: `${String(o)}px`,
42
+ top: `${String(i)}px`
44
43
  }), this.arrow) {
45
- const m = this.placement.split("-")[0], d = { top: "bottom", right: "left", bottom: "top", left: "right" }[m] ?? "", g = (n = r.flip) == null ? void 0 : n.index, v = (p = r.arrow) == null ? void 0 : p.x, w = (f = r.arrow) == null ? void 0 : f.y, O = typeof v == "number" ? `${String(v)}px` : "", S = typeof w == "number" ? `${String(w)}px` : "", x = {
44
+ const d = this.placement.split("-")[0], l = { top: "bottom", right: "left", bottom: "top", left: "right" }[d] ?? "", g = (n = e.flip) == null ? void 0 : n.index, v = (a = e.arrow) == null ? void 0 : a.x, b = (h = e.arrow) == null ? void 0 : h.y, $ = typeof v == "number" ? `${String(v)}px` : "", w = typeof b == "number" ? `${String(b)}px` : "", E = {
46
45
  bottom: 45,
47
46
  right: 135,
48
47
  top: 225,
49
48
  left: 315
50
49
  };
51
50
  Object.assign(this.$arrow.style, {
52
- top: S,
53
- [this.placement.includes("left") ? "right" : "left"]: O,
54
- [g ? m : d]: "calc(var(--_skf-popover-arrow-size) * -1)",
55
- rotate: `${(x[d] + (g ? 180 : 0)).toString()}deg`
51
+ top: w,
52
+ [this.placement.includes("left") ? "right" : "left"]: $,
53
+ [g ? d : l]: "calc(var(--_skf-popover-arrow-size) * -1)",
54
+ rotate: `${(E[l] + (g ? 180 : 0)).toString()}deg`
56
55
  });
57
56
  }
58
- }, this.open = () => this._toggleOpen(!0), this.close = () => this._toggleOpen(!1);
57
+ }, this.handleEscapeKey = (t) => {
58
+ t.key === "Escape" && this.close();
59
+ }, this.setAttribute("popover", "");
60
+ }
61
+ disconnectedCallback() {
62
+ super.disconnectedCallback(), this.abortEventsController.abort();
63
+ }
64
+ handleAnchorEl() {
65
+ if (!this.$anchor) return;
66
+ const t = this._containsFocusableElement(this);
67
+ this.$anchor.addEventListener(
68
+ "focusout",
69
+ (o) => {
70
+ const i = this.contains(o.relatedTarget);
71
+ t && i || this.close();
72
+ },
73
+ { signal: this.signal }
74
+ ), this.addEventListener(
75
+ "focusout",
76
+ (o) => {
77
+ const i = this.contains(o.relatedTarget);
78
+ t && i || this.close();
79
+ },
80
+ { signal: this.signal }
81
+ ), this.$popover.id = _(this.$anchor.id), ["popup", "menu"].includes(this.variant) && (this.$anchor.setAttribute("aria-haspopup", "true"), this.setAttribute("aria-labelledby", this.$anchor.id)), ["menu"].includes(this.variant) && this.$anchor.setAttribute("aria-controls", this.$popover.id), ["popup"].includes(this.variant) && t && (this.role = "dialog"), ["tooltip"].includes(this.variant) && this.$anchor.addEventListener("focusin", this.open.bind(this), { signal: this.signal });
82
+ }
83
+ open(t) {
84
+ t.stopPropagation(), this._toggleOpen(!0), this.abortEventsController = new AbortController(), this.signal = this.abortEventsController.signal, document.addEventListener("keydown", this.handleEscapeKey.bind(this), { signal: this.signal }), this.openExtended();
59
85
  }
86
+ /** @internal add additional open tasks here in UI component */
87
+ openExtended() {
88
+ }
89
+ close() {
90
+ this.closeExtended(), this._toggleOpen(!1), this.abortEventsController.abort();
91
+ }
92
+ /** @internal add additional close tasks here in UI component */
93
+ closeExtended() {
94
+ }
95
+ /** @internal eventlisteners here should implement abort signal */
60
96
  addEventListeners(t) {
61
97
  throw new Error(`Cannot add eventListeners for ${t.id}. Method not implemented.`);
62
98
  }
63
- removeEventListeners(t) {
64
- throw new Error(`Cannot remove eventListeners for ${t.id}. Method not implemented.`);
99
+ /** @internal */
100
+ removeEventListeners() {
101
+ this.abortEventsController.abort();
65
102
  }
66
103
  render() {
67
- return y`
104
+ var t;
105
+ return ["popup", "menu"].includes(this.variant) && ((t = this.$anchor) == null || t.setAttribute("aria-expanded", this.isOpen ? "true" : "false")), y`
68
106
  <div
69
107
  @toggle=${this._handleToggle}
70
- class=${j({ popover: !0, ...s.classMap })}
71
- id="popover"
72
- popover
108
+ class=${j({ popover: !0, ...p.classMap })}
109
+ id="root"
73
110
  >
74
111
  <slot></slot>
75
- ${this.arrow ? y`<div class="popover__arrow" id="arrow"></div>` : T}
112
+ ${this.arrow ? y`<div id="arrow"></div>` : F}
76
113
  </div>
77
114
  `;
78
115
  }
79
- }, s.styles = [M, k], s.classMap = {}, s);
80
- o([
81
- a({ type: Boolean, reflect: !0 })
82
- ], e.prototype, "isOpen");
83
- o([
84
- a()
85
- ], e.prototype, "placement");
86
- o([
87
- a()
88
- ], e.prototype, "variant");
89
- o([
90
- a()
91
- ], e.prototype, "anchor");
92
- o([
93
- h()
94
- ], e.prototype, "offset");
95
- o([
96
- h()
97
- ], e.prototype, "$anchor");
98
- o([
99
- h()
100
- ], e.prototype, "arrow");
101
- o([
102
- u("#popover")
103
- ], e.prototype, "$popover");
104
- o([
105
- u("#arrow")
106
- ], e.prototype, "$arrow");
107
- o([
108
- $("isOpen", { afterUpdate: !0 })
109
- ], e.prototype, "handleToggleOpen");
110
- o([
111
- $("anchor")
112
- ], e.prototype, "handleAnchorChange");
113
- let X = e;
116
+ /** @internal helper */
117
+ _containsFocusableElement(t) {
118
+ return e(t, [
119
+ "a[href]",
120
+ "button:not([disabled])",
121
+ "input:not([disabled])",
122
+ "select:not([disabled])",
123
+ "textarea:not([disabled])",
124
+ '[tabindex]:not([tabindex="-1"])'
125
+ ]).length > 0;
126
+ function e(n, a) {
127
+ const h = Array.from(
128
+ n.querySelectorAll(a.join(", "))
129
+ ), d = Array.from(n.querySelectorAll("*")).map((l) => l.shadowRoot).filter((l) => l !== null);
130
+ for (const l of d)
131
+ h.push(
132
+ ...e(l, a)
133
+ );
134
+ return h;
135
+ }
136
+ }
137
+ }, p.styles = [L, M], p.classMap = {}, p);
138
+ r([
139
+ u()
140
+ ], s.prototype, "placement", 2);
141
+ r([
142
+ u()
143
+ ], s.prototype, "variant", 2);
144
+ r([
145
+ u()
146
+ ], s.prototype, "anchor", 2);
147
+ r([
148
+ c()
149
+ ], s.prototype, "isOpen", 2);
150
+ r([
151
+ c()
152
+ ], s.prototype, "offset", 2);
153
+ r([
154
+ c()
155
+ ], s.prototype, "$anchor", 2);
156
+ r([
157
+ c()
158
+ ], s.prototype, "arrow", 2);
159
+ r([
160
+ c()
161
+ ], s.prototype, "triggerEvent", 2);
162
+ r([
163
+ T("#arrow")
164
+ ], s.prototype, "$arrow", 2);
165
+ r([
166
+ f("isOpen", { afterUpdate: !0 })
167
+ ], s.prototype, "handleToggleOpen", 2);
168
+ r([
169
+ f("$anchor")
170
+ ], s.prototype, "handleAnchorEl", 1);
171
+ r([
172
+ f("anchor")
173
+ ], s.prototype, "handleAnchorChange", 2);
174
+ let G = s;
114
175
  export {
115
- X as SkfPopoverBase
176
+ G as SkfPopoverBase
116
177
  };
@@ -1,20 +1,32 @@
1
1
  import { css as o } from "lit";
2
2
  const e = o`
3
- /* stylelint-disable selector-class-pattern */
4
3
  @layer components {
5
- .popover {
6
- background-color: var(--skf-bg-color-neutral-1);
4
+ :host {
7
5
  border: none;
8
6
  border-radius: var(--skf-border-radius-sm);
9
7
  box-shadow: var(--skf-shadow-md);
8
+ contain: layout;
9
+ height: fit-content;
10
+ margin: 0;
10
11
  opacity: 0;
11
12
  overflow: visible;
13
+ width: fit-content;
12
14
  }
13
15
 
14
- .popover__arrow {
15
- --_skf-popover-arrow-size: calc(6px * 0.7071);
16
+ :host(:not(:popover-open)) {
17
+ display: none;
18
+ }
16
19
 
20
+ #root {
17
21
  background-color: var(--skf-bg-color-neutral-1);
22
+ height: 100%;
23
+ width: 100%;
24
+ }
25
+
26
+ #arrow {
27
+ --_skf-popover-arrow-size: calc(6px * 0.7071);
28
+
29
+ background-color: inherit;
18
30
  block-size: calc(var(--_skf-popover-arrow-size) * 2);
19
31
  box-shadow: 1px 1px 2px 0 rgb(0 0 0 / 5%);
20
32
  inline-size: calc(var(--_skf-popover-arrow-size) * 2);