@ui5/webcomponents-fiori 2.19.2 → 2.20.0-rc.1

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 (218) hide show
  1. package/CHANGELOG.md +12 -3
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/DynamicPage.js +8 -2
  4. package/dist/DynamicPage.js.map +1 -1
  5. package/dist/ShellBar.d.ts +231 -304
  6. package/dist/ShellBar.js +506 -980
  7. package/dist/ShellBar.js.map +1 -1
  8. package/dist/ShellBarItem.d.ts +15 -31
  9. package/dist/ShellBarItem.js +36 -25
  10. package/dist/ShellBarItem.js.map +1 -1
  11. package/dist/ShellBarItemTemplate.d.ts +2 -0
  12. package/dist/ShellBarItemTemplate.js +11 -0
  13. package/dist/ShellBarItemTemplate.js.map +1 -0
  14. package/dist/ShellBarTemplate.js +53 -55
  15. package/dist/ShellBarTemplate.js.map +1 -1
  16. package/dist/UserMenu.d.ts +10 -1
  17. package/dist/UserMenu.js +9 -1
  18. package/dist/UserMenu.js.map +1 -1
  19. package/dist/UserMenuAccount.js +0 -2
  20. package/dist/UserMenuAccount.js.map +1 -1
  21. package/dist/UserMenuItem.d.ts +0 -1
  22. package/dist/UserMenuItem.js +0 -1
  23. package/dist/UserMenuItem.js.map +1 -1
  24. package/dist/UserMenuItemGroup.d.ts +0 -1
  25. package/dist/UserMenuItemGroup.js +0 -1
  26. package/dist/UserMenuItemGroup.js.map +1 -1
  27. package/dist/UserMenuTemplate.js +3 -1
  28. package/dist/UserMenuTemplate.js.map +1 -1
  29. package/dist/UserSettingsAccountView.js +0 -2
  30. package/dist/UserSettingsAccountView.js.map +1 -1
  31. package/dist/UserSettingsAppearanceView.js +0 -2
  32. package/dist/UserSettingsAppearanceView.js.map +1 -1
  33. package/dist/UserSettingsAppearanceViewGroup.d.ts +0 -1
  34. package/dist/UserSettingsAppearanceViewGroup.js +0 -1
  35. package/dist/UserSettingsAppearanceViewGroup.js.map +1 -1
  36. package/dist/UserSettingsAppearanceViewItem.js +0 -2
  37. package/dist/UserSettingsAppearanceViewItem.js.map +1 -1
  38. package/dist/UserSettingsDialog.d.ts +0 -1
  39. package/dist/UserSettingsDialog.js +0 -1
  40. package/dist/UserSettingsDialog.js.map +1 -1
  41. package/dist/UserSettingsItem.d.ts +0 -1
  42. package/dist/UserSettingsItem.js +0 -1
  43. package/dist/UserSettingsItem.js.map +1 -1
  44. package/dist/UserSettingsView.d.ts +0 -1
  45. package/dist/UserSettingsView.js +0 -1
  46. package/dist/UserSettingsView.js.map +1 -1
  47. package/dist/css/themes/ShellBar.css +1 -1
  48. package/dist/css/themes/ShellBarItem.css +1 -0
  49. package/dist/css/themes/ShellBarLegacy.css +1 -0
  50. package/dist/css/themes/ShellBarSearchLegacy.css +1 -0
  51. package/dist/custom-elements-internal.json +363 -750
  52. package/dist/custom-elements.json +324 -609
  53. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  54. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  55. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  56. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  57. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  58. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  59. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  60. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  61. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  62. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  63. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  64. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  65. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  66. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  67. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  68. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  69. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  70. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  71. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  72. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  73. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  74. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  75. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  76. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  77. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  78. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  79. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  80. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  81. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  82. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  83. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  84. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  85. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  86. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  87. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  88. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  89. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  90. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  91. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  92. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  93. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  94. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  95. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  96. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  97. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  98. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  99. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  100. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  104. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  105. package/dist/generated/i18n/i18n-defaults.js +2 -1
  106. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  107. package/dist/generated/themes/ShellBar.css.d.ts +1 -1
  108. package/dist/generated/themes/ShellBar.css.js +1 -1
  109. package/dist/generated/themes/ShellBar.css.js.map +1 -1
  110. package/dist/generated/themes/ShellBarItem.css.d.ts +2 -0
  111. package/dist/generated/themes/ShellBarItem.css.js +8 -0
  112. package/dist/generated/themes/ShellBarItem.css.js.map +1 -0
  113. package/dist/generated/themes/ShellBarLegacy.css.d.ts +2 -0
  114. package/dist/generated/themes/ShellBarLegacy.css.js +8 -0
  115. package/dist/generated/themes/ShellBarLegacy.css.js.map +1 -0
  116. package/dist/generated/themes/ShellBarSearchLegacy.css.d.ts +2 -0
  117. package/dist/generated/themes/ShellBarSearchLegacy.css.js +8 -0
  118. package/dist/generated/themes/ShellBarSearchLegacy.css.js.map +1 -0
  119. package/dist/shellbar/IShellBarSearchController.d.ts +28 -0
  120. package/dist/shellbar/IShellBarSearchController.js +2 -0
  121. package/dist/shellbar/IShellBarSearchController.js.map +1 -0
  122. package/dist/shellbar/ShellBarAccessibility.d.ts +42 -0
  123. package/dist/shellbar/ShellBarAccessibility.js +50 -0
  124. package/dist/shellbar/ShellBarAccessibility.js.map +1 -0
  125. package/dist/shellbar/ShellBarItemNavigation.d.ts +18 -0
  126. package/dist/shellbar/ShellBarItemNavigation.js +86 -0
  127. package/dist/shellbar/ShellBarItemNavigation.js.map +1 -0
  128. package/dist/shellbar/ShellBarLegacy.d.ts +46 -0
  129. package/dist/shellbar/ShellBarLegacy.js +138 -0
  130. package/dist/shellbar/ShellBarLegacy.js.map +1 -0
  131. package/dist/shellbar/ShellBarOverflow.d.ts +51 -0
  132. package/dist/shellbar/ShellBarOverflow.js +159 -0
  133. package/dist/shellbar/ShellBarOverflow.js.map +1 -0
  134. package/dist/shellbar/ShellBarSearch.d.ts +59 -0
  135. package/dist/shellbar/ShellBarSearch.js +145 -0
  136. package/dist/shellbar/ShellBarSearch.js.map +1 -0
  137. package/dist/shellbar/ShellBarSearchLegacy.d.ts +65 -0
  138. package/dist/shellbar/ShellBarSearchLegacy.js +116 -0
  139. package/dist/shellbar/ShellBarSearchLegacy.js.map +1 -0
  140. package/dist/shellbar/templates/ShellBarLegacyTemplate.d.ts +20 -0
  141. package/dist/shellbar/templates/ShellBarLegacyTemplate.js +71 -0
  142. package/dist/shellbar/templates/ShellBarLegacyTemplate.js.map +1 -0
  143. package/dist/shellbar/templates/ShellBarSearchLegacyTemplate.d.ts +5 -0
  144. package/dist/shellbar/templates/ShellBarSearchLegacyTemplate.js +18 -0
  145. package/dist/shellbar/templates/ShellBarSearchLegacyTemplate.js.map +1 -0
  146. package/dist/shellbar/templates/ShellBarSearchTemplate.d.ts +4 -0
  147. package/dist/shellbar/templates/ShellBarSearchTemplate.js +17 -0
  148. package/dist/shellbar/templates/ShellBarSearchTemplate.js.map +1 -0
  149. package/dist/vscode.html-custom-data.json +29 -79
  150. package/dist/web-types.json +75 -239
  151. package/package.json +8 -8
  152. package/src/ShellBarItemTemplate.tsx +36 -0
  153. package/src/ShellBarTemplate.tsx +222 -300
  154. package/src/UserMenuTemplate.tsx +11 -3
  155. package/src/i18n/messagebundle.properties +3 -0
  156. package/src/i18n/messagebundle_ar.properties +2 -0
  157. package/src/i18n/messagebundle_bg.properties +6 -4
  158. package/src/i18n/messagebundle_ca.properties +2 -0
  159. package/src/i18n/messagebundle_cnr.properties +2 -0
  160. package/src/i18n/messagebundle_cs.properties +2 -0
  161. package/src/i18n/messagebundle_cy.properties +2 -0
  162. package/src/i18n/messagebundle_da.properties +2 -0
  163. package/src/i18n/messagebundle_de.properties +2 -0
  164. package/src/i18n/messagebundle_el.properties +2 -0
  165. package/src/i18n/messagebundle_en.properties +2 -0
  166. package/src/i18n/messagebundle_en_GB.properties +2 -0
  167. package/src/i18n/messagebundle_en_US_sappsd.properties +2 -0
  168. package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
  169. package/src/i18n/messagebundle_en_US_saptrc.properties +2 -0
  170. package/src/i18n/messagebundle_es.properties +2 -0
  171. package/src/i18n/messagebundle_es_MX.properties +2 -0
  172. package/src/i18n/messagebundle_et.properties +2 -0
  173. package/src/i18n/messagebundle_fi.properties +2 -0
  174. package/src/i18n/messagebundle_fr.properties +2 -0
  175. package/src/i18n/messagebundle_fr_CA.properties +2 -0
  176. package/src/i18n/messagebundle_hi.properties +2 -0
  177. package/src/i18n/messagebundle_hr.properties +2 -0
  178. package/src/i18n/messagebundle_hu.properties +2 -0
  179. package/src/i18n/messagebundle_id.properties +3 -1
  180. package/src/i18n/messagebundle_it.properties +2 -0
  181. package/src/i18n/messagebundle_iw.properties +2 -0
  182. package/src/i18n/messagebundle_ja.properties +2 -0
  183. package/src/i18n/messagebundle_kk.properties +2 -0
  184. package/src/i18n/messagebundle_ko.properties +2 -0
  185. package/src/i18n/messagebundle_lt.properties +2 -0
  186. package/src/i18n/messagebundle_lv.properties +2 -0
  187. package/src/i18n/messagebundle_mk.properties +2 -0
  188. package/src/i18n/messagebundle_ms.properties +2 -0
  189. package/src/i18n/messagebundle_nl.properties +2 -0
  190. package/src/i18n/messagebundle_no.properties +2 -0
  191. package/src/i18n/messagebundle_pl.properties +2 -0
  192. package/src/i18n/messagebundle_pt.properties +2 -0
  193. package/src/i18n/messagebundle_pt_PT.properties +2 -0
  194. package/src/i18n/messagebundle_ro.properties +2 -0
  195. package/src/i18n/messagebundle_ru.properties +2 -0
  196. package/src/i18n/messagebundle_sh.properties +2 -0
  197. package/src/i18n/messagebundle_sk.properties +2 -0
  198. package/src/i18n/messagebundle_sl.properties +2 -0
  199. package/src/i18n/messagebundle_sr.properties +2 -0
  200. package/src/i18n/messagebundle_sv.properties +2 -0
  201. package/src/i18n/messagebundle_th.properties +2 -0
  202. package/src/i18n/messagebundle_tr.properties +2 -0
  203. package/src/i18n/messagebundle_uk.properties +2 -0
  204. package/src/i18n/messagebundle_vi.properties +2 -0
  205. package/src/i18n/messagebundle_zh_CN.properties +2 -0
  206. package/src/i18n/messagebundle_zh_TW.properties +2 -0
  207. package/src/shellbar/templates/ShellBarLegacyTemplate.tsx +190 -0
  208. package/src/shellbar/templates/ShellBarSearchLegacyTemplate.tsx +61 -0
  209. package/src/shellbar/templates/ShellBarSearchTemplate.tsx +40 -0
  210. package/src/themes/NavigationLayout.css +1 -0
  211. package/src/themes/ShellBar.css +189 -372
  212. package/src/themes/ShellBarItem.css +43 -0
  213. package/src/themes/ShellBarLegacy.css +174 -0
  214. package/src/themes/ShellBarSearchLegacy.css +44 -0
  215. package/dist/ShellBarPopoverTemplate.d.ts +0 -2
  216. package/dist/ShellBarPopoverTemplate.js +0 -9
  217. package/dist/ShellBarPopoverTemplate.js.map +0 -1
  218. package/src/ShellBarPopoverTemplate.tsx +0 -50
