@sula-tech/webcomponents 0.23.1 → 0.24.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 (129) hide show
  1. package/dist/cjs/index.cjs.js +8 -7
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/sula-avatar_32.cjs.entry.js +24 -23
  5. package/dist/cjs/sula-avatar_32.cjs.entry.js.map +1 -1
  6. package/dist/cjs/sula-calendar.model-CxjS_EJv.js +10 -0
  7. package/dist/cjs/sula-calendar.model-CxjS_EJv.js.map +1 -0
  8. package/dist/cjs/{sula-calendar.model-BI5cNrUo.js → sula-menu.model-BDxbWyPG.js} +2 -8
  9. package/dist/cjs/sula-menu.model-BDxbWyPG.js.map +1 -0
  10. package/dist/cjs/sula-profile-menu.cjs.entry.js +55 -0
  11. package/dist/cjs/sula-profile-menu.cjs.entry.js.map +1 -0
  12. package/dist/cjs/sula-profile-menu.entry.cjs.js.map +1 -0
  13. package/dist/cjs/sula-workbench-menu.cjs.entry.js +578 -0
  14. package/dist/cjs/sula-workbench-menu.cjs.entry.js.map +1 -0
  15. package/dist/cjs/sula-workbench-menu.entry.cjs.js.map +1 -0
  16. package/dist/cjs/webcomponents.cjs.js +1 -1
  17. package/dist/collection/collection-manifest.json +3 -1
  18. package/dist/collection/components/sula-icon/sula-icon.css +1 -1
  19. package/dist/collection/components/sula-menu/sula-menu.css +1 -1
  20. package/dist/collection/components/sula-menu/sula-menu.js +13 -13
  21. package/dist/collection/components/sula-menu/sula-menu.js.map +1 -1
  22. package/dist/collection/components/sula-profile-menu/model/sula-profile-menu.model.js +2 -0
  23. package/dist/collection/components/sula-profile-menu/model/sula-profile-menu.model.js.map +1 -0
  24. package/dist/collection/components/sula-profile-menu/sula-profile-menu.css +1 -0
  25. package/dist/collection/components/sula-profile-menu/sula-profile-menu.js +163 -0
  26. package/dist/collection/components/sula-profile-menu/sula-profile-menu.js.map +1 -0
  27. package/dist/collection/components/sula-profile-menu/sula-profile-menu.stories.js +74 -0
  28. package/dist/collection/components/sula-profile-menu/sula-profile-menu.stories.js.map +1 -0
  29. package/dist/collection/components/sula-switch/sula-switch.css +1 -1
  30. package/dist/collection/components/sula-workbench-menu/model/sula-workbench-menu.model.js +2 -0
  31. package/dist/collection/components/sula-workbench-menu/model/sula-workbench-menu.model.js.map +1 -0
  32. package/dist/collection/components/sula-workbench-menu/sula-workbench-menu.css +1 -0
  33. package/dist/collection/components/sula-workbench-menu/sula-workbench-menu.js +996 -0
  34. package/dist/collection/components/sula-workbench-menu/sula-workbench-menu.js.map +1 -0
  35. package/dist/collection/components/sula-workbench-menu/sula-workbench-menu.stories.js +450 -0
  36. package/dist/collection/components/sula-workbench-menu/sula-workbench-menu.stories.js.map +1 -0
  37. package/dist/collection/index.js.map +1 -1
  38. package/dist/components/{p-Dl7qXhBf.js → p-B_WIoxzn.js} +4 -4
  39. package/dist/components/{p-Dl7qXhBf.js.map → p-B_WIoxzn.js.map} +1 -1
  40. package/dist/components/{p-V9D4rqf7.js → p-BssyNhpP.js} +3 -3
  41. package/dist/components/{p-V9D4rqf7.js.map → p-BssyNhpP.js.map} +1 -1
  42. package/dist/components/{p-DzGiAQVF.js → p-CGpfhGAG.js} +3 -3
  43. package/dist/components/{p-DzGiAQVF.js.map → p-CGpfhGAG.js.map} +1 -1
  44. package/dist/components/{p-DRskhGOW.js → p-CWTfj4TV.js} +3 -3
  45. package/dist/components/{p-DRskhGOW.js.map → p-CWTfj4TV.js.map} +1 -1
  46. package/dist/components/p-DEhN6ZhJ.js +110 -0
  47. package/dist/components/p-DEhN6ZhJ.js.map +1 -0
  48. package/dist/components/{p-DjPqgTzy.js → p-DK8hW-Cd.js} +3 -3
  49. package/dist/components/{p-DjPqgTzy.js.map → p-DK8hW-Cd.js.map} +1 -1
  50. package/dist/components/{p-BhhQBGyJ.js → p-DwZCdDhF.js} +3 -3
  51. package/dist/components/{p-BhhQBGyJ.js.map → p-DwZCdDhF.js.map} +1 -1
  52. package/dist/components/{p-jsqtM3Ie.js → p-GEr9Dmhq.js} +3 -3
  53. package/dist/components/{p-jsqtM3Ie.js.map → p-GEr9Dmhq.js.map} +1 -1
  54. package/dist/components/p-KitH8bea.js +84 -0
  55. package/dist/components/p-KitH8bea.js.map +1 -0
  56. package/dist/components/sula-avatar.js +1 -1
  57. package/dist/components/sula-badge.js +1 -1
  58. package/dist/components/sula-breadcrumb.js +1 -1
  59. package/dist/components/sula-button.js +1 -1
  60. package/dist/components/sula-calendar.js +2 -2
  61. package/dist/components/sula-checkbox.js +1 -1
  62. package/dist/components/sula-chip.js +2 -2
  63. package/dist/components/sula-dropdown.js +1 -1
  64. package/dist/components/sula-icon-picker.js +4 -4
  65. package/dist/components/sula-icon.js +1 -1
  66. package/dist/components/sula-menu-select-list.js +1 -1
  67. package/dist/components/sula-menu.js +15 -15
  68. package/dist/components/sula-menu.js.map +1 -1
  69. package/dist/components/sula-modal.js +2 -2
  70. package/dist/components/sula-profile-menu.d.ts +11 -0
  71. package/dist/components/sula-profile-menu.js +9 -0
  72. package/dist/components/sula-profile-menu.js.map +1 -0
  73. package/dist/components/sula-progress-bar.js +1 -1
  74. package/dist/components/sula-search-bar.js +1 -1
  75. package/dist/components/sula-segmented-control.js +1 -1
  76. package/dist/components/sula-switch.js +1 -105
  77. package/dist/components/sula-switch.js.map +1 -1
  78. package/dist/components/sula-tag.js +1 -1
  79. package/dist/components/sula-textfield.js +1 -1
  80. package/dist/components/sula-tiles.js +1 -1
  81. package/dist/components/sula-timeline-list.js +1 -1
  82. package/dist/components/sula-toast-stack.js +2 -2
  83. package/dist/components/sula-toast.js +1 -1
  84. package/dist/components/sula-toggle.js +1 -1
  85. package/dist/components/sula-tooltip.js +1 -1
  86. package/dist/components/sula-workbench-menu.d.ts +11 -0
  87. package/dist/components/sula-workbench-menu.js +633 -0
  88. package/dist/components/sula-workbench-menu.js.map +1 -0
  89. package/dist/esm/index.js +2 -1
  90. package/dist/esm/index.js.map +1 -1
  91. package/dist/esm/loader.js +1 -1
  92. package/dist/esm/sula-avatar_32.entry.js +18 -17
  93. package/dist/esm/sula-avatar_32.entry.js.map +1 -1
  94. package/dist/esm/sula-calendar.model-Cp_4qTxj.js +10 -0
  95. package/dist/esm/sula-calendar.model-Cp_4qTxj.js.map +1 -0
  96. package/dist/esm/{sula-calendar.model-BbsLJDfp.js → sula-menu.model-Cs9RR1ZV.js} +3 -9
  97. package/dist/esm/sula-menu.model-Cs9RR1ZV.js.map +1 -0
  98. package/dist/esm/sula-profile-menu.entry.js +53 -0
  99. package/dist/esm/sula-profile-menu.entry.js.map +1 -0
  100. package/dist/esm/sula-workbench-menu.entry.js +576 -0
  101. package/dist/esm/sula-workbench-menu.entry.js.map +1 -0
  102. package/dist/esm/webcomponents.js +1 -1
  103. package/dist/types/components/sula-profile-menu/model/sula-profile-menu.model.d.ts +22 -0
  104. package/dist/types/components/sula-profile-menu/sula-profile-menu.d.ts +35 -0
  105. package/dist/types/components/sula-profile-menu/sula-profile-menu.stories.d.ts +34 -0
  106. package/dist/types/components/sula-workbench-menu/model/sula-workbench-menu.model.d.ts +19 -0
  107. package/dist/types/components/sula-workbench-menu/sula-workbench-menu.d.ts +175 -0
  108. package/dist/types/components/sula-workbench-menu/sula-workbench-menu.stories.d.ts +145 -0
  109. package/dist/types/components.d.ts +267 -0
  110. package/dist/types/index.d.ts +1 -0
  111. package/dist/webcomponents/index.esm.js +3 -1
  112. package/dist/webcomponents/index.esm.js.map +1 -1
  113. package/dist/webcomponents/p-68a6d489.entry.js +807 -0
  114. package/dist/webcomponents/p-68a6d489.entry.js.map +1 -0
  115. package/dist/webcomponents/p-88e5171a.entry.js +100 -0
  116. package/dist/webcomponents/p-88e5171a.entry.js.map +1 -0
  117. package/dist/webcomponents/{p-20b3135d.entry.js → p-907588e9.entry.js} +193 -191
  118. package/dist/webcomponents/{p-20b3135d.entry.js.map → p-907588e9.entry.js.map} +1 -1
  119. package/dist/webcomponents/p-Cp_4qTxj.js +10 -0
  120. package/dist/webcomponents/p-Cp_4qTxj.js.map +1 -0
  121. package/dist/webcomponents/{p-BbsLJDfp.js → p-Cs9RR1ZV.js} +4 -11
  122. package/dist/webcomponents/p-Cs9RR1ZV.js.map +1 -0
  123. package/dist/webcomponents/sula-profile-menu.entry.esm.js.map +1 -0
  124. package/dist/webcomponents/sula-workbench-menu.entry.esm.js.map +1 -0
  125. package/dist/webcomponents/webcomponents.esm.js +32 -9
  126. package/package.json +1 -1
  127. package/dist/cjs/sula-calendar.model-BI5cNrUo.js.map +0 -1
  128. package/dist/esm/sula-calendar.model-BbsLJDfp.js.map +0 -1
  129. package/dist/webcomponents/p-BbsLJDfp.js.map +0 -1
