@skf-design-system/ui-components 1.0.0-alpha.33 → 1.0.0-alpha.35

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 (345) hide show
  1. package/README.md +20 -27
  2. package/dist/components/accordion/accordion-item.component.d.ts +36 -0
  3. package/dist/components/accordion/accordion-item.component.js +98 -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 +7 -7
  9. package/dist/components/accordion/accordion.d.ts +0 -1
  10. package/dist/components/alert/alert.component.d.ts +12 -12
  11. package/dist/components/alert/alert.component.js +57 -54
  12. package/dist/components/alert/alert.styles.js +50 -51
  13. package/dist/components/breadcrumb/breadcrumb-item.component.d.ts +25 -0
  14. package/dist/components/breadcrumb/breadcrumb-item.component.js +60 -0
  15. package/dist/components/breadcrumb/breadcrumb-item.d.ts +8 -0
  16. package/dist/components/breadcrumb/breadcrumb-item.js +6 -0
  17. package/dist/components/breadcrumb/breadcrumb-item.styles.js +63 -0
  18. package/dist/components/breadcrumb/breadcrumb.component.d.ts +32 -0
  19. package/dist/components/breadcrumb/breadcrumb.component.js +65 -0
  20. package/dist/components/breadcrumb/breadcrumb.d.ts +8 -0
  21. package/dist/components/breadcrumb/breadcrumb.js +6 -0
  22. package/dist/components/breadcrumb/breadcrumb.styles.js +25 -0
  23. package/dist/components/button/button.component.d.ts +17 -14
  24. package/dist/components/button/button.component.js +74 -60
  25. package/dist/components/button/button.styles.d.ts +1 -2
  26. package/dist/components/button/button.styles.js +13 -3
  27. package/dist/components/card/card.component.d.ts +4 -1
  28. package/dist/components/card/card.component.js +46 -36
  29. package/dist/components/card/card.styles.js +36 -23
  30. package/dist/components/checkbox/checkbox.component.d.ts +17 -13
  31. package/dist/components/checkbox/checkbox.component.js +75 -61
  32. package/dist/components/checkbox/checkbox.styles.d.ts +1 -2
  33. package/dist/components/checkbox/checkbox.styles.js +1 -5
  34. package/dist/components/datepicker/datepicker-calendar.component.d.ts +80 -0
  35. package/dist/components/datepicker/datepicker-calendar.component.js +415 -0
  36. package/dist/components/datepicker/datepicker-calendar.d.ts +8 -0
  37. package/dist/components/datepicker/datepicker-calendar.js +6 -0
  38. package/dist/components/datepicker/datepicker-calendar.styles.js +202 -0
  39. package/dist/components/datepicker/datepicker-popup.component.d.ts +64 -0
  40. package/dist/components/datepicker/datepicker-popup.component.js +261 -0
  41. package/dist/components/datepicker/datepicker-popup.d.ts +8 -0
  42. package/dist/components/datepicker/datepicker-popup.helpers.d.ts +41 -0
  43. package/dist/components/datepicker/datepicker-popup.helpers.js +83 -0
  44. package/dist/components/datepicker/datepicker-popup.js +6 -0
  45. package/dist/components/datepicker/datepicker-popup.styles.js +87 -0
  46. package/dist/components/datepicker/datepicker.component.d.ts +121 -0
  47. package/dist/components/datepicker/datepicker.component.js +455 -0
  48. package/dist/components/datepicker/datepicker.d.ts +8 -0
  49. package/dist/components/datepicker/datepicker.helpers.d.ts +38 -0
  50. package/dist/components/datepicker/datepicker.helpers.js +31 -0
  51. package/dist/components/datepicker/datepicker.js +6 -0
  52. package/dist/components/datepicker/datepicker.styles.d.ts +1 -0
  53. package/dist/components/datepicker/datepicker.styles.js +18 -0
  54. package/dist/components/dialog/dialog.component.d.ts +20 -30
  55. package/dist/components/dialog/dialog.component.js +89 -78
  56. package/dist/components/dialog/dialog.d.ts +2 -2
  57. package/dist/components/dialog/dialog.styles.js +4 -4
  58. package/dist/components/divider/divider.component.d.ts +4 -8
  59. package/dist/components/divider/divider.component.js +24 -46
  60. package/dist/components/divider/divider.styles.js +34 -30
  61. package/dist/components/drawer/drawer.component.d.ts +61 -0
  62. package/dist/components/drawer/drawer.component.js +125 -0
  63. package/dist/components/drawer/drawer.d.ts +8 -0
  64. package/dist/components/drawer/drawer.js +6 -0
  65. package/dist/components/drawer/drawer.styles.js +71 -0
  66. package/dist/components/header/header.component.d.ts +46 -0
  67. package/dist/components/header/header.component.js +116 -0
  68. package/dist/components/header/header.d.ts +8 -0
  69. package/dist/components/header/header.js +6 -0
  70. package/dist/components/header/header.styles.js +68 -0
  71. package/dist/components/heading/heading.component.d.ts +8 -12
  72. package/dist/components/heading/heading.component.js +52 -24
  73. package/dist/components/heading/heading.styles.d.ts +1 -2
  74. package/dist/components/heading/heading.styles.js +35 -37
  75. package/dist/components/icon/icon.component.d.ts +19 -18
  76. package/dist/components/icon/icon.component.js +60 -40
  77. package/dist/components/icon/icon.styles.d.ts +1 -2
  78. package/dist/components/icon/icon.styles.js +61 -60
  79. package/dist/components/input/input.component.d.ts +31 -31
  80. package/dist/components/input/input.component.js +167 -146
  81. package/dist/components/input/input.controllers.d.ts +20 -6
  82. package/dist/components/input/input.controllers.js +14 -10
  83. package/dist/components/link/link.component.d.ts +12 -14
  84. package/dist/components/link/link.component.js +36 -34
  85. package/dist/components/link/link.styles.d.ts +1 -2
  86. package/dist/components/link/link.styles.js +24 -20
  87. package/dist/components/loader/loader.component.d.ts +1 -1
  88. package/dist/components/loader/loader.component.js +36 -40
  89. package/dist/components/loader/loader.styles.d.ts +1 -2
  90. package/dist/components/loader/loader.styles.js +40 -32
  91. package/dist/components/logo/logo.component.d.ts +8 -6
  92. package/dist/components/logo/logo.component.js +55 -51
  93. package/dist/components/logo/logo.styles.js +26 -16
  94. package/dist/components/menu/menu-item.component.d.ts +13 -0
  95. package/dist/components/{menu-item → menu}/menu-item.component.js +3 -3
  96. package/dist/components/{menu-item → menu}/menu-item.d.ts +2 -2
  97. package/dist/components/menu/menu.component.d.ts +10 -8
  98. package/dist/components/menu/menu.component.js +8 -10
  99. package/dist/components/menu/menu.d.ts +2 -2
  100. package/dist/components/nav/nav-item.component.d.ts +18 -0
  101. package/dist/components/nav/nav-item.component.js +38 -0
  102. package/dist/components/nav/nav-item.d.ts +8 -0
  103. package/dist/components/nav/nav-item.js +6 -0
  104. package/dist/components/nav/nav-item.styles.d.ts +1 -0
  105. package/dist/components/nav/nav-item.styles.js +39 -0
  106. package/dist/components/nav/nav.component.d.ts +17 -0
  107. package/dist/components/nav/nav.component.js +34 -0
  108. package/dist/components/nav/nav.d.ts +8 -0
  109. package/dist/components/nav/nav.js +6 -0
  110. package/dist/components/nav/nav.styles.d.ts +1 -0
  111. package/dist/components/nav/nav.styles.js +17 -0
  112. package/dist/components/popover/popover.component.d.ts +11 -8
  113. package/dist/components/popover/popover.component.js +24 -26
  114. package/dist/components/popover/popover.d.ts +2 -2
  115. package/dist/components/progress/progress.component.d.ts +2 -2
  116. package/dist/components/progress/progress.component.js +31 -37
  117. package/dist/components/progress/progress.d.ts +2 -2
  118. package/dist/components/progress/progress.styles.js +42 -35
  119. package/dist/components/radio/radio.component.d.ts +19 -13
  120. package/dist/components/radio/radio.component.js +13 -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.js +1 -1
  136. package/dist/components/{select-option-group → select}/select-option-group.d.ts +2 -2
  137. package/dist/components/select/select-option-group.style.d.ts +1 -0
  138. package/dist/components/{select-option → select}/select-option.component.d.ts +9 -10
  139. package/dist/components/{select-option → select}/select-option.component.js +23 -22
  140. package/dist/components/select/select-option.controllers.d.ts +15 -0
  141. package/dist/components/select/select-option.styles.d.ts +1 -0
  142. package/dist/components/select/select.component.d.ts +18 -17
  143. package/dist/components/select/select.component.js +22 -22
  144. package/dist/components/select/select.controllers.d.ts +21 -10
  145. package/dist/components/select/select.controllers.js +27 -22
  146. package/dist/components/select/stories/select.stories.icons.d.ts +7 -0
  147. package/dist/components/{stepper-item → stepper}/stepper-item.component.js +50 -49
  148. package/dist/components/{stepper-item → stepper}/stepper-item.d.ts +2 -2
  149. package/dist/components/stepper/stepper-item.styles.d.ts +1 -0
  150. package/dist/components/stepper/stepper.component.d.ts +4 -3
  151. package/dist/components/stepper/stepper.component.js +15 -15
  152. package/dist/components/stepper/stepper.d.ts +2 -2
  153. package/dist/components/stepper/stepper.helpers.d.ts +1 -1
  154. package/dist/components/switch/switch.component.d.ts +7 -6
  155. package/dist/components/switch/switch.component.js +21 -21
  156. package/dist/components/switch/switch.d.ts +2 -2
  157. package/dist/components/{tab-panel → tabs}/tab-panel.component.js +1 -1
  158. package/dist/components/{tab-panel → tabs}/tab-panel.d.ts +2 -2
  159. package/dist/components/tabs/tab-panel.styles.d.ts +1 -0
  160. package/dist/components/{tab → tabs}/tab.component.d.ts +2 -2
  161. package/dist/components/{tab → tabs}/tab.component.js +1 -1
  162. package/dist/components/{tab → tabs}/tab.d.ts +2 -2
  163. package/dist/components/tabs/tab.styles.d.ts +1 -0
  164. package/dist/components/{tab-group/tab-group.component.d.ts → tabs/tabs.component.d.ts} +3 -4
  165. package/dist/components/{tab-group/tab-group.component.js → tabs/tabs.component.js} +31 -31
  166. package/dist/components/tabs/tabs.d.ts +8 -0
  167. package/dist/components/tabs/tabs.js +6 -0
  168. package/dist/components/tabs/tabs.styles.d.ts +1 -0
  169. package/dist/components/{tab-group/tab-group.styles.js → tabs/tabs.styles.js} +16 -16
  170. package/dist/components/tag/tag.component.d.ts +20 -17
  171. package/dist/components/tag/tag.component.js +69 -67
  172. package/dist/components/tag/tag.d.ts +2 -2
  173. package/dist/components/tag/tag.styles.js +63 -50
  174. package/dist/components/textarea/textarea.component.d.ts +10 -11
  175. package/dist/components/textarea/textarea.component.js +66 -67
  176. package/dist/components/{toast-item → toast}/toast-item.component.js +15 -15
  177. package/dist/components/{toast-item → toast}/toast-item.d.ts +2 -0
  178. package/dist/components/{toast-item → toast}/toast-item.js +4 -0
  179. package/dist/components/toast/toast-item.styles.js +18 -0
  180. package/dist/components/{toast-wrapper → toast}/toast-wrapper.component.js +1 -1
  181. package/dist/components/toast/toast-wrapper.styles.d.ts +1 -0
  182. package/dist/components/toast/toast.component.d.ts +9 -5
  183. package/dist/components/toast/toast.component.js +32 -28
  184. package/dist/components/toast/toast.singleton.d.ts +6 -11
  185. package/dist/components/toast/toast.singleton.js +23 -23
  186. package/dist/components/tooltip/tooltip.component.d.ts +7 -7
  187. package/dist/components/tooltip/tooltip.component.js +16 -11
  188. package/dist/components/tooltip/tooltip.d.ts +2 -2
  189. package/dist/custom-elements.json +4450 -2753
  190. package/dist/index.d.ts +22 -9
  191. package/dist/index.js +111 -74
  192. package/dist/internal/base-classes/popover/popover.base.d.ts +24 -9
  193. package/dist/internal/base-classes/popover/popover.base.js +138 -77
  194. package/dist/internal/base-classes/popover/popover.styles.js +14 -1
  195. package/dist/internal/components/hint/hint.component.d.ts +2 -2
  196. package/dist/internal/components/hint/hint.component.js +3 -2
  197. package/dist/internal/components/hint/hint.styles.d.ts +1 -2
  198. package/dist/internal/components/hint/hint.styles.js +1 -1
  199. package/dist/internal/components/skf-element.d.ts +1 -3
  200. package/dist/internal/components/skf-element.js +4 -9
  201. package/dist/internal/constants/iconSeverity.d.ts +3 -2
  202. package/dist/internal/constants/iconSeverity.js +2 -3
  203. package/dist/internal/controllers/elementOverflowController.d.ts +13 -0
  204. package/dist/internal/controllers/popover.controller.d.ts +12 -6
  205. package/dist/internal/controllers/popover.controller.js +7 -11
  206. package/dist/internal/helpers/dateFormatter.d.ts +2 -0
  207. package/dist/internal/helpers/hintSeverity.d.ts +2 -2
  208. package/dist/internal/helpers/hintSeverity.js +1 -1
  209. package/dist/internal/helpers/stateMap.d.ts +14 -0
  210. package/dist/internal/helpers/stateMap.js +68 -0
  211. package/dist/internal/helpers/utilityTypes.d.ts +22 -0
  212. package/dist/internal/helpers/uuid.d.ts +15 -0
  213. package/dist/internal/helpers/uuid.js +14 -0
  214. package/dist/internal/helpers/watch.d.ts +1 -1
  215. package/dist/internal/helpers/watch.js +12 -12
  216. package/dist/internal/storybook/styles.d.ts +1 -0
  217. package/dist/internal/types/formField.d.ts +1 -1
  218. package/dist/internal/types.d.ts +18 -0
  219. package/dist/styles/component.styles.d.ts +1 -2
  220. package/dist/styles/component.styles.js +38 -37
  221. package/dist/styles/form-field.styles.js +11 -6
  222. package/dist/styles/global-alt.css +1 -0
  223. package/dist/styles/global.css +1 -1
  224. package/dist/types/jsx/custom-element-jsx.d.ts +767 -1282
  225. package/dist/types/vue/index.d.ts +572 -310
  226. package/dist/vscode.html-custom-data.json +547 -1068
  227. package/dist/web-types.json +1314 -769
  228. package/package.json +48 -64
  229. package/dist/components/accordion/accordion.test.d.ts +0 -1
  230. package/dist/components/checkbox/checkbox.test.d.ts +0 -1
  231. package/dist/components/collapse/collapse.component.d.ts +0 -40
  232. package/dist/components/collapse/collapse.component.js +0 -85
  233. package/dist/components/collapse/collapse.d.ts +0 -8
  234. package/dist/components/collapse/collapse.js +0 -6
  235. package/dist/components/collapse/collapse.styles.d.ts +0 -2
  236. package/dist/components/collapse/collapse.styles.js +0 -77
  237. package/dist/components/collapse/collapse.test.d.ts +0 -1
  238. package/dist/components/input/input.test.d.ts +0 -1
  239. package/dist/components/menu-item/menu-item.component.d.ts +0 -25
  240. package/dist/components/radio/radio.test.d.ts +0 -1
  241. package/dist/components/select-option/select-option.controllers.d.ts +0 -9
  242. package/dist/components/switch/switch.test.d.ts +0 -1
  243. package/dist/components/tab-group/tab-group.d.ts +0 -8
  244. package/dist/components/tab-group/tab-group.js +0 -6
  245. package/dist/components/toast-item/toast-item.styles.js +0 -16
  246. package/dist/internal/constants/heading.d.ts +0 -2
  247. package/dist/internal/playwright/index.d.ts +0 -1
  248. package/dist/react/index.d.ts +0 -33
  249. package/dist/react/index.js +0 -33
  250. package/dist/react/skf-accordion/index.d.ts +0 -3
  251. package/dist/react/skf-accordion/index.js +0 -13
  252. package/dist/react/skf-alert/index.d.ts +0 -9
  253. package/dist/react/skf-alert/index.js +0 -17
  254. package/dist/react/skf-button/index.d.ts +0 -9
  255. package/dist/react/skf-button/index.js +0 -17
  256. package/dist/react/skf-card/index.d.ts +0 -3
  257. package/dist/react/skf-card/index.js +0 -13
  258. package/dist/react/skf-checkbox/index.d.ts +0 -9
  259. package/dist/react/skf-checkbox/index.js +0 -17
  260. package/dist/react/skf-collapse/index.d.ts +0 -9
  261. package/dist/react/skf-collapse/index.js +0 -17
  262. package/dist/react/skf-dialog/index.d.ts +0 -15
  263. package/dist/react/skf-dialog/index.js +0 -19
  264. package/dist/react/skf-divider/index.d.ts +0 -3
  265. package/dist/react/skf-divider/index.js +0 -13
  266. package/dist/react/skf-heading/index.d.ts +0 -3
  267. package/dist/react/skf-heading/index.js +0 -13
  268. package/dist/react/skf-icon/index.d.ts +0 -3
  269. package/dist/react/skf-icon/index.js +0 -13
  270. package/dist/react/skf-input/index.d.ts +0 -12
  271. package/dist/react/skf-input/index.js +0 -18
  272. package/dist/react/skf-link/index.d.ts +0 -3
  273. package/dist/react/skf-link/index.js +0 -13
  274. package/dist/react/skf-loader/index.d.ts +0 -3
  275. package/dist/react/skf-loader/index.js +0 -13
  276. package/dist/react/skf-logo/index.d.ts +0 -3
  277. package/dist/react/skf-logo/index.js +0 -13
  278. package/dist/react/skf-menu/index.d.ts +0 -12
  279. package/dist/react/skf-menu/index.js +0 -18
  280. package/dist/react/skf-menu-item/index.d.ts +0 -27
  281. package/dist/react/skf-menu-item/index.js +0 -23
  282. package/dist/react/skf-popover/index.d.ts +0 -12
  283. package/dist/react/skf-popover/index.js +0 -18
  284. package/dist/react/skf-progress/index.d.ts +0 -3
  285. package/dist/react/skf-progress/index.js +0 -13
  286. package/dist/react/skf-radio/index.d.ts +0 -9
  287. package/dist/react/skf-radio/index.js +0 -17
  288. package/dist/react/skf-select/index.d.ts +0 -21
  289. package/dist/react/skf-select/index.js +0 -21
  290. package/dist/react/skf-select-option/index.d.ts +0 -9
  291. package/dist/react/skf-select-option/index.js +0 -17
  292. package/dist/react/skf-select-option-group/index.d.ts +0 -3
  293. package/dist/react/skf-select-option-group/index.js +0 -13
  294. package/dist/react/skf-stepper/index.d.ts +0 -9
  295. package/dist/react/skf-stepper/index.js +0 -17
  296. package/dist/react/skf-stepper-item/index.d.ts +0 -9
  297. package/dist/react/skf-stepper-item/index.js +0 -17
  298. package/dist/react/skf-switch/index.d.ts +0 -3
  299. package/dist/react/skf-switch/index.js +0 -13
  300. package/dist/react/skf-tab/index.d.ts +0 -12
  301. package/dist/react/skf-tab/index.js +0 -18
  302. package/dist/react/skf-tab-group/index.d.ts +0 -3
  303. package/dist/react/skf-tab-group/index.js +0 -13
  304. package/dist/react/skf-tab-panel/index.d.ts +0 -3
  305. package/dist/react/skf-tab-panel/index.js +0 -13
  306. package/dist/react/skf-tag/index.d.ts +0 -3
  307. package/dist/react/skf-tag/index.js +0 -13
  308. package/dist/react/skf-textarea/index.d.ts +0 -12
  309. package/dist/react/skf-textarea/index.js +0 -18
  310. package/dist/react/skf-toast/index.d.ts +0 -3
  311. package/dist/react/skf-toast/index.js +0 -13
  312. package/dist/react/skf-toast-wrapper/index.d.ts +0 -3
  313. package/dist/react/skf-toast-wrapper/index.js +0 -13
  314. package/dist/react/skf-tooltip/index.d.ts +0 -12
  315. package/dist/react/skf-tooltip/index.js +0 -18
  316. /package/dist/components/{menu-item/menu-item.styles.d.ts → accordion/accordion-item.styles.d.ts} +0 -0
  317. /package/dist/components/{select-option-group/select-option-group.style.d.ts → breadcrumb/breadcrumb-item.styles.d.ts} +0 -0
  318. /package/dist/components/{select-option/select-option.styles.d.ts → breadcrumb/breadcrumb.styles.d.ts} +0 -0
  319. /package/dist/components/{stepper-item/stepper-item.styles.d.ts → datepicker/datepicker-calendar.styles.d.ts} +0 -0
  320. /package/dist/components/{tab-group/tab-group.styles.d.ts → datepicker/datepicker-popup.styles.d.ts} +0 -0
  321. /package/dist/components/{tab-panel/tab-panel.styles.d.ts → drawer/drawer.styles.d.ts} +0 -0
  322. /package/dist/components/{tab/tab.styles.d.ts → header/header.styles.d.ts} +0 -0
  323. /package/dist/components/{menu-item → menu}/menu-item.js +0 -0
  324. /package/dist/components/{toast-wrapper/toast-wrapper.styles.d.ts → menu/menu-item.styles.d.ts} +0 -0
  325. /package/dist/components/{menu-item → menu}/menu-item.styles.js +0 -0
  326. /package/dist/components/{select-option-group → select}/select-option-group.component.d.ts +0 -0
  327. /package/dist/components/{select-option-group → select}/select-option-group.js +0 -0
  328. /package/dist/components/{select-option-group → select}/select-option-group.style.js +0 -0
  329. /package/dist/components/{select-option → select}/select-option.d.ts +0 -0
  330. /package/dist/components/{select-option → select}/select-option.js +0 -0
  331. /package/dist/components/{select-option → select}/select-option.styles.js +0 -0
  332. /package/dist/components/{stepper-item → stepper}/stepper-item.component.d.ts +0 -0
  333. /package/dist/components/{stepper-item → stepper}/stepper-item.js +0 -0
  334. /package/dist/components/{stepper-item → stepper}/stepper-item.styles.js +0 -0
  335. /package/dist/components/{tab-panel → tabs}/tab-panel.component.d.ts +0 -0
  336. /package/dist/components/{tab-panel → tabs}/tab-panel.js +0 -0
  337. /package/dist/components/{tab-panel → tabs}/tab-panel.styles.js +0 -0
  338. /package/dist/components/{tab → tabs}/tab.js +0 -0
  339. /package/dist/components/{tab → tabs}/tab.styles.js +0 -0
  340. /package/dist/components/{toast-item → toast}/toast-item.component.d.ts +0 -0
  341. /package/dist/components/{toast-item → toast}/toast-item.styles.d.ts +0 -0
  342. /package/dist/components/{toast-wrapper → toast}/toast-wrapper.component.d.ts +0 -0
  343. /package/dist/components/{toast-wrapper → toast}/toast-wrapper.d.ts +0 -0
  344. /package/dist/components/{toast-wrapper → toast}/toast-wrapper.js +0 -0
  345. /package/dist/components/{toast-wrapper → toast}/toast-wrapper.styles.js +0 -0
