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

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 (206) hide show
  1. package/README.md +1 -18
  2. package/dist/components/accordion/accordion.component.d.ts +4 -4
  3. package/dist/components/accordion/accordion.component.js +8 -8
  4. package/dist/components/alert/alert.component.d.ts +8 -9
  5. package/dist/components/alert/alert.component.js +14 -14
  6. package/dist/components/breadcrumb/breadcrumb.component.d.ts +1 -1
  7. package/dist/components/button/button.component.d.ts +3 -3
  8. package/dist/components/button/button.component.js +59 -55
  9. package/dist/components/card/card.component.js +18 -30
  10. package/dist/components/card/card.styles.js +25 -28
  11. package/dist/components/checkbox/checkbox.component.d.ts +9 -7
  12. package/dist/components/checkbox/checkbox.component.js +71 -58
  13. package/dist/components/collapse/collapse.component.js +1 -1
  14. package/dist/components/date-picker/datepicker.calendar.component.d.ts +77 -0
  15. package/dist/components/date-picker/datepicker.calendar.component.js +415 -0
  16. package/dist/components/date-picker/datepicker.calendar.styles.d.ts +1 -0
  17. package/dist/components/date-picker/datepicker.calendar.styles.js +202 -0
  18. package/dist/components/date-picker/datepicker.component.d.ts +79 -0
  19. package/dist/components/date-picker/datepicker.component.js +261 -0
  20. package/dist/components/date-picker/datepicker.d.ts +10 -0
  21. package/dist/components/date-picker/datepicker.helpers.d.ts +41 -0
  22. package/dist/components/date-picker/datepicker.helpers.js +76 -0
  23. package/dist/components/date-picker/datepicker.js +8 -0
  24. package/dist/components/date-picker/datepicker.styles.d.ts +1 -0
  25. package/dist/components/date-picker/datepicker.styles.js +87 -0
  26. package/dist/components/date-picker-input/datepicker-input.component.d.ts +115 -0
  27. package/dist/components/date-picker-input/datepicker-input.component.js +441 -0
  28. package/dist/components/date-picker-input/datepicker-input.d.ts +8 -0
  29. package/dist/components/date-picker-input/datepicker-input.helpers.d.ts +38 -0
  30. package/dist/components/date-picker-input/datepicker-input.helpers.js +31 -0
  31. package/dist/components/date-picker-input/datepicker-input.js +6 -0
  32. package/dist/components/date-picker-input/datepicker-input.styles.d.ts +1 -0
  33. package/dist/components/date-picker-input/datepicker-input.styles.js +18 -0
  34. package/dist/components/dialog/dialog.component.d.ts +18 -28
  35. package/dist/components/dialog/dialog.component.js +94 -84
  36. package/dist/components/divider/divider.component.d.ts +4 -8
  37. package/dist/components/divider/divider.component.js +24 -46
  38. package/dist/components/divider/divider.styles.js +34 -30
  39. package/dist/components/drawer/drawer.component.d.ts +57 -0
  40. package/dist/components/drawer/drawer.component.js +124 -0
  41. package/dist/components/drawer/drawer.d.ts +8 -0
  42. package/dist/components/drawer/drawer.js +6 -0
  43. package/dist/components/drawer/drawer.styles.d.ts +1 -0
  44. package/dist/components/drawer/drawer.styles.js +71 -0
  45. package/dist/components/header/header.component.d.ts +45 -0
  46. package/dist/components/header/header.component.js +110 -0
  47. package/dist/components/header/header.d.ts +8 -0
  48. package/dist/components/header/header.js +6 -0
  49. package/dist/components/header/header.styles.d.ts +1 -0
  50. package/dist/components/header/header.styles.js +68 -0
  51. package/dist/components/heading/heading.component.d.ts +6 -12
  52. package/dist/components/heading/heading.component.js +17 -17
  53. package/dist/components/heading/heading.styles.d.ts +1 -2
  54. package/dist/components/heading/heading.styles.js +1 -1
  55. package/dist/components/icon/icon.component.d.ts +1 -1
  56. package/dist/components/icon/icon.component.js +19 -19
  57. package/dist/components/input/input.component.d.ts +3 -2
  58. package/dist/components/input/input.component.js +89 -82
  59. package/dist/components/input/input.controllers.d.ts +20 -6
  60. package/dist/components/input/input.controllers.js +14 -10
  61. package/dist/components/link/link.component.js +29 -28
  62. package/dist/components/link/link.styles.js +24 -20
  63. package/dist/components/loader/loader.component.js +19 -19
  64. package/dist/components/logo/logo.component.js +6 -6
  65. package/dist/components/menu/menu.component.d.ts +4 -5
  66. package/dist/components/menu/menu.component.js +1 -1
  67. package/dist/components/nav/nav.component.d.ts +17 -0
  68. package/dist/components/nav/nav.component.js +34 -0
  69. package/dist/components/nav/nav.d.ts +8 -0
  70. package/dist/components/nav/nav.js +6 -0
  71. package/dist/components/nav/nav.styles.d.ts +1 -0
  72. package/dist/components/nav/nav.styles.js +17 -0
  73. package/dist/components/nav-item/nav-item.component.d.ts +20 -0
  74. package/dist/components/nav-item/nav-item.component.js +38 -0
  75. package/dist/components/nav-item/nav-item.d.ts +8 -0
  76. package/dist/components/nav-item/nav-item.js +6 -0
  77. package/dist/components/nav-item/nav-item.styles.d.ts +1 -0
  78. package/dist/components/nav-item/nav-item.styles.js +39 -0
  79. package/dist/components/popover/popover.component.d.ts +5 -6
  80. package/dist/components/popover/popover.component.js +24 -24
  81. package/dist/components/progress/progress.component.js +7 -7
  82. package/dist/components/radio/radio.component.d.ts +10 -6
  83. package/dist/components/radio/radio.component.js +14 -14
  84. package/dist/components/radio/radio.styles.d.ts +1 -2
  85. package/dist/components/radio/radio.styles.js +1 -1
  86. package/dist/components/segmented-button/segmented-button.component.d.ts +32 -0
  87. package/dist/components/segmented-button/segmented-button.d.ts +8 -0
  88. package/dist/components/segmented-button/segmented-button.styles.d.ts +1 -0
  89. package/dist/components/segmented-button-item/segmented-button-item.component.d.ts +36 -0
  90. package/dist/components/segmented-button-item/segmented-button-item.d.ts +8 -0
  91. package/dist/components/segmented-button-item/segmented-button-item.styles.d.ts +1 -0
  92. package/dist/components/select/select.component.js +2 -2
  93. package/dist/components/select/select.controllers.d.ts +20 -9
  94. package/dist/components/select/select.controllers.js +27 -22
  95. package/dist/components/select-option/select-option.controllers.d.ts +11 -5
  96. package/dist/components/select-option-group/select-option-group.component.js +9 -9
  97. package/dist/components/stepper/stepper.component.d.ts +2 -1
  98. package/dist/components/stepper/stepper.component.js +9 -9
  99. package/dist/components/stepper/stepper.helpers.js +5 -5
  100. package/dist/components/stepper-item/stepper-item.component.js +25 -25
  101. package/dist/components/switch/switch.component.d.ts +7 -6
  102. package/dist/components/switch/switch.component.js +7 -7
  103. package/dist/components/tab/tab.component.js +4 -4
  104. package/dist/components/tab-panel/tab-panel.component.js +12 -12
  105. package/dist/components/tag/tag.component.d.ts +4 -2
  106. package/dist/components/tag/tag.component.js +14 -14
  107. package/dist/components/textarea/textarea.component.js +10 -10
  108. package/dist/components/toast/toast.component.d.ts +1 -1
  109. package/dist/components/toast/toast.component.js +13 -13
  110. package/dist/components/toast-wrapper/toast-wrapper.component.js +10 -10
  111. package/dist/components/tooltip/tooltip.component.d.ts +5 -6
  112. package/dist/components/tooltip/tooltip.component.js +11 -11
  113. package/dist/custom-elements.json +3702 -2190
  114. package/dist/index.d.ts +6 -0
  115. package/dist/index.js +84 -66
  116. package/dist/internal/base-classes/popover/popover.base.d.ts +17 -7
  117. package/dist/internal/base-classes/popover/popover.base.js +119 -75
  118. package/dist/internal/base-classes/popover/popover.styles.js +14 -1
  119. package/dist/internal/components/hint/hint.component.js +13 -13
  120. package/dist/internal/controllers/elementOverflowController.d.ts +13 -0
  121. package/dist/internal/controllers/popover.controller.d.ts +12 -6
  122. package/dist/internal/controllers/popover.controller.js +9 -14
  123. package/dist/internal/helpers/dateFormatter.d.ts +2 -0
  124. package/dist/internal/helpers/utilityTypes.d.ts +22 -0
  125. package/dist/internal/helpers/uuid.d.ts +15 -0
  126. package/dist/internal/helpers/uuid.js +14 -0
  127. package/dist/internal/storybook/styles.d.ts +1 -0
  128. package/dist/styles/form-field.styles.js +11 -6
  129. package/dist/styles/global.css +1 -1
  130. package/dist/types/jsx/custom-element-jsx.d.ts +663 -1240
  131. package/dist/types/vue/index.d.ts +453 -255
  132. package/dist/vscode.html-custom-data.json +821 -503
  133. package/dist/web-types.json +1005 -633
  134. package/package.json +43 -52
  135. package/dist/react/index.d.ts +0 -35
  136. package/dist/react/index.js +0 -35
  137. package/dist/react/skf-accordion/index.d.ts +0 -3
  138. package/dist/react/skf-accordion/index.js +0 -13
  139. package/dist/react/skf-alert/index.d.ts +0 -9
  140. package/dist/react/skf-alert/index.js +0 -17
  141. package/dist/react/skf-breadcrumb/index.d.ts +0 -9
  142. package/dist/react/skf-breadcrumb/index.js +0 -17
  143. package/dist/react/skf-breadcrumb-item/index.d.ts +0 -3
  144. package/dist/react/skf-breadcrumb-item/index.js +0 -13
  145. package/dist/react/skf-button/index.d.ts +0 -9
  146. package/dist/react/skf-button/index.js +0 -17
  147. package/dist/react/skf-card/index.d.ts +0 -3
  148. package/dist/react/skf-card/index.js +0 -13
  149. package/dist/react/skf-checkbox/index.d.ts +0 -9
  150. package/dist/react/skf-checkbox/index.js +0 -17
  151. package/dist/react/skf-collapse/index.d.ts +0 -9
  152. package/dist/react/skf-collapse/index.js +0 -17
  153. package/dist/react/skf-dialog/index.d.ts +0 -15
  154. package/dist/react/skf-dialog/index.js +0 -19
  155. package/dist/react/skf-divider/index.d.ts +0 -3
  156. package/dist/react/skf-divider/index.js +0 -13
  157. package/dist/react/skf-heading/index.d.ts +0 -3
  158. package/dist/react/skf-heading/index.js +0 -13
  159. package/dist/react/skf-icon/index.d.ts +0 -3
  160. package/dist/react/skf-icon/index.js +0 -13
  161. package/dist/react/skf-input/index.d.ts +0 -12
  162. package/dist/react/skf-input/index.js +0 -18
  163. package/dist/react/skf-link/index.d.ts +0 -3
  164. package/dist/react/skf-link/index.js +0 -13
  165. package/dist/react/skf-loader/index.d.ts +0 -3
  166. package/dist/react/skf-loader/index.js +0 -13
  167. package/dist/react/skf-logo/index.d.ts +0 -3
  168. package/dist/react/skf-logo/index.js +0 -13
  169. package/dist/react/skf-menu/index.d.ts +0 -12
  170. package/dist/react/skf-menu/index.js +0 -18
  171. package/dist/react/skf-menu-item/index.d.ts +0 -27
  172. package/dist/react/skf-menu-item/index.js +0 -23
  173. package/dist/react/skf-popover/index.d.ts +0 -12
  174. package/dist/react/skf-popover/index.js +0 -18
  175. package/dist/react/skf-progress/index.d.ts +0 -3
  176. package/dist/react/skf-progress/index.js +0 -13
  177. package/dist/react/skf-radio/index.d.ts +0 -9
  178. package/dist/react/skf-radio/index.js +0 -17
  179. package/dist/react/skf-select/index.d.ts +0 -21
  180. package/dist/react/skf-select/index.js +0 -21
  181. package/dist/react/skf-select-option/index.d.ts +0 -9
  182. package/dist/react/skf-select-option/index.js +0 -17
  183. package/dist/react/skf-select-option-group/index.d.ts +0 -3
  184. package/dist/react/skf-select-option-group/index.js +0 -13
  185. package/dist/react/skf-stepper/index.d.ts +0 -9
  186. package/dist/react/skf-stepper/index.js +0 -17
  187. package/dist/react/skf-stepper-item/index.d.ts +0 -9
  188. package/dist/react/skf-stepper-item/index.js +0 -17
  189. package/dist/react/skf-switch/index.d.ts +0 -3
  190. package/dist/react/skf-switch/index.js +0 -13
  191. package/dist/react/skf-tab/index.d.ts +0 -12
  192. package/dist/react/skf-tab/index.js +0 -18
  193. package/dist/react/skf-tab-group/index.d.ts +0 -3
  194. package/dist/react/skf-tab-group/index.js +0 -13
  195. package/dist/react/skf-tab-panel/index.d.ts +0 -3
  196. package/dist/react/skf-tab-panel/index.js +0 -13
  197. package/dist/react/skf-tag/index.d.ts +0 -3
  198. package/dist/react/skf-tag/index.js +0 -13
  199. package/dist/react/skf-textarea/index.d.ts +0 -12
  200. package/dist/react/skf-textarea/index.js +0 -18
  201. package/dist/react/skf-toast/index.d.ts +0 -3
  202. package/dist/react/skf-toast/index.js +0 -13
  203. package/dist/react/skf-toast-wrapper/index.d.ts +0 -3
  204. package/dist/react/skf-toast-wrapper/index.js +0 -13
  205. package/dist/react/skf-tooltip/index.d.ts +0 -12
  206. package/dist/react/skf-tooltip/index.js +0 -18