@@ -1,62 +1,60 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ui5/webcomponents-base/jsx-runtime";
2
- import Icon from "@ui5/webcomponents/dist/Icon.js";
3
2
  import Button from "@ui5/webcomponents/dist/Button.js";
4
- import ShellBarPopoverTemplate from "./ShellBarPopoverTemplate.js";
5
- import slimArrowDown from "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
6
3
  import ButtonBadge from "@ui5/webcomponents/dist/ButtonBadge.js";
4
+ import Popover from "@ui5/webcomponents/dist/Popover.js";
5
+ import List from "@ui5/webcomponents/dist/List.js";
6
+ import ShellBarItem from "./ShellBarItem.js";
7
+ import { ShellBarSearchField, ShellBarSearchFieldFullWidth } from "./shellbar/templates/ShellBarSearchTemplate.js";
8
+ import { ShellBarSearchField as ShellBarSearchFieldLegacy, ShellBarSearchButton as ShellBarSearchButtonLegacy, ShellBarSearchFieldFullWidth as ShellBarSearchFieldFullWidthLegacy, } from "./shellbar/templates/ShellBarSearchLegacyTemplate.js";
9
+ import { ShellBarLegacyBrandingArea, } from "./shellbar/templates/ShellBarLegacyTemplate.js";
7
10
  export default function ShellBarTemplate() {
8
- return (_jsxs(_Fragment, { children: [_jsxs("header", { class: this.classes.wrapper, "aria-label": this._shellbarText, onKeyDown: this._onKeyDown, part: "root", children: [_jsxs("div", { class: "ui5-shellbar-overflow-container ui5-shellbar-overflow-container-left", children: [this.startButton.length > 0 && _jsx("slot", { name: "startButton" }), this.hasBranding && (_jsx("slot", { name: "branding" })), this.hasMenuItems && !this.hasBranding && (_jsxs(_Fragment, { children: [!this.showLogoInMenuButton && this.hasLogo && singleLogo.call(this), this.showTitleInMenuButton && _jsx("h1", { class: "ui5-hidden-text", children: this.primaryTitle }), this.showMenuButton && (_jsx(_Fragment, { children: _jsxs("button", { class: {
9
- "ui5-shellbar-menu-button": true,
10
- ...this.classes.button,
11
- }, onClick: this._headerPress, "aria-haspopup": "menu", "aria-expanded": this._menuPopoverExpanded, "aria-label": this._brandingText, "data-ui5-stable": "menu", tabIndex: 0, children: [this.showLogoInMenuButton && (_jsx("span", { class: "ui5-shellbar-logo", "aria-label": this._logoText, title: this._logoText, children: _jsx("slot", { name: "logo" }) })), this.showTitleInMenuButton && (_jsx("div", { class: "ui5-shellbar-menu-button-title", children: this.primaryTitle })), _jsx(Icon, { class: "ui5-shellbar-menu-button-arrow", name: slimArrowDown })] }) }))] })), this.hasMenuItems && (
12
- // The secondary title remains visible when both menu items and the branding slot are present,
13
- // as the branding slot has higher priority and takes precedence in visibility.
14
- _jsx(_Fragment, { children: this.secondaryTitle && !this.isSBreakPoint && (_jsx("div", { style: { display: "block" }, class: "ui5-shellbar-secondary-title", "data-ui5-stable": "secondary-title", children: this.secondaryTitle })) })), !this.hasMenuItems && (_jsxs(_Fragment, { children: [this.isSBreakPoint && this.hasLogo && !this.hasBranding && singleLogo.call(this), !this.isSBreakPoint && (this.hasLogo || this.primaryTitle) && (_jsxs(_Fragment, { children: [!this.hasBranding && combinedLogo.call(this), this.secondaryTitle && (this.primaryTitle || this.hasBranding) && (_jsx("h2", { class: "ui5-shellbar-secondary-title", "data-ui5-stable": "secondary-title", children: this.secondaryTitle }))] }))] }))] }), this.hasMidContent && (_jsx("div", { class: "ui5-shellbar-overflow-container ui5-shellbar-mid-content", children: _jsx("slot", { name: "midContent" }) })), _jsx("div", { class: "ui5-shellbar-overflow-container ui5-shellbar-overflow-container-right", children: _jsxs("div", { class: "ui5-shellbar-overflow-container-right-inner", children: [this.hasContentItems && (_jsxs("div", { class: "ui5-shellbar-content-items", role: this._contentItemsRole, "aria-label": this._contentItemsText, children: [this.showStartSeparator && (_jsx("div", { class: {
15
- "ui5-shellbar-separator": true,
16
- "ui5-shellbar-separator-start": true,
17
- } })), this.startContent.map(item => {
18
- const itemInfo = this._contentInfo.find(info => info.id === item._individualSlot);
19
- return (_jsxs("div", { id: item._individualSlot, class: itemInfo?.classes, children: [this.shouldIncludeSeparator(itemInfo, this.startContentInfoSorted) && (
20
- // never displayed, only "packed" with last item that was hidden, used for measurement purposes
21
- _jsx("div", { class: {
22
- "ui5-shellbar-separator": true,
23
- "ui5-shellbar-separator-start": true,
24
- } })), _jsx("slot", { name: item._individualSlot })] }, item._individualSlot));
11
+ const isLegacySearch = !this.isSelfCollapsibleSearch;
12
+ const SearchInBarTemplate = isLegacySearch ? ShellBarSearchFieldLegacy : ShellBarSearchField;
13
+ const SearchFullWidthTemplate = isLegacySearch ? ShellBarSearchFieldFullWidthLegacy : ShellBarSearchFieldFullWidth;
14
+ const profileAction = this.getAction("profile");
15
+ const overflowAction = this.getAction("overflow");
16
+ const assistantAction = this.getAction("assistant");
17
+ const notificationsAction = this.getAction("notifications");
18
+ const productSwitchAction = this.getAction("products");
19
+ const actionsAccInfo = this.actionsAccessibilityInfo;
20
+ return (_jsxs(_Fragment, { children: [_jsxs("header", { class: "ui5-shellbar-root", part: "root", onKeyDown: this._onKeyDown, "aria-label": this.texts.shellbar, children: [this.showFullWidthSearch && SearchFullWidthTemplate.call(this), this.enabledFeatures.startButton && (_jsx("div", { class: "ui5-shellbar-start-button ui5-shellbar-gap-end", children: _jsx("slot", { name: "startButton" }) })), this.enabledFeatures.branding && (_jsx("div", { class: "ui5-shellbar-branding-area", children: _jsx("slot", { name: "branding" }) })), !this.enabledFeatures.branding && ShellBarLegacyBrandingArea.call(this), _jsx("div", { class: "ui5-shellbar-overflow-container", children: _jsxs("div", { class: "ui5-shellbar-overflow-container-inner", children: [this.enabledFeatures.content && (_jsxs("div", { class: "ui5-shellbar-content-area ui5-shellbar-content-items", role: this.contentRole, "aria-label": this.texts.contentItems, children: [this.separatorConfig.showStartSeparator && (_jsx("div", { class: "ui5-shellbar-separator ui5-shellbar-separator-start" })), this.startContent.map(item => {
21
+ const itemId = item._individualSlot;
22
+ const packedSep = this.getPackedSeparatorInfo(item, true);
23
+ return (_jsxs("div", { id: itemId, class: {
24
+ "ui5-shellbar-content-item ui5-shellbar-gap-start": true,
25
+ "ui5-shellbar-hidden": this.isHidden(itemId),
26
+ }, children: [packedSep.shouldPack && (_jsx("div", { class: "ui5-shellbar-separator ui5-shellbar-separator-start" })), _jsx("slot", { name: item._individualSlot })] }, itemId));
25
27
  }), _jsx("div", { class: "ui5-shellbar-spacer" }), this.endContent.map(item => {
26
- const itemInfo = this._contentInfo.find(info => info.id === item._individualSlot);
27
- return (_jsxs("div", { id: item._individualSlot, class: itemInfo?.classes, children: [_jsx("slot", { name: item._individualSlot }), this.shouldIncludeSeparator(itemInfo, this.endContentInfoSorted) && (
28
- // never displayed, only "packed" with last item that was hidden, used for measurement purposes
29
- _jsx("div", { class: {
30
- "ui5-shellbar-separator": true,
31
- "ui5-shellbar-separator-end": true,
32
- } }))] }, item._individualSlot));
33
- }), this.showEndSeparator && (_jsx("div", { class: {
34
- "ui5-shellbar-separator": true,
35
- "ui5-shellbar-separator-end": true,
36
- } }))] })), !this.hasContentItems && _jsx("div", { class: "ui5-shellbar-spacer" }), _jsxs("div", { class: "ui5-shellbar-overflow-container-right-child", role: this._rightChildRole, children: [this.hasSearchField && (_jsxs(_Fragment, { children: [this.showFullWidthSearch && (_jsxs("div", { class: "ui5-shellbar-search-full-width-wrapper", style: this.styles.searchField, children: [_jsx("div", { class: "ui5-shellbar-search-full-field", children: _jsx("slot", { name: "searchField" }) }), _jsx(Button, { onClick: this._handleCancelButtonPress, class: "ui5-shellbar-button ui5-shellbar-cancel-button", "data-ui5-stable": "cancel-search", children: this._cancelBtnText })] })), _jsx("div", { id: this.hasSelfCollapsibleSearch ? `${this._id}-item-1` : undefined, class: this.classes.searchField, style: this.styles.searchField, children: _jsx("slot", { name: "searchField" }) }), !(this.hasSelfCollapsibleSearch || this.hideSearchButton) && (_jsx(Button, { id: `${this._id}-item-1`, class: {
37
- "ui5-shellbar-button": true,
38
- "ui5-shellbar-search-button": true,
39
- "ui5-shellbar-search-item-for-arrow-nav": true,
40
- ...this.classes.search,
41
- }, icon: "sap-icon://search", "data-ui5-text": "Search", "data-ui5-notifications-count": this.notificationsCount, "data-ui5-stable": "toggle-search", onClick: this._handleSearchIconPress, tooltip: this._searchBtnOpen, "aria-label": this._searchBtnOpen, "aria-expanded": this.showSearchField, accessibilityAttributes: this.accInfo.search.accessibilityAttributes }))] })), this.hasAssistant && (_jsx("div", { id: `${this._id}-assistant`, class: this.classes.assistant, children: _jsx("slot", { name: "assistant" }) })), this.showNotifications && (_jsx(Button, { id: `${this._id}-item-2`, class: {
42
- "ui5-shellbar-button": true,
43
- "ui5-shellbar-bell-button": true,
44
- "ui5-shellbar-items-for-arrow-nav": true,
45
- ...this.classes.notification,
46
- }, icon: "sap-icon://bell", "data-ui5-text": "Notifications", onClick: this._handleNotificationsPress, tooltip: this._notificationsText, accessibilityAttributes: this.accInfo.notifications.accessibilityAttributes, "data-ui5-stable": "notifications", children: this.notificationsCount && (_jsx(ButtonBadge, { slot: "badge", design: "OverlayText", text: this.notificationsCount })) })), this.customItemsInfo.map(item => (_jsx(Button, { id: item.id, class: `${item.classes} ui5-shellbar-items-for-arrow-nav`, icon: item.icon, tooltip: item.tooltip, "data-ui5-notifications-count": this.notificationsCount, "data-ui5-external-action-item-id": item.refItemid, "data-ui5-stable": item.icon && !this.isIconHidden(item.icon) ? item.stableDomRef : undefined, onClick: item.press, accessibilityAttributes: item.accessibilityAttributes, children: item.count && (_jsx(ButtonBadge, { slot: "badge", design: "OverlayText", text: item.count })) }, item.id)))] })] }) }), _jsx(Button, { id: `${this._id}-item-5`, class: {
47
- "ui5-shellbar-button": true,
48
- "ui5-shellbar-overflow-button": true,
49
- "ui5-shellbar-items-for-arrow-nav": true,
50
- ...this.classes.overflow,
51
- }, icon: "sap-icon://overflow", onClick: this._handleOverflowPress, tooltip: this._overflowText, accessibilityAttributes: this.accInfo.overflow.accessibilityAttributes, "data-ui5-stable": "overflow", children: this._overflowNotifications && (_jsx(ButtonBadge, { slot: "badge", design: this._overflowNotifications === " " ? "AttentionDot" : "OverlayText", text: this._overflowNotifications === " " ? "" : this._overflowNotifications })) }), this.hasProfile && profileButton.call(this), this.showProductSwitch && (_jsx(Button, { id: `${this._id}-item-4`, class: "ui5-shellbar-no-overflow-button ui5-shellbar-button ui5-shellbar-button-product-switch ui5-shellbar-items-for-arrow-nav", icon: "sap-icon://grid", "data-ui5-text": "Product Switch", onClick: this._handleProductSwitchPress, tooltip: this._productsText, "aria-label": this._productSwitchBtnText, "aria-haspopup": "dialog", "aria-expanded": this.accInfo.products.accessibilityAttributes.expanded, accessibilityAttributes: this.accInfo.products.accessibilityAttributes, "data-ui5-stable": "product-switch" }))] }), ShellBarPopoverTemplate.call(this)] }));
52
- }
53
- function profileButton() {
54
- return (_jsx(Button, { "data-profile-btn": true, id: `${this._id}-item-3`, onClick: this._handleProfilePress, tooltip: this._profileText, class: "ui5-shellbar-button ui5-shellbar-image-button ui5-shellbar-no-overflow-button ui5-shellbar-items-for-arrow-nav", "aria-label": this.imageBtnText, "aria-haspopup": "dialog", accessibilityAttributes: this.accInfo.profile.accessibilityAttributes, "data-ui5-stable": "profile", children: _jsx("slot", { name: "profile" }) }));
55
- }
56
- function singleLogo() {
57
- return (_jsx("span", { role: this.accLogoRole, class: "ui5-shellbar-logo", "aria-label": this._logoText, title: this._logoText, onClick: this._logoPress, onKeyDown: this._logoKeydown, onKeyUp: this._logoKeyup, tabIndex: 0, "data-ui5-stable": "logo", children: _jsx("slot", { name: "logo" }) }));
58
- }
59
- function combinedLogo() {
60
- return (_jsxs("div", { role: this.accLogoRole, class: "ui5-shellbar-logo-area", onClick: this._logoPress, tabIndex: 0, onKeyDown: this._logoKeydown, onKeyUp: this._logoKeyup, "aria-label": this.accessibilityAttributes.branding?.name || this._logoAreaText, children: [this.hasLogo && (_jsx("span", { class: "ui5-shellbar-logo", title: this._logoText, "data-ui5-stable": "logo", children: _jsx("slot", { name: "logo" }) })), _jsx("div", { class: "ui5-shellbar-headings", children: this.primaryTitle && (_jsx("h1", { class: "ui5-shellbar-title", children: _jsx("bdi", { children: this.primaryTitle }) })) })] }));
28
+ const itemId = item._individualSlot;
29
+ const packedSep = this.getPackedSeparatorInfo(item, false);
30
+ return (_jsxs("div", { id: itemId, class: {
31
+ "ui5-shellbar-content-item ui5-shellbar-gap-start": true,
32
+ "ui5-shellbar-hidden": this.isHidden(itemId),
33
+ }, children: [_jsx("slot", { name: itemId }), packedSep.shouldPack && (_jsx("div", { class: "ui5-shellbar-separator ui5-shellbar-separator-end ui5-shellbar-gap-start" }))] }, itemId));
34
+ }), this.separatorConfig.showEndSeparator && (_jsx("div", { class: "ui5-shellbar-separator ui5-shellbar-separator-end ui5-shellbar-gap-start" }))] })), this.enabledFeatures.search && SearchInBarTemplate.call(this), this.enabledFeatures.search && isLegacySearch && ShellBarSearchButtonLegacy.call(this), assistantAction && (_jsx("div", { class: {
35
+ "ui5-shellbar-assistant-button ui5-shellbar-gap-start": true,
36
+ "ui5-shellbar-hidden": this.isHidden("assistant")
37
+ }, children: _jsx("slot", { name: "assistant" }) })), notificationsAction && (_jsx(Button, { "data-ui5-stable": notificationsAction.stableDomRef, class: {
38
+ "ui5-shellbar-bell-button ui5-shellbar-action-button ui5-shellbar-gap-start": true,
39
+ "ui5-shellbar-hidden": this.isHidden("notifications")
40
+ }, icon: notificationsAction.icon, design: "Transparent", onClick: this.handleNotificationsClick, tooltip: actionsAccInfo.notifications.title, accessibilityAttributes: actionsAccInfo.notifications.accessibilityAttributes, children: notificationsAction?.count && (_jsx(ButtonBadge, { slot: "badge", design: "OverlayText", text: notificationsAction?.count })) })), this.sortItems(this.items).map(item => (_jsx("div", { class: {
41
+ "ui5-shellbar-custom-item ui5-shellbar-gap-start": true,
42
+ "ui5-shellbar-hidden": this.isHidden(item._id),
43
+ }, "data-ui5-stable": item.stableDomRef, children: !item.inOverflow ? _jsx("slot", { name: item._individualSlot }) : null }, item._id))), overflowAction && (_jsx(Button, { "data-ui5-stable": overflowAction.stableDomRef, id: "ui5-shellbar-overflow-button", class: {
44
+ "ui5-shellbar-overflow-button ui5-shellbar-action-button ui5-shellbar-gap-start": true,
45
+ "ui5-shellbar-hidden": this.isHidden("overflow")
46
+ }, icon: overflowAction.icon, design: "Transparent", onClick: this.handleOverflowClick, tooltip: actionsAccInfo.overflow.title, accessibilityAttributes: actionsAccInfo.overflow.accessibilityAttributes, children: this.overflowBadge && (_jsx(ButtonBadge, { slot: "badge", design: this.overflowBadge === " " ? "AttentionDot" : "OverlayText", text: this.overflowBadge === " " ? "" : this.overflowBadge })) })), profileAction && (_jsx(Button, { "data-profile-btn": true, "data-ui5-stable": profileAction.stableDomRef, class: {
47
+ "ui5-shellbar-image-button ui5-shellbar-action-button ui5-shellbar-gap-start": true,
48
+ "ui5-shellbar-hidden": this.isHidden("profile")
49
+ }, design: "Transparent", onClick: this.handleProfileClick, tooltip: actionsAccInfo.profile.title, accessibilityAttributes: actionsAccInfo.profile.accessibilityAttributes, children: _jsx("slot", { name: "profile" }) })), productSwitchAction && (_jsx(Button, { "data-ui5-stable": productSwitchAction.stableDomRef, class: {
50
+ "ui5-shellbar-button-product-switch ui5-shellbar-action-button ui5-shellbar-gap-start": true,
51
+ "ui5-shellbar-hidden": this.isHidden("products")
52
+ }, icon: productSwitchAction.icon, design: "Transparent", onClick: this.handleProductSwitchClick, tooltip: actionsAccInfo.products.title, accessibilityAttributes: actionsAccInfo.products.accessibilityAttributes }))] }) })] }), _jsx(Popover, { class: "ui5-shellbar-overflow-popover", open: this.overflowPopoverOpen, onClose: this.onPopoverClose, opener: "ui5-shellbar-overflow-button", placement: "Bottom", hideArrow: true, horizontalAlign: this.popoverHorizontalAlign, children: _jsx(List, { separators: "None", onClick: this.handleOverflowItemClick, children: this.overflowItems.map(item => {
53
+ if (item.type === "action") {
54
+ const actionData = item.data;
55
+ return (_jsx(ShellBarItem, { icon: actionData.icon ? `sap-icon://${actionData.icon}` : "", "data-action-id": item.id, count: actionData.count, inOverflow: true, text: this.getActionOverflowText(item.id) }, item.id));
56
+ }
57
+ return _jsx("slot", { name: item.data._individualSlot }, item.id);
58
+ }) }) })] }));
61
59
  }