@@ -0,0 +1,145 @@
1
+ import { SulaMenuDensity, SulaMenuLabelOverflow } from '../sula-menu/model/sula-menu.model';
2
+ import { SulaProfileMenuItem } from '../sula-profile-menu/model/sula-profile-menu.model';
3
+ import { SulaWorkbenchMenuItem, SulaWorkbenchMenuUser } from './model/sula-workbench-menu.model';
4
+ type StoryArgs = {
5
+ menuTitle: string;
6
+ density: SulaMenuDensity;
7
+ labelOverflow: SulaMenuLabelOverflow;
8
+ drilldownLevel: number;
9
+ items: SulaWorkbenchMenuItem[];
10
+ user: SulaWorkbenchMenuUser;
11
+ profileItems?: SulaProfileMenuItem[];
12
+ profileClicked: EventListener;
13
+ profileItemClicked: EventListener;
14
+ profileSwitchChanged: EventListener;
15
+ itemSelected: EventListener;
16
+ itemClicked: EventListener;
17
+ levelChanged: EventListener;
18
+ menuToggled: EventListener;
19
+ };
20
+ declare const _default: {
21
+ title: string;
22
+ tags: string[];
23
+ argTypes: {
24
+ menuTitle: {
25
+ control: string;
26
+ defaultValue: string;
27
+ description: string;
28
+ };
29
+ density: {
30
+ control: {
31
+ type: string;
32
+ };
33
+ options: SulaMenuDensity[];
34
+ description: string;
35
+ };
36
+ labelOverflow: {
37
+ control: {
38
+ type: string;
39
+ };
40
+ options: SulaMenuLabelOverflow[];
41
+ description: string;
42
+ };
43
+ drilldownLevel: {
44
+ control: {
45
+ type: string;
46
+ min: number;
47
+ };
48
+ description: string;
49
+ };
50
+ items: {
51
+ control: string;
52
+ description: string;
53
+ };
54
+ itemSelected: {
55
+ action: string;
56
+ description: string;
57
+ };
58
+ itemClicked: {
59
+ action: string;
60
+ description: string;
61
+ };
62
+ levelChanged: {
63
+ action: string;
64
+ description: string;
65
+ };
66
+ user: {
67
+ control: string;
68
+ description: string;
69
+ };
70
+ profileClicked: {
71
+ action: string;
72
+ description: string;
73
+ };
74
+ profileItems: {
75
+ control: string;
76
+ description: string;
77
+ };
78
+ profileItemClicked: {
79
+ action: string;
80
+ description: string;
81
+ };
82
+ profileSwitchChanged: {
83
+ action: string;
84
+ description: string;
85
+ };
86
+ menuToggled: {
87
+ action: string;
88
+ description: string;
89
+ };
90
+ };
91
+ parameters: {
92
+ docs: {
93
+ description: {
94
+ component: string;
95
+ };
96
+ };
97
+ };
98
+ };
99
+ export default _default;
100
+ export declare const Default: any;
101
+ export declare const WithoutPhotoOrEmail: any;
102
+ export declare const WithProfileMenu: {
103
+ (args: StoryArgs): any;
104
+ args: {
105
+ menuTitle: string;
106
+ density: SulaMenuDensity;
107
+ labelOverflow: SulaMenuLabelOverflow;
108
+ drilldownLevel: number;
109
+ items: SulaWorkbenchMenuItem[];
110
+ user: {
111
+ name: string;
112
+ email: string;
113
+ };
114
+ profileItems: SulaProfileMenuItem[];
115
+ };
116
+ parameters: {
117
+ docs: {
118
+ description: {
119
+ story: string;
120
+ };
121
+ };
122
+ };
123
+ };
124
+ export declare const CustomProfileItems: any;
125
+ export declare const InlineOnly: any;
126
+ export declare const ComparisonWithCurrentSulaMenu: {
127
+ (): HTMLDivElement;
128
+ parameters: {
129
+ docs: {
130
+ description: {
131
+ story: string;
132
+ };
133
+ };
134
+ };
135
+ };
136
+ export declare const ComparisonDrilldownFourthLevel: {
137
+ (): HTMLDivElement;
138
+ parameters: {
139
+ docs: {
140
+ description: {
141
+ story: string;
142
+ };
143
+ };
144
+ };
145
+ };
@@ -18,6 +18,7 @@ import { SulaIconPickerIcon } from "./components/sula-icon-picker/model/sula-ico
18
18
  import { SulaLoaderSize } from "./components/sula-loader/model/sula-loader.model";