package/dist/index.d.ts CHANGED
@@ -4,8 +4,12 @@ export { default as SkfButton } from './components/button/button.js';
4
4
  export { default as SkfCard } from './components/card/card.js';
5
5
  export { default as SkfCheckbox } from './components/checkbox/checkbox.js';
6
6
  export { default as SkfCollapse } from './components/collapse/collapse.js';
7
+ export { default as SkfDatePickerInput } from './components/date-picker-input/datepicker-input.js';
8
+ export { default as SkfDatePicker } from './components/date-picker/datepicker.js';
7
9
  export { default as SkfDialog } from './components/dialog/dialog.js';
8
10
  export { default as SkfDivider } from './components/divider/divider.js';
11
+ export { default as SkfDrawer } from './components/drawer/drawer.js';
12
+ export { default as SkfHeader } from './components/header/header.js';
9
13
  export { default as SkfHeading } from './components/heading/heading.js';
10
14
  export { default as SkfIcon } from './components/icon/icon.js';
11
15
  export { default as SkfInput } from './components/input/input.js';
@@ -14,6 +18,8 @@ export { default as SkfLoader } from './components/loader/loader.js';
14
18
  export { default as SkfLogo } from './components/logo/logo.js';
15
19
  export { default as SkfMenuItem } from './components/menu-item/menu-item.js';