62
60
  //# sourceMappingURL=ShellBarTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShellBarTemplate.js","sourceRoot":"","sources":["../src/ShellBarTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport type ShellBar from \"./ShellBar.js\";\nimport ShellBarPopoverTemplate from \"./ShellBarPopoverTemplate.js\";\nimport slimArrowDown from \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport ButtonBadge from \"@ui5/webcomponents/dist/ButtonBadge.js\";\n\nexport default function ShellBarTemplate(this: ShellBar) {\n\treturn (\n\t\t<>\n\t\t\t<header\n\t\t\t\tclass={this.classes.wrapper}\n\t\t\t\taria-label={this._shellbarText}\n\t\t\t\tonKeyDown={this._onKeyDown}\n\t\t\t\tpart=\"root\">\n\t\t\t\t<div class=\"ui5-shellbar-overflow-container ui5-shellbar-overflow-container-left\">\n\t\t\t\t\t{this.startButton.length > 0 && <slot name=\"startButton\"></slot>}\n\n\t\t\t\t\t{this.hasBranding && (\n\t\t\t\t\t\t<slot name=\"branding\"></slot>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.hasMenuItems && !this.hasBranding && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{!this.showLogoInMenuButton && this.hasLogo && singleLogo.call(this)}\n\t\t\t\t\t\t\t{this.showTitleInMenuButton && <h1 class=\"ui5-hidden-text\">{this.primaryTitle}</h1>}\n\t\t\t\t\t\t\t{this.showMenuButton && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-menu-button\": true,\n\t\t\t\t\t\t\t\t\t\t\t...this.classes.button,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonClick={this._headerPress}\n\t\t\t\t\t\t\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\t\t\t\t\t\t\taria-expanded={this._menuPopoverExpanded}\n\t\t\t\t\t\t\t\t\t\taria-label={this._brandingText}\n\t\t\t\t\t\t\t\t\t\tdata-ui5-stable=\"menu\"\n\t\t\t\t\t\t\t\t\t\ttabIndex={0}>\n\t\t\t\t\t\t\t\t\t\t{this.showLogoInMenuButton && (\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"ui5-shellbar-logo\" aria-label={this._logoText} title={this._logoText}>\n\t\t\t\t\t\t\t\t\t\t\t\t<slot name=\"logo\"></slot>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{this.showTitleInMenuButton && (\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-menu-button-title\">{this.primaryTitle}</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t<Icon class=\"ui5-shellbar-menu-button-arrow\" name={slimArrowDown} />\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.hasMenuItems && (\n\t\t\t\t\t\t// The secondary title remains visible when both menu items and the branding slot are present,\n\t\t\t\t\t\t// as the branding slot has higher priority and takes precedence in visibility.\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{this.secondaryTitle && !this.isSBreakPoint && (\n\t\t\t\t\t\t\t\t<div style={{ display: \"block\" }} class=\"ui5-shellbar-secondary-title\" data-ui5-stable=\"secondary-title\">\n\t\t\t\t\t\t\t\t\t{this.secondaryTitle}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{!this.hasMenuItems && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{this.isSBreakPoint && this.hasLogo && !this.hasBranding && singleLogo.call(this)}\n\t\t\t\t\t\t\t{!this.isSBreakPoint && (this.hasLogo || this.primaryTitle) && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{!this.hasBranding && combinedLogo.call(this)}\n\t\t\t\t\t\t\t\t\t{this.secondaryTitle && (this.primaryTitle || this.hasBranding) && (\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"ui5-shellbar-secondary-title\" data-ui5-stable=\"secondary-title\">\n\t\t\t\t\t\t\t\t\t\t\t{this.secondaryTitle}\n\t\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this.hasMidContent && (\n\t\t\t\t\t<div class=\"ui5-shellbar-overflow-container ui5-shellbar-mid-content\">\n\t\t\t\t\t\t<slot name=\"midContent\"></slot>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t<div class=\"ui5-shellbar-overflow-container ui5-shellbar-overflow-container-right\">\n\t\t\t\t\t<div class=\"ui5-shellbar-overflow-container-right-inner\">\n\t\t\t\t\t\t{this.hasContentItems && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"ui5-shellbar-content-items\"\n\t\t\t\t\t\t\t\trole={this._contentItemsRole}\n\t\t\t\t\t\t\t\taria-label={this._contentItemsText}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.showStartSeparator && (\n\t\t\t\t\t\t\t\t\t<div class={{\n\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-separator\": true,\n\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-separator-start\": true,\n\t\t\t\t\t\t\t\t\t}}></div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{this.startContent.map(item => {\n\t\t\t\t\t\t\t\t\tconst itemInfo = this._contentInfo.find(info => info.id === (item as any)._individualSlot);\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div key={(item as any)._individualSlot} id={(item as any)._individualSlot} class={itemInfo?.classes}>\n\t\t\t\t\t\t\t\t\t\t\t{this.shouldIncludeSeparator(itemInfo, this.startContentInfoSorted) && (\n\t\t\t\t\t\t\t\t\t\t\t\t// never displayed, only \"packed\" with last item that was hidden, used for measurement purposes\n\t\t\t\t\t\t\t\t\t\t\t\t<div class={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-separator\": true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-separator-start\": true,\n\t\t\t\t\t\t\t\t\t\t\t\t}}></div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t<slot name={(item as any)._individualSlot}></slot>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-spacer\"></div>\n\t\t\t\t\t\t\t\t{this.endContent.map(item => {\n\t\t\t\t\t\t\t\t\tconst itemInfo = this._contentInfo.find(info => info.id === (item as any)._individualSlot);\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div key={(item as any)._individualSlot} id={(item as any)._individualSlot} class={itemInfo?.classes}>\n\t\t\t\t\t\t\t\t\t\t\t<slot name={(item as any)._individualSlot}></slot>\n\t\t\t\t\t\t\t\t\t\t\t{this.shouldIncludeSeparator(itemInfo, this.endContentInfoSorted) && (\n\t\t\t\t\t\t\t\t\t\t\t\t// never displayed, only \"packed\" with last item that was hidden, used for measurement purposes\n\t\t\t\t\t\t\t\t\t\t\t\t<div class={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-separator\": true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-separator-end\": true,\n\t\t\t\t\t\t\t\t\t\t\t\t}}></div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t{this.showEndSeparator && (\n\t\t\t\t\t\t\t\t\t<div class={{\n\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-separator\": true,\n\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-separator-end\": true,\n\t\t\t\t\t\t\t\t\t}}></div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!this.hasContentItems && <div class=\"ui5-shellbar-spacer\"></div>}\n\t\t\t\t\t\t<div class=\"ui5-shellbar-overflow-container-right-child\" role={this._rightChildRole}>\n\t\t\t\t\t\t\t{this.hasSearchField && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{this.showFullWidthSearch && (\n\t\t\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-search-full-width-wrapper\" style={this.styles.searchField}>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-search-full-field\">\n\t\t\t\t\t\t\t\t\t\t\t\t<slot name=\"searchField\"></slot>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={this._handleCancelButtonPress}\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"ui5-shellbar-button ui5-shellbar-cancel-button\"\n\t\t\t\t\t\t\t\t\t\t\t\tdata-ui5-stable=\"cancel-search\">\n\t\t\t\t\t\t\t\t\t\t\t\t{this._cancelBtnText}\n\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<div id={this.hasSelfCollapsibleSearch ? `${this._id}-item-1` : undefined} class={this.classes.searchField} style={this.styles.searchField}>\n\t\t\t\t\t\t\t\t\t\t<slot name=\"searchField\"></slot>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t{!(this.hasSelfCollapsibleSearch || this.hideSearchButton) && (\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tid={`${this._id}-item-1`}\n\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-button\": true,\n\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-search-button\": true,\n\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-search-item-for-arrow-nav\": true,\n\t\t\t\t\t\t\t\t\t\t\t\t...this.classes.search,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\ticon=\"sap-icon://search\"\n\t\t\t\t\t\t\t\t\t\t\tdata-ui5-text=\"Search\"\n\t\t\t\t\t\t\t\t\t\t\tdata-ui5-notifications-count={this.notificationsCount}\n\t\t\t\t\t\t\t\t\t\t\tdata-ui5-stable=\"toggle-search\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={this._handleSearchIconPress}\n\t\t\t\t\t\t\t\t\t\t\ttooltip={this._searchBtnOpen}\n\t\t\t\t\t\t\t\t\t\t\taria-label={this._searchBtnOpen}\n\t\t\t\t\t\t\t\t\t\t\taria-expanded={this.showSearchField}\n\t\t\t\t\t\t\t\t\t\t\taccessibilityAttributes={this.accInfo.search.accessibilityAttributes}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{this.hasAssistant && (\n\t\t\t\t\t\t\t\t<div id={`${this._id}-assistant`} class={this.classes.assistant}>\n\t\t\t\t\t\t\t\t\t<slot name=\"assistant\"></slot>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{this.showNotifications && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tid={`${this._id}-item-2`}\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-button\": true,\n\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-bell-button\": true,\n\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-items-for-arrow-nav\": true,\n\t\t\t\t\t\t\t\t\t\t...this.classes.notification,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ticon=\"sap-icon://bell\"\n\t\t\t\t\t\t\t\t\tdata-ui5-text=\"Notifications\"\n\t\t\t\t\t\t\t\t\tonClick={this._handleNotificationsPress}\n\t\t\t\t\t\t\t\t\ttooltip={this._notificationsText}\n\t\t\t\t\t\t\t\t\taccessibilityAttributes={this.accInfo.notifications.accessibilityAttributes}\n\t\t\t\t\t\t\t\t\tdata-ui5-stable=\"notifications\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.notificationsCount && (\n\t\t\t\t\t\t\t\t\t\t<ButtonBadge slot=\"badge\" design=\"OverlayText\" text={this.notificationsCount} />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{this.customItemsInfo.map(item => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\tid={item.id}\n\t\t\t\t\t\t\t\t\tclass={`${item.classes} ui5-shellbar-items-for-arrow-nav`}\n\t\t\t\t\t\t\t\t\ticon={item.icon}\n\t\t\t\t\t\t\t\t\ttooltip={item.tooltip}\n\t\t\t\t\t\t\t\t\tdata-ui5-notifications-count={this.notificationsCount}\n\t\t\t\t\t\t\t\t\tdata-ui5-external-action-item-id={item.refItemid}\n\t\t\t\t\t\t\t\t\tdata-ui5-stable={item.icon && !this.isIconHidden(item.icon) ? item.stableDomRef : undefined}\n\t\t\t\t\t\t\t\t\tonClick={item.press}\n\t\t\t\t\t\t\t\t\taccessibilityAttributes={item.accessibilityAttributes}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{item.count && (\n\t\t\t\t\t\t\t\t\t\t<ButtonBadge slot=\"badge\" design=\"OverlayText\" text={item.count} />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<Button\n\t\t\t\t\tid={`${this._id}-item-5`}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t\"ui5-shellbar-button\": true,\n\t\t\t\t\t\t\"ui5-shellbar-overflow-button\": true,\n\t\t\t\t\t\t\"ui5-shellbar-items-for-arrow-nav\": true,\n\t\t\t\t\t\t...this.classes.overflow,\n\t\t\t\t\t}}\n\t\t\t\t\ticon=\"sap-icon://overflow\"\n\t\t\t\t\tonClick={this._handleOverflowPress}\n\t\t\t\t\ttooltip={this._overflowText}\n\t\t\t\t\taccessibilityAttributes={this.accInfo.overflow.accessibilityAttributes}\n\t\t\t\t\tdata-ui5-stable=\"overflow\"\n\t\t\t\t>\n\t\t\t\t\t{this._overflowNotifications && (\n\t\t\t\t\t\t<ButtonBadge\n\t\t\t\t\t\t\tslot=\"badge\"\n\t\t\t\t\t\t\tdesign={this._overflowNotifications === \" \" ? \"AttentionDot\" : \"OverlayText\"}\n\t\t\t\t\t\t\ttext={this._overflowNotifications === \" \" ? \"\" : this._overflowNotifications}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Button>\n\n\t\t\t\t{this.hasProfile && profileButton.call(this)}\n\t\t\t\t{this.showProductSwitch && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tid={`${this._id}-item-4`}\n\t\t\t\t\t\tclass=\"ui5-shellbar-no-overflow-button ui5-shellbar-button ui5-shellbar-button-product-switch ui5-shellbar-items-for-arrow-nav\"\n\t\t\t\t\t\ticon=\"sap-icon://grid\"\n\t\t\t\t\t\tdata-ui5-text=\"Product Switch\"\n\t\t\t\t\t\tonClick={this._handleProductSwitchPress}\n\t\t\t\t\t\ttooltip={this._productsText}\n\t\t\t\t\t\taria-label={this._productSwitchBtnText}\n\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\taria-expanded={this.accInfo.products.accessibilityAttributes.expanded}\n\t\t\t\t\t\taccessibilityAttributes={this.accInfo.products.accessibilityAttributes}\n\t\t\t\t\t\tdata-ui5-stable=\"product-switch\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</header>\n\t\t\t{ShellBarPopoverTemplate.call(this)}\n\t\t</>\n\t);\n}\n\nfunction profileButton(this: ShellBar) {\n\treturn (\n\t\t<Button\n\t\t\tdata-profile-btn\n\t\t\tid={`${this._id}-item-3`}\n\t\t\tonClick={this._handleProfilePress}\n\t\t\ttooltip={this._profileText}\n\t\t\tclass=\"ui5-shellbar-button ui5-shellbar-image-button ui5-shellbar-no-overflow-button ui5-shellbar-items-for-arrow-nav\"\n\t\t\taria-label={this.imageBtnText}\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taccessibilityAttributes={this.accInfo.profile.accessibilityAttributes}\n\t\t\tdata-ui5-stable=\"profile\"\n\t\t>\n\t\t\t<slot name=\"profile\"></slot>\n\t\t</Button>\n\t);\n}\n\nfunction singleLogo(this: ShellBar) {\n\treturn (\n\t\t<span\n\t\t\trole={this.accLogoRole}\n\t\t\tclass=\"ui5-shellbar-logo\"\n\t\t\taria-label={this._logoText}\n\t\t\ttitle={this._logoText}\n\t\t\tonClick={this._logoPress}\n\t\t\tonKeyDown={this._logoKeydown}\n\t\t\tonKeyUp={this._logoKeyup}\n\t\t\ttabIndex={0}\n\t\t\tdata-ui5-stable=\"logo\">\n\t\t\t<slot name=\"logo\"></slot>\n\t\t</span>\n\t);\n}\n\nfunction combinedLogo(this: ShellBar) {\n\treturn (\n\t\t<div\n\t\t\trole={this.accLogoRole}\n\t\t\tclass=\"ui5-shellbar-logo-area\"\n\t\t\tonClick={this._logoPress}\n\t\t\ttabIndex={0}\n\t\t\tonKeyDown={this._logoKeydown}\n\t\t\tonKeyUp={this._logoKeyup}\n\t\t\taria-label={this.accessibilityAttributes.branding?.name || this._logoAreaText}>\n\t\t\t{this.hasLogo && (\n\t\t\t\t<span\n\t\t\t\t\tclass=\"ui5-shellbar-logo\"\n\t\t\t\t\ttitle={this._logoText}\n\t\t\t\t\tdata-ui5-stable=\"logo\">\n\t\t\t\t\t<slot name=\"logo\"></slot>\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<div class=\"ui5-shellbar-headings\">\n\t\t\t\t{this.primaryTitle && (\n\t\t\t\t\t<h1 class=\"ui5-shellbar-title\">\n\t\t\t\t\t\t<bdi>{this.primaryTitle}</bdi>\n\t\t\t\t\t</h1>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"file":"ShellBarTemplate.js","sourceRoot":"","sources":["../src/ShellBarTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import Button from \"@ui5/webcomponents/dist/Button.js\";\nimport ButtonBadge from \"@ui5/webcomponents/dist/ButtonBadge.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport type ShellBar from \"./ShellBar.js\";\nimport ShellBarItem from \"./ShellBarItem.js\";\n\nimport {\n\tShellBarSearchField,\n\tShellBarSearchFieldFullWidth\n} from \"./shellbar/templates/ShellBarSearchTemplate.js\";\n\nimport {\n\tShellBarSearchField as ShellBarSearchFieldLegacy,\n\tShellBarSearchButton as ShellBarSearchButtonLegacy,\n\tShellBarSearchFieldFullWidth as ShellBarSearchFieldFullWidthLegacy,\n} from \"./shellbar/templates/ShellBarSearchLegacyTemplate.js\";\n\nimport {\n\tShellBarLegacyBrandingArea,\n} from \"./shellbar/templates/ShellBarLegacyTemplate.js\";\n\nexport default function ShellBarTemplate(this: ShellBar) {\n\tconst isLegacySearch = !this.isSelfCollapsibleSearch;\n\n\tconst SearchInBarTemplate = isLegacySearch ? ShellBarSearchFieldLegacy : ShellBarSearchField;\n\tconst SearchFullWidthTemplate = isLegacySearch ? ShellBarSearchFieldFullWidthLegacy : ShellBarSearchFieldFullWidth;\n\n\tconst profileAction = this.getAction(\"profile\");\n\tconst overflowAction = this.getAction(\"overflow\");\n\tconst assistantAction = this.getAction(\"assistant\");\n\tconst notificationsAction = this.getAction(\"notifications\");\n\tconst productSwitchAction = this.getAction(\"products\");\n\n\tconst actionsAccInfo = this.actionsAccessibilityInfo;\n\n\treturn (\n\t\t<>\n\t\t\t<header class=\"ui5-shellbar-root\" part=\"root\" onKeyDown={this._onKeyDown} aria-label={this.texts.shellbar}>\n\t\t\t\t{/* Full-width search overlay */}\n\t\t\t\t{this.showFullWidthSearch && SearchFullWidthTemplate.call(this)}\n\n\t\t\t\t{this.enabledFeatures.startButton && (\n\t\t\t\t\t<div class=\"ui5-shellbar-start-button ui5-shellbar-gap-end\">\n\t\t\t\t\t\t<slot name=\"startButton\"></slot>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{this.enabledFeatures.branding && (\n\t\t\t\t\t<div class=\"ui5-shellbar-branding-area\">\n\t\t\t\t\t\t<slot name=\"branding\"></slot>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{/* Legacy branding (logo + primaryTitle) when no menu items */}\n\t\t\t\t{!this.enabledFeatures.branding && ShellBarLegacyBrandingArea.call(this)}\n\n\t\t\t\t<div class=\"ui5-shellbar-overflow-container\">\n\t\t\t\t\t<div class=\"ui5-shellbar-overflow-container-inner\">\n\n\t\t\t\t\t\t{this.enabledFeatures.content && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"ui5-shellbar-content-area ui5-shellbar-content-items\"\n\t\t\t\t\t\t\t\trole={this.contentRole}\n\t\t\t\t\t\t\t\taria-label={this.texts.contentItems}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{/* Start separator */}\n\t\t\t\t\t\t\t\t{this.separatorConfig.showStartSeparator && (\n\t\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-separator ui5-shellbar-separator-start\"></div>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* Start content items */}\n\t\t\t\t\t\t\t\t{this.startContent.map(item => {\n\t\t\t\t\t\t\t\t\tconst itemId = (item as any)._individualSlot as string;\n\t\t\t\t\t\t\t\t\tconst packedSep = this.getPackedSeparatorInfo(item, true);\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={itemId}\n\t\t\t\t\t\t\t\t\t\t\tid={itemId}\n\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-content-item ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(itemId),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{packedSep.shouldPack && (\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-separator ui5-shellbar-separator-start\"></div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t<slot name={(item as any)._individualSlot}></slot>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t\t\t{/* Spacer: Grows to fill available space, used to measure if space is tight, should be in DOM always */}\n\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-spacer\"></div>\n\n\t\t\t\t\t\t\t\t{/* End content items */}\n\t\t\t\t\t\t\t\t{this.endContent.map(item => {\n\t\t\t\t\t\t\t\t\tconst itemId = (item as any)._individualSlot as string;\n\t\t\t\t\t\t\t\t\tconst packedSep = this.getPackedSeparatorInfo(item, false);\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={itemId}\n\t\t\t\t\t\t\t\t\t\t\tid={itemId}\n\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-content-item ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(itemId),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<slot name={itemId}></slot>\n\t\t\t\t\t\t\t\t\t\t\t{packedSep.shouldPack && (\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-separator ui5-shellbar-separator-end ui5-shellbar-gap-start\"></div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t\t\t{/* End separator */}\n\t\t\t\t\t\t\t\t{this.separatorConfig.showEndSeparator && (\n\t\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-separator ui5-shellbar-separator-end ui5-shellbar-gap-start\"></div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{this.enabledFeatures.search && SearchInBarTemplate.call(this)}\n\t\t\t\t\t\t{this.enabledFeatures.search && isLegacySearch && ShellBarSearchButtonLegacy.call(this)}\n\n\t\t\t\t\t\t{assistantAction && (\n\t\t\t\t\t\t\t<div class={{\n\t\t\t\t\t\t\t\t\"ui5-shellbar-assistant-button ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(\"assistant\")\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<slot name=\"assistant\"></slot>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{notificationsAction && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdata-ui5-stable={notificationsAction.stableDomRef}\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-bell-button ui5-shellbar-action-button ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(\"notifications\")\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ticon={notificationsAction.icon}\n\t\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\t\tonClick={this.handleNotificationsClick}\n\t\t\t\t\t\t\t\ttooltip={actionsAccInfo.notifications.title}\n\t\t\t\t\t\t\t\taccessibilityAttributes={actionsAccInfo.notifications.accessibilityAttributes}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{notificationsAction?.count && (\n\t\t\t\t\t\t\t\t\t<ButtonBadge slot=\"badge\" design=\"OverlayText\" text={notificationsAction?.count} />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{/* Custom Items */}\n\t\t\t\t\t\t{this.sortItems(this.items).map(item => (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={item._id}\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-custom-item ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(item._id),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdata-ui5-stable={item.stableDomRef}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{!item.inOverflow ? <slot name={(item as any)._individualSlot}></slot> : null}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t))}\n\n\t\t\t\t\t\t{overflowAction && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdata-ui5-stable={overflowAction.stableDomRef}\n\t\t\t\t\t\t\t\tid=\"ui5-shellbar-overflow-button\"\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-overflow-button ui5-shellbar-action-button ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(\"overflow\")\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ticon={overflowAction.icon}\n\t\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\t\tonClick={this.handleOverflowClick}\n\t\t\t\t\t\t\t\ttooltip={actionsAccInfo.overflow.title}\n\t\t\t\t\t\t\t\taccessibilityAttributes={actionsAccInfo.overflow.accessibilityAttributes}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.overflowBadge && (\n\t\t\t\t\t\t\t\t\t<ButtonBadge\n\t\t\t\t\t\t\t\t\t\tslot=\"badge\"\n\t\t\t\t\t\t\t\t\t\tdesign={this.overflowBadge === \" \" ? \"AttentionDot\" : \"OverlayText\"}\n\t\t\t\t\t\t\t\t\t\ttext={this.overflowBadge === \" \" ? \"\" : this.overflowBadge}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{profileAction && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdata-profile-btn\n\t\t\t\t\t\t\t\tdata-ui5-stable={profileAction.stableDomRef}\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-image-button ui5-shellbar-action-button ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(\"profile\")\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\t\tonClick={this.handleProfileClick}\n\t\t\t\t\t\t\t\ttooltip={actionsAccInfo.profile.title}\n\t\t\t\t\t\t\t\taccessibilityAttributes={actionsAccInfo.profile.accessibilityAttributes}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<slot name=\"profile\"></slot>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{productSwitchAction && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdata-ui5-stable={productSwitchAction.stableDomRef}\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-button-product-switch ui5-shellbar-action-button ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(\"products\")\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ticon={productSwitchAction.icon}\n\t\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\t\tonClick={this.handleProductSwitchClick}\n\t\t\t\t\t\t\t\ttooltip={actionsAccInfo.products.title}\n\t\t\t\t\t\t\t\taccessibilityAttributes={actionsAccInfo.products.accessibilityAttributes}\n\t\t\t\t\t\t\t></Button>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</header>\n\n\t\t\t{/* Overflow Popover */}\n\t\t\t<Popover\n\t\t\t\tclass=\"ui5-shellbar-overflow-popover\"\n\t\t\t\topen={this.overflowPopoverOpen}\n\t\t\t\tonClose={this.onPopoverClose}\n\t\t\t\topener=\"ui5-shellbar-overflow-button\"\n\t\t\t\tplacement=\"Bottom\"\n\t\t\t\thideArrow={true}\n\t\t\t\thorizontalAlign={this.popoverHorizontalAlign} // TODO: add test\n\t\t\t>\n\t\t\t\t<List separators=\"None\" onClick={this.handleOverflowItemClick}>\n\t\t\t\t\t{this.overflowItems.map(item => {\n\t\t\t\t\t\tif (item.type === \"action\") {\n\t\t\t\t\t\t\tconst actionData = item.data;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ShellBarItem\n\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\ticon={actionData.icon ? `sap-icon://${actionData.icon}` : \"\"}\n\t\t\t\t\t\t\t\t\tdata-action-id={item.id}\n\t\t\t\t\t\t\t\t\tcount={actionData.count}\n\t\t\t\t\t\t\t\t\tinOverflow={true}\n\t\t\t\t\t\t\t\t\ttext={this.getActionOverflowText(item.id)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn <slot key={item.id} name={item.data._individualSlot}></slot>;\n\t\t\t\t\t})}\n\t\t\t\t</List>\n\t\t\t</Popover>\n\t\t</>\n\t);\n}\n"]}
