@ui5/webcomponents-fiori 2.5.0-rc.1 → 2.5.0-rc.3

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 (254) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +3 -0
  3. package/cypress/specs/UserMenu.cy.ts +345 -0
  4. package/dist/.tsbuildinfo +1 -1
  5. package/dist/BarcodeScannerDialog.d.ts +5 -0
  6. package/dist/BarcodeScannerDialog.js +1 -17
  7. package/dist/BarcodeScannerDialog.js.map +1 -1
  8. package/dist/DynamicPage.d.ts +4 -0
  9. package/dist/DynamicPage.js +1 -1
  10. package/dist/DynamicPage.js.map +1 -1
  11. package/dist/DynamicPageHeaderActions.d.ts +6 -0
  12. package/dist/DynamicPageHeaderActions.js +1 -1
  13. package/dist/DynamicPageHeaderActions.js.map +1 -1
  14. package/dist/DynamicPageTitle.d.ts +3 -0
  15. package/dist/DynamicPageTitle.js +1 -1
  16. package/dist/DynamicPageTitle.js.map +1 -1
  17. package/dist/DynamicSideContent.d.ts +3 -0
  18. package/dist/DynamicSideContent.js +1 -27
  19. package/dist/DynamicSideContent.js.map +1 -1
  20. package/dist/FlexibleColumnLayout.d.ts +3 -0
  21. package/dist/FlexibleColumnLayout.js +1 -31
  22. package/dist/FlexibleColumnLayout.js.map +1 -1
  23. package/dist/MediaGallery.d.ts +5 -0
  24. package/dist/MediaGallery.js +1 -7
  25. package/dist/MediaGallery.js.map +1 -1
  26. package/dist/MediaGalleryItem.d.ts +5 -0
  27. package/dist/MediaGalleryItem.js +1 -1
  28. package/dist/MediaGalleryItem.js.map +1 -1
  29. package/dist/NotificationList.d.ts +6 -0
  30. package/dist/NotificationList.js +1 -19
  31. package/dist/NotificationList.js.map +1 -1
  32. package/dist/NotificationListGroupItem.d.ts +4 -0
  33. package/dist/NotificationListGroupItem.js +1 -1
  34. package/dist/NotificationListGroupItem.js.map +1 -1
  35. package/dist/NotificationListGroupList.d.ts +1 -0
  36. package/dist/NotificationListGroupList.js +3 -0
  37. package/dist/NotificationListGroupList.js.map +1 -1
  38. package/dist/NotificationListItem.d.ts +4 -0
  39. package/dist/NotificationListItem.js +1 -9
  40. package/dist/NotificationListItem.js.map +1 -1
  41. package/dist/NotificationListItemBase.d.ts +1 -0
  42. package/dist/NotificationListItemBase.js.map +1 -1
  43. package/dist/ProductSwitchItem.d.ts +7 -1
  44. package/dist/ProductSwitchItem.js +3 -3
  45. package/dist/ProductSwitchItem.js.map +1 -1
  46. package/dist/ShellBar.d.ts +8 -0
  47. package/dist/ShellBar.js +1 -35
  48. package/dist/ShellBar.js.map +1 -1
  49. package/dist/ShellBarItem.d.ts +3 -0
  50. package/dist/ShellBarItem.js +1 -4
  51. package/dist/ShellBarItem.js.map +1 -1
  52. package/dist/SideNavigation.d.ts +5 -2
  53. package/dist/SideNavigation.js +5 -9
  54. package/dist/SideNavigation.js.map +1 -1
  55. package/dist/SideNavigationSelectableItemBase.d.ts +3 -0
  56. package/dist/SideNavigationSelectableItemBase.js +1 -1
  57. package/dist/SideNavigationSelectableItemBase.js.map +1 -1
  58. package/dist/TimelineGroupItem.d.ts +3 -0
  59. package/dist/TimelineGroupItem.js +1 -1
  60. package/dist/TimelineGroupItem.js.map +1 -1
  61. package/dist/TimelineItem.d.ts +3 -0
  62. package/dist/TimelineItem.js +2 -2
  63. package/dist/TimelineItem.js.map +1 -1
  64. package/dist/UploadCollection.d.ts +4 -0
  65. package/dist/UploadCollection.js +4 -17
  66. package/dist/UploadCollection.js.map +1 -1
  67. package/dist/UploadCollectionItem.d.ts +8 -0
  68. package/dist/UploadCollectionItem.js +1 -1
  69. package/dist/UploadCollectionItem.js.map +1 -1
  70. package/dist/UserMenu.d.ts +128 -0
  71. package/dist/UserMenu.js +293 -0
  72. package/dist/UserMenu.js.map +1 -0
  73. package/dist/UserMenuAccount.d.ts +47 -0
  74. package/dist/UserMenuAccount.js +101 -0
  75. package/dist/UserMenuAccount.js.map +1 -0
  76. package/dist/UserMenuItem.d.ts +35 -0
  77. package/dist/UserMenuItem.js +53 -0
  78. package/dist/UserMenuItem.js.map +1 -0
  79. package/dist/ViewSettingsDialog.d.ts +7 -0
  80. package/dist/ViewSettingsDialog.js +2 -46
  81. package/dist/ViewSettingsDialog.js.map +1 -1
  82. package/dist/Wizard.d.ts +3 -0
  83. package/dist/Wizard.js +1 -15
  84. package/dist/Wizard.js.map +1 -1
  85. package/dist/WizardTab.d.ts +4 -0
  86. package/dist/WizardTab.js +1 -1
  87. package/dist/WizardTab.js.map +1 -1
  88. package/dist/bundle.esm.js +3 -0
  89. package/dist/bundle.esm.js.map +1 -1
  90. package/dist/css/themes/DynamicPage.css +1 -1
  91. package/dist/css/themes/DynamicPageHeader.css +1 -1
  92. package/dist/css/themes/DynamicPageHeaderActions.css +1 -1
  93. package/dist/css/themes/DynamicPageTitle.css +1 -1
  94. package/dist/css/themes/FlexibleColumnLayout.css +1 -1
  95. package/dist/css/themes/MediaGallery.css +1 -1
  96. package/dist/css/themes/MediaGalleryItem.css +1 -1
  97. package/dist/css/themes/NotificationListGroupItem.css +1 -1
  98. package/dist/css/themes/NotificationListItem.css +1 -1
  99. package/dist/css/themes/NotificationListItemBase.css +1 -1
  100. package/dist/css/themes/NotificationStateIcon.css +1 -1
  101. package/dist/css/themes/Page.css +1 -1
  102. package/dist/css/themes/ProductSwitchItem.css +1 -1
  103. package/dist/css/themes/ShellBar.css +1 -1
  104. package/dist/css/themes/SideNavigation.css +1 -1
  105. package/dist/css/themes/SideNavigationGroup.css +1 -1
  106. package/dist/css/themes/SideNavigationItem.css +1 -1
  107. package/dist/css/themes/SideNavigationItemBase.css +1 -1
  108. package/dist/css/themes/SideNavigationPopover.css +1 -1
  109. package/dist/css/themes/SideNavigationSubItem.css +1 -1
  110. package/dist/css/themes/Timeline.css +1 -1
  111. package/dist/css/themes/TimelineGroupItem.css +1 -1
  112. package/dist/css/themes/TimelineItem.css +1 -1
  113. package/dist/css/themes/UploadCollection.css +1 -1
  114. package/dist/css/themes/UploadCollectionItem.css +1 -1
  115. package/dist/css/themes/UserMenu.css +1 -0
  116. package/dist/css/themes/UserMenuItem.css +1 -0
  117. package/dist/css/themes/ViewSettingsDialog.css +1 -1
  118. package/dist/css/themes/Wizard.css +1 -1
  119. package/dist/css/themes/WizardTab.css +1 -1
  120. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  121. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  122. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  123. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  124. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  125. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  126. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  127. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  128. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  129. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  130. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  131. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  132. package/dist/custom-elements-internal.json +566 -19
  133. package/dist/custom-elements.json +400 -8
  134. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  135. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  136. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  137. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  138. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  139. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  140. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  141. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  142. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  143. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  144. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  145. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  146. package/dist/generated/i18n/i18n-defaults.d.ts +8 -1
  147. package/dist/generated/i18n/i18n-defaults.js +8 -1
  148. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  149. package/dist/generated/templates/UserMenuItemTemplate.lit.d.ts +4 -0
  150. package/dist/generated/templates/UserMenuItemTemplate.lit.js +35 -0
  151. package/dist/generated/templates/UserMenuItemTemplate.lit.js.map +1 -0
  152. package/dist/generated/templates/UserMenuTemplate.lit.d.ts +4 -0
  153. package/dist/generated/templates/UserMenuTemplate.lit.js +21 -0
  154. package/dist/generated/templates/UserMenuTemplate.lit.js.map +1 -0
  155. package/dist/generated/templates/ViewSettingsDialogTemplate.lit.js +1 -1
  156. package/dist/generated/templates/ViewSettingsDialogTemplate.lit.js.map +1 -1
  157. package/dist/generated/templates/WizardTabTemplate.lit.js +4 -3
  158. package/dist/generated/templates/WizardTabTemplate.lit.js.map +1 -1
  159. package/dist/generated/themes/DynamicPage.css.js +1 -1
  160. package/dist/generated/themes/DynamicPage.css.js.map +1 -1
  161. package/dist/generated/themes/DynamicPageHeader.css.js +1 -1
  162. package/dist/generated/themes/DynamicPageHeader.css.js.map +1 -1
  163. package/dist/generated/themes/DynamicPageHeaderActions.css.js +1 -1
  164. package/dist/generated/themes/DynamicPageHeaderActions.css.js.map +1 -1
  165. package/dist/generated/themes/DynamicPageTitle.css.js +1 -1
  166. package/dist/generated/themes/DynamicPageTitle.css.js.map +1 -1
  167. package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
  168. package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
  169. package/dist/generated/themes/MediaGallery.css.js +1 -1
  170. package/dist/generated/themes/MediaGallery.css.js.map +1 -1
  171. package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
  172. package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
  173. package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
  174. package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
  175. package/dist/generated/themes/NotificationListItem.css.js +1 -1
  176. package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
  177. package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
  178. package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
  179. package/dist/generated/themes/NotificationStateIcon.css.js +1 -1
  180. package/dist/generated/themes/NotificationStateIcon.css.js.map +1 -1
  181. package/dist/generated/themes/Page.css.js +1 -1
  182. package/dist/generated/themes/Page.css.js.map +1 -1
  183. package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
  184. package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
  185. package/dist/generated/themes/ShellBar.css.js +1 -1
  186. package/dist/generated/themes/ShellBar.css.js.map +1 -1
  187. package/dist/generated/themes/SideNavigation.css.js +1 -1
  188. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  189. package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
  190. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  191. package/dist/generated/themes/SideNavigationItem.css.js +1 -1
  192. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  193. package/dist/generated/themes/SideNavigationItemBase.css.js +1 -1
  194. package/dist/generated/themes/SideNavigationItemBase.css.js.map +1 -1
  195. package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
  196. package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
  197. package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
  198. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  199. package/dist/generated/themes/Timeline.css.js +1 -1
  200. package/dist/generated/themes/Timeline.css.js.map +1 -1
  201. package/dist/generated/themes/TimelineGroupItem.css.js +1 -1
  202. package/dist/generated/themes/TimelineGroupItem.css.js.map +1 -1
  203. package/dist/generated/themes/TimelineItem.css.js +1 -1
  204. package/dist/generated/themes/TimelineItem.css.js.map +1 -1
  205. package/dist/generated/themes/UploadCollection.css.js +1 -1
  206. package/dist/generated/themes/UploadCollection.css.js.map +1 -1
  207. package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
  208. package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
  209. package/dist/generated/themes/UserMenu.css.d.ts +3 -0
  210. package/dist/generated/themes/UserMenu.css.js +9 -0
  211. package/dist/generated/themes/UserMenu.css.js.map +1 -0
  212. package/dist/generated/themes/UserMenuItem.css.d.ts +3 -0
  213. package/dist/generated/themes/UserMenuItem.css.js +9 -0
  214. package/dist/generated/themes/UserMenuItem.css.js.map +1 -0
  215. package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
  216. package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
  217. package/dist/generated/themes/Wizard.css.js +1 -1
  218. package/dist/generated/themes/Wizard.css.js.map +1 -1
  219. package/dist/generated/themes/WizardTab.css.js +1 -1
  220. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  221. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  222. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  223. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  224. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  225. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  226. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  227. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  228. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  229. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  230. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  231. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  232. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  233. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  234. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  235. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  236. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  237. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  238. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  239. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  240. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  241. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  242. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  243. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  244. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  245. package/dist/vscode.html-custom-data.json +76 -1
  246. package/dist/web-types.json +214 -12
  247. package/package.json +7 -7
  248. package/src/UserMenu.hbs +99 -0
  249. package/src/UserMenuItem.hbs +1 -0
  250. package/src/ViewSettingsDialog.hbs +1 -1
  251. package/src/WizardTab.hbs +3 -1
  252. package/src/i18n/messagebundle.properties +23 -0
  253. package/src/themes/UserMenu.css +107 -0
  254. package/src/themes/UserMenuItem.css +11 -0