16
20
  export { default as SkfMenu } from './components/menu/menu.js';
21
+ export { default as SkfNavItem } from './components/nav-item/nav-item.js';
22
+ export { default as SkfNav } from './components/nav/nav.js';
17
23
  export { default as SkfPopover } from './components/popover/popover.js';
18
24
  export { default as SkfProgress } from './components/progress/progress.js';
19
25
  export { default as SkfRadio } from './components/radio/radio.js';
package/dist/index.js CHANGED
@@ -4,8 +4,12 @@ import "./components/button/button.js";
4
4
  import "./components/card/card.js";
5
5
  import "./components/checkbox/checkbox.js";
6
6
  import "./components/collapse/collapse.js";
7
+ import "./components/date-picker-input/datepicker-input.js";
8
+ import "./components/date-picker/datepicker.js";
7
9
  import "./components/dialog/dialog.js";
8
10
  import "./components/divider/divider.js";
11
+ import "./components/drawer/drawer.js";
12
+ import "./components/header/header.js";
9
13
  import "./components/heading/heading.js";
10
14
  import "./components/icon/icon.js";
11
15
  import "./components/input/input.js";
@@ -14,6 +18,8 @@ import "./components/loader/loader.js";
14
18
  import "./components/logo/logo.js";
15
19
  import "./components/menu-item/menu-item.js";