@@ -29,7 +29,6 @@ type UserMenuOtherAccountClickEventDetail = {
29
29
  *
30
30
  * @constructor
31
31
  * @extends UI5Element
32
- * @experimental
33
32
  * @public
34
33
  * @since 2.5.0
35
34
  */
@@ -101,6 +100,14 @@ declare class UserMenu extends UI5Element {
101
100
  * @public
102
101
  */
103
102
  accounts: Slot<UserMenuAccount>;
103
+ /**
104
+ * Defines custom footer content.
105
+ *
106
+ * **Note:** When provided, replaces the default "Sign Out" button. Use an empty element to hide the footer completely.
107
+ * @public
108
+ * @since 2.19.0
109
+ */
110
+ footer: Slot<HTMLElement>;
104
111
  static i18nBundle: I18nBundle;
105
112
  /**
106
113
  * @default false
@@ -158,6 +165,8 @@ declare class UserMenu extends UI5Element {
158
165
  get accessibleNameText(): string;
159
166
  get _ariaLabelledByAccountInformationText(): string;
160
167
  get _ariaLabelledByActions(): string;
168
+ get _hasCustomFooter(): boolean;
169
+ get _showDefaultFooter(): boolean;
161
170
  getAccountDescriptionText(account: UserMenuAccount): string;
162
171
  getAccountByRefId(refId: string): UserMenuAccount;
163
172
  captureRef(ref: HTMLElement & {
package/dist/UserMenu.js CHANGED
@@ -31,7 +31,6 @@ import { USER_MENU_OTHER_ACCOUNT_BUTTON_TXT, USER_MENU_MANAGE_ACCOUNT_BUTTON_TXT
31
31
  *
32
32
  * @constructor
33
33
  * @extends UI5Element
34
- * @experimental
35
34
  * @public
36
35
  * @since 2.5.0
37
36
  */
@@ -226,6 +225,12 @@ let UserMenu = UserMenu_1 = class UserMenu extends UI5Element {
226
225
  get _ariaLabelledByActions() {
227
226
  return UserMenu_1.i18nBundle.getText(USER_MENU_ACTIONS_TXT);
228
227
  }
228
+ get _hasCustomFooter() {
229
+ return this.footer.length > 0 && this.footer[0]?.innerHTML.trim() !== "";
230
+ }
231
+ get _showDefaultFooter() {
232
+ return this.footer.length === 0;
233
+ }
229
234
  getAccountDescriptionText(account) {
230
235
  return `${account.subtitleText} ${account.description} ${account.selected ? UserMenu_1.i18nBundle.getText(USER_MENU_POPOVER_ACCESSIBLE_ACCOUNT_SELECTED_TXT) : ""}`;
231
236
  }
@@ -274,6 +279,9 @@ __decorate([
274
279
  },
275
280
  })
276
281
  ], UserMenu.prototype, "accounts", void 0);