@@ -1,63 +1,61 @@
1
- var _ = (t) => {
2
- throw TypeError(t);
1
+ var m = (e) => {
2
+ throw TypeError(e);
3
3
  };
4
- var w = (t, e, o) => e.has(t) || _("Cannot " + o);
5
- var f = (t, e, o) => (w(t, e, "read from private field"), o ? o.call(t) : e.get(t)), g = (t, e, o) => e.has(t) ? _("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t) : e.set(t, o), h = (t, e, o, a) => (w(t, e, "write to private field"), a ? a.call(t, o) : e.set(t, o), o);
6
- import { SkfElement as v } from "../../internal/components/skf-element.js";
7
- import { watch as C } from "../../internal/helpers/watch.js";
8
- import B from "../../styles/component.styles.js";
9
- import { html as b, nothing as k } from "lit";
10
- import { property as c, state as m, query as P, queryAssignedElements as M } from "lit/decorators.js";
11
- import { classMap as $ } from "lit/directives/class-map.js";
4
+ var _ = (e, i, t) => i.has(e) || m("Cannot " + t);
5
+ var u = (e, i, t) => (_(e, i, "read from private field"), t ? t.call(e) : i.get(e)), g = (e, i, t) => i.has(e) ? m("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(e) : i.set(e, t), p = (e, i, t, o) => (_(e, i, "write to private field"), o ? o.call(e, t) : i.set(e, t), t);
6
+ import "../button/button.js";
7
+ import "../heading/heading.js";
8
+ import "../icon/icon.js";
9
+ import { SkfElement as C } from "../../internal/components/skf-element.js";
10
+ import { watch as v } from "../../internal/helpers/watch.js";
11
+ import { componentStyles as B } from "../../styles/component.styles.js";
12
+ import { nothing as k, html as $ } from "lit";
13
+ import { property as c, state as b, query as P, queryAssignedElements as E } from "lit/decorators.js";
14
+ import { classMap as w } from "lit/directives/class-map.js";
12
15
  import { styles as O } from "./dialog.styles.js";
13
- var A = Object.defineProperty, E = Object.getOwnPropertyDescriptor, i = (t, e, o, a) => {
14
- for (var n = a > 1 ? void 0 : a ? E(e, o) : e, l = t.length - 1, r; l >= 0; l--)
15
- (r = t[l]) && (n = (a ? r(e, o, n) : r(n)) || n);
16
- return a && n && A(e, o, n), n;
17
- }, p, u, d;
18
- const y = class y extends v {
16
+ var x = Object.defineProperty, A = Object.getOwnPropertyDescriptor, n = (e, i, t, o) => {
17
+ for (var l = o > 1 ? void 0 : o ? A(i, t) : i, a = e.length - 1, r; a >= 0; a--)
18
+ (r = e[a]) && (l = (o ? r(i, t, l) : r(l)) || l);
19
+ return o && l && x(i, t, l), l;
20
+ }, h, f, d;
21
+ const y = class y extends C {
19
22
  constructor() {
20
23
  super(...arguments);
21
- g(this, p);
22
- g(this, u);
24
+ g(this, h);
25
+ g(this, f);
23
26
  g(this, d);
24
- h(this, p, 0), h(this, u, 20), h(this, d, !1), this.fullscreen = !1, this.noCloseButton = !1, this.noPadding = !1, this.onClose = null, this.modal = !0, this.renderFoot = !1, this.show = async () => await this.showModal(), this._handleBackdropClick = (o) => {
25
- this._isModal || o.target !== this.$dialog || this.close();
26
- }, this._handleClose = (o) => {
27
- console.log("Handle close reached"), this.onClose && this.onClose(o), this.close();
28
- }, this.showModal = async () => await (async () => (console.log("%cmodal ->", "color: red", this.modal), this.$dialog.showModal(), await this._transition().entry(), this.emit("skf-dialog-open"), !0))(), this.close = async () => (console.log("close reached"), f(this, d) ? void 0 : (h(this, d, !0), await (async () => (this.emit("skf-dialog-close"), await this._transition().exit(), this.$dialog.close(), this.open = !1, h(this, d, !1), !0))()));
27
+ p(this, h, 0), p(this, f, 20), p(this, d, !1), this.fullscreen = !1, this.noCloseButton = !1, this.noPadding = !1, this.open = !1, this.onClose = null, this.renderFoot = !1, this._handleBackdropClick = (t) => {
28
+ t.target === this.$dialog && this.close();
29
+ }, this._handleClose = (t) => {
30
+ this.onClose && this.onClose(t), this.close();
31
+ }, this._handleKeyDown = (t) => {
32
+ t.preventDefault(), t.key === "Escape" && this.close();
33
+ };
34
+ }
35
+ handleOpenChange() {
36
+ var t;
37
+ this.open ? this.showModal() : this.close(), this.open && (this.renderFoot = !!((t = this.footerEls) != null && t.length));
29
38
  }
30
39
  firstUpdated() {
31
- this.$dialog.addEventListener("close", (o) => {
32
- o.stopPropagation(), console.log("close event detected 1", o), this.emit("close");
40
+ this.$dialog && this.$dialog.addEventListener("close", (t) => {
41
+ t.stopPropagation(), this.emit("skf-dialog-closed");
33
42
  });
34
43
  }
35
- handleOpenChange() {
36
- var o;
37
- switch (!0) {
38
- case (this.open === !0 && !!this.modal):
39
- this.showModal();
40
- break;
41
- case (this.open === !0 && !this.modal):
42
- this.show();
43
- break;
44
- case this.open === !1:
45
- this.close();
46
- break;
47
- }
48
- this.open && (this.renderFoot = !!((o = this.footerEls) != null && o.length));
49
- }
50
44
  /** @internal */
51
45
  _transition() {
52
- const o = this.fullscreen ? {} : {
53
- translate: `${String(f(this, p))} ${String(f(this, u))}px`
46
+ const t = this.fullscreen ? {} : {
47
+ translate: `${String(u(this, h))} ${String(u(this, f))}px`
54
48
  };
55
- return { entry: () => new Promise((l) => {
49
+ return { entry: () => new Promise((a) => {
50
+ if (!this.$dialog) {
51
+ a("no dialog found");
52
+ return;
53
+ }
56
54
  const r = this.$dialog.animate(
57
55
  [
58
56
  {
59
57
  opacity: 0,
60
- ...o
58
+ ...t
61
59
  },
62
60
  { opacity: 1, translate: "0 0" }
63
61
  ],
@@ -72,15 +70,19 @@ const y = class y extends v {
72
70
  fill: "forwards",
73
71
  pseudoElement: "::backdrop"
74
72
  }), r.onfinish = () => {
75
- l("opened");
73
+ a("opened");
76
74
  };
77
- }), exit: () => new Promise((l) => {
75
+ }), exit: () => new Promise((a) => {
76
+ if (!this.$dialog) {
77
+ a("no dialog found");
78
+ return;
79
+ }
78
80
  const r = this.$dialog.animate(
79
81
  [
80
82
  { opacity: 1, translate: "0 0" },
81
83
  {
82
84
  opacity: 0,
83
- ...o
85
+ ...t
84
86
  }
85
87
  ],
86
88
  {
@@ -94,32 +96,44 @@ const y = class y extends v {
94
96
  fill: "forwards",
95
97
  pseudoElement: "::backdrop"
96
98
  }), r.onfinish = () => {
97
- l("closed");
99
+ a("closed");
98
100
  };
99
101
  }) };
100
102
  }
101
- /** @internal */
102
- get _isModal() {
103
- return typeof this.modal == "string";
103
+ /** Method that opens the dialog in modal state */
104
+ async showModal() {
105
+ async function t(o) {
106
+ return o.$dialog ? (o.open = !0, o.$dialog.showModal(), await o._transition().entry(), o.emit("skf-dialog-opened"), !0) : !1;
107
+ }
108
+ return await t(this);
109
+ }
110
+ /** Method that closes the dialog */
111
+ async close() {
112
+ if (u(this, d) || !this.open) return;
113
+ p(this, d, !0);
114
+ async function t(o) {
115
+ return o.$dialog ? (o.emit("skf-dialog-closing"), await o._transition().exit(), o.$dialog.close(), o.open = !1, p(o, d, !1), !0) : !1;
116
+ }
117
+ return await t(this);
104
118
  }
105
119
  render() {
106
- return b`
120
+ return $`
107
121
  <dialog
108
122
  @close=${this._handleClose}
109
123
  @mousedown=${this._handleBackdropClick}
110
124
  @touchstart=${this._handleBackdropClick}
125
+ @keydown=${this._handleKeyDown}
126
+ aria-modal="true"
111
127
  autofocus
112
- class=${$({
128
+ class=${w({
113
129
  dialog: !0,
114
130
  "dialog--fullscreen": this.fullscreen,
115
131
  "dialog--no-padding": this.noPadding
116
132
  })}
117
133
  >
118
134
  <div class="dialog__head">
119
- <h2 class="dialog__heading">
120
- <slot name="heading"></slot>
121
- </h2>
122
- ${this.noCloseButton ? k : b`
135
+ <h2 class="dialog__heading">${this.heading}</h2>
136
+ ${this.noCloseButton ? k : $`
123
137
  <button
124
138
  @click=${this._handleClose}
125
139
  aria-label=${this.closeButtonAriaLabel ?? "Close dialog"}
@@ -132,7 +146,7 @@ const y = class y extends v {
132
146
  <div class="dialog__body">
133
147
  <slot class="dialog__main"></slot>
134
148
  <slot
135
- class=${$({
149
+ class=${w({
136
150
  dialog__foot: !0,
137
151
  "dialog__foot--hidden": !this.renderFoot
138
152
  })}
@@ -143,43 +157,40 @@ const y = class y extends v {
143
157
  `;
144
158
  }
145
159
  };
146
- p = new WeakMap(), u = new WeakMap(), d = new WeakMap(), y.styles = [B, O];
160
+ h = new WeakMap(), f = new WeakMap(), d = new WeakMap(), y.styles = [B, O];
147
161
  let s = y;
148
- i([
162
+ n([
149
163
  c({ attribute: "close-button-aria-label" })
150
164
  ], s.prototype, "closeButtonAriaLabel", 2);
151
- i([
165
+ n([
152
166
  c()
153
167
  ], s.prototype, "heading", 2);
154
- i([
168
+ n([
155
169
  c({ type: Boolean })
156
170
  ], s.prototype, "fullscreen", 2);
157
- i([
171
+ n([
158
172
  c({ type: Boolean, attribute: "no-close-button" })
159
173
  ], s.prototype, "noCloseButton", 2);
160
- i([
174
+ n([
161
175
  c({ type: Boolean, attribute: "no-padding" })
162
176
  ], s.prototype, "noPadding", 2);
163
- i([
177
+ n([
164
178
  c({ type: Boolean, reflect: !0 })
165
179
  ], s.prototype, "open", 2);
166
- i([
167
- m()
180
+ n([
181
+ b()
168
182
  ], s.prototype, "onClose", 2);
169
- i([
183
+ n([
184
+ b()
185
+ ], s.prototype, "renderFoot", 2);
186
+ n([
170
187
  P("dialog")
171
188
  ], s.prototype, "$dialog", 2);
172
- i([
173
- M({ slot: "footer" })
189
+ n([
190
+ E({ slot: "footer" })
174
191
  ], s.prototype, "footerEls", 2);
175
- i([
176
- m()
177
- ], s.prototype, "modal", 2);
178
- i([
179
- m()
180
- ], s.prototype, "renderFoot", 2);
181
- i([
182
- C("open")
192
+ n([
193
+ v("open")
183
194
  ], s.prototype, "handleOpenChange", 1);
184
195
  export {
185
196
  s as SkfDialog
@@ -1,5 +1,5 @@
1
- import { SkfDialog } from './dialog.component';
2
- export * from './dialog.component';
1
+ import { SkfDialog } from './dialog.component.js';
2
+ export * from './dialog.component.js';
3
3
  export default SkfDialog;
4
4
  declare global {
5
5
  interface HTMLElementTagNameMap {
@@ -1,5 +1,5 @@
1
1
  import { css as a } from "lit";
2
- const o = a`
2
+ const i = a`
3
3
  /* stylelint-disable selector-class-pattern */
4
4
  @layer components {
5
5
  .dialog {
@@ -28,7 +28,7 @@ const o = a`
28
28
  }
29
29
 
30
30
  &::backdrop {
31
- background-color: color-mix(in srgb, var(--skf-bg-color-neutral-7), transparent);
31
+ background-color: oklch(from var(--skf-bg-color-neutral-7) l c h / 50%);
32
32
  }
33
33
  }
34
34
 
@@ -58,9 +58,9 @@ const o = a`
58
58
  }
59
59
 
60
60
  .dialog__body {
61
- /* block-size: calc(100% - (var(--_skf-dialog-head-height) + (var(--skf-box-spacing) * 2))); */
62
61
  display: flex;
63
62
  flex-direction: column;
63
+ grid-area: body;
64
64
  row-gap: var(--skf-spacing-100);
65
65
 
66
66
  .dialog:not(.dialog--no-padding) & {
@@ -87,5 +87,5 @@ const o = a`
87
87
  }
88
88
  `;
89
89
  export {
90
- o as styles
90
+ i as styles
91
91
  };
@@ -1,6 +1,7 @@
1
1
  import { SkfElement } from '../../internal/components/skf-element.js';
2
2
  import type { BorderColor } from '@skf-design-system/ui-assets';
3
3
  import { type CSSResultGroup } from 'lit';
4
+ type SkfDividerColor = BorderColor;
4
5
  /**
5
6
  * The `<Divider>` component can separate items from each other, to visually emphasize their lack of a relationship between groups of information
6
7
  *
@@ -12,18 +13,13 @@ import { type CSSResultGroup } from 'lit';
12
13
  * @tagname skf-divider
13
14
  */
14
15
  export declare class SkfDivider extends SkfElement {
15
- #private;
16
16
  static styles: CSSResultGroup;
17
- /**
18
- * Defines the Divider color
19
- * @type { "emphasised" | "primary" | "secondary" | "tertiary" | "inverse" }
20
- */
21
- color: BorderColor;
17
+ /** Defines the Divider color */
18
+ color: SkfDividerColor;
22
19
  /** If true, renders a div for presentational purpose instead of the semantic hr-element */
23
20
  decorative: boolean;
24
21
  /** If true, renders the divider vertically */
25
22
  vertical: boolean;
26
- constructor();
27
23
  connectedCallback(): void;
28
- render(): import("lit").TemplateResult<1>;
29
24
  }
25
+ export {};
@@ -1,54 +1,32 @@
1
- var h = (r) => {
2
- throw TypeError(r);
1
+ import { SkfElement as n } from "../../internal/components/skf-element.js";
2
+ import { componentStyles as m } from "../../styles/component.styles.js";
3
+ import "lit";
4
+ import { property as o } from "lit/decorators.js";
5
+ import { styles as f } from "./divider.styles.js";
6
+ var h = Object.defineProperty, a = (l, s, c, v) => {
7
+ for (var t = void 0, r = l.length - 1, p; r >= 0; r--)
8
+ (p = l[r]) && (t = p(s, c, t) || t);
9
+ return t && h(s, c, t), t;
3
10
  };
4
- var m = (r, e, t) => e.has(r) || h("Cannot " + t);
5
- var c = (r, e, t) => (m(r, e, "read from private field"), t ? t.call(r) : e.get(r)), f = (r, e, t) => e.has(r) ? h("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(r) : e.set(r, t), y = (r, e, t, a) => (m(r, e, "write to private field"), a ? a.call(r, t) : e.set(r, t), t);
6
- import { SkfElement as u } from "../../internal/components/skf-element.js";
7
- import b from "../../styles/component.styles.js";
8
- import { html as C } from "lit";
9
- import { property as n } from "lit/decorators.js";
10
- import { classMap as _ } from "lit/directives/class-map.js";
11
- import { styles as x } from "./divider.styles.js";
12
- var B = Object.defineProperty, p = (r, e, t, a) => {
13
- for (var o = void 0, l = r.length - 1, v; l >= 0; l--)
14
- (v = r[l]) && (o = v(e, t, o) || o);
15
- return o && B(e, t, o), o;
16
- }, i;
17
- const d = class d extends u {
11
+ const i = class i extends n {
18
12
  constructor() {
19
- super();
20
- f(this, i);
21
- this.color = "primary", this.decorative = !1, this.vertical = !1, y(this, i, this.attachInternals());
13
+ super(...arguments), this.color = "primary", this.decorative = !1, this.vertical = !1;
22
14
  }
23
15
  connectedCallback() {
24
- super.connectedCallback(), c(this, i).role = this.decorative ? "generic" : "separator", c(this, i).ariaOrientation = this.vertical ? "vertical" : "horizontal";
25
- }
26
- render() {
27
- return C`
28
- <div
29
- class=${_({
30
- divider: !0,
31
- "divider--color-emphasised": this.color === "emphasised",
32
- "divider--color-inverse": this.color === "inverse",
33
- "divider--color-secondary": this.color === "secondary",
34
- "divider--color-tertiary": this.color === "tertiary",
35
- "divider--vertical": this.vertical
36
- })}
37
- ></div>
38
- `;
16
+ super.connectedCallback(), this.role = this.decorative ? "generic" : "separator", this.ariaOrientation = this.vertical ? "vertical" : "horizontal";
39
17
  }
40
18
  };
41
- i = new WeakMap(), d.styles = [b, x];
42
- let s = d;
43
- p([
44
- n({ reflect: !0 })
45
- ], s.prototype, "color");
46
- p([
47
- n({ type: Boolean })
48
- ], s.prototype, "decorative");
49
- p([
50
- n({ type: Boolean, reflect: !0 })
51
- ], s.prototype, "vertical");
19
+ i.styles = [m, f];
20
+ let e = i;
21
+ a([
22
+ o({ reflect: !0 })
23
+ ], e.prototype, "color");
24
+ a([
25
+ o({ type: Boolean })
26
+ ], e.prototype, "decorative");
27
+ a([
28
+ o({ type: Boolean, reflect: !0 })
29
+ ], e.prototype, "vertical");
52
30
  export {
53
- s as SkfDivider
31
+ e as SkfDivider
54
32
  };
@@ -1,43 +1,47 @@
1
1
  import { css as r } from "lit";
2
- const d = r`
3
- /* stylelint-disable selector-class-pattern */
4
- .divider {
5
- --_skf-divider-border: var(--skf-border-width-sm) solid
6
- var(--_skf-divider-border-color, var(--skf-border-color-primary));
2
+ const e = r`
3
+ @layer components {
4
+ @layer base {
5
+ :host {
6
+ --_skf-divider-border: var(--skf-border-width-sm) solid
7
+ var(--_skf-divider-border-color, var(--skf-border-color-primary));
7
8
 
8
- display: block;
9
+ display: block;
10
+ }
9
11
 
10
- &:not(.divider--vertical) {
11
- border-top: var(--_skf-divider-border);
12
- margin-block: var(--skf-divider-spacing, var(--skf-spacing-100));
13
- margin-inline: var(--skf-divider-inset, 0);
12
+ :host(:not([vertical])) {
13
+ border-top: var(--_skf-divider-border);
14
+ margin-block: var(--skf-divider-spacing, var(--skf-spacing-100));
15
+ margin-inline: var(--skf-divider-inset, 0);
16
+ }
14
17
  }
15
- }
16
18
 
17
- .divider--vertical {
18
- block-size: 100%;
19
- border-left: var(--_skf-divider-border);
20
- margin-block: var(--skf-divider-inset, 0);
21
- margin-inline: var(--skf-divider-spacing, var(--skf-spacing-100));
22
- }
19
+ @layer mods {
20
+ :host([vertical]) {
21
+ block-size: 100%;
22
+ border-left: var(--_skf-divider-border);
23
+ margin-block: var(--skf-divider-inset, 0);
24
+ margin-inline: var(--skf-divider-spacing, var(--skf-spacing-100));
25
+ }
23
26
 
24
- /** Colors */
25
- .divider--color-emphasised {
26
- --_skf-divider-border-color: var(--skf-border-color-emphasised);
27
- }
27
+ :host([color='emphasised']) {
28
+ --_skf-divider-border-color: var(--skf-border-color-emphasised);
29
+ }
28
30
 
29
- .divider--color-inverse {
30
- --_skf-divider-border-color: var(--skf-border-color-inverse);
31
- }
31
+ :host([color='inverse']) {
32
+ --_skf-divider-border-color: var(--skf-border-color-inverse);
33
+ }
32
34
 
33
- .divider--color-secondary {
34
- --_skf-divider-border-color: var(--skf-border-color-secondary);
35
- }
35
+ :host([color='secondary']) {
36
+ --_skf-divider-border-color: var(--skf-border-color-secondary);
37
+ }
36
38
 
37
- .divider--color-tertiary {
38
- --_skf-divider-border-color: var(--skf-border-color-tertiary);
39
+ :host([color='tertiary']) {
40
+ --_skf-divider-border-color: var(--skf-border-color-tertiary);
41
+ }
42
+ }
39
43
  }
40
44
  `;
41
45
  export {
42
- d as styles
46
+ e as styles
43
47
  };
@@ -0,0 +1,61 @@
1
+ import '../icon/icon.js';
2
+ import { SkfElement } from '../../internal/components/skf-element';
3
+ import { type CSSResultGroup } from 'lit';
4
+ /**
5
+ * TODO:
6
+ *
7
+ * - Fix drag outside closes the drawer
8
+ * - add tests
9
+ * - add documentation
10
+ */
11
+ /**
12
+ * The `<skf-drawer>` is a modal component that displays content and toggle by sliding from left/right viewport edge
13
+ *
14
+ * @documentation See [zeroheight](https://zeroheight.com/853e936c9/p/0789c4-drawer) for design principles
15
+ *
16
+ * @event {CustomEvent} skf-drawer-opened - Fires when the drawer is opened (after transitioned in)
17
+ * @event {CustomEvent} skf-drawer-closing - Fires when the drawer is closing (before transitioned out)
18
+ * @event {CustomEvent} skf-drawer-closed - Fires when the drawer is closed (after transitioned out)
19
+ *
20
+ * @slot - The Drawer's main content
21
+ *
22
+ * @tagname skf-drawer
23
+ */
24
+ export declare class SkfDrawer extends SkfElement {
25
+ static styles: CSSResultGroup;
26
+ /** @internal */
27
+ private _abortController?;
28
+ /** @internal */
29
+ private _signal?;
30
+ /** If defined, sets the aria-label for the close button */
31
+ closeButtonAriaLabel: string;
32
+ /** Heading for the Drawer */
33
+ heading?: string;
34
+ /** Sets the max-width */
35
+ size: 'sm' | 'md' | 'lg';
36
+ /** If true, Drawer is open */
37
+ open: boolean;
38
+ /** Placement of the Drawer */
39
+ placement: 'left' | 'right';
40
+ /** @internal */
41
+ $dialog: HTMLDialogElement;
42
+ disconnectedCallback(): void;
43
+ /** @internal */
44
+ _placementChanged: () => void;
45
+ /** @internal */
46
+ _openChanged(): Promise<void>;
47
+ /** @internal */
48
+ private _startListeners;
49
+ /** @internal */
50
+ private _clickIsInsideElement;
51
+ /** @internal */
52
+ private _animateDrawer;
53
+ /** @internal */
54
+ private _clickstartInDialog;
55
+ /** @internal */
56
+ private _handleMouseDown;
57
+ /** @internal */
58
+ private _handleMouseUp;
59
+ close(): void;
60
+ render(): import("lit").TemplateResult<1>;
61
+ }
@@ -0,0 +1,125 @@
1
+ import "../icon/icon.js";
2
+ import { SkfElement as m } from "../../internal/components/skf-element.js";
3
+ import { watch as d } from "../../internal/helpers/watch.js";
4
+ import { MOTION_DURATIONS as p } from "@skf-design-system/ui-assets";
5
+ import { componentStyles as f } from "../../styles/component.styles.js";
6
+ import { html as g } from "lit";
7
+ import { property as r, query as u } from "lit/decorators.js";
8
+ import { styles as _ } from "./drawer.styles.js";
9
+ var b = Object.defineProperty, w = Object.getOwnPropertyDescriptor, a = (h, t, i, e) => {
10
+ for (var o = e > 1 ? void 0 : e ? w(t, i) : t, n = h.length - 1, l; n >= 0; n--)
11
+ (l = h[n]) && (o = (e ? l(t, i, o) : l(o)) || o);
12
+ return e && o && b(t, i, o), o;
13
+ };
14
+ const c = class c extends m {
15
+ constructor() {
16
+ super(...arguments), this.closeButtonAriaLabel = "Close dialog", this.size = "md", this.open = !1, this.placement = "right", this._placementChanged = () => {
17
+ this.$dialog.getAnimations().forEach((i) => {
18
+ i.cancel();
19
+ });
20
+ }, this._clickstartInDialog = !1, this._handleMouseDown = (t) => {
21
+ this._clickIsInsideElement(t, this.$dialog) && (this._clickstartInDialog = !0);
22
+ }, this._handleMouseUp = () => {
23
+ if (this._clickstartInDialog) {
24
+ this._clickstartInDialog = !1;
25
+ return;
26
+ }
27
+ };
28
+ }
29
+ disconnectedCallback() {
30
+ var t;
31
+ super.disconnectedCallback(), (t = this._abortController) == null || t.abort();
32
+ }
33
+ async _openChanged() {
34
+ var t;
35
+ this.open ? (this._abortController = new AbortController(), this._signal = this._abortController.signal, this.$dialog.showModal(), this._startListeners(), await this._animateDrawer(), this.emit("skf-drawer-opened")) : ((t = this._abortController) == null || t.abort(), this.emit("skf-drawer-closing"), await this._animateDrawer(), this.emit("skf-drawer-closed"), this.$dialog.close());
36
+ }
37
+ /** @internal */
38
+ _startListeners() {
39
+ window.addEventListener(
40
+ "keydown",
41
+ (t) => {
42
+ t.key === "Escape" && (t.preventDefault(), this.close());
43
+ },
44
+ { signal: this._signal }
45
+ ), this.addEventListener("click", (t) => {
46
+ !this._clickIsInsideElement(t, this.$dialog) && !this._clickstartInDialog && this.close();
47
+ });
48
+ }
49
+ /** @internal */
50
+ _clickIsInsideElement(t, i) {
51
+ const e = i.getBoundingClientRect();
52
+ return e.top <= t.clientY && t.clientY <= e.top + e.height && e.left <= t.clientX && t.clientX <= e.left + e.width;
53
+ }
54
+ /** @internal */
55
+ _animateDrawer() {
56
+ const t = this.open ? [{ opacity: 0 }, { opacity: 0.4 }] : [{ opacity: 0 }], i = this.open ? [{ translate: "0" }] : [{ translate: this.placement === "right" ? "100%" : "-100%" }];
57
+ return new Promise((e) => {
58
+ requestAnimationFrame(() => {
59
+ const o = this.$dialog.animate(t, {
60
+ duration: p.normal,
61
+ fill: "forwards",
62
+ pseudoElement: "::backdrop"
63
+ }), n = this.$dialog.animate(i, {
64
+ duration: p.normal,
65
+ easing: "ease-out",
66
+ fill: "forwards"
67
+ });
68
+ Promise.all([o.finished, n.finished]).then(() => {
69
+ e("Animations finished");
70
+ }).catch(() => {
71
+ throw new Error("Animation failed");
72
+ });
73
+ });
74
+ });
75
+ }
76
+ close() {
77
+ this.open = !1;
78
+ }
79
+ render() {
80
+ return g`
81
+ <dialog @mousedown="${this._handleMouseDown}" @mouseup="${this._handleMouseUp}">
82
+ <header>
83
+ <h2>${this.heading}</h2>
84
+ <button
85
+ aria-label=${this.closeButtonAriaLabel}
86
+ id="close-button"
87
+ @click="${() => this.open = !1}"
88
+ >
89
+ <skf-icon name="close" color="inverse"></skf-icon>
90
+ </button>
91
+ </header>
92
+ <slot id="body" part="body">${this.slot}</slot>
93
+ </dialog>
94
+ `;
95
+ }
96
+ };
97
+ c.styles = [f, _];
98
+ let s = c;
99
+ a([
100
+ r({ attribute: "close-button-aria-label" })
101
+ ], s.prototype, "closeButtonAriaLabel", 2);
102
+ a([
103
+ r()
104
+ ], s.prototype, "heading", 2);
105
+ a([
106
+ r({ reflect: !0 })
107
+ ], s.prototype, "size", 2);
108
+ a([
109
+ r({ type: Boolean, reflect: !0 })
110
+ ], s.prototype, "open", 2);
111
+ a([
112
+ r({ reflect: !0 })
113
+ ], s.prototype, "placement", 2);
114
+ a([
115
+ u("dialog")
116
+ ], s.prototype, "$dialog", 2);
117
+ a([
118
+ d("placement", { waitUntilFirstUpdate: !0 })
119
+ ], s.prototype, "_placementChanged", 2);
120
+ a([
121
+ d("open", { waitUntilFirstUpdate: !0, afterUpdate: !0 })
122
+ ], s.prototype, "_openChanged", 1);
123
+ export {
124
+ s as SkfDrawer
125
+ };