16
20
  import "./components/menu/menu.js";
21
+ import "./components/nav-item/nav-item.js";
22
+ import "./components/nav/nav.js";
17
23
  import "./components/popover/popover.js";
18
24
  import "./components/progress/progress.js";
19
25
  import "./components/radio/radio.js";
@@ -30,71 +36,83 @@ import "./components/tag/tag.js";
30
36
  import "./components/textarea/textarea.js";
31
37
  import "./components/toast/toast.js";
32
38
  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";
39
+ import { SkfAccordion as z } from "./components/accordion/accordion.component.js";
40
+ import { SkfAlert as F } from "./components/alert/alert.component.js";
41
+ import { SkfButton as K } from "./components/button/button.component.js";
42
+ import { SkfCard as U } from "./components/card/card.component.js";
43
+ import { SkfCheckbox as W } from "./components/checkbox/checkbox.component.js";
44
+ import { SkfCollapse as Y } from "./components/collapse/collapse.component.js";
45
+ import { SkfDatePickerInput as _ } from "./components/date-picker-input/datepicker-input.component.js";
46
+ import { SkfDatePicker as oo } from "./components/date-picker/datepicker.component.js";
47
+ import { SkfDialog as to } from "./components/dialog/dialog.component.js";
48
+ import { SkfDivider as fo } from "./components/divider/divider.component.js";
49
+ import { SkfDrawer as eo } from "./components/drawer/drawer.component.js";
50
+ import { SkfHeader as So } from "./components/header/header.component.js";
51
+ import { SkfHeading as xo } from "./components/heading/heading.component.js";
52
+ import { SkfIcon as no } from "./components/icon/icon.component.js";
53
+ import { SkfInput as lo } from "./components/input/input.component.js";
54
+ import { SkfLink as To } from "./components/link/link.component.js";
55
+ import { SkfLoader as Io } from "./components/loader/loader.component.js";
56
+ import { SkfLogo as go } from "./components/logo/logo.component.js";
57
+ import { SkfMenuItem as Po } from "./components/menu-item/menu-item.component.js";
58
+ import { SkfMenu as Ao } from "./components/menu/menu.component.js";
59
+ import { SkfNavItem as Oo } from "./components/nav-item/nav-item.component.js";
60
+ import { SkfNav as Lo } from "./components/nav/nav.component.js";
61
+ import { SkfPopover as wo } from "./components/popover/popover.component.js";
62
+ import { SkfProgress as Mo } from "./components/progress/progress.component.js";
63
+ import { SkfRadio as Bo } from "./components/radio/radio.component.js";
64
+ import { SkfSelectOptionGroup as jo } from "./components/select-option-group/select-option-group.component.js";
65
+ import { SkfSelectOption as yo } from "./components/select-option/select-option.component.js";
66
+ import { SkfSelect as Eo } from "./components/select/select.component.js";
67
+ import { SkfStepperItem as Jo } from "./components/stepper-item/stepper-item.component.js";
68
+ import { SkfStepper as Qo } from "./components/stepper/stepper.component.js";
69
+ import { SkfSwitch as Vo } from "./components/switch/switch.component.js";
70
+ import { SkfTabGroup as Xo } from "./components/tab-group/tab-group.component.js";
71
+ import { SkfTabPanel as Zo } from "./components/tab-panel/tab-panel.component.js";
72
+ import { SkfTab as $o } from "./components/tab/tab.component.js";
73
+ import { SkfTag as rr } from "./components/tag/tag.component.js";
74
+ import { SkfTextArea as pr } from "./components/textarea/textarea.component.js";
75
+ import { SkfToast as mr } from "./components/toast/toast.component.js";
76
+ import { SkfTooltip as ir } from "./components/tooltip/tooltip.component.js";
77
+ import { SkfAccordionItem as kr } from "./components/accordion/accordion-item.js";
66
78
  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