282
+ __decorate([
283
+ slot()
284
+ ], UserMenu.prototype, "footer", void 0);
277
285
  __decorate([
278
286
  property({ type: Boolean })
279
287
  ], UserMenu.prototype, "_titleMovedToHeader", void 0);
@@ -1 +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 type { Slot, DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport {\n\tcustomElement, slotStrict as slot, eventStrict as event, property,\n} from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\nimport type Title from \"@ui5/webcomponents/dist/Title.js\";\nimport type Button from \"@ui5/webcomponents/dist/Button.js\";\nimport type { ListItemClickEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport type ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\nimport type ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { PopupScrollEventDetail } from \"@ui5/webcomponents/dist/Popup.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { isInstanceOfMenuItem } from \"@ui5/webcomponents/dist/MenuItem.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 \"./UserMenuTemplate.js\";\nimport UserMenuCss from \"./generated/themes/UserMenu.css.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_EDIT_ACCOUNTS_TXT,\n\tUSER_MENU_CLOSE_DIALOG_BUTTON,\n\tUSER_MENU_POPOVER_ACCESSIBLE_ACCOUNT_SELECTED_TXT,\n\tUSER_MENU_CURRENT_INFORMATION_TXT,\n\tUSER_MENU_ACTIONS_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: jsxRenderer,\n\ttemplate: UserMenuTemplate,\n\tstyles: [UserMenuCss],\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 \"Edit Accounts\" button is selected.\n * @public\n */\n@event(\"edit-accounts-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 a user menu is open.\n * @public\n * @since 2.6.0\n */\n@event(\"open\")\n\n/**\n * Fired when a user menu is close.\n * @public\n * @since 2.6.0\n */\n@event(\"close\")\n\n/**\n * Fired when the \"Sign Out\" button is selected.\n * @public\n * @since 2.6.0\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\"edit-accounts-click\": void;\n\t\t\"change-account\": UserMenuOtherAccountClickEventDetail;\n\t\t\"item-click\": UserMenuItemClickEventDetail;\n\t\t\"sign-out-click\": void;\n\t\t\"open\": void;\n\t\t\"close\": void;\n\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 | null;\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 Edit Accounts option.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowEditAccounts = false;\n\n\t/**\n\t * Defines if the User menu shows edit button.\n\t *\n\t * @default false\n\t * @public\n\t * @since 2.7.0\n\t */\n\t@property({ type: Boolean })\n\tshowEditButton = 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!: DefaultSlot<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!: Slot<UserMenuAccount>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_titleMovedToHeader = false;\n\n\t/**\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isScrolled = false;\n\n\t/**\n\t * @private\n\t */\n\t_selectedAccount!: UserMenuAccount;\n\n\t/**\n\t * @private\n\t */\n\t_observer?: IntersectionObserver;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#user-menu-rp\")\n\t_responsivePopover?: ResponsivePopover;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#selected-account-title\")\n\t_selectedAccountTitleEl?: Title;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#selected-account-manage-btn\")\n\t_selectedAccountManageBtn?: Button;\n\n\tonBeforeRendering() {\n\t\tthis._selectedAccount = this.accounts.find(account => account.selected) || this.accounts[0];\n\t\tconst siblingsWithIcon = this._menuItems.some(menuItem => !!menuItem.icon);\n\n\t\tthis._menuItems.forEach(item => {\n\t\t\titem._siblingsWithIcon = siblingsWithIcon;\n\t\t});\n\t}\n\n\tonAfterRendering(): void {\n\t\tif (this._responsivePopover) {\n\t\t\tconst observerOptions = {\n\t\t\t\tthreshold: [0.15],\n\t\t\t};\n\n\t\t\tthis._observer?.disconnect();\n\t\t\tthis._observer = new IntersectionObserver(entries => this._handleIntersection(entries), observerOptions);\n\n\t\t\tif (this._selectedAccountTitleEl) {\n\t\t\t\tthis._observer.observe(this._selectedAccountTitleEl);\n\t\t\t}\n\n\t\t\tif (this._selectedAccountManageBtn) {\n\t\t\t\tthis._observer.observe(this._selectedAccountManageBtn);\n\t\t\t}\n\t\t}\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\t_handleScroll(e: CustomEvent<PopupScrollEventDetail>) {\n\t\tthis._isScrolled = e.detail.scrollTop > 0;\n\t}\n\n\t_handleIntersection(entries: IntersectionObserverEntry[]) {\n\t\tentries.forEach(entry => {\n\t\t\tif (entry.isIntersecting) {\n\t\t\t\tif (entry.target.id === \"selected-account-title\") {\n\t\t\t\t\tthis._titleMovedToHeader = false;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (entry.target.id === \"selected-account-title\") {\n\t\t\t\tthis._titleMovedToHeader = true;\n\t\t\t}\n\t\t}, this);\n\t}\n\n\t_handleAvatarClick(e: CustomEvent) {\n\t\tif (e.type === \"click\") {\n\t\t\t// TOFIX: Discuss this check: Fire the custom UserMenu#avatar-click only for Avatar#click (not for Avatar#ui5-click as well).\n\t\t\tthis.fireDecoratorEvent(\"avatar-click\");\n\t\t}\n\t}\n\n\t_handleManageAccountClick() {\n\t\tthis.fireDecoratorEvent(\"manage-account-click\");\n\t}\n\n\t_handleEditAccountsClick() {\n\t\tthis.fireDecoratorEvent(\"edit-accounts-click\");\n\t}\n\n\t_handleAccountSwitch(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item as ListItemBase & { associatedAccount: UserMenuAccount };\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"change-account\", {\n\t\t\tprevSelectedAccount: this._selectedAccount,\n\t\t\tselectedAccount: item.associatedAccount,\n\t\t});\n\t\tif (eventPrevented) {\n\t\t\treturn;\n\t\t}\n\t\tthis._selectedAccount.selected = false;\n\t\titem.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\tthis._closeUserMenu();\n\t}\n\n\t_handleMenuItemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item as UserMenuItem; // imrove: improve this ideally without \"as\" cating\n\n\t\titem._updateCheckedState();\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_handlePopoverAfterOpen() {\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t_handlePopoverAfterClose() {\n\t\tthis.open = false;\n\t\tthis.fireDecoratorEvent(\"close\");\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_closeUserMenu() {\n\t\tthis.open = false;\n\t}\n\n\tget _otherAccounts() {\n\t\treturn this.accounts;\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 _editAccountsTooltip() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_EDIT_ACCOUNTS_TXT);\n\t}\n\n\tget _closeDialogAriaLabel() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_CLOSE_DIALOG_BUTTON);\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\tget _ariaLabelledByAccountInformationText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_CURRENT_INFORMATION_TXT);\n\t}\n\n\tget _ariaLabelledByActions() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_ACTIONS_TXT);\n\t}\n\n\tgetAccountDescriptionText(account: UserMenuAccount) {\n\t\treturn `${account.subtitleText} ${account.description} ${account.selected ? UserMenu.i18nBundle.getText(USER_MENU_POPOVER_ACCESSIBLE_ACCOUNT_SELECTED_TXT) : \"\"}`;\n\t}\n\n\tgetAccountByRefId(refId: string) {\n\t\treturn this.accounts.find(account => account._id === refId)!;\n\t}\n\n\tcaptureRef(ref: HTMLElement & { associatedAccount?: UI5Element} | null) {\n\t\tif (ref) {\n\t\t\tref.associatedAccount = this;\n\t\t}\n\t}\n\n\tget _menuItems() {\n\t\treturn this.menuItems.filter(isInstanceOfMenuItem);\n\t}\n}\n\nUserMenu.define();\n\nexport default UserMenu;\nexport type {\n\tUserMenuItemClickEventDetail,\n\tUserMenuOtherAccountClickEventDetail,\n};\n"]}
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 type { Slot, DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport {\n\tcustomElement, slotStrict as slot, eventStrict as event, property,\n} from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\nimport type Title from \"@ui5/webcomponents/dist/Title.js\";\nimport type Button from \"@ui5/webcomponents/dist/Button.js\";\nimport type { ListItemClickEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport type ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\nimport type ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { PopupScrollEventDetail } from \"@ui5/webcomponents/dist/Popup.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { isInstanceOfMenuItem } from \"@ui5/webcomponents/dist/MenuItem.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 \"./UserMenuTemplate.js\";\nimport UserMenuCss from \"./generated/themes/UserMenu.css.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_EDIT_ACCOUNTS_TXT,\n\tUSER_MENU_CLOSE_DIALOG_BUTTON,\n\tUSER_MENU_POPOVER_ACCESSIBLE_ACCOUNT_SELECTED_TXT,\n\tUSER_MENU_CURRENT_INFORMATION_TXT,\n\tUSER_MENU_ACTIONS_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 * @public\n * @since 2.5.0\n */\n\n@customElement({\n\ttag: \"ui5-user-menu\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: UserMenuTemplate,\n\tstyles: [UserMenuCss],\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 \"Edit Accounts\" button is selected.\n * @public\n */\n@event(\"edit-accounts-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 a user menu is open.\n * @public\n * @since 2.6.0\n */\n@event(\"open\")\n\n/**\n * Fired when a user menu is close.\n * @public\n * @since 2.6.0\n */\n@event(\"close\")\n\n/**\n * Fired when the \"Sign Out\" button is selected.\n * @public\n * @since 2.6.0\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\"edit-accounts-click\": void;\n\t\t\"change-account\": UserMenuOtherAccountClickEventDetail;\n\t\t\"item-click\": UserMenuItemClickEventDetail;\n\t\t\"sign-out-click\": void;\n\t\t\"open\": void;\n\t\t\"close\": void;\n\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 | null;\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 Edit Accounts option.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowEditAccounts = false;\n\n\t/**\n\t * Defines if the User menu shows edit button.\n\t *\n\t * @default false\n\t * @public\n\t * @since 2.7.0\n\t */\n\t@property({ type: Boolean })\n\tshowEditButton = 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!: DefaultSlot<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!: Slot<UserMenuAccount>;\n\n\t/**\n\t * Defines custom footer content.\n\t *\n\t * **Note:** When provided, replaces the default \"Sign Out\" button. Use an empty element to hide the footer completely.\n\t * @public\n\t * @since 2.19.0\n\t */\n\t@slot()\n\tfooter!: Slot<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_titleMovedToHeader = false;\n\n\t/**\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isScrolled = false;\n\n\t/**\n\t * @private\n\t */\n\t_selectedAccount!: UserMenuAccount;\n\n\t/**\n\t * @private\n\t */\n\t_observer?: IntersectionObserver;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#user-menu-rp\")\n\t_responsivePopover?: ResponsivePopover;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#selected-account-title\")\n\t_selectedAccountTitleEl?: Title;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#selected-account-manage-btn\")\n\t_selectedAccountManageBtn?: Button;\n\n\tonBeforeRendering() {\n\t\tthis._selectedAccount = this.accounts.find(account => account.selected) || this.accounts[0];\n\t\tconst siblingsWithIcon = this._menuItems.some(menuItem => !!menuItem.icon);\n\n\t\tthis._menuItems.forEach(item => {\n\t\t\titem._siblingsWithIcon = siblingsWithIcon;\n\t\t});\n\t}\n\n\tonAfterRendering(): void {\n\t\tif (this._responsivePopover) {\n\t\t\tconst observerOptions = {\n\t\t\t\tthreshold: [0.15],\n\t\t\t};\n\n\t\t\tthis._observer?.disconnect();\n\t\t\tthis._observer = new IntersectionObserver(entries => this._handleIntersection(entries), observerOptions);\n\n\t\t\tif (this._selectedAccountTitleEl) {\n\t\t\t\tthis._observer.observe(this._selectedAccountTitleEl);\n\t\t\t}\n\n\t\t\tif (this._selectedAccountManageBtn) {\n\t\t\t\tthis._observer.observe(this._selectedAccountManageBtn);\n\t\t\t}\n\t\t}\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\t_handleScroll(e: CustomEvent<PopupScrollEventDetail>) {\n\t\tthis._isScrolled = e.detail.scrollTop > 0;\n\t}\n\n\t_handleIntersection(entries: IntersectionObserverEntry[]) {\n\t\tentries.forEach(entry => {\n\t\t\tif (entry.isIntersecting) {\n\t\t\t\tif (entry.target.id === \"selected-account-title\") {\n\t\t\t\t\tthis._titleMovedToHeader = false;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (entry.target.id === \"selected-account-title\") {\n\t\t\t\tthis._titleMovedToHeader = true;\n\t\t\t}\n\t\t}, this);\n\t}\n\n\t_handleAvatarClick(e: CustomEvent) {\n\t\tif (e.type === \"click\") {\n\t\t\t// TOFIX: Discuss this check: Fire the custom UserMenu#avatar-click only for Avatar#click (not for Avatar#ui5-click as well).\n\t\t\tthis.fireDecoratorEvent(\"avatar-click\");\n\t\t}\n\t}\n\n\t_handleManageAccountClick() {\n\t\tthis.fireDecoratorEvent(\"manage-account-click\");\n\t}\n\n\t_handleEditAccountsClick() {\n\t\tthis.fireDecoratorEvent(\"edit-accounts-click\");\n\t}\n\n\t_handleAccountSwitch(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item as ListItemBase & { associatedAccount: UserMenuAccount };\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"change-account\", {\n\t\t\tprevSelectedAccount: this._selectedAccount,\n\t\t\tselectedAccount: item.associatedAccount,\n\t\t});\n\t\tif (eventPrevented) {\n\t\t\treturn;\n\t\t}\n\t\tthis._selectedAccount.selected = false;\n\t\titem.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\tthis._closeUserMenu();\n\t}\n\n\t_handleMenuItemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item as UserMenuItem; // imrove: improve this ideally without \"as\" cating\n\n\t\titem._updateCheckedState();\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_handlePopoverAfterOpen() {\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t_handlePopoverAfterClose() {\n\t\tthis.open = false;\n\t\tthis.fireDecoratorEvent(\"close\");\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_closeUserMenu() {\n\t\tthis.open = false;\n\t}\n\n\tget _otherAccounts() {\n\t\treturn this.accounts;\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 _editAccountsTooltip() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_EDIT_ACCOUNTS_TXT);\n\t}\n\n\tget _closeDialogAriaLabel() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_CLOSE_DIALOG_BUTTON);\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\tget _ariaLabelledByAccountInformationText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_CURRENT_INFORMATION_TXT);\n\t}\n\n\tget _ariaLabelledByActions() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_ACTIONS_TXT);\n\t}\n\n\tget _hasCustomFooter(): boolean {\n\t\treturn this.footer.length > 0 && this.footer[0]?.innerHTML.trim() !== \"\";\n\t}\n\n\tget _showDefaultFooter(): boolean {\n\t\treturn this.footer.length === 0;\n\t}\n\n\tgetAccountDescriptionText(account: UserMenuAccount) {\n\t\treturn `${account.subtitleText} ${account.description} ${account.selected ? UserMenu.i18nBundle.getText(USER_MENU_POPOVER_ACCESSIBLE_ACCOUNT_SELECTED_TXT) : \"\"}`;\n\t}\n\n\tgetAccountByRefId(refId: string) {\n\t\treturn this.accounts.find(account => account._id === refId)!;\n\t}\n\n\tcaptureRef(ref: HTMLElement & { associatedAccount?: UI5Element} | null) {\n\t\tif (ref) {\n\t\t\tref.associatedAccount = this;\n\t\t}\n\t}\n\n\tget _menuItems() {\n\t\treturn this.menuItems.filter(isInstanceOfMenuItem);\n\t}\n}\n\nUserMenu.define();\n\nexport default UserMenu;\nexport type {\n\tUserMenuItemClickEventDetail,\n\tUserMenuOtherAccountClickEventDetail,\n};\n"]}
@@ -18,7 +18,6 @@ let UserMenuAccount =
18
18
  *