19
19
  import { SulaMenuDensity, SulaMenuItem, SulaMenuLabelOverflow, SulaMenuMainItem, SulaMenuSubItem } from "./components/sula-menu/model/sula-menu.model";
20
20
  import { SulaModalSlotOverflow, SulaModalType } from "./components/sula-modal/model/sula-modal.model";
21
+ import { SulaProfileMenuItem, SulaProfileMenuSwitchChange, SulaProfileMenuUser } from "./components/sula-profile-menu/model/sula-profile-menu.model";
21
22
  import { SulaProgressBarAppearance, SulaProgressBarState } from "./components/sula-progress-bar/model/sula-progress-bar.model";
22
23
  import { SulaSearchBarStyle } from "./components/sula-search-bar/model/sula-search.bar-model";
23
24
  import { SulaSegmentedControlColor, SulaSegmentedControlOption, SulaSegmentedControlSize, SulaSegmentedControlType } from "./components/sula-segmented-control/model/sula-segmented-control.model";
@@ -31,6 +32,7 @@ import { SulaTimelineListItem } from "./components/sula-timeline-list/model/sula
31
32
  import { SulaToastAnnouncement, SulaToastDismissEvent, SulaToastItem, SulaToastStackActionEvent, SulaToastStackDismissEvent, SulaToastType } from "./components/sula-toast/model/sula-toast.model";