79
+ z as SkfAccordion,
80
+ kr as SkfAccordionItem,
81
+ F as SkfAlert,
82
+ K as SkfButton,
83
+ U as SkfCard,
84
+ W as SkfCheckbox,
85
+ Y as SkfCollapse,
86
+ oo as SkfDatePicker,
87
+ _ as SkfDatePickerInput,
88
+ to as SkfDialog,
89
+ fo as SkfDivider,
90
+ eo as SkfDrawer,
91
+ So as SkfHeader,
92
+ xo as SkfHeading,
93
+ no as SkfIcon,
94
+ lo as SkfInput,
95
+ To as SkfLink,
96
+ Io as SkfLoader,
97
+ go as SkfLogo,
98
+ Ao as SkfMenu,
99
+ Po as SkfMenuItem,
100
+ Lo as SkfNav,
101
+ Oo as SkfNavItem,
102
+ yo as SkfOption,
103
+ jo as SkfOptionGroup,
104
+ wo as SkfPopover,
105
+ Mo as SkfProgress,
106
+ Bo as SkfRadio,
107
+ Eo as SkfSelect,
108
+ Qo as SkfStepper,
109
+ Jo as SkfStepperItem,
110
+ Vo as SkfSwitch,
111
+ $o as SkfTab,
112
+ Xo as SkfTabGoup,
113
+ Zo as SkfTabPanel,
114
+ rr as SkfTag,
115
+ pr as SkfTextArea,
116
+ mr as SkfToast,
117
+ ir as SkfTooltip
100
118
  };
@@ -5,25 +5,35 @@ 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
10
  variant: 'dropdown' | '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