19
19
  * @constructor
20
20
  * @extends UI5Element
21
- * @experimental
22
21
  * @public
23
22
  * @since 2.5.0
24
23
  */
@@ -122,7 +121,6 @@ UserMenuAccount = __decorate([
122
121
  *
123
122
  * @constructor
124
123
  * @extends UI5Element
125
- * @experimental
126
124
  * @public
127
125
  * @since 2.5.0
128
126
  */
@@ -1 +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;AAqBrF,IAAM,eAAe;AAfrB;;;;;;;;;;;;;;GAcG;AACH,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QAmBC;;;;;;WAMG;QAEH,sBAAiB,GAA2B,MAAM,CAAC;QAEnD;;;;;WAKG;QAEH,cAAS,GAAG,EAAE,CAAC;QAEf;;;;;WAKG;QAEH,iBAAY,GAAG,EAAE,CAAC;QAElB;;;;;WAKG;QAEH,gBAAW,GAAG,EAAE,CAAC;QAEjB;;;;;WAKG;QAEH,mBAAc,GAAG,EAAE,CAAC;QAEpB;;;;;WAKG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAEjB;;;;;WAKG;QAEH,YAAO,GAAG,KAAK,CAAC;IAKjB,CAAC;IAHA,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,cAAc,IAAI,WAAW,CAAC;IAC3C,CAAC;CACD,CAAA;AA9EA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDACR;AASnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uDACH;AAUxB;IADC,QAAQ,EAAE;0DACwC;AASnD;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,MAAM,EAAE,CAAC;uDACP;AASpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACX;AASjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDACZ;AAjFX,eAAe;IAlBpB,aAAa,CAAC;QACd,GAAG,EAAE,uBAAuB;KAC5B,CAAC;IACF;;;;;;;;;;;;;;OAcG;GACG,eAAe,CAsFpB;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\";\nimport type AvatarColorScheme from \"@ui5/webcomponents/dist/types/AvatarColorScheme.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 background color of the desired image.\n\t * If `avatarColorScheme` is set to `Auto`, the avatar will be displayed with the `Accent6` color.\n\t *\n\t * @default \"Auto\"\n\t * @public\n\t */\n\t@property()\n\tavatarColorScheme: `${AvatarColorScheme}` = \"Auto\";\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 additional information for the user.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property({ type: String })\n\tadditionalInfo = \"\";\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\t/**\n\t * Indicates whether a loading indicator should be shown.\n\t * @default false\n\t * @public\n\t * @since 2.9.0\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\tget _initials() {\n\t\treturn this.avatarInitials || \"undefined\";\n\t}\n}\n\nUserMenuAccount.define();\n\nexport default UserMenuAccount;\n"]}
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;AAdrB;;;;;;;;;;;;;GAaG;AACH,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QAmBC;;;;;;WAMG;QAEH,sBAAiB,GAA2B,MAAM,CAAC;QAEnD;;;;;WAKG;QAEH,cAAS,GAAG,EAAE,CAAC;QAEf;;;;;WAKG;QAEH,iBAAY,GAAG,EAAE,CAAC;QAElB;;;;;WAKG;QAEH,gBAAW,GAAG,EAAE,CAAC;QAEjB;;;;;WAKG;QAEH,mBAAc,GAAG,EAAE,CAAC;QAEpB;;;;;WAKG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAEjB;;;;;WAKG;QAEH,YAAO,GAAG,KAAK,CAAC;IAKjB,CAAC;IAHA,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,cAAc,IAAI,WAAW,CAAC;IAC3C,CAAC;CACD,CAAA;AA9EA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDACR;AASnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uDACH;AAUxB;IADC,QAAQ,EAAE;0DACwC;AASnD;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,MAAM,EAAE,CAAC;uDACP;AASpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACX;AASjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDACZ;AAjFX,eAAe;IAjBpB,aAAa,CAAC;QACd,GAAG,EAAE,uBAAuB;KAC5B,CAAC;IACF;;;;;;;;;;;;;OAaG;GACG,eAAe,CAsFpB;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\";\nimport type AvatarColorScheme from \"@ui5/webcomponents/dist/types/AvatarColorScheme.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 * @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 background color of the desired image.\n\t * If `avatarColorScheme` is set to `Auto`, the avatar will be displayed with the `Accent6` color.\n\t *\n\t * @default \"Auto\"\n\t * @public\n\t */\n\t@property()\n\tavatarColorScheme: `${AvatarColorScheme}` = \"Auto\";\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 additional information for the user.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property({ type: String })\n\tadditionalInfo = \"\";\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\t/**\n\t * Indicates whether a loading indicator should be shown.\n\t * @default false\n\t * @public\n\t * @since 2.9.0\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\tget _initials() {\n\t\treturn this.avatarInitials || \"undefined\";\n\t}\n}\n\nUserMenuAccount.define();\n\nexport default UserMenuAccount;\n"]}
@@ -19,7 +19,6 @@ import type { DefaultSlot } from "@ui5/webcomponents-base/dist/UI5Element.js";
19
19
  * `import "@ui5/webcomponents-fiori/dist/UserMenuItem.js";`