32
33
  import { SulaToggleEvent } from "./components/sula-toggle/model/sula-toggle.model";
33
34
  import { SulaTooltipPosition, SulaTooltipTrigger } from "./components/sula-tooltip/model/sula-tooltip.model";
35
+ import { SulaWorkbenchMenuItem, SulaWorkbenchMenuPath, SulaWorkbenchMenuUser } from "./components/sula-workbench-menu/model/sula-workbench-menu.model";
34
36
  export { SulaAvatarSize } from "./components/sula-avatar/model/sula-avatar.model";
35
37
  export { SulaBadgeSize, SulaBadgeStatus, SulaBadgeType } from "./components/sula-badge/model/sula-badge.model";
36
38
  export { SulaMenuBreadcrumb } from "./components/sula-breadcrumb/model/sula-breadcrumb.model";
@@ -44,6 +46,7 @@ export { SulaIconPickerIcon } from "./components/sula-icon-picker/model/sula-ico
44
46
  export { SulaLoaderSize } from "./components/sula-loader/model/sula-loader.model";
45
47
  export { SulaMenuDensity, SulaMenuItem, SulaMenuLabelOverflow, SulaMenuMainItem, SulaMenuSubItem } from "./components/sula-menu/model/sula-menu.model";
46
48
  export { SulaModalSlotOverflow, SulaModalType } from "./components/sula-modal/model/sula-modal.model";
49
+ export { SulaProfileMenuItem, SulaProfileMenuSwitchChange, SulaProfileMenuUser } from "./components/sula-profile-menu/model/sula-profile-menu.model";
47
50
  export { SulaProgressBarAppearance, SulaProgressBarState } from "./components/sula-progress-bar/model/sula-progress-bar.model";
48
51
  export { SulaSearchBarStyle } from "./components/sula-search-bar/model/sula-search.bar-model";
49
52
  export { SulaSegmentedControlColor, SulaSegmentedControlOption, SulaSegmentedControlSize, SulaSegmentedControlType } from "./components/sula-segmented-control/model/sula-segmented-control.model";
@@ -57,6 +60,7 @@ export { SulaTimelineListItem } from "./components/sula-timeline-list/model/sula
57
60
  export { SulaToastAnnouncement, SulaToastDismissEvent, SulaToastItem, SulaToastStackActionEvent, SulaToastStackDismissEvent, SulaToastType } from "./components/sula-toast/model/sula-toast.model";
58
61
  export { SulaToggleEvent } from "./components/sula-toggle/model/sula-toggle.model";
59
62
  export { SulaTooltipPosition, SulaTooltipTrigger } from "./components/sula-tooltip/model/sula-tooltip.model";