+ protected abortEventsController: AbortController;
20
+ protected 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
+ open: (e: Event) => void;
31
+ close: () => void;
32
+ /** @internal */
26
33
  addEventListeners($element: HTMLElement | Element): void;
34
+ /** @internal */
27
35
  removeEventListeners($element: HTMLElement | Element): void;
28
36
  render(): import("lit").TemplateResult<1>;
37
+ /** @internal helper */
38
+ private _containsFocusableElement;
29
39
  }
@@ -1,116 +1,160 @@
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 C, offset as S, arrow as x, computePosition as A } from "@floating-ui/dom";
2
+ import { SkfElement as _ } from "../../components/skf-element.js";
3
+ import { PopoverController as P } from "../../controllers/popover.controller.js";
4
+ import { uuid as w } from "../../helpers/uuid.js";
5
+ import { watch as f } from "../../helpers/watch.js";
6
+ import L from "../../../styles/component.styles.js";
7
+ import { nothing as F, html as b } from "lit";
8
+ import { property as m, state as c, query as M } 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 T } from "./popover.styles.js";
11
+ var R = Object.defineProperty, q = Object.getOwnPropertyDescriptor, r = (u, t, s, i) => {
12
+ for (var e = i > 1 ? void 0 : i ? q(t, s) : t, n = u.length - 1, a; n >= 0; n--)
13
+ (a = u[n]) && (e = (i ? a(t, s, e) : a(e)) || e);
14
+ return i && e && R(t, s, e), e;
15
+ }, l;
16
+ const o = (l = class extends _ {
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 s = t.newState === "open";
22
+ this.isOpen = s, this.emit(s ? "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
27
  await this.popoverController.stop(), this.$anchor && this.removeEventListeners(this.$anchor);
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 = [C(), S(this.offset)];
34
+ this.arrow && t.push(x({ element: this.$arrow }));
35
+ const { x: s, 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(s)}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], p = { 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, $ = (h = e.arrow) == null ? void 0 : h.y, y = typeof v == "number" ? `${String(v)}px` : "", E = typeof $ == "number" ? `${String($)}px` : "", O = {
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: E,
52
+ [this.placement.includes("left") ? "right" : "left"]: y,
53
+ [g ? d : p]: "calc(var(--_skf-popover-arrow-size) * -1)",
54
+ rotate: `${(O[p] + (g ? 180 : 0)).toString()}deg`
56
55
  });
57
56
  }
58
- }, this.open = () => this._toggleOpen(!0), this.close = () => this._toggleOpen(!1);
57
+ }, this.open = (t) => {
58
+ t.stopPropagation(), this._toggleOpen(!0);
59
+ }, this.close = () => {
60
+ this._toggleOpen(!1);
61
+ }, this.setAttribute("popover", "");
62
+ }
63
+ disconnectedCallback() {
64
+ super.disconnectedCallback(), this.abortEventsController.abort();
59
65
  }
66
+ handleAnchorEl() {
67
+ if (!this.$anchor) return;
68
+ const t = this._containsFocusableElement(this);
69
+ this.$anchor.addEventListener(
70
+ "focusout",
71
+ (s) => {
72
+ const i = this.contains(s.relatedTarget);
73
+ t && i || this.close();
74
+ },
75
+ { signal: this.signal }
76
+ ), this.addEventListener("focusout", this.close), this.$anchor.addEventListener("focusin", this.open, { signal: this.signal }), this.$anchor.setAttribute("aria-controls", w(this.$anchor.id)), this.$anchor.setAttribute("aria-has-popup", "true"), this.$popover.id = w(this.$anchor.id);
77
+ }
78
+ /** @internal */
60
79
  addEventListeners(t) {
61
80
  throw new Error(`Cannot add eventListeners for ${t.id}. Method not implemented.`);
62
81
  }
82
+ /** @internal */
63
83
  removeEventListeners(t) {
64
84
  throw new Error(`Cannot remove eventListeners for ${t.id}. Method not implemented.`);
65
85
  }