20
20
  * @constructor
21
21
  * @extends MenuItem
22
- * @experimental
23
22
  * @public
24
23
  * @since 2.5.0
25
24
  */
@@ -28,7 +28,6 @@ import userMenuItemCss from "./generated/themes/UserMenuItem.css.js";
28
28
  * `import "@ui5/webcomponents-fiori/dist/UserMenuItem.js";`
29
29
  * @constructor
30
30
  * @extends MenuItem
31
- * @experimental
32
31
  * @public
33
32
  * @since 2.5.0
34
33
  */
@@ -1 +1 @@
1
- {"version":3,"file":"UserMenuItem.js","sourceRoot":"","sources":["../src/UserMenuItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,IAAI,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,QAAQ,EAAE,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAErF,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAE7D,SAAS;AACT,OAAO,eAAe,MAAM,wCAAwC,CAAC;AAGrE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAMH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,QAAQ;IAUlC,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChD,CAAC;CACD,CAAA;AALQ;IADP,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;2CACnC;AARpC,YAAY;IALjB,aAAa,CAAC;QACd,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,oBAAoB;QAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;KAC1C,CAAC;GACI,YAAY,CAajB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import { customElement, slotStrict as slot } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport MenuItem, { isInstanceOfMenuItem } from \"@ui5/webcomponents/dist/MenuItem.js\";\n\nimport UserMenuItemTemplate from \"./UserMenuItemTemplate.js\";\n\n// Styles\nimport userMenuItemCss from \"./generated/themes/UserMenuItem.css.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.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})\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: DefaultSlot<UserMenuItem>;\n\n\tget _menuItems() {\n\t\treturn this.items.filter(isInstanceOfMenuItem);\n\t}\n}\n\nUserMenuItem.define();\n\nexport default UserMenuItem;\n"]}
1
+ {"version":3,"file":"UserMenuItem.js","sourceRoot":"","sources":["../src/UserMenuItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,IAAI,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,QAAQ,EAAE,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAErF,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAE7D,SAAS;AACT,OAAO,eAAe,MAAM,wCAAwC,CAAC;AAGrE;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,QAAQ;IAUlC,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChD,CAAC;CACD,CAAA;AALQ;IADP,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;2CACnC;AARpC,YAAY;IALjB,aAAa,CAAC;QACd,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,oBAAoB;QAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;KAC1C,CAAC;GACI,YAAY,CAajB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import { customElement, slotStrict as slot } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport MenuItem, { isInstanceOfMenuItem } from \"@ui5/webcomponents/dist/MenuItem.js\";\n\nimport UserMenuItemTemplate from \"./UserMenuItemTemplate.js\";\n\n// Styles\nimport userMenuItemCss from \"./generated/themes/UserMenuItem.css.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.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 * @public\n * @since 2.5.0\n */\n@customElement({\n\ttag: \"ui5-user-menu-item\",\n\ttemplate: UserMenuItemTemplate,\n\tstyles: [MenuItem.styles, userMenuItemCss],\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: DefaultSlot<UserMenuItem>;\n\n\tget _menuItems() {\n\t\treturn this.items.filter(isInstanceOfMenuItem);\n\t}\n}\n\nUserMenuItem.define();\n\nexport default UserMenuItem;\n"]}
@@ -25,7 +25,6 @@ import MenuItemGroup from "@ui5/webcomponents/dist/MenuItemGroup.js";
25
25
  * `import "@ui5/webcomponents/dist/UserMenuItemGroup.js";`