63
+ export { SulaWorkbenchMenuItem, SulaWorkbenchMenuPath, SulaWorkbenchMenuUser } from "./components/sula-workbench-menu/model/sula-workbench-menu.model";
60
64
  export namespace Components {
61
65
  interface SulaAvatar {
62
66
  /**
@@ -535,6 +539,22 @@ export namespace Components {
535
539
  */
536
540
  "type": SulaModalType;
537
541
  }
542
+ /**
543
+ * Profile card with the logged user and a configurable list of options.
544
+ * It has no positioning of its own: place it inside a popover, dropdown or panel.
545
+ * The component only emits events: what each option does is up to the host application.
546
+ */
547
+ interface SulaProfileMenu {
548
+ /**
549
+ * Options of the list. Use `divider` for a separator and `hasSwitch` + `active` for a toggle row.
550
+ * @default []
551
+ */
552
+ "items": SulaProfileMenuItem[];
553
+ /**
554
+ * Logged user. Without a photo, the initials are shown.
555
+ */
556
+ "user"?: SulaProfileMenuUser;
557
+ }
538
558
  interface SulaProgressBar {
539
559
  /**
540
560
  * The style of the progress bar.
@@ -967,6 +987,64 @@ export namespace Components {
967
987
  */
968
988
  "trigger": SulaTooltipTrigger;
969
989
  }
990
+ /**
991
+ * Navigation menu that combines an inline expandable tree with a drill-down panel.
992
+ * Levels above `drilldownLevel` expand in place, as in `sula-menu`. Items at or below
993
+ * that level with children open a single-level panel with a breadcrumb trail.
994
+ * @cssprop --sula-menu-width - Width of the expanded menu. Defaults to 256px.
995
+ * @cssprop --sula-menu-collapsed-width - Width of the collapsed menu. Defaults to 88px.
996
+ */
997
+ interface SulaWorkbenchMenu {
998
+ /**
999
+ * Icon used for items without `icon` or `image`. Use an empty string to show no icon.
1000
+ * @default 'ph ph-dot-outline'
1001
+ */
1002
+ "defaultIcon": string;
1003
+ /**
1004
+ * Density applied to menu items.
1005
+ * @default SulaMenuDensity.Default
1006
+ */
1007
+ "density": SulaMenuDensity;
1008
+ /**
1009
+ * Depth (1-based) from which items with children open a drill-down panel instead of expanding in place. With the default of 3, the first two levels expand inline and deeper branches drill down.
1010
+ * @default 3
1011
+ */
1012
+ "drilldownLevel": number;
1013
+ /**
1014
+ * Menu image
1015
+ * @default ''
1016
+ */
1017
+ "image": string;
1018
+ /**
1019
+ * Menu items. Each item may use `icon` (icon font class) or `image` (URL or data URI of an image or SVG).
1020
+ * @default []
1021
+ */
1022
+ "items": SulaWorkbenchMenuItem[];
1023
+ /**
1024
+ * Overflow behavior for item labels.
1025
+ * @default SulaMenuLabelOverflow.Wrap
1026
+ */
1027
+ "labelOverflow": SulaMenuLabelOverflow;
1028
+ /**
1029
+ * Menu title
1030
+ * @default ''
1031
+ */
1032
+ "menuTitle": string;
1033
+ /**
1034
+ * Options of the profile popover. Use `divider` for a separator and `hasSwitch` + `active` for a toggle row.
1035
+ * @default []
1036
+ */
1037
+ "profileItems": SulaProfileMenuItem[];
1038
+ /**
1039
+ * Logged user shown at the bottom of the menu. Without a photo, the initials are shown.
1040
+ */
1041
+ "user"?: SulaWorkbenchMenuUser;
1042
+ /**
1043
+ * Menu width in expanded state. Use a CSS length that does not depend on the host width, for example: 256px, 20rem or clamp(16rem, 25vw, 24rem).
1044
+ * @default ''
1045
+ */
1046
+ "width": string;
1047
+ }
970
1048
  }