66
86
  render() {
67
- return y`
87
+ var t;
88
+ return (t = this.$anchor) == null || t.setAttribute("aria-expanded", this.isOpen ? "true" : "false"), b`
68
89
  <div
69
90
  @toggle=${this._handleToggle}
70
- class=${j({ popover: !0, ...s.classMap })}
91
+ class=${j({ popover: !0, ...l.classMap })}
71
92
  id="popover"
72
- popover
73
93
  >
74
94
  <slot></slot>
75
- ${this.arrow ? y`<div class="popover__arrow" id="arrow"></div>` : T}
95
+ ${this.arrow ? b`<div class="popover__arrow" id="arrow"></div>` : F}
76
96
  </div>
77
97
  `;
78
98
  }
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;
99
+ /** @internal helper */
100
+ _containsFocusableElement(t) {
101
+ return e(t, [
102
+ "a[href]",
103
+ "button:not([disabled])",
104
+ "input:not([disabled])",
105
+ "select:not([disabled])",
106
+ "textarea:not([disabled])",
107
+ '[tabindex]:not([tabindex="-1"])'
108
+ ]).length > 0;
109
+ function e(n, a) {
110
+ const h = Array.from(
111
+ n.querySelectorAll(a.join(", "))
112
+ ), d = Array.from(n.querySelectorAll("*")).map((p) => p.shadowRoot).filter((p) => p !== null);
113
+ for (const p of d)
114
+ h.push(
115
+ ...e(p, a)
116
+ );
117
+ return h;
118
+ }
119
+ }
120
+ }, l.styles = [L, T], l.classMap = {}, l);
121
+ r([
122
+ m()
123
+ ], o.prototype, "placement", 2);
124
+ r([
125
+ m()
126
+ ], o.prototype, "variant", 2);
127
+ r([
128
+ m()
129
+ ], o.prototype, "anchor", 2);
130
+ r([
131
+ c()
132
+ ], o.prototype, "isOpen", 2);
133
+ r([
134
+ c()
135
+ ], o.prototype, "offset", 2);
136
+ r([
137
+ c()
138
+ ], o.prototype, "$anchor", 2);
139
+ r([
140
+ c()
141
+ ], o.prototype, "arrow", 2);
142
+ r([
143
+ c()
144
+ ], o.prototype, "triggerEvent", 2);
145
+ r([
146
+ M("#arrow")
147
+ ], o.prototype, "$arrow", 2);
148
+ r([
149
+ f("isOpen", { afterUpdate: !0 })
150
+ ], o.prototype, "handleToggleOpen", 2);
151
+ r([
152
+ f("$anchor")
153
+ ], o.prototype, "handleAnchorEl", 1);
154
+ r([
155
+ f("anchor")
156
+ ], o.prototype, "handleAnchorChange", 2);
157
+ let H = o;
114
158
  export {
115
- X as SkfPopoverBase
159
+ H as SkfPopoverBase
116
160
  };
@@ -2,13 +2,26 @@ import { css as o } from "lit";
2
2
  const e = o`
3
3
  /* stylelint-disable selector-class-pattern */
4
4
  @layer components {
5
- .popover {
5
+ :host {
6
6
  background-color: var(--skf-bg-color-neutral-1);
7
7
  border: none;
8
8
  border-radius: var(--skf-border-radius-sm);
9
9
  box-shadow: var(--skf-shadow-md);
10
+ contain: layout;
11
+ height: fit-content;
12
+ margin: 0;
10
13
  opacity: 0;
11
14
  overflow: visible;
15
+ width: fit-content;
16
+ }
17
+
18
+ :host(:not(:popover-open)) {
19
+ display: none;
20
+ }
21
+
22
+ #popover {
23
+ height: 100%;
24
+ width: 100%;
12
25
  }
13
26
 
14
27
  .popover__arrow {
@@ -1,21 +1,21 @@
1
1
  import "../../../components/icon/icon.js";
2
- import { SkfElement as n } from "../skf-element.js";
3
- import { ICON_SEVERITY as l } from "../../constants/iconSeverity.js";
2
+ import { SkfElement as l } from "../skf-element.js";
3
+ import { ICON_SEVERITY as n } from "../../constants/iconSeverity.js";
4
4
  import v from "../../../styles/component.styles.js";
5
5
  import { html as f } from "lit";
6
- import { property as d } from "lit/decorators.js";
7
- import y from "./hint.styles.js";
6
+ import { property as y } from "lit/decorators.js";
7
+ import d from "./hint.styles.js";
8
8
  var a = Object.defineProperty, c = (s, i, m, h) => {
9
- for (var r = void 0, e = s.length - 1, p; e >= 0; e--)
10
- (p = s[e]) && (r = p(i, m, r) || r);
9
+ for (var r = void 0, t = s.length - 1, p; t >= 0; t--)
10
+ (p = s[t]) && (r = p(i, m, r) || r);
11
11
  return r && a(i, m, r), r;
12
12
  };
13
- const o = class o extends n {
13
+ const o = class o extends l {
14
14
  render() {
15
15
  return f`
16
16
  <div id="root">
17
17
  ${this.severity && f`
18
- <skf-icon color=${this.severity} name="${l[this.severity]}" size="xs">
18
+ <skf-icon color=${this.severity} name="${n[this.severity]}" size="xs">
19
19
  </skf-icon>
20
20
  `}
21
21
  <slot></slot>
@@ -23,11 +23,11 @@ const o = class o extends n {
23
23
  `;
24
24
  }
25
25
  };
26
- o.styles = [v, y];
27
- let t = o;
26
+ o.styles = [v, d];
27
+ let e = o;
28
28
  c([
29
- d()
30
- ], t.prototype, "severity");
29
+ y()
30
+ ], e.prototype, "severity");
31
31
  export {
32
- t as SkfHint
32
+ e as SkfHint
33
33
  };
@@ -0,0 +1,13 @@
1
+ import type { SkfNav } from '../../components/nav/nav.component.js';
2
+ type InputControllerHost = SkfNav;
3
+ export declare class ElementOverflowController {
4
+ host: InputControllerHost;
5
+ resizeObserver?: ResizeObserver;
6
+ watchedContainerEl?: HTMLElement;
7
+ isFullyVisible: boolean;
8
+ constructor(host: InputControllerHost);
9
+ initResizeObserver(el?: HTMLElement): void;
10
+ _checkVisibility: () => void;
11
+ disconnect(): void;
12
+ }
13
+ export {};
@@ -1,13 +1,19 @@
1
- import { SkfSelect } from '../../components/select/select.component.js';
2
- import type { SkfPopoverBase } from '../base-classes/popover/popover.base.js';
3
- import type { ReactiveController } from 'lit';
4
- type ControllerHost = SkfPopoverBase | SkfSelect;
1
+ import type { ReactiveController, ReactiveControllerHost } from 'lit';
2
+ /**
3
+ * Workaround for storybook helper not being able to import types
4
+ * E.g type ControllerHost = SkfPopover;
5
+ */
6
+ interface ControllerHostProps {
7
+ $anchor?: Element | HTMLElement | null;
8
+ $popover?: Element | HTMLElement | null;
9
+ reposition: () => Promise<void>;
10
+ }
5
11
  export declare class PopoverController implements ReactiveController {
6
- host?: ControllerHost;
12
+ host?: ReactiveControllerHost & Partial<ControllerHostProps>;
7
13
  private cleanup;
8
14
  private active;
9
15
  private autoStart;
10
- constructor(host: ControllerHost, autoStart?: boolean);
16
+ constructor(host: ReactiveControllerHost, autoStart?: boolean);
11
17
  hostConnected(): void;
12
18
  hostDisconnected(): void;
13
19
  start(): void;
@@ -1,8 +1,7 @@
1
- import "../../components/select/select.component.js";
2
- import { autoUpdate as n } from "@floating-ui/dom";
3
- class p {
1
+ import { autoUpdate as h } from "@floating-ui/dom";
2
+ class c {
4
3
  constructor(t, o = !0) {
5
- this.active = !1, this.autoStart = !0, this.host = t, t.addController(this), this.autoStart = o;
4
+ this.active = !1, this.autoStart = !0, (this.host = t).addController(this), this.autoStart = o;
6
5
  }
7
6
  hostConnected() {
8
7
  var t;
@@ -18,15 +17,11 @@ class p {
18
17
  });
19
18
  }
20
19
  start() {
21
- var e, r;
22
- const t = (e = this.host) == null ? void 0 : e.$anchor, o = (r = this.host) == null ? void 0 : r.$popover;
23
- if (!t || !o) {
24
- console.warn("PopoverController: anchor or popup not found");
25
- return;
26
- }
27
- this.active || (this.cleanup = n(t, o, () => {
28
- var s;
29
- (s = this.host) == null || s.reposition().catch((i) => {
20
+ var s, e;
21
+ const t = (s = this.host) == null ? void 0 : s.$anchor, o = (e = this.host) == null ? void 0 : e.$popover;
22
+ !t || !o || this.active || (o.popover = "manual", this.cleanup = h(t, o, () => {
23
+ var r;
24
+ (r = this.host) != null && r.reposition && this.host.reposition().catch((i) => {
30
25
  console.error(i);
31
26
  });
32
27
  }), this.active = !0);
@@ -40,5 +35,5 @@ class p {
40
35
  }
41
36
  }
42
37
  export {
43
- p as PopoverController
38
+ c as PopoverController
44
39
  };
@@ -0,0 +1,2 @@
1
+ /** Formats a date to SKF standard format. Can be localized, defaults to GB English */
2
+ export declare function dateFormatter(date?: Date | null, locale?: string): string;