26
26
  * @constructor
27
27
  * @extends MenuItemGroup
28
- * @experimental
29
28
  * @since 2.12.0
30
29
  * @public
31
30
  */
@@ -34,7 +34,6 @@ import createInstanceChecker from "@ui5/webcomponents-base/dist/util/createInsta
34
34
  * `import "@ui5/webcomponents/dist/UserMenuItemGroup.js";`
35
35
  * @constructor
36
36
  * @extends MenuItemGroup
37
- * @experimental
38
37
  * @since 2.12.0
39
38
  * @public
40
39
  */
@@ -1 +1 @@
1
- {"version":3,"file":"UserMenuItemGroup.js","sourceRoot":"","sources":["../src/UserMenuItemGroup.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,yBAAyB,MAAM,gCAAgC,CAAC;AACvE,OAAO,qBAAqB,MAAM,4DAA4D,CAAC;AAE/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAKH,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,aAAa;CAC5C,CAAA;AADK,iBAAiB;IAJtB,aAAa,CAAC;QACd,GAAG,EAAE,0BAA0B;QAC/B,QAAQ,EAAE,yBAAyB;KACnC,CAAC;GACI,iBAAiB,CACtB;AAED,iBAAiB,CAAC,MAAM,EAAE,CAAC;AAE3B,eAAe,iBAAiB,CAAC;AAEjC,MAAM,CAAC,MAAM,6BAA6B,GAAG,qBAAqB,CAAoB,SAAS,CAAC,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport MenuItemGroup from \"@ui5/webcomponents/dist/MenuItemGroup.js\";\nimport UserMenuItemGroupTemplate from \"./UserMenuItemGroupTemplate.js\";\nimport createInstanceChecker from \"@ui5/webcomponents-base/dist/util/createInstanceChecker.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-user-menu-item-group` component represents a group of items designed for use inside a `ui5-user-menu`.\n * Items belonging to the same group should be wrapped by a `ui5-user-menu-item-group`.\n * Each group can have an `itemCheckMode` property, which defines the check mode for the items within the group.\n * The possible values for `itemCheckMode` are:\n * - 'None' (default) - no items can be checked\n * - 'Single' - Only one item can be checked at a time\n * - 'Multiple' - Multiple items can be checked simultaneously\n *\n * **Note:** If the `itemCheckMode` property is set to 'Single', only one item can remain checked at any given time.\n * If multiple items are marked as checked, the last checked item will take precedence.\n *\n * ### Usage\n *\n * `ui5-user-menu-item-group` represents a collection of `ui5-user-menu-item` components that can have the same check mode.\n * The items are addeed to the group's `items` slot.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/UserMenuItemGroup.js\";`\n * @constructor\n * @extends MenuItemGroup\n * @experimental\n * @since 2.12.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-user-menu-item-group\",\n\ttemplate: UserMenuItemGroupTemplate,\n})\nclass UserMenuItemGroup extends MenuItemGroup {\n}\n\nUserMenuItemGroup.define();\n\nexport default UserMenuItemGroup;\n\nexport const isInstanceOfUserMenuItemGroup = createInstanceChecker<UserMenuItemGroup>(\"isGroup\");\n"]}
1
+ {"version":3,"file":"UserMenuItemGroup.js","sourceRoot":"","sources":["../src/UserMenuItemGroup.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,yBAAyB,MAAM,gCAAgC,CAAC;AACvE,OAAO,qBAAqB,MAAM,4DAA4D,CAAC;AAE/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAKH,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,aAAa;CAC5C,CAAA;AADK,iBAAiB;IAJtB,aAAa,CAAC;QACd,GAAG,EAAE,0BAA0B;QAC/B,QAAQ,EAAE,yBAAyB;KACnC,CAAC;GACI,iBAAiB,CACtB;AAED,iBAAiB,CAAC,MAAM,EAAE,CAAC;AAE3B,eAAe,iBAAiB,CAAC;AAEjC,MAAM,CAAC,MAAM,6BAA6B,GAAG,qBAAqB,CAAoB,SAAS,CAAC,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport MenuItemGroup from \"@ui5/webcomponents/dist/MenuItemGroup.js\";\nimport UserMenuItemGroupTemplate from \"./UserMenuItemGroupTemplate.js\";\nimport createInstanceChecker from \"@ui5/webcomponents-base/dist/util/createInstanceChecker.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-user-menu-item-group` component represents a group of items designed for use inside a `ui5-user-menu`.\n * Items belonging to the same group should be wrapped by a `ui5-user-menu-item-group`.\n * Each group can have an `itemCheckMode` property, which defines the check mode for the items within the group.\n * The possible values for `itemCheckMode` are:\n * - 'None' (default) - no items can be checked\n * - 'Single' - Only one item can be checked at a time\n * - 'Multiple' - Multiple items can be checked simultaneously\n *\n * **Note:** If the `itemCheckMode` property is set to 'Single', only one item can remain checked at any given time.\n * If multiple items are marked as checked, the last checked item will take precedence.\n *\n * ### Usage\n *\n * `ui5-user-menu-item-group` represents a collection of `ui5-user-menu-item` components that can have the same check mode.\n * The items are addeed to the group's `items` slot.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/UserMenuItemGroup.js\";`\n * @constructor\n * @extends MenuItemGroup\n * @since 2.12.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-user-menu-item-group\",\n\ttemplate: UserMenuItemGroupTemplate,\n})\nclass UserMenuItemGroup extends MenuItemGroup {\n}\n\nUserMenuItemGroup.define();\n\nexport default UserMenuItemGroup;\n\nexport const isInstanceOfUserMenuItemGroup = createInstanceChecker<UserMenuItemGroup>(\"isGroup\");\n"]}
@@ -25,7 +25,9 @@ export default function UserMenuTemplate() {
25
25
  }, slot: "header", children: [this._titleMovedToHeader &&
26
26
  _jsx(Title, { level: "H1", wrappingType: "None", children: this._selectedAccount.titleText }), this._isPhone && _jsx(Button, { icon: decline, design: "Transparent", accessibleName: this._closeDialogAriaLabel, onClick: this._closeUserMenu, slot: "endContent" })] }), _jsx("div", { class: "ui5-user-menu-header", children: headerContent.call(this) })] }), this.showOtherAccounts &&
27
27
  _jsx(_Fragment, { children: otherAccountsContent.call(this) }), this.menuItems.length > 0 &&
28
- _jsx(List, { id: "ui5-user-menu-list", class: "ui5-user-menu-list", selectionMode: "None", separators: "None", accessibleRole: "Menu", onItemClick: this._handleMenuItemClick, "onui5-close-menu": this._handleMenuItemClose, children: _jsx("slot", {}) }), _jsx("div", { slot: "footer", class: "ui5-user-menu-footer", children: _jsx(Button, { class: "ui5-user-menu-sign-out-btn", design: "Transparent", icon: log, onClick: this._handleSignOutClick, children: this._signOutButtonText }) })] }));
28
+ _jsx(List, { id: "ui5-user-menu-list", class: "ui5-user-menu-list", selectionMode: "None", separators: "None", accessibleRole: "Menu", onItemClick: this._handleMenuItemClick, "onui5-close-menu": this._handleMenuItemClose, children: _jsx("slot", {}) }), this._hasCustomFooter &&
29
+ _jsx("div", { slot: "footer", class: "ui5-user-menu-footer", children: _jsx("slot", { name: "footer" }) }), this._showDefaultFooter &&
30
+ _jsx("div", { slot: "footer", class: "ui5-user-menu-footer", children: _jsx(Button, { class: "ui5-user-menu-sign-out-btn", design: "Transparent", icon: log, onClick: this._handleSignOutClick, children: this._signOutButtonText }) })] }));
29
31
  }
30
32
  function headerContent() {
31
33
  return (_jsx(_Fragment, { children: this._selectedAccount &&