971
1049
  export interface SulaBreadcrumbCustomEvent<T> extends CustomEvent<T> {
972
1050
  detail: T;
@@ -1008,6 +1086,10 @@ export interface SulaModalCustomEvent<T> extends CustomEvent<T> {
1008
1086
  detail: T;
1009
1087
  target: HTMLSulaModalElement;
1010
1088
  }
1089
+ export interface SulaProfileMenuCustomEvent<T> extends CustomEvent<T> {
1090
+ detail: T;
1091
+ target: HTMLSulaProfileMenuElement;
1092
+ }
1011
1093
  export interface SulaRadioButtonCustomEvent<T> extends CustomEvent<T> {
1012
1094
  detail: T;
1013
1095
  target: HTMLSulaRadioButtonElement;
@@ -1052,6 +1134,10 @@ export interface SulaToggleCustomEvent<T> extends CustomEvent<T> {
1052
1134
  detail: T;
1053
1135
  target: HTMLSulaToggleElement;
1054
1136
  }
1137
+ export interface SulaWorkbenchMenuCustomEvent<T> extends CustomEvent<T> {
1138
+ detail: T;
1139
+ target: HTMLSulaWorkbenchMenuElement;
1140
+ }
1055
1141
  declare global {
1056
1142
  interface HTMLSulaAvatarElement extends Components.SulaAvatar, HTMLStencilElement {
1057
1143
  }
@@ -1274,6 +1360,29 @@ declare global {
1274
1360
  prototype: HTMLSulaModalElement;
1275
1361
  new (): HTMLSulaModalElement;
1276
1362
  };
1363
+ interface HTMLSulaProfileMenuElementEventMap {
1364
+ "itemClicked": SulaProfileMenuItem;
1365
+ "switchChanged": SulaProfileMenuSwitchChange;
1366
+ }
1367
+ /**
1368
+ * Profile card with the logged user and a configurable list of options.
1369
+ * It has no positioning of its own: place it inside a popover, dropdown or panel.
1370
+ * The component only emits events: what each option does is up to the host application.
1371
+ */
1372
+ interface HTMLSulaProfileMenuElement extends Components.SulaProfileMenu, HTMLStencilElement {
1373
+ addEventListener<K extends keyof HTMLSulaProfileMenuElementEventMap>(type: K, listener: (this: HTMLSulaProfileMenuElement, ev: SulaProfileMenuCustomEvent<HTMLSulaProfileMenuElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1374
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1375
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1376
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1377
+ removeEventListener<K extends keyof HTMLSulaProfileMenuElementEventMap>(type: K, listener: (this: HTMLSulaProfileMenuElement, ev: SulaProfileMenuCustomEvent<HTMLSulaProfileMenuElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1378
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1379
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1380
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1381
+ }
1382
+ var HTMLSulaProfileMenuElement: {
1383
+ prototype: HTMLSulaProfileMenuElement;
1384
+ new (): HTMLSulaProfileMenuElement;
1385
+ };
1277
1386
  interface HTMLSulaProgressBarElement extends Components.SulaProgressBar, HTMLStencilElement {
1278
1387
  }
1279
1388
  var HTMLSulaProgressBarElement: {
@@ -1534,6 +1643,36 @@ declare global {
1534
1643
  prototype: HTMLSulaTooltipElement;
1535
1644
  new (): HTMLSulaTooltipElement;
1536
1645
  };
1646
+ interface HTMLSulaWorkbenchMenuElementEventMap {
1647
+ "itemSelected": SulaWorkbenchMenuItem;
1648
+ "itemClicked": SulaWorkbenchMenuItem;
1649
+ "levelChanged": SulaWorkbenchMenuPath;
1650
+ "profileClicked": SulaWorkbenchMenuUser;
1651
+ "profileItemClicked": SulaProfileMenuItem;
1652
+ "profileSwitchChanged": SulaProfileMenuSwitchChange;
1653
+ "menuToggled": boolean;
1654
+ }
1655
+ /**
1656
+ * Navigation menu that combines an inline expandable tree with a drill-down panel.
1657
+ * Levels above `drilldownLevel` expand in place, as in `sula-menu`. Items at or below
1658
+ * that level with children open a single-level panel with a breadcrumb trail.
1659
+ * @cssprop --sula-menu-width - Width of the expanded menu. Defaults to 256px.
1660
+ * @cssprop --sula-menu-collapsed-width - Width of the collapsed menu. Defaults to 88px.
1661
+ */
1662
+ interface HTMLSulaWorkbenchMenuElement extends Components.SulaWorkbenchMenu, HTMLStencilElement {
1663
+ addEventListener<K extends keyof HTMLSulaWorkbenchMenuElementEventMap>(type: K, listener: (this: HTMLSulaWorkbenchMenuElement, ev: SulaWorkbenchMenuCustomEvent<HTMLSulaWorkbenchMenuElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1664
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1665
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1666
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1667
+ removeEventListener<K extends keyof HTMLSulaWorkbenchMenuElementEventMap>(type: K, listener: (this: HTMLSulaWorkbenchMenuElement, ev: SulaWorkbenchMenuCustomEvent<HTMLSulaWorkbenchMenuElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1668
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1669
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1670
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1671
+ }
1672
+ var HTMLSulaWorkbenchMenuElement: {
1673
+ prototype: HTMLSulaWorkbenchMenuElement;
1674
+ new (): HTMLSulaWorkbenchMenuElement;
1675
+ };
1537
1676
  interface HTMLElementTagNameMap {
1538
1677
  "sula-avatar": HTMLSulaAvatarElement;
1539
1678
  "sula-badge": HTMLSulaBadgeElement;
@@ -1549,6 +1688,7 @@ declare global {
1549
1688
  "sula-menu": HTMLSulaMenuElement;
1550
1689
  "sula-menu-select-list": HTMLSulaMenuSelectListElement;
1551
1690
  "sula-modal": HTMLSulaModalElement;
1691
+ "sula-profile-menu": HTMLSulaProfileMenuElement;
1552
1692
  "sula-progress-bar": HTMLSulaProgressBarElement;
1553
1693
  "sula-radio-button": HTMLSulaRadioButtonElement;
1554
1694
  "sula-search-bar": HTMLSulaSearchBarElement;
@@ -1569,6 +1709,7 @@ declare global {
1569
1709
  "sula-toast-stack": HTMLSulaToastStackElement;
1570
1710
  "sula-toggle": HTMLSulaToggleElement;
1571
1711
  "sula-tooltip": HTMLSulaTooltipElement;
1712
+ "sula-workbench-menu": HTMLSulaWorkbenchMenuElement;
1572
1713
  }
1573
1714
  }
1574
1715
  declare namespace LocalJSX {
@@ -2162,6 +2303,30 @@ declare namespace LocalJSX {
2162
2303
  */
2163
2304
  "type"?: SulaModalType;
2164
2305
  }
2306
+ /**
2307
+ * Profile card with the logged user and a configurable list of options.
2308
+ * It has no positioning of its own: place it inside a popover, dropdown or panel.
2309
+ * The component only emits events: what each option does is up to the host application.
2310
+ */
2311
+ interface SulaProfileMenu {
2312
+ /**
2313
+ * Options of the list. Use `divider` for a separator and `hasSwitch` + `active` for a toggle row.
2314
+ * @default []
2315
+ */
2316
+ "items"?: SulaProfileMenuItem[];
2317
+ /**
2318
+ * Emitted when an option without switch is clicked
2319
+ */
2320
+ "onItemClicked"?: (event: SulaProfileMenuCustomEvent<SulaProfileMenuItem>) => void;
2321
+ /**
2322
+ * Emitted when the switch of an option changes
2323
+ */
2324
+ "onSwitchChanged"?: (event: SulaProfileMenuCustomEvent<SulaProfileMenuSwitchChange>) => void;
2325
+ /**
2326
+ * Logged user. Without a photo, the initials are shown.
2327
+ */
2328
+ "user"?: SulaProfileMenuUser;
2329
+ }
2165
2330
  interface SulaProgressBar {
2166
2331
  /**
2167
2332
  * The style of the progress bar.
@@ -2704,6 +2869,92 @@ declare namespace LocalJSX {
2704
2869
  */
2705
2870
  "trigger"?: SulaTooltipTrigger;
2706
2871
  }
2872
+ /**
2873
+ * Navigation menu that combines an inline expandable tree with a drill-down panel.
2874
+ * Levels above `drilldownLevel` expand in place, as in `sula-menu`. Items at or below
2875
+ * that level with children open a single-level panel with a breadcrumb trail.
2876
+ * @cssprop --sula-menu-width - Width of the expanded menu. Defaults to 256px.
2877
+ * @cssprop --sula-menu-collapsed-width - Width of the collapsed menu. Defaults to 88px.
2878
+ */
2879
+ interface SulaWorkbenchMenu {
2880
+ /**
2881
+ * Icon used for items without `icon` or `image`. Use an empty string to show no icon.
2882
+ * @default 'ph ph-dot-outline'
2883
+ */
2884
+ "defaultIcon"?: string;
2885
+ /**
2886
+ * Density applied to menu items.
2887
+ * @default SulaMenuDensity.Default
2888
+ */
2889
+ "density"?: SulaMenuDensity;
2890
+ /**
2891
+ * Depth (1-based) from which items with children open a drill-down panel instead of expanding in place. With the default of 3, the first two levels expand inline and deeper branches drill down.
2892
+ * @default 3
2893
+ */
2894
+ "drilldownLevel"?: number;
2895
+ /**
2896
+ * Menu image
2897
+ * @default ''
2898
+ */
2899
+ "image"?: string;
2900
+ /**
2901
+ * Menu items. Each item may use `icon` (icon font class) or `image` (URL or data URI of an image or SVG).
2902
+ * @default []
2903
+ */
2904
+ "items"?: SulaWorkbenchMenuItem[];
2905
+ /**
2906
+ * Overflow behavior for item labels.
2907
+ * @default SulaMenuLabelOverflow.Wrap
2908
+ */
2909
+ "labelOverflow"?: SulaMenuLabelOverflow;
2910
+ /**
2911
+ * Menu title
2912
+ * @default ''
2913
+ */
2914
+ "menuTitle"?: string;
2915
+ /**
2916
+ * Emitted when any item is clicked
2917
+ */
2918
+ "onItemClicked"?: (event: SulaWorkbenchMenuCustomEvent<SulaWorkbenchMenuItem>) => void;
2919
+ /**
2920
+ * Emitted when a leaf item is selected
2921
+ */
2922
+ "onItemSelected"?: (event: SulaWorkbenchMenuCustomEvent<SulaWorkbenchMenuItem>) => void;
2923
+ /**
2924
+ * Emitted when the drill-down level changes, with the ids from the root to the level shown (empty at the root)
2925
+ */
2926
+ "onLevelChanged"?: (event: SulaWorkbenchMenuCustomEvent<SulaWorkbenchMenuPath>) => void;
2927
+ /**
2928
+ * Emitted when the menu is toggled between collapsed and expanded states True: Menu is expanded False: Menu is collapsed
2929
+ */
2930
+ "onMenuToggled"?: (event: SulaWorkbenchMenuCustomEvent<boolean>) => void;
2931
+ /**
2932
+ * Emitted when the user area is clicked. Call `preventDefault()` to keep the profile popover closed.
2933
+ */
2934
+ "onProfileClicked"?: (event: SulaWorkbenchMenuCustomEvent<SulaWorkbenchMenuUser>) => void;
2935
+ /**
2936
+ * Emitted when a profile popover option without switch is clicked. The popover closes.
2937
+ */
2938
+ "onProfileItemClicked"?: (event: SulaWorkbenchMenuCustomEvent<SulaProfileMenuItem>) => void;
2939
+ /**
2940
+ * Emitted when the switch of a profile popover option changes. The popover stays open.
2941
+ */
2942
+ "onProfileSwitchChanged"?: (event: SulaWorkbenchMenuCustomEvent<SulaProfileMenuSwitchChange>) => void;
2943
+ /**
2944
+ * Options of the profile popover. Use `divider` for a separator and `hasSwitch` + `active` for a toggle row.
2945
+ * @default []
2946
+ */
2947
+ "profileItems"?: SulaProfileMenuItem[];
2948
+ /**
2949
+ * Logged user shown at the bottom of the menu. Without a photo, the initials are shown.
2950
+ */
2951
+ "user"?: SulaWorkbenchMenuUser;
2952
+ /**
2953
+ * Menu width in expanded state. Use a CSS length that does not depend on the host width, for example: 256px, 20rem or clamp(16rem, 25vw, 24rem).
2954
+ * @default ''
2955
+ */
2956
+ "width"?: string;
2957
+ }
2707
2958
  interface IntrinsicElements {
2708
2959
  "sula-avatar": SulaAvatar;
2709
2960
  "sula-badge": SulaBadge;
@@ -2719,6 +2970,7 @@ declare namespace LocalJSX {
2719
2970
  "sula-menu": SulaMenu;
2720
2971
  "sula-menu-select-list": SulaMenuSelectList;
2721
2972
  "sula-modal": SulaModal;
2973
+ "sula-profile-menu": SulaProfileMenu;
2722
2974
  "sula-progress-bar": SulaProgressBar;
2723
2975
  "sula-radio-button": SulaRadioButton;
2724
2976
  "sula-search-bar": SulaSearchBar;
@@ -2739,6 +2991,7 @@ declare namespace LocalJSX {
2739
2991
  "sula-toast-stack": SulaToastStack;
2740
2992
  "sula-toggle": SulaToggle;
2741
2993
  "sula-tooltip": SulaTooltip;
2994
+ "sula-workbench-menu": SulaWorkbenchMenu;
2742
2995
  }
2743
2996
  }
2744
2997
  export { LocalJSX as JSX };
@@ -2768,6 +3021,12 @@ declare module "@stencil/core" {
2768
3021
  "sula-menu": LocalJSX.SulaMenu & JSXBase.HTMLAttributes<HTMLSulaMenuElement>;
2769
3022
  "sula-menu-select-list": LocalJSX.SulaMenuSelectList & JSXBase.HTMLAttributes<HTMLSulaMenuSelectListElement>;
2770
3023
  "sula-modal": LocalJSX.SulaModal & JSXBase.HTMLAttributes<HTMLSulaModalElement>;
3024
+ /**
3025
+ * Profile card with the logged user and a configurable list of options.
3026
+ * It has no positioning of its own: place it inside a popover, dropdown or panel.
3027
+ * The component only emits events: what each option does is up to the host application.
3028
+ */
3029
+ "sula-profile-menu": LocalJSX.SulaProfileMenu & JSXBase.HTMLAttributes<HTMLSulaProfileMenuElement>;
2771
3030
  "sula-progress-bar": LocalJSX.SulaProgressBar & JSXBase.HTMLAttributes<HTMLSulaProgressBarElement>;
2772
3031
  "sula-radio-button": LocalJSX.SulaRadioButton & JSXBase.HTMLAttributes<HTMLSulaRadioButtonElement>;
2773
3032
  "sula-search-bar": LocalJSX.SulaSearchBar & JSXBase.HTMLAttributes<HTMLSulaSearchBarElement>;
@@ -2791,6 +3050,14 @@ declare module "@stencil/core" {
2791
3050
  "sula-toast-stack": LocalJSX.SulaToastStack & JSXBase.HTMLAttributes<HTMLSulaToastStackElement>;
2792
3051
  "sula-toggle": LocalJSX.SulaToggle & JSXBase.HTMLAttributes<HTMLSulaToggleElement>;
2793
3052
  "sula-tooltip": LocalJSX.SulaTooltip & JSXBase.HTMLAttributes<HTMLSulaTooltipElement>;
3053
+ /**
3054
+ * Navigation menu that combines an inline expandable tree with a drill-down panel.
3055
+ * Levels above `drilldownLevel` expand in place, as in `sula-menu`. Items at or below
3056
+ * that level with children open a single-level panel with a breadcrumb trail.
3057
+ * @cssprop --sula-menu-width - Width of the expanded menu. Defaults to 256px.
3058
+ * @cssprop --sula-menu-collapsed-width - Width of the collapsed menu. Defaults to 88px.
3059
+ */
3060
+ "sula-workbench-menu": LocalJSX.SulaWorkbenchMenu & JSXBase.HTMLAttributes<HTMLSulaWorkbenchMenuElement>;
2794
3061
  }
2795
3062
  }
2796
3063
  }
@@ -12,5 +12,6 @@ export { SulaMenuDensity, SulaMenuLabelOverflow } from './components/sula-menu/m
12
12
  export { SulaCalendarStatus } from './components/sula-calendar/model/sula-calendar.model';
13
13
  export type { SulaCalendarDay, SulaCalendarWeekday, SulaCalendarMonthChange, SulaCalendarRange } from './components/sula-calendar/model/sula-calendar.model';
14
14
  export type { SulaToggleEvent } from './components/sula-toggle/model/sula-toggle.model';
15
+ export type { SulaProfileMenuItem, SulaProfileMenuSwitchChange, SulaProfileMenuUser } from './components/sula-profile-menu/model/sula-profile-menu.model';
15
16
  export { SulaToastType } from './components/sula-toast/model/sula-toast.model';
16
17
  export type { SulaToastItem, SulaToastAnnouncement, SulaToastDismissReason, SulaToastDismissEvent, SulaToastStackDismissEvent, SulaToastStackActionEvent, } from './components/sula-toast/model/sula-toast.model';
@@ -1,4 +1,6 @@
1
- export { b as SulaCalendarStatus, S as SulaMenuDensity, a as SulaMenuLabelOverflow } from "./p-BbsLJDfp.js";
1
+ export { S as SulaMenuDensity, a as SulaMenuLabelOverflow } from "./p-Cs9RR1ZV.js";
2
+
3
+ export { S as SulaCalendarStatus } from "./p-Cp_4qTxj.js";
2
4
 
3
5
  export { S as SulaToastType } from "./p-t0X4JATS.js";
4
6
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}