@@ -0,0 +1,293 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var UserMenu_1;
8
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
+ import { customElement, slot, eventStrict as event, property, } from "@ui5/webcomponents-base/dist/decorators.js";
10
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
11
+ import DOMReferenceConverter from "@ui5/webcomponents-base/dist/converters/DOMReference.js";
12
+ import Avatar from "@ui5/webcomponents/dist/Avatar.js";
13
+ import Title from "@ui5/webcomponents/dist/Title.js";
14
+ import Text from "@ui5/webcomponents/dist/Text.js";
15
+ import Button from "@ui5/webcomponents/dist/Button.js";
16
+ import Label from "@ui5/webcomponents/dist/Label.js";
17
+ import Panel from "@ui5/webcomponents/dist/Panel.js";
18
+ import Icon from "@ui5/webcomponents/dist/Icon.js";
19
+ import List, {} from "@ui5/webcomponents/dist/List.js";
20
+ import ListItemCustom from "@ui5/webcomponents/dist/ListItemCustom.js";
21
+ import Tag from "@ui5/webcomponents/dist/Tag.js";
22
+ import ResponsivePopover from "@ui5/webcomponents/dist/ResponsivePopover.js";
23
+ import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
24
+ import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
25
+ import UserMenuTemplate from "./generated/templates/UserMenuTemplate.lit.js";
26
+ import UserMenuCss from "./generated/themes/UserMenu.css.js";
27
+ // Icons
28
+ import "@ui5/webcomponents-icons/dist/add-employee.js";
29
+ import "@ui5/webcomponents-icons/dist/edit.js";
30
+ import "@ui5/webcomponents-icons/dist/person-placeholder.js";
31
+ import "@ui5/webcomponents-icons/dist/log.js";
32
+ import "@ui5/webcomponents-icons/dist/user-settings.js";
33
+ import "@ui5/webcomponents-icons/dist/decline.js";
34
+ // Texts
35
+ import { USER_MENU_OTHER_ACCOUNT_BUTTON_TXT, USER_MENU_MANAGE_ACCOUNT_BUTTON_TXT, USER_MENU_SIGN_OUT_BUTTON_TXT, USER_MENU_POPOVER_ACCESSIBLE_NAME, USER_MENU_EDIT_AVATAR_TXT, USER_MENU_ADD_ACCOUNT_TXT, USER_MENU_CLOSE_BUTTON_TXT, } from "./generated/i18n/i18n-defaults.js";
36
+ /**
37
+ * @class
38
+ * ### Overview
39
+ *
40
+ * The `ui5-user-menu` is an SAP Fiori specific web component that is used in `ui5-shellbar`
41
+ * and allows the user to easily see information and settings for the current user and all other logged in accounts.
42
+ *
43
+ * ### ES6 Module Import
44
+ * `import "@ui5/webcomponents-fiori/dist/UserMenu.js";`
45
+ *
46
+ * `import "@ui5/webcomponents-fiori/dist/UserMenuItem.js";` (for `ui5-user-menu-item`)
47
+ *
48
+ * @constructor
49
+ * @extends UI5Element
50
+ * @experimental
51
+ * @public
52
+ * @since 2.5.0
53
+ */
54
+ let UserMenu = UserMenu_1 = class UserMenu extends UI5Element {
55
+ constructor() {
56
+ super(...arguments);
57
+ /**
58
+ * Defines if the User Menu is opened.
59
+ *
60
+ * @default false
61
+ * @public
62
+ */
63
+ this.open = false;
64
+ /**
65
+ * Defines if the User Menu shows the Manage Account option.
66
+ *
67
+ * @default false
68
+ * @public
69
+ */
70
+ this.showManageAccount = false;
71
+ /**
72
+ * Defines if the User Menu shows the Other Accounts option.
73
+ *
74
+ * @default false
75
+ * @public
76
+ */
77
+ this.showOtherAccounts = false;
78
+ /**
79
+ * Defines if the User Menu shows the Add Account option.
80
+ *
81
+ * @default false
82
+ * @public
83
+ */
84
+ this.showAddAccount = false;
85
+ }
86
+ onBeforeRendering() {
87
+ this._selectedAccount = this.accounts.find(account => account.selected) || this.accounts[0];
88
+ }
89
+ get _isPhone() {
90
+ return isPhone();
91
+ }
92
+ _handleAvatarClick() {
93
+ this.fireDecoratorEvent("avatar-click");
94
+ }
95
+ _handleManageAccountClick() {
96
+ this.fireDecoratorEvent("manage-account-click");
97
+ }
98
+ _handleAddAccountClick() {
99
+ this.fireDecoratorEvent("add-account-click");
100
+ }
101
+ _handleAccountSwitch(e) {
102
+ const eventPrevented = !this.fireDecoratorEvent("change-account", {
103
+ prevSelectedAccount: this._selectedAccount,
104
+ selectedAccount: e.detail.item.associatedAccount,
105
+ });
106
+ if (eventPrevented) {
107
+ return;
108
+ }
109
+ this._selectedAccount.selected = false;
110
+ e.detail.item.associatedAccount.selected = true;
111
+ }
112
+ _handleSignOutClick() {
113
+ const eventPrevented = !this.fireDecoratorEvent("sign-out-click");
114
+ if (eventPrevented) {
115
+ return;
116
+ }
117
+ this._closeUserMenu();
118
+ }
119
+ _handleMenuItemClick(e) {
120
+ const item = e.detail.item;
121
+ if (!item._popover) {
122
+ const eventPrevented = !this.fireDecoratorEvent("item-click", {
123
+ "item": item,
124
+ });
125
+ if (!eventPrevented) {
126
+ item.fireEvent("close-menu");
127
+ }
128
+ }
129
+ else {
130
+ this._openItemSubMenu(item);
131
+ }
132
+ }
133
+ _handleMenuItemClose() {
134
+ this._closeUserMenu();
135
+ }
136
+ _handlePopoverAfterClose() {
137
+ this.open = false;
138
+ }
139
+ _handleDeclineClick() {
140
+ this._closeUserMenu();
141
+ }
142
+ _openItemSubMenu(item) {
143
+ if (!item._popover || item._popover.open) {
144
+ return;
145
+ }
146
+ item._popover.opener = item;
147
+ item._popover.open = true;
148
+ item.selected = true;
149
+ }
150
+ _closeItemSubMenu(item) {
151
+ if (item && item._popover) {
152
+ const openedSibling = item._menuItems.find(menuItem => menuItem._popover && menuItem._popover.open);
153
+ if (openedSibling) {
154
+ this._closeItemSubMenu(openedSibling);
155
+ }
156
+ item._popover.open = false;
157
+ item.selected = false;
158
+ }
159
+ }
160
+ _closeUserMenu() {
161
+ this.open = false;
162
+ }
163
+ get _otherAccounts() {
164
+ return this.accounts.filter(account => account !== this._selectedAccount);
165
+ }
166
+ get _declineButtonTooltip() {
167
+ return UserMenu_1.i18nBundle.getText(USER_MENU_CLOSE_BUTTON_TXT);
168
+ }
169
+ get _manageAccountButtonText() {
170
+ return UserMenu_1.i18nBundle.getText(USER_MENU_MANAGE_ACCOUNT_BUTTON_TXT);
171
+ }
172
+ get _otherAccountsButtonText() {
173
+ return UserMenu_1.i18nBundle.getText(USER_MENU_OTHER_ACCOUNT_BUTTON_TXT);
174
+ }
175
+ get _signOutButtonText() {
176
+ return UserMenu_1.i18nBundle.getText(USER_MENU_SIGN_OUT_BUTTON_TXT);
177
+ }
178
+ get _editAvatarTooltip() {
179
+ return UserMenu_1.i18nBundle.getText(USER_MENU_EDIT_AVATAR_TXT);
180
+ }
181
+ get _addAccountTooltip() {
182
+ return UserMenu_1.i18nBundle.getText(USER_MENU_ADD_ACCOUNT_TXT);
183
+ }
184
+ get accessibleNameText() {
185
+ if (!this._selectedAccount) {
186
+ return "";
187
+ }
188
+ return `${UserMenu_1.i18nBundle.getText(USER_MENU_POPOVER_ACCESSIBLE_NAME)} ${this._selectedAccount.titleText}`;
189
+ }
190
+ };
191
+ __decorate([
192
+ property({ type: Boolean })
193
+ ], UserMenu.prototype, "open", void 0);
194
+ __decorate([
195
+ property({ converter: DOMReferenceConverter })
196
+ ], UserMenu.prototype, "opener", void 0);
197
+ __decorate([
198
+ property({ type: Boolean })
199
+ ], UserMenu.prototype, "showManageAccount", void 0);
200
+ __decorate([
201
+ property({ type: Boolean })
202
+ ], UserMenu.prototype, "showOtherAccounts", void 0);
203
+ __decorate([
204
+ property({ type: Boolean })
205
+ ], UserMenu.prototype, "showAddAccount", void 0);
206
+ __decorate([
207
+ slot({
208
+ type: HTMLElement,
209
+ "default": true,
210
+ })
211
+ ], UserMenu.prototype, "menuItems", void 0);
212
+ __decorate([
213
+ slot({
214
+ type: HTMLElement,
215
+ invalidateOnChildChange: {
216
+ properties: true,
217
+ slots: false,
218
+ },
219
+ })
220
+ ], UserMenu.prototype, "accounts", void 0);
221
+ __decorate([
222
+ i18n("@ui5/webcomponents-fiori")
223
+ ], UserMenu, "i18nBundle", void 0);
224
+ UserMenu = UserMenu_1 = __decorate([
225
+ customElement({
226
+ tag: "ui5-user-menu",
227
+ languageAware: true,
228
+ renderer: litRender,
229
+ template: UserMenuTemplate,
230
+ styles: [UserMenuCss],
231
+ dependencies: [
232
+ ResponsivePopover,
233
+ Avatar,
234
+ Title,
235
+ Text,
236
+ Label,
237
+ Button,
238
+ Panel,
239
+ Icon,
240
+ List,
241
+ ListItemCustom,
242
+ Tag,
243
+ ],
244
+ })
245
+ /**
246
+ * Fired when the account avatar is selected.
247
+ * @public
248
+ */
249
+ ,
250
+ event("avatar-click")
251
+ /**
252
+ * Fired when the "Manage Account" button is selected.
253
+ * @public
254
+ */
255
+ ,
256
+ event("manage-account-click")
257
+ /**
258
+ * Fired when the "Add Account" button is selected.
259
+ * @public
260
+ */
261
+ ,
262
+ event("add-account-click")
263
+ /**
264
+ * Fired when the account is switched to a different one.
265
+ * @param {UserMenuAccount} prevSelectedAccount The previously selected account.
266
+ * @param {UserMenuAccount} selectedAccount The selected account.
267
+ * @public
268
+ */
269
+ ,
270
+ event("change-account", {
271
+ cancelable: true,
272
+ })
273
+ /**
274
+ * Fired when a menu item is selected.
275
+ * @param {UserMenuItem} item The selected `user menu item`.
276
+ * @public
277
+ */
278
+ ,
279
+ event("item-click", {
280
+ cancelable: true,
281
+ })
282
+ /**
283
+ * Fired when the "Sign Out" button is selected.
284
+ * @public
285
+ */
286
+ ,
287
+ event("sign-out-click", {
288
+ cancelable: true,
289
+ })
290
+ ], UserMenu);
291
+ UserMenu.define();
292
+ export default UserMenu;
293
+ //# sourceMappingURL=UserMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserMenu.js","sourceRoot":"","sources":["../src/UserMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport {\n\tcustomElement, slot, eventStrict as event, property,\n} from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\nimport Avatar from \"@ui5/webcomponents/dist/Avatar.js\";\nimport Title from \"@ui5/webcomponents/dist/Title.js\";\nimport Text from \"@ui5/webcomponents/dist/Text.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport Label from \"@ui5/webcomponents/dist/Label.js\";\nimport Panel from \"@ui5/webcomponents/dist/Panel.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport List, { type ListItemClickEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport ListItemCustom from \"@ui5/webcomponents/dist/ListItemCustom.js\";\nimport Tag from \"@ui5/webcomponents/dist/Tag.js\";\nimport ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type UserMenuAccount from \"./UserMenuAccount.js\";\nimport type UserMenuItem from \"./UserMenuItem.js\";\nimport UserMenuTemplate from \"./generated/templates/UserMenuTemplate.lit.js\";\nimport UserMenuCss from \"./generated/themes/UserMenu.css.js\";\n\n// Icons\nimport \"@ui5/webcomponents-icons/dist/add-employee.js\";\nimport \"@ui5/webcomponents-icons/dist/edit.js\";\nimport \"@ui5/webcomponents-icons/dist/person-placeholder.js\";\nimport \"@ui5/webcomponents-icons/dist/log.js\";\nimport \"@ui5/webcomponents-icons/dist/user-settings.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\n\n// Texts\nimport {\n\tUSER_MENU_OTHER_ACCOUNT_BUTTON_TXT,\n\tUSER_MENU_MANAGE_ACCOUNT_BUTTON_TXT,\n\tUSER_MENU_SIGN_OUT_BUTTON_TXT,\n\tUSER_MENU_POPOVER_ACCESSIBLE_NAME,\n\tUSER_MENU_EDIT_AVATAR_TXT,\n\tUSER_MENU_ADD_ACCOUNT_TXT,\n\tUSER_MENU_CLOSE_BUTTON_TXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype UserMenuItemClickEventDetail = {\n\titem: UserMenuItem;\n}\n\ntype UserMenuOtherAccountClickEventDetail = {\n\tprevSelectedAccount: UserMenuAccount;\n\tselectedAccount: UserMenuAccount;\n}\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-user-menu` is an SAP Fiori specific web component that is used in `ui5-shellbar`\n * and allows the user to easily see information and settings for the current user and all other logged in accounts.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/UserMenu.js\";`\n *\n * `import \"@ui5/webcomponents-fiori/dist/UserMenuItem.js\";` (for `ui5-user-menu-item`)\n *\n * @constructor\n * @extends UI5Element\n * @experimental\n * @public\n * @since 2.5.0\n */\n\n@customElement({\n\ttag: \"ui5-user-menu\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: UserMenuTemplate,\n\tstyles: [UserMenuCss],\n\tdependencies: [\n\t\tResponsivePopover,\n\t\tAvatar,\n\t\tTitle,\n\t\tText,\n\t\tLabel,\n\t\tButton,\n\t\tPanel,\n\t\tIcon,\n\t\tList,\n\t\tListItemCustom,\n\t\tTag,\n\t],\n})\n\n/**\n * Fired when the account avatar is selected.\n * @public\n */\n@event(\"avatar-click\")\n\n/**\n * Fired when the \"Manage Account\" button is selected.\n * @public\n */\n@event(\"manage-account-click\")\n\n/**\n * Fired when the \"Add Account\" button is selected.\n * @public\n */\n@event(\"add-account-click\")\n\n/**\n * Fired when the account is switched to a different one.\n * @param {UserMenuAccount} prevSelectedAccount The previously selected account.\n * @param {UserMenuAccount} selectedAccount The selected account.\n * @public\n */\n@event(\"change-account\", {\n\tcancelable: true,\n})\n\n/**\n * Fired when a menu item is selected.\n * @param {UserMenuItem} item The selected `user menu item`.\n * @public\n */\n@event(\"item-click\", {\n\tcancelable: true,\n})\n\n/**\n * Fired when the \"Sign Out\" button is selected.\n * @public\n */\n@event(\"sign-out-click\", {\n\tcancelable: true,\n})\nclass UserMenu extends UI5Element {\n\teventDetails!: {\n\t\t\"avatar-click\": void;\n\t\t\"manage-account-click\": void;\n\t\t\"add-account-click\": void;\n\t\t\"change-account\": UserMenuOtherAccountClickEventDetail;\n\t\t\"item-click\": UserMenuItemClickEventDetail;\n\t\t\"sign-out-click\": void;\n\t}\n\t/**\n\t * Defines if the User Menu is opened.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Defines the ID or DOM Reference of the element at which the user menu is shown.\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * @public\n\t * @default undefined\n\t */\n\t@property({ converter: DOMReferenceConverter })\n\topener?: HTMLElement | string;\n\n\t/**\n\t * Defines if the User Menu shows the Manage Account option.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowManageAccount = false;\n\n\t/**\n\t * Defines if the User Menu shows the Other Accounts option.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowOtherAccounts = false;\n\n\t/**\n\t * Defines if the User Menu shows the Add Account option.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowAddAccount = false;\n\n\t/**\n\t * Defines the menu items.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t})\n\tmenuItems!: Array<UserMenuItem>;\n\n\t/**\n\t * Defines the user accounts.\n\t *\n\t * **Note:** If one item is used, it will be shown as the selected one. If more than one item is used, the first one will be shown as selected unless\n\t * there is an item with `selected` property set to `true`.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\taccounts!: Array<UserMenuAccount>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * @private\n\t */\n\t_selectedAccount!: UserMenuAccount;\n\n\tonBeforeRendering() {\n\t\tthis._selectedAccount = this.accounts.find(account => account.selected) || this.accounts[0];\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\t_handleAvatarClick() {\n\t\tthis.fireDecoratorEvent(\"avatar-click\");\n\t}\n\n\t_handleManageAccountClick() {\n\t\tthis.fireDecoratorEvent(\"manage-account-click\");\n\t}\n\n\t_handleAddAccountClick() {\n\t\tthis.fireDecoratorEvent(\"add-account-click\");\n\t}\n\n\t_handleAccountSwitch(e: CustomEvent<{ item: ListItemClickEventDetail & { associatedAccount: UserMenuAccount } }>) {\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"change-account\", {\n\t\t\tprevSelectedAccount: this._selectedAccount,\n\t\t\tselectedAccount: e.detail.item.associatedAccount,\n\t\t});\n\n\t\tif (eventPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectedAccount.selected = false;\n\t\te.detail.item.associatedAccount.selected = true;\n\t}\n\n\t_handleSignOutClick() {\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"sign-out-click\");\n\n\t\tif (eventPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\t this._closeUserMenu();\n\t}\n\n\t_handleMenuItemClick(e: CustomEvent<UserMenuItemClickEventDetail>) {\n\t\tconst item = e.detail.item;\n\n\t\tif (!item._popover) {\n\t\t\tconst eventPrevented = !this.fireDecoratorEvent(\"item-click\", {\n\t\t\t\t\"item\": item,\n\t\t\t});\n\n\t\t\tif (!eventPrevented) {\n\t\t\t\titem.fireEvent(\"close-menu\");\n\t\t\t}\n\t\t} else {\n\t\t\tthis._openItemSubMenu(item);\n\t\t}\n\t}\n\n\t_handleMenuItemClose() {\n\t\tthis._closeUserMenu();\n\t}\n\n\t_handlePopoverAfterClose() {\n\t\tthis.open = false;\n\t}\n\n\t_handleDeclineClick() {\n\t\tthis._closeUserMenu();\n\t}\n\n\t_openItemSubMenu(item: UserMenuItem) {\n\t\tif (!item._popover || item._popover.open) {\n\t\t\treturn;\n\t\t}\n\n\t\titem._popover.opener = item;\n\t\titem._popover.open = true;\n\t\titem.selected = true;\n\t}\n\n\t_closeItemSubMenu(item: UserMenuItem) {\n\t\tif (item && item._popover) {\n\t\t\tconst openedSibling = item._menuItems.find(menuItem => menuItem._popover && menuItem._popover.open);\n\t\t\tif (openedSibling) {\n\t\t\t\tthis._closeItemSubMenu(openedSibling);\n\t\t\t}\n\n\t\t\titem._popover.open = false;\n\t\t\titem.selected = false;\n\t\t}\n\t}\n\n\t_closeUserMenu() {\n\t\tthis.open = false;\n\t}\n\n\tget _otherAccounts() {\n\t\treturn this.accounts.filter(account => account !== this._selectedAccount);\n\t}\n\n\tget _declineButtonTooltip() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_CLOSE_BUTTON_TXT);\n\t}\n\n\tget _manageAccountButtonText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_MANAGE_ACCOUNT_BUTTON_TXT);\n\t}\n\n\tget _otherAccountsButtonText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_OTHER_ACCOUNT_BUTTON_TXT);\n\t}\n\n\tget _signOutButtonText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_SIGN_OUT_BUTTON_TXT);\n\t}\n\n\tget _editAvatarTooltip() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_EDIT_AVATAR_TXT);\n\t}\n\n\tget _addAccountTooltip() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_ADD_ACCOUNT_TXT);\n\t}\n\n\tget accessibleNameText() {\n\t\tif (!this._selectedAccount) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn `${UserMenu.i18nBundle.getText(USER_MENU_POPOVER_ACCESSIBLE_NAME)} ${this._selectedAccount.titleText}`;\n\t}\n}\n\nUserMenu.define();\n\nexport default UserMenu;\nexport type {\n\tUserMenuItemClickEventDetail,\n\tUserMenuOtherAccountClickEventDetail,\n};\n"]}
@@ -0,0 +1,47 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ declare class UserMenuAccount extends UI5Element {
3
+ /**
4
+ * Defines the avatar image url of the user.
5
+ *
6
+ * @default ""
7
+ * @public
8
+ */
9
+ avatarSrc?: string;
10
+ /**
11
+ * Defines the avatar initials of the user.
12
+ *
13
+ * @default undefined
14
+ * @public
15
+ */
16
+ avatarInitials?: string;
17
+ /**
18
+ * Defines the title text of the user.
19
+ *
20
+ * @default ""
21
+ * @public
22
+ */
23
+ titleText: string;
24
+ /**
25
+ * Defines additional text of the user.
26
+ *
27
+ * @default ""
28
+ * @public
29
+ */
30
+ subtitleText: string;
31
+ /**
32
+ * Defines description of the user.
33
+ *
34
+ * @default ""
35
+ * @public
36
+ */
37
+ description: string;
38
+ /**
39
+ * Defines if the user is selected.
40
+ *
41
+ * @default false
42
+ * @public
43
+ */
44
+ selected: boolean;
45
+ get _initials(): string;
46
+ }
47
+ export default UserMenuAccount;
@@ -0,0 +1,101 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
+ import { customElement, property } from "@ui5/webcomponents-base/dist/decorators.js";
9
+ let UserMenuAccount =
10
+ /**
11
+ * @class
12
+ * ### Overview
13
+ *
14
+ * The `ui5-user-menu-account` represents an account in the `ui5-user-menu`.
15
+ *
16
+ * ### ES6 Module Import
17
+ * `import "@ui5/webcomponents-fiori/dist/UserMenuAccount.js";`
18
+ *
19
+ * @constructor
20
+ * @extends UI5Element
21
+ * @experimental
22
+ * @public
23
+ * @since 2.5.0
24
+ */
25
+ class UserMenuAccount extends UI5Element {
26
+ constructor() {
27
+ super(...arguments);
28
+ /**
29
+ * Defines the title text of the user.
30
+ *
31
+ * @default ""
32
+ * @public
33
+ */
34
+ this.titleText = "";
35
+ /**
36
+ * Defines additional text of the user.
37
+ *
38
+ * @default ""
39
+ * @public
40
+ */
41
+ this.subtitleText = "";
42
+ /**
43
+ * Defines description of the user.
44
+ *
45
+ * @default ""
46
+ * @public
47
+ */
48
+ this.description = "";
49
+ /**
50
+ * Defines if the user is selected.
51
+ *
52
+ * @default false
53
+ * @public
54
+ */
55
+ this.selected = false;
56
+ }
57
+ get _initials() {
58
+ return this.avatarInitials || "undefined";
59
+ }
60
+ };
61
+ __decorate([
62
+ property({ type: String })
63
+ ], UserMenuAccount.prototype, "avatarSrc", void 0);
64
+ __decorate([
65
+ property({ type: String })
66
+ ], UserMenuAccount.prototype, "avatarInitials", void 0);
67
+ __decorate([
68
+ property({ type: String })
69
+ ], UserMenuAccount.prototype, "titleText", void 0);
70
+ __decorate([
71
+ property({ type: String })
72
+ ], UserMenuAccount.prototype, "subtitleText", void 0);
73
+ __decorate([
74
+ property({ type: String })
75
+ ], UserMenuAccount.prototype, "description", void 0);
76
+ __decorate([
77
+ property({ type: Boolean })
78
+ ], UserMenuAccount.prototype, "selected", void 0);
79
+ UserMenuAccount = __decorate([
80
+ customElement({
81
+ tag: "ui5-user-menu-account",
82
+ })
83
+ /**
84
+ * @class
85
+ * ### Overview
86
+ *
87
+ * The `ui5-user-menu-account` represents an account in the `ui5-user-menu`.
88
+ *
89
+ * ### ES6 Module Import
90
+ * `import "@ui5/webcomponents-fiori/dist/UserMenuAccount.js";`
91
+ *
92
+ * @constructor
93
+ * @extends UI5Element
94
+ * @experimental
95
+ * @public
96
+ * @since 2.5.0
97
+ */
98
+ ], UserMenuAccount);
99
+ UserMenuAccount.define();
100
+ export default UserMenuAccount;
101
+ //# sourceMappingURL=UserMenuAccount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserMenuAccount.js","sourceRoot":"","sources":["../src/UserMenuAccount.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAoBrF,IAAM,eAAe;AAfrB;;;;;;;;;;;;;;GAcG;AACH,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QAmBC;;;;;WAKG;QAEH,cAAS,GAAG,EAAE,CAAC;QAEf;;;;;WAKG;QAEH,iBAAY,GAAG,EAAE,CAAC;QAElB;;;;;WAKG;QAEH,gBAAW,GAAG,EAAE,CAAC;QAEjB;;;;;WAKG;QAEH,aAAQ,GAAG,KAAK,CAAC;IAKlB,CAAC;IAHA,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,cAAc,IAAI,WAAW,CAAC;IAC3C,CAAC;CACD,CAAA;AAlDA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDACR;AASnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uDACH;AASxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDACZ;AASf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qDACT;AASlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDACV;AASjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACX;AArDZ,eAAe;IAlBpB,aAAa,CAAC;QACd,GAAG,EAAE,uBAAuB;KAC5B,CAAC;IACF;;;;;;;;;;;;;;OAcG;GACG,eAAe,CA0DpB;AAED,eAAe,CAAC,MAAM,EAAE,CAAC;AAEzB,eAAe,eAAe,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { customElement, property } from \"@ui5/webcomponents-base/dist/decorators.js\";\n\n@customElement({\n\ttag: \"ui5-user-menu-account\",\n})\n/**\n * @class\n * ### Overview\n *\n * The `ui5-user-menu-account` represents an account in the `ui5-user-menu`.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/UserMenuAccount.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @experimental\n * @public\n * @since 2.5.0\n */\nclass UserMenuAccount extends UI5Element {\n\t/**\n\t * Defines the avatar image url of the user.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property({ type: String })\n\tavatarSrc?: string;\n\n\t/**\n\t * Defines the avatar initials of the user.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: String })\n\tavatarInitials?: string;\n\n\t/**\n\t * Defines the title text of the user.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property({ type: String })\n\ttitleText = \"\";\n\n\t/**\n\t * Defines additional text of the user.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property({ type: String })\n\tsubtitleText = \"\";\n\n\t/**\n\t * Defines description of the user.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property({ type: String })\n\tdescription = \"\";\n\n\t/**\n\t * Defines if the user is selected.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\tget _initials() {\n\t\treturn this.avatarInitials || \"undefined\";\n\t}\n}\n\nUserMenuAccount.define();\n\nexport default UserMenuAccount;\n"]}
@@ -0,0 +1,35 @@
1
+ import MenuItem from "@ui5/webcomponents/dist/MenuItem.js";
2
+ /**
3
+ * @class
4
+ *
5
+ * ### Overview
6
+ *
7
+ * `ui5-user-menu-item` is the item to use inside a `ui5-user-menu`.
8
+ * An arbitrary hierarchy structure can be represented by recursively nesting menu items.
9
+ *
10
+ * ### Usage
11
+ *
12
+ * `ui5-user-menu-item` represents a node in a `ui5-user-menu`. The user menu itself is rendered as a list,
13
+ * and each `ui5-menu-item` is represented by a menu item in that menu. Therefore, you should only use
14
+ * `ui5-user-menu-item` directly in your apps. The `ui5-menu` menu item is internal for the menu, and not intended for public use.
15
+ *
16
+ * ### ES6 Module Import
17
+ *
18
+ * `import "@ui5/webcomponents-fiori/dist/UserMenuItem.js";`
19
+ * @constructor
20
+ * @extends MenuItem
21
+ * @experimental
22
+ * @public
23
+ * @since 2.5.0
24
+ */
25
+ declare class UserMenuItem extends MenuItem {
26
+ /**
27
+ * Defines the items of this component.
28
+ *
29
+ * **Note:** Use `ui5-user-menu-item` for the intended design.
30
+ * @public
31
+ */
32
+ items: Array<UserMenuItem>;
33
+ get _menuItems(): UserMenuItem[];
34
+ }
35
+ export default UserMenuItem;
@@ -0,0 +1,53 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { customElement, slot } from "@ui5/webcomponents-base/dist/decorators.js";
8
+ import MenuItem from "@ui5/webcomponents/dist/MenuItem.js";
9
+ import UserMenuItemTemplate from "./generated/templates/UserMenuItemTemplate.lit.js";
10
+ // Styles
11
+ import userMenuItemCss from "./generated/themes/UserMenuItem.css.js";
12
+ /**
13
+ * @class
14
+ *
15
+ * ### Overview
16
+ *
17
+ * `ui5-user-menu-item` is the item to use inside a `ui5-user-menu`.
18
+ * An arbitrary hierarchy structure can be represented by recursively nesting menu items.
19
+ *
20
+ * ### Usage
21
+ *
22
+ * `ui5-user-menu-item` represents a node in a `ui5-user-menu`. The user menu itself is rendered as a list,
23
+ * and each `ui5-menu-item` is represented by a menu item in that menu. Therefore, you should only use
24
+ * `ui5-user-menu-item` directly in your apps. The `ui5-menu` menu item is internal for the menu, and not intended for public use.
25
+ *
26
+ * ### ES6 Module Import
27
+ *
28
+ * `import "@ui5/webcomponents-fiori/dist/UserMenuItem.js";`
29
+ * @constructor
30
+ * @extends MenuItem
31
+ * @experimental
32
+ * @public
33
+ * @since 2.5.0
34
+ */
35
+ let UserMenuItem = class UserMenuItem extends MenuItem {
36
+ get _menuItems() {
37
+ return this.items.filter(item => !item.isSeparator);
38
+ }
39
+ };
40
+ __decorate([
41
+ slot({ "default": true, type: HTMLElement, invalidateOnChildChange: true })
42
+ ], UserMenuItem.prototype, "items", void 0);
43
+ UserMenuItem = __decorate([
44
+ customElement({
45
+ tag: "ui5-user-menu-item",
46
+ template: UserMenuItemTemplate,
47
+ styles: [MenuItem.styles, userMenuItemCss],
48
+ dependencies: [...MenuItem.dependencies],
49
+ })
50
+ ], UserMenuItem);
51
+ UserMenuItem.define();
52
+ export default UserMenuItem;
53
+ //# sourceMappingURL=UserMenuItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserMenuItem.js","sourceRoot":"","sources":["../src/UserMenuItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,QAAQ,MAAM,qCAAqC,CAAC;AAE3D,OAAO,oBAAoB,MAAM,mDAAmD,CAAC;AAErF,SAAS;AACT,OAAO,eAAe,MAAM,wCAAwC,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAOH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,QAAQ;IAUlC,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC;CACD,CAAA;AALQ;IADP,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;2CACzC;AAR9B,YAAY;IANjB,aAAa,CAAC;QACd,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,oBAAoB;QAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;QAC1C,YAAY,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;KACxC,CAAC;GACI,YAAY,CAajB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import { customElement, slot } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport MenuItem from \"@ui5/webcomponents/dist/MenuItem.js\";\n\nimport UserMenuItemTemplate from \"./generated/templates/UserMenuItemTemplate.lit.js\";\n\n// Styles\nimport userMenuItemCss from \"./generated/themes/UserMenuItem.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-user-menu-item` is the item to use inside a `ui5-user-menu`.\n * An arbitrary hierarchy structure can be represented by recursively nesting menu items.\n *\n * ### Usage\n *\n * `ui5-user-menu-item` represents a node in a `ui5-user-menu`. The user menu itself is rendered as a list,\n * and each `ui5-menu-item` is represented by a menu item in that menu. Therefore, you should only use\n * `ui5-user-menu-item` directly in your apps. The `ui5-menu` menu item is internal for the menu, and not intended for public use.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/UserMenuItem.js\";`\n * @constructor\n * @extends MenuItem\n * @experimental\n * @public\n * @since 2.5.0\n */\n@customElement({\n\ttag: \"ui5-user-menu-item\",\n\ttemplate: UserMenuItemTemplate,\n\tstyles: [MenuItem.styles, userMenuItemCss],\n\tdependencies: [...MenuItem.dependencies],\n})\nclass UserMenuItem extends MenuItem {\n\t/**\n\t * Defines the items of this component.\n\t *\n\t * **Note:** Use `ui5-user-menu-item` for the intended design.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\tdeclare items: Array<UserMenuItem>;\n\n\tget _menuItems() {\n\t\treturn this.items.filter(item => !item.isSeparator);\n\t}\n}\n\nUserMenuItem.define();\n\nexport default UserMenuItem;\n"]}
@@ -66,6 +66,13 @@ type VSDInternalSettings = {
66
66
  * @public
67
67
  */
68
68
  declare class ViewSettingsDialog extends UI5Element {
69
+ eventDetails: {
70
+ "confirm": ViewSettingsDialogConfirmEventDetail;
71
+ "cancel": ViewSettingsDialogCancelEventDetail;
72
+ "before-open": void;
73
+ "open": void;
74
+ "close": void;
75
+ };
69
76
  /**
70
77
  * Defines the initial sort order.
71
78
  * @default false
@@ -8,7 +8,7 @@ var ViewSettingsDialog_1;
8
8
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
9
9
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
10
10
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
11
- import event from "@ui5/webcomponents-base/dist/decorators/event.js";
11
+ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
12
12
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
13
13
  import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
14
14
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
@@ -296,7 +296,7 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
296
296
  else {
297
297
  this._restoreSettings(this._confirmedSettings);
298
298
  }
299
- this.fireDecoratorEvent("before-open", {});
299
+ this.fireDecoratorEvent("before-open");
300
300
  }
301
301
  afterDialogOpen() {
302
302
  this._dialog?.querySelector("[ui5-list]")?.focusFirstItem();
@@ -572,28 +572,6 @@ ViewSettingsDialog = ViewSettingsDialog_1 = __decorate([
572
572
  */
573
573
  ,
574
574
  event("confirm", {
575
- detail: {
576
- /**
577
- * @public
578
- */
579
- sortOrder: { type: String },
580
- /**
581
- * @public
582
- */
583
- sortBy: { type: String },
584
- /**
585
- * @public
586
- */
587
- sortByItem: { type: HTMLElement },
588
- /**
589
- * @public
590
- */
591
- sortDescending: { type: Boolean },
592
- /**
593
- * @public
594
- */
595
- filters: { type: Array },
596
- },
597
575
  bubbles: true,
598
576
  })
599
577
  /**
@@ -607,28 +585,6 @@ ViewSettingsDialog = ViewSettingsDialog_1 = __decorate([
607
585
  */
608
586
  ,
609
587
  event("cancel", {
610
- detail: {
611
- /**
612
- * @public
613
- */
614
- sortOrder: { type: String },
615
- /**
616
- * @public
617
- */
618
- sortBy: { type: String },
619
- /**
620
- * @public
621
- */
622
- sortByItem: { type: HTMLElement },
623
- /**
624
- * @public
625
- */
626
- sortDescending: { type: Boolean },
627
- /**
628
- * @public
629
- */
630
- filters: { type: Array },
631
- },
632
588
  bubbles: true,
633
589
  })
634
590
  /**